Ly8gTm9uIGFzY2lpIGRhdGEgaW4gc291cmNlIHNob3VsZCBmYWlsCi8vIFNlZSBHTFNMIEVTIFNwZWMgMS4wLjE3IHNlY3Rpb24gMy4xIGFuZCAzLjIKLy8ggrGC6oLNgmCCcoJigmiCaILFgs2CyIKigsWCt4FCCi8vIIJzgoiCiYKTgUCCaIKTgUCCbYKPgpSBQIJggnKCYoJogmgKdW5pZm9ybSBtYXQ0IIJtgo+ClIJggnKCYoJogmg7CnZvaWQgbWFpbigpIHsKICBnbF9Qb3NpdGlvbiA9IHZlYzQoMSwxLDEsMSk7Cn0K