IyEvYmluL3NoCiMKIyBpbnRlcm5ldC5zaCx2IDEwLjA4LjA1IDIwMTAtMDgtMDUgMTU6MDA6MDAKIwojIHVzYWdlOiBpbnRlcm5ldC5zaAojCnBhdGhfc2g9YG52IGdldCBwYXRoX3NoYAouICRwYXRoX3NoL2dsb2JhbC5zaAplY2hvICJJbmZvOiBpbnRlcm5ldC5zaCBzdGFydCIgPiAkdGVzdF9sb2cKZWNobyAiSW5mbzogYGRhdGUgKyVtLSVkXyVIOiVNOiVTYCIgPj4gJHRlc3RfbG9nCgpnZW5TeXNGaWxlcygpCnsKCWxvZ2luPWBudiBnZXQgTG9naW5gCglwYXNzPWBudiBnZXQgUGFzc3dvcmRgCgllY2hvICIkbG9naW46OjA6MDpBZG1pbnN0cmF0b3I6LzovYmluL3NoIiA+IC9ldGMvcGFzc3dkCgllY2hvICIkbG9naW46eDowOiRsb2dpbiIgPiAvZXRjL2dyb3VwCgllY2hvICIkbG9naW46JHBhc3MiID4gL3RtcC90bXBjaHB3CgljaHBhc3N3ZCA8IC90bXAvdG1wY2hwdwoJcm0gLWYgL3RtcC90bXBjaHB3Cn0KdXNlcl9sb2dpbj1gY2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCBhZG1pbmAKI3VzZXJfbG9naW6yu7Tm1Nq78s6qv9XKsbry1rTQ0Lqvyv1nZW5TeXNGaWxlcwpbIC1uICIkdXNlcl9sb2dpbiIgXSB8fCB7IGdlblN5c0ZpbGVzO30KCnNhZmVfcnVuKCkKewogICAgcHNfdG1wPWBudiBnZXQgcGF0aF9sb2dgInBzLnRtcCIKICAgIHBzID4gJHtwc190bXB9CglmbGFnPWBncmVwIC13ICIkMSIgJHtwc190bXB9YAoJaWYgWyAiLSR7ZmxhZ30iID0gIi0iIF07dGhlbgoJCSQxICYKCWZpCglybSAtcmYgJHtwc190bXB9Cn0KCiO2r8ysbnbWw7/VCiMuICRwYXRoX3NoL2NmZ252X2luaXQuc2gKcHN3YW49YG52IGdldCBwc3dhbmAKZXRod2FuPWBudiBnZXQgZXRod2FuYAp3aWZpd2FuPWBudiBnZXQgd2lmaXdhbmAKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvJHBzd2FuIjEiL2FjY2VwdF9yYQplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8kcHN3YW4iMiIvYWNjZXB0X3JhCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyRwc3dhbiIzIi9hY2NlcHRfcmEKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvJHBzd2FuIjQiL2FjY2VwdF9yYQplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8kcHN3YW4iNSIvYWNjZXB0X3JhCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyRwc3dhbiI2Ii9hY2NlcHRfcmEKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvJHBzd2FuIjciL2FjY2VwdF9yYQplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8kcHN3YW4iOCIvYWNjZXB0X3JhCmlmIFsgIi0kZXRod2FuIiAhPSAiLSIgXTsgdGhlbgogICAgZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvJGV0aHdhbi9hY2NlcHRfcmEKZmkKaWYgWyAiLSR3aWZpd2FuIiAhPSAiLSIgXTsgdGhlbgogICAgZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvJHdpZml3YW4vYWNjZXB0X3JhCmZpCgojsLLIq9Kqx/MKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L2NvbmYvYWxsL3NlbmRfcmVkaXJlY3RzCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC9jb25mL2RlZmF1bHQvc2VuZF9yZWRpcmVjdHMKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L2NvbmYvYWxsL2FjY2VwdF9yZWRpcmVjdHMKZWNobyAwID4gL3Byb2Mvc3lzL25ldC9pcHY0L2NvbmYvZGVmYXVsdC9hY2NlcHRfcmVkaXJlY3RzCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2FsbC9hY2NlcHRfcmVkaXJlY3RzCmVjaG8gMCA+IC9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2RlZmF1bHQvYWNjZXB0X3JlZGlyZWN0cwplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjQvY29uZi9hbGwvc2VjdXJlX3JlZGlyZWN0cwplY2hvIDAgPiAvcHJvYy9zeXMvbmV0L2lwdjQvY29uZi9kZWZhdWx0L3NlY3VyZV9yZWRpcmVjdHMKCiNFQyDJ6NbDway907j619nX7rTz1rUst8W1vXJjwO/D5sXk1sMKI2VjaG8gMjAwMCA+IC9wcm9jL3N5cy9uZXQvbmZfY29ubnRyYWNrX21heAplY2hvIDcyMDAgPiAvcHJvYy9zeXMvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfdGNwX3RpbWVvdXRfZXN0YWJsaXNoZWQKCiN6dGVfbWFpbmN0cmwgJgoKI72rYnJfbmFtZSx1c2JsYW5fbmFtZbSruPjE2rrLyrXP1sa9zKi7rwpmYXN0X3VzYj1gbnYgZ2V0IGZhc3RfdXNiYApsYW5fZW5hYmxlPWBudiBnZXQgTGFuRW5hYmxlYAoKI0xhbkVuYWJsZc6qMsqxuvLDu9PQYnKjrLK70OjSqtC0YnJfbmFtZQppZiBbICIkbGFuX2VuYWJsZSIgIT0gIjIiIF07IHRoZW4KICAgIGVjaG8gJGxhbl9pZiA+IC9wcm9jL25ldC9icl9uYW1lCmZpCgplY2hvICRmYXN0X3VzYiA+IC9wcm9jL25ldC91c2JfbmFtZQoKZWNobyAiIiA+IC9ldGMvcmVzb2x2LmNvbmYKCiNicjC07r2oo6y8sMTazfhkaGNwCnNoICRwYXRoX3NoL2xhbi5zaAoKI72rv+zL2deqt6K8trHwtKu4+MTaussKZmFzdG5hdF9sZXZlbD1gbnYgZ2V0IGZhc3RuYXRfbGV2ZWxgCmVjaG8gIkluZm86IHNldCBmYXN0bmF0X2xldmVsOiAkZmFzdG5hdF9sZXZlbCIgPj4gJHRlc3RfbG9nCmVjaG8gJGZhc3RuYXRfbGV2ZWwgPiAvcHJvYy9uZXQvZmFzdG5hdF9sZXZlbAoKZmFzdGJyX2xldmVsPWBudiBnZXQgZmFzdGJyX2xldmVsYAplY2hvICJJbmZvOiBzZXQgZmFzdGJyX2xldmVsOiAkZmFzdGJyX2xldmVsIiA+PiAkdGVzdF9sb2cKZWNobyAkZmFzdGJyX2xldmVsID4gL3Byb2MvbmV0L2Zhc3Ricl9sZXZlbAoKI72rsrvWp7PWv+zL2deqt6K1xNCt0um2y7/ausW0q7j4xNq6ywpub2Zhc3RfcG9ydD1gbnYgZ2V0IG5vZmFzdF9wb3J0YAplY2hvICJJbmZvOiBzZXQgbm9mYXN0X3BvcnQ6ICRub2Zhc3RfcG9ydCIgPj4gJHRlc3RfbG9nCmVjaG8gJG5vZmFzdF9wb3J0ID4gL3Byb2MvbmV0L25vZmFzdF9wb3J0CgojvavKx7fxuPm+3VJBsajOxMXk1sPN+L/atcRtdHW0q7j4xNq6ywpyYV9tdHVfZW5hYmxlPWBudiBnZXQgcmFfbXR1X2VuYWJsZWAKZWNobyAiSW5mbzogc2V0IHJhX210dV9lbmFibGWjuiRyYV9tdHVfZW5hYmxlIiA+PiAkdGVzdF9sb2cKZWNobyAkcmFfbXR1X2VuYWJsZSA+IC9zeXMvbW9kdWxlL3BzbmV0X2lvL3BhcmFtZXRlcnMvcmFfbXR1X2VuYWJsZQoKI1NLQiBkZWJ1Z7+qudgKc2tiX2RlYnVnPWBudiBnZXQgc2tiX2RlYnVnYAplY2hvICJJbmZvOiBzZXQgc2tiX2RlYnVnOiAkc2tiX2RlYnVnIiA+PiAkdGVzdF9sb2cKaWYgWyAiLSRza2JfZGVidWciICE9ICItMSIgXTsgdGhlbgogICAgZWNobyAwID4gL3Byb2MvbmV0L3NrYl9kZWJ1Z19vZmYKZmkKCmtpbGxhbGwgLTkgbWluaXVwbnBkCnJtIC1yZiAkcGF0aF9jb25mL2luYWR5bi5zdGF0dXMKCiO8x8K8vfizzLG7us7W1tDFusVraWxsZWS19ApuZXRkb2cgLXMgZXhpdHNpZz0xCgojvOC/2MTaustza2LP4LnY0MXPorXE1+6089a1CiNzYWZlX3J1biBuZXRtb25pdG9yCgojvOC/2MTausu1xG5ldGxpbmvKwrz+tObOxLz+o6zWp7PWxNq6y9fUtqjS5crCvP6jrNLyu+HQtGZsYXNosOaxvsSsyM+52LHVCiNzYWZlX3J1biBldmVudF9wcm9jCg==