ZGlmZiAtLWdpdCBhL2FwL2FwcC9pbmNsdWRlL3NvZnRfdGltZXIuaCBiL2FwL2FwcC9pbmNsdWRlL3NvZnRfdGltZXIuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NDdlM2IzCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYXBwL2luY2x1ZGUvc29mdF90aW1lci5oCkBAIC0wLDAgKzEsMTY5IEBACisvKioKKyAqIEBmaWxlIHNvZnRfdGltZXIuaAorICogQGJyaWVmIMjttqjKscb3zbfOxLz+CisgKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFNhbmVjaGlwcyBUZWNobm9sb2d5IENvLiwgTHRkLgorICoKKyAqLworCisjaWZuZGVmIF9TT0ZUX1RJTUVSX0hfCisjZGVmaW5lIF9TT0ZUX1RJTUVSX0hfCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY2x1ZGUgaGVhZGVyIGZpbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2luY2x1ZGUgIm1lc3NhZ2UuaCIKKyNpbmNsdWRlICJvc190eXBlX2RlZi5oIgorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm8gZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKgorICogQGJyaWVmIMjtvP62qMqxxve1xNfutPO49sr9CisgKi8KKyNkZWZpbmUgTUFYX1NPRlRfVElNRVJfTlVNIDMyCisKKy8qKgorICogQGJyaWVmILaoyrHG98Dg0M2x6ta+zrt1Y0ZsYWe1xLrqLLTLtqjKscb31ru0pbei0ru0zgorICovCisjZGVmaW5lIFRJTUVSX0ZMQUdfT05DRSAgMAorCisvKioKKyAqIEBicmllZiC2qMqxxvfA4NDNserWvs67dWNGbGFntcS66iy0y7aoyrHG97PW0PjT0NCnCisgKi8KKyNkZWZpbmUgVElNRVJfRkxBR19SRVNUQVJUIDEKKworLyoqCisgKiBAYnJpZWYgyO28/raoyrHG97TtzvPC67ao0uWjrLvYtfe6r8r9zqq/1QorICovCisjZGVmaW5lIFNPRlRUSU1FUl9FUlJDT0RFX0NBTExCQUNLX05VTEwgMQorCisvKioKKyAqIEBicmllZiDI7bz+tqjKscb3tO3O88LrtqjS5aOss/XKvLuvyqew3AorICovCisjZGVmaW5lIFNPRlRUSU1FUl9FUlJDT0RFX0lOSVRfRkFJTCAJMgorCisvKioKKyAqIEBicmllZiDI7bz+tqjKscb3tO3O88LrtqjS5aOstLS9qLXEyO22qMqxxvezrLn91+6087j2yv0KKyAqLworI2RlZmluZSBTT0ZUVElNRVJfRVJSQ09ERV9RVUVVRV9GVUxMIAkzCisKKy8qKgorICogQGJyaWVmIMjtvP62qMqxxve07c7zwuu2qNLlo6y0tL2otcTI7baoyrHG92lk0tG+rbTm1NoKKyAqLworI2RlZmluZSBTT0ZUVElNRVJfRVJSQ09ERV9USU1FUklEX0VYSVNUIDQKKworCisjaWZuZGVmIERPWFlHRU5fU0hPVUxEX1NLSVBfVEhJUworCisvKioKKyAqIEBicmllZiDTsrz+tqjKscb3tcSyvbOko6wxMG1zCisgKi8KKyNkZWZpbmUgVElNRVJfU1RFUCAxMAorCisvKmlmIHRoZSB0aHJlYWQgb2Ygc29mdCB0aW1lciBpcyBleGlzdCwgMCBtZWFucyBub3QgZXhpc3QqLworI2RlZmluZSAgIFNPRlRfVElNRVJfVEhSRUFEX05VTEwgIDAKKyNkZWZpbmUgICBTT0ZUX1RJTUVSX1RIUkVBRF9FWElTVCAgMQorCisjZW5kaWYvLyNpZm5kZWYgRE9YWUdFTl9TSE9VTERfU0tJUF9USElTCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlIGRlZmluaXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBET1hZR0VOX1NIT1VMRF9TS0lQX1RISVMKKworLyq2qNLlyO28/raoyrHG97XEyv2+3b3hubkqLwordHlwZWRlZiBzdHJ1Y3QgdGFnU09GVF9USU1FUiB7CisJc3RydWN0IHRhZ1NPRlRfVElNRVIgKnByZXY7CisJc3RydWN0IHRhZ1NPRlRfVElNRVIgKm5leHQ7CisJaW50IHVzZWQ7CisJaW50IGRvbmU7CisJaW50IHRpbWVyVmFsdWU7CisKKwlVU0hPUlQgdXNUaW1lcklEOyAgICAgIC8qtqjKscb3SUQs08PAtMf4t9ayu82stcTI7bz+tqjKscb3LCAwserKtiovCisJVUNIQVIgIHVjRmxhZzsgICAgICAgICAvKraoyrHG98Dg0M2x6ta+zrsqLworCVVDSEFSICB1Y1Jlc2VydmVkOyAgICAgLyqxo8H019a2ziovCisJVUxPTkcgIHVsQ3VySW50ZXJ2YWw7ICAgLyq1scewtqjKscb3s6zKscqj0+DKsbzko6y1pc67ILrBw+so16LS4rK7ysfOosPrKaOssdjQ67ao0uXOqtOyvP62qMqxxveyvbOktcSxtsr9Ki8KKwlVTE9ORyAgdWxOZXh0SW50ZXJ2YWw7ICAvKrOsyrG687aoyrHG99bY1sO1xLzkuPSjrLWlzrsgusHD6yjXotLisrvKx86iw+spKi8KKwl2b2lkICogKCpwcm9jQ2FsbEJhY2spKHZvaWQgKik7IC8qtqjS5baoyrHG97OsyrG687XEu9i197SmwO26r8r91rjV6yovCisJdm9pZCAgICphcmdzOyAgICAgICAgICAgICAgICAvKrao0uW2qMqxxvezrMqxuvO1xLvYtfe0psDtuq/K/bXEss7K/SovCit9IFNPRlRfVElNRVI7CisKK3R5cGVkZWYgc3RydWN0IHRhZ01TR19USU1FUkJVRiB7CisJTE9ORyAgIGxNc2dUeXBlOyAgICAgICAgLyrP+8+iwODQzaOs1eK49srH08PAtL/Y1sbP+8+iytXIobXE08XPyMuz0PK1xCovCisJVVNIT1JUIHVzTXNnQ21kOyAgICAgICAgLyrP+8+iwuujrNXiuPbKx9PDwLTWuMq+z/vPorXExNrI3crHyrLDtLXEKi8KKwlVU0hPUlQgdXNEYXRhTGVuOyAgICAgICAvKtCvtPi1xNPQ0KfK/b7ds6S2yCovCisJVUNIQVIgIGF1Y0RhdGFCdWZbNF07ICAgLyrQr7T4tcTT0NCnyv2+3WJ1ZmZlciy05rfFtqjKscb3aW5kZXgqLworCVVMT05HICB1bE1hZ2ljOyAgICAgICAgIC8qxKfK9dfWo6zV/bOjx+m/9s/C1rXOqk1TR19NQUdJQ19XT1JEKi8KK30gVF9USU1FUl9NU0dfQlVGOworCisjZW5kaWYvLyNpZm5kZWYgRE9YWUdFTl9TSE9VTERfU0tJUF9USElTCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgR2xvYmFsIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgIEdsb2JhbCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAqIEBicmllZiC0tL2oyO22qMqxxve907/aCisgKiBAcGFyYW0gdXNUaW1lcklEICAgICAgyOuyzqOsyO22qMqxxvdpZKOs08PAtMf4t9ayu82stcTI7bz+tqjKscb3CisgKiBAcGFyYW0gdWNGbGFnICAgICAgICAgyOuyzqOstqjKscb3wODQzbHq1r7OuworICogQHBhcmFtIHVsSW50ZXJ2YWwgICAgIMjrss6jrMjttqjKscb3s6zKscqxvOS85Lj0o6y1pc67o7ptcworICogQHBhcmFtIHByb2NDYWxsQmFjayAgIMjrss6jrLaoyrHG97OsyrG687XEu9i197qvyv3WuNXrCisgKiBAcGFyYW0gYXJncyAgICAgICAgICAgyOuyzqOstqjKscb3s6zKsbrztcS72LX3uq/K/bLOyv0KKyAqIEByZXR1cm4gT0sgs8m5pqOsxuTL+9a1yqew3AorICogQHJldHZhbCBPSyAgs8m5pgorICogQHJldHZhbCBTT0ZUVElNRVJfRVJSQ09ERV9DQUxMQkFDS19OVUxMICDI7baoyrHG97XEu9i197qvyv212Na3zqq/1QorICogQHJldHZhbCBTT0ZUVElNRVJfRVJSQ09ERV9JTklUX0ZBSUwgICAgICDI7baoyrHG97P1yry7r8qnsNwKKyAqIEByZXR2YWwgU09GVFRJTUVSX0VSUkNPREVfUVVFVUVfRlVMTCAgICAgtLS9qLXEyO22qMqxxvezrLn91+6087j2yv3P3tbGCisgKiBAcmV0dmFsIFNPRlRUSU1FUl9FUlJDT0RFX1RJTUVSSURfRVhJU1QgILjDyO22qMqxxvdpZNLRvq205tTaCisgKiBAbm90ZQorICogQHdhcm5pbmcKKyAqLworTE9ORyBzY190aW1lcl9jcmVhdGUoVVNIT1JUIHVzVGltZXJJRCwKKyAgICAgICAgICAgICAgICAgICAgIFVDSEFSIHVjRmxhZywKKyAgICAgICAgICAgICAgICAgICAgIFVMT05HIHVsSW50ZXJ2YWwsCisgICAgICAgICAgICAgICAgICAgICB2b2lkICogKCpwcm9jQ2FsbEJhY2spKHZvaWQgKiksCisgICAgICAgICAgICAgICAgICAgICB2b2lkICphcmdzKTsKKworLyoqCisgKiBAYnJpZWYgyb6z/cjttqjKscb3vdO/2gorICogQHBhcmFtIHVzVGltZXJJRCAgIMjrss6jrNKqyb6z/bXEyO22qMqxxvdpZAorICogQHJldHVybiBPS6O6s8m5pqOsRVJST1KjusqnsNwKKyAqIEByZXR2YWwgT0sgILPJuaYKKyAqIEByZXR2YWwgRVJST1IgIMqnsNwKKyAqIEBub3RlCisgKiBAd2FybmluZworICovCitMT05HIHNjX3RpbWVyX2RlbGV0ZShVU0hPUlQgdXNUaW1lcklEKTsKKworI2lmbmRlZiBMSUJTT0ZUX1RJTUVSX0FQSV9ORVcKK0xPTkcgQ3JlYXRlU29mdFRpbWVyKFVTSE9SVCB1c1RpbWVySUQsCisgICAgICAgICAgICAgICAgICAgICBVQ0hBUiB1Y0ZsYWcsCisgICAgICAgICAgICAgICAgICAgICBVTE9ORyB1bEludGVydmFsLAorICAgICAgICAgICAgICAgICAgICAgdm9pZCAqICgqcHJvY0NhbGxCYWNrKSh2b2lkICopLAorICAgICAgICAgICAgICAgICAgICAgdm9pZCAqYXJncyk7CitMT05HIERlbGV0ZVNvZnRUaW1lcihVU0hPUlQgdXNUaW1lcklEKTsKKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgSW5saW5lIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworCisjZW5kaWYgIC8vICNpZm5kZWYgX1NPRlRfVElNRVJfSF8KKwo=