10
__coverage__['build/event-simulate/event-simulate.js'] = {"path":"build/event-simulate/event-simulate.js","s":{"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,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0,0,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,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],"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],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0,0,0],"105":[0,0],"106":[0,0],"107":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":45}}},"2":{"name":"(anonymous_2)","line":3,"loc":{"start":{"line":3,"column":1},"end":{"line":3,"column":12}}},"3":{"name":"simulateKeyEvent","line":123,"loc":{"start":{"line":123,"column":0},"end":{"line":129,"column":0}}},"4":{"name":"simulateMouseEvent","line":326,"loc":{"start":{"line":326,"column":0},"end":{"line":334,"column":0}}},"5":{"name":"simulateUIEvent","line":523,"loc":{"start":{"line":523,"column":0},"end":{"line":526,"column":0}}},"6":{"name":"simulateGestureEvent","line":636,"loc":{"start":{"line":636,"column":0},"end":{"line":646,"column":2}}},"7":{"name":"simulateTouchEvent","line":745,"loc":{"start":{"line":745,"column":0},"end":{"line":758,"column":2}}},"8":{"name":"(anonymous_8)","line":902,"loc":{"start":{"line":902,"column":19},"end":{"line":902,"column":50}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":953,"column":43}},"2":{"start":{"line":3,"column":0},"end":{"line":949,"column":5}},"3":{"start":{"line":12,"column":0},"end":{"line":81,"column":6}},"4":{"start":{"line":84,"column":0},"end":{"line":84,"column":33}},"5":{"start":{"line":85,"column":0},"end":{"line":85,"column":31}},"6":{"start":{"line":86,"column":0},"end":{"line":86,"column":33}},"7":{"start":{"line":123,"column":0},"end":{"line":273,"column":1}},"8":{"start":{"line":131,"column":4},"end":{"line":133,"column":5}},"9":{"start":{"line":132,"column":8},"end":{"line":132,"column":55}},"10":{"start":{"line":136,"column":4},"end":{"line":151,"column":5}},"11":{"start":{"line":137,"column":8},"end":{"line":137,"column":34}},"12":{"start":{"line":138,"column":8},"end":{"line":148,"column":9}},"13":{"start":{"line":140,"column":16},"end":{"line":140,"column":34}},"14":{"start":{"line":141,"column":16},"end":{"line":141,"column":22}},"15":{"start":{"line":145,"column":16},"end":{"line":145,"column":22}},"16":{"start":{"line":147,"column":16},"end":{"line":147,"column":88}},"17":{"start":{"line":150,"column":8},"end":{"line":150,"column":68}},"18":{"start":{"line":154,"column":4},"end":{"line":156,"column":5}},"19":{"start":{"line":155,"column":8},"end":{"line":155,"column":23}},"20":{"start":{"line":157,"column":4},"end":{"line":159,"column":5}},"21":{"start":{"line":158,"column":8},"end":{"line":158,"column":26}},"22":{"start":{"line":160,"column":4},"end":{"line":162,"column":5}},"23":{"start":{"line":161,"column":8},"end":{"line":161,"column":28}},"24":{"start":{"line":163,"column":4},"end":{"line":165,"column":5}},"25":{"start":{"line":164,"column":8},"end":{"line":164,"column":24}},"26":{"start":{"line":166,"column":4},"end":{"line":168,"column":5}},"27":{"start":{"line":167,"column":8},"end":{"line":167,"column":23}},"28":{"start":{"line":169,"column":4},"end":{"line":171,"column":5}},"29":{"start":{"line":170,"column":8},"end":{"line":170,"column":25}},"30":{"start":{"line":172,"column":4},"end":{"line":174,"column":5}},"31":{"start":{"line":173,"column":8},"end":{"line":173,"column":24}},"32":{"start":{"line":175,"column":4},"end":{"line":177,"column":5}},"33":{"start":{"line":176,"column":8},"end":{"line":176,"column":20}},"34":{"start":{"line":178,"column":4},"end":{"line":180,"column":5}},"35":{"start":{"line":179,"column":8},"end":{"line":179,"column":21}},"36":{"start":{"line":183,"column":4},"end":{"line":183,"column":43}},"37":{"start":{"line":186,"column":4},"end":{"line":272,"column":5}},"38":{"start":{"line":188,"column":8},"end":{"line":241,"column":9}},"39":{"start":{"line":191,"column":12},"end":{"line":191,"column":64}},"40":{"start":{"line":202,"column":12},"end":{"line":203,"column":62}},"41":{"start":{"line":216,"column":12},"end":{"line":239,"column":13}},"42":{"start":{"line":219,"column":16},"end":{"line":219,"column":65}},"43":{"start":{"line":224,"column":16},"end":{"line":224,"column":67}},"44":{"start":{"line":228,"column":16},"end":{"line":228,"column":65}},"45":{"start":{"line":231,"column":16},"end":{"line":231,"column":40}},"46":{"start":{"line":232,"column":16},"end":{"line":232,"column":44}},"47":{"start":{"line":233,"column":16},"end":{"line":233,"column":46}},"48":{"start":{"line":234,"column":16},"end":{"line":234,"column":48}},"49":{"start":{"line":235,"column":16},"end":{"line":235,"column":46}},"50":{"start":{"line":236,"column":16},"end":{"line":236,"column":46}},"51":{"start":{"line":237,"column":16},"end":{"line":237,"column":48}},"52":{"start":{"line":244,"column":8},"end":{"line":244,"column":42}},"53":{"start":{"line":246,"column":11},"end":{"line":272,"column":5}},"54":{"start":{"line":249,"column":8},"end":{"line":249,"column":55}},"55":{"start":{"line":252,"column":8},"end":{"line":252,"column":38}},"56":{"start":{"line":253,"column":8},"end":{"line":253,"column":44}},"57":{"start":{"line":254,"column":8},"end":{"line":254,"column":32}},"58":{"start":{"line":255,"column":8},"end":{"line":255,"column":38}},"59":{"start":{"line":256,"column":8},"end":{"line":256,"column":36}},"60":{"start":{"line":257,"column":8},"end":{"line":257,"column":40}},"61":{"start":{"line":258,"column":8},"end":{"line":258,"column":38}},"62":{"start":{"line":265,"column":8},"end":{"line":265,"column":66}},"63":{"start":{"line":268,"column":8},"end":{"line":268,"column":51}},"64":{"start":{"line":271,"column":8},"end":{"line":271,"column":78}},"65":{"start":{"line":326,"column":0},"end":{"line":495,"column":1}},"66":{"start":{"line":336,"column":4},"end":{"line":338,"column":5}},"67":{"start":{"line":337,"column":8},"end":{"line":337,"column":57}},"68":{"start":{"line":341,"column":4},"end":{"line":350,"column":5}},"69":{"start":{"line":344,"column":8},"end":{"line":346,"column":9}},"70":{"start":{"line":345,"column":12},"end":{"line":345,"column":86}},"71":{"start":{"line":349,"column":8},"end":{"line":349,"column":70}},"72":{"start":{"line":353,"column":4},"end":{"line":355,"column":5}},"73":{"start":{"line":354,"column":8},"end":{"line":354,"column":23}},"74":{"start":{"line":356,"column":4},"end":{"line":358,"column":5}},"75":{"start":{"line":357,"column":8},"end":{"line":357,"column":44}},"76":{"start":{"line":359,"column":4},"end":{"line":361,"column":5}},"77":{"start":{"line":360,"column":8},"end":{"line":360,"column":28}},"78":{"start":{"line":362,"column":4},"end":{"line":364,"column":5}},"79":{"start":{"line":363,"column":8},"end":{"line":363,"column":19}},"80":{"start":{"line":365,"column":4},"end":{"line":367,"column":5}},"81":{"start":{"line":366,"column":8},"end":{"line":366,"column":20}},"82":{"start":{"line":368,"column":4},"end":{"line":370,"column":5}},"83":{"start":{"line":369,"column":8},"end":{"line":369,"column":20}},"84":{"start":{"line":371,"column":4},"end":{"line":373,"column":5}},"85":{"start":{"line":372,"column":8},"end":{"line":372,"column":20}},"86":{"start":{"line":374,"column":4},"end":{"line":376,"column":5}},"87":{"start":{"line":375,"column":8},"end":{"line":375,"column":20}},"88":{"start":{"line":377,"column":4},"end":{"line":379,"column":5}},"89":{"start":{"line":378,"column":8},"end":{"line":378,"column":24}},"90":{"start":{"line":380,"column":4},"end":{"line":382,"column":5}},"91":{"start":{"line":381,"column":8},"end":{"line":381,"column":23}},"92":{"start":{"line":383,"column":4},"end":{"line":385,"column":5}},"93":{"start":{"line":384,"column":8},"end":{"line":384,"column":25}},"94":{"start":{"line":386,"column":4},"end":{"line":388,"column":5}},"95":{"start":{"line":387,"column":8},"end":{"line":387,"column":24}},"96":{"start":{"line":389,"column":4},"end":{"line":391,"column":5}},"97":{"start":{"line":390,"column":8},"end":{"line":390,"column":19}},"98":{"start":{"line":393,"column":4},"end":{"line":393,"column":42}},"99":{"start":{"line":396,"column":4},"end":{"line":396,"column":43}},"100":{"start":{"line":399,"column":4},"end":{"line":494,"column":5}},"101":{"start":{"line":401,"column":8},"end":{"line":401,"column":62}},"102":{"start":{"line":404,"column":8},"end":{"line":426,"column":9}},"103":{"start":{"line":405,"column":12},"end":{"line":408,"column":56}},"104":{"start":{"line":412,"column":12},"end":{"line":412,"column":63}},"105":{"start":{"line":413,"column":12},"end":{"line":413,"column":61}},"106":{"start":{"line":414,"column":12},"end":{"line":414,"column":36}},"107":{"start":{"line":415,"column":12},"end":{"line":415,"column":40}},"108":{"start":{"line":416,"column":12},"end":{"line":416,"column":42}},"109":{"start":{"line":417,"column":12},"end":{"line":417,"column":42}},"110":{"start":{"line":418,"column":12},"end":{"line":418,"column":42}},"111":{"start":{"line":419,"column":12},"end":{"line":419,"column":42}},"112":{"start":{"line":420,"column":12},"end":{"line":420,"column":42}},"113":{"start":{"line":421,"column":12},"end":{"line":421,"column":40}},"114":{"start":{"line":422,"column":12},"end":{"line":422,"column":42}},"115":{"start":{"line":423,"column":12},"end":{"line":423,"column":44}},"116":{"start":{"line":424,"column":12},"end":{"line":424,"column":40}},"117":{"start":{"line":425,"column":12},"end":{"line":425,"column":54}},"118":{"start":{"line":437,"column":8},"end":{"line":443,"column":9}},"119":{"start":{"line":438,"column":12},"end":{"line":442,"column":13}},"120":{"start":{"line":439,"column":16},"end":{"line":439,"column":54}},"121":{"start":{"line":440,"column":19},"end":{"line":442,"column":13}},"122":{"start":{"line":441,"column":16},"end":{"line":441,"column":56}},"123":{"start":{"line":446,"column":8},"end":{"line":446,"column":42}},"124":{"start":{"line":448,"column":11},"end":{"line":494,"column":5}},"125":{"start":{"line":451,"column":8},"end":{"line":451,"column":55}},"126":{"start":{"line":454,"column":8},"end":{"line":454,"column":38}},"127":{"start":{"line":455,"column":8},"end":{"line":455,"column":44}},"128":{"start":{"line":456,"column":8},"end":{"line":456,"column":32}},"129":{"start":{"line":457,"column":8},"end":{"line":457,"column":36}},"130":{"start":{"line":458,"column":8},"end":{"line":458,"column":38}},"131":{"start":{"line":459,"column":8},"end":{"line":459,"column":38}},"132":{"start":{"line":460,"column":8},"end":{"line":460,"column":38}},"133":{"start":{"line":461,"column":8},"end":{"line":461,"column":38}},"134":{"start":{"line":462,"column":8},"end":{"line":462,"column":38}},"135":{"start":{"line":463,"column":8},"end":{"line":463,"column":36}},"136":{"start":{"line":464,"column":8},"end":{"line":464,"column":38}},"137":{"start":{"line":465,"column":8},"end":{"line":465,"column":40}},"138":{"start":{"line":468,"column":8},"end":{"line":480,"column":9}},"139":{"start":{"line":470,"column":16},"end":{"line":470,"column":39}},"140":{"start":{"line":471,"column":16},"end":{"line":471,"column":22}},"141":{"start":{"line":473,"column":16},"end":{"line":473,"column":39}},"142":{"start":{"line":474,"column":16},"end":{"line":474,"column":22}},"143":{"start":{"line":477,"column":16},"end":{"line":477,"column":22}},"144":{"start":{"line":479,"column":16},"end":{"line":479,"column":39}},"145":{"start":{"line":487,"column":8},"end":{"line":487,"column":50}},"146":{"start":{"line":490,"column":8},"end":{"line":490,"column":51}},"147":{"start":{"line":493,"column":8},"end":{"line":493,"column":80}},"148":{"start":{"line":523,"column":0},"end":{"line":590,"column":1}},"149":{"start":{"line":529,"column":4},"end":{"line":531,"column":5}},"150":{"start":{"line":530,"column":8},"end":{"line":530,"column":54}},"151":{"start":{"line":534,"column":4},"end":{"line":543,"column":5}},"152":{"start":{"line":535,"column":8},"end":{"line":535,"column":34}},"153":{"start":{"line":538,"column":8},"end":{"line":540,"column":9}},"154":{"start":{"line":539,"column":12},"end":{"line":539,"column":83}},"155":{"start":{"line":542,"column":8},"end":{"line":542,"column":67}},"156":{"start":{"line":546,"column":4},"end":{"line":546,"column":27}},"157":{"start":{"line":550,"column":4},"end":{"line":552,"column":5}},"158":{"start":{"line":551,"column":8},"end":{"line":551,"column":41}},"159":{"start":{"line":553,"column":4},"end":{"line":555,"column":5}},"160":{"start":{"line":554,"column":8},"end":{"line":554,"column":41}},"161":{"start":{"line":556,"column":4},"end":{"line":558,"column":5}},"162":{"start":{"line":557,"column":8},"end":{"line":557,"column":28}},"163":{"start":{"line":559,"column":4},"end":{"line":561,"column":5}},"164":{"start":{"line":560,"column":8},"end":{"line":560,"column":19}},"165":{"start":{"line":564,"column":4},"end":{"line":589,"column":5}},"166":{"start":{"line":567,"column":8},"end":{"line":567,"column":59}},"167":{"start":{"line":568,"column":8},"end":{"line":568,"column":73}},"168":{"start":{"line":571,"column":8},"end":{"line":571,"column":42}},"169":{"start":{"line":573,"column":11},"end":{"line":589,"column":5}},"170":{"start":{"line":576,"column":8},"end":{"line":576,"column":55}},"171":{"start":{"line":579,"column":8},"end":{"line":579,"column":38}},"172":{"start":{"line":580,"column":8},"end":{"line":580,"column":44}},"173":{"start":{"line":581,"column":8},"end":{"line":581,"column":32}},"174":{"start":{"line":582,"column":8},"end":{"line":582,"column":36}},"175":{"start":{"line":585,"column":8},"end":{"line":585,"column":51}},"176":{"start":{"line":588,"column":8},"end":{"line":588,"column":77}},"177":{"start":{"line":636,"column":0},"end":{"line":695,"column":1}},"178":{"start":{"line":647,"column":4},"end":{"line":647,"column":20}},"179":{"start":{"line":649,"column":4},"end":{"line":651,"column":5}},"180":{"start":{"line":650,"column":8},"end":{"line":650,"column":108}},"181":{"start":{"line":654,"column":4},"end":{"line":656,"column":5}},"182":{"start":{"line":655,"column":8},"end":{"line":655,"column":59}},"183":{"start":{"line":659,"column":4},"end":{"line":668,"column":5}},"184":{"start":{"line":660,"column":8},"end":{"line":660,"column":34}},"185":{"start":{"line":663,"column":8},"end":{"line":665,"column":9}},"186":{"start":{"line":664,"column":12},"end":{"line":664,"column":86}},"187":{"start":{"line":667,"column":8},"end":{"line":667,"column":72}},"188":{"start":{"line":671,"column":4},"end":{"line":671,"column":55}},"189":{"start":{"line":671,"column":38},"end":{"line":671,"column":53}},"190":{"start":{"line":672,"column":4},"end":{"line":672,"column":61}},"191":{"start":{"line":672,"column":41},"end":{"line":672,"column":59}},"192":{"start":{"line":673,"column":4},"end":{"line":673,"column":60}},"193":{"start":{"line":673,"column":38},"end":{"line":673,"column":58}},"194":{"start":{"line":674,"column":4},"end":{"line":674,"column":51}},"195":{"start":{"line":674,"column":38},"end":{"line":674,"column":49}},"196":{"start":{"line":675,"column":4},"end":{"line":675,"column":52}},"197":{"start":{"line":675,"column":38},"end":{"line":675,"column":50}},"198":{"start":{"line":676,"column":4},"end":{"line":676,"column":52}},"199":{"start":{"line":676,"column":38},"end":{"line":676,"column":50}},"200":{"start":{"line":677,"column":4},"end":{"line":677,"column":52}},"201":{"start":{"line":677,"column":38},"end":{"line":677,"column":50}},"202":{"start":{"line":678,"column":4},"end":{"line":678,"column":52}},"203":{"start":{"line":678,"column":38},"end":{"line":678,"column":50}},"204":{"start":{"line":679,"column":4},"end":{"line":679,"column":56}},"205":{"start":{"line":679,"column":38},"end":{"line":679,"column":54}},"206":{"start":{"line":680,"column":4},"end":{"line":680,"column":55}},"207":{"start":{"line":680,"column":38},"end":{"line":680,"column":53}},"208":{"start":{"line":681,"column":4},"end":{"line":681,"column":57}},"209":{"start":{"line":681,"column":38},"end":{"line":681,"column":55}},"210":{"start":{"line":682,"column":4},"end":{"line":682,"column":56}},"211":{"start":{"line":682,"column":38},"end":{"line":682,"column":54}},"212":{"start":{"line":684,"column":4},"end":{"line":684,"column":48}},"213":{"start":{"line":684,"column":34},"end":{"line":684,"column":46}},"214":{"start":{"line":685,"column":4},"end":{"line":685,"column":54}},"215":{"start":{"line":685,"column":37},"end":{"line":685,"column":52}},"216":{"start":{"line":687,"column":4},"end":{"line":687,"column":59}},"217":{"start":{"line":689,"column":4},"end":{"line":692,"column":33}},"218":{"start":{"line":694,"column":4},"end":{"line":694,"column":38}},"219":{"start":{"line":745,"column":0},"end":{"line":888,"column":1}},"220":{"start":{"line":760,"column":4},"end":{"line":760,"column":20}},"221":{"start":{"line":763,"column":4},"end":{"line":765,"column":5}},"222":{"start":{"line":764,"column":8},"end":{"line":764,"column":57}},"223":{"start":{"line":768,"column":4},"end":{"line":777,"column":5}},"224":{"start":{"line":769,"column":8},"end":{"line":769,"column":34}},"225":{"start":{"line":772,"column":8},"end":{"line":774,"column":9}},"226":{"start":{"line":773,"column":12},"end":{"line":773,"column":86}},"227":{"start":{"line":776,"column":8},"end":{"line":776,"column":70}},"228":{"start":{"line":800,"column":4},"end":{"line":808,"column":5}},"229":{"start":{"line":801,"column":8},"end":{"line":803,"column":9}},"230":{"start":{"line":802,"column":12},"end":{"line":802,"column":72}},"231":{"start":{"line":804,"column":11},"end":{"line":808,"column":5}},"232":{"start":{"line":805,"column":8},"end":{"line":807,"column":9}},"233":{"start":{"line":806,"column":12},"end":{"line":806,"column":79}},"234":{"start":{"line":811,"column":4},"end":{"line":811,"column":55}},"235":{"start":{"line":811,"column":38},"end":{"line":811,"column":53}},"236":{"start":{"line":812,"column":4},"end":{"line":814,"column":5}},"237":{"start":{"line":813,"column":8},"end":{"line":813,"column":46}},"238":{"start":{"line":815,"column":4},"end":{"line":815,"column":60}},"239":{"start":{"line":815,"column":38},"end":{"line":815,"column":58}},"240":{"start":{"line":816,"column":4},"end":{"line":816,"column":51}},"241":{"start":{"line":816,"column":38},"end":{"line":816,"column":49}},"242":{"start":{"line":817,"column":4},"end":{"line":817,"column":52}},"243":{"start":{"line":817,"column":38},"end":{"line":817,"column":50}},"244":{"start":{"line":818,"column":4},"end":{"line":818,"column":52}},"245":{"start":{"line":818,"column":38},"end":{"line":818,"column":50}},"246":{"start":{"line":819,"column":4},"end":{"line":819,"column":52}},"247":{"start":{"line":819,"column":38},"end":{"line":819,"column":50}},"248":{"start":{"line":820,"column":4},"end":{"line":820,"column":52}},"249":{"start":{"line":820,"column":38},"end":{"line":820,"column":50}},"250":{"start":{"line":821,"column":4},"end":{"line":821,"column":56}},"251":{"start":{"line":821,"column":38},"end":{"line":821,"column":54}},"252":{"start":{"line":822,"column":4},"end":{"line":822,"column":55}},"253":{"start":{"line":822,"column":38},"end":{"line":822,"column":53}},"254":{"start":{"line":823,"column":4},"end":{"line":823,"column":57}},"255":{"start":{"line":823,"column":38},"end":{"line":823,"column":55}},"256":{"start":{"line":824,"column":4},"end":{"line":824,"column":56}},"257":{"start":{"line":824,"column":38},"end":{"line":824,"column":54}},"258":{"start":{"line":825,"column":4},"end":{"line":825,"column":52}},"259":{"start":{"line":825,"column":38},"end":{"line":825,"column":50}},"260":{"start":{"line":826,"column":4},"end":{"line":826,"column":55}},"261":{"start":{"line":826,"column":38},"end":{"line":826,"column":53}},"262":{"start":{"line":830,"column":4},"end":{"line":887,"column":5}},"263":{"start":{"line":831,"column":8},"end":{"line":880,"column":9}},"264":{"start":{"line":837,"column":12},"end":{"line":864,"column":13}},"265":{"start":{"line":847,"column":16},"end":{"line":847,"column":70}},"266":{"start":{"line":848,"column":16},"end":{"line":851,"column":31}},"267":{"start":{"line":853,"column":16},"end":{"line":853,"column":46}},"268":{"start":{"line":854,"column":16},"end":{"line":854,"column":58}},"269":{"start":{"line":855,"column":16},"end":{"line":855,"column":60}},"270":{"start":{"line":857,"column":16},"end":{"line":857,"column":69}},"271":{"start":{"line":860,"column":16},"end":{"line":863,"column":56}},"272":{"start":{"line":865,"column":15},"end":{"line":880,"column":9}},"273":{"start":{"line":866,"column":12},"end":{"line":877,"column":13}},"274":{"start":{"line":867,"column":16},"end":{"line":867,"column":69}},"275":{"start":{"line":870,"column":16},"end":{"line":874,"column":37}},"276":{"start":{"line":876,"column":16},"end":{"line":876,"column":116}},"277":{"start":{"line":879,"column":12},"end":{"line":879,"column":86}},"278":{"start":{"line":883,"column":8},"end":{"line":883,"column":42}},"279":{"start":{"line":886,"column":8},"end":{"line":886,"column":80}},"280":{"start":{"line":902,"column":0},"end":{"line":946,"column":2}},"281":{"start":{"line":904,"column":4},"end":{"line":904,"column":28}},"282":{"start":{"line":906,"column":4},"end":{"line":945,"column":5}},"283":{"start":{"line":907,"column":8},"end":{"line":911,"column":35}},"284":{"start":{"line":912,"column":11},"end":{"line":945,"column":5}},"285":{"start":{"line":913,"column":8},"end":{"line":916,"column":47}},"286":{"start":{"line":917,"column":11},"end":{"line":945,"column":5}},"287":{"start":{"line":918,"column":8},"end":{"line":919,"column":62}},"288":{"start":{"line":922,"column":11},"end":{"line":945,"column":5}},"289":{"start":{"line":923,"column":8},"end":{"line":932,"column":9}},"290":{"start":{"line":924,"column":12},"end":{"line":929,"column":49}},"291":{"start":{"line":931,"column":12},"end":{"line":931,"column":113}},"292":{"start":{"line":935,"column":11},"end":{"line":945,"column":5}},"293":{"start":{"line":936,"column":8},"end":{"line":940,"column":45}},"294":{"start":{"line":944,"column":8},"end":{"line":944,"column":72}}},"branchMap":{"1":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":131,"column":4}},{"start":{"line":131,"column":4},"end":{"line":131,"column":4}}]},"2":{"line":136,"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":136,"column":4}},{"start":{"line":136,"column":4},"end":{"line":136,"column":4}}]},"3":{"line":138,"type":"switch","locations":[{"start":{"line":139,"column":12},"end":{"line":141,"column":22}},{"start":{"line":142,"column":12},"end":{"line":142,"column":25}},{"start":{"line":143,"column":12},"end":{"line":143,"column":27}},{"start":{"line":144,"column":12},"end":{"line":145,"column":22}},{"start":{"line":146,"column":12},"end":{"line":147,"column":88}}]},"4":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":4},"end":{"line":154,"column":4}},{"start":{"line":154,"column":4},"end":{"line":154,"column":4}}]},"5":{"line":157,"type":"if","locations":[{"start":{"line":157,"column":4},"end":{"line":157,"column":4}},{"start":{"line":157,"column":4},"end":{"line":157,"column":4}}]},"6":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":4},"end":{"line":160,"column":4}},{"start":{"line":160,"column":4},"end":{"line":160,"column":4}}]},"7":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":4},"end":{"line":163,"column":4}},{"start":{"line":163,"column":4},"end":{"line":163,"column":4}}]},"8":{"line":166,"type":"if","locations":[{"start":{"line":166,"column":4},"end":{"line":166,"column":4}},{"start":{"line":166,"column":4},"end":{"line":166,"column":4}}]},"9":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":4},"end":{"line":169,"column":4}},{"start":{"line":169,"column":4},"end":{"line":169,"column":4}}]},"10":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":172,"column":4}},{"start":{"line":172,"column":4},"end":{"line":172,"column":4}}]},"11":{"line":175,"type":"if","locations":[{"start":{"line":175,"column":4},"end":{"line":175,"column":4}},{"start":{"line":175,"column":4},"end":{"line":175,"column":4}}]},"12":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":178,"column":4}},{"start":{"line":178,"column":4},"end":{"line":178,"column":4}}]},"13":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":4},"end":{"line":186,"column":4}},{"start":{"line":186,"column":4},"end":{"line":186,"column":4}}]},"14":{"line":246,"type":"if","locations":[{"start":{"line":246,"column":11},"end":{"line":246,"column":11}},{"start":{"line":246,"column":11},"end":{"line":246,"column":11}}]},"15":{"line":265,"type":"cond-expr","locations":[{"start":{"line":265,"column":47},"end":{"line":265,"column":55}},{"start":{"line":265,"column":58},"end":{"line":265,"column":65}}]},"16":{"line":336,"type":"if","locations":[{"start":{"line":336,"column":4},"end":{"line":336,"column":4}},{"start":{"line":336,"column":4},"end":{"line":336,"column":4}}]},"17":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":4},"end":{"line":341,"column":4}},{"start":{"line":341,"column":4},"end":{"line":341,"column":4}}]},"18":{"line":344,"type":"if","locations":[{"start":{"line":344,"column":8},"end":{"line":344,"column":8}},{"start":{"line":344,"column":8},"end":{"line":344,"column":8}}]},"19":{"line":344,"type":"binary-expr","locations":[{"start":{"line":344,"column":12},"end":{"line":344,"column":44}},{"start":{"line":344,"column":48},"end":{"line":344,"column":70}}]},"20":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":4},"end":{"line":353,"column":4}},{"start":{"line":353,"column":4},"end":{"line":353,"column":4}}]},"21":{"line":356,"type":"if","locations":[{"start":{"line":356,"column":4},"end":{"line":356,"column":4}},{"start":{"line":356,"column":4},"end":{"line":356,"column":4}}]},"22":{"line":359,"type":"if","locations":[{"start":{"line":359,"column":4},"end":{"line":359,"column":4}},{"start":{"line":359,"column":4},"end":{"line":359,"column":4}}]},"23":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":4},"end":{"line":362,"column":4}},{"start":{"line":362,"column":4},"end":{"line":362,"column":4}}]},"24":{"line":365,"type":"if","locations":[{"start":{"line":365,"column":4},"end":{"line":365,"column":4}},{"start":{"line":365,"column":4},"end":{"line":365,"column":4}}]},"25":{"line":368,"type":"if","locations":[{"start":{"line":368,"column":4},"end":{"line":368,"column":4}},{"start":{"line":368,"column":4},"end":{"line":368,"column":4}}]},"26":{"line":371,"type":"if","locations":[{"start":{"line":371,"column":4},"end":{"line":371,"column":4}},{"start":{"line":371,"column":4},"end":{"line":371,"column":4}}]},"27":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":4},"end":{"line":374,"column":4}},{"start":{"line":374,"column":4},"end":{"line":374,"column":4}}]},"28":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":4},"end":{"line":377,"column":4}},{"start":{"line":377,"column":4},"end":{"line":377,"column":4}}]},"29":{"line":380,"type":"if","locations":[{"start":{"line":380,"column":4},"end":{"line":380,"column":4}},{"start":{"line":380,"column":4},"end":{"line":380,"column":4}}]},"30":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":4},"end":{"line":383,"column":4}},{"start":{"line":383,"column":4},"end":{"line":383,"column":4}}]},"31":{"line":386,"type":"if","locations":[{"start":{"line":386,"column":4},"end":{"line":386,"column":4}},{"start":{"line":386,"column":4},"end":{"line":386,"column":4}}]},"32":{"line":389,"type":"if","locations":[{"start":{"line":389,"column":4},"end":{"line":389,"column":4}},{"start":{"line":389,"column":4},"end":{"line":389,"column":4}}]},"33":{"line":393,"type":"binary-expr","locations":[{"start":{"line":393,"column":20},"end":{"line":393,"column":33}},{"start":{"line":393,"column":37},"end":{"line":393,"column":41}}]},"34":{"line":399,"type":"if","locations":[{"start":{"line":399,"column":4},"end":{"line":399,"column":4}},{"start":{"line":399,"column":4},"end":{"line":399,"column":4}}]},"35":{"line":404,"type":"if","locations":[{"start":{"line":404,"column":8},"end":{"line":404,"column":8}},{"start":{"line":404,"column":8},"end":{"line":404,"column":8}}]},"36":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":8},"end":{"line":437,"column":8}},{"start":{"line":437,"column":8},"end":{"line":437,"column":8}}]},"37":{"line":437,"type":"binary-expr","locations":[{"start":{"line":437,"column":12},"end":{"line":437,"column":25}},{"start":{"line":437,"column":29},"end":{"line":437,"column":55}}]},"38":{"line":438,"type":"if","locations":[{"start":{"line":438,"column":12},"end":{"line":438,"column":12}},{"start":{"line":438,"column":12},"end":{"line":438,"column":12}}]},"39":{"line":440,"type":"if","locations":[{"start":{"line":440,"column":19},"end":{"line":440,"column":19}},{"start":{"line":440,"column":19},"end":{"line":440,"column":19}}]},"40":{"line":448,"type":"if","locations":[{"start":{"line":448,"column":11},"end":{"line":448,"column":11}},{"start":{"line":448,"column":11},"end":{"line":448,"column":11}}]},"41":{"line":468,"type":"switch","locations":[{"start":{"line":469,"column":12},"end":{"line":471,"column":22}},{"start":{"line":472,"column":12},"end":{"line":474,"column":22}},{"start":{"line":475,"column":12},"end":{"line":477,"column":22}},{"start":{"line":478,"column":12},"end":{"line":479,"column":39}}]},"42":{"line":529,"type":"if","locations":[{"start":{"line":529,"column":4},"end":{"line":529,"column":4}},{"start":{"line":529,"column":4},"end":{"line":529,"column":4}}]},"43":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":4},"end":{"line":534,"column":4}},{"start":{"line":534,"column":4},"end":{"line":534,"column":4}}]},"44":{"line":538,"type":"if","locations":[{"start":{"line":538,"column":8},"end":{"line":538,"column":8}},{"start":{"line":538,"column":8},"end":{"line":538,"column":8}}]},"45":{"line":550,"type":"if","locations":[{"start":{"line":550,"column":4},"end":{"line":550,"column":4}},{"start":{"line":550,"column":4},"end":{"line":550,"column":4}}]},"46":{"line":553,"type":"if","locations":[{"start":{"line":553,"column":4},"end":{"line":553,"column":4}},{"start":{"line":553,"column":4},"end":{"line":553,"column":4}}]},"47":{"line":556,"type":"if","locations":[{"start":{"line":556,"column":4},"end":{"line":556,"column":4}},{"start":{"line":556,"column":4},"end":{"line":556,"column":4}}]},"48":{"line":559,"type":"if","locations":[{"start":{"line":559,"column":4},"end":{"line":559,"column":4}},{"start":{"line":559,"column":4},"end":{"line":559,"column":4}}]},"49":{"line":564,"type":"if","locations":[{"start":{"line":564,"column":4},"end":{"line":564,"column":4}},{"start":{"line":564,"column":4},"end":{"line":564,"column":4}}]},"50":{"line":573,"type":"if","locations":[{"start":{"line":573,"column":11},"end":{"line":573,"column":11}},{"start":{"line":573,"column":11},"end":{"line":573,"column":11}}]},"51":{"line":649,"type":"if","locations":[{"start":{"line":649,"column":4},"end":{"line":649,"column":4}},{"start":{"line":649,"column":4},"end":{"line":649,"column":4}}]},"52":{"line":649,"type":"binary-expr","locations":[{"start":{"line":649,"column":7},"end":{"line":649,"column":16}},{"start":{"line":649,"column":20},"end":{"line":649,"column":32}}]},"53":{"line":654,"type":"if","locations":[{"start":{"line":654,"column":4},"end":{"line":654,"column":4}},{"start":{"line":654,"column":4},"end":{"line":654,"column":4}}]},"54":{"line":659,"type":"if","locations":[{"start":{"line":659,"column":4},"end":{"line":659,"column":4}},{"start":{"line":659,"column":4},"end":{"line":659,"column":4}}]},"55":{"line":663,"type":"if","locations":[{"start":{"line":663,"column":8},"end":{"line":663,"column":8}},{"start":{"line":663,"column":8},"end":{"line":663,"column":8}}]},"56":{"line":671,"type":"if","locations":[{"start":{"line":671,"column":4},"end":{"line":671,"column":4}},{"start":{"line":671,"column":4},"end":{"line":671,"column":4}}]},"57":{"line":672,"type":"if","locations":[{"start":{"line":672,"column":4},"end":{"line":672,"column":4}},{"start":{"line":672,"column":4},"end":{"line":672,"column":4}}]},"58":{"line":673,"type":"if","locations":[{"start":{"line":673,"column":4},"end":{"line":673,"column":4}},{"start":{"line":673,"column":4},"end":{"line":673,"column":4}}]},"59":{"line":674,"type":"if","locations":[{"start":{"line":674,"column":4},"end":{"line":674,"column":4}},{"start":{"line":674,"column":4},"end":{"line":674,"column":4}}]},"60":{"line":675,"type":"if","locations":[{"start":{"line":675,"column":4},"end":{"line":675,"column":4}},{"start":{"line":675,"column":4},"end":{"line":675,"column":4}}]},"61":{"line":676,"type":"if","locations":[{"start":{"line":676,"column":4},"end":{"line":676,"column":4}},{"start":{"line":676,"column":4},"end":{"line":676,"column":4}}]},"62":{"line":677,"type":"if","locations":[{"start":{"line":677,"column":4},"end":{"line":677,"column":4}},{"start":{"line":677,"column":4},"end":{"line":677,"column":4}}]},"63":{"line":678,"type":"if","locations":[{"start":{"line":678,"column":4},"end":{"line":678,"column":4}},{"start":{"line":678,"column":4},"end":{"line":678,"column":4}}]},"64":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":4},"end":{"line":679,"column":4}},{"start":{"line":679,"column":4},"end":{"line":679,"column":4}}]},"65":{"line":680,"type":"if","locations":[{"start":{"line":680,"column":4},"end":{"line":680,"column":4}},{"start":{"line":680,"column":4},"end":{"line":680,"column":4}}]},"66":{"line":681,"type":"if","locations":[{"start":{"line":681,"column":4},"end":{"line":681,"column":4}},{"start":{"line":681,"column":4},"end":{"line":681,"column":4}}]},"67":{"line":682,"type":"if","locations":[{"start":{"line":682,"column":4},"end":{"line":682,"column":4}},{"start":{"line":682,"column":4},"end":{"line":682,"column":4}}]},"68":{"line":684,"type":"if","locations":[{"start":{"line":684,"column":4},"end":{"line":684,"column":4}},{"start":{"line":684,"column":4},"end":{"line":684,"column":4}}]},"69":{"line":685,"type":"if","locations":[{"start":{"line":685,"column":4},"end":{"line":685,"column":4}},{"start":{"line":685,"column":4},"end":{"line":685,"column":4}}]},"70":{"line":763,"type":"if","locations":[{"start":{"line":763,"column":4},"end":{"line":763,"column":4}},{"start":{"line":763,"column":4},"end":{"line":763,"column":4}}]},"71":{"line":768,"type":"if","locations":[{"start":{"line":768,"column":4},"end":{"line":768,"column":4}},{"start":{"line":768,"column":4},"end":{"line":768,"column":4}}]},"72":{"line":772,"type":"if","locations":[{"start":{"line":772,"column":8},"end":{"line":772,"column":8}},{"start":{"line":772,"column":8},"end":{"line":772,"column":8}}]},"73":{"line":800,"type":"if","locations":[{"start":{"line":800,"column":4},"end":{"line":800,"column":4}},{"start":{"line":800,"column":4},"end":{"line":800,"column":4}}]},"74":{"line":800,"type":"binary-expr","locations":[{"start":{"line":800,"column":7},"end":{"line":800,"column":28}},{"start":{"line":800,"column":32},"end":{"line":800,"column":52}}]},"75":{"line":801,"type":"if","locations":[{"start":{"line":801,"column":8},"end":{"line":801,"column":8}},{"start":{"line":801,"column":8},"end":{"line":801,"column":8}}]},"76":{"line":804,"type":"if","locations":[{"start":{"line":804,"column":11},"end":{"line":804,"column":11}},{"start":{"line":804,"column":11},"end":{"line":804,"column":11}}]},"77":{"line":805,"type":"if","locations":[{"start":{"line":805,"column":8},"end":{"line":805,"column":8}},{"start":{"line":805,"column":8},"end":{"line":805,"column":8}}]},"78":{"line":811,"type":"if","locations":[{"start":{"line":811,"column":4},"end":{"line":811,"column":4}},{"start":{"line":811,"column":4},"end":{"line":811,"column":4}}]},"79":{"line":812,"type":"if","locations":[{"start":{"line":812,"column":4},"end":{"line":812,"column":4}},{"start":{"line":812,"column":4},"end":{"line":812,"column":4}}]},"80":{"line":815,"type":"if","locations":[{"start":{"line":815,"column":4},"end":{"line":815,"column":4}},{"start":{"line":815,"column":4},"end":{"line":815,"column":4}}]},"81":{"line":816,"type":"if","locations":[{"start":{"line":816,"column":4},"end":{"line":816,"column":4}},{"start":{"line":816,"column":4},"end":{"line":816,"column":4}}]},"82":{"line":817,"type":"if","locations":[{"start":{"line":817,"column":4},"end":{"line":817,"column":4}},{"start":{"line":817,"column":4},"end":{"line":817,"column":4}}]},"83":{"line":818,"type":"if","locations":[{"start":{"line":818,"column":4},"end":{"line":818,"column":4}},{"start":{"line":818,"column":4},"end":{"line":818,"column":4}}]},"84":{"line":819,"type":"if","locations":[{"start":{"line":819,"column":4},"end":{"line":819,"column":4}},{"start":{"line":819,"column":4},"end":{"line":819,"column":4}}]},"85":{"line":820,"type":"if","locations":[{"start":{"line":820,"column":4},"end":{"line":820,"column":4}},{"start":{"line":820,"column":4},"end":{"line":820,"column":4}}]},"86":{"line":821,"type":"if","locations":[{"start":{"line":821,"column":4},"end":{"line":821,"column":4}},{"start":{"line":821,"column":4},"end":{"line":821,"column":4}}]},"87":{"line":822,"type":"if","locations":[{"start":{"line":822,"column":4},"end":{"line":822,"column":4}},{"start":{"line":822,"column":4},"end":{"line":822,"column":4}}]},"88":{"line":823,"type":"if","locations":[{"start":{"line":823,"column":4},"end":{"line":823,"column":4}},{"start":{"line":823,"column":4},"end":{"line":823,"column":4}}]},"89":{"line":824,"type":"if","locations":[{"start":{"line":824,"column":4},"end":{"line":824,"column":4}},{"start":{"line":824,"column":4},"end":{"line":824,"column":4}}]},"90":{"line":825,"type":"if","locations":[{"start":{"line":825,"column":4},"end":{"line":825,"column":4}},{"start":{"line":825,"column":4},"end":{"line":825,"column":4}}]},"91":{"line":826,"type":"if","locations":[{"start":{"line":826,"column":4},"end":{"line":826,"column":4}},{"start":{"line":826,"column":4},"end":{"line":826,"column":4}}]},"92":{"line":830,"type":"if","locations":[{"start":{"line":830,"column":4},"end":{"line":830,"column":4}},{"start":{"line":830,"column":4},"end":{"line":830,"column":4}}]},"93":{"line":831,"type":"if","locations":[{"start":{"line":831,"column":8},"end":{"line":831,"column":8}},{"start":{"line":831,"column":8},"end":{"line":831,"column":8}}]},"94":{"line":837,"type":"if","locations":[{"start":{"line":837,"column":12},"end":{"line":837,"column":12}},{"start":{"line":837,"column":12},"end":{"line":837,"column":12}}]},"95":{"line":865,"type":"if","locations":[{"start":{"line":865,"column":15},"end":{"line":865,"column":15}},{"start":{"line":865,"column":15},"end":{"line":865,"column":15}}]},"96":{"line":866,"type":"if","locations":[{"start":{"line":866,"column":12},"end":{"line":866,"column":12}},{"start":{"line":866,"column":12},"end":{"line":866,"column":12}}]},"97":{"line":904,"type":"binary-expr","locations":[{"start":{"line":904,"column":14},"end":{"line":904,"column":21}},{"start":{"line":904,"column":25},"end":{"line":904,"column":27}}]},"98":{"line":906,"type":"if","locations":[{"start":{"line":906,"column":4},"end":{"line":906,"column":4}},{"start":{"line":906,"column":4},"end":{"line":906,"column":4}}]},"99":{"line":906,"type":"binary-expr","locations":[{"start":{"line":906,"column":8},"end":{"line":906,"column":25}},{"start":{"line":906,"column":29},"end":{"line":906,"column":50}}]},"100":{"line":912,"type":"if","locations":[{"start":{"line":912,"column":11},"end":{"line":912,"column":11}},{"start":{"line":912,"column":11},"end":{"line":912,"column":11}}]},"101":{"line":917,"type":"if","locations":[{"start":{"line":917,"column":11},"end":{"line":917,"column":11}},{"start":{"line":917,"column":11},"end":{"line":917,"column":11}}]},"102":{"line":922,"type":"if","locations":[{"start":{"line":922,"column":11},"end":{"line":922,"column":11}},{"start":{"line":922,"column":11},"end":{"line":922,"column":11}}]},"103":{"line":923,"type":"if","locations":[{"start":{"line":923,"column":8},"end":{"line":923,"column":8}},{"start":{"line":923,"column":8},"end":{"line":923,"column":8}}]},"104":{"line":923,"type":"binary-expr","locations":[{"start":{"line":923,"column":12},"end":{"line":923,"column":24}},{"start":{"line":923,"column":29},"end":{"line":923,"column":59}},{"start":{"line":923,"column":65},"end":{"line":923,"column":82}},{"start":{"line":923,"column":86},"end":{"line":923,"column":119}}]},"105":{"line":923,"type":"binary-expr","locations":[{"start":{"line":923,"column":88},"end":{"line":923,"column":99}},{"start":{"line":923,"column":103},"end":{"line":923,"column":118}}]},"106":{"line":935,"type":"if","locations":[{"start":{"line":935,"column":11},"end":{"line":935,"column":11}},{"start":{"line":935,"column":11},"end":{"line":935,"column":11}}]},"107":{"line":935,"type":"binary-expr","locations":[{"start":{"line":935,"column":14},"end":{"line":935,"column":22}},{"start":{"line":935,"column":26},"end":{"line":935,"column":41}},{"start":{"line":935,"column":45},"end":{"line":935,"column":64}}]}},"code":["(function () { YUI.add('event-simulate', function (Y, NAME) {","","(function() {","/**"," * Simulate user interaction by generating native DOM events."," *"," * @module event-simulate"," * @requires event"," */","","//shortcuts","var L = Y.Lang,"," isFunction = L.isFunction,"," isString = L.isString,"," isBoolean = L.isBoolean,"," isObject = L.isObject,"," isNumber = L.isNumber,",""," //mouse events supported"," mouseEvents = {"," click: 1,"," dblclick: 1,"," mouseover: 1,"," mouseout: 1,"," mousedown: 1,"," mouseup: 1,"," mousemove: 1,"," contextmenu:1"," },",""," msPointerEvents = {"," MSPointerOver: 1,"," MSPointerOut: 1,"," MSPointerDown: 1,"," MSPointerUp: 1,"," MSPointerMove: 1"," },",""," //key events supported"," keyEvents = {"," keydown: 1,"," keyup: 1,"," keypress: 1"," },",""," //HTML events supported"," uiEvents = {"," submit: 1,"," blur: 1,"," change: 1,"," focus: 1,"," resize: 1,"," scroll: 1,"," select: 1"," },",""," //events that bubble by default"," bubbleEvents = {"," scroll: 1,"," resize: 1,"," reset: 1,"," submit: 1,"," change: 1,"," select: 1,"," error: 1,"," abort: 1"," },",""," //touch events supported"," touchEvents = {"," touchstart: 1,"," touchmove: 1,"," touchend: 1,"," touchcancel: 1"," },",""," gestureEvents = {"," gesturestart: 1,"," gesturechange: 1,"," gestureend: 1"," };","","//all key, mouse and touch events bubble","Y.mix(bubbleEvents, mouseEvents);","Y.mix(bubbleEvents, keyEvents);","Y.mix(bubbleEvents, touchEvents);","","/*"," * Note: Intentionally not for YUIDoc generation."," * Simulates a key event using the given event information to populate"," * the generated event object. This method does browser-equalizing"," * calculations to account for differences in the DOM and IE event models"," * as well as different browser quirks. Note: keydown causes Safari 2.x to"," * crash."," * @method simulateKeyEvent"," * @private"," * @static"," * @param {HTMLElement} target The target of the given event."," * @param {String} type The type of event to fire. This can be any one of"," * the following: keyup, keydown, and keypress."," * @param {Boolean} bubbles (Optional) Indicates if the event can be"," * bubbled up. DOM Level 3 specifies that all key events bubble by"," * default. The default is true."," * @param {Boolean} cancelable (Optional) Indicates if the event can be"," * canceled using preventDefault(). DOM Level 3 specifies that all"," * key events can be cancelled. The default"," * is true."," * @param {Window} view (Optional) The view containing the target. This is"," * typically the window object. The default is window."," * @param {Boolean} ctrlKey (Optional) Indicates if one of the CTRL keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} altKey (Optional) Indicates if one of the ALT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} shiftKey (Optional) Indicates if one of the SHIFT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} metaKey (Optional) Indicates if one of the META keys"," * is pressed while the event is firing. The default is false."," * @param {int} keyCode (Optional) The code for the key that is in use."," * The default is 0."," * @param {int} charCode (Optional) The Unicode code for the character"," * associated with the key being used. The default is 0."," */","function simulateKeyEvent(target /*:HTMLElement*/, type /*:String*/,"," bubbles /*:Boolean*/, cancelable /*:Boolean*/,"," view /*:Window*/,"," ctrlKey /*:Boolean*/, altKey /*:Boolean*/,"," shiftKey /*:Boolean*/, metaKey /*:Boolean*/,"," keyCode /*:int*/, charCode /*:int*/) /*:Void*/","{"," //check target"," if (!target){"," Y.error(\"simulateKeyEvent(): Invalid target.\");"," }",""," //check event type"," if (isString(type)){"," type = type.toLowerCase();"," switch(type){"," case \"textevent\": //DOM Level 3"," type = \"keypress\";"," break;"," case \"keyup\":"," case \"keydown\":"," case \"keypress\":"," break;"," default:"," Y.error(\"simulateKeyEvent(): Event type '\" + type + \"' not supported.\");"," }"," } else {"," Y.error(\"simulateKeyEvent(): Event type must be a string.\");"," }",""," //setup default values"," if (!isBoolean(bubbles)){"," bubbles = true; //all key events bubble"," }"," if (!isBoolean(cancelable)){"," cancelable = true; //all key events can be cancelled"," }"," if (!isObject(view)){"," view = Y.config.win; //view is typically window"," }"," if (!isBoolean(ctrlKey)){"," ctrlKey = false;"," }"," if (!isBoolean(altKey)){"," altKey = false;"," }"," if (!isBoolean(shiftKey)){"," shiftKey = false;"," }"," if (!isBoolean(metaKey)){"," metaKey = false;"," }"," if (!isNumber(keyCode)){"," keyCode = 0;"," }"," if (!isNumber(charCode)){"," charCode = 0;"," }",""," //try to create a mouse event"," var customEvent /*:MouseEvent*/ = null;",""," //check for DOM-compliant browsers first"," if (isFunction(Y.config.doc.createEvent)){",""," try {",""," //try to create key event"," customEvent = Y.config.doc.createEvent(\"KeyEvents\");",""," /*"," * Interesting problem: Firefox implemented a non-standard"," * version of initKeyEvent() based on DOM Level 2 specs."," * Key event was removed from DOM Level 2 and re-introduced"," * in DOM Level 3 with a different interface. Firefox is the"," * only browser with any implementation of Key Events, so for"," * now, assume it's Firefox if the above line doesn't error."," */"," // @TODO: Decipher between Firefox's implementation and a correct one."," customEvent.initKeyEvent(type, bubbles, cancelable, view, ctrlKey,"," altKey, shiftKey, metaKey, keyCode, charCode);",""," } catch (ex /*:Error*/){",""," /*"," * If it got here, that means key events aren't officially supported."," * Safari/WebKit is a real problem now. WebKit 522 won't let you"," * set keyCode, charCode, or other properties if you use a"," * UIEvent, so we first must try to create a generic event. The"," * fun part is that this will throw an error on Safari 2.x. The"," * end result is that we need another try...catch statement just to"," * deal with this mess."," */"," try {",""," //try to create generic event - will fail in Safari 2.x"," customEvent = Y.config.doc.createEvent(\"Events\");",""," } catch (uierror /*:Error*/){",""," //the above failed, so create a UIEvent for Safari 2.x"," customEvent = Y.config.doc.createEvent(\"UIEvents\");",""," } finally {",""," customEvent.initEvent(type, bubbles, cancelable);",""," //initialize"," customEvent.view = view;"," customEvent.altKey = altKey;"," customEvent.ctrlKey = ctrlKey;"," customEvent.shiftKey = shiftKey;"," customEvent.metaKey = metaKey;"," customEvent.keyCode = keyCode;"," customEvent.charCode = charCode;",""," }",""," }",""," //fire the event"," target.dispatchEvent(customEvent);",""," } else if (isObject(Y.config.doc.createEventObject)){ //IE",""," //create an IE event object"," customEvent = Y.config.doc.createEventObject();",""," //assign available properties"," customEvent.bubbles = bubbles;"," customEvent.cancelable = cancelable;"," customEvent.view = view;"," customEvent.ctrlKey = ctrlKey;"," customEvent.altKey = altKey;"," customEvent.shiftKey = shiftKey;"," customEvent.metaKey = metaKey;",""," /*"," * IE doesn't support charCode explicitly. CharCode should"," * take precedence over any keyCode value for accurate"," * representation."," */"," customEvent.keyCode = (charCode > 0) ? charCode : keyCode;",""," //fire the event"," target.fireEvent(\"on\" + type, customEvent);",""," } else {"," Y.error(\"simulateKeyEvent(): No event simulation framework present.\");"," }","}","","/*"," * Note: Intentionally not for YUIDoc generation."," * Simulates a mouse event using the given event information to populate"," * the generated event object. This method does browser-equalizing"," * calculations to account for differences in the DOM and IE event models"," * as well as different browser quirks."," * @method simulateMouseEvent"," * @private"," * @static"," * @param {HTMLElement} target The target of the given event."," * @param {String} type The type of event to fire. This can be any one of"," * the following: click, dblclick, mousedown, mouseup, mouseout,"," * mouseover, and mousemove."," * @param {Boolean} bubbles (Optional) Indicates if the event can be"," * bubbled up. DOM Level 2 specifies that all mouse events bubble by"," * default. The default is true."," * @param {Boolean} cancelable (Optional) Indicates if the event can be"," * canceled using preventDefault(). DOM Level 2 specifies that all"," * mouse events except mousemove can be cancelled. The default"," * is true for all events except mousemove, for which the default"," * is false."," * @param {Window} view (Optional) The view containing the target. This is"," * typically the window object. The default is window."," * @param {int} detail (Optional) The number of times the mouse button has"," * been used. The default value is 1."," * @param {int} screenX (Optional) The x-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} screenY (Optional) The y-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} clientX (Optional) The x-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {int} clientY (Optional) The y-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {Boolean} ctrlKey (Optional) Indicates if one of the CTRL keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} altKey (Optional) Indicates if one of the ALT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} shiftKey (Optional) Indicates if one of the SHIFT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} metaKey (Optional) Indicates if one of the META keys"," * is pressed while the event is firing. The default is false."," * @param {int} button (Optional) The button being pressed while the event"," * is executing. The value should be 0 for the primary mouse button"," * (typically the left button), 1 for the terciary mouse button"," * (typically the middle button), and 2 for the secondary mouse button"," * (typically the right button). The default is 0."," * @param {HTMLElement} relatedTarget (Optional) For mouseout events,"," * this is the element that the mouse has moved to. For mouseover"," * events, this is the element that the mouse has moved from. This"," * argument is ignored for all other events. The default is null."," */","function simulateMouseEvent(target /*:HTMLElement*/, type /*:String*/,"," bubbles /*:Boolean*/, cancelable /*:Boolean*/,"," view /*:Window*/, detail /*:int*/,"," screenX /*:int*/, screenY /*:int*/,"," clientX /*:int*/, clientY /*:int*/,"," ctrlKey /*:Boolean*/, altKey /*:Boolean*/,"," shiftKey /*:Boolean*/, metaKey /*:Boolean*/,"," button /*:int*/, relatedTarget /*:HTMLElement*/) /*:Void*/","{"," //check target"," if (!target){"," Y.error(\"simulateMouseEvent(): Invalid target.\");"," }","",""," if (isString(type)){",""," //make sure it's a supported mouse event or an msPointerEvent."," if (!mouseEvents[type.toLowerCase()] && !msPointerEvents[type]){"," Y.error(\"simulateMouseEvent(): Event type '\" + type + \"' not supported.\");"," }"," }"," else {"," Y.error(\"simulateMouseEvent(): Event type must be a string.\");"," }",""," //setup default values"," if (!isBoolean(bubbles)){"," bubbles = true; //all mouse events bubble"," }"," if (!isBoolean(cancelable)){"," cancelable = (type !== \"mousemove\"); //mousemove is the only one that can't be cancelled"," }"," if (!isObject(view)){"," view = Y.config.win; //view is typically window"," }"," if (!isNumber(detail)){"," detail = 1; //number of mouse clicks must be at least one"," }"," if (!isNumber(screenX)){"," screenX = 0;"," }"," if (!isNumber(screenY)){"," screenY = 0;"," }"," if (!isNumber(clientX)){"," clientX = 0;"," }"," if (!isNumber(clientY)){"," clientY = 0;"," }"," if (!isBoolean(ctrlKey)){"," ctrlKey = false;"," }"," if (!isBoolean(altKey)){"," altKey = false;"," }"," if (!isBoolean(shiftKey)){"," shiftKey = false;"," }"," if (!isBoolean(metaKey)){"," metaKey = false;"," }"," if (!isNumber(button)){"," button = 0;"," }",""," relatedTarget = relatedTarget || null;",""," //try to create a mouse event"," var customEvent /*:MouseEvent*/ = null;",""," //check for DOM-compliant browsers first"," if (isFunction(Y.config.doc.createEvent)){",""," customEvent = Y.config.doc.createEvent(\"MouseEvents\");",""," //Safari 2.x (WebKit 418) still doesn't implement initMouseEvent()"," if (customEvent.initMouseEvent){"," customEvent.initMouseEvent(type, bubbles, cancelable, view, detail,"," screenX, screenY, clientX, clientY,"," ctrlKey, altKey, shiftKey, metaKey,"," button, relatedTarget);"," } else { //Safari",""," //the closest thing available in Safari 2.x is UIEvents"," customEvent = Y.config.doc.createEvent(\"UIEvents\");"," customEvent.initEvent(type, bubbles, cancelable);"," customEvent.view = view;"," customEvent.detail = detail;"," customEvent.screenX = screenX;"," customEvent.screenY = screenY;"," customEvent.clientX = clientX;"," customEvent.clientY = clientY;"," customEvent.ctrlKey = ctrlKey;"," customEvent.altKey = altKey;"," customEvent.metaKey = metaKey;"," customEvent.shiftKey = shiftKey;"," customEvent.button = button;"," customEvent.relatedTarget = relatedTarget;"," }",""," /*"," * Check to see if relatedTarget has been assigned. Firefox"," * versions less than 2.0 don't allow it to be assigned via"," * initMouseEvent() and the property is readonly after event"," * creation, so in order to keep YAHOO.util.getRelatedTarget()"," * working, assign to the IE proprietary toElement property"," * for mouseout event and fromElement property for mouseover"," * event."," */"," if (relatedTarget && !customEvent.relatedTarget){"," if (type === \"mouseout\"){"," customEvent.toElement = relatedTarget;"," } else if (type === \"mouseover\"){"," customEvent.fromElement = relatedTarget;"," }"," }",""," //fire the event"," target.dispatchEvent(customEvent);",""," } else if (isObject(Y.config.doc.createEventObject)){ //IE",""," //create an IE event object"," customEvent = Y.config.doc.createEventObject();",""," //assign available properties"," customEvent.bubbles = bubbles;"," customEvent.cancelable = cancelable;"," customEvent.view = view;"," customEvent.detail = detail;"," customEvent.screenX = screenX;"," customEvent.screenY = screenY;"," customEvent.clientX = clientX;"," customEvent.clientY = clientY;"," customEvent.ctrlKey = ctrlKey;"," customEvent.altKey = altKey;"," customEvent.metaKey = metaKey;"," customEvent.shiftKey = shiftKey;",""," //fix button property for IE's wacky implementation"," switch(button){"," case 0:"," customEvent.button = 1;"," break;"," case 1:"," customEvent.button = 4;"," break;"," case 2:"," //leave as is"," break;"," default:"," customEvent.button = 0;"," }",""," /*"," * Have to use relatedTarget because IE won't allow assignment"," * to toElement or fromElement on generic events. This keeps"," * YAHOO.util.customEvent.getRelatedTarget() functional."," */"," customEvent.relatedTarget = relatedTarget;",""," //fire the event"," target.fireEvent(\"on\" + type, customEvent);",""," } else {"," Y.error(\"simulateMouseEvent(): No event simulation framework present.\");"," }","}","","/*"," * Note: Intentionally not for YUIDoc generation."," * Simulates a UI event using the given event information to populate"," * the generated event object. This method does browser-equalizing"," * calculations to account for differences in the DOM and IE event models"," * as well as different browser quirks."," * @method simulateHTMLEvent"," * @private"," * @static"," * @param {HTMLElement} target The target of the given event."," * @param {String} type The type of event to fire. This can be any one of"," * the following: click, dblclick, mousedown, mouseup, mouseout,"," * mouseover, and mousemove."," * @param {Boolean} bubbles (Optional) Indicates if the event can be"," * bubbled up. DOM Level 2 specifies that all mouse events bubble by"," * default. The default is true."," * @param {Boolean} cancelable (Optional) Indicates if the event can be"," * canceled using preventDefault(). DOM Level 2 specifies that all"," * mouse events except mousemove can be cancelled. The default"," * is true for all events except mousemove, for which the default"," * is false."," * @param {Window} view (Optional) The view containing the target. This is"," * typically the window object. The default is window."," * @param {int} detail (Optional) The number of times the mouse button has"," * been used. The default value is 1."," */","function simulateUIEvent(target /*:HTMLElement*/, type /*:String*/,"," bubbles /*:Boolean*/, cancelable /*:Boolean*/,"," view /*:Window*/, detail /*:int*/) /*:Void*/","{",""," //check target"," if (!target){"," Y.error(\"simulateUIEvent(): Invalid target.\");"," }",""," //check event type"," if (isString(type)){"," type = type.toLowerCase();",""," //make sure it's a supported mouse event"," if (!uiEvents[type]){"," Y.error(\"simulateUIEvent(): Event type '\" + type + \"' not supported.\");"," }"," } else {"," Y.error(\"simulateUIEvent(): Event type must be a string.\");"," }",""," //try to create a mouse event"," var customEvent = null;","",""," //setup default values"," if (!isBoolean(bubbles)){"," bubbles = (type in bubbleEvents); //not all events bubble"," }"," if (!isBoolean(cancelable)){"," cancelable = (type === \"submit\"); //submit is the only one that can be cancelled"," }"," if (!isObject(view)){"," view = Y.config.win; //view is typically window"," }"," if (!isNumber(detail)){"," detail = 1; //usually not used but defaulted to this"," }",""," //check for DOM-compliant browsers first"," if (isFunction(Y.config.doc.createEvent)){",""," //just a generic UI Event object is needed"," customEvent = Y.config.doc.createEvent(\"UIEvents\");"," customEvent.initUIEvent(type, bubbles, cancelable, view, detail);",""," //fire the event"," target.dispatchEvent(customEvent);",""," } else if (isObject(Y.config.doc.createEventObject)){ //IE",""," //create an IE event object"," customEvent = Y.config.doc.createEventObject();",""," //assign available properties"," customEvent.bubbles = bubbles;"," customEvent.cancelable = cancelable;"," customEvent.view = view;"," customEvent.detail = detail;",""," //fire the event"," target.fireEvent(\"on\" + type, customEvent);",""," } else {"," Y.error(\"simulateUIEvent(): No event simulation framework present.\");"," }","}","","/*"," * (iOS only) This is for creating native DOM gesture events which only iOS"," * v2.0+ is supporting."," *"," * @method simulateGestureEvent"," * @private"," * @param {HTMLElement} target The target of the given event."," * @param {String} type The type of event to fire. This can be any one of"," * the following: touchstart, touchmove, touchend, touchcancel."," * @param {Boolean} bubbles (Optional) Indicates if the event can be"," * bubbled up. DOM Level 2 specifies that all mouse events bubble by"," * default. The default is true."," * @param {Boolean} cancelable (Optional) Indicates if the event can be"," * canceled using preventDefault(). DOM Level 2 specifies that all"," * touch events except touchcancel can be cancelled. The default"," * is true for all events except touchcancel, for which the default"," * is false."," * @param {Window} view (Optional) The view containing the target. This is"," * typically the window object. The default is window."," * @param {int} detail (Optional) Specifies some detail information about"," * the event depending on the type of event."," * @param {int} screenX (Optional) The x-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} screenY (Optional) The y-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} clientX (Optional) The x-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {int} clientY (Optional) The y-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {Boolean} ctrlKey (Optional) Indicates if one of the CTRL keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} altKey (Optional) Indicates if one of the ALT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} shiftKey (Optional) Indicates if one of the SHIFT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} metaKey (Optional) Indicates if one of the META keys"," * is pressed while the event is firing. The default is false."," * @param {float} scale (iOS v2+ only) The distance between two fingers"," * since the start of an event as a multiplier of the initial distance."," * The default value is 1.0."," * @param {float} rotation (iOS v2+ only) The delta rotation since the start"," * of an event, in degrees, where clockwise is positive and"," * counter-clockwise is negative. The default value is 0.0."," */","function simulateGestureEvent(target, type,"," bubbles, // boolean"," cancelable, // boolean"," view, // DOMWindow"," detail, // long"," screenX, screenY, // long"," clientX, clientY, // long"," ctrlKey, altKey, shiftKey, metaKey, // boolean"," scale, // float"," rotation // float",") {"," var customEvent;",""," if(!Y.UA.ios || Y.UA.ios<2.0) {"," Y.error(\"simulateGestureEvent(): Native gesture DOM eventframe is not available in this platform.\");"," }",""," // check taget"," if (!target){"," Y.error(\"simulateGestureEvent(): Invalid target.\");"," }",""," //check event type"," if (Y.Lang.isString(type)) {"," type = type.toLowerCase();",""," //make sure it's a supported touch event"," if (!gestureEvents[type]){"," Y.error(\"simulateTouchEvent(): Event type '\" + type + \"' not supported.\");"," }"," } else {"," Y.error(\"simulateGestureEvent(): Event type must be a string.\");"," }",""," // setup default values"," if (!Y.Lang.isBoolean(bubbles)) { bubbles = true; } // bubble by default"," if (!Y.Lang.isBoolean(cancelable)) { cancelable = true; }"," if (!Y.Lang.isObject(view)) { view = Y.config.win; }"," if (!Y.Lang.isNumber(detail)) { detail = 2; } // usually not used."," if (!Y.Lang.isNumber(screenX)) { screenX = 0; }"," if (!Y.Lang.isNumber(screenY)) { screenY = 0; }"," if (!Y.Lang.isNumber(clientX)) { clientX = 0; }"," if (!Y.Lang.isNumber(clientY)) { clientY = 0; }"," if (!Y.Lang.isBoolean(ctrlKey)) { ctrlKey = false; }"," if (!Y.Lang.isBoolean(altKey)) { altKey = false; }"," if (!Y.Lang.isBoolean(shiftKey)){ shiftKey = false; }"," if (!Y.Lang.isBoolean(metaKey)) { metaKey = false; }",""," if (!Y.Lang.isNumber(scale)){ scale = 1.0; }"," if (!Y.Lang.isNumber(rotation)){ rotation = 0.0; }",""," customEvent = Y.config.doc.createEvent(\"GestureEvent\");",""," customEvent.initGestureEvent(type, bubbles, cancelable, view, detail,"," screenX, screenY, clientX, clientY,"," ctrlKey, altKey, shiftKey, metaKey,"," target, scale, rotation);",""," target.dispatchEvent(customEvent);","}","","","/*"," * @method simulateTouchEvent"," * @private"," * @param {HTMLElement} target The target of the given event."," * @param {String} type The type of event to fire. This can be any one of"," * the following: touchstart, touchmove, touchend, touchcancel."," * @param {Boolean} bubbles (Optional) Indicates if the event can be"," * bubbled up. DOM Level 2 specifies that all mouse events bubble by"," * default. The default is true."," * @param {Boolean} cancelable (Optional) Indicates if the event can be"," * canceled using preventDefault(). DOM Level 2 specifies that all"," * touch events except touchcancel can be cancelled. The default"," * is true for all events except touchcancel, for which the default"," * is false."," * @param {Window} view (Optional) The view containing the target. This is"," * typically the window object. The default is window."," * @param {int} detail (Optional) Specifies some detail information about"," * the event depending on the type of event."," * @param {int} screenX (Optional) The x-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} screenY (Optional) The y-coordinate on the screen at which"," * point the event occured. The default is 0."," * @param {int} clientX (Optional) The x-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {int} clientY (Optional) The y-coordinate on the client at which"," * point the event occured. The default is 0."," * @param {Boolean} ctrlKey (Optional) Indicates if one of the CTRL keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} altKey (Optional) Indicates if one of the ALT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} shiftKey (Optional) Indicates if one of the SHIFT keys"," * is pressed while the event is firing. The default is false."," * @param {Boolean} metaKey (Optional) Indicates if one of the META keys"," * is pressed while the event is firing. The default is false."," * @param {TouchList} touches A collection of Touch objects representing"," * all touches associated with this event."," * @param {TouchList} targetTouches A collection of Touch objects"," * representing all touches associated with this target."," * @param {TouchList} changedTouches A collection of Touch objects"," * representing all touches that changed in this event."," * @param {float} scale (iOS v2+ only) The distance between two fingers"," * since the start of an event as a multiplier of the initial distance."," * The default value is 1.0."," * @param {float} rotation (iOS v2+ only) The delta rotation since the start"," * of an event, in degrees, where clockwise is positive and"," * counter-clockwise is negative. The default value is 0.0."," */","function simulateTouchEvent(target, type,"," bubbles, // boolean"," cancelable, // boolean"," view, // DOMWindow"," detail, // long"," screenX, screenY, // long"," clientX, clientY, // long"," ctrlKey, altKey, shiftKey, metaKey, // boolean"," touches, // TouchList"," targetTouches, // TouchList"," changedTouches, // TouchList"," scale, // float"," rotation // float",") {",""," var customEvent;",""," // check taget"," if (!target){"," Y.error(\"simulateTouchEvent(): Invalid target.\");"," }",""," //check event type"," if (Y.Lang.isString(type)) {"," type = type.toLowerCase();",""," //make sure it's a supported touch event"," if (!touchEvents[type]){"," Y.error(\"simulateTouchEvent(): Event type '\" + type + \"' not supported.\");"," }"," } else {"," Y.error(\"simulateTouchEvent(): Event type must be a string.\");"," }",""," // note that the caller is responsible to pass appropriate touch objects."," // check touch objects"," // Android(even 4.0) doesn't define TouchList yet"," /*if(type === 'touchstart' || type === 'touchmove') {"," if(!touches instanceof TouchList) {"," Y.error('simulateTouchEvent(): Invalid touches. It must be a TouchList');"," } else {"," if(touches.length === 0) {"," Y.error('simulateTouchEvent(): No touch object found.');"," }"," }"," } else if(type === 'touchend') {"," if(!changedTouches instanceof TouchList) {"," Y.error('simulateTouchEvent(): Invalid touches. It must be a TouchList');"," } else {"," if(changedTouches.length === 0) {"," Y.error('simulateTouchEvent(): No touch object found.');"," }"," }"," }*/",""," if(type === 'touchstart' || type === 'touchmove') {"," if(touches.length === 0) {"," Y.error('simulateTouchEvent(): No touch object in touches');"," }"," } else if(type === 'touchend') {"," if(changedTouches.length === 0) {"," Y.error('simulateTouchEvent(): No touch object in changedTouches');"," }"," }",""," // setup default values"," if (!Y.Lang.isBoolean(bubbles)) { bubbles = true; } // bubble by default."," if (!Y.Lang.isBoolean(cancelable)) {"," cancelable = (type !== \"touchcancel\"); // touchcancel is not cancelled"," }"," if (!Y.Lang.isObject(view)) { view = Y.config.win; }"," if (!Y.Lang.isNumber(detail)) { detail = 1; } // usually not used. defaulted to # of touch objects."," if (!Y.Lang.isNumber(screenX)) { screenX = 0; }"," if (!Y.Lang.isNumber(screenY)) { screenY = 0; }"," if (!Y.Lang.isNumber(clientX)) { clientX = 0; }"," if (!Y.Lang.isNumber(clientY)) { clientY = 0; }"," if (!Y.Lang.isBoolean(ctrlKey)) { ctrlKey = false; }"," if (!Y.Lang.isBoolean(altKey)) { altKey = false; }"," if (!Y.Lang.isBoolean(shiftKey)){ shiftKey = false; }"," if (!Y.Lang.isBoolean(metaKey)) { metaKey = false; }"," if (!Y.Lang.isNumber(scale)) { scale = 1.0; }"," if (!Y.Lang.isNumber(rotation)) { rotation = 0.0; }","",""," //check for DOM-compliant browsers first"," if (Y.Lang.isFunction(Y.config.doc.createEvent)) {"," if (Y.UA.android) {"," /*"," * Couldn't find android start version that supports touch event."," * Assumed supported(btw APIs broken till icecream sandwitch)"," * from the beginning."," */"," if(Y.UA.android < 4.0) {"," /*"," * Touch APIs are broken in androids older than 4.0. We will use"," * simulated touch apis for these versions."," * App developer still can listen for touch events. This events"," * will be dispatched with touch event types."," *"," * (Note) Used target for the relatedTarget. Need to verify if"," * it has a side effect."," */"," customEvent = Y.config.doc.createEvent(\"MouseEvents\");"," customEvent.initMouseEvent(type, bubbles, cancelable, view, detail,"," screenX, screenY, clientX, clientY,"," ctrlKey, altKey, shiftKey, metaKey,"," 0, target);",""," customEvent.touches = touches;"," customEvent.targetTouches = targetTouches;"," customEvent.changedTouches = changedTouches;"," } else {"," customEvent = Y.config.doc.createEvent(\"TouchEvent\");",""," // Andoroid isn't compliant W3C initTouchEvent method signature."," customEvent.initTouchEvent(touches, targetTouches, changedTouches,"," type, view,"," screenX, screenY, clientX, clientY,"," ctrlKey, altKey, shiftKey, metaKey);"," }"," } else if (Y.UA.ios) {"," if(Y.UA.ios >= 2.0) {"," customEvent = Y.config.doc.createEvent(\"TouchEvent\");",""," // Available iOS 2.0 and later"," customEvent.initTouchEvent(type, bubbles, cancelable, view, detail,"," screenX, screenY, clientX, clientY,"," ctrlKey, altKey, shiftKey, metaKey,"," touches, targetTouches, changedTouches,"," scale, rotation);"," } else {"," Y.error('simulateTouchEvent(): No touch event simulation framework present for iOS, '+Y.UA.ios+'.');"," }"," } else {"," Y.error('simulateTouchEvent(): Not supported agent yet, '+Y.UA.userAgent);"," }",""," //fire the event"," target.dispatchEvent(customEvent);"," //} else if (Y.Lang.isObject(doc.createEventObject)){ // Windows Mobile/IE, support later"," } else {"," Y.error('simulateTouchEvent(): No event simulation framework present.');"," }","}","","/**"," * Simulates the event or gesture with the given name on a target."," * @param {HTMLElement} target The DOM element that's the target of the event."," * @param {String} type The type of event or name of the supported gesture to simulate"," * (i.e., \"click\", \"doubletap\", \"flick\")."," * @param {Object} options (Optional) Extra options to copy onto the event object."," * For gestures, options are used to refine the gesture behavior."," * @return {void}"," * @for Event"," * @method simulate"," * @static"," */","Y.Event.simulate = function(target, type, options){",""," options = options || {};",""," if (mouseEvents[type] || msPointerEvents[type]){"," simulateMouseEvent(target, type, options.bubbles,"," options.cancelable, options.view, options.detail, options.screenX,"," options.screenY, options.clientX, options.clientY, options.ctrlKey,"," options.altKey, options.shiftKey, options.metaKey, options.button,"," options.relatedTarget);"," } else if (keyEvents[type]){"," simulateKeyEvent(target, type, options.bubbles,"," options.cancelable, options.view, options.ctrlKey,"," options.altKey, options.shiftKey, options.metaKey,"," options.keyCode, options.charCode);"," } else if (uiEvents[type]){"," simulateUIEvent(target, type, options.bubbles,"," options.cancelable, options.view, options.detail);",""," // touch low-level event simulation"," } else if (touchEvents[type]) {"," if((Y.config.win && (\"ontouchstart\" in Y.config.win)) && !(Y.UA.phantomjs) && !(Y.UA.chrome && Y.UA.chrome < 6)) {"," simulateTouchEvent(target, type,"," options.bubbles, options.cancelable, options.view, options.detail,"," options.screenX, options.screenY, options.clientX, options.clientY,"," options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,"," options.touches, options.targetTouches, options.changedTouches,"," options.scale, options.rotation);"," } else {"," Y.error(\"simulate(): Event '\" + type + \"' can't be simulated. Use gesture-simulate module instead.\");"," }",""," // ios gesture low-level event simulation (iOS v2+ only)"," } else if(Y.UA.ios && Y.UA.ios >= 2.0 && gestureEvents[type]) {"," simulateGestureEvent(target, type,"," options.bubbles, options.cancelable, options.view, options.detail,"," options.screenX, options.screenY, options.clientX, options.clientY,"," options.ctrlKey, options.altKey, options.shiftKey, options.metaKey,"," options.scale, options.rotation);",""," // anything else"," } else {"," Y.error(\"simulate(): Event '\" + type + \"' can't be simulated.\");"," }","};","","","})();","","","","}, '3.13.0', {\"requires\": [\"event-base\"]});","","}());"]};