IyBtZXNzYWdlc19lcy5wcm9wZXJ0aWVzCiMKIyAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgojICogQ29weXJpZ2h0IChjKSAyMDA2IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgojICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwojICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAojICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKIyAqCiMgKiBDb250cmlidXRvcnM6CiMgKiAgICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCkNvbW1vbi5BSVRPRkY9QWl0b2ZmCkNvbW1vbi5TQU5TT05fRkxBTVNURUVEPVNhbnNvbi1GbGFtc3RlZWQKQ29tbW9uLkNob29zZV9Qcm9qZWN0aW9uPTwgU2VsZWNjaW9uYXIgTel0b2RvIGRlIFByb3llY2Np824gPgoKIyBTdGVtIFBvbHlnb24KIyBOb3RoaW5nLCBhbGwgY29tbW9uCgojIEludGVybmFsIE1hcCBWaWV3CklNVmlldy5DaG9vc2VfUHJvcGVydHk9PCBTZWxlY2Npb25hciBBdHJpYnV0byA+CklNVmlldy5DaG9vc2VfRGVjb3JhdG9yPTwgU2VsZWNjaW9uYXIgRGVjb3JhZG9yID4KSU1WaWV3LkdhaW5fRmFjdG9yPTwgRmFjdG9yIGRlIEdhbmFuY2lhID4gCgpJTVZpZXcuUG9seWdvbl9Cb3JkZXJzPU1vc3RyYXIgQm9yZGVzIGRlIFBvbO1nb25vcwpJTVZpZXcuUG9seWdvbl9DZW50ZXJzPUNvbmVjdGFyIENlbnRyb3MgZGUgUG9s7Wdvbm9zCgpJTVZpZXcuTG9ncml0aG1pY19TY2FsaW5nPUVzY2FsYSBMb2dhcu10bWljYQpJTVZpZXcuT05FX1RIT1VTQU5EPTAuMDAxCklNVmlldy5PTkVfSFVORFJFRFRIPTAuMDEKSU1WaWV3Lk9ORV9URU5USD0wLjEKSU1WaWV3Lk9ORT0xCklNVmlldy5URU49MTAKSU1WaWV3Lk9ORV9IVU5EUkVEPTEwMApJTVZpZXcuT05FX1RIT1VTQU5EPTEwMDAKCklNVmlldy5GR0NvbG9yPUNvbG9yIGRlIFByaW1lciBQbGFubwpJTVZpZXcuQkdDb2xvcj1Db2xvciBkZSBGb25kbwoKSU1WaWV3LlByb1Byb3A9QXRyaWJ1dG9zIGRlIFByb3llY2Np824KSU1WaWV3LkdQcm9wPUF0cmlidXRvcyBHZW5lcmFsZXMKSU1WaWV3LlBQcm9wPUF0cmlidXRvcyBkZSBQb2ztZ29ub3MKSU1WaWV3Lk1Qcm9wPUF0cmlidXRvcyBkZSBNb2RlbG9zCgoKSU1WaWV3LkNlbnRlcl9NYXA9TW9zdHJhciBDZW50cm8KCg==