From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH libdrm] amdgpu: Add explicit dependency test. Date: Thu, 30 Nov 2017 14:06:00 +0100 Message-ID: <5f4c77a5-571c-2c79-c4f3-291e0d99a190@gmail.com> References: <1511883178-3128-1-git-send-email-andrey.grodzovsky@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1511883178-3128-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Andrey Grodzovsky , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org QW0gMjguMTEuMjAxNyB1bSAxNjozMiBzY2hyaWViIEFuZHJleSBHcm9kem92c2t5Ogo+IFRoZSB0 ZXN0IGlzIGFzIGZvbGxvd2luZzoKPgo+IDEpIENyZWF0ZSBjb250ZXh0IEEgJiBCCj4gMikgU2Vu ZCBhIGNvbW1hbmQgc3VibWlzc2lvbiB1c2luZyBjb250ZXh0IEEgd2hpY2ggZmlyZXMgdXAgYSBj b21wdXRlIHNoYWRlci4KPiAzKSBUaGUgc2hhZGVyIHdhaXQgYSBiaXQgYW5kIHRoZW4gd3JpdGUg YSB2YWx1ZSB0byBhIG1lbW9yeSBsb2NhdGlvbi4KPiA0KSBTZW5kIGEgY29tbWFuZCBzdWJtaXNz aW9uIHVzaW5nIGNvbnRleHQgQiB3aGljaCB3cml0ZXMgYW5vdGhlciB2YWx1ZSB0byB0aGUgc2Ft ZSBtZW1vcnkgbG9jYXRpb24sIGJ1dCBoYXZpbmcgYW4gZXhwbGljaXQgZGVwZW5kZW5jeSBvbiB0 aGUgZmlyc3QgY29tbWFuZCBzdWJtaXNzaW9uLgo+IDUpIFdhaXQgd2l0aCB0aGUgQ1BVIGZvciBi b3RoIHN1Ym1pc3Npb25zIHRvIGZpbmlzaCBhbmQgaW5zcGVjdCB0aGUgd3JpdHRlbiB2YWx1ZS4K Pgo+IFRlc3QgcGFzc2VzIGlmIHRoZSB2YWx1ZSBzZWVuIGluIHRoZSBtZW1vcnkgbG9jYXRpb24g YWZ0ZXIgYm90aCBzdWJtaXNzaW9ucyBpcyBmcm9tIGNvbW1hbmQgQi4KPgo+IFNpZ25lZC1vZmYt Ynk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPgoKV291bGQg cHJvYmFibHkgYmUgbmljZSB0byBhZGQgdGhpcyB0byB0aGUgZGVhZGxvY2suYyB0ZXN0cyBpbnN0 ZWFkIG9mIAp0aGUgYmFzaWNfdGVzdHMuYywgYnV0IEkgdGhpbmsgdGhhdCB3b24ndCB3b3JrIGJl Y2F1c2Ugb2YgdGhlIFBNNCAKZGVmaW5lcyBuZWVkZWQuCgpBbnl3YXkgcGF0Y2ggaXMgQWNrZWQt Ynk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KClJlZ2FyZHMs CkNocmlzdGlhbi4KCj4gLS0tCj4gICB0ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYyB8ICAxOCAr KysrCj4gICB0ZXN0cy9hbWRncHUvYmFzaWNfdGVzdHMuYyB8IDI2NCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDIgZmlsZXMgY2hhbmdlZCwgMjgyIGlu c2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYyBi L3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5jCj4gaW5kZXggNTBkYTE3Yy4uOGZhMzM5OSAxMDA2 NDQKPiAtLS0gYS90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYwo+ICsrKyBiL3Rlc3RzL2FtZGdw dS9hbWRncHVfdGVzdC5jCj4gQEAgLTQ5LDYgKzQ5LDcgQEAKPiAgICNpbmNsdWRlICJDVW5pdC9C YXNpYy5oIgo+ICAgCj4gICAjaW5jbHVkZSAiYW1kZ3B1X3Rlc3QuaCIKPiArI2luY2x1ZGUgImFt ZGdwdV9pbnRlcm5hbC5oIgo+ICAgCj4gICAvKiBUZXN0IHN1aXQgbmFtZXMgKi8KPiAgICNkZWZp bmUgQkFTSUNfVEVTVFNfU1RSICJCYXNpYyBUZXN0cyIKPiBAQCAtNDAxLDkgKzQwMiwyMCBAQCBz dGF0aWMgaW50IGFtZGdwdV9maW5kX2RldmljZSh1aW50OF90IGJ1cywgdWludDE2X3QgZGV2KQo+ ICAgCj4gICBzdGF0aWMgdm9pZCBhbWRncHVfZGlzYWJsZV9zdWl0cygpCj4gICB7Cj4gKwlhbWRn cHVfZGV2aWNlX2hhbmRsZSBkZXZpY2VfaGFuZGxlOwo+ICsJdWludDMyX3QgbWFqb3JfdmVyc2lv biwgbWlub3JfdmVyc2lvbiwgZmFtaWx5X2lkOwo+ICAgCWludCBpOwo+ICAgCWludCBzaXplID0g c2l6ZW9mKHN1aXRlc19hY3RpdmVfc3RhdCkgLyBzaXplb2Yoc3VpdGVzX2FjdGl2ZV9zdGF0WzBd KTsKPiAgIAo+ICsJaWYgKGFtZGdwdV9kZXZpY2VfaW5pdGlhbGl6ZShkcm1fYW1kZ3B1WzBdLCAm bWFqb3JfdmVyc2lvbiwKPiArCQkJCSAgICZtaW5vcl92ZXJzaW9uLCAmZGV2aWNlX2hhbmRsZSkp Cj4gKwkJcmV0dXJuOwo+ICsKPiArCWZhbWlseV9pZCA9IGRldmljZV9oYW5kbGUtPmluZm8uZmFt aWx5X2lkOwo+ICsKPiArCWlmIChhbWRncHVfZGV2aWNlX2RlaW5pdGlhbGl6ZShkZXZpY2VfaGFu ZGxlKSkKPiArCQlyZXR1cm47Cj4gKwo+ICAgCS8qIFNldCBhY3RpdmUgc3RhdHVzIGZvciBzdWl0 cyBiYXNlZCBvbiB0aGVpciBwb2xpY2llcyAqLwo+ICAgCWZvciAoaSA9IDA7IGkgPCBzaXplOyAr K2kpCj4gICAJCWlmIChhbWRncHVfc2V0X3N1aXRlX2FjdGl2ZShzdWl0ZXNfYWN0aXZlX3N0YXRb aV0ucE5hbWUsCj4gQEAgLTQyMCw2ICs0MzIsMTIgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2Rpc2Fi bGVfc3VpdHMoKQo+ICAgCj4gICAJaWYgKGFtZGdwdV9zZXRfdGVzdF9hY3RpdmUoQk9fVEVTVFNf U1RSLCAiTWV0YWRhdGEiLCBDVV9GQUxTRSkpCj4gICAJCWZwcmludGYoc3RkZXJyLCAidGVzdCBk ZWFjdGl2YXRpb24gZmFpbGVkIC0gJXNcbiIsIENVX2dldF9lcnJvcl9tc2coKSk7Cj4gKwo+ICsK PiArCS8qIFRoaXMgdGVzdCB3YXMgcmFuIG9uIEdGWDggYW5kIEdGWDkgb25seSAqLwo+ICsJaWYg KGZhbWlseV9pZCA8IEFNREdQVV9GQU1JTFlfVkkgfHwgZmFtaWx5X2lkID4gQU1ER1BVX0ZBTUlM WV9SVikKPiArCQlpZiAoYW1kZ3B1X3NldF90ZXN0X2FjdGl2ZShCQVNJQ19URVNUU19TVFIsICJT eW5jIGRlcGVuZGVuY3kgVGVzdCIsIENVX0ZBTFNFKSkKPiArCQkJZnByaW50ZihzdGRlcnIsICJ0 ZXN0IGRlYWN0aXZhdGlvbiBmYWlsZWQgLSAlc1xuIiwgQ1VfZ2V0X2Vycm9yX21zZygpKTsKPiAg IH0KPiAgIAo+ICAgLyogVGhlIG1haW4oKSBmdW5jdGlvbiBmb3Igc2V0dGluZyB1cCBhbmQgcnVu bmluZyB0aGUgdGVzdHMuCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9iYXNpY190ZXN0cy5j IGIvdGVzdHMvYW1kZ3B1L2Jhc2ljX3Rlc3RzLmMKPiBpbmRleCBlN2Y0OGUzLi5hNzhjZjUyIDEw MDY0NAo+IC0tLSBhL3Rlc3RzL2FtZGdwdS9iYXNpY190ZXN0cy5jCj4gKysrIGIvdGVzdHMvYW1k Z3B1L2Jhc2ljX3Rlc3RzLmMKPiBAQCAtNTAsNiArNTAsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVf Y29tbWFuZF9zdWJtaXNzaW9uX211bHRpX2ZlbmNlKHZvaWQpOwo+ICAgc3RhdGljIHZvaWQgYW1k Z3B1X2NvbW1hbmRfc3VibWlzc2lvbl9zZG1hKHZvaWQpOwo+ICAgc3RhdGljIHZvaWQgYW1kZ3B1 X3VzZXJwdHJfdGVzdCh2b2lkKTsKPiAgIHN0YXRpYyB2b2lkIGFtZGdwdV9zZW1hcGhvcmVfdGVz dCh2b2lkKTsKPiArc3RhdGljIHZvaWQgYW1kZ3B1X3N5bmNfZGVwZW5kZW5jeV90ZXN0KHZvaWQp Owo+ICAgCj4gICBzdGF0aWMgdm9pZCBhbWRncHVfY29tbWFuZF9zdWJtaXNzaW9uX3dyaXRlX2xp bmVhcl9oZWxwZXIodW5zaWduZWQgaXBfdHlwZSk7Cj4gICBzdGF0aWMgdm9pZCBhbWRncHVfY29t bWFuZF9zdWJtaXNzaW9uX2NvbnN0X2ZpbGxfaGVscGVyKHVuc2lnbmVkIGlwX3R5cGUpOwo+IEBA IC02Myw2ICs2NCw3IEBAIENVX1Rlc3RJbmZvIGJhc2ljX3Rlc3RzW10gPSB7Cj4gICAJeyAiQ29t bWFuZCBzdWJtaXNzaW9uIFRlc3QgKE11bHRpLUZlbmNlKSIsIGFtZGdwdV9jb21tYW5kX3N1Ym1p c3Npb25fbXVsdGlfZmVuY2UgfSwKPiAgIAl7ICJDb21tYW5kIHN1Ym1pc3Npb24gVGVzdCAoU0RN QSkiLCBhbWRncHVfY29tbWFuZF9zdWJtaXNzaW9uX3NkbWEgfSwKPiAgIAl7ICJTVyBzZW1hcGhv cmUgVGVzdCIsICBhbWRncHVfc2VtYXBob3JlX3Rlc3QgfSwKPiArCXsgIlN5bmMgZGVwZW5kZW5j eSBUZXN0IiwgIGFtZGdwdV9zeW5jX2RlcGVuZGVuY3lfdGVzdCB9LAo+ICAgCUNVX1RFU1RfSU5G T19OVUxMLAo+ICAgfTsKPiAgICNkZWZpbmUgQlVGRkVSX1NJWkUgKDggKiAxMDI0KQo+IEBAIC0y MjYsNiArMjI4LDYwIEBAIENVX1Rlc3RJbmZvIGJhc2ljX3Rlc3RzW10gPSB7Cj4gICAJCSAqLwo+ ICAgIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfRE1BX0RBVEFfU0lfQ1BfU1lOQyAgICAg KDEgPDwgMzEpCj4gICAKPiArCj4gKyNkZWZpbmUgUEtUM19DT05URVhUX0NPTlRST0wgICAgICAg ICAgICAgICAgICAgMHgyOAo+ICsjZGVmaW5lICAgICBDT05URVhUX0NPTlRST0xfTE9BRF9FTkFC TEUoeCkgICAgICgoKHVuc2lnbmVkKSh4KSAmIDB4MSkgPDwgMzEpCj4gKyNkZWZpbmUgICAgIENP TlRFWFRfQ09OVFJPTF9MT0FEX0NFX1JBTSh4KSAgICAgKCgodW5zaWduZWQpKHgpICYgMHgxKSA8 PCAyOCkKPiArI2RlZmluZSAgICAgQ09OVEVYVF9DT05UUk9MX1NIQURPV19FTkFCTEUoeCkgICAo KCh1bnNpZ25lZCkoeCkgJiAweDEpIDw8IDMxKQo+ICsKPiArI2RlZmluZSBQS1QzX0NMRUFSX1NU QVRFICAgICAgICAgICAgICAgICAgICAgICAweDEyCj4gKwo+ICsjZGVmaW5lIFBLVDNfU0VUX1NI X1JFRyAgICAgICAgICAgICAgICAgICAgICAgIDB4NzYKPiArI2RlZmluZQkJUEFDS0VUM19TRVRf U0hfUkVHX1NUQVJUCQkJMHgwMDAwMmMwMAo+ICsKPiArI2RlZmluZQlQQUNLRVQzX0RJU1BBVENI X0RJUkVDVAkJCQkweDE1Cj4gKwo+ICsKPiArLyogZ2Z4IDggKi8KPiArI2RlZmluZSBtbUNPTVBV VEVfUEdNX0xPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDJlMGMKPiArI2RlZmluZSBtbUNPTVBVVEVfUEdNX1JTUkMxICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJlMTIKPiArI2RlZmlu ZSBtbUNPTVBVVEVfVE1QUklOR19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDJlMTgKPiArI2RlZmluZSBtbUNPTVBVVEVfVVNFUl9EQVRBXzAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJlNDAK PiArI2RlZmluZSBtbUNPTVBVVEVfVVNFUl9EQVRBXzEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDJlNDEKPiArI2RlZmluZSBtbUNPTVBVVEVfUkVT T1VSQ0VfTElNSVRTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDJlMTUKPiArI2RlZmluZSBtbUNPTVBVVEVfTlVNX1RIUkVBRF9YICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJlMDcKPiArCj4gKwo+ICsKPiAr I2RlZmluZSBTV0FQXzMyKG51bSkgKChudW0+PjI0KSYweGZmKSB8IFwKPiArCQkJKChudW08PDgp JjB4ZmYwMDAwKSB8IFwKPiArCQkJKChudW0+PjgpJjB4ZmYwMCkgfCBcCj4gKwkJCSgobnVtPDwy NCkmMHhmZjAwMDAwMCkKPiArCj4gKwo+ICsvKiBTaGFkZXIgY29kZQo+ICsgKiB2b2lkIG1haW4o KQo+ICt7Cj4gKwo+ICsJZmxvYXQgeCA9IHNvbWVfaW5wdXQ7Cj4gKwkJZm9yICh1bnNpZ25lZCBp ID0gMDsgaSA8IDEwMDAwMDA7IGkrKykKPiArICAJeCA9IHNpbih4KTsKPiArCj4gKwl1WzBdID0g NDJ1Owo+ICt9Cj4gKyovCj4gKwo+ICtzdGF0aWMgIHVpbnQzMl90IHNoYWRlcl9iaW5bXSA9IHsK PiArCVNXQVBfMzIoMHg4MDAwODJiZSksIFNXQVBfMzIoMHgwMmZmMDhiZiksIFNXQVBfMzIoMHg3 Zjk2OTgwMCksIFNXQVBfMzIoMHgwNDAwODViZiksCj4gKwlTV0FQXzMyKDB4MDI4MTAyODEpLCBT V0FQXzMyKDB4MDJmZjA4YmYpLCBTV0FQXzMyKDB4N2Y5Njk4MDApLCBTV0FQXzMyKDB4ZmNmZjg0 YmYpLAo+ICsJU1dBUF8zMigweGZmMDA4M2JlKSwgU1dBUF8zMigweDAwZjAwMDAwKSwgU1dBUF8z MigweGMxMDA4MmJlKSwgU1dBUF8zMigweGFhMDIwMDdlKSwKPiArCVNXQVBfMzIoMHgwMDAwNzBl MCksIFNXQVBfMzIoMHgwMDAwMDA4MCksIFNXQVBfMzIoMHgwMDAwODFiZikKPiArfTsKPiArCj4g KyNkZWZpbmUgQ09ERV9PRkZTRVQgNTEyCj4gKyNkZWZpbmUgREFUQV9PRkZTRVQgMTAyNAo+ICsK PiArCj4gICBpbnQgc3VpdGVfYmFzaWNfdGVzdHNfaW5pdCh2b2lkKQo+ICAgewo+ICAgCXN0cnVj dCBhbWRncHVfZ3B1X2luZm8gZ3B1X2luZm8gPSB7MH07Cj4gQEAgLTEzODYsMyArMTQ0MiwyMTEg QEAgc3RhdGljIHZvaWQgYW1kZ3B1X3VzZXJwdHJfdGVzdCh2b2lkKQo+ICAgCj4gICAJd2FpdChO VUxMKTsKPiAgIH0KPiArCj4gK3N0YXRpYyB2b2lkIGFtZGdwdV9zeW5jX2RlcGVuZGVuY3lfdGVz dCh2b2lkKQo+ICt7Cj4gKwlhbWRncHVfY29udGV4dF9oYW5kbGUgY29udGV4dF9oYW5kbGVbMl07 Cj4gKwlhbWRncHVfYm9faGFuZGxlIGliX3Jlc3VsdF9oYW5kbGU7Cj4gKwl2b2lkICppYl9yZXN1 bHRfY3B1Owo+ICsJdWludDY0X3QgaWJfcmVzdWx0X21jX2FkZHJlc3M7Cj4gKwlzdHJ1Y3QgYW1k Z3B1X2NzX3JlcXVlc3QgaWJzX3JlcXVlc3Q7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2NzX2liX2luZm8g aWJfaW5mbzsKPiArCXN0cnVjdCBhbWRncHVfY3NfZmVuY2UgZmVuY2Vfc3RhdHVzOwo+ICsJdWlu dDMyX3QgZXhwaXJlZDsKPiArCWludCBpLCBqLCByLCBpbnN0YW5jZTsKPiArCWFtZGdwdV9ib19s aXN0X2hhbmRsZSBib19saXN0Owo+ICsJYW1kZ3B1X3ZhX2hhbmRsZSB2YV9oYW5kbGU7Cj4gKwlz dGF0aWMgdWludDMyX3QgKnB0cjsKPiArCXVpbnQ2NF90IHNlcV9ubzsKPiArCj4gKwlDVV9BU1NF UlRfRVFVQUwociwgMCk7Cj4gKwo+ICsJciA9IGFtZGdwdV9jc19jdHhfY3JlYXRlKGRldmljZV9o YW5kbGUsICZjb250ZXh0X2hhbmRsZVswXSk7Cj4gKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7Cj4g KwlyID0gYW1kZ3B1X2NzX2N0eF9jcmVhdGUoZGV2aWNlX2hhbmRsZSwgJmNvbnRleHRfaGFuZGxl WzFdKTsKPiArCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKPiArCj4gKwlyID0gYW1kZ3B1X2JvX2Fs bG9jX2FuZF9tYXAoZGV2aWNlX2hhbmRsZSwgODE5MiwgNDA5NiwKPiArCQkJQU1ER1BVX0dFTV9E T01BSU5fR1RULCAwLAo+ICsJCQkJCQkgICAgJmliX3Jlc3VsdF9oYW5kbGUsICZpYl9yZXN1bHRf Y3B1LAo+ICsJCQkJCQkgICAgJmliX3Jlc3VsdF9tY19hZGRyZXNzLCAmdmFfaGFuZGxlKTsKPiAr CUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKPiArCj4gKwlyID0gYW1kZ3B1X2dldF9ib19saXN0KGRl dmljZV9oYW5kbGUsIGliX3Jlc3VsdF9oYW5kbGUsIE5VTEwsCj4gKwkJCSAgICAgICAmYm9fbGlz dCk7Cj4gKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7Cj4gKwo+ICsJcHRyID0gaWJfcmVzdWx0X2Nw dTsKPiArCWkgPSAwOwo+ICsKPiArCW1lbWNweShwdHIgKyBDT0RFX09GRlNFVCAsIHNoYWRlcl9i aW4sIHNpemVvZihzaGFkZXJfYmluKSk7Cj4gKwo+ICsJLyogRGlzcGF0Y2ggbWluaW1hbCBpbml0 IGNvbmZpZyBhbmQgdmVyaWZ5IGl0J3MgZXhlY3V0ZWQgKi8KPiArCXB0cltpKytdID0gUEFDS0VU MyhQS1QzX0NPTlRFWFRfQ09OVFJPTCwgMSk7Cj4gKwlwdHJbaSsrXSA9IDB4ODAwMDAwMDA7Cj4g KwlwdHJbaSsrXSA9IDB4ODAwMDAwMDA7Cj4gKwo+ICsJcHRyW2krK10gPSBQQUNLRVQzKFBLVDNf Q0xFQVJfU1RBVEUsIDApOwo+ICsJcHRyW2krK10gPSAweDgwMDAwMDAwOwo+ICsKPiArCj4gKwkv KiBQcm9ncmFtIGNvbXB1dGUgcmVncyAqLwo+ICsJcHRyW2krK10gPSBQQUNLRVQzKFBLVDNfU0VU X1NIX1JFRywgMik7Cj4gKwlwdHJbaSsrXSA9IG1tQ09NUFVURV9QR01fTE8gLSBQQUNLRVQzX1NF VF9TSF9SRUdfU1RBUlQ7Cj4gKwlwdHJbaSsrXSA9IChpYl9yZXN1bHRfbWNfYWRkcmVzcyArIENP REVfT0ZGU0VUICogNCkgPj4gODsKPiArCXB0cltpKytdID0gKGliX3Jlc3VsdF9tY19hZGRyZXNz ICsgQ09ERV9PRkZTRVQgKiA0KSA+PiA0MDsKPiArCj4gKwo+ICsJcHRyW2krK10gPSBQQUNLRVQz KFBLVDNfU0VUX1NIX1JFRywgMik7Cj4gKwlwdHJbaSsrXSA9IG1tQ09NUFVURV9QR01fUlNSQzEg LSBQQUNLRVQzX1NFVF9TSF9SRUdfU1RBUlQ7Cj4gKwkvKgo+ICsJICogMDAyYzAwNDAgICAgICAg ICBDT01QVVRFX1BHTV9SU1JDMSA8LSBWR1BSUyA9IDAKPiArCSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0dQUlMgPSAxCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBSSU9SSVRZID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGTE9BVF9NT0RFID0gMTkyICgweGMwKQo+ICsJICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQUklWID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEWDEwX0NMQU1QID0gMQo+ICsJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBERUJVR19NT0RFID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJRUVFX01PREUgPSAwCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJVTEtZID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDREJHX1VTRVIgPSAwCj4gKwkgKgo+ICsJICovCj4gKwlwdHJbaSsrXSA9IDB4MDAy YzAwNDA7Cj4gKwo+ICsKPiArCS8qCj4gKwkgKiAwMDAwMDAxMCAgICAgICAgIENPTVBVVEVfUEdN X1JTUkMyIDwtIFNDUkFUQ0hfRU4gPSAwCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFVTRVJfU0dQUiA9IDgKPiArCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVFJBUF9QUkVTRU5UID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUR0lEX1hfRU4gPSAwCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRHSURfWV9FTiA9IDAKPiArCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVEdJRF9aX0VOID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUR19TSVpFX0VOID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUSURJR19DT01QX0NOVCA9IDAKPiArCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRVhDUF9FTl9NU0IgPSAwCj4gKwkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExEU19TSVpFID0gMAo+ICsJICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFWENQX0VOID0gMAo+ICsJICoKPiArCSAqLwo+ICsJcHRyW2krK10gPSAweDAw MDAwMDEwOwo+ICsKPiArCj4gKy8qCj4gKyAqIDAwMDAwMTAwICAgICAgICAgQ09NUFVURV9UTVBS SU5HX1NJWkUgPC0gV0FWRVMgPSAyNTYgKDB4MTAwKQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFdBVkVTSVpFID0gMAo+ICsgKgo+ICsgKi8KPiArCXB0cltpKytd ID0gUEFDS0VUMyhQS1QzX1NFVF9TSF9SRUcsIDEpOwo+ICsJcHRyW2krK10gPSBtbUNPTVBVVEVf VE1QUklOR19TSVpFIC0gUEFDS0VUM19TRVRfU0hfUkVHX1NUQVJUOwo+ICsJcHRyW2krK10gPSAw eDAwMDAwMTAwOwo+ICsKPiArCXB0cltpKytdID0gUEFDS0VUMyhQS1QzX1NFVF9TSF9SRUcsIDIp Owo+ICsJcHRyW2krK10gPSBtbUNPTVBVVEVfVVNFUl9EQVRBXzAgLSBQQUNLRVQzX1NFVF9TSF9S RUdfU1RBUlQ7Cj4gKwlwdHJbaSsrXSA9IDB4ZmZmZmZmZmYgJiAoaWJfcmVzdWx0X21jX2FkZHJl c3MgKyBEQVRBX09GRlNFVCAqIDQpOwo+ICsJcHRyW2krK10gPSAoMHhmZmZmZmZmZjAwMDAwMDAw ICYgKGliX3Jlc3VsdF9tY19hZGRyZXNzICsgREFUQV9PRkZTRVQgKiA0KSkgPj4gMzI7Cj4gKwo+ ICsJcHRyW2krK10gPSBQQUNLRVQzKFBLVDNfU0VUX1NIX1JFRywgMSk7Cj4gKwlwdHJbaSsrXSA9 IG1tQ09NUFVURV9SRVNPVVJDRV9MSU1JVFMgLSBQQUNLRVQzX1NFVF9TSF9SRUdfU1RBUlQ7Cj4g KwlwdHJbaSsrXSA9IDA7Cj4gKwo+ICsJcHRyW2krK10gPSBQQUNLRVQzKFBLVDNfU0VUX1NIX1JF RywgMyk7Cj4gKwlwdHJbaSsrXSA9IG1tQ09NUFVURV9OVU1fVEhSRUFEX1ggLSBQQUNLRVQzX1NF VF9TSF9SRUdfU1RBUlQ7Cj4gKwlwdHJbaSsrXSA9IDE7Cj4gKwlwdHJbaSsrXSA9IDE7Cj4gKwlw dHJbaSsrXSA9IDE7Cj4gKwo+ICsKPiArCS8qIERpc3BhdGNoICovCj4gKwlwdHJbaSsrXSA9IFBB Q0tFVDMoUEFDS0VUM19ESVNQQVRDSF9ESVJFQ1QsIDMpOwo+ICsJcHRyW2krK10gPSAxOwo+ICsJ cHRyW2krK10gPSAxOwo+ICsJcHRyW2krK10gPSAxOwo+ICsJcHRyW2krK10gPSAweDAwMDAwMDQ1 OyAvKiBESVNQQVRDSCBESVJFQ1QgZmllbGQgKi8KPiArCj4gKwo+ICsJd2hpbGUgKGkgJiA3KQo+ ICsJCXB0cltpKytdID0gIDB4ZmZmZjEwMDA7IC8qIHR5cGUzIG5vcCBwYWNrZXQgKi8KPiArCj4g KwltZW1zZXQoJmliX2luZm8sIDAsIHNpemVvZihzdHJ1Y3QgYW1kZ3B1X2NzX2liX2luZm8pKTsK PiArCWliX2luZm8uaWJfbWNfYWRkcmVzcyA9IGliX3Jlc3VsdF9tY19hZGRyZXNzOwo+ICsJaWJf aW5mby5zaXplID0gaTsKPiArCj4gKwltZW1zZXQoJmlic19yZXF1ZXN0LCAwLCBzaXplb2Yoc3Ry dWN0IGFtZGdwdV9jc19yZXF1ZXN0KSk7Cj4gKwlpYnNfcmVxdWVzdC5pcF90eXBlID0gQU1ER1BV X0hXX0lQX0dGWDsKPiArCWlic19yZXF1ZXN0LnJpbmcgPSAwOwo+ICsJaWJzX3JlcXVlc3QubnVt YmVyX29mX2licyA9IDE7Cj4gKwlpYnNfcmVxdWVzdC5pYnMgPSAmaWJfaW5mbzsKPiArCWlic19y ZXF1ZXN0LnJlc291cmNlcyA9IGJvX2xpc3Q7Cj4gKwlpYnNfcmVxdWVzdC5mZW5jZV9pbmZvLmhh bmRsZSA9IE5VTEw7Cj4gKwo+ICsJciA9IGFtZGdwdV9jc19zdWJtaXQoY29udGV4dF9oYW5kbGVb MV0sIDAsJmlic19yZXF1ZXN0LCAxKTsKPiArCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKPiArCXNl cV9ubyA9IGlic19yZXF1ZXN0LnNlcV9ubzsKPiArCj4gKwo+ICsKPiArCS8qIFByZXBhcmUgc2Vj b25kIGNvbW1hbmQgd2l0aCBkZXBlbmRlbmN5IG9uIHRoZSBmaXJzdCAqLwo+ICsJaiA9IGk7Cj4g KwlwdHJbaSsrXSA9IFBBQ0tFVDMoUEFDS0VUM19XUklURV9EQVRBLCAzKTsKPiArCXB0cltpKytd ID0gV1JJVEVfREFUQV9EU1RfU0VMKDUpIHwgV1JfQ09ORklSTTsKPiArCXB0cltpKytdID0gMHhm ZmZmZmZmYyAmIGliX3Jlc3VsdF9tY19hZGRyZXNzICsgREFUQV9PRkZTRVQgKiA0Owo+ICsJcHRy W2krK10gPSAoMHhmZmZmZmZmZjAwMDAwMDAwICYgKGliX3Jlc3VsdF9tY19hZGRyZXNzICsgREFU QV9PRkZTRVQgKiA0KSkgPj4gMzI7Cj4gKwlwdHJbaSsrXSA9IDk5Owo+ICsKPiArCXdoaWxlIChp ICYgNykKPiArCQlwdHJbaSsrXSA9ICAweGZmZmYxMDAwOyAvKiB0eXBlMyBub3AgcGFja2V0ICov Cj4gKwo+ICsJbWVtc2V0KCZpYl9pbmZvLCAwLCBzaXplb2Yoc3RydWN0IGFtZGdwdV9jc19pYl9p bmZvKSk7Cj4gKwlpYl9pbmZvLmliX21jX2FkZHJlc3MgPSBpYl9yZXN1bHRfbWNfYWRkcmVzcyAr IGogKiA0Owo+ICsJaWJfaW5mby5zaXplID0gaSAtIGo7Cj4gKwo+ICsJbWVtc2V0KCZpYnNfcmVx dWVzdCwgMCwgc2l6ZW9mKHN0cnVjdCBhbWRncHVfY3NfcmVxdWVzdCkpOwo+ICsJaWJzX3JlcXVl c3QuaXBfdHlwZSA9IEFNREdQVV9IV19JUF9HRlg7Cj4gKwlpYnNfcmVxdWVzdC5yaW5nID0gMDsK PiArCWlic19yZXF1ZXN0Lm51bWJlcl9vZl9pYnMgPSAxOwo+ICsJaWJzX3JlcXVlc3QuaWJzID0g JmliX2luZm87Cj4gKwlpYnNfcmVxdWVzdC5yZXNvdXJjZXMgPSBib19saXN0Owo+ICsJaWJzX3Jl cXVlc3QuZmVuY2VfaW5mby5oYW5kbGUgPSBOVUxMOwo+ICsKPiArCWlic19yZXF1ZXN0Lm51bWJl cl9vZl9kZXBlbmRlbmNpZXMgPSAxOwo+ICsKPiArCWlic19yZXF1ZXN0LmRlcGVuZGVuY2llcyA9 IGNhbGxvYygxLCBzaXplb2YoKmlic19yZXF1ZXN0LmRlcGVuZGVuY2llcykpOwo+ICsJaWJzX3Jl cXVlc3QuZGVwZW5kZW5jaWVzWzBdLmNvbnRleHQgPSBjb250ZXh0X2hhbmRsZVsxXTsKPiArCWli c19yZXF1ZXN0LmRlcGVuZGVuY2llc1swXS5pcF9pbnN0YW5jZSA9IDA7Cj4gKwlpYnNfcmVxdWVz dC5kZXBlbmRlbmNpZXNbMF0ucmluZyA9IDA7Cj4gKwlpYnNfcmVxdWVzdC5kZXBlbmRlbmNpZXNb MF0uZmVuY2UgPSBzZXFfbm87Cj4gKwo+ICsKPiArCXIgPSBhbWRncHVfY3Nfc3VibWl0KGNvbnRl eHRfaGFuZGxlWzBdLCAwLCZpYnNfcmVxdWVzdCwgMSk7Cj4gKwlDVV9BU1NFUlRfRVFVQUwociwg MCk7Cj4gKwo+ICsKPiArCW1lbXNldCgmZmVuY2Vfc3RhdHVzLCAwLCBzaXplb2Yoc3RydWN0IGFt ZGdwdV9jc19mZW5jZSkpOwo+ICsJZmVuY2Vfc3RhdHVzLmNvbnRleHQgPSBjb250ZXh0X2hhbmRs ZVswXTsKPiArCWZlbmNlX3N0YXR1cy5pcF90eXBlID0gQU1ER1BVX0hXX0lQX0dGWDsKPiArCWZl bmNlX3N0YXR1cy5pcF9pbnN0YW5jZSA9IDA7Cj4gKwlmZW5jZV9zdGF0dXMucmluZyA9IDA7Cj4g KwlmZW5jZV9zdGF0dXMuZmVuY2UgPSBpYnNfcmVxdWVzdC5zZXFfbm87Cj4gKwo+ICsJciA9IGFt ZGdwdV9jc19xdWVyeV9mZW5jZV9zdGF0dXMoJmZlbmNlX3N0YXR1cywKPiArCQkgICAgICAgQU1E R1BVX1RJTUVPVVRfSU5GSU5JVEUsMCwgJmV4cGlyZWQpOwo+ICsJQ1VfQVNTRVJUX0VRVUFMKHIs IDApOwo+ICsKPiArCS8qIEV4cGVjdCB0aGUgc2Vjb25kIGNvbW1hbmQgdG8gd2FpdCBmb3Igc2hh ZGVyIHRvIGNvbXBsZXRlICovCj4gKwlDVV9BU1NFUlRfRVFVQUwocHRyW0RBVEFfT0ZGU0VUXSwg OTkpOwo+ICsKPiArCXIgPSBhbWRncHVfYm9fbGlzdF9kZXN0cm95KGJvX2xpc3QpOwo+ICsJQ1Vf QVNTRVJUX0VRVUFMKHIsIDApOwo+ICsKPiArCXIgPSBhbWRncHVfYm9fdW5tYXBfYW5kX2ZyZWUo aWJfcmVzdWx0X2hhbmRsZSwgdmFfaGFuZGxlLAo+ICsJCQkJICAgICBpYl9yZXN1bHRfbWNfYWRk cmVzcywgNDA5Nik7Cj4gKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7Cj4gKwo+ICsJciA9IGFtZGdw dV9jc19jdHhfZnJlZShjb250ZXh0X2hhbmRsZVswXSk7Cj4gKwlDVV9BU1NFUlRfRVFVQUwociwg MCk7Cj4gKwlyID0gYW1kZ3B1X2NzX2N0eF9mcmVlKGNvbnRleHRfaGFuZGxlWzFdKTsKPiArCUNV X0FTU0VSVF9FUVVBTChyLCAwKTsKPiArCj4gKwlmcmVlKGlic19yZXF1ZXN0LmRlcGVuZGVuY2ll cyk7Cj4gK30KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=