按下时刻0抬起时刻0WHILETRUEMixlyls1GTr511按下时刻mstrueLTr110抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gNToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgcHJpbnQoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK