From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 31/43] drm/amd/display: CNVC pseudocode review follow up Date: Thu, 23 Nov 2017 14:53:04 -0500 Message-ID: <20171123195316.8366-32-harry.wentland@amd.com> References: <20171123195316.8366-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171123195316.8366-1-harry.wentland-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Yue Hin Lau RnJvbTogWXVlIEhpbiBMYXUgPFl1ZWhpbi5MYXVAYW1kLmNvbT4KClNpZ25lZC1vZmYtYnk6IFl1 ZSBIaW4gTGF1IDxZdWVoaW4uTGF1QGFtZC5jb20+ClJldmlld2VkLWJ5OiBFcmljIEJlcm5zdGVp biA8RXJpYy5CZXJuc3RlaW5AYW1kLmNvbT4KQWNrZWQtYnk6IEhhcnJ5IFdlbnRsYW5kIDxoYXJy eS53ZW50bGFuZEBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjX3N0cmVhbS5jICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX2RwcC5jIHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNuMTAvZGNuMTBfZHBwLmggfCA0ODQgKysrKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvZHBwLmggICAgICB8ICAgMiArLQogNCBm aWxlcyBjaGFuZ2VkLCAyNDQgaW5zZXJ0aW9ucygrKSwgMjQ3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3N0cmVhbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMKaW5kZXggMzc1 ZmI0NTdlMjIzLi5lMzk1NjhiNDQ2MGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjX3N0cmVhbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjX3N0cmVhbS5jCkBAIC0yMjYsNyArMjI2LDcgQEAgYm9vbCBkY19zdHJl YW1fc2V0X2N1cnNvcl9hdHRyaWJ1dGVzKAogCQlpZiAocGlwZV9jdHgtPnBsYW5lX3Jlcy5kcHAg IT0gTlVMTCAmJgogCQkJCXBpcGVfY3R4LT5wbGFuZV9yZXMuZHBwLT5mdW5jcy0+c2V0X2N1cnNv cl9hdHRyaWJ1dGVzICE9IE5VTEwpCiAJCQlwaXBlX2N0eC0+cGxhbmVfcmVzLmRwcC0+ZnVuY3Mt PnNldF9jdXJzb3JfYXR0cmlidXRlcygKLQkJCQlwaXBlX2N0eC0+cGxhbmVfcmVzLmRwcCwgYXR0 cmlidXRlcyk7CisJCQkJcGlwZV9jdHgtPnBsYW5lX3Jlcy5kcHAsIGF0dHJpYnV0ZXMtPmNvbG9y X2Zvcm1hdCk7CiAJfQogCiAJc3RyZWFtLT5jdXJzb3JfYXR0cmlidXRlcyA9ICphdHRyaWJ1dGVz OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEw X2RwcC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5j CmluZGV4IDhkZjM5NDUzNzBjZi4uNWE5NWZhMDNiYzE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfZHBwLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5jCkBAIC0zODYsMTAgKzM4Niw5IEBA IHZvaWQgZHBwMV9jbnZfc2V0dXAgKAogCiB2b2lkIGRwcDFfc2V0X2N1cnNvcl9hdHRyaWJ1dGVz KAogCQlzdHJ1Y3QgZHBwICpkcHBfYmFzZSwKLQkJY29uc3Qgc3RydWN0IGRjX2N1cnNvcl9hdHRy aWJ1dGVzICphdHRyKQorCQllbnVtIGRjX2N1cnNvcl9jb2xvcl9mb3JtYXQgY29sb3JfZm9ybWF0 KQogewogCXN0cnVjdCBkY24xMF9kcHAgKmRwcCA9IFRPX0RDTjEwX0RQUChkcHBfYmFzZSk7Ci0J ZW51bSBkY19jdXJzb3JfY29sb3JfZm9ybWF0IGNvbG9yX2Zvcm1hdCA9IGF0dHItPmNvbG9yX2Zv cm1hdDsKIAogCVJFR19VUERBVEVfMihDVVJTT1IwX0NPTlRST0wsCiAJCQlDVVIwX01PREUsIGNv bG9yX2Zvcm1hdCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9k Y24xMC9kY24xMF9kcHAuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9kcHAuaAppbmRleCBhZDcxZmI1MGY4YTUuLjQxZjBjODRiZmEwOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2RwcC5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9kcHAuaApAQCAtMTAwNSwy NTggKzEwMDUsMjU2IEBACiAJdHlwZSBDTV9CWVBBU1M7IFwKIAl0eXBlIEZPUk1BVF9DT05UUk9M X19BTFBIQV9FTjsgXAogCXR5cGUgQ1VSMF9DT0xPUjA7IFwKLQl0eXBlIENVUjBfQ09MT1IxCi0K LQorCXR5cGUgQ1VSMF9DT0xPUjE7CiAKIHN0cnVjdCBkY25fZHBwX3NoaWZ0IHsKLQlURl9SRUdf RklFTERfTElTVCh1aW50OF90KTsKKwlURl9SRUdfRklFTERfTElTVCh1aW50OF90KQogfTsKIAog c3RydWN0IGRjbl9kcHBfbWFzayB7Ci0JVEZfUkVHX0ZJRUxEX0xJU1QodWludDMyX3QpOworCVRG X1JFR19GSUVMRF9MSVNUKHVpbnQzMl90KQogfTsKIAotCi0KKyNkZWZpbmUgRFBQX0NPTU1PTl9S RUdfVkFSSUFCTEVfTElTVCBcCisJdWludDMyX3QgRFNDTF9FWFRfT1ZFUlNDQU5fTEVGVF9SSUdI VDsgXAorCXVpbnQzMl90IERTQ0xfRVhUX09WRVJTQ0FOX1RPUF9CT1RUT007IFwKKwl1aW50MzJf dCBPVEdfSF9CTEFOSzsgXAorCXVpbnQzMl90IE9UR19WX0JMQU5LOyBcCisJdWludDMyX3QgU0NM X01PREU7IFwKKwl1aW50MzJfdCBMQl9EQVRBX0ZPUk1BVDsgXAorCXVpbnQzMl90IExCX01FTU9S WV9DVFJMOyBcCisJdWludDMyX3QgRFNDTF9BVVRPQ0FMOyBcCisJdWludDMyX3QgU0NMX0JMQUNL X09GRlNFVDsgXAorCXVpbnQzMl90IFNDTF9UQVBfQ09OVFJPTDsgXAorCXVpbnQzMl90IFNDTF9D T0VGX1JBTV9UQVBfU0VMRUNUOyBcCisJdWludDMyX3QgU0NMX0NPRUZfUkFNX1RBUF9EQVRBOyBc CisJdWludDMyX3QgRFNDTF8yVEFQX0NPTlRST0w7IFwKKwl1aW50MzJfdCBNUENfU0laRTsgXAor CXVpbnQzMl90IFNDTF9IT1JaX0ZJTFRFUl9TQ0FMRV9SQVRJTzsgXAorCXVpbnQzMl90IFNDTF9W RVJUX0ZJTFRFUl9TQ0FMRV9SQVRJTzsgXAorCXVpbnQzMl90IFNDTF9IT1JaX0ZJTFRFUl9TQ0FM RV9SQVRJT19DOyBcCisJdWludDMyX3QgU0NMX1ZFUlRfRklMVEVSX1NDQUxFX1JBVElPX0M7IFwK Kwl1aW50MzJfdCBTQ0xfSE9SWl9GSUxURVJfSU5JVDsgXAorCXVpbnQzMl90IFNDTF9IT1JaX0ZJ TFRFUl9JTklUX0M7IFwKKwl1aW50MzJfdCBTQ0xfVkVSVF9GSUxURVJfSU5JVDsgXAorCXVpbnQz Ml90IFNDTF9WRVJUX0ZJTFRFUl9JTklUX0JPVDsgXAorCXVpbnQzMl90IFNDTF9WRVJUX0ZJTFRF Ul9JTklUX0M7IFwKKwl1aW50MzJfdCBTQ0xfVkVSVF9GSUxURVJfSU5JVF9CT1RfQzsgXAorCXVp bnQzMl90IFJFQ09VVF9TVEFSVDsgXAorCXVpbnQzMl90IFJFQ09VVF9TSVpFOyBcCisJdWludDMy X3QgQ01fR0FNVVRfUkVNQVBfQ09OVFJPTDsgXAorCXVpbnQzMl90IENNX0dBTVVUX1JFTUFQX0Mx MV9DMTI7IFwKKwl1aW50MzJfdCBDTV9HQU1VVF9SRU1BUF9DMzNfQzM0OyBcCisJdWludDMyX3Qg Q01fQ09NQV9DMTFfQzEyOyBcCisJdWludDMyX3QgQ01fQ09NQV9DMzNfQzM0OyBcCisJdWludDMy X3QgQ01fQ09NQl9DMTFfQzEyOyBcCisJdWludDMyX3QgQ01fQ09NQl9DMzNfQzM0OyBcCisJdWlu dDMyX3QgQ01fT0NTQ19DT05UUk9MOyBcCisJdWludDMyX3QgQ01fT0NTQ19DMTFfQzEyOyBcCisJ dWludDMyX3QgQ01fT0NTQ19DMzNfQzM0OyBcCisJdWludDMyX3QgQ01fTUVNX1BXUl9DVFJMOyBc CisJdWludDMyX3QgQ01fUkdBTV9MVVRfREFUQTsgXAorCXVpbnQzMl90IENNX1JHQU1fTFVUX1dS SVRFX0VOX01BU0s7IFwKKwl1aW50MzJfdCBDTV9SR0FNX0xVVF9JTkRFWDsgXAorCXVpbnQzMl90 IENNX1JHQU1fUkFNQl9TVEFSVF9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9SR0FNX1JBTUJfU1RB UlRfQ05UTF9HOyBcCisJdWludDMyX3QgQ01fUkdBTV9SQU1CX1NUQVJUX0NOVExfUjsgXAorCXVp bnQzMl90IENNX1JHQU1fUkFNQl9TTE9QRV9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9SR0FNX1JB TUJfU0xPUEVfQ05UTF9HOyBcCisJdWludDMyX3QgQ01fUkdBTV9SQU1CX1NMT1BFX0NOVExfUjsg XAorCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05UTDFfQjsgXAorCXVpbnQzMl90IENNX1JH QU1fUkFNQl9FTkRfQ05UTDJfQjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05UTDFf RzsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05UTDJfRzsgXAorCXVpbnQzMl90IENN X1JHQU1fUkFNQl9FTkRfQ05UTDFfUjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05U TDJfUjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQl9SRUdJT05fMF8xOyBcCisJdWludDMyX3Qg Q01fUkdBTV9SQU1CX1JFR0lPTl8zMl8zMzsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQV9TVEFS VF9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9SR0FNX1JBTUFfU1RBUlRfQ05UTF9HOyBcCisJdWlu dDMyX3QgQ01fUkdBTV9SQU1BX1NUQVJUX0NOVExfUjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFN QV9TTE9QRV9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9SR0FNX1JBTUFfU0xPUEVfQ05UTF9HOyBc CisJdWludDMyX3QgQ01fUkdBTV9SQU1BX1NMT1BFX0NOVExfUjsgXAorCXVpbnQzMl90IENNX1JH QU1fUkFNQV9FTkRfQ05UTDFfQjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05UTDJf QjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05UTDFfRzsgXAorCXVpbnQzMl90IENN X1JHQU1fUkFNQV9FTkRfQ05UTDJfRzsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05U TDFfUjsgXAorCXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05UTDJfUjsgXAorCXVpbnQzMl90 IENNX1JHQU1fUkFNQV9SRUdJT05fMF8xOyBcCisJdWludDMyX3QgQ01fUkdBTV9SQU1BX1JFR0lP Tl8zMl8zMzsgXAorCXVpbnQzMl90IENNX1JHQU1fQ09OVFJPTDsgXAorCXVpbnQzMl90IENNX0NN T1VUX0NPTlRST0w7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX0xVVF9XUklURV9FTl9NQVNLOyBc CisJdWludDMyX3QgQ01fQkxOREdBTV9DT05UUk9MOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9S QU1CX1NUQVJUX0NOVExfQjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9TVEFSVF9DTlRM X0c7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfU1RBUlRfQ05UTF9SOyBcCisJdWludDMy X3QgQ01fQkxOREdBTV9SQU1CX1NMT1BFX0NOVExfQjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1f UkFNQl9TTE9QRV9DTlRMX0c7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfU0xPUEVfQ05U TF9SOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMV9COyBcCisJdWludDMy X3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMl9COyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9S QU1CX0VORF9DTlRMMV9HOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMl9H OyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMV9SOyBcCisJdWludDMyX3Qg Q01fQkxOREdBTV9SQU1CX0VORF9DTlRMMl9SOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1C X1JFR0lPTl8wXzE7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzJfMzsgXAor CXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9SRUdJT05fNF81OyBcCisJdWludDMyX3QgQ01fQkxO REdBTV9SQU1CX1JFR0lPTl82Xzc7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9O XzhfOTsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9SRUdJT05fMTBfMTE7IFwKKwl1aW50 MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzEyXzEzOyBcCisJdWludDMyX3QgQ01fQkxOREdB TV9SQU1CX1JFR0lPTl8xNF8xNTsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9SRUdJT05f MTZfMTc7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzE4XzE5OyBcCisJdWlu dDMyX3QgQ01fQkxOREdBTV9SQU1CX1JFR0lPTl8yMF8yMTsgXAorCXVpbnQzMl90IENNX0JMTkRH QU1fUkFNQl9SRUdJT05fMjJfMjM7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9O XzI0XzI1OyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1JFR0lPTl8yNl8yNzsgXAorCXVp bnQzMl90IENNX0JMTkRHQU1fUkFNQl9SRUdJT05fMjhfMjk7IFwKKwl1aW50MzJfdCBDTV9CTE5E R0FNX1JBTUJfUkVHSU9OXzMwXzMxOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1JFR0lP Tl8zMl8zMzsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9TVEFSVF9DTlRMX0I7IFwKKwl1 aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfU1RBUlRfQ05UTF9HOyBcCisJdWludDMyX3QgQ01fQkxO REdBTV9SQU1BX1NUQVJUX0NOVExfUjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9TTE9Q RV9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfU0xPUEVfQ05UTF9HOyBcCisJ dWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1NMT1BFX0NOVExfUjsgXAorCXVpbnQzMl90IENNX0JM TkRHQU1fUkFNQV9FTkRfQ05UTDFfQjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRf Q05UTDJfQjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRfQ05UTDFfRzsgXAorCXVp bnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRfQ05UTDJfRzsgXAorCXVpbnQzMl90IENNX0JMTkRH QU1fUkFNQV9FTkRfQ05UTDFfUjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRfQ05U TDJfUjsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fMF8xOyBcCisJdWludDMy X3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8yXzM7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JB TUFfUkVHSU9OXzRfNTsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fNl83OyBc CisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl84Xzk7IFwKKwl1aW50MzJfdCBDTV9C TE5ER0FNX1JBTUFfUkVHSU9OXzEwXzExOyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JF R0lPTl8xMl8xMzsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fMTRfMTU7IFwK Kwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzE2XzE3OyBcCisJdWludDMyX3QgQ01f QkxOREdBTV9SQU1BX1JFR0lPTl8xOF8xOTsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9S RUdJT05fMjBfMjE7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzIyXzIzOyBc CisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8yNF8yNTsgXAorCXVpbnQzMl90IENN X0JMTkRHQU1fUkFNQV9SRUdJT05fMjZfMjc7IFwKKwl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFf UkVHSU9OXzI4XzI5OyBcCisJdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8zMF8zMTsg XAorCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fMzJfMzM7IFwKKwl1aW50MzJfdCBD TV9CTE5ER0FNX0xVVF9JTkRFWDsgXAorCXVpbnQzMl90IENNX0JMTkRHQU1fTFVUX0RBVEE7IFwK Kwl1aW50MzJfdCBDTV8zRExVVF9NT0RFOyBcCisJdWludDMyX3QgQ01fM0RMVVRfSU5ERVg7IFwK Kwl1aW50MzJfdCBDTV8zRExVVF9EQVRBOyBcCisJdWludDMyX3QgQ01fM0RMVVRfREFUQV8zMEJJ VDsgXAorCXVpbnQzMl90IENNXzNETFVUX1JFQURfV1JJVEVfQ09OVFJPTDsgXAorCXVpbnQzMl90 IENNX1NIQVBFUl9MVVRfV1JJVEVfRU5fTUFTSzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9DT05U Uk9MOyBcCisJdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfU1RBUlRfQ05UTF9COyBcCisJdWludDMy X3QgQ01fU0hBUEVSX1JBTUJfU1RBUlRfQ05UTF9HOyBcCisJdWludDMyX3QgQ01fU0hBUEVSX1JB TUJfU1RBUlRfQ05UTF9SOyBcCisJdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfRU5EX0NOVExfQjsg XAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX0VORF9DTlRMX0c7IFwKKwl1aW50MzJfdCBDTV9T SEFQRVJfUkFNQl9FTkRfQ05UTF9SOyBcCisJdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9O XzBfMTsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX1JFR0lPTl8yXzM7IFwKKwl1aW50MzJf dCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fNF81OyBcCisJdWludDMyX3QgQ01fU0hBUEVSX1JBTUJf UkVHSU9OXzZfNzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX1JFR0lPTl84Xzk7IFwKKwl1 aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMTBfMTE7IFwKKwl1aW50MzJfdCBDTV9TSEFQ RVJfUkFNQl9SRUdJT05fMTJfMTM7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05f MTRfMTU7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMTZfMTc7IFwKKwl1aW50 MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMThfMTk7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJf UkFNQl9SRUdJT05fMjBfMjE7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMjJf MjM7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMjRfMjU7IFwKKwl1aW50MzJf dCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMjZfMjc7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFN Ql9SRUdJT05fMjhfMjk7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMzBfMzE7 IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMzJfMzM7IFwKKwl1aW50MzJfdCBD TV9TSEFQRVJfUkFNQV9TVEFSVF9DTlRMX0I7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9T VEFSVF9DTlRMX0c7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9TVEFSVF9DTlRMX1I7IFwK Kwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9FTkRfQ05UTF9COyBcCisJdWludDMyX3QgQ01fU0hB UEVSX1JBTUFfRU5EX0NOVExfRzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX0VORF9DTlRM X1I7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9SRUdJT05fMF8xOyBcCisJdWludDMyX3Qg Q01fU0hBUEVSX1JBTUFfUkVHSU9OXzJfMzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JF R0lPTl80XzU7IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9SRUdJT05fNl83OyBcCisJdWlu dDMyX3QgQ01fU0hBUEVSX1JBTUFfUkVHSU9OXzhfOTsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9S QU1BX1JFR0lPTl8xMF8xMTsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8xMl8x MzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8xNF8xNTsgXAorCXVpbnQzMl90 IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8xNl8xNzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1B X1JFR0lPTl8xOF8xOTsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8yMF8yMTsg XAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8yMl8yMzsgXAorCXVpbnQzMl90IENN X1NIQVBFUl9SQU1BX1JFR0lPTl8yNF8yNTsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JF R0lPTl8yNl8yNzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8yOF8yOTsgXAor CXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8zMF8zMTsgXAorCXVpbnQzMl90IENNX1NI QVBFUl9SQU1BX1JFR0lPTl8zMl8zMzsgXAorCXVpbnQzMl90IENNX1NIQVBFUl9MVVRfSU5ERVg7 IFwKKwl1aW50MzJfdCBDTV9TSEFQRVJfTFVUX0RBVEE7IFwKKwl1aW50MzJfdCBDTV9JQ1NDX0NP TlRST0w7IFwKKwl1aW50MzJfdCBDTV9JQ1NDX0MxMV9DMTI7IFwKKwl1aW50MzJfdCBDTV9JQ1ND X0MzM19DMzQ7IFwKKwl1aW50MzJfdCBDTV9CTlNfVkFMVUVTX1I7IFwKKwl1aW50MzJfdCBDTV9C TlNfVkFMVUVTX0c7IFwKKwl1aW50MzJfdCBDTV9CTlNfVkFMVUVTX0I7IFwKKwl1aW50MzJfdCBD TV9ER0FNX1JBTUJfU1RBUlRfQ05UTF9COyBcCisJdWludDMyX3QgQ01fREdBTV9SQU1CX1NUQVJU X0NOVExfRzsgXAorCXVpbnQzMl90IENNX0RHQU1fUkFNQl9TVEFSVF9DTlRMX1I7IFwKKwl1aW50 MzJfdCBDTV9ER0FNX1JBTUJfU0xPUEVfQ05UTF9COyBcCisJdWludDMyX3QgQ01fREdBTV9SQU1C X1NMT1BFX0NOVExfRzsgXAorCXVpbnQzMl90IENNX0RHQU1fUkFNQl9TTE9QRV9DTlRMX1I7IFwK Kwl1aW50MzJfdCBDTV9ER0FNX1JBTUJfRU5EX0NOVEwxX0I7IFwKKwl1aW50MzJfdCBDTV9ER0FN X1JBTUJfRU5EX0NOVEwyX0I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUJfRU5EX0NOVEwxX0c7 IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUJfRU5EX0NOVEwyX0c7IFwKKwl1aW50MzJfdCBDTV9E R0FNX1JBTUJfRU5EX0NOVEwxX1I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUJfRU5EX0NOVEwy X1I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUJfUkVHSU9OXzBfMTsgXAorCXVpbnQzMl90IENN X0RHQU1fUkFNQl9SRUdJT05fMTRfMTU7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFfU1RBUlRf Q05UTF9COyBcCisJdWludDMyX3QgQ01fREdBTV9SQU1BX1NUQVJUX0NOVExfRzsgXAorCXVpbnQz Ml90IENNX0RHQU1fUkFNQV9TVEFSVF9DTlRMX1I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFf U0xPUEVfQ05UTF9COyBcCisJdWludDMyX3QgQ01fREdBTV9SQU1BX1NMT1BFX0NOVExfRzsgXAor CXVpbnQzMl90IENNX0RHQU1fUkFNQV9TTE9QRV9DTlRMX1I7IFwKKwl1aW50MzJfdCBDTV9ER0FN X1JBTUFfRU5EX0NOVEwxX0I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFfRU5EX0NOVEwyX0I7 IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFfRU5EX0NOVEwxX0c7IFwKKwl1aW50MzJfdCBDTV9E R0FNX1JBTUFfRU5EX0NOVEwyX0c7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFfRU5EX0NOVEwx X1I7IFwKKwl1aW50MzJfdCBDTV9ER0FNX1JBTUFfRU5EX0NOVEwyX1I7IFwKKwl1aW50MzJfdCBD TV9ER0FNX1JBTUFfUkVHSU9OXzBfMTsgXAorCXVpbnQzMl90IENNX0RHQU1fUkFNQV9SRUdJT05f MTRfMTU7IFwKKwl1aW50MzJfdCBDTV9ER0FNX0xVVF9XUklURV9FTl9NQVNLOyBcCisJdWludDMy X3QgQ01fREdBTV9MVVRfSU5ERVg7IFwKKwl1aW50MzJfdCBDTV9ER0FNX0xVVF9EQVRBOyBcCisJ dWludDMyX3QgQ01fQ09OVFJPTDsgXAorCXVpbnQzMl90IENNX0RHQU1fQ09OVFJPTDsgXAorCXVp bnQzMl90IENNX0lHQU1fQ09OVFJPTDsgXAorCXVpbnQzMl90IENNX0lHQU1fTFVUX1JXX0NPTlRS T0w7IFwKKwl1aW50MzJfdCBDTV9JR0FNX0xVVF9SV19JTkRFWDsgXAorCXVpbnQzMl90IENNX0lH QU1fTFVUX1NFUV9DT0xPUjsgXAorCXVpbnQzMl90IEZPUk1BVF9DT05UUk9MOyBcCisJdWludDMy X3QgQ05WQ19TVVJGQUNFX1BJWEVMX0ZPUk1BVDsgXAorCXVpbnQzMl90IENVUlNPUl9DT05UUk9M OyBcCisJdWludDMyX3QgQ1VSU09SMF9DT05UUk9MOyBcCisJdWludDMyX3QgQ1VSU09SMF9DT0xP UjA7IFwKKwl1aW50MzJfdCBDVVJTT1IwX0NPTE9SMTsKIAogc3RydWN0IGRjbl9kcHBfcmVnaXN0 ZXJzIHsKLQl1aW50MzJfdCBEU0NMX0VYVF9PVkVSU0NBTl9MRUZUX1JJR0hUOwotCXVpbnQzMl90 IERTQ0xfRVhUX09WRVJTQ0FOX1RPUF9CT1RUT007Ci0JdWludDMyX3QgT1RHX0hfQkxBTks7Ci0J dWludDMyX3QgT1RHX1ZfQkxBTks7Ci0JdWludDMyX3QgU0NMX01PREU7Ci0JdWludDMyX3QgTEJf REFUQV9GT1JNQVQ7Ci0JdWludDMyX3QgTEJfTUVNT1JZX0NUUkw7Ci0JdWludDMyX3QgRFNDTF9B VVRPQ0FMOwotCXVpbnQzMl90IFNDTF9CTEFDS19PRkZTRVQ7Ci0JdWludDMyX3QgU0NMX1RBUF9D T05UUk9MOwotCXVpbnQzMl90IFNDTF9DT0VGX1JBTV9UQVBfU0VMRUNUOwotCXVpbnQzMl90IFND TF9DT0VGX1JBTV9UQVBfREFUQTsKLQl1aW50MzJfdCBEU0NMXzJUQVBfQ09OVFJPTDsKLQl1aW50 MzJfdCBNUENfU0laRTsKLQl1aW50MzJfdCBTQ0xfSE9SWl9GSUxURVJfU0NBTEVfUkFUSU87Ci0J dWludDMyX3QgU0NMX1ZFUlRfRklMVEVSX1NDQUxFX1JBVElPOwotCXVpbnQzMl90IFNDTF9IT1Ja X0ZJTFRFUl9TQ0FMRV9SQVRJT19DOwotCXVpbnQzMl90IFNDTF9WRVJUX0ZJTFRFUl9TQ0FMRV9S QVRJT19DOwotCXVpbnQzMl90IFNDTF9IT1JaX0ZJTFRFUl9JTklUOwotCXVpbnQzMl90IFNDTF9I T1JaX0ZJTFRFUl9JTklUX0M7Ci0JdWludDMyX3QgU0NMX1ZFUlRfRklMVEVSX0lOSVQ7Ci0JdWlu dDMyX3QgU0NMX1ZFUlRfRklMVEVSX0lOSVRfQk9UOwotCXVpbnQzMl90IFNDTF9WRVJUX0ZJTFRF Ul9JTklUX0M7Ci0JdWludDMyX3QgU0NMX1ZFUlRfRklMVEVSX0lOSVRfQk9UX0M7Ci0JdWludDMy X3QgUkVDT1VUX1NUQVJUOwotCXVpbnQzMl90IFJFQ09VVF9TSVpFOwotCXVpbnQzMl90IENNX0dB TVVUX1JFTUFQX0NPTlRST0w7Ci0JdWludDMyX3QgQ01fR0FNVVRfUkVNQVBfQzExX0MxMjsKLQl1 aW50MzJfdCBDTV9HQU1VVF9SRU1BUF9DMzNfQzM0OwotCXVpbnQzMl90IENNX0NPTUFfQzExX0Mx MjsKLQl1aW50MzJfdCBDTV9DT01BX0MzM19DMzQ7Ci0JdWludDMyX3QgQ01fQ09NQl9DMTFfQzEy OwotCXVpbnQzMl90IENNX0NPTUJfQzMzX0MzNDsKLQl1aW50MzJfdCBDTV9PQ1NDX0NPTlRST0w7 Ci0JdWludDMyX3QgQ01fT0NTQ19DMTFfQzEyOwotCXVpbnQzMl90IENNX09DU0NfQzMzX0MzNDsK LQl1aW50MzJfdCBDTV9NRU1fUFdSX0NUUkw7Ci0JdWludDMyX3QgQ01fUkdBTV9MVVRfREFUQTsK LQl1aW50MzJfdCBDTV9SR0FNX0xVVF9XUklURV9FTl9NQVNLOwotCXVpbnQzMl90IENNX1JHQU1f TFVUX0lOREVYOwotCXVpbnQzMl90IENNX1JHQU1fUkFNQl9TVEFSVF9DTlRMX0I7Ci0JdWludDMy X3QgQ01fUkdBTV9SQU1CX1NUQVJUX0NOVExfRzsKLQl1aW50MzJfdCBDTV9SR0FNX1JBTUJfU1RB UlRfQ05UTF9SOwotCXVpbnQzMl90IENNX1JHQU1fUkFNQl9TTE9QRV9DTlRMX0I7Ci0JdWludDMy X3QgQ01fUkdBTV9SQU1CX1NMT1BFX0NOVExfRzsKLQl1aW50MzJfdCBDTV9SR0FNX1JBTUJfU0xP UEVfQ05UTF9SOwotCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05UTDFfQjsKLQl1aW50MzJf dCBDTV9SR0FNX1JBTUJfRU5EX0NOVEwyX0I7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1CX0VORF9D TlRMMV9HOwotCXVpbnQzMl90IENNX1JHQU1fUkFNQl9FTkRfQ05UTDJfRzsKLQl1aW50MzJfdCBD TV9SR0FNX1JBTUJfRU5EX0NOVEwxX1I7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1CX0VORF9DTlRM Ml9SOwotCXVpbnQzMl90IENNX1JHQU1fUkFNQl9SRUdJT05fMF8xOwotCXVpbnQzMl90IENNX1JH QU1fUkFNQl9SRUdJT05fMzJfMzM7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1BX1NUQVJUX0NOVExf QjsKLQl1aW50MzJfdCBDTV9SR0FNX1JBTUFfU1RBUlRfQ05UTF9HOwotCXVpbnQzMl90IENNX1JH QU1fUkFNQV9TVEFSVF9DTlRMX1I7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1BX1NMT1BFX0NOVExf QjsKLQl1aW50MzJfdCBDTV9SR0FNX1JBTUFfU0xPUEVfQ05UTF9HOwotCXVpbnQzMl90IENNX1JH QU1fUkFNQV9TTE9QRV9DTlRMX1I7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1BX0VORF9DTlRMMV9C OwotCXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05UTDJfQjsKLQl1aW50MzJfdCBDTV9SR0FN X1JBTUFfRU5EX0NOVEwxX0c7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1BX0VORF9DTlRMMl9HOwot CXVpbnQzMl90IENNX1JHQU1fUkFNQV9FTkRfQ05UTDFfUjsKLQl1aW50MzJfdCBDTV9SR0FNX1JB TUFfRU5EX0NOVEwyX1I7Ci0JdWludDMyX3QgQ01fUkdBTV9SQU1BX1JFR0lPTl8wXzE7Ci0JdWlu dDMyX3QgQ01fUkdBTV9SQU1BX1JFR0lPTl8zMl8zMzsKLQl1aW50MzJfdCBDTV9SR0FNX0NPTlRS T0w7Ci0JdWludDMyX3QgQ01fQ01PVVRfQ09OVFJPTDsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX0xV VF9XUklURV9FTl9NQVNLOwotCXVpbnQzMl90IENNX0JMTkRHQU1fQ09OVFJPTDsKLQl1aW50MzJf dCBDTV9CTE5ER0FNX1JBTUJfU1RBUlRfQ05UTF9COwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFN Ql9TVEFSVF9DTlRMX0c7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1NUQVJUX0NOVExfUjsK LQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfU0xPUEVfQ05UTF9COwotCXVpbnQzMl90IENNX0JM TkRHQU1fUkFNQl9TTE9QRV9DTlRMX0c7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1NMT1BF X0NOVExfUjsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfRU5EX0NOVEwxX0I7Ci0JdWludDMy X3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMl9COwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFN Ql9FTkRfQ05UTDFfRzsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfRU5EX0NOVEwyX0c7Ci0J dWludDMyX3QgQ01fQkxOREdBTV9SQU1CX0VORF9DTlRMMV9SOwotCXVpbnQzMl90IENNX0JMTkRH QU1fUkFNQl9FTkRfQ05UTDJfUjsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzBf MTsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzJfMzsKLQl1aW50MzJfdCBDTV9C TE5ER0FNX1JBTUJfUkVHSU9OXzRfNTsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9O XzZfNzsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzhfOTsKLQl1aW50MzJfdCBD TV9CTE5ER0FNX1JBTUJfUkVHSU9OXzEwXzExOwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9S RUdJT05fMTJfMTM7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1JFR0lPTl8xNF8xNTsKLQl1 aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzE2XzE3OwotCXVpbnQzMl90IENNX0JMTkRH QU1fUkFNQl9SRUdJT05fMThfMTk7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1CX1JFR0lPTl8y MF8yMTsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzIyXzIzOwotCXVpbnQzMl90 IENNX0JMTkRHQU1fUkFNQl9SRUdJT05fMjRfMjU7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1C X1JFR0lPTl8yNl8yNzsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUJfUkVHSU9OXzI4XzI5Owot CXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQl9SRUdJT05fMzBfMzE7Ci0JdWludDMyX3QgQ01fQkxO REdBTV9SQU1CX1JFR0lPTl8zMl8zMzsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfU1RBUlRf Q05UTF9COwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9TVEFSVF9DTlRMX0c7Ci0JdWludDMy X3QgQ01fQkxOREdBTV9SQU1BX1NUQVJUX0NOVExfUjsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JB TUFfU0xPUEVfQ05UTF9COwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9TTE9QRV9DTlRMX0c7 Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1NMT1BFX0NOVExfUjsKLQl1aW50MzJfdCBDTV9C TE5ER0FNX1JBTUFfRU5EX0NOVEwxX0I7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX0VORF9D TlRMMl9COwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRfQ05UTDFfRzsKLQl1aW50MzJf dCBDTV9CTE5ER0FNX1JBTUFfRU5EX0NOVEwyX0c7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1B X0VORF9DTlRMMV9SOwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9FTkRfQ05UTDJfUjsKLQl1 aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzBfMTsKLQl1aW50MzJfdCBDTV9CTE5ER0FN X1JBTUFfUkVHSU9OXzJfMzsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzRfNTsK LQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzZfNzsKLQl1aW50MzJfdCBDTV9CTE5E R0FNX1JBTUFfUkVHSU9OXzhfOTsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzEw XzExOwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fMTJfMTM7Ci0JdWludDMyX3Qg Q01fQkxOREdBTV9SQU1BX1JFR0lPTl8xNF8xNTsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX1JBTUFf UkVHSU9OXzE2XzE3OwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05fMThfMTk7Ci0J dWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8yMF8yMTsKLQl1aW50MzJfdCBDTV9CTE5E R0FNX1JBTUFfUkVHSU9OXzIyXzIzOwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFNQV9SRUdJT05f MjRfMjU7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8yNl8yNzsKLQl1aW50MzJf dCBDTV9CTE5ER0FNX1JBTUFfUkVHSU9OXzI4XzI5OwotCXVpbnQzMl90IENNX0JMTkRHQU1fUkFN QV9SRUdJT05fMzBfMzE7Ci0JdWludDMyX3QgQ01fQkxOREdBTV9SQU1BX1JFR0lPTl8zMl8zMzsK LQl1aW50MzJfdCBDTV9CTE5ER0FNX0xVVF9JTkRFWDsKLQl1aW50MzJfdCBDTV9CTE5ER0FNX0xV VF9EQVRBOwotCXVpbnQzMl90IENNXzNETFVUX01PREU7Ci0JdWludDMyX3QgQ01fM0RMVVRfSU5E RVg7Ci0JdWludDMyX3QgQ01fM0RMVVRfREFUQTsKLQl1aW50MzJfdCBDTV8zRExVVF9EQVRBXzMw QklUOwotCXVpbnQzMl90IENNXzNETFVUX1JFQURfV1JJVEVfQ09OVFJPTDsKLQl1aW50MzJfdCBD TV9TSEFQRVJfTFVUX1dSSVRFX0VOX01BU0s7Ci0JdWludDMyX3QgQ01fU0hBUEVSX0NPTlRST0w7 Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfU1RBUlRfQ05UTF9COwotCXVpbnQzMl90IENNX1NI QVBFUl9SQU1CX1NUQVJUX0NOVExfRzsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9TVEFSVF9D TlRMX1I7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfRU5EX0NOVExfQjsKLQl1aW50MzJfdCBD TV9TSEFQRVJfUkFNQl9FTkRfQ05UTF9HOwotCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX0VORF9D TlRMX1I7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzBfMTsKLQl1aW50MzJfdCBD TV9TSEFQRVJfUkFNQl9SRUdJT05fMl8zOwotCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX1JFR0lP Tl80XzU7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzZfNzsKLQl1aW50MzJfdCBD TV9TSEFQRVJfUkFNQl9SRUdJT05fOF85OwotCXVpbnQzMl90IENNX1NIQVBFUl9SQU1CX1JFR0lP Tl8xMF8xMTsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMTJfMTM7Ci0JdWludDMy X3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzE0XzE1OwotCXVpbnQzMl90IENNX1NIQVBFUl9SQU1C X1JFR0lPTl8xNl8xNzsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMThfMTk7Ci0J dWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzIwXzIxOwotCXVpbnQzMl90IENNX1NIQVBF Ul9SQU1CX1JFR0lPTl8yMl8yMzsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJT05fMjRf MjU7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzI2XzI3OwotCXVpbnQzMl90IENN X1NIQVBFUl9SQU1CX1JFR0lPTl8yOF8yOTsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQl9SRUdJ T05fMzBfMzE7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUJfUkVHSU9OXzMyXzMzOwotCXVpbnQz Ml90IENNX1NIQVBFUl9SQU1BX1NUQVJUX0NOVExfQjsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFN QV9TVEFSVF9DTlRMX0c7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUFfU1RBUlRfQ05UTF9SOwot CXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX0VORF9DTlRMX0I7Ci0JdWludDMyX3QgQ01fU0hBUEVS X1JBTUFfRU5EX0NOVExfRzsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9FTkRfQ05UTF9SOwot CXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8wXzE7Ci0JdWludDMyX3QgQ01fU0hBUEVS X1JBTUFfUkVHSU9OXzJfMzsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9SRUdJT05fNF81Owot CXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl82Xzc7Ci0JdWludDMyX3QgQ01fU0hBUEVS X1JBTUFfUkVHSU9OXzhfOTsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9SRUdJT05fMTBfMTE7 Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUFfUkVHSU9OXzEyXzEzOwotCXVpbnQzMl90IENNX1NI QVBFUl9SQU1BX1JFR0lPTl8xNF8xNTsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9SRUdJT05f MTZfMTc7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUFfUkVHSU9OXzE4XzE5OwotCXVpbnQzMl90 IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8yMF8yMTsKLQl1aW50MzJfdCBDTV9TSEFQRVJfUkFNQV9S RUdJT05fMjJfMjM7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUFfUkVHSU9OXzI0XzI1OwotCXVp bnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8yNl8yNzsKLQl1aW50MzJfdCBDTV9TSEFQRVJf UkFNQV9SRUdJT05fMjhfMjk7Ci0JdWludDMyX3QgQ01fU0hBUEVSX1JBTUFfUkVHSU9OXzMwXzMx OwotCXVpbnQzMl90IENNX1NIQVBFUl9SQU1BX1JFR0lPTl8zMl8zMzsKLQl1aW50MzJfdCBDTV9T SEFQRVJfTFVUX0lOREVYOwotCXVpbnQzMl90IENNX1NIQVBFUl9MVVRfREFUQTsKLQl1aW50MzJf dCBDTV9JQ1NDX0NPTlRST0w7Ci0JdWludDMyX3QgQ01fSUNTQ19DMTFfQzEyOwotCXVpbnQzMl90 IENNX0lDU0NfQzMzX0MzNDsKLQl1aW50MzJfdCBDTV9CTlNfVkFMVUVTX1I7Ci0JdWludDMyX3Qg Q01fQk5TX1ZBTFVFU19HOwotCXVpbnQzMl90IENNX0JOU19WQUxVRVNfQjsKLQl1aW50MzJfdCBD TV9ER0FNX1JBTUJfU1RBUlRfQ05UTF9COwotCXVpbnQzMl90IENNX0RHQU1fUkFNQl9TVEFSVF9D TlRMX0c7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1CX1NUQVJUX0NOVExfUjsKLQl1aW50MzJfdCBD TV9ER0FNX1JBTUJfU0xPUEVfQ05UTF9COwotCXVpbnQzMl90IENNX0RHQU1fUkFNQl9TTE9QRV9D TlRMX0c7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1CX1NMT1BFX0NOVExfUjsKLQl1aW50MzJfdCBD TV9ER0FNX1JBTUJfRU5EX0NOVEwxX0I7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1CX0VORF9DTlRM Ml9COwotCXVpbnQzMl90IENNX0RHQU1fUkFNQl9FTkRfQ05UTDFfRzsKLQl1aW50MzJfdCBDTV9E R0FNX1JBTUJfRU5EX0NOVEwyX0c7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1CX0VORF9DTlRMMV9S OwotCXVpbnQzMl90IENNX0RHQU1fUkFNQl9FTkRfQ05UTDJfUjsKLQl1aW50MzJfdCBDTV9ER0FN X1JBTUJfUkVHSU9OXzBfMTsKLQl1aW50MzJfdCBDTV9ER0FNX1JBTUJfUkVHSU9OXzE0XzE1Owot CXVpbnQzMl90IENNX0RHQU1fUkFNQV9TVEFSVF9DTlRMX0I7Ci0JdWludDMyX3QgQ01fREdBTV9S QU1BX1NUQVJUX0NOVExfRzsKLQl1aW50MzJfdCBDTV9ER0FNX1JBTUFfU1RBUlRfQ05UTF9SOwot CXVpbnQzMl90IENNX0RHQU1fUkFNQV9TTE9QRV9DTlRMX0I7Ci0JdWludDMyX3QgQ01fREdBTV9S QU1BX1NMT1BFX0NOVExfRzsKLQl1aW50MzJfdCBDTV9ER0FNX1JBTUFfU0xPUEVfQ05UTF9SOwot CXVpbnQzMl90IENNX0RHQU1fUkFNQV9FTkRfQ05UTDFfQjsKLQl1aW50MzJfdCBDTV9ER0FNX1JB TUFfRU5EX0NOVEwyX0I7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1BX0VORF9DTlRMMV9HOwotCXVp bnQzMl90IENNX0RHQU1fUkFNQV9FTkRfQ05UTDJfRzsKLQl1aW50MzJfdCBDTV9ER0FNX1JBTUFf RU5EX0NOVEwxX1I7Ci0JdWludDMyX3QgQ01fREdBTV9SQU1BX0VORF9DTlRMMl9SOwotCXVpbnQz Ml90IENNX0RHQU1fUkFNQV9SRUdJT05fMF8xOwotCXVpbnQzMl90IENNX0RHQU1fUkFNQV9SRUdJ T05fMTRfMTU7Ci0JdWludDMyX3QgQ01fREdBTV9MVVRfV1JJVEVfRU5fTUFTSzsKLQl1aW50MzJf dCBDTV9ER0FNX0xVVF9JTkRFWDsKLQl1aW50MzJfdCBDTV9ER0FNX0xVVF9EQVRBOwotCXVpbnQz Ml90IENNX0NPTlRST0w7Ci0JdWludDMyX3QgQ01fREdBTV9DT05UUk9MOwotCXVpbnQzMl90IENN X0lHQU1fQ09OVFJPTDsKLQl1aW50MzJfdCBDTV9JR0FNX0xVVF9SV19DT05UUk9MOwotCXVpbnQz Ml90IENNX0lHQU1fTFVUX1JXX0lOREVYOwotCXVpbnQzMl90IENNX0lHQU1fTFVUX1NFUV9DT0xP UjsKLQl1aW50MzJfdCBGT1JNQVRfQ09OVFJPTDsKLQl1aW50MzJfdCBDTlZDX1NVUkZBQ0VfUElY RUxfRk9STUFUOwotCXVpbnQzMl90IENVUlNPUl9DT05UUk9MOwotCXVpbnQzMl90IENVUlNPUjBf Q09OVFJPTDsKLQl1aW50MzJfdCBDVVJTT1IwX0NPTE9SMDsKLQl1aW50MzJfdCBDVVJTT1IwX0NP TE9SMTsKKwlEUFBfQ09NTU9OX1JFR19WQVJJQUJMRV9MSVNUCiB9OwogCiBzdHJ1Y3QgZGNuMTBf ZHBwIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcv ZHBwLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RwcC5oCmluZGV4 IGNjYjQ4OTY5NzVjMi4uNmNjYzkwZmZiMGYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RwcC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9pbmMvaHcvZHBwLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBzdHJ1Y3QgZHBwX2Z1bmNz IHsKIAogCXZvaWQgKCpzZXRfY3Vyc29yX2F0dHJpYnV0ZXMpKAogCQkJc3RydWN0IGRwcCAqZHBw X2Jhc2UsCi0JCQljb25zdCBzdHJ1Y3QgZGNfY3Vyc29yX2F0dHJpYnV0ZXMgKmF0dHIpOworCQkJ ZW51bSBkY19jdXJzb3JfY29sb3JfZm9ybWF0IGNvbG9yX2Zvcm1hdCk7CiAKIAl2b2lkICgqc2V0 X2N1cnNvcl9wb3NpdGlvbikoCiAJCQlzdHJ1Y3QgZHBwICpkcHBfYmFzZSwKLS0gCjIuMTQuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==