My40LjIyIChTZWxlY3RpdmUgU3RldmUpCjRjMmJhMjUwYTY4YTE1ZDdmYzM3MmU2NDljMzQ2ZmZjZTUyYjBkZDYKBAhvOhlTYXNzOjpUcmVlOjpSb290Tm9kZQw6DkBjaGlsZHJlblsHbzocU2Fzczo6VHJlZTo6Q29tbWVudE5vZGUMOgtAdmFsdWVbBkkiAaIvKiBDb252ZXJ0IHBpeGVscyB0byBlbXMKICogZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHgKICogaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNCkgKi8GOgZFVDoKQHR5cGU6C3NpbGVudDsGWwA6DkBmaWxlbmFtZTA6DUBvcHRpb25zewA6CkBsaW5laQY6EkBzb3VyY2VfcmFuZ2VvOhhTYXNzOjpTb3VyY2U6OlJhbmdlCToPQHN0YXJ0X3Bvc286G1Nhc3M6OlNvdXJjZTo6UG9zaXRpb24HOw5pBjoMQG9mZnNldGkGOg1AZW5kX3Bvc287Egc7DmkIOxNpQToKQGZpbGVJImUvaG9tZS9hcnRodXIvYXJpYS1zaXRlL2luY3ViYXRvci1hcmlhdG9zY2Etd2Vic2l0ZS9fc2Fzcy92ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MGOwlUOg5AaW1wb3J0ZXJvOiBTYXNzOjpJbXBvcnRlcnM6OkZpbGVzeXN0ZW0IOgpAcm9vdEkiPS9ob21lL2FydGh1ci9hcmlhLXNpdGUvaW5jdWJhdG9yLWFyaWF0b3NjYS13ZWJzaXRlL19zYXNzBjsJRjoPQHJlYWxfcm9vdEkiPS9ob21lL2FydGh1ci9hcmlhLXNpdGUvaW5jdWJhdG9yLWFyaWF0b3NjYS13ZWJzaXRlL19zYXNzBjsJVDoYQHNhbWVfbmFtZV93YXJuaW5nc286CFNldAY6CkBoYXNofQBGbzodU2Fzczo6VHJlZTo6RnVuY3Rpb25Ob2RlDjoKQG5hbWVJIgdlbQY7CVQ6CkBhcmdzWwdbB286IVNhc3M6OlNjcmlwdDo6VHJlZTo6VmFyaWFibGUMOx5JIgpweHZhbAY7CVQ6FkB1bmRlcnNjb3JlZF9uYW1lSSIKcHh2YWwGOwlUOhpAY3NzX3ZhcmlhYmxlX3dhcm5pbmcwOw5pCjsPbzsQCTsRbzsSBzsOaQo7E2kTOxRvOxIHOw5pCjsTaRk7FUAPOxZAEDsMQA87DUALMFsHbzsgDDseSSIJYmFzZQY7CVQ7IUkiCWJhc2UGOwlUOyIwOw5pCjsPbzsQCTsRbzsSBzsOaQo7E2kbOxRvOxIHOw5pCjsTaSA7FUAPOxZAEDsMQA87DUALbzsgDDseSSIMZW0tYmFzZQY7CVQ7IUkiDGVtX2Jhc2UGOwlUOyIwOw5pCjsPbzsQCTsRbzsSBzsOaQo7E2kiOxRvOxIHOw5pCjsTaSo7FUAPOxZAEDsMQA87DUALOgtAc3BsYXQwOwZbCHU6F1Nhc3M6OlRyZWU6OklmTm9kZQLhBAQIWwhvOidTYXNzOjpTY3JpcHQ6OlRyZWU6OlVuYXJ5T3BlcmF0aW9uDDoNQG9wZXJhbmRvOiBTYXNzOjpTY3JpcHQ6OlRyZWU6OkZ1bmNhbGwPOgpAbmFtZUkiDXVuaXRsZXNzBjoGRVQ6CkBhcmdzWwZvOiFTYXNzOjpTY3JpcHQ6OlRyZWU6OlZhcmlhYmxlDDsISSIKcHh2YWwGOwlUOhZAdW5kZXJzY29yZWRfbmFtZUkiCnB4dmFsBjsJVDoaQGNzc192YXJpYWJsZV93YXJuaW5nMDoKQGxpbmVpCzoSQHNvdXJjZV9yYW5nZW86GFNhc3M6OlNvdXJjZTo6UmFuZ2UJOg9Ac3RhcnRfcG9zbzobU2Fzczo6U291cmNlOjpQb3NpdGlvbgc7DmkLOgxAb2Zmc2V0aRk6DUBlbmRfcG9zbzsSBzsOaQs7E2kfOgpAZmlsZUkiZS9ob21lL2FydGh1ci9hcmlhLXNpdGUvaW5jdWJhdG9yLWFyaWF0b3NjYS13ZWJzaXRlL19zYXNzL3ZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcwY7CVQ6DkBpbXBvcnRlcm86IFNhc3M6OkltcG9ydGVyczo6RmlsZXN5c3RlbQg6CkByb290SSI9L2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MGOwlGOg9AcmVhbF9yb290SSI9L2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MGOwlUOhhAc2FtZV9uYW1lX3dhcm5pbmdzbzoIU2V0BjoKQGhhc2h9AEY6DkBmaWxlbmFtZUAQOg1Ab3B0aW9uc3sAOg5Aa2V5d29yZHNvOh5TYXNzOjpVdGlsOjpOb3JtYWxpemVkTWFwBzoRQGtleV9zdHJpbmdzewA6CUBtYXB7ADoLQHNwbGF0MDoRQGt3YXJnX3NwbGF0MDsNMDsOaQs7D287EAk7EW87Egc7DmkLOxNpEDsUbzsSBzsOaQs7E2kgOxVAEDsWQBE7HUAQOx5AFjoOQG9wZXJhdG9yOghub3Q7DTA7DmkLOw9vOxAJOxFvOxIHOw5pCzsTaRA7FG87Egc7DmkLOxNpIDsVQBA7FkAROx1AEDseQBYwWwZvOh1TYXNzOjpUcmVlOjpWYXJpYWJsZU5vZGUOOwhJIgpweHZhbAY7CVQ6CkBleHBybzsHDzsISSIQc3RyaXAtdW5pdHMGOwlUOwpbBm87Cww7CEkiCnB4dmFsBjsJVDsMSSIKcHh2YWwGOwlUOw0wOw5pDDsPbzsQCTsRbzsSBzsOaQw7E2kgOxRvOxIHOw5pDDsTaSY7FUAQOxZAETsdQBA7HkAWOx9vOyAHOyF7ADsiewA7IzA7JDA7DTA7DmkMOw9vOxAJOxFvOxIHOw5pDDsTaRQ7FG87Egc7DmkMOxNpJzsVQBA7FkAROx1AEDseQBY6DUBndWFyZGVkMDoMQGdsb2JhbDA6DkBjaGlsZHJlblsAOx0wOx5AFjsOaQw7D287EAk7EW87Egc7DmkMOxNpDTsUbzsSBzsOaQw7E2knOxVAEDsWQBF1OyQC3AQECFsIbzonU2Fzczo6U2NyaXB0OjpUcmVlOjpVbmFyeU9wZXJhdGlvbgw6DUBvcGVyYW5kbzogU2Fzczo6U2NyaXB0OjpUcmVlOjpGdW5jYWxsDzoKQG5hbWVJIg11bml0bGVzcwY6BkVUOgpAYXJnc1sGbzohU2Fzczo6U2NyaXB0OjpUcmVlOjpWYXJpYWJsZQw7CEkiCWJhc2UGOwlUOhZAdW5kZXJzY29yZWRfbmFtZUkiCWJhc2UGOwlUOhpAY3NzX3ZhcmlhYmxlX3dhcm5pbmcwOgpAbGluZWkOOhJAc291cmNlX3JhbmdlbzoYU2Fzczo6U291cmNlOjpSYW5nZQk6D0BzdGFydF9wb3NvOhtTYXNzOjpTb3VyY2U6OlBvc2l0aW9uBzsOaQ46DEBvZmZzZXRpGToNQGVuZF9wb3NvOxIHOw5pDjsTaR46CkBmaWxlSSJlL2hvbWUvYXJ0aHVyL2FyaWEtc2l0ZS9pbmN1YmF0b3ItYXJpYXRvc2NhLXdlYnNpdGUvX3Nhc3MvdmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzBjsJVDoOQGltcG9ydGVybzogU2Fzczo6SW1wb3J0ZXJzOjpGaWxlc3lzdGVtCDoKQHJvb3RJIj0vaG9tZS9hcnRodXIvYXJpYS1zaXRlL2luY3ViYXRvci1hcmlhdG9zY2Etd2Vic2l0ZS9fc2FzcwY7CUY6D0ByZWFsX3Jvb3RJIj0vaG9tZS9hcnRodXIvYXJpYS1zaXRlL2luY3ViYXRvci1hcmlhdG9zY2Etd2Vic2l0ZS9fc2FzcwY7CVQ6GEBzYW1lX25hbWVfd2FybmluZ3NvOghTZXQGOgpAaGFzaH0ARjoOQGZpbGVuYW1lQBA6DUBvcHRpb25zewA6DkBrZXl3b3Jkc286HlNhc3M6OlV0aWw6Ok5vcm1hbGl6ZWRNYXAHOhFAa2V5X3N0cmluZ3N7ADoJQG1hcHsAOgtAc3BsYXQwOhFAa3dhcmdfc3BsYXQwOw0wOw5pDjsPbzsQCTsRbzsSBzsOaQ47E2kQOxRvOxIHOw5pDjsTaR87FUAQOxZAETsdQBA7HkAWOg5Ab3BlcmF0b3I6CG5vdDsNMDsOaQ47D287EAk7EW87Egc7DmkOOxNpEDsUbzsSBzsOaQ47E2kfOxVAEDsWQBE7HUAQOx5AFjBbBm86HVNhc3M6OlRyZWU6OlZhcmlhYmxlTm9kZQ47CEkiCWJhc2UGOwlUOgpAZXhwcm87Bw87CEkiEHN0cmlwLXVuaXRzBjsJVDsKWwZvOwsMOwhJIgliYXNlBjsJVDsMSSIJYmFzZQY7CVQ7DTA7DmkPOw9vOxAJOxFvOxIHOw5pDzsTaR87FG87Egc7DmkPOxNpJDsVQBA7FkAROx1AEDseQBY7H287IAc7IXsAOyJ7ADsjMDskMDsNMDsOaQ87D287EAk7EW87Egc7DmkPOxNpEzsUbzsSBzsOaQ87E2klOxVAEDsWQBE7HUAQOx5AFjoNQGd1YXJkZWQwOgxAZ2xvYmFsMDoOQGNoaWxkcmVuWwA7HTA7HkAWOw5pDzsPbzsQCTsRbzsSBzsOaQ87E2kNOxRvOxIHOw5pDzsTaSU7FUAQOxZAEW86G1Nhc3M6OlRyZWU6OlJldHVybk5vZGULOgpAZXhwcm86IlNhc3M6OlNjcmlwdDo6VHJlZTo6T3BlcmF0aW9uDToOQG9wZXJhbmQxbzsnDTsobzsgDDseSSIKcHh2YWwGOwlUOyFJIgpweHZhbAY7CVQ7IjA7DmkROw9vOxAJOxFvOxIHOw5pETsTaRE7FG87Egc7DmkROxNpFzsVQA87FkAQOwxADzsNQAs6DkBvcGVyYW5kMm87IAw7HkkiCWJhc2UGOwlUOyFJIgliYXNlBjsJVDsiMDsOaRE7D287EAk7EW87Egc7DmkROxNpGjsUbzsSBzsOaRE7E2kfOxVADzsWQBA7DEAPOw1ACzoOQG9wZXJhdG9yOghkaXY7IjA7DmkROw9vOxAJOxFANjsUbzsSBzsOaRE7E2kfOxVADzsWQBA7DEAPOw1ACzspbzogU2Fzczo6U2NyaXB0OjpUcmVlOjpMaXRlcmFsCjsIbzogU2Fzczo6U2NyaXB0OjpWYWx1ZTo6TnVtYmVyCjsIaQY7DUALOhVAbnVtZXJhdG9yX3VuaXRzWwZJIgdlbQY7CVQ6F0BkZW5vbWluYXRvcl91bml0c1sAOg5Ab3JpZ2luYWxJIggxZW0GOwlUOyIwOw5pETsPbzsQCTsRbzsSBzsOaRE7E2kjOxRvOxIHOw5pETsTaSY7FUAPOxZAEDsMQA87KjoKdGltZXM7IjA7DmkROw9vOxAJOxFANjsUbzsSBzsOaRE7E2kmOxVADzsWQBA7DEAPOw1ACzsGWwA7DDA7DUALOw5pETsPbzsQCTsRbzsSBzsOaRE7E2kIOxRvOxIHOw5pETsTaSY7FUAPOxZAEDsMMDsNQAs7DmkKOw9vOxAJOxFvOxIHOw5pCjsTaQY7FG87Egc7DmkKOxNpLDsVQA87FkAQOhJAaGFzX2NoaWxkcmVuVDsMMDsNQAs6DkB0ZW1wbGF0ZUkiAnIBLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zCi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4Ci8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpCgpAZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHsKICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkgewogICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7CiAgfQogIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHsKICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTsKICB9CiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtOwp9CgY7CVQ7DmkGOw9vOxAJOxFvOxIHOw5pBjsTaQY7FG87Egc7DmkGOxNpBjsVQA87FkAQOzJU