ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfdGV4dF9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IGU2MWYxZTcuLmZkZTFiMTggMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3RleHRfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtNTIsNiArNTIsMjggQEAKICAgfQogfQogCisvLyBGb3IgdXNlIHdpdGggcm90YXRlZF90ZXh0XzkwLnBkZi4KK2ludCBHZXRSb3RhdGVkVGV4dDkwRmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudChpbnQgcXVhZHJhbnQpIHsKKyAgLy8gVW5saWtlIGhlbGxvX3dvcmxkLnBkZiwgcm90YXRlZF90ZXh0XzkwLnBkZiBoYXMgYW4gZXh0cmEgQ1JMRiBhZnRlcgorICAvLyAiSGVsbG8sIiBhbmQgYW4gZXh0cmEgc3BhY2UgYmVmb3JlICJHb29kYnllIi4KKyAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3Qga1N1YnN0cmluZ3NTaXplW10gPSB7CisgICAgICBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+OjpsZW5ndGgoIkhlbGxvLFxyXG4gIiksCisgICAgICBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+OjpsZW5ndGgoIndvcmxkIVxyXG4gIiksCisgICAgICBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+OjpsZW5ndGgoIkdvb2RieWUsICIpfTsKKyAgc3dpdGNoIChxdWFkcmFudCkgeworICAgIGNhc2UgMDoKKyAgICAgIHJldHVybiAwOworICAgIGNhc2UgMToKKyAgICAgIHJldHVybiBrU3Vic3RyaW5nc1NpemVbMF07CisgICAgY2FzZSAyOgorICAgICAgcmV0dXJuIGtTdWJzdHJpbmdzU2l6ZVswXSArIGtTdWJzdHJpbmdzU2l6ZVsxXTsKKyAgICBjYXNlIDM6CisgICAgICByZXR1cm4ga1N1YnN0cmluZ3NTaXplWzBdICsga1N1YnN0cmluZ3NTaXplWzFdICsga1N1YnN0cmluZ3NTaXplWzJdOworICAgIGRlZmF1bHQ6CisgICAgICBOT1RSRUFDSEVEKCk7CisgIH0KK30KKwogfSAgLy8gbmFtZXNwYWNlCiAKIGNsYXNzIEZQREZUZXh0RW1iZWRkZXJUZXN0IDogcHVibGljIEVtYmVkZGVyVGVzdCB7fTsKQEAgLTE3NjIsNiArMTc4NCwxNDYgQEAKICAgRVhQRUNUX05FQVIoa0V4cGVjdGVkTG9vc2VDaGFySGVpZ2h0LCByZWN0LnRvcCAtIHJlY3QuYm90dG9tLCAwLjAwMDAxKTsKIH0KIAorVEVTVF9GKEZQREZUZXh0RW1iZWRkZXJUZXN0LCBDaGFyQm94Rm9yUm90YXRlZDQ1RGVncmVlc1RleHQpIHsKKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJyb3RhdGVkX3RleHQucGRmIikpOworICBTY29wZWRFbWJlZGRlclRlc3RQYWdlIHBhZ2UgPSBMb2FkU2NvcGVkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgU2NvcGVkRlBERlRleHRQYWdlIHRleHRfcGFnZShGUERGVGV4dF9Mb2FkUGFnZShwYWdlLmdldCgpKSk7CisgIEFTU0VSVF9UUlVFKHRleHRfcGFnZSk7CisKKyAgLy8gU2FuaXR5IGNoZWNrIHRoZSBjaGFyYWN0ZXJzLgorICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCdIJyksCisgICAgICAgICAgICBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDApKSk7CisgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzJfdD4oJ3cnKSwKKyAgICAgICAgICAgIEZQREZUZXh0X0dldFVuaWNvZGUodGV4dF9wYWdlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRSb3RhdGVkVGV4dEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMSkpKTsKKyAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMl90PignRycpLAorICAgICAgICAgICAgRlBERlRleHRfR2V0VW5pY29kZSh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJvdGF0ZWRUZXh0Rmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudCgyKSkpOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCd3JyksCisgICAgICAgICAgICBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDMpKSk7CisKKyAgLy8gQ2hlY2sgdGhlIGNoYXJhY3RlciBib3ggc2l6ZS4KKyAgZG91YmxlIGxlZnQ7CisgIGRvdWJsZSByaWdodDsKKyAgZG91YmxlIGJvdHRvbTsKKyAgZG91YmxlIHRvcDsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoMTEuMTkyLCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTEuMTkyLCB0b3AgLSBib3R0b20sIDAuMDAxKTsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoMTAuMDU1LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTAuMDU1LCB0b3AgLSBib3R0b20sIDAuMDAxKTsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoMTEuMjA5LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTEuMjA5LCB0b3AgLSBib3R0b20sIDAuMDAxKTsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoMTAuMDU1LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTAuMDU1LCB0b3AgLSBib3R0b20sIDAuMDAxKTsKKworICAvLyBDaGVjayB0aGUgbG9vc2UgY2hhcmFjdGVyIGJveCBzaXplLgorICAvLyBUT0RPKGNyYnVnLmNvbS80MjI3MDY0Mik6IFNpemVzIHNob3VsZCBiZSBiaWdnZXIgdGhhbiB0aGUKKyAgLy8gRlBERlRleHRfR2V0Q2hhckJveCgpIHNpemVzLCBhbmQgY2VydGFpbmx5IG5vdCBuZWdhdGl2ZS4KKyAgRlNfUkVDVEYgcmVjdDsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0TG9vc2VDaGFyQm94KAorICAgICAgdGV4dF9wYWdlLmdldCgpLCBHZXRSb3RhdGVkVGV4dEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMCksICZyZWN0KSk7CisgIEVYUEVDVF9ORUFSKDYuMTI2ZiwgcmVjdC5yaWdodCAtIHJlY3QubGVmdCwgMC4wMDFmKTsKKyAgRVhQRUNUX05FQVIoOC40ODVmLCByZWN0LnRvcCAtIHJlY3QuYm90dG9tLCAwLjAwMWYpOworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goCisgICAgICB0ZXh0X3BhZ2UuZ2V0KCksIEdldFJvdGF0ZWRUZXh0Rmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudCgxKSwgJnJlY3QpKTsKKyAgRVhQRUNUX05FQVIoLTYuMTI2ZiwgcmVjdC5yaWdodCAtIHJlY3QubGVmdCwgMC4wMDFmKTsKKyAgRVhQRUNUX05FQVIoLTguNDg1ZiwgcmVjdC50b3AgLSByZWN0LmJvdHRvbSwgMC4wMDFmKTsKKyAgQVNTRVJUX1RSVUUoRlBERlRleHRfR2V0TG9vc2VDaGFyQm94KAorICAgICAgdGV4dF9wYWdlLmdldCgpLCBHZXRSb3RhdGVkVGV4dEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMiksICZyZWN0KSk7CisgIEVYUEVDVF9ORUFSKC02LjEyNmYsIHJlY3QucmlnaHQgLSByZWN0LmxlZnQsIDAuMDAxZik7CisgIEVYUEVDVF9ORUFSKC04LjQ4NWYsIHJlY3QudG9wIC0gcmVjdC5ib3R0b20sIDAuMDAxZik7CisgIEFTU0VSVF9UUlVFKEZQREZUZXh0X0dldExvb3NlQ2hhckJveCgKKyAgICAgIHRleHRfcGFnZS5nZXQoKSwgR2V0Um90YXRlZFRleHRGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDMpLCAmcmVjdCkpOworICBFWFBFQ1RfTkVBUig2LjEyNmYsIHJlY3QucmlnaHQgLSByZWN0LmxlZnQsIDAuMDAxZik7CisgIEVYUEVDVF9ORUFSKDguNDg1ZiwgcmVjdC50b3AgLSByZWN0LmJvdHRvbSwgMC4wMDFmKTsKK30KKworVEVTVF9GKEZQREZUZXh0RW1iZWRkZXJUZXN0LCBDaGFyQm94Rm9yUm90YXRlZDkwRGVncmVlc1RleHQpIHsKKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJyb3RhdGVkX3RleHRfOTAucGRmIikpOworICBTY29wZWRFbWJlZGRlclRlc3RQYWdlIHBhZ2UgPSBMb2FkU2NvcGVkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgU2NvcGVkRlBERlRleHRQYWdlIHRleHRfcGFnZShGUERGVGV4dF9Mb2FkUGFnZShwYWdlLmdldCgpKSk7CisgIEFTU0VSVF9UUlVFKHRleHRfcGFnZSk7CisKKyAgLy8gU2FuaXR5IGNoZWNrIHRoZSBjaGFyYWN0ZXJzLgorICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCdIJyksCisgICAgICAgICAgICBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHQ5MEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMCkpKTsKKyAgRVhQRUNUX0VRKHN0YXRpY19jYXN0PHVpbnQzMl90PigndycpLAorICAgICAgICAgICAgRlBERlRleHRfR2V0VW5pY29kZSh0ZXh0X3BhZ2UuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDEpKSk7CisgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1aW50MzJfdD4oJ0cnKSwKKyAgICAgICAgICAgIEZQREZUZXh0X0dldFVuaWNvZGUodGV4dF9wYWdlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRSb3RhdGVkVGV4dDkwRmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudCgyKSkpOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCd3JyksCisgICAgICAgICAgICBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0Um90YXRlZFRleHQ5MEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMykpKTsKKworICAvLyBDaGVjayB0aGUgY2hhcmFjdGVyIGJveCBzaXplLgorICBkb3VibGUgbGVmdDsKKyAgZG91YmxlIHJpZ2h0OworICBkb3VibGUgYm90dG9tOworICBkb3VibGUgdG9wOworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRDaGFyQm94KHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRSb3RhdGVkVGV4dDkwRmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudCgwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbGVmdCwgJnJpZ2h0LCAmYm90dG9tLCAmdG9wKSk7CisgIEVYUEVDVF9ORUFSKDcuOTY4LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoNy44NiwgdG9wIC0gYm90dG9tLCAwLjAwMSk7CisgIEFTU0VSVF9UUlVFKEZQREZUZXh0X0dldENoYXJCb3godGV4dF9wYWdlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoNS42MTYsIHJpZ2h0IC0gbGVmdCwgMC4wMDEpOworICBFWFBFQ1RfTkVBUig4LjYwNCwgdG9wIC0gYm90dG9tLCAwLjAwMSk7CisgIEFTU0VSVF9UUlVFKEZQREZUZXh0X0dldENoYXJCb3godGV4dF9wYWdlLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoNy44LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoOC4wNTIsIHRvcCAtIGJvdHRvbSwgMC4wMDEpOworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRDaGFyQm94KHRleHRfcGFnZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRSb3RhdGVkVGV4dDkwRmlyc3RDaGFySW5kZXhGb3JRdWFkcmFudCgzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbGVmdCwgJnJpZ2h0LCAmYm90dG9tLCAmdG9wKSk7CisgIEVYUEVDVF9ORUFSKDUuNjE2LCByaWdodCAtIGxlZnQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoOC42MDQsIHRvcCAtIGJvdHRvbSwgMC4wMDEpOworCisgIC8vIENoZWNrIHRoZSBsb29zZSBjaGFyYWN0ZXIgYm94IHNpemUuCisgIC8vIFRPRE8oY3JidWcuY29tLzQyMjcwNjQyKTogU2l6ZXMgc2hvdWxkIGJlIGJpZ2dlciB0aGFuIHRoZQorICAvLyBGUERGVGV4dF9HZXRDaGFyQm94KCkgc2l6ZXMsIGFuZCBjZXJ0YWlubHkgbm90IG5lZ2F0aXZlIG5vciB6ZXJvLgorICBGU19SRUNURiByZWN0OworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goCisgICAgICB0ZXh0X3BhZ2UuZ2V0KCksIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDApLCAmcmVjdCkpOworICBFWFBFQ1RfTkVBUig4LjY2NGYsIHJlY3QucmlnaHQgLSByZWN0LmxlZnQsIDAuMDAxZik7CisgIEVYUEVDVF9ORUFSKDEyLjBmLCByZWN0LnRvcCAtIHJlY3QuYm90dG9tLCAwLjAwMWYpOworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goCisgICAgICB0ZXh0X3BhZ2UuZ2V0KCksIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDEpLCAmcmVjdCkpOworICBFWFBFQ1RfTkVBUigwLjBmLCByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LCAwLjAwMWYpOworICBFWFBFQ1RfTkVBUigwLjBmLCByZWN0LnRvcCAtIHJlY3QuYm90dG9tLCAwLjAwMWYpOworICBBU1NFUlRfVFJVRShGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goCisgICAgICB0ZXh0X3BhZ2UuZ2V0KCksIEdldFJvdGF0ZWRUZXh0OTBGaXJzdENoYXJJbmRleEZvclF1YWRyYW50KDIpLCAmcmVjdCkpOworICBFWFBFQ1RfTkVBUigtOC42NjRmLCByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LCAwLjAwMWYpOworICBFWFBFQ1RfTkVBUigtMTIuMGYsIHJlY3QudG9wIC0gcmVjdC5ib3R0b20sIDAuMDAxZik7CisgIEFTU0VSVF9UUlVFKEZQREZUZXh0X0dldExvb3NlQ2hhckJveCgKKyAgICAgIHRleHRfcGFnZS5nZXQoKSwgR2V0Um90YXRlZFRleHQ5MEZpcnN0Q2hhckluZGV4Rm9yUXVhZHJhbnQoMyksICZyZWN0KSk7CisgIEVYUEVDVF9ORUFSKDAuMGYsIHJlY3QucmlnaHQgLSByZWN0LmxlZnQsIDAuMDAxZik7CisgIEVYUEVDVF9ORUFSKDAuMGYsIHJlY3QudG9wIC0gcmVjdC5ib3R0b20sIDAuMDAxZik7Cit9CisKIFRFU1RfRihGUERGVGV4dEVtYmVkZGVyVGVzdCwgU21hbGxUeXBlM0dseXBoKSB7CiAgIEFTU0VSVF9UUlVFKE9wZW5Eb2N1bWVudCgiYnVnXzE1OTEucGRmIikpOwogICBTY29wZWRFbWJlZGRlclRlc3RQYWdlIHBhZ2UgPSBMb2FkU2NvcGVkUGFnZSgwKTsKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL3JvdGF0ZWRfdGV4dF85MC5pbiBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JvdGF0ZWRfdGV4dF85MC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGU3Mzk0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvcm90YXRlZF90ZXh0XzkwLmluCkBAIC0wLDAgKzEsNTggQEAKK3t7aGVhZGVyfX0KK3t7b2JqZWN0IDEgMH19IDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbMCAwIDIwMCAyMDBdCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDMgMH19IDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL1Jlc291cmNlcyA8PAorICAgIC9Gb250IDw8CisgICAgICAvRjEgNCAwIFIKKyAgICA+PgorICA+PgorICAvQ29udGVudHMgNSAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDQgMH19IDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCis+PgorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCitCVAorMCAwIFRkCisvRjEgMTIgVGYKKzEgMCAwIDEgMTAwIDEwMCBUbQorKEhlbGxvLCkgVGoKKzAgMCBUZAorL0YxIDEyIFRmCiswIDEgLTEgMCAxMDAgMTAwIFRtCisoIHdvcmxkIVxyXG4pIFRqCiswIDAgVGQKKy9GMSAxMiBUZgorLTEgMCAwIC0xIDEwMCAxMDAgVG0KKyhHb29kYnllLCkgVGoKKzAgMCBUZAorL0YxIDEyIFRmCiswIC0xIDEgMCAxMDAgMTAwIFRtCisoIHdvcmxkISkgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagore3t4cmVmfX0KK3t7dHJhaWxlcn19Cit7e3N0YXJ0eHJlZn19CislJUVPRgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvcm90YXRlZF90ZXh0XzkwLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JvdGF0ZWRfdGV4dF85MC5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNhMzE2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JvdGF0ZWRfdGV4dF85MC5wZGYKQEAgLTAsMCArMSw3MCBAQAorJVBERi0xLjcKKyWg8qT0CisxIDAgb2JqIDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagorMiAwIG9iaiA8PAorICAvVHlwZSAvUGFnZXMKKyAgL01lZGlhQm94IFswIDAgMjAwIDIwMF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvRm9udCA8PAorICAgICAgL0YxIDQgMCBSCisgICAgPj4KKyAgPj4KKyAgL0NvbnRlbnRzIDUgMCBSCis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCis+PgorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9MZW5ndGggMjEwCis+Pgorc3RyZWFtCitCVAorMCAwIFRkCisvRjEgMTIgVGYKKzEgMCAwIDEgMTAwIDEwMCBUbQorKEhlbGxvLCkgVGoKKzAgMCBUZAorL0YxIDEyIFRmCiswIDEgLTEgMCAxMDAgMTAwIFRtCisoIHdvcmxkIVxyXG4pIFRqCiswIDAgVGQKKy9GMSAxMiBUZgorLTEgMCAwIC0xIDEwMCAxMDAgVG0KKyhHb29kYnllLCkgVGoKKzAgMCBUZAorL0YxIDEyIFRmCiswIC0xIDEgMCAxMDAgMTAwIFRtCisoIHdvcmxkISkgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagoreHJlZgorMCA2CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTU3IDAwMDAwIG4gCiswMDAwMDAwMjgzIDAwMDAwIG4gCiswMDAwMDAwMzYxIDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDYKKz4+CitzdGFydHhyZWYKKzYyMworJSVFT0YK