From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from ol0router01.airtag.info ([88.190.231.88]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1RYJyD-00073T-Dx for ptxdist@pengutronix.de; Wed, 07 Dec 2011 17:03:56 +0100 Received: from localhost (localhost [127.0.0.1]) by ol0router01.airtag.info (Postfix) with ESMTP id D9B5D1FA247 for ; Wed, 7 Dec 2011 17:03:36 +0100 (CET) Received: from ol0router01.airtag.info ([127.0.0.1]) by localhost (ol0smtp01.airtag.local [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7z6jGIzqrLPb for ; Wed, 7 Dec 2011 17:03:33 +0100 (CET) Received: from HQ0SBS01.airtag.local (hq0sbs01.airtag.local [10.4.0.10]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client CN "*.airtag.com", Issuer "GlobalSign Organization Validation CA - G2" (verified OK)) by ol0router01.airtag.info (Postfix) with ESMTPS id 0F10E1FA23D for ; Wed, 7 Dec 2011 17:03:33 +0100 (CET) From: =?utf-8?B?QmVub8OudCBCVVJOSUNIT04=?= Date: Wed, 7 Dec 2011 16:02:50 +0000 Message-ID: <3944866A166FC34A948C72DD5EDDCA2A1DC6F400@HQ0SBS01.airtag.local> Content-Language: fr-FR MIME-Version: 1.0 Subject: [ptxdist] [PATCH 1/2] lua: Correct implementation for version 5.1.4 Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: "ptxdist@pengutronix.de" DQotLS0NCiBwYXRjaGVzL2x1YS01LjEuNC9hdXRvY29uZml6ZS5kaWZmICAgICAgICAgICAgICAg fCAgOTEyICsrKysrKysrKysrKysrKysrKysrKysNCiBwYXRjaGVzL2x1YS01LjEuNC9hdXRvbWFr aXplLmRpZmYgICAgICAgICAgICAgICAgfCAgMTEzICsrKw0KIHBhdGNoZXMvbHVhLTUuMS40L2x1 YS01LjEuMy1hdXRvY29uZml6ZS5kaWZmICAgICB8ICA5MTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQogcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9nZW4uc2guZGlmZiAgICAgIHwgICAy NiAtDQogcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9tYWtpemUuZGlmZiAgICAgIHwg IDExMSAtLS0NCiBwYXRjaGVzL2x1YS01LjEuNC9sdWEtNS4xLjMtcmVtb3ZlLU1ha2VmaWxlLmRp ZmYgfCAgMTQ5IC0tLS0NCiBwYXRjaGVzL2x1YS01LjEuNC9yZW1vdmUtTWFrZWZpbGUuZGlmZiAg ICAgICAgICAgfCAgMTQ5ICsrKysNCiBwYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICA3ICstDQogcnVsZXMvbHVhLm1ha2UgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQ0KIDkgZmlsZXMgY2hhbmdlZCwgMTE3OCBpbnNl cnRpb25zKCspLCAxMjAxIGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVz L2x1YS01LjEuNC9hdXRvY29uZml6ZS5kaWZmDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMv bHVhLTUuMS40L2F1dG9tYWtpemUuZGlmZg0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1 YS01LjEuNC9sdWEtNS4xLjMtYXV0b2NvbmZpemUuZGlmZg0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBw YXRjaGVzL2x1YS01LjEuNC9sdWEtNS4xLjMtYXV0b2dlbi5zaC5kaWZmDQogZGVsZXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1hdXRvbWFraXplLmRpZmYNCiBkZWxl dGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLXJlbW92ZS1NYWtlZmls ZS5kaWZmDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40L3JlbW92ZS1NYWtl ZmlsZS5kaWZmDQoNCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC9hdXRvY29uZml6ZS5k aWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvYXV0b2NvbmZpemUuZGlmZg0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAuLjQ2ODJmM2UNCi0tLSAvZGV2L251bGwNCisrKyBiL3BhdGNo ZXMvbHVhLTUuMS40L2F1dG9jb25maXplLmRpZmYNCkBAIC0wLDAgKzEsOTEyIEBADQorU3ViamVj dDogQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRkIGF1dG9jb25mIGZpbGVzDQor RnJvbTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+DQorDQorVGhpcyBwYXRjaCBhZGQg bHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQor c2NyaXB0aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0 byB1c2UgYXV0b2NvbmYNCit0byBidWlsZC4NCisNCitUaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFk ZHMgdGhlIGF1dG9jb25mIGZpbGVzLg0KKw0KK1NpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3 aW5AZXJ3aW5yb2wuY29tPg0KK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3 ZWJlbEBwZW5ndXRyb25peC5kZT4NCisNCistLS0NCisgY29uZmlndXJlLmFjICAgICAgICAgICAg ICB8ICAgNjggKysrKw0KKyBldGMvbHVhLnBjLmluICAgICAgICAgICAgIHwgICAzMiArDQorIHNy Yy9sdWFjb25mLmgudGVtcGxhdGUuaW4gfCAgNzc3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysNCisgMyBmaWxlcyBjaGFuZ2VkLCA4NzcgaW5zZXJ0aW9ucygr KQ0KKw0KK0luZGV4OiBsdWEtNS4xLjQvY29uZmlndXJlLmFjDQorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tLSAv ZGV2L251bGwgIDE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwDQorKysrIGx1YS01 LjEuNC9jb25maWd1cmUuYWMgICAgIDIwMTEtMTItMDYgMTE6NDc6NDkuNjc1MDc2MzE0ICswMTAw DQorQEAgLTAsMCArMSw3MCBAQA0KKytBQ19QUkVSRVEoWzIuNjddKQ0KKytBQ19JTklUKFtBdXRv dG9vbGl6ZWQgTHVhXSxbNS4xLjRdLFtdLFtsdWEtYXRdKQ0KKysNCisrQUNfQ09ORklHX01BQ1JP X0RJUihbbTRdKQ0KKysNCisrQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkNCisrQUNfQ09O RklHX1NSQ0RJUihbc3JjL2xhcGkuY10pDQorKw0KKytBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9y ZWlnbl0pDQorKw0KKytBQ19QUk9HX0NDDQorK0xUX0lOSVQNCisrDQorK0FDX0FSR19XSVRIKA0K KysgIFtyZWFkbGluZV0sDQorKyAgW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtcmVhZGxpbmVdLFtV c2UgcmVhZGxpbmUgZm9yIGludGVycHJldGVyIGlucHV0IFtkZWZhdWx0PXllc11dKV0sDQorKyAg W3VzZV9yZWFkbGluZT0kd2l0aHZhbF0sDQorKyAgW3VzZV9yZWFkbGluZT15ZXNdDQorKykNCisr DQorK0xVQV9MSUJTPSItbG0iDQorKw0KKysjIENoZWNrIGZvciByZWFkbGluZQ0KKytSRUFETElO RV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9SRUFETElORSINCisraWYgdGVzdCAieCR1c2VfcmVhZGxp bmUiID09ICJ4eWVzIjsgdGhlbg0KKysgIEFDX0NIRUNLX0xJQihbcmVhZGxpbmVdLCBbcmVhZGxp bmVdLCBbXSwgW3VzZV9yZWFkbGluZT1ub10pDQorKyAgQUNfQ0hFQ0tfSEVBREVSUyhbcmVhZGxp bmUvcmVhZGxpbmUuaCByZWFkbGluZS9oaXN0b3J5LmhdLCBbXSwgW3VzZV9yZWFkbGluZT1ub10p DQorKyAgaWYgdGVzdCAieCR1c2VfcmVhZGxpbmUiID09ICJ4bm8iOyB0aGVuDQorKyAgICBBQ19N U0dfV0FSTihbcmVhZGxpbmUgaGVhZGVycyBjb3VsZCBub3QgYmUgZm91bmQsIGRpc2FibGluZyBy ZWFkbGluZSBzdXBwb3J0XSkNCisrICBlbHNlDQorKyAgICBSRUFETElORV9ERUZTPSIjZGVmaW5l IExVQV9VU0VfUkVBRExJTkUiDQorKyAgICBMVUFfTElCUz0iJExVQV9MSUJTIC1scmVhZGxpbmUi DQorKyAgZmkNCisrZmkNCisrQUNfU1VCU1QoUkVBRExJTkVfREVGUykNCisrDQorK2Nhc2UgIiRo b3N0IiBpbg0KKysgICotbWluZ3cqKSAgdXNlX29zPXdpbjMyICA7Ow0KKysgICotZGFyd2luKikg dXNlX29zPW1hY29zeCA7Ow0KKysgICopICAgICAgICAgdXNlX29zPXBvc2l4ICA7Ow0KKytlc2Fj DQorKw0KKytQT1NJWF9ERUZTPSIjdW5kZWYgTFVBX1VTRV9QT1NJWCINCisrTFVBX0RMX0RFRlM9 IiN1bmRlZiBMVUFfVVNFX0RMT1BFTiINCisrTFVBX0JVSUxEX0FTX0RMTF9ERUZTPSIjdW5kZWYg TFVBX0JVSUxEX0FTX0RMTCINCisrDQorK2lmIHRlc3QgIngkdXNlX29zIiA9PSAieHdpbjMyIjsg dGhlbg0KKysgIExVQV9CVUlMRF9BU19ETExfREVGUz0iI2RlZmluZSBMVUFfQlVJTERfQVNfRExM Ig0KKytlbGlmIHRlc3QgIngkdXNlX29zIiA9PSAieG1hY29zeCI7IHRoZW4NCisrICBQT1NJWF9E RUZTPSIjZGVmaW5lIExVQV9VU0VfUE9TSVgiDQorKyAgTFVBX0RMX0RFRlM9IiNkZWZpbmUgTFVB X0RMX0RZTEQiDQorK2VsaWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4cG9zaXgiOyB0aGVuDQorKyAg UE9TSVhfREVGUz0iI2RlZmluZSBMVUFfVVNFX1BPU0lYIg0KKysgIExVQV9ETF9ERUZTPSIjZGVm aW5lIExVQV9ETF9ETE9QRU4iDQorKyAgTFVBX0xJQlM9IiRMVUFfTElCUyAtbGRsIg0KKytmaQ0K KytBQ19TVUJTVChQT1NJWF9ERUZTKQ0KKytBQ19TVUJTVChMVUFfRExfREVGUykNCisrQUNfU1VC U1QoTFVBX0JVSUxEX0FTX0RMTF9ERUZTKQ0KKysNCisrQUNfU1VCU1QoTFVBX0xJQlMpDQorKw0K KytBQ19DT05GSUdfRklMRVMoW01ha2VmaWxlDQorKyAgICAgICAgICAgICAgICAgc3JjL01ha2Vm aWxlDQorKyAgICAgICAgICAgICAgICAgc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZQ0KKysgICAgICAg ICAgICAgICAgIGV0Yy9NYWtlZmlsZQ0KKysgICAgICAgICAgICAgICAgIGV0Yy9sdWEucGMNCisr ICAgICAgICAgICAgICAgICBkb2MvTWFrZWZpbGUNCisrICAgICAgICAgICAgICAgdGVzdC9NYWtl ZmlsZV0pDQorK0FDX09VVFBVVA0KK0luZGV4OiBsdWEtNS4xLjQvZXRjL2x1YS5wYy5pbg0KKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NCistLS0gL2Rldi9udWxsICAxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCAr MDAwMA0KKysrKyBsdWEtNS4xLjQvZXRjL2x1YS5wYy5pbiAgICAyMDExLTEyLTA2IDExOjQ0OjUy LjEwMzgyNjg4MCArMDEwMA0KK0BAIC0wLDAgKzEsMzIgQEANCisrIyBsdWEucGMgLS0gcGtnLWNv bmZpZyBkYXRhIGZvciBMdWENCisrDQorKyMgdmFycyBmcm9tIGluc3RhbGwgTWFrZWZpbGUNCisr DQorKyMgZ3JlcCAnXlY9JyAuLi9NYWtlZmlsZQ0KKytWPSA1LjENCisrIyBncmVwICdeUj0nIC4u L01ha2VmaWxlDQorK1I9IEBWRVJTSU9OQA0KKysNCisrIyBncmVwICdeSU5TVEFMTF8uKj0nIC4u L01ha2VmaWxlIHwgc2VkICdzL0lOU1RBTExfVE9QL3ByZWZpeC8nDQorKyMgcGx1cyBhdXRvdG9v bGlmaWNhdGlvbg0KKytwcmVmaXg9IEBwcmVmaXhADQorK0lOU1RBTExfQklOPSAke3ByZWZpeH0v YmluDQorK0lOU1RBTExfSU5DPSAke3ByZWZpeH0vaW5jbHVkZQ0KKytJTlNUQUxMX0xJQj0gJHtw cmVmaXh9L2xpYg0KKytJTlNUQUxMX01BTj0gJHtwcmVmaXh9L21hbi9tYW4xDQorK0lOU1RBTExf TE1PRD0gJHtwcmVmaXh9L3NoYXJlL2x1YS8ke1Z9DQorK0lOU1RBTExfQ01PRD0gJHtwcmVmaXh9 L2xpYi9sdWEvJHtWfQ0KKysNCisrIyBjYW5vbmljYWwgdmFycw0KKytleGVjX3ByZWZpeD0ke3By ZWZpeH0NCisrbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYg0KKytpbmNsdWRlZGlyPSR7cHJlZml4 fS9pbmNsdWRlDQorKw0KKytOYW1lOiBMdWENCisrRGVzY3JpcHRpb246IEFuIEV4dGVuc2libGUg RXh0ZW5zaW9uIExhbmd1YWdlDQorK1ZlcnNpb246ICR7Un0NCisrUmVxdWlyZXM6DQorK0xpYnM6 IC1MJHtsaWJkaXJ9IC1sbHVhIC1sbQ0KKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KKysNCisr IyAoZW5kIG9mIGx1YS5wYykNCitJbmRleDogbHVhLTUuMS40L3NyYy9sdWFjb25mLmgudGVtcGxh dGUuaW4NCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQorLS0tIC9kZXYvbnVsbCAgMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDANCisrKysgbHVhLTUuMS40L3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4g ICAgICAgIDIwMTEtMTItMDYgMTE6NDQ6NTIuMTAzODI2ODgwICswMTAwDQorQEAgLTAsMCArMSw3 NzcgQEANCisrLyoNCisrKiogJElkOiBsdWFjb25mLmgsdiAxLjgyYSAyMDA2LzA0LzEwIDE4OjI3 OjIzIHJvYmVydG8gRXhwICQNCisrKiogQ29uZmlndXJhdGlvbiBmaWxlIGZvciBMdWENCisrKiog U2VlIENvcHlyaWdodCBOb3RpY2UgaW4gbHVhLmgNCisrKi8NCisrDQorKw0KKysjaWZuZGVmIGxj b25maWdfaA0KKysjZGVmaW5lIGxjb25maWdfaA0KKysNCisrI2luY2x1ZGUgPGxpbWl0cy5oPg0K KysjaW5jbHVkZSA8c3RkZGVmLmg+DQorKw0KKysvKg0KKysqKiA9PT09PT09PT09PT09PT09PQ0K KysqKiBBdXRvdG9vbGlmaWNhdGlvbg0KKysqKiA9PT09PT09PT09PT09PT09PQ0KKysqLw0KKysN CisrLyoqIGF1dG90b29saXplIHBhdGNoICoqLw0KKytAUE9TSVhfREVGU0ANCisrQExVQV9ETF9E RUZTQA0KKytATFVBX0JVSUxEX0FTX0RMTF9ERUZTQA0KKytAUkVBRExJTkVfREVGU0ANCisrLyoq IGF1dG90b29saXplIHBhdGNoICoqLw0KKysNCisrLyoNCisrKiogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorKyoqIFNl YXJjaCBmb3IgIkBAIiB0byBmaW5kIGFsbCBjb25maWd1cmFibGUgZGVmaW5pdGlvbnMuDQorKyoq ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCisrKi8NCisrDQorKw0KKysvKg0KKytAQCBMVUFfQU5TSSBjb250cm9scyB0 aGUgdXNlIG9mIG5vbi1hbnNpIGZlYXR1cmVzLg0KKysqKiBDSEFOR0UgaXQgKGRlZmluZSBpdCkg aWYgeW91IHdhbnQgTHVhIHRvIGF2b2lkIHRoZSB1c2Ugb2YgYW55DQorKyoqIG5vbi1hbnNpIGZl YXR1cmUgb3IgbGlicmFyeS4NCisrKi8NCisrI2lmIGRlZmluZWQoX19TVFJJQ1RfQU5TSV9fKQ0K KysjZGVmaW5lIExVQV9BTlNJDQorKyNlbmRpZg0KKysNCisrDQorKyNpZiAhZGVmaW5lZChMVUFf QU5TSSkgJiYgZGVmaW5lZChfV0lOMzIpDQorKyNkZWZpbmUgTFVBX1dJTg0KKysjZW5kaWYNCisr DQorKyNpZiBkZWZpbmVkKExVQV9VU0VfTElOVVgpDQorKyNkZWZpbmUgTFVBX1VTRV9QT1NJWA0K KysjZGVmaW5lIExVQV9VU0VfRExPUEVOICAgICAgICAgICAgICAgIC8qIG5lZWRzIGFuIGV4dHJh IGxpYnJhcnk6IC1sZGwgKi8NCisrI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FICAgICAgLyogbmVl ZHMgc29tZSBleHRyYSBsaWJyYXJpZXMgKi8NCisrI2VuZGlmDQorKw0KKysjaWYgZGVmaW5lZChM VUFfVVNFX01BQ09TWCkNCisrI2RlZmluZSBMVUFfVVNFX1BPU0lYDQorKyNkZWZpbmUgTFVBX0RM X0RZTEQgICAgICAgICAgIC8qIGRvZXMgbm90IG5lZWQgZXh0cmEgbGlicmFyeSAqLw0KKysjZW5k aWYNCisrDQorKw0KKysNCisrLyoNCisrQEAgTFVBX1VTRV9QT1NJWCBpbmNsdWRlcyBhbGwgZnVu Y3Rpb25hbGxpdHkgbGlzdGVkIGFzIFgvT3BlbiBTeXN0ZW0NCisrQCogSW50ZXJmYWNlcyBFeHRl bnNpb24gKFhTSSkuDQorKyoqIENIQU5HRSBpdCAoZGVmaW5lIGl0KSBpZiB5b3VyIHN5c3RlbSBp cyBYU0kgY29tcGF0aWJsZS4NCisrKi8NCisrI2lmIGRlZmluZWQoTFVBX1VTRV9QT1NJWCkNCisr I2RlZmluZSBMVUFfVVNFX01LU1RFTVANCisrI2RlZmluZSBMVUFfVVNFX0lTQVRUWQ0KKysjZGVm aW5lIExVQV9VU0VfUE9QRU4NCisrI2RlZmluZSBMVUFfVVNFX1VMT05HSk1QDQorKyNlbmRpZg0K KysNCisrDQorKy8qDQorK0BAIExVQV9QQVRIIGFuZCBMVUFfQ1BBVEggYXJlIHRoZSBuYW1lcyBv ZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQNCisrQCogTHVhIGNoZWNrIHRvIHNldCBp dHMgcGF0aHMuDQorK0BAIExVQV9JTklUIGlzIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2 YXJpYWJsZSB0aGF0IEx1YQ0KKytAKiBjaGVja3MgZm9yIGluaXRpYWxpemF0aW9uIGNvZGUuDQor KyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50IGRpZmZlcmVudCBuYW1lcy4NCisrKi8NCisrI2Rl ZmluZSBMVUFfUEFUSCAgICAgICAgIkxVQV9QQVRIIg0KKysjZGVmaW5lIExVQV9DUEFUSCAgICAg ICAiTFVBX0NQQVRIIg0KKysjZGVmaW5lIExVQV9JTklUICAgICAgIkxVQV9JTklUIg0KKysNCisr DQorKy8qDQorK0BAIExVQV9QQVRIX0RFRkFVTFQgaXMgdGhlIGRlZmF1bHQgcGF0aCB0aGF0IEx1 YSB1c2VzIHRvIGxvb2sgZm9yDQorK0AqIEx1YSBsaWJyYXJpZXMuDQorK0BAIExVQV9DUEFUSF9E RUZBVUxUIGlzIHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcg0KKytA KiBDIGxpYnJhcmllcy4NCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91ciBtYWNoaW5lIGhhcyBhIG5v bi1jb252ZW50aW9uYWwgZGlyZWN0b3J5DQorKyoqIGhpZXJhcmNoeSBvciBpZiB5b3Ugd2FudCB0 byBpbnN0YWxsIHlvdXIgbGlicmFyaWVzIGluDQorKyoqIG5vbi1jb252ZW50aW9uYWwgZGlyZWN0 b3JpZXMuDQorKyovDQorKyNpZiBkZWZpbmVkKF9XSU4zMikNCisrLyoNCisrKiogSW4gV2luZG93 cywgYW55IGV4Y2xhbWF0aW9uIG1hcmsgKCchJykgaW4gdGhlIHBhdGggaXMgcmVwbGFjZWQgYnkg dGhlDQorKyoqIHBhdGggb2YgdGhlIGRpcmVjdG9yeSBvZiB0aGUgZXhlY3V0YWJsZSBmaWxlIG9m IHRoZSBjdXJyZW50IHByb2Nlc3MuDQorKyovDQorKyNkZWZpbmUgTFVBX0xESVIgICAgICAiIVxc bHVhXFwiDQorKyNkZWZpbmUgTFVBX0NESVIgICAgICAiIVxcIg0KKysjZGVmaW5lIExVQV9QQVRI X0RFRkFVTFQgIFwNCisrICAgICAgICAgICAgICAiLlxcPy5sdWE7IiAgTFVBX0xESVIiPy5sdWE7 IiAgTFVBX0xESVIiP1xcaW5pdC5sdWE7IiBcDQorKyAgICAgICAgICAgICAgICAgICAgICAgICAg IExVQV9DRElSIj8ubHVhOyIgIExVQV9DRElSIj9cXGluaXQubHVhIg0KKysjZGVmaW5lIExVQV9D UEFUSF9ERUZBVUxUIFwNCisrICAgICAgIi5cXD8uZGxsOyIgIExVQV9DRElSIj8uZGxsOyIgTFVB X0NESVIibG9hZGFsbC5kbGwiDQorKw0KKysjZWxzZQ0KKysNCisrLyoqIGF1dG90b29saXplIHBh dGNoICoqLw0KKysjZGVmaW5lIExVQV9MRElSICAgICAgIiVsdWFfZGF0YWRpciUvbHVhLzUuMS8i DQorKyNkZWZpbmUgTFVBX0NESVIgICAgICAiJWx1YV9saWJkaXIlL2x1YS81LjEvIg0KKysvKiog YXV0b3Rvb2xpemUgcGF0Y2ggKiovDQorKw0KKysjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQgIFwN CisrICAgICAgICAgICAgICAiLi8/Lmx1YTsiICBMVUFfTERJUiI/Lmx1YTsiICBMVUFfTERJUiI/ L2luaXQubHVhOyIgXA0KKysgICAgICAgICAgICAgICAgICAgICAgICAgIExVQV9DRElSIj8ubHVh OyIgIExVQV9DRElSIj8vaW5pdC5sdWEiDQorKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFVTFQgXA0K KysgICAgICAiLi8/LnNvOyIgIExVQV9DRElSIj8uc287IiBMVUFfQ0RJUiJsb2FkYWxsLnNvIg0K KysjZW5kaWYNCisrDQorKw0KKysvKg0KKytAQCBMVUFfRElSU0VQIGlzIHRoZSBkaXJlY3Rvcnkg c2VwYXJhdG9yIChmb3Igc3VibW9kdWxlcykuDQorKyoqIENIQU5HRSBpdCBpZiB5b3VyIG1hY2hp bmUgZG9lcyBub3QgdXNlICIvIiBhcyB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvcg0KKysqKiBhbmQg aXMgbm90IFdpbmRvd3MuIChPbiBXaW5kb3dzIEx1YSBhdXRvbWF0aWNhbGx5IHVzZXMgIlwiLikN CisrKi8NCisrI2lmIGRlZmluZWQoX1dJTjMyKQ0KKysjZGVmaW5lIExVQV9ESVJTRVAgICAgIlxc Ig0KKysjZWxzZQ0KKysjZGVmaW5lIExVQV9ESVJTRVAgICAgIi8iDQorKyNlbmRpZg0KKysNCisr DQorKy8qDQorK0BAIExVQV9QQVRIU0VQIGlzIHRoZSBjaGFyYWN0ZXIgdGhhdCBzZXBhcmF0ZXMg dGVtcGxhdGVzIGluIGEgcGF0aC4NCisrQEAgTFVBX1BBVEhfTUFSSyBpcyB0aGUgc3RyaW5nIHRo YXQgbWFya3MgdGhlIHN1YnN0aXR1dGlvbiBwb2ludHMgaW4gYQ0KKytAKiB0ZW1wbGF0ZS4NCisr QEAgTFVBX0VYRUNESVIgaW4gYSBXaW5kb3dzIHBhdGggaXMgcmVwbGFjZWQgYnkgdGhlIGV4ZWN1 dGFibGUncw0KKytAKiBkaXJlY3RvcnkuDQorK0BAIExVQV9JR01BUksgaXMgYSBtYXJrIHRvIGln bm9yZSBhbGwgYmVmb3JlIGl0IHdoZW4gYnVsZGluZyB0aGUNCisrQCogbHVhb3Blbl8gZnVuY3Rp b24gbmFtZS4NCisrKiogQ0hBTkdFIHRoZW0gaWYgZm9yIHNvbWUgcmVhc29uIHlvdXIgc3lzdGVt IGNhbm5vdCB1c2UgdGhvc2UNCisrKiogY2hhcmFjdGVycy4gKEUuZy4sIGlmIG9uZSBvZiB0aG9z ZSBjaGFyYWN0ZXJzIGlzIGEgY29tbW9uIGNoYXJhY3Rlcg0KKysqKiBpbiBmaWxlL2RpcmVjdG9y eSBuYW1lcy4pIFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhlbS4NCisrKi8N CisrI2RlZmluZSBMVUFfUEFUSFNFUCAgICI7Ig0KKysjZGVmaW5lIExVQV9QQVRIX01BUksgIj8i DQorKyNkZWZpbmUgTFVBX0VYRUNESVIgICAiISINCisrI2RlZmluZSBMVUFfSUdNQVJLICAgICIt Ig0KKysNCisrDQorKy8qDQorK0BAIExVQV9JTlRFR0VSIGlzIHRoZSBpbnRlZ3JhbCB0eXBlIHVz ZWQgYnkgbHVhX3B1c2hpbnRlZ2VyL2x1YV90b2ludGVnZXIuDQorKyoqIENIQU5HRSB0aGF0IGlm IHB0cmRpZmZfdCBpcyBub3QgYWRlcXVhdGUgb24geW91ciBtYWNoaW5lLiAoT24gbW9zdA0KKysq KiBtYWNoaW5lcywgcHRyZGlmZl90IGdpdmVzIGEgZ29vZCBjaG9pY2UgYmV0d2VlbiBpbnQgb3Ig bG9uZy4pDQorKyovDQorKyNkZWZpbmUgTFVBX0lOVEVHRVIgICBwdHJkaWZmX3QNCisrDQorKw0K KysvKg0KKytAQCBMVUFfQVBJIGlzIGEgbWFyayBmb3IgYWxsIGNvcmUgQVBJIGZ1bmN0aW9ucy4N CisrQEAgTFVBTElCX0FQSSBpcyBhIG1hcmsgZm9yIGFsbCBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0 aW9ucy4NCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0 aW9ucyBpbiBzb21lIHNwZWNpYWwgd2F5Lg0KKysqKiBGb3IgaW5zdGFuY2UsIGlmIHlvdSB3YW50 IHRvIGNyZWF0ZSBvbmUgV2luZG93cyBETEwgd2l0aCB0aGUgY29yZSBhbmQNCisrKiogdGhlIGxp YnJhcmllcywgeW91IG1heSB3YW50IHRvIHVzZSB0aGUgZm9sbG93aW5nIGRlZmluaXRpb24gKGRl ZmluZQ0KKysqKiBMVUFfQlVJTERfQVNfRExMIHRvIGdldCBpdCkuDQorKyovDQorKyNpZiBkZWZp bmVkKExVQV9CVUlMRF9BU19ETEwpDQorKw0KKysjaWYgZGVmaW5lZChMVUFfQ09SRSkgfHwgZGVm aW5lZChMVUFfTElCKQ0KKysjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhkbGxleHBvcnQpDQor KyNlbHNlDQorKyNkZWZpbmUgTFVBX0FQSSBfX2RlY2xzcGVjKGRsbGltcG9ydCkNCisrI2VuZGlm DQorKw0KKysjZWxzZQ0KKysNCisrI2RlZmluZSBMVUFfQVBJICAgICAgICAgICAgICAgZXh0ZXJu DQorKw0KKysjZW5kaWYNCisrDQorKy8qIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhlIGxpYnMgZ28g dG9nZXRoZXIgd2l0aCB0aGUgY29yZSAqLw0KKysjZGVmaW5lIExVQUxJQl9BUEkgICAgTFVBX0FQ SQ0KKysNCisrDQorKy8qDQorK0BAIExVQUlfRlVOQyBpcyBhIG1hcmsgZm9yIGFsbCBleHRlcm4g ZnVuY3Rpb25zIHRoYXQgYXJlIG5vdCB0byBiZQ0KKytAKiBleHBvcnRlZCB0byBvdXRzaWRlIG1v ZHVsZXMuDQorK0BAIExVQUlfREFUQSBpcyBhIG1hcmsgZm9yIGFsbCBleHRlcm4gKGNvbnN0KSB2 YXJpYWJsZXMgdGhhdCBhcmUgbm90IHRvDQorK0AqIGJlIGV4cG9ydGVkIHRvIG91dHNpZGUgbW9k dWxlcy4NCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gbWFyayB0aGVtIGluIHNvbWUg c3BlY2lhbCB3YXkuIEVsZi9nY2MNCisrKiogKHZlcnNpb25zIDMuMiBhbmQgbGF0ZXIpIG1hcmsg dGhlbSBhcyAiaGlkZGVuIiB0byBvcHRpbWl6ZSBhY2Nlc3MNCisrKiogd2hlbiBMdWEgaXMgY29t cGlsZWQgYXMgYSBzaGFyZWQgbGlicmFyeS4NCisrKi8NCisrI2lmIGRlZmluZWQobHVhYWxsX2Mp DQorKyNkZWZpbmUgTFVBSV9GVU5DICAgICBzdGF0aWMNCisrI2RlZmluZSBMVUFJX0RBVEEgICAg IC8qIGVtcHR5ICovDQorKw0KKysjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKF9fR05VQ19f KjEwMCArIF9fR05VQ19NSU5PUl9fKSA+PSAzMDIpICYmIFwNCisrICAgICAgZGVmaW5lZChfX0VM Rl9fKQ0KKysjZGVmaW5lIExVQUlfRlVOQyAgICAgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgi aGlkZGVuIikpKSBleHRlcm4NCisrI2RlZmluZSBMVUFJX0RBVEEgICAgIExVQUlfRlVOQw0KKysN CisrI2Vsc2UNCisrI2RlZmluZSBMVUFJX0ZVTkMgICAgIGV4dGVybg0KKysjZGVmaW5lIExVQUlf REFUQSAgICAgZXh0ZXJuDQorKyNlbmRpZg0KKysNCisrDQorKw0KKysvKg0KKytAQCBMVUFfUUwg ZGVzY3JpYmVzIGhvdyBlcnJvciBtZXNzYWdlcyBxdW90ZSBwcm9ncmFtIGVsZW1lbnRzLg0KKysq KiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQgYXBwZWFyYW5jZS4NCisrKi8NCisr I2RlZmluZSBMVUFfUUwoeCkgICAgICInIiB4ICInIg0KKysjZGVmaW5lIExVQV9RUyAgICAgICAg ICAgICAgICBMVUFfUUwoIiVzIikNCisrDQorKw0KKysvKg0KKytAQCBMVUFfSURTSVpFIGdpdmVz IHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc291cmNlDQorK0Aq IG9mIGEgZnVuY3Rpb24gaW4gZGVidWcgaW5mb3JtYXRpb24uDQorKyoqIENIQU5HRSBpdCBpZiB5 b3Ugd2FudCBhIGRpZmZlcmVudCBzaXplLg0KKysqLw0KKysjZGVmaW5lIExVQV9JRFNJWkUgICAg NjANCisrDQorKw0KKysvKg0KKysqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQorKyoqIFN0YW5kLWFsb25lIGNvbmZp Z3VyYXRpb24NCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKysqLw0KKysNCisrI2lmIGRlZmluZWQobHVhX2Mp IHx8IGRlZmluZWQobHVhYWxsX2MpDQorKw0KKysvKg0KKytAQCBsdWFfc3RkaW5faXNfdHR5IGRl dGVjdHMgd2hldGhlciB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgYSAndHR5JyAodGhhdA0KKytAKiBp cywgd2hldGhlciB3ZSdyZSBydW5uaW5nIGx1YSBpbnRlcmFjdGl2ZWx5KS4NCisrKiogQ0hBTkdF IGl0IGlmIHlvdSBoYXZlIGEgYmV0dGVyIGRlZmluaXRpb24gZm9yIG5vbi1QT1NJWC9ub24tV2lu ZG93cw0KKysqKiBzeXN0ZW1zLg0KKysqLw0KKysjaWYgZGVmaW5lZChMVUFfVVNFX0lTQVRUWSkN CisrI2luY2x1ZGUgPHVuaXN0ZC5oPg0KKysjZGVmaW5lIGx1YV9zdGRpbl9pc190dHkoKSAgICBp c2F0dHkoMCkNCisrI2VsaWYgZGVmaW5lZChMVUFfV0lOKQ0KKysjaW5jbHVkZSA8aW8uaD4NCisr I2luY2x1ZGUgPHN0ZGlvLmg+DQorKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgpICAgIF9pc2F0 dHkoX2ZpbGVubyhzdGRpbikpDQorKyNlbHNlDQorKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgp ICAgIDEgIC8qIGFzc3VtZSBzdGRpbiBpcyBhIHR0eSAqLw0KKysjZW5kaWYNCisrDQorKw0KKysv Kg0KKytAQCBMVUFfUFJPTVBUIGlzIHRoZSBkZWZhdWx0IHByb21wdCB1c2VkIGJ5IHN0YW5kLWFs b25lIEx1YS4NCisrQEAgTFVBX1BST01QVDIgaXMgdGhlIGRlZmF1bHQgY29udGludWF0aW9uIHBy b21wdCB1c2VkIGJ5IHN0YW5kLWFsb25lIEx1YS4NCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IHdh bnQgZGlmZmVyZW50IHByb21wdHMuIChZb3UgY2FuIGFsc28gY2hhbmdlIHRoZQ0KKysqKiBwcm9t cHRzIGR5bmFtaWNhbGx5LCBhc3NpZ25pbmcgdG8gZ2xvYmFscyBfUFJPTVBUL19QUk9NUFQyLikN CisrKi8NCisrI2RlZmluZSBMVUFfUFJPTVBUICAgICAgICAgICAgIj4gIg0KKysjZGVmaW5lIExV QV9QUk9NUFQyICAgICAgICAgICAiPj4gIg0KKysNCisrDQorKy8qDQorK0BAIExVQV9QUk9HTkFN RSBpcyB0aGUgZGVmYXVsdCBuYW1lIGZvciB0aGUgc3RhbmQtYWxvbmUgTHVhIHByb2dyYW0uDQor KyoqIENIQU5HRSBpdCBpZiB5b3VyIHN0YW5kLWFsb25lIGludGVycHJldGVyIGhhcyBhIGRpZmZl cmVudCBuYW1lIGFuZA0KKysqKiB5b3VyIHN5c3RlbSBpcyBub3QgYWJsZSB0byBkZXRlY3QgdGhh dCBuYW1lIGF1dG9tYXRpY2FsbHkuDQorKyovDQorKyNkZWZpbmUgTFVBX1BST0dOQU1FICAgICAg ICAgICJsdWEiDQorKw0KKysNCisrLyoNCisrQEAgTFVBX01BWElOUFVUIGlzIHRoZSBtYXhpbXVt IGxlbmd0aCBmb3IgYW4gaW5wdXQgbGluZSBpbiB0aGUNCisrQCogc3RhbmQtYWxvbmUgaW50ZXJw cmV0ZXIuDQorKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCBsb25nZXIgbGluZXMuDQorKyovDQor KyNkZWZpbmUgTFVBX01BWElOUFVUICA1MTINCisrDQorKw0KKysvKg0KKytAQCBsdWFfcmVhZGxp bmUgZGVmaW5lcyBob3cgdG8gc2hvdyBhIHByb21wdCBhbmQgdGhlbiByZWFkIGEgbGluZSBmcm9t DQorK0AqIHRoZSBzdGFuZGFyZCBpbnB1dC4NCisrQEAgbHVhX3NhdmVsaW5lIGRlZmluZXMgaG93 IHRvICJzYXZlIiBhIHJlYWQgbGluZSBpbiBhICJoaXN0b3J5Ii4NCisrQEAgbHVhX2ZyZWVsaW5l IGRlZmluZXMgaG93IHRvIGZyZWUgYSBsaW5lIHJlYWQgYnkgbHVhX3JlYWRsaW5lLg0KKysqKiBD SEFOR0UgdGhlbSBpZiB5b3Ugd2FudCB0byBpbXByb3ZlIHRoaXMgZnVuY3Rpb25hbGl0eSAoZS5n LiwgYnkgdXNpbmcNCisrKiogR05VIHJlYWRsaW5lIGFuZCBoaXN0b3J5IGZhY2lsaXRpZXMpLg0K KysqLw0KKysjaWYgZGVmaW5lZChMVUFfVVNFX1JFQURMSU5FKQ0KKysjaW5jbHVkZSA8c3RkaW8u aD4NCisrI2luY2x1ZGUgPHJlYWRsaW5lL3JlYWRsaW5lLmg+DQorKyNpbmNsdWRlIDxyZWFkbGlu ZS9oaXN0b3J5Lmg+DQorKyNkZWZpbmUgbHVhX3JlYWRsaW5lKEwsYixwKSAgICgodm9pZClMLCAo KGIpPXJlYWRsaW5lKHApKSAhPSBOVUxMKQ0KKysjZGVmaW5lIGx1YV9zYXZlbGluZShMLGlkeCkg XA0KKysgICAgICBpZiAobHVhX3N0cmxlbihMLGlkeCkgPiAwKSAgLyogbm9uLWVtcHR5IGxpbmU/ ICovIFwNCisrICAgICAgICBhZGRfaGlzdG9yeShsdWFfdG9zdHJpbmcoTCwgaWR4KSk7ICAvKiBh ZGQgaXQgdG8gaGlzdG9yeSAqLw0KKysjZGVmaW5lIGx1YV9mcmVlbGluZShMLGIpICAgICAoKHZv aWQpTCwgZnJlZShiKSkNCisrI2Vsc2UNCisrI2RlZmluZSBsdWFfcmVhZGxpbmUoTCxiLHApICAg XA0KKysgICAgICAoKHZvaWQpTCwgZnB1dHMocCwgc3Rkb3V0KSwgZmZsdXNoKHN0ZG91dCksICAv KiBzaG93IHByb21wdCAqLyBcDQorKyAgICAgIGZnZXRzKGIsIExVQV9NQVhJTlBVVCwgc3RkaW4p ICE9IE5VTEwpICAvKiBnZXQgbGluZSAqLw0KKysjZGVmaW5lIGx1YV9zYXZlbGluZShMLGlkeCkg ICB7ICh2b2lkKUw7ICh2b2lkKWlkeDsgfQ0KKysjZGVmaW5lIGx1YV9mcmVlbGluZShMLGIpICAg ICB7ICh2b2lkKUw7ICh2b2lkKWI7IH0NCisrI2VuZGlmDQorKw0KKysjZW5kaWYNCisrDQorKy8q IH09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0gKi8NCisrDQorKw0KKysvKg0KKytAQCBMVUFJX0dDUEFVU0UgZGVmaW5lcyB0 aGUgZGVmYXVsdCBwYXVzZSBiZXR3ZWVuIGdhcmJhZ2UtY29sbGVjdG9yIGN5Y2xlcw0KKytAKiBh cyBhIHBlcmNlbnRhZ2UuDQorKyoqIENIQU5HRSBpdCBpZiB5b3Ugd2FudCB0aGUgR0MgdG8gcnVu IGZhc3RlciBvciBzbG93ZXIgKGhpZ2hlciB2YWx1ZXMNCisrKiogbWVhbiBsYXJnZXIgcGF1c2Vz IHdoaWNoIG1lYW4gc2xvd2VyIGNvbGxlY3Rpb24uKSBZb3UgY2FuIGFsc28gY2hhbmdlDQorKyoq IHRoaXMgdmFsdWUgZHluYW1pY2FsbHkuDQorKyovDQorKyNkZWZpbmUgTFVBSV9HQ1BBVVNFICAy MDAgIC8qIDIwMCUgKHdhaXQgbWVtb3J5IHRvIGRvdWJsZSBiZWZvcmUgbmV4dCBHQykgKi8NCisr DQorKw0KKysvKg0KKytAQCBMVUFJX0dDTVVMIGRlZmluZXMgdGhlIGRlZmF1bHQgc3BlZWQgb2Yg Z2FyYmFnZSBjb2xsZWN0aW9uIHJlbGF0aXZlIHRvDQorK0AqIG1lbW9yeSBhbGxvY2F0aW9uIGFz IGEgcGVyY2VudGFnZS4NCisrKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUg Z3JhbnVsYXJpdHkgb2YgdGhlIGdhcmJhZ2UNCisrKiogY29sbGVjdGlvbi4gKEhpZ2hlciB2YWx1 ZXMgbWVhbiBjb2Fyc2VyIGNvbGxlY3Rpb25zLiAwIHJlcHJlc2VudHMNCisrKiogaW5maW5pdHks IHdoZXJlIGVhY2ggc3RlcCBwZXJmb3JtcyBhIGZ1bGwgY29sbGVjdGlvbi4pIFlvdSBjYW4gYWxz bw0KKysqKiBjaGFuZ2UgdGhpcyB2YWx1ZSBkeW5hbWljYWxseS4NCisrKi8NCisrI2RlZmluZSBM VUFJX0dDTVVMICAgIDIwMCAvKiBHQyBydW5zICd0d2ljZSB0aGUgc3BlZWQnIG9mIG1lbW9yeSBh bGxvY2F0aW9uICovDQorKw0KKysNCisrDQorKy8qDQorK0BAIExVQV9DT01QQVRfR0VUTiBjb250 cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGdldG4gYmVoYXZpb3IuDQorKyoqIENIQU5HRSBp dCAoZGVmaW5lIGl0KSBpZiB5b3Ugd2FudCBleGFjdCBjb21wYXRpYmlsaXR5IHdpdGggdGhlDQor KyoqIGJlaGF2aW9yIG9mIHNldG4vZ2V0biBpbiBMdWEgNS4wLg0KKysqLw0KKysjdW5kZWYgTFVB X0NPTVBBVF9HRVRODQorKw0KKysvKg0KKytAQCBMVUFfQ09NUEFUX0xPQURMSUIgY29udHJvbHMg Y29tcGF0aWJpbGl0eSBhYm91dCBnbG9iYWwgbG9hZGxpYi4NCisrKiogQ0hBTkdFIGl0IHRvIHVu ZGVmaW5lZCBhcyBzb29uIGFzIHlvdSBkbyBub3QgbmVlZCBhIGdsb2JhbCAnbG9hZGxpYicNCisr KiogZnVuY3Rpb24gKHRoZSBmdW5jdGlvbiBpcyBzdGlsbCBhdmFpbGFibGUgYXMgJ3BhY2thZ2Uu bG9hZGxpYicpLg0KKysqLw0KKysjdW5kZWYgTFVBX0NPTVBBVF9MT0FETElCDQorKw0KKysvKg0K KytAQCBMVUFfQ09NUEFUX1ZBUkFSRyBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIHZh cmFyZyBmZWF0dXJlLg0KKysqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91 ciBwcm9ncmFtcyB1c2Ugb25seSAnLi4uJyB0bw0KKysqKiBhY2Nlc3MgdmFyYXJnIHBhcmFtZXRl cnMgKGluc3RlYWQgb2YgdGhlIG9sZCAnYXJnJyB0YWJsZSkuDQorKyovDQorKyNkZWZpbmUgTFVB X0NPTVBBVF9WQVJBUkcNCisrDQorKy8qDQorK0BAIExVQV9DT01QQVRfTU9EIGNvbnRyb2xzIGNv bXBhdGliaWxpdHkgd2l0aCBvbGQgbWF0aC5tb2QgZnVuY3Rpb24uDQorKyoqIENIQU5HRSBpdCB0 byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3VyIHByb2dyYW1zIHVzZSAnbWF0aC5mbW9kJyBvcg0K KysqKiB0aGUgbmV3ICclJyBvcGVyYXRvciBpbnN0ZWFkIG9mICdtYXRoLm1vZCcuDQorKyovDQor KyNkZWZpbmUgTFVBX0NPTVBBVF9NT0QNCisrDQorKy8qDQorK0BAIExVQV9DT01QQVRfTFNUUiBj b250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGxvbmcgc3RyaW5nIG5lc3RpbmcNCisrQCog ZmFjaWxpdHkuDQorKyoqIENIQU5HRSBpdCB0byAyIGlmIHlvdSB3YW50IHRoZSBvbGQgYmVoYXZp b3VyLCBvciB1bmRlZmluZSBpdCB0byB0dXJuDQorKyoqIG9mZiB0aGUgYWR2aXNvcnkgZXJyb3Ig d2hlbiBuZXN0aW5nIFtbLi4uXV0uDQorKyovDQorKyNkZWZpbmUgTFVBX0NPTVBBVF9MU1RSICAg ICAgICAgICAgICAgMQ0KKysNCisrLyoNCisrQEAgTFVBX0NPTVBBVF9HRklORCBjb250cm9scyBj b21wYXRpYmlsaXR5IHdpdGggb2xkICdzdHJpbmcuZ2ZpbmQnIG5hbWUuDQorKyoqIENIQU5HRSBp dCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3UgcmVuYW1lICdzdHJpbmcuZ2ZpbmQnIHRvDQor KyoqICdzdHJpbmcuZ21hdGNoJy4NCisrKi8NCisrI2RlZmluZSBMVUFfQ09NUEFUX0dGSU5EDQor Kw0KKysvKg0KKytAQCBMVUFfQ09NUEFUX09QRU5MSUIgY29udHJvbHMgY29tcGF0aWJpbGl0eSB3 aXRoIG9sZCAnbHVhTF9vcGVubGliJw0KKytAKiBiZWhhdmlvci4NCisrKiogQ0hBTkdFIGl0IHRv IHVuZGVmaW5lZCBhcyBzb29uIGFzIHlvdSByZXBsYWNlIHRvICdsdWFMX3JlZ2lzdGVyJw0KKysq KiB5b3VyIHVzZXMgb2YgJ2x1YUxfb3BlbmxpYicNCisrKi8NCisrI2RlZmluZSBMVUFfQ09NUEFU X09QRU5MSUINCisrDQorKw0KKysNCisrLyoNCisrQEAgbHVhaV9hcGljaGVjayBpcyB0aGUgYXNz ZXJ0IG1hY3JvIHVzZWQgYnkgdGhlIEx1YS1DIEFQSS4NCisrKiogQ0hBTkdFIGx1YWlfYXBpY2hl Y2sgaWYgeW91IHdhbnQgTHVhIHRvIHBlcmZvcm0gc29tZSBjaGVja3MgaW4gdGhlDQorKyoqIHBh cmFtZXRlcnMgaXQgZ2V0cyBmcm9tIEFQSSBjYWxscy4gVGhpcyBtYXkgc2xvdyBkb3duIHRoZSBp bnRlcnByZXRlcg0KKysqKiBhIGJpdCwgYnV0IG1heSBiZSBxdWl0ZSB1c2VmdWwgd2hlbiBkZWJ1 Z2dpbmcgQyBjb2RlIHRoYXQgaW50ZXJmYWNlcw0KKysqKiB3aXRoIEx1YS4gQSB1c2VmdWwgcmVk ZWZpbml0aW9uIGlzIHRvIHVzZSBhc3NlcnQuaC4NCisrKi8NCisrI2lmIGRlZmluZWQoTFVBX1VT RV9BUElDSEVDSykNCisrI2luY2x1ZGUgPGFzc2VydC5oPg0KKysjZGVmaW5lIGx1YWlfYXBpY2hl Y2soTCxvKSAgICB7ICh2b2lkKUw7IGFzc2VydChvKTsgfQ0KKysjZWxzZQ0KKysjZGVmaW5lIGx1 YWlfYXBpY2hlY2soTCxvKSAgICB7ICh2b2lkKUw7IH0NCisrI2VuZGlmDQorKw0KKysNCisrLyoN CisrQEAgTFVBSV9CSVRTSU5UIGRlZmluZXMgdGhlIG51bWJlciBvZiBiaXRzIGluIGFuIGludC4N CisrKiogQ0hBTkdFIGhlcmUgaWYgTHVhIGNhbm5vdCBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUg bnVtYmVyIG9mIGJpdHMgb2YNCisrKiogeW91ciBtYWNoaW5lLiBQcm9iYWJseSB5b3UgZG8gbm90 IG5lZWQgdG8gY2hhbmdlIHRoaXMuDQorKyovDQorKy8qIGF2b2lkIG92ZXJmbG93cyBpbiBjb21w YXJpc29uICovDQorKyNpZiBJTlRfTUFYLTIwIDwgMzI3NjANCisrI2RlZmluZSBMVUFJX0JJVFNJ TlQgIDE2DQorKyNlbGlmIElOVF9NQVggPiAyMTQ3NDgzNjQwTA0KKysvKiBpbnQgaGFzIGF0IGxl YXN0IDMyIGJpdHMgKi8NCisrI2RlZmluZSBMVUFJX0JJVFNJTlQgIDMyDQorKyNlbHNlDQorKyNl cnJvciAieW91IG11c3QgZGVmaW5lIExVQV9CSVRTSU5UIHdpdGggbnVtYmVyIG9mIGJpdHMgaW4g YW4gaW50ZWdlciINCisrI2VuZGlmDQorKw0KKysNCisrLyoNCisrQEAgTFVBSV9VSU5UMzIgaXMg YW4gdW5zaWduZWQgaW50ZWdlciB3aXRoIGF0IGxlYXN0IDMyIGJpdHMuDQorK0BAIExVQUlfSU5U MzIgaXMgYW4gc2lnbmVkIGludGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBiaXRzLg0KKytAQCBMVUFJ X1VNRU0gaXMgYW4gdW5zaWduZWQgaW50ZWdlciBiaWcgZW5vdWdoIHRvIGNvdW50IHRoZSB0b3Rh bA0KKytAKiBtZW1vcnkgdXNlZCBieSBMdWEuDQorK0BAIExVQUlfTUVNIGlzIGEgc2lnbmVkIGlu dGVnZXIgYmlnIGVub3VnaCB0byBjb3VudCB0aGUgdG90YWwgbWVtb3J5DQorK0AqIHVzZWQgYnkg THVhLg0KKysqKiBDSEFOR0UgaGVyZSBpZiBmb3Igc29tZSB3ZWlyZCByZWFzb24gdGhlIGRlZmF1 bHQgZGVmaW5pdGlvbnMgYXJlIG5vdA0KKysqKiBnb29kIGVub3VnaCBmb3IgeW91ciBtYWNoaW5l LiAoVGhlIGRlZmluaXRpb25zIGluIHRoZSAnZWxzZScNCisrKiogcGFydCBhbHdheXMgd29ya3Ms IGJ1dCBtYXkgd2FzdGUgc3BhY2Ugb24gbWFjaGluZXMgd2l0aCA2NC1iaXQNCisrKiogbG9uZ3Mu KSBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuDQorKyovDQorKyNpZiBM VUFJX0JJVFNJTlQgPj0gMzINCisrI2RlZmluZSBMVUFJX1VJTlQzMiAgIHVuc2lnbmVkIGludA0K KysjZGVmaW5lIExVQUlfSU5UMzIgICAgaW50DQorKyNkZWZpbmUgTFVBSV9NQVhJTlQzMiBJTlRf TUFYDQorKyNkZWZpbmUgTFVBSV9VTUVNICAgICBzaXplX3QNCisrI2RlZmluZSBMVUFJX01FTSAg ICAgIHB0cmRpZmZfdA0KKysjZWxzZQ0KKysvKiAxNi1iaXQgaW50cyAqLw0KKysjZGVmaW5lIExV QUlfVUlOVDMyICAgdW5zaWduZWQgbG9uZw0KKysjZGVmaW5lIExVQUlfSU5UMzIgICAgbG9uZw0K KysjZGVmaW5lIExVQUlfTUFYSU5UMzIgTE9OR19NQVgNCisrI2RlZmluZSBMVUFJX1VNRU0gICAg IHVuc2lnbmVkIGxvbmcNCisrI2RlZmluZSBMVUFJX01FTSAgICAgIGxvbmcNCisrI2VuZGlmDQor Kw0KKysNCisrLyoNCisrQEAgTFVBSV9NQVhDQUxMUyBsaW1pdHMgdGhlIG51bWJlciBvZiBuZXN0 ZWQgY2FsbHMuDQorKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCByZWFsbHkgZGVlcCByZWN1cnNp dmUgY2FsbHMuIFRoaXMgbGltaXQgaXMNCisrKiogYXJiaXRyYXJ5OyBpdHMgb25seSBwdXJwb3Nl IGlzIHRvIHN0b3AgaW5maW5pdGUgcmVjdXJzaW9uIGJlZm9yZQ0KKysqKiBleGhhdXN0aW5nIG1l bW9yeS4NCisrKi8NCisrI2RlZmluZSBMVUFJX01BWENBTExTIDIwMDAwDQorKw0KKysNCisrLyoN CisrQEAgTFVBSV9NQVhDU1RBQ0sgbGltaXRzIHRoZSBudW1iZXIgb2YgTHVhIHN0YWNrIHNsb3Rz IHRoYXQgYSBDIGZ1bmN0aW9uDQorK0AqIGNhbiB1c2UuDQorKyoqIENIQU5HRSBpdCBpZiB5b3Ug bmVlZCBsb3RzIG9mIChMdWEpIHN0YWNrIHNwYWNlIGZvciB5b3VyIEMNCisrKiogZnVuY3Rpb25z LiBUaGlzIGxpbWl0IGlzIGFyYml0cmFyeTsgaXRzIG9ubHkgcHVycG9zZSBpcyB0byBzdG9wIEMN CisrKiogZnVuY3Rpb25zIHRvIGNvbnN1bWUgdW5saW1pdGVkIHN0YWNrIHNwYWNlLg0KKysqLw0K KysjZGVmaW5lIExVQUlfTUFYQ1NUQUNLICAgICAgICAyMDQ4DQorKw0KKysNCisrDQorKy8qDQor KyoqIHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCisrKiogQ0hBTkdFICh0byBzbWFsbGVyIHZhbHVlcykgdGhlIGZvbGxv d2luZyBkZWZpbml0aW9ucyBpZiB5b3VyIHN5c3RlbQ0KKysqKiBoYXMgYSBzbWFsbCBDIHN0YWNr LiAoT3IgeW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGVtIHRvIGxhcmdlcg0KKysqKiB2YWx1ZXMg aWYgeW91ciBzeXN0ZW0gaGFzIGEgbGFyZ2UgQyBzdGFjayBhbmQgdGhlc2UgbGltaXRzIGFyZQ0K KysqKiB0b28gcmlnaWQgZm9yIHlvdS4pIFNvbWUgb2YgdGhlc2UgY29uc3RhbnRzIGNvbnRyb2wg dGhlIHNpemUgb2YNCisrKiogc3RhY2stYWxsb2NhdGVkIGFycmF5cyB1c2VkIGJ5IHRoZSBjb21w aWxlciBvciB0aGUgaW50ZXJwcmV0ZXIsIHdoaWxlDQorKyoqIG90aGVycyBsaW1pdCB0aGUgbWF4 aW11bSBudW1iZXIgb2YgcmVjdXJzaXZlIGNhbGxzIHRoYXQgdGhlIGNvbXBpbGVyDQorKyoqIG9y IHRoZSBpbnRlcnByZXRlciBjYW4gcGVyZm9ybS4gVmFsdWVzIHRvbyBsYXJnZSBtYXkgY2F1c2Ug YSBDIHN0YWNrDQorKyoqIG92ZXJmbG93IGZvciBzb21lIGZvcm1zIG9mIGRlZXAgY29uc3RydWN0 cy4NCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KKysqLw0KKysNCisrDQorKy8qDQorK0BAIExVQUlfTUFYQ0NB TExTIGlzIHRoZSBtYXhpbXVtIGRlcHRoIGZvciBuZXN0ZWQgQyBjYWxscyAoc2hvcnQpIGFuZA0K KytAKiBzeW50YWN0aWNhbCBuZXN0ZWQgbm9uLXRlcm1pbmFscyBpbiBhIHByb2dyYW0uDQorKyov DQorKyNkZWZpbmUgTFVBSV9NQVhDQ0FMTFMgICAgICAgICAgICAgICAgMjAwDQorKw0KKysNCisr LyoNCisrQEAgTFVBSV9NQVhWQVJTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NhbCB2YXJp YWJsZXMgcGVyIGZ1bmN0aW9uDQorK0AqIChtdXN0IGJlIHNtYWxsZXIgdGhhbiAyNTApLg0KKysq Lw0KKysjZGVmaW5lIExVQUlfTUFYVkFSUyAgICAgICAgICAyMDANCisrDQorKw0KKysvKg0KKytA QCBMVUFJX01BWFVQVkFMVUVTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1cHZhbHVlcyBwZXIg ZnVuY3Rpb24NCisrQCogKG11c3QgYmUgc21hbGxlciB0aGFuIDI1MCkuDQorKyovDQorKyNkZWZp bmUgTFVBSV9NQVhVUFZBTFVFUyAgICAgIDYwDQorKw0KKysNCisrLyoNCisrQEAgTFVBTF9CVUZG RVJTSVpFIGlzIHRoZSBidWZmZXIgc2l6ZSB1c2VkIGJ5IHRoZSBsYXV4bGliIGJ1ZmZlciBzeXN0 ZW0uDQorKyovDQorKyNkZWZpbmUgTFVBTF9CVUZGRVJTSVpFICAgICAgICAgICAgICAgQlVGU0la DQorKw0KKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ICovDQorKw0KKysNCisrDQorKw0KKysvKg0KKysqKiB7PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQorK0BAIExVQV9OVU1CRVIgaXMgdGhlIHR5cGUgb2YgbnVtYmVycyBpbiBMdWEuDQor KyoqIENIQU5HRSB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zIG9ubHkgaWYgeW91IHdhbnQgdG8g YnVpbGQgTHVhDQorKyoqIHdpdGggYSBudW1iZXIgdHlwZSBkaWZmZXJlbnQgZnJvbSBkb3VibGUu IFlvdSBtYXkgYWxzbyBuZWVkIHRvDQorKyoqIGNoYW5nZSBsdWFfbnVtYmVyMmludCAmIGx1YV9u dW1iZXIyaW50ZWdlci4NCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKysqLw0KKysNCisrI2RlZmluZSBMVUFf TlVNQkVSX0RPVUJMRQ0KKysjZGVmaW5lIExVQV9OVU1CRVIgICAgZG91YmxlDQorKw0KKysvKg0K KytAQCBMVUFJX1VBQ05VTUJFUiBpcyB0aGUgcmVzdWx0IG9mIGFuICd1c3VhbCBhcmd1bWVudCBj b252ZXJzaW9uJw0KKytAKiBvdmVyIGEgbnVtYmVyLg0KKysqLw0KKysjZGVmaW5lIExVQUlfVUFD TlVNQkVSICAgICAgICBkb3VibGUNCisrDQorKw0KKysvKg0KKytAQCBMVUFfTlVNQkVSX1NDQU4g aXMgdGhlIGZvcm1hdCBmb3IgcmVhZGluZyBudW1iZXJzLg0KKytAQCBMVUFfTlVNQkVSX0ZNVCBp cyB0aGUgZm9ybWF0IGZvciB3cml0aW5nIG51bWJlcnMuDQorK0BAIGx1YV9udW1iZXIyc3RyIGNv bnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nLg0KKytAQCBMVUFJX01BWE5VTUJFUjJTVFIgaXMg bWF4aW11bSBzaXplIG9mIHByZXZpb3VzIGNvbnZlcnNpb24uDQorK0BAIGx1YV9zdHIybnVtYmVy IGNvbnZlcnRzIGEgc3RyaW5nIHRvIGEgbnVtYmVyLg0KKysqLw0KKysjZGVmaW5lIExVQV9OVU1C RVJfU0NBTiAgICAgICAgICAgICAgICIlbGYiDQorKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQgICAg ICAgICAgICAgICAgIiUuMTRnIg0KKysjZGVmaW5lIGx1YV9udW1iZXIyc3RyKHMsbikgICBzcHJp bnRmKChzKSwgTFVBX05VTUJFUl9GTVQsIChuKSkNCisrI2RlZmluZSBMVUFJX01BWE5VTUJFUjJT VFIgICAgMzIgLyogMTYgZGlnaXRzLCBzaWduLCBwb2ludCwgYW5kIFwwICovDQorKyNkZWZpbmUg bHVhX3N0cjJudW1iZXIocyxwKSAgIHN0cnRvZCgocyksIChwKSkNCisrDQorKw0KKysvKg0KKytA QCBUaGUgbHVhaV9udW0qIG1hY3JvcyBkZWZpbmUgdGhlIHByaW1pdGl2ZSBvcGVyYXRpb25zIG92 ZXIgbnVtYmVycy4NCisrKi8NCisrI2lmIGRlZmluZWQoTFVBX0NPUkUpDQorKyNpbmNsdWRlIDxt YXRoLmg+DQorKyNkZWZpbmUgbHVhaV9udW1hZGQoYSxiKSAgICAgICgoYSkrKGIpKQ0KKysjZGVm aW5lIGx1YWlfbnVtc3ViKGEsYikgICAgICAoKGEpLShiKSkNCisrI2RlZmluZSBsdWFpX251bW11 bChhLGIpICAgICAgKChhKSooYikpDQorKyNkZWZpbmUgbHVhaV9udW1kaXYoYSxiKSAgICAgICgo YSkvKGIpKQ0KKysjZGVmaW5lIGx1YWlfbnVtbW9kKGEsYikgICAgICAoKGEpIC0gZmxvb3IoKGEp LyhiKSkqKGIpKQ0KKysjZGVmaW5lIGx1YWlfbnVtcG93KGEsYikgICAgICAocG93KGEsYikpDQor KyNkZWZpbmUgbHVhaV9udW11bm0oYSkgICAgICAgICAgICAgICAgKC0oYSkpDQorKyNkZWZpbmUg bHVhaV9udW1lcShhLGIpICAgICAgICAgICAgICAgKChhKT09KGIpKQ0KKysjZGVmaW5lIGx1YWlf bnVtbHQoYSxiKSAgICAgICAgICAgICAgICgoYSk8KGIpKQ0KKysjZGVmaW5lIGx1YWlfbnVtbGUo YSxiKSAgICAgICAgICAgICAgICgoYSk8PShiKSkNCisrI2RlZmluZSBsdWFpX251bWlzbmFuKGEp ICAgICAgKCFsdWFpX251bWVxKChhKSwgKGEpKSkNCisrI2VuZGlmDQorKw0KKysNCisrLyoNCisr QEAgbHVhX251bWJlcjJpbnQgaXMgYSBtYWNybyB0byBjb252ZXJ0IGx1YV9OdW1iZXIgdG8gaW50 Lg0KKytAQCBsdWFfbnVtYmVyMmludGVnZXIgaXMgYSBtYWNybyB0byBjb252ZXJ0IGx1YV9OdW1i ZXIgdG8gbHVhX0ludGVnZXIuDQorKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBrbm93IGEgZmFzdGVy IHdheSB0byBjb252ZXJ0IGEgbHVhX051bWJlciB0bw0KKysqKiBpbnQgKHdpdGggYW55IHJvdW5k aW5nIG1ldGhvZCBhbmQgd2l0aG91dCB0aHJvd2luZyBlcnJvcnMpIGluIHlvdXINCisrKiogc3lz dGVtLiBJbiBQZW50aXVtIG1hY2hpbmVzLCBhIG5haXZlIHR5cGVjYXN0IGZyb20gZG91YmxlIHRv IGludA0KKysqKiBpbiBDIGlzIGV4dHJlbWVseSBzbG93LCBzbyBhbnkgYWx0ZXJuYXRpdmUgaXMg d29ydGggdHJ5aW5nLg0KKysqLw0KKysNCisrLyogT24gYSBQZW50aXVtLCByZXNvcnQgdG8gYSB0 cmljayAqLw0KKysjaWYgZGVmaW5lZChMVUFfTlVNQkVSX0RPVUJMRSkgJiYgIWRlZmluZWQoTFVB X0FOU0kpICYmICFkZWZpbmVkKF9fU1NFMl9fKSAmJiBcDQorKyAgICAoZGVmaW5lZChfX2kzODYp IHx8IGRlZmluZWQgKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pKQ0KKysNCisrLyogT24g YSBNaWNyb3NvZnQgY29tcGlsZXIsIHVzZSBhc3NlbWJsZXIgKi8NCisrI2lmIGRlZmluZWQoX01T Q19WRVIpDQorKw0KKysjZGVmaW5lIGx1YV9udW1iZXIyaW50KGksZCkgICBfX2FzbSBmbGQgZCAg IF9fYXNtIGZpc3RwIGkNCisrI2RlZmluZSBsdWFfbnVtYmVyMmludGVnZXIoaSxuKSAgICAgICAg ICAgICAgIGx1YV9udW1iZXIyaW50KGksIG4pDQorKw0KKysvKiB0aGUgbmV4dCB0cmljayBzaG91 bGQgd29yayBvbiBhbnkgUGVudGl1bSwgYnV0IHNvbWV0aW1lcyBjbGFzaGVzDQorKyAgIHdpdGgg YSBEaXJlY3RYIGlkaW9zeW5jcmFzeSAqLw0KKysjZWxzZQ0KKysNCisrdW5pb24gbHVhaV9DYXN0 IHsgZG91YmxlIGxfZDsgbG9uZyBsX2w7IH07DQorKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxk KSBcDQorKyAgeyB2b2xhdGlsZSB1bmlvbiBsdWFpX0Nhc3QgdTsgdS5sX2QgPSAoZCkgKyA2NzU1 Mzk5NDQxMDU1NzQ0LjA7IChpKSA9IHUubF9sOyB9DQorKyNkZWZpbmUgbHVhX251bWJlcjJpbnRl Z2VyKGksbikgICAgICAgICAgICAgICBsdWFfbnVtYmVyMmludChpLCBuKQ0KKysNCisrI2VuZGlm DQorKw0KKysNCisrLyogdGhpcyBvcHRpb24gYWx3YXlzIHdvcmtzLCBidXQgbWF5IGJlIHNsb3cg Ki8NCisrI2Vsc2UNCisrI2RlZmluZSBsdWFfbnVtYmVyMmludChpLGQpICAgKChpKT0oaW50KShk KSkNCisrI2RlZmluZSBsdWFfbnVtYmVyMmludGVnZXIoaSxkKSAgICAgICAoKGkpPShsdWFfSW50 ZWdlcikoZCkpDQorKw0KKysjZW5kaWYNCisrDQorKy8qIH09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCisrDQorKw0K KysvKg0KKytAQCBMVUFJX1VTRVJfQUxJR05NRU5UX1QgaXMgYSB0eXBlIHRoYXQgcmVxdWlyZXMg bWF4aW11bSBhbGlnbm1lbnQuDQorKyoqIENIQU5HRSBpdCBpZiB5b3VyIHN5c3RlbSByZXF1aXJl cyBhbGlnbm1lbnRzIGxhcmdlciB0aGFuIGRvdWJsZS4gKEZvcg0KKysqKiBpbnN0YW5jZSwgaWYg eW91ciBzeXN0ZW0gc3VwcG9ydHMgbG9uZyBkb3VibGVzIGFuZCB0aGV5IG11c3QgYmUNCisrKiog YWxpZ25lZCBpbiAxNi1ieXRlIGJvdW5kYXJpZXMsIHRoZW4geW91IHNob3VsZCBhZGQgbG9uZyBk b3VibGUgaW4gdGhlDQorKyoqIHVuaW9uLikgUHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNo YW5nZSB0aGlzLg0KKysqLw0KKysjZGVmaW5lIExVQUlfVVNFUl9BTElHTk1FTlRfVCB1bmlvbiB7 IGRvdWJsZSB1OyB2b2lkICpzOyBsb25nIGw7IH0NCisrDQorKw0KKysvKg0KKytAQCBMVUFJX1RI Uk9XL0xVQUlfVFJZIGRlZmluZSBob3cgTHVhIGRvZXMgZXhjZXB0aW9uIGhhbmRsaW5nLg0KKysq KiBDSEFOR0UgdGhlbSBpZiB5b3UgcHJlZmVyIHRvIHVzZSBsb25nam1wL3NldGptcCBldmVuIHdp dGggQysrDQorKyoqIG9yIGlmIHdhbnQvZG9uJ3QgdG8gdXNlIF9sb25nam1wL19zZXRqbXAgaW5z dGVhZCBvZiByZWd1bGFyDQorKyoqIGxvbmdqbXAvc2V0am1wLiBCeSBkZWZhdWx0LCBMdWEgaGFu ZGxlcyBlcnJvcnMgd2l0aCBleGNlcHRpb25zIHdoZW4NCisrKiogY29tcGlsaW5nIGFzIEMrKyBj b2RlLCB3aXRoIF9sb25nam1wL19zZXRqbXAgd2hlbiBhc2tlZCB0byB1c2UgdGhlbSwNCisrKiog YW5kIHdpdGggbG9uZ2ptcC9zZXRqbXAgb3RoZXJ3aXNlLg0KKysqLw0KKysjaWYgZGVmaW5lZChf X2NwbHVzcGx1cykNCisrLyogQysrIGV4Y2VwdGlvbnMgKi8NCisrI2RlZmluZSBMVUFJX1RIUk9X KEwsYykgICAgICAgdGhyb3coYykNCisrI2RlZmluZSBMVUFJX1RSWShMLGMsYSkgICAgICAgdHJ5 IHsgYSB9IGNhdGNoKC4uLikgXA0KKysgICAgICB7IGlmICgoYyktPnN0YXR1cyA9PSAwKSAoYykt PnN0YXR1cyA9IC0xOyB9DQorKyNkZWZpbmUgbHVhaV9qbXBidWYgICBpbnQgIC8qIGR1bW15IHZh cmlhYmxlICovDQorKw0KKysjZWxpZiBkZWZpbmVkKExVQV9VU0VfVUxPTkdKTVApDQorKy8qIGlu IFVuaXgsIHRyeSBfbG9uZ2ptcC9fc2V0am1wIChtb3JlIGVmZmljaWVudCkgKi8NCisrI2RlZmlu ZSBMVUFJX1RIUk9XKEwsYykgICAgICAgX2xvbmdqbXAoKGMpLT5iLCAxKQ0KKysjZGVmaW5lIExV QUlfVFJZKEwsYyxhKSAgICAgICBpZiAoX3NldGptcCgoYyktPmIpID09IDApIHsgYSB9DQorKyNk ZWZpbmUgbHVhaV9qbXBidWYgICBqbXBfYnVmDQorKw0KKysjZWxzZQ0KKysvKiBkZWZhdWx0IGhh bmRsaW5nIHdpdGggbG9uZyBqdW1wcyAqLw0KKysjZGVmaW5lIExVQUlfVEhST1coTCxjKSAgICAg ICBsb25nam1wKChjKS0+YiwgMSkNCisrI2RlZmluZSBMVUFJX1RSWShMLGMsYSkgICAgICAgaWYg KHNldGptcCgoYyktPmIpID09IDApIHsgYSB9DQorKyNkZWZpbmUgbHVhaV9qbXBidWYgICBqbXBf YnVmDQorKw0KKysjZW5kaWYNCisrDQorKw0KKysvKg0KKytAQCBMVUFfTUFYQ0FQVFVSRVMgaXMg dGhlIG1heGltdW0gbnVtYmVyIG9mIGNhcHR1cmVzIHRoYXQgYSBwYXR0ZXJuDQorK0AqIGNhbiBk byBkdXJpbmcgcGF0dGVybi1tYXRjaGluZy4NCisrKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIG1v cmUgY2FwdHVyZXMuIFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5Lg0KKysqLw0KKysjZGVmaW5lIExV QV9NQVhDQVBUVVJFUyAgICAgICAgICAgICAgIDMyDQorKw0KKysNCisrLyoNCisrQEAgbHVhX3Rt cG5hbSBpcyB0aGUgZnVuY3Rpb24gdGhhdCB0aGUgT1MgbGlicmFyeSB1c2VzIHRvIGNyZWF0ZSBh DQorK0AqIHRlbXBvcmFyeSBuYW1lLg0KKytAQCBMVUFfVE1QTkFNQlVGU0laRSBpcyB0aGUgbWF4 aW11bSBzaXplIG9mIGEgbmFtZSBjcmVhdGVkIGJ5IGx1YV90bXBuYW0uDQorKyoqIENIQU5HRSB0 aGVtIGlmIHlvdSBoYXZlIGFuIGFsdGVybmF0aXZlIHRvIHRtcG5hbSAod2hpY2ggaXMgY29uc2lk ZXJlZA0KKysqKiBpbnNlY3VyZSkgb3IgaWYgeW91IHdhbnQgdGhlIG9yaWdpbmFsIHRtcG5hbSBh bnl3YXkuICBCeSBkZWZhdWx0LCBMdWENCisrKiogdXNlcyB0bXBuYW0gZXhjZXB0IHdoZW4gUE9T SVggaXMgYXZhaWxhYmxlLCB3aGVyZSBpdCB1c2VzIG1rc3RlbXAuDQorKyovDQorKyNpZiBkZWZp bmVkKGxvc2xpYl9jKSB8fCBkZWZpbmVkKGx1YWFsbF9jKQ0KKysNCisrI2lmIGRlZmluZWQoTFVB X1VTRV9NS1NURU1QKQ0KKysjaW5jbHVkZSA8dW5pc3RkLmg+DQorKyNkZWZpbmUgTFVBX1RNUE5B TUJVRlNJWkUgICAgIDMyDQorKyNkZWZpbmUgbHVhX3RtcG5hbShiLGUpICAgICAgIHsgXA0KKysg ICAgICBzdHJjcHkoYiwgIi90bXAvbHVhX1hYWFhYWCIpOyBcDQorKyAgICAgIGUgPSBta3N0ZW1w KGIpOyBcDQorKyAgICAgIGlmIChlICE9IC0xKSBjbG9zZShlKTsgXA0KKysgICAgICBlID0gKGUg PT0gLTEpOyB9DQorKw0KKysjZWxzZQ0KKysjZGVmaW5lIExVQV9UTVBOQU1CVUZTSVpFICAgICBM X3RtcG5hbQ0KKysjZGVmaW5lIGx1YV90bXBuYW0oYixlKSAgICAgICAgICAgICAgIHsgZSA9ICh0 bXBuYW0oYikgPT0gTlVMTCk7IH0NCisrI2VuZGlmDQorKw0KKysjZW5kaWYNCisrDQorKw0KKysv Kg0KKytAQCBsdWFfcG9wZW4gc3Bhd25zIGEgbmV3IHByb2Nlc3MgY29ubmVjdGVkIHRvIHRoZSBj dXJyZW50IG9uZSB0aHJvdWdoDQorK0AqIHRoZSBmaWxlIHN0cmVhbXMuDQorKyoqIENIQU5HRSBp dCBpZiB5b3UgaGF2ZSBhIHdheSB0byBpbXBsZW1lbnQgaXQgaW4geW91ciBzeXN0ZW0uDQorKyov DQorKyNpZiBkZWZpbmVkKExVQV9VU0VfUE9QRU4pDQorKw0KKysjZGVmaW5lIGx1YV9wb3BlbihM LGMsbSkgICAgICAoKHZvaWQpTCwgcG9wZW4oYyxtKSkNCisrI2RlZmluZSBsdWFfcGNsb3NlKEws ZmlsZSkgICAgKCh2b2lkKUwsIChwY2xvc2UoZmlsZSkgIT0gLTEpKQ0KKysNCisrI2VsaWYgZGVm aW5lZChMVUFfV0lOKQ0KKysNCisrI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pICAgICAgKCh2b2lk KUwsIF9wb3BlbihjLG0pKQ0KKysjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKSAgICAoKHZvaWQp TCwgKF9wY2xvc2UoZmlsZSkgIT0gLTEpKQ0KKysNCisrI2Vsc2UNCisrDQorKyNkZWZpbmUgbHVh X3BvcGVuKEwsYyxtKSAgICAgICgodm9pZCkoKHZvaWQpYywgbSksICBcDQorKyAgICAgICAgICAg ICAgbHVhTF9lcnJvcihMLCBMVUFfUUwoInBvcGVuIikgIiBub3Qgc3VwcG9ydGVkIiksIChGSUxF KikwKQ0KKysjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKSAgICAgICAgICAgICgodm9pZCkoKHZv aWQpTCwgZmlsZSksIDApDQorKw0KKysjZW5kaWYNCisrDQorKy8qDQorK0BAIExVQV9ETF8qIGRl ZmluZSB3aGljaCBkeW5hbWljLWxpYnJhcnkgc3lzdGVtIEx1YSBzaG91bGQgdXNlLg0KKysqKiBD SEFOR0UgaGVyZSBpZiBMdWEgaGFzIHByb2JsZW1zIGNob29zaW5nIHRoZSBhcHByb3ByaWF0ZQ0K KysqKiBkeW5hbWljLWxpYnJhcnkgc3lzdGVtIGZvciB5b3VyIHBsYXRmb3JtIChlaXRoZXIgV2lu ZG93cycgRExMLCBNYWMncw0KKysqKiBkeWxkLCBvciBVbml4J3MgZGxvcGVuKS4gSWYgeW91ciBz eXN0ZW0gaXMgc29tZSBraW5kIG9mIFVuaXgsIHRoZXJlDQorKyoqIGlzIGEgZ29vZCBjaGFuY2Ug dGhhdCBpdCBoYXMgZGxvcGVuLCBzbyBMVUFfRExfRExPUEVOIHdpbGwgd29yayBmb3INCisrKiog aXQuICBUbyB1c2UgZGxvcGVuIHlvdSBhbHNvIG5lZWQgdG8gYWRhcHQgdGhlIHNyYy9NYWtlZmls ZSAocHJvYmFibHkNCisrKiogYWRkaW5nIC1sZGwgdG8gdGhlIGxpbmtlciBvcHRpb25zKSwgc28g THVhIGRvZXMgbm90IHNlbGVjdCBpdA0KKysqKiBhdXRvbWF0aWNhbGx5LiAgKFdoZW4geW91IGNo YW5nZSB0aGUgbWFrZWZpbGUgdG8gYWRkIC1sZGwsIHlvdSBtdXN0DQorKyoqIGFsc28gYWRkIC1E TFVBX1VTRV9ETE9QRU4uKQ0KKysqKiBJZiB5b3UgZG8gbm90IHdhbnQgYW55IGtpbmQgb2YgZHlu YW1pYyBsaWJyYXJ5LCB1bmRlZmluZSBhbGwgdGhlc2UNCisrKiogb3B0aW9ucy4NCisrKiogQnkg ZGVmYXVsdCwgX1dJTjMyIGdldHMgTFVBX0RMX0RMTCBhbmQgTUFDIE9TIFggZ2V0cyBMVUFfRExf RFlMRC4NCisrKi8NCisrI2lmIGRlZmluZWQoTFVBX1VTRV9ETE9QRU4pDQorKyNkZWZpbmUgTFVB X0RMX0RMT1BFTg0KKysjZW5kaWYNCisrDQorKyNpZiBkZWZpbmVkKExVQV9XSU4pDQorKyNkZWZp bmUgTFVBX0RMX0RMTA0KKysjZW5kaWYNCisrDQorKw0KKysvKg0KKytAQCBMVUFJX0VYVFJBU1BB Q0UgYWxsb3dzIHlvdSB0byBhZGQgdXNlci1zcGVjaWZpYyBkYXRhIGluIGEgbHVhX1N0YXRlDQor K0AqICh0aGUgZGF0YSBnb2VzIGp1c3QgKmJlZm9yZSogdGhlIGx1YV9TdGF0ZSBwb2ludGVyKS4N CisrKiogQ0hBTkdFIChkZWZpbmUpIHRoaXMgaWYgeW91IHJlYWxseSBuZWVkIHRoYXQuIFRoaXMg dmFsdWUgbXVzdCBiZQ0KKysqKiBhIG11bHRpcGxlIG9mIHRoZSBtYXhpbXVtIGFsaWdubWVudCBy ZXF1aXJlZCBmb3IgeW91ciBtYWNoaW5lLg0KKysqLw0KKysjZGVmaW5lIExVQUlfRVhUUkFTUEFD RSAgICAgICAgICAgICAgIDANCisrDQorKw0KKysvKg0KKytAQCBsdWFpX3VzZXJzdGF0ZSogYWxs b3cgdXNlci1zcGVjaWZpYyBhY3Rpb25zIG9uIHRocmVhZHMuDQorKyoqIENIQU5HRSB0aGVtIGlm IHlvdSBkZWZpbmVkIExVQUlfRVhUUkFTUEFDRSBhbmQgbmVlZCB0byBkbyBzb21ldGhpbmcNCisr KiogZXh0cmEgd2hlbiBhIHRocmVhZCBpcyBjcmVhdGVkL2RlbGV0ZWQvcmVzdW1lZC95aWVsZGVk Lg0KKysqLw0KKysjZGVmaW5lIGx1YWlfdXNlcnN0YXRlb3BlbihMKSAgICAgICAgICgodm9pZClM KQ0KKysjZGVmaW5lIGx1YWlfdXNlcnN0YXRlY2xvc2UoTCkgICAgICAgICAgICAgICAgKCh2b2lk KUwpDQorKyNkZWZpbmUgbHVhaV91c2Vyc3RhdGV0aHJlYWQoTCxMMSkgICAgKCh2b2lkKUwpDQor KyNkZWZpbmUgbHVhaV91c2Vyc3RhdGVmcmVlKEwpICAgICAgICAgKCh2b2lkKUwpDQorKyNkZWZp bmUgbHVhaV91c2Vyc3RhdGVyZXN1bWUoTCxuKSAgICAgKCh2b2lkKUwpDQorKyNkZWZpbmUgbHVh aV91c2Vyc3RhdGV5aWVsZChMLG4pICAgICAgKCh2b2lkKUwpDQorKw0KKysNCisrLyoNCisrQEAg TFVBX0lOVEZSTUxFTiBpcyB0aGUgbGVuZ3RoIG1vZGlmaWVyIGZvciBpbnRlZ2VyIGNvbnZlcnNp b25zDQorK0AqIGluICdzdHJpbmcuZm9ybWF0Jy4NCisrQEAgTFVBX0lOVEZSTV9UIGlzIHRoZSBp bnRlZ2VyIHR5cGUgY29ycmVzcG9kaW5nIHRvIHRoZSBwcmV2aW91cyBsZW5ndGgNCisrQCogbW9k aWZpZXIuDQorKyoqIENIQU5HRSB0aGVtIGlmIHlvdXIgc3lzdGVtIHN1cHBvcnRzIGxvbmcgbG9u ZyBvciBkb2VzIG5vdCBzdXBwb3J0IGxvbmcuDQorKyovDQorKw0KKysjaWYgZGVmaW5lZChMVUFf VVNFTE9OR0xPTkcpDQorKw0KKysjZGVmaW5lIExVQV9JTlRGUk1MRU4gICAgICAgICAibGwiDQor KyNkZWZpbmUgTFVBX0lOVEZSTV9UICAgICAgICAgIGxvbmcgbG9uZw0KKysNCisrI2Vsc2UNCisr DQorKyNkZWZpbmUgTFVBX0lOVEZSTUxFTiAgICAgICAgICJsIg0KKysjZGVmaW5lIExVQV9JTlRG Uk1fVCAgICAgICAgICBsb25nDQorKw0KKysjZW5kaWYNCisrDQorKw0KKysNCisrLyogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PSAqLw0KKysNCisrLyoNCisrKiogTG9jYWwgY29uZmlndXJhdGlvbi4gWW91IGNhbiB1c2Ug dGhpcyBzcGFjZSB0byBhZGQgeW91ciByZWRlZmluaXRpb25zDQorKyoqIHdpdGhvdXQgbW9kaWZ5 aW5nIHRoZSBtYWluIHBhcnQgb2YgdGhlIGZpbGUuDQorKyovDQorKw0KKysNCisrDQorKyNlbmRp Zg0KKysNCmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC9hdXRvbWFraXplLmRpZmYgYi9w YXRjaGVzL2x1YS01LjEuNC9hdXRvbWFraXplLmRpZmYNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwLi4wZGFlNzI0DQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL2x1YS01 LjEuNC9hdXRvbWFraXplLmRpZmYNCkBAIC0wLDAgKzEsMTEzIEBADQorU3ViamVjdDogQWRkIGx1 YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRkIGF1dG9tYWtlIGZpbGVzDQorRnJvbTogRXJ3 aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+DQorDQorVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBv cnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQorc2NyaXB0aW5n IGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgYXV0 b2NvbmYNCit0byBidWlsZC4NCisNCitUaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFkZHMgdGhlIGF1 dG9tYWtlIGZpbGVzLg0KKw0KK1NpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5y b2wuY29tPg0KK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5n dXRyb25peC5kZT4NCisNCistLS0NCisgTWFrZWZpbGUuYW0gICAgICB8ICAgIDMgKysrDQorIGRv Yy9NYWtlZmlsZS5hbSAgfCAgICA1ICsrKysrDQorIGV0Yy9NYWtlZmlsZS5hbSAgfCAgICA4ICsr KysrKysrDQorIHNyYy9NYWtlZmlsZS5hbSAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKw0KKyB0ZXN0L01ha2VmaWxlLmFtIHwgICAgNSArKysrKw0K KyA1IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKykNCisNCitJbmRleDogbHVhLTUuMS40 L2RvYy9NYWtlZmlsZS5hbQ0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLS0gL2Rldi9udWxsICAxOTcwLTAxLTAx IDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMA0KKysrKyBsdWEtNS4xLjQvZG9jL01ha2VmaWxlLmFt ICAyMDExLTEyLTA2IDExOjQ5OjAzLjQ5MTgyNjk0NSArMDEwMA0KK0BAIC0wLDAgKzEsNSBAQA0K KyttYW4xX01BTlMgPSBsdWEuMSBsdWFjLjENCisrDQorK0VYVFJBX0RJU1QgPSBcDQorKyAgICAg IGNvbnRlbnRzLmh0bWwgIGx1YS4xICAgbHVhYy5odG1sICBsdWEuaHRtbCAgICAgbWFudWFsLmh0 bWwgXA0KKysgICAgICBsb2dvLmdpZiAgICAgICBsdWFjLjEgIGx1YS5jc3MgICAgcmVhZG1lLmh0 bWwNCitJbmRleDogbHVhLTUuMS40L2V0Yy9NYWtlZmlsZS5hbQ0KKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCistLS0g L2Rldi9udWxsICAxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMA0KKysrKyBsdWEt NS4xLjQvZXRjL01ha2VmaWxlLmFtICAyMDExLTEyLTA2IDExOjQ5OjAzLjQ5MTgyNjk0NSArMDEw MA0KK0BAIC0wLDAgKzEsOCBAQA0KKytpbmNsdWRlX0hFQURFUlMgPSBsdWEuaHBwDQorKw0KKytw a2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnDQorK3BrZ2NvbmZpZ19EQVRBID0gbHVh LnBjDQorKw0KKytFWFRSQV9ESVNUID0gXA0KKysgICAgICBhbGwuYyAgICAgIGx1YS5pY28gICAg bHVhLnBjLmluICBub3BhcnNlci5jICBzdHJpY3QubHVhIFwNCisrICAgICAgbHVhdnMuYmF0ICBt aW4uYyAgICAgIFJFQURNRQ0KK0luZGV4OiBsdWEtNS4xLjQvTWFrZWZpbGUuYW0NCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQorLS0tIC9kZXYvbnVsbCAgMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAN CisrKysgbHVhLTUuMS40L01ha2VmaWxlLmFtICAgICAgMjAxMS0xMi0wNiAxMTo1MDoxNC41NTkw NzYyNjUgKzAxMDANCitAQCAtMCwwICsxLDUgQEANCisrQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQN CisrDQorK1NVQkRJUlMgPSBzcmMgZG9jIGV0YyB0ZXN0DQorKw0KKytFWFRSQV9ESVNUID0gYXV0 b2dlbi5zaCBDT1BZUklHSFQgSElTVE9SWSBJTlNUQUxMIFJFQURNRQ0KK0luZGV4OiBsdWEtNS4x LjQvc3JjL01ha2VmaWxlLmFtDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tLSAvZGV2L251bGwgIDE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwDQorKysrIGx1YS01LjEuNC9zcmMvTWFrZWZpbGUu YW0gIDIwMTEtMTItMDYgMTE6NDk6MDMuNDkxODI2OTQ1ICswMTAwDQorQEAgLTAsMCArMSw0NSBA QA0KKytBTV9DRkxBR1MgPSAtV2FsbA0KKysNCisraW5jbHVkZV9IRUFERVJTID0gbHVhLmggbHVh bGliLmggbGF1eGxpYi5oDQorK25vZGlzdF9pbmNsdWRlX0hFQURFUlMgPSBsdWFjb25mLmgNCisr DQorK2xpYl9MVExJQlJBUklFUyA9IGxpYmx1YS5sYQ0KKytsaWJsdWFfbGFfTERGTEFHUyA9IC1y ZWxlYXNlIEBWRVJTSU9OQA0KKytsaWJsdWFfbGFfU09VUkNFUyA9IFwNCisrICAgICAgbGFwaS5j IGxjb2RlLmMgbGRlYnVnLmMgbGRvLmMgbGR1bXAuYyBsZnVuYy5jIGxnYy5jIGxsZXguYyBsbWVt LmMgXA0KKysgICAgICBsb2JqZWN0LmMgbG9wY29kZXMuYyBscGFyc2VyLmMgbHN0YXRlLmMgbHN0 cmluZy5jIGx0YWJsZS5jIGx0bS5jICBcDQorKyAgICAgIGx1bmR1bXAuYyBsdm0uYyBsemlvLmMg XA0KKysgICAgICBsYXV4bGliLmMgbGJhc2VsaWIuYyBsZGJsaWIuYyBsaW9saWIuYyBsbWF0aGxp Yi5jIGxvc2xpYi5jIGx0YWJsaWIuYyBcDQorKyAgICAgIGxzdHJsaWIuYyBsb2FkbGliLmMgbGlu aXQuYyBcDQorKyAgICAgIGxhcGkuaCBsZGVidWcuaCBsZ2MuaCBsbWVtLmggbHBhcnNlci5oIGx0 YWJsZS5oIGx6aW8uaCBsZG8uaCBsbGV4LmggXA0KKysgICAgICBsb2JqZWN0LmggbHN0YXRlLmgg bHRtLmggbHVuZHVtcC5oIGxjb2RlLmggbGZ1bmMuaCBsbGltaXRzLmggbG9wY29kZXMuaCBcDQor KyAgICAgIGxzdHJpbmcuaCBsdm0uaA0KKysNCisrYmluX1BST0dSQU1TID0gbHVhIGx1YWMNCisr DQorK2x1YV9TT1VSQ0VTID0gbHVhLmMNCisrbHVhX0xEQUREID0gbGlibHVhLmxhIEBMVUFfTElC U0ANCisrbHVhX0RFUEVOREVOQ0lFUyA9IGxpYmx1YS5sYQ0KKysNCisrbHVhY19TT1VSQ0VTID0g bHVhYy5jIHByaW50LmMNCisrbHVhY19MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNADQorK2x1 YWNfREVQRU5ERU5DSUVTID0gbGlibHVhLmxhDQorKw0KKysjIGx1YWMgbXVzdCBiZSBsaW5rZWQg c3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZXMgZnVuY3Rpb25zIHRoYXQNCisrIyBkb24ndCBnZXQg ZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBvYmplY3QNCisrbHVhY19MREZMQUdTID0gLXN0YXRpYw0K KysNCisrRVhUUkFfRElTVCA9IGx1YWNvbmYuaC50ZW1wbGF0ZS5pbg0KKytCVUlMVF9TT1VSQ0VT ID0gbHVhY29uZi5oDQorK0NMRUFORklMRVMgPSBsdWFjb25mLmgNCisrDQorK3JlYWRsaW5lX2Rl ZnMgPSBAUkVBRExJTkVfREVGU0ANCisrDQorK2VkaXQgPSAgICAgICAgc2VkIFwNCisrICAgICAg ICAtZSAncywlbHVhX2RhdGFkaXIlLCQoZGF0YWRpciksZycgXA0KKysgICAgICAgIC1lICdzLCVs dWFfbGliZGlyJSwkKGxpYmRpciksZycNCisrDQorK2x1YWNvbmYuaCA6IGx1YWNvbmYuaC50ZW1w bGF0ZQ0KKysgICAgICBybSAtZiBsdWFjb25mLmggbHVhY29uZi5oLnRtcA0KKysgICAgICAkKGVk aXQpIGx1YWNvbmYuaC50ZW1wbGF0ZSA+IGx1YWNvbmYuaC50bXANCisrICAgICAgbXYgbHVhY29u Zi5oLnRtcCBsdWFjb25mLmgNCitJbmRleDogbHVhLTUuMS40L3Rlc3QvTWFrZWZpbGUuYW0NCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQorLS0tIC9kZXYvbnVsbCAgMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAg KzAwMDANCisrKysgbHVhLTUuMS40L3Rlc3QvTWFrZWZpbGUuYW0gMjAxMS0xMi0wNiAxMTo0OTow My40OTE4MjY5NDUgKzAxMDANCitAQCAtMCwwICsxLDUgQEANCisrRVhUUkFfRElTVCA9IFwNCisr ICAgICAgYmlzZWN0Lmx1YSAgZW52Lmx1YSAgICAgICAgIGZpYi5sdWEgICAgICBsaWZlLmx1YSAg ICAgICAgICBwcmludGYubHVhIFwNCisrICAgICAgc2lldmUubHVhICAgdHJhY2UtY2FsbHMubHVh IGNmLmx1YSAgICAgICBmYWN0b3JpYWwubHVhICAgICBnbG9iYWxzLmx1YSBcDQorKyAgICAgIGx1 YWMubHVhICAgIFJFQURNRSAgICAgICAgICBzb3J0Lmx1YSAgICAgdHJhY2UtZ2xvYmFscy5sdWEg ZWNoby5sdWEgXA0KKysgICAgICBmaWJmb3IubHVhICBoZWxsby5sdWEgICAgICAgcmVhZG9ubHku bHVhIHRhYmxlLmx1YSAgICAgICAgIHhkLmx1YQ0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUu MS40L2x1YS01LjEuMy1hdXRvY29uZml6ZS5kaWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUu MS4zLWF1dG9jb25maXplLmRpZmYNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggZjlm ZjhmZi4uMDAwMDAwMA0KLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9jb25m aXplLmRpZmYNCisrKyAvZGV2L251bGwNCkBAIC0xLDkxMCArMCwwIEBADQotU3ViamVjdDogQWRk IGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogYWRkIGF1dG9jb25mIGZpbGVzDQotRnJvbTog RXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+DQotDQotVGhpcyBwYXRjaCBhZGQgbHVhIHN1 cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQotc2NyaXB0 aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2Ug YXV0b2NvbmYNCi10byBidWlsZC4NCi0NCi1UaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFkZHMgdGhl IGF1dG9jb25mIGZpbGVzLg0KLQ0KLVNpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3 aW5yb2wuY29tPg0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBw ZW5ndXRyb25peC5kZT4NCi0NCi0tLS0NCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICB8ICAg NjggKysrKw0KLSBldGMvbHVhLnBjLmluICAgICAgICAgICAgIHwgICAzMiArDQotIHNyYy9sdWFj b25mLmgudGVtcGxhdGUuaW4gfCAgNzc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysNCi0gMyBmaWxlcyBjaGFuZ2VkLCA4NzcgaW5zZXJ0aW9ucygrKQ0KLQ0K LUluZGV4OiBsdWEtNS4xLjQvY29uZmlndXJlLmFjDQotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tLSAvZGV2L251 bGwNCi0rKysgbHVhLTUuMS40L2NvbmZpZ3VyZS5hYw0KLUBAIC0wLDAgKzEsNjggQEANCi0rQUNf UFJFUkVRKDIuNTkpDQotK0FDX0lOSVQoW0F1dG90b29saXplZCBMdWFdLCBbNS4xLjRdLCBbXSwg W2x1YS1hdF0pDQotKw0KLStBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQ0KLStBQ19DT05G SUdfU1JDRElSKFtzcmMvbGFwaS5jXSkNCi0rDQotK0FNX0lOSVRfQVVUT01BS0UoWzEuOSBmb3Jl aWduXSkNCi0rDQotK0FDX1BST0dfQ0MNCi0rQUNfUFJPR19MSUJUT09MDQotKw0KLStBQ19BUkdf V0lUSCgNCi0rICBbcmVhZGxpbmVdLA0KLSsgIFtBQ19IRUxQX1NUUklORyhbLS13aXRoLXJlYWRs aW5lXSwgW1VzZSByZWFkbGluZSBmb3IgaW50ZXJwcmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0p XSwNCi0rICBbdXNlX3JlYWRsaW5lPSR3aXRodmFsXSwNCi0rICBbdXNlX3JlYWRsaW5lPXllc10N Ci0rKQ0KLSsNCi0rTFVBX0xJQlM9Ii1sbSINCi0rDQotKyMgQ2hlY2sgZm9yIHJlYWRsaW5lDQot K1JFQURMSU5FX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1JFQURMSU5FIg0KLStpZiB0ZXN0ICJ4JHVz ZV9yZWFkbGluZSIgPT0gInh5ZXMiOyB0aGVuDQotKyAgQUNfQ0hFQ0tfTElCKFtyZWFkbGluZV0s IFtyZWFkbGluZV0sIFtdLCBbdXNlX3JlYWRsaW5lPW5vXSkNCi0rICBBQ19DSEVDS19IRUFERVJT KFtyZWFkbGluZS9yZWFkbGluZS5oIHJlYWRsaW5lL2hpc3RvcnkuaF0sIFtdLCBbdXNlX3JlYWRs aW5lPW5vXSkNCi0rICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInhubyI7IHRoZW4NCi0r ICAgIEFDX01TR19XQVJOKFtyZWFkbGluZSBoZWFkZXJzIGNvdWxkIG5vdCBiZSBmb3VuZCwgZGlz YWJsaW5nIHJlYWRsaW5lIHN1cHBvcnRdKQ0KLSsgIGVsc2UNCi0rICAgIFJFQURMSU5FX0RFRlM9 IiNkZWZpbmUgTFVBX1VTRV9SRUFETElORSINCi0rICAgIExVQV9MSUJTPSIkTFVBX0xJQlMgLWxy ZWFkbGluZSINCi0rICBmaQ0KLStmaQ0KLStBQ19TVUJTVChSRUFETElORV9ERUZTKQ0KLSsNCi0r Y2FzZSAiJGhvc3QiIGluDQotKyAgKi1taW5ndyopICB1c2Vfb3M9d2luMzIgIDs7DQotKyAgKi1k YXJ3aW4qKSB1c2Vfb3M9bWFjb3N4IDs7DQotKyAgKikgICAgICAgICB1c2Vfb3M9cG9zaXggIDs7 DQotK2VzYWMNCi0rDQotK1BPU0lYX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1BPU0lYIg0KLStMVUFf RExfREVGUz0iI3VuZGVmIExVQV9VU0VfRExPUEVOIg0KLStMVUFfQlVJTERfQVNfRExMX0RFRlM9 IiN1bmRlZiBMVUFfQlVJTERfQVNfRExMIg0KLSsNCi0raWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4 d2luMzIiOyB0aGVuDQotKyAgTFVBX0JVSUxEX0FTX0RMTF9ERUZTPSIjZGVmaW5lIExVQV9CVUlM RF9BU19ETEwiDQotK2VsaWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4bWFjb3N4IjsgdGhlbg0KLSsg IFBPU0lYX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9QT1NJWCINCi0rICBMVUFfRExfREVGUz0iI2Rl ZmluZSBMVUFfRExfRFlMRCINCi0rZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhwb3NpeCI7IHRo ZW4NCi0rICBQT1NJWF9ERUZTPSIjZGVmaW5lIExVQV9VU0VfUE9TSVgiDQotKyAgTFVBX0RMX0RF RlM9IiNkZWZpbmUgTFVBX0RMX0RMT1BFTiINCi0rICBMVUFfTElCUz0iJExVQV9MSUJTIC1sZGwi DQotK2ZpDQotK0FDX1NVQlNUKFBPU0lYX0RFRlMpDQotK0FDX1NVQlNUKExVQV9ETF9ERUZTKQ0K LStBQ19TVUJTVChMVUFfQlVJTERfQVNfRExMX0RFRlMpDQotKw0KLStBQ19TVUJTVChMVUFfTElC UykNCi0rDQotK0FDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUNCi0rICAgICAgICAgICAgICAgICBz cmMvTWFrZWZpbGUNCi0rICAgICAgICAgICAgICAgICBzcmMvbHVhY29uZi5oLnRlbXBsYXRlDQot KyAgICAgICAgICAgICAgICAgZXRjL01ha2VmaWxlDQotKyAgICAgICAgICAgICAgICAgZXRjL2x1 YS5wYw0KLSsgICAgICAgICAgICAgICAgIGRvYy9NYWtlZmlsZQ0KLSsgICAgICAgICAgICAgICB0 ZXN0L01ha2VmaWxlXSkNCi0rQUNfT1VUUFVUDQotSW5kZXg6IGx1YS01LjEuNC9ldGMvbHVhLnBj LmluDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tLSAvZGV2L251bGwNCi0rKysgbHVhLTUuMS40L2V0Yy9sdWEu cGMuaW4NCi1AQCAtMCwwICsxLDMyIEBADQotKyMgbHVhLnBjIC0tIHBrZy1jb25maWcgZGF0YSBm b3IgTHVhDQotKw0KLSsjIHZhcnMgZnJvbSBpbnN0YWxsIE1ha2VmaWxlDQotKw0KLSsjIGdyZXAg J15WPScgLi4vTWFrZWZpbGUNCi0rVj0gNS4xDQotKyMgZ3JlcCAnXlI9JyAuLi9NYWtlZmlsZQ0K LStSPSA1LjEuMw0KLSsNCi0rIyBncmVwICdeSU5TVEFMTF8uKj0nIC4uL01ha2VmaWxlIHwgc2Vk ICdzL0lOU1RBTExfVE9QL3ByZWZpeC8nDQotKyMgcGx1cyBhdXRvdG9vbGlmaWNhdGlvbg0KLStw cmVmaXg9IEBwcmVmaXhADQotK0lOU1RBTExfQklOPSAke3ByZWZpeH0vYmluDQotK0lOU1RBTExf SU5DPSAke3ByZWZpeH0vaW5jbHVkZQ0KLStJTlNUQUxMX0xJQj0gJHtwcmVmaXh9L2xpYg0KLStJ TlNUQUxMX01BTj0gJHtwcmVmaXh9L21hbi9tYW4xDQotK0lOU1RBTExfTE1PRD0gJHtwcmVmaXh9 L3NoYXJlL2x1YS8ke1Z9DQotK0lOU1RBTExfQ01PRD0gJHtwcmVmaXh9L2xpYi9sdWEvJHtWfQ0K LSsNCi0rIyBjYW5vbmljYWwgdmFycw0KLStleGVjX3ByZWZpeD0ke3ByZWZpeH0NCi0rbGliZGly PSR7ZXhlY19wcmVmaXh9L2xpYg0KLStpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlDQotKw0K LStOYW1lOiBMdWENCi0rRGVzY3JpcHRpb246IEFuIEV4dGVuc2libGUgRXh0ZW5zaW9uIExhbmd1 YWdlDQotK1ZlcnNpb246ICR7Un0NCi0rUmVxdWlyZXM6DQotK0xpYnM6IC1MJHtsaWJkaXJ9IC1s bHVhIC1sbQ0KLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KLSsNCi0rIyAoZW5kIG9mIGx1YS5w YykNCi1JbmRleDogbHVhLTUuMS40L3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4NCi09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQotLS0tIC9kZXYvbnVsbA0KLSsrKyBsdWEtNS4xLjQvc3JjL2x1YWNvbmYuaC50ZW1wbGF0 ZS5pbg0KLUBAIC0wLDAgKzEsNzc3IEBADQotKy8qDQotKyoqICRJZDogbHVhY29uZi5oLHYgMS44 MmEgMjAwNi8wNC8xMCAxODoyNzoyMyByb2JlcnRvIEV4cCAkDQotKyoqIENvbmZpZ3VyYXRpb24g ZmlsZSBmb3IgTHVhDQotKyoqIFNlZSBDb3B5cmlnaHQgTm90aWNlIGluIGx1YS5oDQotKyovDQot Kw0KLSsNCi0rI2lmbmRlZiBsY29uZmlnX2gNCi0rI2RlZmluZSBsY29uZmlnX2gNCi0rDQotKyNp bmNsdWRlIDxsaW1pdHMuaD4NCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPg0KLSsNCi0rLyoNCi0rKiog PT09PT09PT09PT09PT09PT0NCi0rKiogQXV0b3Rvb2xpZmljYXRpb24NCi0rKiogPT09PT09PT09 PT09PT09PT0NCi0rKi8NCi0rDQotKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8NCi0rQFBPU0lY X0RFRlNADQotK0BMVUFfRExfREVGU0ANCi0rQExVQV9CVUlMRF9BU19ETExfREVGU0ANCi0rQFJF QURMSU5FX0RFRlNADQotKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8NCi0rDQotKy8qDQotKyoq ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KLSsqKiBTZWFyY2ggZm9yICJAQCIgdG8gZmluZCBhbGwgY29uZmlndXJhYmxl IGRlZmluaXRpb25zLg0KLSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotKyovDQotKw0KLSsNCi0rLyoNCi0rQEAg TFVBX0FOU0kgY29udHJvbHMgdGhlIHVzZSBvZiBub24tYW5zaSBmZWF0dXJlcy4NCi0rKiogQ0hB TkdFIGl0IChkZWZpbmUgaXQpIGlmIHlvdSB3YW50IEx1YSB0byBhdm9pZCB0aGUgdXNlIG9mIGFu eQ0KLSsqKiBub24tYW5zaSBmZWF0dXJlIG9yIGxpYnJhcnkuDQotKyovDQotKyNpZiBkZWZpbmVk KF9fU1RSSUNUX0FOU0lfXykNCi0rI2RlZmluZSBMVUFfQU5TSQ0KLSsjZW5kaWYNCi0rDQotKw0K LSsjaWYgIWRlZmluZWQoTFVBX0FOU0kpICYmIGRlZmluZWQoX1dJTjMyKQ0KLSsjZGVmaW5lIExV QV9XSU4NCi0rI2VuZGlmDQotKw0KLSsjaWYgZGVmaW5lZChMVUFfVVNFX0xJTlVYKQ0KLSsjZGVm aW5lIExVQV9VU0VfUE9TSVgNCi0rI2RlZmluZSBMVUFfVVNFX0RMT1BFTiAgICAgICAgICAgICAg ICAvKiBuZWVkcyBhbiBleHRyYSBsaWJyYXJ5OiAtbGRsICovDQotKyNkZWZpbmUgTFVBX1VTRV9S RUFETElORSAgICAgIC8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFyaWVzICovDQotKyNlbmRpZg0K LSsNCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gpDQotKyNkZWZpbmUgTFVBX1VTRV9QT1NJ WA0KLSsjZGVmaW5lIExVQV9ETF9EWUxEICAgICAgICAgICAvKiBkb2VzIG5vdCBuZWVkIGV4dHJh IGxpYnJhcnkgKi8NCi0rI2VuZGlmDQotKw0KLSsNCi0rDQotKy8qDQotK0BAIExVQV9VU0VfUE9T SVggaW5jbHVkZXMgYWxsIGZ1bmN0aW9uYWxsaXR5IGxpc3RlZCBhcyBYL09wZW4gU3lzdGVtDQot K0AqIEludGVyZmFjZXMgRXh0ZW5zaW9uIChYU0kpLg0KLSsqKiBDSEFOR0UgaXQgKGRlZmluZSBp dCkgaWYgeW91ciBzeXN0ZW0gaXMgWFNJIGNvbXBhdGlibGUuDQotKyovDQotKyNpZiBkZWZpbmVk KExVQV9VU0VfUE9TSVgpDQotKyNkZWZpbmUgTFVBX1VTRV9NS1NURU1QDQotKyNkZWZpbmUgTFVB X1VTRV9JU0FUVFkNCi0rI2RlZmluZSBMVUFfVVNFX1BPUEVODQotKyNkZWZpbmUgTFVBX1VTRV9V TE9OR0pNUA0KLSsjZW5kaWYNCi0rDQotKw0KLSsvKg0KLStAQCBMVUFfUEFUSCBhbmQgTFVBX0NQ QVRIIGFyZSB0aGUgbmFtZXMgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0DQotK0Aq IEx1YSBjaGVjayB0byBzZXQgaXRzIHBhdGhzLg0KLStAQCBMVUFfSU5JVCBpcyB0aGUgbmFtZSBv ZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBMdWENCi0rQCogY2hlY2tzIGZvciBpbml0 aWFsaXphdGlvbiBjb2RlLg0KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCBkaWZmZXJlbnQg bmFtZXMuDQotKyovDQotKyNkZWZpbmUgTFVBX1BBVEggICAgICAgICJMVUFfUEFUSCINCi0rI2Rl ZmluZSBMVUFfQ1BBVEggICAgICAgIkxVQV9DUEFUSCINCi0rI2RlZmluZSBMVUFfSU5JVCAgICAg ICJMVUFfSU5JVCINCi0rDQotKw0KLSsvKg0KLStAQCBMVUFfUEFUSF9ERUZBVUxUIGlzIHRoZSBk ZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcg0KLStAKiBMdWEgbGlicmFyaWVz Lg0KLStAQCBMVUFfQ1BBVEhfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBwYXRoIHRoYXQgTHVhIHVz ZXMgdG8gbG9vayBmb3INCi0rQCogQyBsaWJyYXJpZXMuDQotKyoqIENIQU5HRSB0aGVtIGlmIHlv dXIgbWFjaGluZSBoYXMgYSBub24tY29udmVudGlvbmFsIGRpcmVjdG9yeQ0KLSsqKiBoaWVyYXJj aHkgb3IgaWYgeW91IHdhbnQgdG8gaW5zdGFsbCB5b3VyIGxpYnJhcmllcyBpbg0KLSsqKiBub24t Y29udmVudGlvbmFsIGRpcmVjdG9yaWVzLg0KLSsqLw0KLSsjaWYgZGVmaW5lZChfV0lOMzIpDQot Ky8qDQotKyoqIEluIFdpbmRvd3MsIGFueSBleGNsYW1hdGlvbiBtYXJrICgnIScpIGluIHRoZSBw YXRoIGlzIHJlcGxhY2VkIGJ5IHRoZQ0KLSsqKiBwYXRoIG9mIHRoZSBkaXJlY3Rvcnkgb2YgdGhl IGV4ZWN1dGFibGUgZmlsZSBvZiB0aGUgY3VycmVudCBwcm9jZXNzLg0KLSsqLw0KLSsjZGVmaW5l IExVQV9MRElSICAgICAgIiFcXGx1YVxcIg0KLSsjZGVmaW5lIExVQV9DRElSICAgICAgIiFcXCIN Ci0rI2RlZmluZSBMVUFfUEFUSF9ERUZBVUxUICBcDQotKyAgICAgICAgICAgICAgIi5cXD8ubHVh OyIgIExVQV9MRElSIj8ubHVhOyIgIExVQV9MRElSIj9cXGluaXQubHVhOyIgXA0KLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICBMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/XFxpbml0Lmx1 YSINCi0rI2RlZmluZSBMVUFfQ1BBVEhfREVGQVVMVCBcDQotKyAgICAgICIuXFw/LmRsbDsiICBM VUFfQ0RJUiI/LmRsbDsiIExVQV9DRElSImxvYWRhbGwuZGxsIg0KLSsNCi0rI2Vsc2UNCi0rDQot Ky8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8NCi0rI2RlZmluZSBMVUFfTERJUiAgICAgICIlbHVh X2RhdGFkaXIlL2x1YS81LjEvIg0KLSsjZGVmaW5lIExVQV9DRElSICAgICAgIiVsdWFfbGliZGly JS9sdWEvNS4xLyINCi0rLyoqIGF1dG90b29saXplIHBhdGNoICoqLw0KLSsNCi0rI2RlZmluZSBM VUFfUEFUSF9ERUZBVUxUICBcDQotKyAgICAgICAgICAgICAgIi4vPy5sdWE7IiAgTFVBX0xESVIi Py5sdWE7IiAgTFVBX0xESVIiPy9pbml0Lmx1YTsiIFwNCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICBMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/L2luaXQubHVhIg0KLSsjZGVmaW5lIExV QV9DUEFUSF9ERUZBVUxUIFwNCi0rICAgICAgIi4vPy5zbzsiICBMVUFfQ0RJUiI/LnNvOyIgTFVB X0NESVIibG9hZGFsbC5zbyINCi0rI2VuZGlmDQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBX0RJUlNF UCBpcyB0aGUgZGlyZWN0b3J5IHNlcGFyYXRvciAoZm9yIHN1Ym1vZHVsZXMpLg0KLSsqKiBDSEFO R0UgaXQgaWYgeW91ciBtYWNoaW5lIGRvZXMgbm90IHVzZSAiLyIgYXMgdGhlIGRpcmVjdG9yeSBz ZXBhcmF0b3INCi0rKiogYW5kIGlzIG5vdCBXaW5kb3dzLiAoT24gV2luZG93cyBMdWEgYXV0b21h dGljYWxseSB1c2VzICJcIi4pDQotKyovDQotKyNpZiBkZWZpbmVkKF9XSU4zMikNCi0rI2RlZmlu ZSBMVUFfRElSU0VQICAgICJcXCINCi0rI2Vsc2UNCi0rI2RlZmluZSBMVUFfRElSU0VQICAgICIv Ig0KLSsjZW5kaWYNCi0rDQotKw0KLSsvKg0KLStAQCBMVUFfUEFUSFNFUCBpcyB0aGUgY2hhcmFj dGVyIHRoYXQgc2VwYXJhdGVzIHRlbXBsYXRlcyBpbiBhIHBhdGguDQotK0BAIExVQV9QQVRIX01B UksgaXMgdGhlIHN0cmluZyB0aGF0IG1hcmtzIHRoZSBzdWJzdGl0dXRpb24gcG9pbnRzIGluIGEN Ci0rQCogdGVtcGxhdGUuDQotK0BAIExVQV9FWEVDRElSIGluIGEgV2luZG93cyBwYXRoIGlzIHJl cGxhY2VkIGJ5IHRoZSBleGVjdXRhYmxlJ3MNCi0rQCogZGlyZWN0b3J5Lg0KLStAQCBMVUFfSUdN QVJLIGlzIGEgbWFyayB0byBpZ25vcmUgYWxsIGJlZm9yZSBpdCB3aGVuIGJ1bGRpbmcgdGhlDQot K0AqIGx1YW9wZW5fIGZ1bmN0aW9uIG5hbWUuDQotKyoqIENIQU5HRSB0aGVtIGlmIGZvciBzb21l IHJlYXNvbiB5b3VyIHN5c3RlbSBjYW5ub3QgdXNlIHRob3NlDQotKyoqIGNoYXJhY3RlcnMuIChF LmcuLCBpZiBvbmUgb2YgdGhvc2UgY2hhcmFjdGVycyBpcyBhIGNvbW1vbiBjaGFyYWN0ZXINCi0r KiogaW4gZmlsZS9kaXJlY3RvcnkgbmFtZXMuKSBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8g Y2hhbmdlIHRoZW0uDQotKyovDQotKyNkZWZpbmUgTFVBX1BBVEhTRVAgICAiOyINCi0rI2RlZmlu ZSBMVUFfUEFUSF9NQVJLICI/Ig0KLSsjZGVmaW5lIExVQV9FWEVDRElSICAgIiEiDQotKyNkZWZp bmUgTFVBX0lHTUFSSyAgICAiLSINCi0rDQotKw0KLSsvKg0KLStAQCBMVUFfSU5URUdFUiBpcyB0 aGUgaW50ZWdyYWwgdHlwZSB1c2VkIGJ5IGx1YV9wdXNoaW50ZWdlci9sdWFfdG9pbnRlZ2VyLg0K LSsqKiBDSEFOR0UgdGhhdCBpZiBwdHJkaWZmX3QgaXMgbm90IGFkZXF1YXRlIG9uIHlvdXIgbWFj aGluZS4gKE9uIG1vc3QNCi0rKiogbWFjaGluZXMsIHB0cmRpZmZfdCBnaXZlcyBhIGdvb2QgY2hv aWNlIGJldHdlZW4gaW50IG9yIGxvbmcuKQ0KLSsqLw0KLSsjZGVmaW5lIExVQV9JTlRFR0VSICAg cHRyZGlmZl90DQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBX0FQSSBpcyBhIG1hcmsgZm9yIGFsbCBj b3JlIEFQSSBmdW5jdGlvbnMuDQotK0BAIExVQUxJQl9BUEkgaXMgYSBtYXJrIGZvciBhbGwgc3Rh bmRhcmQgbGlicmFyeSBmdW5jdGlvbnMuDQotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBuZWVkIHRv IGRlZmluZSB0aG9zZSBmdW5jdGlvbnMgaW4gc29tZSBzcGVjaWFsIHdheS4NCi0rKiogRm9yIGlu c3RhbmNlLCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgb25lIFdpbmRvd3MgRExMIHdpdGggdGhlIGNv cmUgYW5kDQotKyoqIHRoZSBsaWJyYXJpZXMsIHlvdSBtYXkgd2FudCB0byB1c2UgdGhlIGZvbGxv d2luZyBkZWZpbml0aW9uIChkZWZpbmUNCi0rKiogTFVBX0JVSUxEX0FTX0RMTCB0byBnZXQgaXQp Lg0KLSsqLw0KLSsjaWYgZGVmaW5lZChMVUFfQlVJTERfQVNfRExMKQ0KLSsNCi0rI2lmIGRlZmlu ZWQoTFVBX0NPUkUpIHx8IGRlZmluZWQoTFVBX0xJQikNCi0rI2RlZmluZSBMVUFfQVBJIF9fZGVj bHNwZWMoZGxsZXhwb3J0KQ0KLSsjZWxzZQ0KLSsjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhk bGxpbXBvcnQpDQotKyNlbmRpZg0KLSsNCi0rI2Vsc2UNCi0rDQotKyNkZWZpbmUgTFVBX0FQSSAg ICAgICAgICAgICAgIGV4dGVybg0KLSsNCi0rI2VuZGlmDQotKw0KLSsvKiBtb3JlIG9mdGVuIHRo YW4gbm90IHRoZSBsaWJzIGdvIHRvZ2V0aGVyIHdpdGggdGhlIGNvcmUgKi8NCi0rI2RlZmluZSBM VUFMSUJfQVBJICAgIExVQV9BUEkNCi0rDQotKw0KLSsvKg0KLStAQCBMVUFJX0ZVTkMgaXMgYSBt YXJrIGZvciBhbGwgZXh0ZXJuIGZ1bmN0aW9ucyB0aGF0IGFyZSBub3QgdG8gYmUNCi0rQCogZXhw b3J0ZWQgdG8gb3V0c2lkZSBtb2R1bGVzLg0KLStAQCBMVUFJX0RBVEEgaXMgYSBtYXJrIGZvciBh bGwgZXh0ZXJuIChjb25zdCkgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB0bw0KLStAKiBiZSBleHBv cnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuDQotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBuZWVkIHRv IG1hcmsgdGhlbSBpbiBzb21lIHNwZWNpYWwgd2F5LiBFbGYvZ2NjDQotKyoqICh2ZXJzaW9ucyAz LjIgYW5kIGxhdGVyKSBtYXJrIHRoZW0gYXMgImhpZGRlbiIgdG8gb3B0aW1pemUgYWNjZXNzDQot KyoqIHdoZW4gTHVhIGlzIGNvbXBpbGVkIGFzIGEgc2hhcmVkIGxpYnJhcnkuDQotKyovDQotKyNp ZiBkZWZpbmVkKGx1YWFsbF9jKQ0KLSsjZGVmaW5lIExVQUlfRlVOQyAgICAgc3RhdGljDQotKyNk ZWZpbmUgTFVBSV9EQVRBICAgICAvKiBlbXB0eSAqLw0KLSsNCi0rI2VsaWYgZGVmaW5lZChfX0dO VUNfXykgJiYgKChfX0dOVUNfXyoxMDAgKyBfX0dOVUNfTUlOT1JfXykgPj0gMzAyKSAmJiBcDQot KyAgICAgIGRlZmluZWQoX19FTEZfXykNCi0rI2RlZmluZSBMVUFJX0ZVTkMgICAgIF9fYXR0cmli dXRlX18oKHZpc2liaWxpdHkoImhpZGRlbiIpKSkgZXh0ZXJuDQotKyNkZWZpbmUgTFVBSV9EQVRB ICAgICBMVUFJX0ZVTkMNCi0rDQotKyNlbHNlDQotKyNkZWZpbmUgTFVBSV9GVU5DICAgICBleHRl cm4NCi0rI2RlZmluZSBMVUFJX0RBVEEgICAgIGV4dGVybg0KLSsjZW5kaWYNCi0rDQotKw0KLSsN Ci0rLyoNCi0rQEAgTFVBX1FMIGRlc2NyaWJlcyBob3cgZXJyb3IgbWVzc2FnZXMgcXVvdGUgcHJv Z3JhbSBlbGVtZW50cy4NCi0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlmZmVyZW50IGFw cGVhcmFuY2UuDQotKyovDQotKyNkZWZpbmUgTFVBX1FMKHgpICAgICAiJyIgeCAiJyINCi0rI2Rl ZmluZSBMVUFfUVMgICAgICAgICAgICAgICAgTFVBX1FMKCIlcyIpDQotKw0KLSsNCi0rLyoNCi0r QEAgTFVBX0lEU0laRSBnaXZlcyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUgZGVzY3JpcHRpb24g b2YgdGhlIHNvdXJjZQ0KLStAKiBvZiBhIGZ1bmN0aW9uIGluIGRlYnVnIGluZm9ybWF0aW9uLg0K LSsqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgYSBkaWZmZXJlbnQgc2l6ZS4NCi0rKi8NCi0rI2Rl ZmluZSBMVUFfSURTSVpFICAgIDYwDQotKw0KLSsNCi0rLyoNCi0rKiogez09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSsq KiBTdGFuZC1hbG9uZSBjb25maWd1cmF0aW9uDQotKyoqID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0rKi8NCi0rDQot KyNpZiBkZWZpbmVkKGx1YV9jKSB8fCBkZWZpbmVkKGx1YWFsbF9jKQ0KLSsNCi0rLyoNCi0rQEAg bHVhX3N0ZGluX2lzX3R0eSBkZXRlY3RzIHdoZXRoZXIgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGEg J3R0eScgKHRoYXQNCi0rQCogaXMsIHdoZXRoZXIgd2UncmUgcnVubmluZyBsdWEgaW50ZXJhY3Rp dmVseSkuDQotKyoqIENIQU5HRSBpdCBpZiB5b3UgaGF2ZSBhIGJldHRlciBkZWZpbml0aW9uIGZv ciBub24tUE9TSVgvbm9uLVdpbmRvd3MNCi0rKiogc3lzdGVtcy4NCi0rKi8NCi0rI2lmIGRlZmlu ZWQoTFVBX1VTRV9JU0FUVFkpDQotKyNpbmNsdWRlIDx1bmlzdGQuaD4NCi0rI2RlZmluZSBsdWFf c3RkaW5faXNfdHR5KCkgICAgaXNhdHR5KDApDQotKyNlbGlmIGRlZmluZWQoTFVBX1dJTikNCi0r I2luY2x1ZGUgPGlvLmg+DQotKyNpbmNsdWRlIDxzdGRpby5oPg0KLSsjZGVmaW5lIGx1YV9zdGRp bl9pc190dHkoKSAgICBfaXNhdHR5KF9maWxlbm8oc3RkaW4pKQ0KLSsjZWxzZQ0KLSsjZGVmaW5l IGx1YV9zdGRpbl9pc190dHkoKSAgICAxICAvKiBhc3N1bWUgc3RkaW4gaXMgYSB0dHkgKi8NCi0r I2VuZGlmDQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBX1BST01QVCBpcyB0aGUgZGVmYXVsdCBwcm9t cHQgdXNlZCBieSBzdGFuZC1hbG9uZSBMdWEuDQotK0BAIExVQV9QUk9NUFQyIGlzIHRoZSBkZWZh dWx0IGNvbnRpbnVhdGlvbiBwcm9tcHQgdXNlZCBieSBzdGFuZC1hbG9uZSBMdWEuDQotKyoqIENI QU5HRSB0aGVtIGlmIHlvdSB3YW50IGRpZmZlcmVudCBwcm9tcHRzLiAoWW91IGNhbiBhbHNvIGNo YW5nZSB0aGUNCi0rKiogcHJvbXB0cyBkeW5hbWljYWxseSwgYXNzaWduaW5nIHRvIGdsb2JhbHMg X1BST01QVC9fUFJPTVBUMi4pDQotKyovDQotKyNkZWZpbmUgTFVBX1BST01QVCAgICAgICAgICAg ICI+ICINCi0rI2RlZmluZSBMVUFfUFJPTVBUMiAgICAgICAgICAgIj4+ICINCi0rDQotKw0KLSsv Kg0KLStAQCBMVUFfUFJPR05BTUUgaXMgdGhlIGRlZmF1bHQgbmFtZSBmb3IgdGhlIHN0YW5kLWFs b25lIEx1YSBwcm9ncmFtLg0KLSsqKiBDSEFOR0UgaXQgaWYgeW91ciBzdGFuZC1hbG9uZSBpbnRl cnByZXRlciBoYXMgYSBkaWZmZXJlbnQgbmFtZSBhbmQNCi0rKiogeW91ciBzeXN0ZW0gaXMgbm90 IGFibGUgdG8gZGV0ZWN0IHRoYXQgbmFtZSBhdXRvbWF0aWNhbGx5Lg0KLSsqLw0KLSsjZGVmaW5l IExVQV9QUk9HTkFNRSAgICAgICAgICAibHVhIg0KLSsNCi0rDQotKy8qDQotK0BAIExVQV9NQVhJ TlBVVCBpcyB0aGUgbWF4aW11bSBsZW5ndGggZm9yIGFuIGlucHV0IGxpbmUgaW4gdGhlDQotK0Aq IHN0YW5kLWFsb25lIGludGVycHJldGVyLg0KLSsqKiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgbG9u Z2VyIGxpbmVzLg0KLSsqLw0KLSsjZGVmaW5lIExVQV9NQVhJTlBVVCAgNTEyDQotKw0KLSsNCi0r LyoNCi0rQEAgbHVhX3JlYWRsaW5lIGRlZmluZXMgaG93IHRvIHNob3cgYSBwcm9tcHQgYW5kIHRo ZW4gcmVhZCBhIGxpbmUgZnJvbQ0KLStAKiB0aGUgc3RhbmRhcmQgaW5wdXQuDQotK0BAIGx1YV9z YXZlbGluZSBkZWZpbmVzIGhvdyB0byAic2F2ZSIgYSByZWFkIGxpbmUgaW4gYSAiaGlzdG9yeSIu DQotK0BAIGx1YV9mcmVlbGluZSBkZWZpbmVzIGhvdyB0byBmcmVlIGEgbGluZSByZWFkIGJ5IGx1 YV9yZWFkbGluZS4NCi0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IHdhbnQgdG8gaW1wcm92ZSB0aGlz IGZ1bmN0aW9uYWxpdHkgKGUuZy4sIGJ5IHVzaW5nDQotKyoqIEdOVSByZWFkbGluZSBhbmQgaGlz dG9yeSBmYWNpbGl0aWVzKS4NCi0rKi8NCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9SRUFETElORSkN Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+DQotKyNpbmNsdWRlIDxyZWFkbGluZS9yZWFkbGluZS5oPg0K LSsjaW5jbHVkZSA8cmVhZGxpbmUvaGlzdG9yeS5oPg0KLSsjZGVmaW5lIGx1YV9yZWFkbGluZShM LGIscCkgICAoKHZvaWQpTCwgKChiKT1yZWFkbGluZShwKSkgIT0gTlVMTCkNCi0rI2RlZmluZSBs dWFfc2F2ZWxpbmUoTCxpZHgpIFwNCi0rICAgICAgaWYgKGx1YV9zdHJsZW4oTCxpZHgpID4gMCkg IC8qIG5vbi1lbXB0eSBsaW5lPyAqLyBcDQotKyAgICAgICAgYWRkX2hpc3RvcnkobHVhX3Rvc3Ry aW5nKEwsIGlkeCkpOyAgLyogYWRkIGl0IHRvIGhpc3RvcnkgKi8NCi0rI2RlZmluZSBsdWFfZnJl ZWxpbmUoTCxiKSAgICAgKCh2b2lkKUwsIGZyZWUoYikpDQotKyNlbHNlDQotKyNkZWZpbmUgbHVh X3JlYWRsaW5lKEwsYixwKSAgIFwNCi0rICAgICAgKCh2b2lkKUwsIGZwdXRzKHAsIHN0ZG91dCks IGZmbHVzaChzdGRvdXQpLCAgLyogc2hvdyBwcm9tcHQgKi8gXA0KLSsgICAgICBmZ2V0cyhiLCBM VUFfTUFYSU5QVVQsIHN0ZGluKSAhPSBOVUxMKSAgLyogZ2V0IGxpbmUgKi8NCi0rI2RlZmluZSBs dWFfc2F2ZWxpbmUoTCxpZHgpICAgeyAodm9pZClMOyAodm9pZClpZHg7IH0NCi0rI2RlZmluZSBs dWFfZnJlZWxpbmUoTCxiKSAgICAgeyAodm9pZClMOyAodm9pZCliOyB9DQotKyNlbmRpZg0KLSsN Ci0rI2VuZGlmDQotKw0KLSsvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQotKw0KLSsNCi0rLyoNCi0rQEAgTFVB SV9HQ1BBVVNFIGRlZmluZXMgdGhlIGRlZmF1bHQgcGF1c2UgYmV0d2VlbiBnYXJiYWdlLWNvbGxl Y3RvciBjeWNsZXMNCi0rQCogYXMgYSBwZXJjZW50YWdlLg0KLSsqKiBDSEFOR0UgaXQgaWYgeW91 IHdhbnQgdGhlIEdDIHRvIHJ1biBmYXN0ZXIgb3Igc2xvd2VyIChoaWdoZXIgdmFsdWVzDQotKyoq IG1lYW4gbGFyZ2VyIHBhdXNlcyB3aGljaCBtZWFuIHNsb3dlciBjb2xsZWN0aW9uLikgWW91IGNh biBhbHNvIGNoYW5nZQ0KLSsqKiB0aGlzIHZhbHVlIGR5bmFtaWNhbGx5Lg0KLSsqLw0KLSsjZGVm aW5lIExVQUlfR0NQQVVTRSAgMjAwICAvKiAyMDAlICh3YWl0IG1lbW9yeSB0byBkb3VibGUgYmVm b3JlIG5leHQgR0MpICovDQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBSV9HQ01VTCBkZWZpbmVzIHRo ZSBkZWZhdWx0IHNwZWVkIG9mIGdhcmJhZ2UgY29sbGVjdGlvbiByZWxhdGl2ZSB0bw0KLStAKiBt ZW1vcnkgYWxsb2NhdGlvbiBhcyBhIHBlcmNlbnRhZ2UuDQotKyoqIENIQU5HRSBpdCBpZiB5b3Ug d2FudCB0byBjaGFuZ2UgdGhlIGdyYW51bGFyaXR5IG9mIHRoZSBnYXJiYWdlDQotKyoqIGNvbGxl Y3Rpb24uIChIaWdoZXIgdmFsdWVzIG1lYW4gY29hcnNlciBjb2xsZWN0aW9ucy4gMCByZXByZXNl bnRzDQotKyoqIGluZmluaXR5LCB3aGVyZSBlYWNoIHN0ZXAgcGVyZm9ybXMgYSBmdWxsIGNvbGxl Y3Rpb24uKSBZb3UgY2FuIGFsc28NCi0rKiogY2hhbmdlIHRoaXMgdmFsdWUgZHluYW1pY2FsbHku DQotKyovDQotKyNkZWZpbmUgTFVBSV9HQ01VTCAgICAyMDAgLyogR0MgcnVucyAndHdpY2UgdGhl IHNwZWVkJyBvZiBtZW1vcnkgYWxsb2NhdGlvbiAqLw0KLSsNCi0rDQotKw0KLSsvKg0KLStAQCBM VUFfQ09NUEFUX0dFVE4gY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBnZXRuIGJlaGF2 aW9yLg0KLSsqKiBDSEFOR0UgaXQgKGRlZmluZSBpdCkgaWYgeW91IHdhbnQgZXhhY3QgY29tcGF0 aWJpbGl0eSB3aXRoIHRoZQ0KLSsqKiBiZWhhdmlvciBvZiBzZXRuL2dldG4gaW4gTHVhIDUuMC4N Ci0rKi8NCi0rI3VuZGVmIExVQV9DT01QQVRfR0VUTg0KLSsNCi0rLyoNCi0rQEAgTFVBX0NPTVBB VF9MT0FETElCIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgYWJvdXQgZ2xvYmFsIGxvYWRsaWIuDQot KyoqIENIQU5HRSBpdCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3UgZG8gbm90IG5lZWQgYSBn bG9iYWwgJ2xvYWRsaWInDQotKyoqIGZ1bmN0aW9uICh0aGUgZnVuY3Rpb24gaXMgc3RpbGwgYXZh aWxhYmxlIGFzICdwYWNrYWdlLmxvYWRsaWInKS4NCi0rKi8NCi0rI3VuZGVmIExVQV9DT01QQVRf TE9BRExJQg0KLSsNCi0rLyoNCi0rQEAgTFVBX0NPTVBBVF9WQVJBUkcgY29udHJvbHMgY29tcGF0 aWJpbGl0eSB3aXRoIG9sZCB2YXJhcmcgZmVhdHVyZS4NCi0rKiogQ0hBTkdFIGl0IHRvIHVuZGVm aW5lZCBhcyBzb29uIGFzIHlvdXIgcHJvZ3JhbXMgdXNlIG9ubHkgJy4uLicgdG8NCi0rKiogYWNj ZXNzIHZhcmFyZyBwYXJhbWV0ZXJzIChpbnN0ZWFkIG9mIHRoZSBvbGQgJ2FyZycgdGFibGUpLg0K LSsqLw0KLSsjZGVmaW5lIExVQV9DT01QQVRfVkFSQVJHDQotKw0KLSsvKg0KLStAQCBMVUFfQ09N UEFUX01PRCBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIG1hdGgubW9kIGZ1bmN0aW9u Lg0KLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91ciBwcm9ncmFtcyB1 c2UgJ21hdGguZm1vZCcgb3INCi0rKiogdGhlIG5ldyAnJScgb3BlcmF0b3IgaW5zdGVhZCBvZiAn bWF0aC5tb2QnLg0KLSsqLw0KLSsjZGVmaW5lIExVQV9DT01QQVRfTU9EDQotKw0KLSsvKg0KLStA QCBMVUFfQ09NUEFUX0xTVFIgY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBsb25nIHN0 cmluZyBuZXN0aW5nDQotK0AqIGZhY2lsaXR5Lg0KLSsqKiBDSEFOR0UgaXQgdG8gMiBpZiB5b3Ug d2FudCB0aGUgb2xkIGJlaGF2aW91ciwgb3IgdW5kZWZpbmUgaXQgdG8gdHVybg0KLSsqKiBvZmYg dGhlIGFkdmlzb3J5IGVycm9yIHdoZW4gbmVzdGluZyBbWy4uLl1dLg0KLSsqLw0KLSsjZGVmaW5l IExVQV9DT01QQVRfTFNUUiAgICAgICAgICAgICAgIDENCi0rDQotKy8qDQotK0BAIExVQV9DT01Q QVRfR0ZJTkQgY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCAnc3RyaW5nLmdmaW5kJyBu YW1lLg0KLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IHJlbmFtZSAn c3RyaW5nLmdmaW5kJyB0bw0KLSsqKiAnc3RyaW5nLmdtYXRjaCcuDQotKyovDQotKyNkZWZpbmUg TFVBX0NPTVBBVF9HRklORA0KLSsNCi0rLyoNCi0rQEAgTFVBX0NPTVBBVF9PUEVOTElCIGNvbnRy b2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgJ2x1YUxfb3BlbmxpYicNCi0rQCogYmVoYXZpb3Iu DQotKyoqIENIQU5HRSBpdCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3UgcmVwbGFjZSB0byAn bHVhTF9yZWdpc3RlcicNCi0rKiogeW91ciB1c2VzIG9mICdsdWFMX29wZW5saWInDQotKyovDQot KyNkZWZpbmUgTFVBX0NPTVBBVF9PUEVOTElCDQotKw0KLSsNCi0rDQotKy8qDQotK0BAIGx1YWlf YXBpY2hlY2sgaXMgdGhlIGFzc2VydCBtYWNybyB1c2VkIGJ5IHRoZSBMdWEtQyBBUEkuDQotKyoq IENIQU5HRSBsdWFpX2FwaWNoZWNrIGlmIHlvdSB3YW50IEx1YSB0byBwZXJmb3JtIHNvbWUgY2hl Y2tzIGluIHRoZQ0KLSsqKiBwYXJhbWV0ZXJzIGl0IGdldHMgZnJvbSBBUEkgY2FsbHMuIFRoaXMg bWF5IHNsb3cgZG93biB0aGUgaW50ZXJwcmV0ZXINCi0rKiogYSBiaXQsIGJ1dCBtYXkgYmUgcXVp dGUgdXNlZnVsIHdoZW4gZGVidWdnaW5nIEMgY29kZSB0aGF0IGludGVyZmFjZXMNCi0rKiogd2l0 aCBMdWEuIEEgdXNlZnVsIHJlZGVmaW5pdGlvbiBpcyB0byB1c2UgYXNzZXJ0LmguDQotKyovDQot KyNpZiBkZWZpbmVkKExVQV9VU0VfQVBJQ0hFQ0spDQotKyNpbmNsdWRlIDxhc3NlcnQuaD4NCi0r I2RlZmluZSBsdWFpX2FwaWNoZWNrKEwsbykgICAgeyAodm9pZClMOyBhc3NlcnQobyk7IH0NCi0r I2Vsc2UNCi0rI2RlZmluZSBsdWFpX2FwaWNoZWNrKEwsbykgICAgeyAodm9pZClMOyB9DQotKyNl bmRpZg0KLSsNCi0rDQotKy8qDQotK0BAIExVQUlfQklUU0lOVCBkZWZpbmVzIHRoZSBudW1iZXIg b2YgYml0cyBpbiBhbiBpbnQuDQotKyoqIENIQU5HRSBoZXJlIGlmIEx1YSBjYW5ub3QgYXV0b21h dGljYWxseSBkZXRlY3QgdGhlIG51bWJlciBvZiBiaXRzIG9mDQotKyoqIHlvdXIgbWFjaGluZS4g UHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGlzLg0KLSsqLw0KLSsvKiBhdm9p ZCBvdmVyZmxvd3MgaW4gY29tcGFyaXNvbiAqLw0KLSsjaWYgSU5UX01BWC0yMCA8IDMyNzYwDQot KyNkZWZpbmUgTFVBSV9CSVRTSU5UICAxNg0KLSsjZWxpZiBJTlRfTUFYID4gMjE0NzQ4MzY0MEwN Ci0rLyogaW50IGhhcyBhdCBsZWFzdCAzMiBiaXRzICovDQotKyNkZWZpbmUgTFVBSV9CSVRTSU5U ICAzMg0KLSsjZWxzZQ0KLSsjZXJyb3IgInlvdSBtdXN0IGRlZmluZSBMVUFfQklUU0lOVCB3aXRo IG51bWJlciBvZiBiaXRzIGluIGFuIGludGVnZXIiDQotKyNlbmRpZg0KLSsNCi0rDQotKy8qDQot K0BAIExVQUlfVUlOVDMyIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgd2l0aCBhdCBsZWFzdCAzMiBi aXRzLg0KLStAQCBMVUFJX0lOVDMyIGlzIGFuIHNpZ25lZCBpbnRlZ2VyIHdpdGggYXQgbGVhc3Qg MzIgYml0cy4NCi0rQEAgTFVBSV9VTUVNIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgYmlnIGVub3Vn aCB0byBjb3VudCB0aGUgdG90YWwNCi0rQCogbWVtb3J5IHVzZWQgYnkgTHVhLg0KLStAQCBMVUFJ X01FTSBpcyBhIHNpZ25lZCBpbnRlZ2VyIGJpZyBlbm91Z2ggdG8gY291bnQgdGhlIHRvdGFsIG1l bW9yeQ0KLStAKiB1c2VkIGJ5IEx1YS4NCi0rKiogQ0hBTkdFIGhlcmUgaWYgZm9yIHNvbWUgd2Vp cmQgcmVhc29uIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIGFyZSBub3QNCi0rKiogZ29vZCBlbm91 Z2ggZm9yIHlvdXIgbWFjaGluZS4gKFRoZSBkZWZpbml0aW9ucyBpbiB0aGUgJ2Vsc2UnDQotKyoq IHBhcnQgYWx3YXlzIHdvcmtzLCBidXQgbWF5IHdhc3RlIHNwYWNlIG9uIG1hY2hpbmVzIHdpdGgg NjQtYml0DQotKyoqIGxvbmdzLikgUHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0 aGlzLg0KLSsqLw0KLSsjaWYgTFVBSV9CSVRTSU5UID49IDMyDQotKyNkZWZpbmUgTFVBSV9VSU5U MzIgICB1bnNpZ25lZCBpbnQNCi0rI2RlZmluZSBMVUFJX0lOVDMyICAgIGludA0KLSsjZGVmaW5l IExVQUlfTUFYSU5UMzIgSU5UX01BWA0KLSsjZGVmaW5lIExVQUlfVU1FTSAgICAgc2l6ZV90DQot KyNkZWZpbmUgTFVBSV9NRU0gICAgICBwdHJkaWZmX3QNCi0rI2Vsc2UNCi0rLyogMTYtYml0IGlu dHMgKi8NCi0rI2RlZmluZSBMVUFJX1VJTlQzMiAgIHVuc2lnbmVkIGxvbmcNCi0rI2RlZmluZSBM VUFJX0lOVDMyICAgIGxvbmcNCi0rI2RlZmluZSBMVUFJX01BWElOVDMyIExPTkdfTUFYDQotKyNk ZWZpbmUgTFVBSV9VTUVNICAgICB1bnNpZ25lZCBsb25nDQotKyNkZWZpbmUgTFVBSV9NRU0gICAg ICBsb25nDQotKyNlbmRpZg0KLSsNCi0rDQotKy8qDQotK0BAIExVQUlfTUFYQ0FMTFMgbGltaXRz IHRoZSBudW1iZXIgb2YgbmVzdGVkIGNhbGxzLg0KLSsqKiBDSEFOR0UgaXQgaWYgeW91IG5lZWQg cmVhbGx5IGRlZXAgcmVjdXJzaXZlIGNhbGxzLiBUaGlzIGxpbWl0IGlzDQotKyoqIGFyYml0cmFy eTsgaXRzIG9ubHkgcHVycG9zZSBpcyB0byBzdG9wIGluZmluaXRlIHJlY3Vyc2lvbiBiZWZvcmUN Ci0rKiogZXhoYXVzdGluZyBtZW1vcnkuDQotKyovDQotKyNkZWZpbmUgTFVBSV9NQVhDQUxMUyAy MDAwMA0KLSsNCi0rDQotKy8qDQotK0BAIExVQUlfTUFYQ1NUQUNLIGxpbWl0cyB0aGUgbnVtYmVy IG9mIEx1YSBzdGFjayBzbG90cyB0aGF0IGEgQyBmdW5jdGlvbg0KLStAKiBjYW4gdXNlLg0KLSsq KiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgbG90cyBvZiAoTHVhKSBzdGFjayBzcGFjZSBmb3IgeW91 ciBDDQotKyoqIGZ1bmN0aW9ucy4gVGhpcyBsaW1pdCBpcyBhcmJpdHJhcnk7IGl0cyBvbmx5IHB1 cnBvc2UgaXMgdG8gc3RvcCBDDQotKyoqIGZ1bmN0aW9ucyB0byBjb25zdW1lIHVubGltaXRlZCBz dGFjayBzcGFjZS4NCi0rKi8NCi0rI2RlZmluZSBMVUFJX01BWENTVEFDSyAgICAgICAgMjA0OA0K LSsNCi0rDQotKw0KLSsvKg0KLSsqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotKyoqIENIQU5HRSAodG8gc21hbGxl ciB2YWx1ZXMpIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgaWYgeW91ciBzeXN0ZW0NCi0rKiog aGFzIGEgc21hbGwgQyBzdGFjay4gKE9yIHlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdGhlbSB0byBs YXJnZXINCi0rKiogdmFsdWVzIGlmIHlvdXIgc3lzdGVtIGhhcyBhIGxhcmdlIEMgc3RhY2sgYW5k IHRoZXNlIGxpbWl0cyBhcmUNCi0rKiogdG9vIHJpZ2lkIGZvciB5b3UuKSBTb21lIG9mIHRoZXNl IGNvbnN0YW50cyBjb250cm9sIHRoZSBzaXplIG9mDQotKyoqIHN0YWNrLWFsbG9jYXRlZCBhcnJh eXMgdXNlZCBieSB0aGUgY29tcGlsZXIgb3IgdGhlIGludGVycHJldGVyLCB3aGlsZQ0KLSsqKiBv dGhlcnMgbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlY3Vyc2l2ZSBjYWxscyB0aGF0IHRo ZSBjb21waWxlcg0KLSsqKiBvciB0aGUgaW50ZXJwcmV0ZXIgY2FuIHBlcmZvcm0uIFZhbHVlcyB0 b28gbGFyZ2UgbWF5IGNhdXNlIGEgQyBzdGFjaw0KLSsqKiBvdmVyZmxvdyBmb3Igc29tZSBmb3Jt cyBvZiBkZWVwIGNvbnN0cnVjdHMuDQotKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0rKi8NCi0rDQotKw0KLSsv Kg0KLStAQCBMVUFJX01BWENDQUxMUyBpcyB0aGUgbWF4aW11bSBkZXB0aCBmb3IgbmVzdGVkIEMg Y2FsbHMgKHNob3J0KSBhbmQNCi0rQCogc3ludGFjdGljYWwgbmVzdGVkIG5vbi10ZXJtaW5hbHMg aW4gYSBwcm9ncmFtLg0KLSsqLw0KLSsjZGVmaW5lIExVQUlfTUFYQ0NBTExTICAgICAgICAgICAg ICAgIDIwMA0KLSsNCi0rDQotKy8qDQotK0BAIExVQUlfTUFYVkFSUyBpcyB0aGUgbWF4aW11bSBu dW1iZXIgb2YgbG9jYWwgdmFyaWFibGVzIHBlciBmdW5jdGlvbg0KLStAKiAobXVzdCBiZSBzbWFs bGVyIHRoYW4gMjUwKS4NCi0rKi8NCi0rI2RlZmluZSBMVUFJX01BWFZBUlMgICAgICAgICAgMjAw DQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBSV9NQVhVUFZBTFVFUyBpcyB0aGUgbWF4aW11bSBudW1i ZXIgb2YgdXB2YWx1ZXMgcGVyIGZ1bmN0aW9uDQotK0AqIChtdXN0IGJlIHNtYWxsZXIgdGhhbiAy NTApLg0KLSsqLw0KLSsjZGVmaW5lIExVQUlfTUFYVVBWQUxVRVMgICAgICA2MA0KLSsNCi0rDQot Ky8qDQotK0BAIExVQUxfQlVGRkVSU0laRSBpcyB0aGUgYnVmZmVyIHNpemUgdXNlZCBieSB0aGUg bGF1eGxpYiBidWZmZXIgc3lzdGVtLg0KLSsqLw0KLSsjZGVmaW5lIExVQUxfQlVGRkVSU0laRSAg ICAgICAgICAgICAgIEJVRlNJWg0KLSsNCi0rLyogfT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KLSsNCi0rDQotKw0K LSsNCi0rLyoNCi0rKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLStAQCBMVUFfTlVNQkVSIGlzIHRoZSB0eXBlIG9m IG51bWJlcnMgaW4gTHVhLg0KLSsqKiBDSEFOR0UgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBv bmx5IGlmIHlvdSB3YW50IHRvIGJ1aWxkIEx1YQ0KLSsqKiB3aXRoIGEgbnVtYmVyIHR5cGUgZGlm ZmVyZW50IGZyb20gZG91YmxlLiBZb3UgbWF5IGFsc28gbmVlZCB0bw0KLSsqKiBjaGFuZ2UgbHVh X251bWJlcjJpbnQgJiBsdWFfbnVtYmVyMmludGVnZXIuDQotKyoqID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0rKi8N Ci0rDQotKyNkZWZpbmUgTFVBX05VTUJFUl9ET1VCTEUNCi0rI2RlZmluZSBMVUFfTlVNQkVSICAg IGRvdWJsZQ0KLSsNCi0rLyoNCi0rQEAgTFVBSV9VQUNOVU1CRVIgaXMgdGhlIHJlc3VsdCBvZiBh biAndXN1YWwgYXJndW1lbnQgY29udmVyc2lvbicNCi0rQCogb3ZlciBhIG51bWJlci4NCi0rKi8N Ci0rI2RlZmluZSBMVUFJX1VBQ05VTUJFUiAgICAgICAgZG91YmxlDQotKw0KLSsNCi0rLyoNCi0r QEAgTFVBX05VTUJFUl9TQ0FOIGlzIHRoZSBmb3JtYXQgZm9yIHJlYWRpbmcgbnVtYmVycy4NCi0r QEAgTFVBX05VTUJFUl9GTVQgaXMgdGhlIGZvcm1hdCBmb3Igd3JpdGluZyBudW1iZXJzLg0KLStA QCBsdWFfbnVtYmVyMnN0ciBjb252ZXJ0cyBhIG51bWJlciB0byBhIHN0cmluZy4NCi0rQEAgTFVB SV9NQVhOVU1CRVIyU1RSIGlzIG1heGltdW0gc2l6ZSBvZiBwcmV2aW91cyBjb252ZXJzaW9uLg0K LStAQCBsdWFfc3RyMm51bWJlciBjb252ZXJ0cyBhIHN0cmluZyB0byBhIG51bWJlci4NCi0rKi8N Ci0rI2RlZmluZSBMVUFfTlVNQkVSX1NDQU4gICAgICAgICAgICAgICAiJWxmIg0KLSsjZGVmaW5l IExVQV9OVU1CRVJfRk1UICAgICAgICAgICAgICAgICIlLjE0ZyINCi0rI2RlZmluZSBsdWFfbnVt YmVyMnN0cihzLG4pICAgc3ByaW50ZigocyksIExVQV9OVU1CRVJfRk1ULCAobikpDQotKyNkZWZp bmUgTFVBSV9NQVhOVU1CRVIyU1RSICAgIDMyIC8qIDE2IGRpZ2l0cywgc2lnbiwgcG9pbnQsIGFu ZCBcMCAqLw0KLSsjZGVmaW5lIGx1YV9zdHIybnVtYmVyKHMscCkgICBzdHJ0b2QoKHMpLCAocCkp DQotKw0KLSsNCi0rLyoNCi0rQEAgVGhlIGx1YWlfbnVtKiBtYWNyb3MgZGVmaW5lIHRoZSBwcmlt aXRpdmUgb3BlcmF0aW9ucyBvdmVyIG51bWJlcnMuDQotKyovDQotKyNpZiBkZWZpbmVkKExVQV9D T1JFKQ0KLSsjaW5jbHVkZSA8bWF0aC5oPg0KLSsjZGVmaW5lIGx1YWlfbnVtYWRkKGEsYikgICAg ICAoKGEpKyhiKSkNCi0rI2RlZmluZSBsdWFpX251bXN1YihhLGIpICAgICAgKChhKS0oYikpDQot KyNkZWZpbmUgbHVhaV9udW1tdWwoYSxiKSAgICAgICgoYSkqKGIpKQ0KLSsjZGVmaW5lIGx1YWlf bnVtZGl2KGEsYikgICAgICAoKGEpLyhiKSkNCi0rI2RlZmluZSBsdWFpX251bW1vZChhLGIpICAg ICAgKChhKSAtIGZsb29yKChhKS8oYikpKihiKSkNCi0rI2RlZmluZSBsdWFpX251bXBvdyhhLGIp ICAgICAgKHBvdyhhLGIpKQ0KLSsjZGVmaW5lIGx1YWlfbnVtdW5tKGEpICAgICAgICAgICAgICAg ICgtKGEpKQ0KLSsjZGVmaW5lIGx1YWlfbnVtZXEoYSxiKSAgICAgICAgICAgICAgICgoYSk9PShi KSkNCi0rI2RlZmluZSBsdWFpX251bWx0KGEsYikgICAgICAgICAgICAgICAoKGEpPChiKSkNCi0r I2RlZmluZSBsdWFpX251bWxlKGEsYikgICAgICAgICAgICAgICAoKGEpPD0oYikpDQotKyNkZWZp bmUgbHVhaV9udW1pc25hbihhKSAgICAgICghbHVhaV9udW1lcSgoYSksIChhKSkpDQotKyNlbmRp Zg0KLSsNCi0rDQotKy8qDQotK0BAIGx1YV9udW1iZXIyaW50IGlzIGEgbWFjcm8gdG8gY29udmVy dCBsdWFfTnVtYmVyIHRvIGludC4NCi0rQEAgbHVhX251bWJlcjJpbnRlZ2VyIGlzIGEgbWFjcm8g dG8gY29udmVydCBsdWFfTnVtYmVyIHRvIGx1YV9JbnRlZ2VyLg0KLSsqKiBDSEFOR0UgdGhlbSBp ZiB5b3Uga25vdyBhIGZhc3RlciB3YXkgdG8gY29udmVydCBhIGx1YV9OdW1iZXIgdG8NCi0rKiog aW50ICh3aXRoIGFueSByb3VuZGluZyBtZXRob2QgYW5kIHdpdGhvdXQgdGhyb3dpbmcgZXJyb3Jz KSBpbiB5b3VyDQotKyoqIHN5c3RlbS4gSW4gUGVudGl1bSBtYWNoaW5lcywgYSBuYWl2ZSB0eXBl Y2FzdCBmcm9tIGRvdWJsZSB0byBpbnQNCi0rKiogaW4gQyBpcyBleHRyZW1lbHkgc2xvdywgc28g YW55IGFsdGVybmF0aXZlIGlzIHdvcnRoIHRyeWluZy4NCi0rKi8NCi0rDQotKy8qIE9uIGEgUGVu dGl1bSwgcmVzb3J0IHRvIGEgdHJpY2sgKi8NCi0rI2lmIGRlZmluZWQoTFVBX05VTUJFUl9ET1VC TEUpICYmICFkZWZpbmVkKExVQV9BTlNJKSAmJiAhZGVmaW5lZChfX1NTRTJfXykgJiYgXA0KLSsg ICAgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkIChfTV9JWDg2KSB8fCBkZWZpbmVkKF9faTM4 Nl9fKSkNCi0rDQotKy8qIE9uIGEgTWljcm9zb2Z0IGNvbXBpbGVyLCB1c2UgYXNzZW1ibGVyICov DQotKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQ0KLSsNCi0rI2RlZmluZSBsdWFfbnVtYmVyMmludChp LGQpICAgX19hc20gZmxkIGQgICBfX2FzbSBmaXN0cCBpDQotKyNkZWZpbmUgbHVhX251bWJlcjJp bnRlZ2VyKGksbikgICAgICAgICAgICAgICBsdWFfbnVtYmVyMmludChpLCBuKQ0KLSsNCi0rLyog dGhlIG5leHQgdHJpY2sgc2hvdWxkIHdvcmsgb24gYW55IFBlbnRpdW0sIGJ1dCBzb21ldGltZXMg Y2xhc2hlcw0KLSsgICB3aXRoIGEgRGlyZWN0WCBpZGlvc3luY3Jhc3kgKi8NCi0rI2Vsc2UNCi0r DQotK3VuaW9uIGx1YWlfQ2FzdCB7IGRvdWJsZSBsX2Q7IGxvbmcgbF9sOyB9Ow0KLSsjZGVmaW5l IGx1YV9udW1iZXIyaW50KGksZCkgXA0KLSsgIHsgdm9sYXRpbGUgdW5pb24gbHVhaV9DYXN0IHU7 IHUubF9kID0gKGQpICsgNjc1NTM5OTQ0MTA1NTc0NC4wOyAoaSkgPSB1LmxfbDsgfQ0KLSsjZGVm aW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLG4pICAgICAgICAgICAgICAgbHVhX251bWJlcjJpbnQo aSwgbikNCi0rDQotKyNlbmRpZg0KLSsNCi0rDQotKy8qIHRoaXMgb3B0aW9uIGFsd2F5cyB3b3Jr cywgYnV0IG1heSBiZSBzbG93ICovDQotKyNlbHNlDQotKyNkZWZpbmUgbHVhX251bWJlcjJpbnQo aSxkKSAgICgoaSk9KGludCkoZCkpDQotKyNkZWZpbmUgbHVhX251bWJlcjJpbnRlZ2VyKGksZCkg ICAgICAgKChpKT0obHVhX0ludGVnZXIpKGQpKQ0KLSsNCi0rI2VuZGlmDQotKw0KLSsvKiB9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ICovDQotKw0KLSsNCi0rLyoNCi0rQEAgTFVBSV9VU0VSX0FMSUdOTUVOVF9UIGlzIGEg dHlwZSB0aGF0IHJlcXVpcmVzIG1heGltdW0gYWxpZ25tZW50Lg0KLSsqKiBDSEFOR0UgaXQgaWYg eW91ciBzeXN0ZW0gcmVxdWlyZXMgYWxpZ25tZW50cyBsYXJnZXIgdGhhbiBkb3VibGUuIChGb3IN Ci0rKiogaW5zdGFuY2UsIGlmIHlvdXIgc3lzdGVtIHN1cHBvcnRzIGxvbmcgZG91YmxlcyBhbmQg dGhleSBtdXN0IGJlDQotKyoqIGFsaWduZWQgaW4gMTYtYnl0ZSBib3VuZGFyaWVzLCB0aGVuIHlv dSBzaG91bGQgYWRkIGxvbmcgZG91YmxlIGluIHRoZQ0KLSsqKiB1bmlvbi4pIFByb2JhYmx5IHlv dSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4NCi0rKi8NCi0rI2RlZmluZSBMVUFJX1VTRVJf QUxJR05NRU5UX1QgdW5pb24geyBkb3VibGUgdTsgdm9pZCAqczsgbG9uZyBsOyB9DQotKw0KLSsN Ci0rLyoNCi0rQEAgTFVBSV9USFJPVy9MVUFJX1RSWSBkZWZpbmUgaG93IEx1YSBkb2VzIGV4Y2Vw dGlvbiBoYW5kbGluZy4NCi0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IHByZWZlciB0byB1c2UgbG9u Z2ptcC9zZXRqbXAgZXZlbiB3aXRoIEMrKw0KLSsqKiBvciBpZiB3YW50L2Rvbid0IHRvIHVzZSBf bG9uZ2ptcC9fc2V0am1wIGluc3RlYWQgb2YgcmVndWxhcg0KLSsqKiBsb25nam1wL3NldGptcC4g QnkgZGVmYXVsdCwgTHVhIGhhbmRsZXMgZXJyb3JzIHdpdGggZXhjZXB0aW9ucyB3aGVuDQotKyoq IGNvbXBpbGluZyBhcyBDKysgY29kZSwgd2l0aCBfbG9uZ2ptcC9fc2V0am1wIHdoZW4gYXNrZWQg dG8gdXNlIHRoZW0sDQotKyoqIGFuZCB3aXRoIGxvbmdqbXAvc2V0am1wIG90aGVyd2lzZS4NCi0r Ki8NCi0rI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpDQotKy8qIEMrKyBleGNlcHRpb25zICovDQot KyNkZWZpbmUgTFVBSV9USFJPVyhMLGMpICAgICAgIHRocm93KGMpDQotKyNkZWZpbmUgTFVBSV9U UlkoTCxjLGEpICAgICAgIHRyeSB7IGEgfSBjYXRjaCguLi4pIFwNCi0rICAgICAgeyBpZiAoKGMp LT5zdGF0dXMgPT0gMCkgKGMpLT5zdGF0dXMgPSAtMTsgfQ0KLSsjZGVmaW5lIGx1YWlfam1wYnVm ICAgaW50ICAvKiBkdW1teSB2YXJpYWJsZSAqLw0KLSsNCi0rI2VsaWYgZGVmaW5lZChMVUFfVVNF X1VMT05HSk1QKQ0KLSsvKiBpbiBVbml4LCB0cnkgX2xvbmdqbXAvX3NldGptcCAobW9yZSBlZmZp Y2llbnQpICovDQotKyNkZWZpbmUgTFVBSV9USFJPVyhMLGMpICAgICAgIF9sb25nam1wKChjKS0+ YiwgMSkNCi0rI2RlZmluZSBMVUFJX1RSWShMLGMsYSkgICAgICAgaWYgKF9zZXRqbXAoKGMpLT5i KSA9PSAwKSB7IGEgfQ0KLSsjZGVmaW5lIGx1YWlfam1wYnVmICAgam1wX2J1Zg0KLSsNCi0rI2Vs c2UNCi0rLyogZGVmYXVsdCBoYW5kbGluZyB3aXRoIGxvbmcganVtcHMgKi8NCi0rI2RlZmluZSBM VUFJX1RIUk9XKEwsYykgICAgICAgbG9uZ2ptcCgoYyktPmIsIDEpDQotKyNkZWZpbmUgTFVBSV9U UlkoTCxjLGEpICAgICAgIGlmIChzZXRqbXAoKGMpLT5iKSA9PSAwKSB7IGEgfQ0KLSsjZGVmaW5l IGx1YWlfam1wYnVmICAgam1wX2J1Zg0KLSsNCi0rI2VuZGlmDQotKw0KLSsNCi0rLyoNCi0rQEAg TFVBX01BWENBUFRVUkVTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjYXB0dXJlcyB0aGF0IGEg cGF0dGVybg0KLStAKiBjYW4gZG8gZHVyaW5nIHBhdHRlcm4tbWF0Y2hpbmcuDQotKyoqIENIQU5H RSBpdCBpZiB5b3UgbmVlZCBtb3JlIGNhcHR1cmVzLiBUaGlzIGxpbWl0IGlzIGFyYml0cmFyeS4N Ci0rKi8NCi0rI2RlZmluZSBMVUFfTUFYQ0FQVFVSRVMgICAgICAgICAgICAgICAzMg0KLSsNCi0r DQotKy8qDQotK0BAIGx1YV90bXBuYW0gaXMgdGhlIGZ1bmN0aW9uIHRoYXQgdGhlIE9TIGxpYnJh cnkgdXNlcyB0byBjcmVhdGUgYQ0KLStAKiB0ZW1wb3JhcnkgbmFtZS4NCi0rQEAgTFVBX1RNUE5B TUJVRlNJWkUgaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIG5hbWUgY3JlYXRlZCBieSBsdWFfdG1w bmFtLg0KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3UgaGF2ZSBhbiBhbHRlcm5hdGl2ZSB0byB0bXBu YW0gKHdoaWNoIGlzIGNvbnNpZGVyZWQNCi0rKiogaW5zZWN1cmUpIG9yIGlmIHlvdSB3YW50IHRo ZSBvcmlnaW5hbCB0bXBuYW0gYW55d2F5LiAgQnkgZGVmYXVsdCwgTHVhDQotKyoqIHVzZXMgdG1w bmFtIGV4Y2VwdCB3aGVuIFBPU0lYIGlzIGF2YWlsYWJsZSwgd2hlcmUgaXQgdXNlcyBta3N0ZW1w Lg0KLSsqLw0KLSsjaWYgZGVmaW5lZChsb3NsaWJfYykgfHwgZGVmaW5lZChsdWFhbGxfYykNCi0r DQotKyNpZiBkZWZpbmVkKExVQV9VU0VfTUtTVEVNUCkNCi0rI2luY2x1ZGUgPHVuaXN0ZC5oPg0K LSsjZGVmaW5lIExVQV9UTVBOQU1CVUZTSVpFICAgICAzMg0KLSsjZGVmaW5lIGx1YV90bXBuYW0o YixlKSAgICAgICB7IFwNCi0rICAgICAgc3RyY3B5KGIsICIvdG1wL2x1YV9YWFhYWFgiKTsgXA0K LSsgICAgICBlID0gbWtzdGVtcChiKTsgXA0KLSsgICAgICBpZiAoZSAhPSAtMSkgY2xvc2UoZSk7 IFwNCi0rICAgICAgZSA9IChlID09IC0xKTsgfQ0KLSsNCi0rI2Vsc2UNCi0rI2RlZmluZSBMVUFf VE1QTkFNQlVGU0laRSAgICAgTF90bXBuYW0NCi0rI2RlZmluZSBsdWFfdG1wbmFtKGIsZSkgICAg ICAgICAgICAgICB7IGUgPSAodG1wbmFtKGIpID09IE5VTEwpOyB9DQotKyNlbmRpZg0KLSsNCi0r I2VuZGlmDQotKw0KLSsNCi0rLyoNCi0rQEAgbHVhX3BvcGVuIHNwYXducyBhIG5ldyBwcm9jZXNz IGNvbm5lY3RlZCB0byB0aGUgY3VycmVudCBvbmUgdGhyb3VnaA0KLStAKiB0aGUgZmlsZSBzdHJl YW1zLg0KLSsqKiBDSEFOR0UgaXQgaWYgeW91IGhhdmUgYSB3YXkgdG8gaW1wbGVtZW50IGl0IGlu IHlvdXIgc3lzdGVtLg0KLSsqLw0KLSsjaWYgZGVmaW5lZChMVUFfVVNFX1BPUEVOKQ0KLSsNCi0r I2RlZmluZSBsdWFfcG9wZW4oTCxjLG0pICAgICAgKCh2b2lkKUwsIHBvcGVuKGMsbSkpDQotKyNk ZWZpbmUgbHVhX3BjbG9zZShMLGZpbGUpICAgICgodm9pZClMLCAocGNsb3NlKGZpbGUpICE9IC0x KSkNCi0rDQotKyNlbGlmIGRlZmluZWQoTFVBX1dJTikNCi0rDQotKyNkZWZpbmUgbHVhX3BvcGVu KEwsYyxtKSAgICAgICgodm9pZClMLCBfcG9wZW4oYyxtKSkNCi0rI2RlZmluZSBsdWFfcGNsb3Nl KEwsZmlsZSkgICAgKCh2b2lkKUwsIChfcGNsb3NlKGZpbGUpICE9IC0xKSkNCi0rDQotKyNlbHNl DQotKw0KLSsjZGVmaW5lIGx1YV9wb3BlbihMLGMsbSkgICAgICAoKHZvaWQpKCh2b2lkKWMsIG0p LCAgXA0KLSsgICAgICAgICAgICAgIGx1YUxfZXJyb3IoTCwgTFVBX1FMKCJwb3BlbiIpICIgbm90 IHN1cHBvcnRlZCIpLCAoRklMRSopMCkNCi0rI2RlZmluZSBsdWFfcGNsb3NlKEwsZmlsZSkgICAg ICAgICAgICAoKHZvaWQpKCh2b2lkKUwsIGZpbGUpLCAwKQ0KLSsNCi0rI2VuZGlmDQotKw0KLSsv Kg0KLStAQCBMVUFfRExfKiBkZWZpbmUgd2hpY2ggZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBMdWEg c2hvdWxkIHVzZS4NCi0rKiogQ0hBTkdFIGhlcmUgaWYgTHVhIGhhcyBwcm9ibGVtcyBjaG9vc2lu ZyB0aGUgYXBwcm9wcmlhdGUNCi0rKiogZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBmb3IgeW91ciBw bGF0Zm9ybSAoZWl0aGVyIFdpbmRvd3MnIERMTCwgTWFjJ3MNCi0rKiogZHlsZCwgb3IgVW5peCdz IGRsb3BlbikuIElmIHlvdXIgc3lzdGVtIGlzIHNvbWUga2luZCBvZiBVbml4LCB0aGVyZQ0KLSsq KiBpcyBhIGdvb2QgY2hhbmNlIHRoYXQgaXQgaGFzIGRsb3Blbiwgc28gTFVBX0RMX0RMT1BFTiB3 aWxsIHdvcmsgZm9yDQotKyoqIGl0LiAgVG8gdXNlIGRsb3BlbiB5b3UgYWxzbyBuZWVkIHRvIGFk YXB0IHRoZSBzcmMvTWFrZWZpbGUgKHByb2JhYmx5DQotKyoqIGFkZGluZyAtbGRsIHRvIHRoZSBs aW5rZXIgb3B0aW9ucyksIHNvIEx1YSBkb2VzIG5vdCBzZWxlY3QgaXQNCi0rKiogYXV0b21hdGlj YWxseS4gIChXaGVuIHlvdSBjaGFuZ2UgdGhlIG1ha2VmaWxlIHRvIGFkZCAtbGRsLCB5b3UgbXVz dA0KLSsqKiBhbHNvIGFkZCAtRExVQV9VU0VfRExPUEVOLikNCi0rKiogSWYgeW91IGRvIG5vdCB3 YW50IGFueSBraW5kIG9mIGR5bmFtaWMgbGlicmFyeSwgdW5kZWZpbmUgYWxsIHRoZXNlDQotKyoq IG9wdGlvbnMuDQotKyoqIEJ5IGRlZmF1bHQsIF9XSU4zMiBnZXRzIExVQV9ETF9ETEwgYW5kIE1B QyBPUyBYIGdldHMgTFVBX0RMX0RZTEQuDQotKyovDQotKyNpZiBkZWZpbmVkKExVQV9VU0VfRExP UEVOKQ0KLSsjZGVmaW5lIExVQV9ETF9ETE9QRU4NCi0rI2VuZGlmDQotKw0KLSsjaWYgZGVmaW5l ZChMVUFfV0lOKQ0KLSsjZGVmaW5lIExVQV9ETF9ETEwNCi0rI2VuZGlmDQotKw0KLSsNCi0rLyoN Ci0rQEAgTFVBSV9FWFRSQVNQQUNFIGFsbG93cyB5b3UgdG8gYWRkIHVzZXItc3BlY2lmaWMgZGF0 YSBpbiBhIGx1YV9TdGF0ZQ0KLStAKiAodGhlIGRhdGEgZ29lcyBqdXN0ICpiZWZvcmUqIHRoZSBs dWFfU3RhdGUgcG9pbnRlcikuDQotKyoqIENIQU5HRSAoZGVmaW5lKSB0aGlzIGlmIHlvdSByZWFs bHkgbmVlZCB0aGF0LiBUaGlzIHZhbHVlIG11c3QgYmUNCi0rKiogYSBtdWx0aXBsZSBvZiB0aGUg bWF4aW11bSBhbGlnbm1lbnQgcmVxdWlyZWQgZm9yIHlvdXIgbWFjaGluZS4NCi0rKi8NCi0rI2Rl ZmluZSBMVUFJX0VYVFJBU1BBQ0UgICAgICAgICAgICAgICAwDQotKw0KLSsNCi0rLyoNCi0rQEAg bHVhaV91c2Vyc3RhdGUqIGFsbG93IHVzZXItc3BlY2lmaWMgYWN0aW9ucyBvbiB0aHJlYWRzLg0K LSsqKiBDSEFOR0UgdGhlbSBpZiB5b3UgZGVmaW5lZCBMVUFJX0VYVFJBU1BBQ0UgYW5kIG5lZWQg dG8gZG8gc29tZXRoaW5nDQotKyoqIGV4dHJhIHdoZW4gYSB0aHJlYWQgaXMgY3JlYXRlZC9kZWxl dGVkL3Jlc3VtZWQveWllbGRlZC4NCi0rKi8NCi0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZW9wZW4o TCkgICAgICAgICAoKHZvaWQpTCkNCi0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZWNsb3NlKEwpICAg ICAgICAgICAgICAgICgodm9pZClMKQ0KLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRldGhyZWFkKEws TDEpICAgICgodm9pZClMKQ0KLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlZnJlZShMKSAgICAgICAg ICgodm9pZClMKQ0KLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlcmVzdW1lKEwsbikgICAgICgodm9p ZClMKQ0KLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRleWllbGQoTCxuKSAgICAgICgodm9pZClMKQ0K LSsNCi0rDQotKy8qDQotK0BAIExVQV9JTlRGUk1MRU4gaXMgdGhlIGxlbmd0aCBtb2RpZmllciBm b3IgaW50ZWdlciBjb252ZXJzaW9ucw0KLStAKiBpbiAnc3RyaW5nLmZvcm1hdCcuDQotK0BAIExV QV9JTlRGUk1fVCBpcyB0aGUgaW50ZWdlciB0eXBlIGNvcnJlc3BvZGluZyB0byB0aGUgcHJldmlv dXMgbGVuZ3RoDQotK0AqIG1vZGlmaWVyLg0KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3VyIHN5c3Rl bSBzdXBwb3J0cyBsb25nIGxvbmcgb3IgZG9lcyBub3Qgc3VwcG9ydCBsb25nLg0KLSsqLw0KLSsN Ci0rI2lmIGRlZmluZWQoTFVBX1VTRUxPTkdMT05HKQ0KLSsNCi0rI2RlZmluZSBMVUFfSU5URlJN TEVOICAgICAgICAgImxsIg0KLSsjZGVmaW5lIExVQV9JTlRGUk1fVCAgICAgICAgICBsb25nIGxv bmcNCi0rDQotKyNlbHNlDQotKw0KLSsjZGVmaW5lIExVQV9JTlRGUk1MRU4gICAgICAgICAibCIN Ci0rI2RlZmluZSBMVUFfSU5URlJNX1QgICAgICAgICAgbG9uZw0KLSsNCi0rI2VuZGlmDQotKw0K LSsNCi0rDQotKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0gKi8NCi0rDQotKy8qDQotKyoqIExvY2FsIGNvbmZpZ3Vy YXRpb24uIFlvdSBjYW4gdXNlIHRoaXMgc3BhY2UgdG8gYWRkIHlvdXIgcmVkZWZpbml0aW9ucw0K LSsqKiB3aXRob3V0IG1vZGlmeWluZyB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBmaWxlLg0KLSsqLw0K LSsNCi0rDQotKw0KLSsjZW5kaWYNCi0rDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQv bHVhLTUuMS4zLWF1dG9nZW4uc2guZGlmZiBiL3BhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1h dXRvZ2VuLnNoLmRpZmYNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDRjZmI4YS4u MDAwMDAwMA0KLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9nZW4uc2guZGlm Zg0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMjYgKzAsMCBAQA0KLVN1YmplY3Q6IEFkZCBsdWEgc3Vw cG9ydCB0byBwdHhkaXN0IDEuOTk6IGFkZCBhdXRvZ2VuLnNoDQotRnJvbTogRXJ3aW4gUm9sIDxl cndpbkBlcndpbnJvbC5jb20+DQotDQotVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8gcHR4 ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQotc2NyaXB0aW5nIGxhbmd1YWdl cy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgYXV0b2NvbmYNCi10 byBidWlsZC4NCi0NCi1UaGlzIHBhcnQgb2YgdGhlIHBhdGNoIGFkZHMgYW4gYXV0b2dlbi5zaCBz Y3JpcHQuDQotDQotU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+ DQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4 LmRlPg0KLQ0KLS0tLQ0KLSBhdXRvZ2VuLnNoIHwgICAgNSArKysrKw0KLSAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspDQotDQotSW5kZXg6IGx1YS01LjEuMy9hdXRvZ2VuLnNoDQotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KLS0tLSAvZGV2L251bGwNCi0rKysgbHVhLTUuMS4zL2F1dG9nZW4uc2gNCi1AQCAt MCwwICsxLDUgQEANCi0rIyEvYmluL3NoDQotKw0KLSthdXRvcmVjb25mIC1mdmkNCi0rDQotK2Vj aG8gIk5vdyBydW4gLi9jb25maWd1cmUiDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQv bHVhLTUuMS4zLWF1dG9tYWtpemUuZGlmZiBiL3BhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1h dXRvbWFraXplLmRpZmYNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggN2ZhMzgxNC4u MDAwMDAwMA0KLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLWF1dG9tYWtpemUuZGlm Zg0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTExICswLDAgQEANCi1TdWJqZWN0OiBBZGQgbHVhIHN1 cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiBhZGQgYXV0b21ha2UgZmlsZXMNCi1Gcm9tOiBFcndpbiBS b2wgPGVyd2luQGVyd2lucm9sLmNvbT4NCi0NCi1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0 byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXINCi1zY3JpcHRpbmcgbGFu Z3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBhdXRvY29u Zg0KLXRvIGJ1aWxkLg0KLQ0KLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggYWRkcyB0aGUgYXV0b21h a2UgZmlsZXMuDQotDQotU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5j b20+DQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJv bml4LmRlPg0KLQ0KLS0tLQ0KLSBNYWtlZmlsZS5hbSAgICAgIHwgICAgMyArKysNCi0gZG9jL01h a2VmaWxlLmFtICB8ICAgIDUgKysrKysNCi0gZXRjL01ha2VmaWxlLmFtICB8ICAgIDggKysrKysr KysNCi0gc3JjL01ha2VmaWxlLmFtICB8ICAgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrDQotIHRlc3QvTWFrZWZpbGUuYW0gfCAgICA1ICsrKysrDQotIDUg ZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQ0KLQ0KLUluZGV4OiBsdWEtNS4xLjMvZG9j L01ha2VmaWxlLmFtDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tLSAvZGV2L251bGwNCi0rKysgbHVhLTUuMS4z L2RvYy9NYWtlZmlsZS5hbQ0KLUBAIC0wLDAgKzEsNSBAQA0KLSttYW4xX01BTlMgPSBsdWEuMSBs dWFjLjENCi0rDQotK0VYVFJBX0RJU1QgPSBcDQotKyAgICAgIGNvbnRlbnRzLmh0bWwgIGx1YS4x ICAgbHVhYy5odG1sICBsdWEuaHRtbCAgICAgbWFudWFsLmh0bWwgXA0KLSsgICAgICBsb2dvLmdp ZiAgICAgICBsdWFjLjEgIGx1YS5jc3MgICAgcmVhZG1lLmh0bWwNCi1JbmRleDogbHVhLTUuMS4z L2V0Yy9NYWtlZmlsZS5hbQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLS0gL2Rldi9udWxsDQotKysrIGx1YS01 LjEuMy9ldGMvTWFrZWZpbGUuYW0NCi1AQCAtMCwwICsxLDggQEANCi0raW5jbHVkZV9IRUFERVJT ID0gbHVhLmhwcA0KLSsNCi0rcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZw0KLStw a2djb25maWdfREFUQSA9IGx1YS5wYw0KLSsNCi0rRVhUUkFfRElTVCA9IFwNCi0rICAgICAgYWxs LmMgICAgICBsdWEuaWNvICAgIGx1YS5wYy5pbiAgbm9wYXJzZXIuYyAgc3RyaWN0Lmx1YSBcDQot KyAgICAgIGx1YXZzLmJhdCAgbWluLmMgICAgICBSRUFETUUNCi1JbmRleDogbHVhLTUuMS4zL01h a2VmaWxlLmFtDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tLSAvZGV2L251bGwNCi0rKysgbHVhLTUuMS4zL01h a2VmaWxlLmFtDQotQEAgLTAsMCArMSwzIEBADQotK1NVQkRJUlMgPSBzcmMgZG9jIGV0YyB0ZXN0 DQotKw0KLStFWFRSQV9ESVNUID0gYXV0b2dlbi5zaCBDT1BZUklHSFQgSElTVE9SWSBJTlNUQUxM IFJFQURNRQ0KLUluZGV4OiBsdWEtNS4xLjMvc3JjL01ha2VmaWxlLmFtDQotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tLSAvZGV2L251bGwNCi0rKysgbHVhLTUuMS4zL3NyYy9NYWtlZmlsZS5hbQ0KLUBAIC0wLDAg KzEsNDUgQEANCi0rQU1fQ0ZMQUdTID0gLVdhbGwNCi0rDQotK2luY2x1ZGVfSEVBREVSUyA9IGx1 YS5oIGx1YWxpYi5oIGxhdXhsaWIuaA0KLStub2Rpc3RfaW5jbHVkZV9IRUFERVJTID0gbHVhY29u Zi5oDQotKw0KLStsaWJfTFRMSUJSQVJJRVMgPSBsaWJsdWEubGENCi0rbGlibHVhX2xhX0xERkxB R1MgPSAtcmVsZWFzZSA1LjEuMw0KLStsaWJsdWFfbGFfU09VUkNFUyA9IFwNCi0rICAgICAgbGFw aS5jIGxjb2RlLmMgbGRlYnVnLmMgbGRvLmMgbGR1bXAuYyBsZnVuYy5jIGxnYy5jIGxsZXguYyBs bWVtLmMgXA0KLSsgICAgICBsb2JqZWN0LmMgbG9wY29kZXMuYyBscGFyc2VyLmMgbHN0YXRlLmMg bHN0cmluZy5jIGx0YWJsZS5jIGx0bS5jICBcDQotKyAgICAgIGx1bmR1bXAuYyBsdm0uYyBsemlv LmMgXA0KLSsgICAgICBsYXV4bGliLmMgbGJhc2VsaWIuYyBsZGJsaWIuYyBsaW9saWIuYyBsbWF0 aGxpYi5jIGxvc2xpYi5jIGx0YWJsaWIuYyBcDQotKyAgICAgIGxzdHJsaWIuYyBsb2FkbGliLmMg bGluaXQuYyBcDQotKyAgICAgIGxhcGkuaCBsZGVidWcuaCBsZ2MuaCBsbWVtLmggbHBhcnNlci5o IGx0YWJsZS5oIGx6aW8uaCBsZG8uaCBsbGV4LmggXA0KLSsgICAgICBsb2JqZWN0LmggbHN0YXRl LmggbHRtLmggbHVuZHVtcC5oIGxjb2RlLmggbGZ1bmMuaCBsbGltaXRzLmggbG9wY29kZXMuaCBc DQotKyAgICAgIGxzdHJpbmcuaCBsdm0uaA0KLSsNCi0rYmluX1BST0dSQU1TID0gbHVhIGx1YWMN Ci0rDQotK2x1YV9TT1VSQ0VTID0gbHVhLmMNCi0rbHVhX0xEQUREID0gbGlibHVhLmxhIEBMVUFf TElCU0ANCi0rbHVhX0RFUEVOREVOQ0lFUyA9IGxpYmx1YS5sYQ0KLSsNCi0rbHVhY19TT1VSQ0VT ID0gbHVhYy5jIHByaW50LmMNCi0rbHVhY19MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNADQot K2x1YWNfREVQRU5ERU5DSUVTID0gbGlibHVhLmxhDQotKw0KLSsjIGx1YWMgbXVzdCBiZSBsaW5r ZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZXMgZnVuY3Rpb25zIHRoYXQNCi0rIyBkb24ndCBn ZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBvYmplY3QNCi0rbHVhY19MREZMQUdTID0gLXN0YXRp Yw0KLSsNCi0rRVhUUkFfRElTVCA9IGx1YWNvbmYuaC50ZW1wbGF0ZS5pbg0KLStCVUlMVF9TT1VS Q0VTID0gbHVhY29uZi5oDQotK0NMRUFORklMRVMgPSBsdWFjb25mLmgNCi0rDQotK3JlYWRsaW5l X2RlZnMgPSBAUkVBRExJTkVfREVGU0ANCi0rDQotK2VkaXQgPSAgICAgICAgc2VkIFwNCi0rICAg ICAgICAtZSAncywlbHVhX2RhdGFkaXIlLCQoZGF0YWRpciksZycgXA0KLSsgICAgICAgIC1lICdz LCVsdWFfbGliZGlyJSwkKGxpYmRpciksZycNCi0rDQotK2x1YWNvbmYuaCA6IGx1YWNvbmYuaC50 ZW1wbGF0ZQ0KLSsgICAgICBybSAtZiBsdWFjb25mLmggbHVhY29uZi5oLnRtcA0KLSsgICAgICAk KGVkaXQpIGx1YWNvbmYuaC50ZW1wbGF0ZSA+IGx1YWNvbmYuaC50bXANCi0rICAgICAgbXYgbHVh Y29uZi5oLnRtcCBsdWFjb25mLmgNCi1JbmRleDogbHVhLTUuMS4zL3Rlc3QvTWFrZWZpbGUuYW0N Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQotLS0tIC9kZXYvbnVsbA0KLSsrKyBsdWEtNS4xLjMvdGVzdC9NYWtlZmls ZS5hbQ0KLUBAIC0wLDAgKzEsNSBAQA0KLStFWFRSQV9ESVNUID0gXA0KLSsgICAgICBiaXNlY3Qu bHVhICBlbnYubHVhICAgICAgICAgZmliLmx1YSAgICAgIGxpZmUubHVhICAgICAgICAgIHByaW50 Zi5sdWEgXA0KLSsgICAgICBzaWV2ZS5sdWEgICB0cmFjZS1jYWxscy5sdWEgY2YubHVhICAgICAg IGZhY3RvcmlhbC5sdWEgICAgIGdsb2JhbHMubHVhIFwNCi0rICAgICAgbHVhYy5sdWEgICAgUkVB RE1FICAgICAgICAgIHNvcnQubHVhICAgICB0cmFjZS1nbG9iYWxzLmx1YSBlY2hvLmx1YSBcDQot KyAgICAgIGZpYmZvci5sdWEgIGhlbGxvLmx1YSAgICAgICByZWFkb25seS5sdWEgdGFibGUubHVh ICAgICAgICAgeGQubHVhDQpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4z LXJlbW92ZS1NYWtlZmlsZS5kaWZmIGIvcGF0Y2hlcy9sdWEtNS4xLjQvbHVhLTUuMS4zLXJlbW92 ZS1NYWtlZmlsZS5kaWZmDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDE3MmUzMWUu LjAwMDAwMDANCi0tLSBhL3BhdGNoZXMvbHVhLTUuMS40L2x1YS01LjEuMy1yZW1vdmUtTWFrZWZp bGUuZGlmZg0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTQ5ICswLDAgQEANCi1TdWJqZWN0OiBBZGQg bHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiByZW1vdmUgb2xkIE1ha2VmaWxlDQotRnJvbTog RXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+DQotDQotVGhpcyBwYXRjaCBhZGQgbHVhIHN1 cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQotc2NyaXB0 aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2Ug YXV0b2NvbmYNCi10byBidWlsZC4NCi0NCi1UaGlzIHBhcnQgb2YgdGhlIHBhdGNoIHJlbW92ZXMg dGhlIG9sZCBNYWtlZmlsZS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBFcndpbiBSb2wgPGVyd2luQGVy d2lucm9sLmNvbT4NCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxA cGVuZ3V0cm9uaXguZGU+DQotDQotLS0tDQotIE1ha2VmaWxlIHwgIDEyOCAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gMSBm aWxlIGNoYW5nZWQsIDEyOCBkZWxldGlvbnMoLSkNCi0NCi1JbmRleDogbHVhLTUuMS40L01ha2Vm aWxlDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tLSBsdWEtNS4xLjQub3JpZy9NYWtlZmlsZQ0KLSsrKyAvZGV2 L251bGwNCi1AQCAtMSwxMjggKzAsMCBAQA0KLS0jIG1ha2VmaWxlIGZvciBpbnN0YWxsaW5nIEx1 YQ0KLS0jIHNlZSBJTlNUQUxMIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zDQotLSMgc2Vl IHNyYy9NYWtlZmlsZSBhbmQgc3JjL2x1YWNvbmYuaCBmb3IgZnVydGhlciBjdXN0b21pemF0aW9u DQotLQ0KLS0jID09IENIQU5HRSBUSEUgU0VUVElOR1MgQkVMT1cgVE8gU1VJVCBZT1VSIEVOVklS T05NRU5UID09PT09PT09PT09PT09PT09PT09PT09DQotLQ0KLS0jIFlvdXIgcGxhdGZvcm0uIFNl ZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLg0KLS1QTEFUPSBub25lDQotLQ0KLS0jIFdoZXJl IHRvIGluc3RhbGwuIFRoZSBpbnN0YWxsYXRpb24gc3RhcnRzIGluIHRoZSBzcmMgYW5kIGRvYyBk aXJlY3RvcmllcywNCi0tIyBzbyB0YWtlIGNhcmUgaWYgSU5TVEFMTF9UT1AgaXMgbm90IGFuIGFi c29sdXRlIHBhdGguDQotLUlOU1RBTExfVE9QPSAvdXNyL2xvY2FsDQotLUlOU1RBTExfQklOPSAk KElOU1RBTExfVE9QKS9iaW4NCi0tSU5TVEFMTF9JTkM9ICQoSU5TVEFMTF9UT1ApL2luY2x1ZGUN Ci0tSU5TVEFMTF9MSUI9ICQoSU5TVEFMTF9UT1ApL2xpYg0KLS1JTlNUQUxMX01BTj0gJChJTlNU QUxMX1RPUCkvbWFuL21hbjENCi0tIw0KLS0jIFlvdSBwcm9iYWJseSB3YW50IHRvIG1ha2UgSU5T VEFMTF9MTU9EIGFuZCBJTlNUQUxMX0NNT0QgY29uc2lzdGVudCB3aXRoDQotLSMgTFVBX1JPT1Qs IExVQV9MRElSLCBhbmQgTFVBX0NESVIgaW4gbHVhY29uZi5oIChhbmQgYWxzbyB3aXRoIGV0Yy9s dWEucGMpLg0KLS1JTlNUQUxMX0xNT0Q9ICQoSU5TVEFMTF9UT1ApL3NoYXJlL2x1YS8kVg0KLS1J TlNUQUxMX0NNT0Q9ICQoSU5TVEFMTF9UT1ApL2xpYi9sdWEvJFYNCi0tDQotLSMgSG93IHRvIGlu c3RhbGwuIElmIHlvdXIgaW5zdGFsbCBwcm9ncmFtIGRvZXMgbm90IHN1cHBvcnQgIi1wIiwgdGhl biB5b3UNCi0tIyBtYXkgaGF2ZSB0byBydW4gcmFubGliIG9uIHRoZSBpbnN0YWxsZWQgbGlibHVh LmEgKGRvICJtYWtlIHJhbmxpYiIpLg0KLS1JTlNUQUxMPSBpbnN0YWxsIC1wDQotLUlOU1RBTExf RVhFQz0gJChJTlNUQUxMKSAtbSAwNzU1DQotLUlOU1RBTExfREFUQT0gJChJTlNUQUxMKSAtbSAw NjQ0DQotLSMNCi0tIyBJZiB5b3UgZG9uJ3QgaGF2ZSBpbnN0YWxsIHlvdSBjYW4gdXNlIGNwIGlu c3RlYWQuDQotLSMgSU5TVEFMTD0gY3AgLXANCi0tIyBJTlNUQUxMX0VYRUM9ICQoSU5TVEFMTCkN Ci0tIyBJTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkNCi0tDQotLSMgVXRpbGl0aWVzLg0KLS1NS0RJ Uj0gbWtkaXIgLXANCi0tUkFOTElCPSByYW5saWINCi0tDQotLSMgPT0gRU5EIE9GIFVTRVIgU0VU VElOR1MuIE5PIE5FRUQgVE8gQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9PT09PT09 PT0NCi0tDQotLSMgQ29udmVuaWVuY2UgcGxhdGZvcm1zIHRhcmdldHMuDQotLVBMQVRTPSBhaXgg YW5zaSBic2QgZnJlZWJzZCBnZW5lcmljIGxpbnV4IG1hY29zeCBtaW5ndyBwb3NpeCBzb2xhcmlz DQotLQ0KLS0jIFdoYXQgdG8gaW5zdGFsbC4NCi0tVE9fQklOPSBsdWEgbHVhYw0KLS1UT19JTkM9 IGx1YS5oIGx1YWNvbmYuaCBsdWFsaWIuaCBsYXV4bGliLmggLi4vZXRjL2x1YS5ocHANCi0tVE9f TElCPSBsaWJsdWEuYQ0KLS1UT19NQU49IGx1YS4xIGx1YWMuMQ0KLS0NCi0tIyBMdWEgdmVyc2lv biBhbmQgcmVsZWFzZS4NCi0tVj0gNS4xDQotLVI9IDUuMS40DQotLQ0KLS1hbGw6ICAkKFBMQVQp DQotLQ0KLS0kKFBMQVRTKSBjbGVhbjoNCi0tICAgICAgY2Qgc3JjICYmICQoTUFLRSkgJEANCi0t DQotLXRlc3Q6IGR1bW15DQotLSAgICAgIHNyYy9sdWEgdGVzdC9oZWxsby5sdWENCi0tDQotLWlu c3RhbGw6IGR1bW15DQotLSAgICAgIGNkIHNyYyAmJiAkKE1LRElSKSAkKElOU1RBTExfQklOKSAk KElOU1RBTExfSU5DKSAkKElOU1RBTExfTElCKSAkKElOU1RBTExfTUFOKSAkKElOU1RBTExfTE1P RCkgJChJTlNUQUxMX0NNT0QpDQotLSAgICAgIGNkIHNyYyAmJiAkKElOU1RBTExfRVhFQykgJChU T19CSU4pICQoSU5TVEFMTF9CSU4pDQotLSAgICAgIGNkIHNyYyAmJiAkKElOU1RBTExfREFUQSkg JChUT19JTkMpICQoSU5TVEFMTF9JTkMpDQotLSAgICAgIGNkIHNyYyAmJiAkKElOU1RBTExfREFU QSkgJChUT19MSUIpICQoSU5TVEFMTF9MSUIpDQotLSAgICAgIGNkIGRvYyAmJiAkKElOU1RBTExf REFUQSkgJChUT19NQU4pICQoSU5TVEFMTF9NQU4pDQotLQ0KLS1yYW5saWI6DQotLSAgICAgIGNk IHNyYyAmJiBjZCAkKElOU1RBTExfTElCKSAmJiAkKFJBTkxJQikgJChUT19MSUIpDQotLQ0KLS1s b2NhbDoNCi0tICAgICAgJChNQUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uDQotLQ0KLS1ub25l Og0KLS0gICAgICBAZWNobyAiUGxlYXNlIGRvIg0KLS0gICAgICBAZWNobyAiICAgbWFrZSBQTEFU Rk9STSINCi0tICAgICAgQGVjaG8gIndoZXJlIFBMQVRGT1JNIGlzIG9uZSBvZiB0aGVzZToiDQot LSAgICAgIEBlY2hvICIgICAkKFBMQVRTKSINCi0tICAgICAgQGVjaG8gIlNlZSBJTlNUQUxMIGZv ciBjb21wbGV0ZSBpbnN0cnVjdGlvbnMuIg0KLS0NCi0tIyBtYWtlIG1heSBnZXQgY29uZnVzZWQg d2l0aCB0ZXN0LyBhbmQgSU5TVEFMTCBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgT1MNCi0tZHVtbXk6 DQotLQ0KLS0jIGVjaG8gY29uZmlnIHBhcmFtZXRlcnMNCi0tZWNobzoNCi0tICAgICAgQGVjaG8g IiINCi0tICAgICAgQGVjaG8gIlRoZXNlIGFyZSB0aGUgcGFyYW1ldGVycyBjdXJyZW50bHkgc2V0 IGluIHNyYy9NYWtlZmlsZSB0byBidWlsZCBMdWEgJFI6Ig0KLS0gICAgICBAZWNobyAiIg0KLS0g ICAgICBAY2Qgc3JjICYmICQoTUFLRSkgLXMgZWNobw0KLS0gICAgICBAZWNobyAiIg0KLS0gICAg ICBAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJhbWV0ZXJzIGN1cnJlbnRseSBzZXQgaW4gTWFrZWZp bGUgdG8gaW5zdGFsbCBMdWEgJFI6Ig0KLS0gICAgICBAZWNobyAiIg0KLS0gICAgICBAZWNobyAi UExBVCA9ICQoUExBVCkiDQotLSAgICAgIEBlY2hvICJJTlNUQUxMX1RPUCA9ICQoSU5TVEFMTF9U T1ApIg0KLS0gICAgICBAZWNobyAiSU5TVEFMTF9CSU4gPSAkKElOU1RBTExfQklOKSINCi0tICAg ICAgQGVjaG8gIklOU1RBTExfSU5DID0gJChJTlNUQUxMX0lOQykiDQotLSAgICAgIEBlY2hvICJJ TlNUQUxMX0xJQiA9ICQoSU5TVEFMTF9MSUIpIg0KLS0gICAgICBAZWNobyAiSU5TVEFMTF9NQU4g PSAkKElOU1RBTExfTUFOKSINCi0tICAgICAgQGVjaG8gIklOU1RBTExfTE1PRCA9ICQoSU5TVEFM TF9MTU9EKSINCi0tICAgICAgQGVjaG8gIklOU1RBTExfQ01PRCA9ICQoSU5TVEFMTF9DTU9EKSIN Ci0tICAgICAgQGVjaG8gIklOU1RBTExfRVhFQyA9ICQoSU5TVEFMTF9FWEVDKSINCi0tICAgICAg QGVjaG8gIklOU1RBTExfREFUQSA9ICQoSU5TVEFMTF9EQVRBKSINCi0tICAgICAgQGVjaG8gIiIN Ci0tICAgICAgQGVjaG8gIlNlZSBhbHNvIHNyYy9sdWFjb25mLmggLiINCi0tICAgICAgQGVjaG8g IiINCi0tDQotLSMgZWNobyBwcml2YXRlIGNvbmZpZyBwYXJhbWV0ZXJzDQotLXBlY2hvOg0KLS0g ICAgICBAZWNobyAiViA9ICQoVikiDQotLSAgICAgIEBlY2hvICJSID0gJChSKSINCi0tICAgICAg QGVjaG8gIlRPX0JJTiA9ICQoVE9fQklOKSINCi0tICAgICAgQGVjaG8gIlRPX0lOQyA9ICQoVE9f SU5DKSINCi0tICAgICAgQGVjaG8gIlRPX0xJQiA9ICQoVE9fTElCKSINCi0tICAgICAgQGVjaG8g IlRPX01BTiA9ICQoVE9fTUFOKSINCi0tDQotLSMgZWNobyBjb25maWcgcGFyYW1ldGVycyBhcyBM dWEgY29kZQ0KLS0jIHVuY29tbWVudCB0aGUgbGFzdCBzZWQgZXhwcmVzc2lvbiBpZiB5b3Ugd2Fu dCBuaWwgaW5zdGVhZCBvZiBlbXB0eSBzdHJpbmdzDQotLWxlY2hvOg0KLS0gICAgICBAZWNobyAi LS0gaW5zdGFsbGF0aW9uIHBhcmFtZXRlcnMgZm9yIEx1YSAkUiINCi0tICAgICAgQGVjaG8gIlZF UlNJT04gPSAnJFYnIg0KLS0gICAgICBAZWNobyAiUkVMRUFTRSA9ICckUiciDQotLSAgICAgIEAk KE1BS0UpIGVjaG8gfCBncmVwID0gfCBzZWQgLWUgJ3MvPSAvPSAiLycgLWUgJ3MvJCQvIi8nICMt ZSAncy8iIi9uaWwvJw0KLS0gICAgICBAZWNobyAiLS0gRU9GIg0KLS0NCi0tIyBsaXN0IHRhcmdl dHMgdGhhdCBkbyBub3QgY3JlYXRlIGZpbGVzIChidXQgbm90IGFsbCBtYWtlcyB1bmRlcnN0YW5k IC5QSE9OWSkNCi0tLlBIT05ZOiBhbGwgJChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxsIGxvY2Fs IG5vbmUgZHVtbXkgZWNobyBwZWNobyBsZWNobw0KLS0NCi0tIyAoZW5kIG9mIE1ha2VmaWxlKQ0K ZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40L3JlbW92ZS1NYWtlZmlsZS5kaWZmIGIvcGF0 Y2hlcy9sdWEtNS4xLjQvcmVtb3ZlLU1ha2VmaWxlLmRpZmYNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwLi4xNzJlMzFlDQotLS0gL2Rldi9udWxsDQorKysgYi9wYXRjaGVzL2x1 YS01LjEuNC9yZW1vdmUtTWFrZWZpbGUuZGlmZg0KQEAgLTAsMCArMSwxNDkgQEANCitTdWJqZWN0 OiBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiByZW1vdmUgb2xkIE1ha2VmaWxlDQor RnJvbTogRXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+DQorDQorVGhpcyBwYXRjaCBhZGQg bHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyDQor c2NyaXB0aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0 byB1c2UgYXV0b2NvbmYNCit0byBidWlsZC4NCisNCitUaGlzIHBhcnQgb2YgdGhlIHBhdGNoIHJl bW92ZXMgdGhlIG9sZCBNYWtlZmlsZS4NCisNCitTaWduZWQtb2ZmLWJ5OiBFcndpbiBSb2wgPGVy d2luQGVyd2lucm9sLmNvbT4NCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2No d2ViZWxAcGVuZ3V0cm9uaXguZGU+DQorDQorLS0tDQorIE1ha2VmaWxlIHwgIDEyOCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CisgMSBmaWxlIGNoYW5nZWQsIDEyOCBkZWxldGlvbnMoLSkNCisNCitJbmRleDogbHVhLTUuMS40 L01ha2VmaWxlDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KKy0tLSBsdWEtNS4xLjQub3JpZy9NYWtlZmlsZQ0KKysr KyAvZGV2L251bGwNCitAQCAtMSwxMjggKzAsMCBAQA0KKy0jIG1ha2VmaWxlIGZvciBpbnN0YWxs aW5nIEx1YQ0KKy0jIHNlZSBJTlNUQUxMIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zDQor LSMgc2VlIHNyYy9NYWtlZmlsZSBhbmQgc3JjL2x1YWNvbmYuaCBmb3IgZnVydGhlciBjdXN0b21p emF0aW9uDQorLQ0KKy0jID09IENIQU5HRSBUSEUgU0VUVElOR1MgQkVMT1cgVE8gU1VJVCBZT1VS IEVOVklST05NRU5UID09PT09PT09PT09PT09PT09PT09PT09DQorLQ0KKy0jIFlvdXIgcGxhdGZv cm0uIFNlZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLg0KKy1QTEFUPSBub25lDQorLQ0KKy0j IFdoZXJlIHRvIGluc3RhbGwuIFRoZSBpbnN0YWxsYXRpb24gc3RhcnRzIGluIHRoZSBzcmMgYW5k IGRvYyBkaXJlY3RvcmllcywNCistIyBzbyB0YWtlIGNhcmUgaWYgSU5TVEFMTF9UT1AgaXMgbm90 IGFuIGFic29sdXRlIHBhdGguDQorLUlOU1RBTExfVE9QPSAvdXNyL2xvY2FsDQorLUlOU1RBTExf QklOPSAkKElOU1RBTExfVE9QKS9iaW4NCistSU5TVEFMTF9JTkM9ICQoSU5TVEFMTF9UT1ApL2lu Y2x1ZGUNCistSU5TVEFMTF9MSUI9ICQoSU5TVEFMTF9UT1ApL2xpYg0KKy1JTlNUQUxMX01BTj0g JChJTlNUQUxMX1RPUCkvbWFuL21hbjENCistIw0KKy0jIFlvdSBwcm9iYWJseSB3YW50IHRvIG1h a2UgSU5TVEFMTF9MTU9EIGFuZCBJTlNUQUxMX0NNT0QgY29uc2lzdGVudCB3aXRoDQorLSMgTFVB X1JPT1QsIExVQV9MRElSLCBhbmQgTFVBX0NESVIgaW4gbHVhY29uZi5oIChhbmQgYWxzbyB3aXRo IGV0Yy9sdWEucGMpLg0KKy1JTlNUQUxMX0xNT0Q9ICQoSU5TVEFMTF9UT1ApL3NoYXJlL2x1YS8k Vg0KKy1JTlNUQUxMX0NNT0Q9ICQoSU5TVEFMTF9UT1ApL2xpYi9sdWEvJFYNCistDQorLSMgSG93 IHRvIGluc3RhbGwuIElmIHlvdXIgaW5zdGFsbCBwcm9ncmFtIGRvZXMgbm90IHN1cHBvcnQgIi1w IiwgdGhlbiB5b3UNCistIyBtYXkgaGF2ZSB0byBydW4gcmFubGliIG9uIHRoZSBpbnN0YWxsZWQg bGlibHVhLmEgKGRvICJtYWtlIHJhbmxpYiIpLg0KKy1JTlNUQUxMPSBpbnN0YWxsIC1wDQorLUlO U1RBTExfRVhFQz0gJChJTlNUQUxMKSAtbSAwNzU1DQorLUlOU1RBTExfREFUQT0gJChJTlNUQUxM KSAtbSAwNjQ0DQorLSMNCistIyBJZiB5b3UgZG9uJ3QgaGF2ZSBpbnN0YWxsIHlvdSBjYW4gdXNl IGNwIGluc3RlYWQuDQorLSMgSU5TVEFMTD0gY3AgLXANCistIyBJTlNUQUxMX0VYRUM9ICQoSU5T VEFMTCkNCistIyBJTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkNCistDQorLSMgVXRpbGl0aWVzLg0K Ky1NS0RJUj0gbWtkaXIgLXANCistUkFOTElCPSByYW5saWINCistDQorLSMgPT0gRU5EIE9GIFVT RVIgU0VUVElOR1MuIE5PIE5FRUQgVE8gQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9 PT09PT09PT0NCistDQorLSMgQ29udmVuaWVuY2UgcGxhdGZvcm1zIHRhcmdldHMuDQorLVBMQVRT PSBhaXggYW5zaSBic2QgZnJlZWJzZCBnZW5lcmljIGxpbnV4IG1hY29zeCBtaW5ndyBwb3NpeCBz b2xhcmlzDQorLQ0KKy0jIFdoYXQgdG8gaW5zdGFsbC4NCistVE9fQklOPSBsdWEgbHVhYw0KKy1U T19JTkM9IGx1YS5oIGx1YWNvbmYuaCBsdWFsaWIuaCBsYXV4bGliLmggLi4vZXRjL2x1YS5ocHAN CistVE9fTElCPSBsaWJsdWEuYQ0KKy1UT19NQU49IGx1YS4xIGx1YWMuMQ0KKy0NCistIyBMdWEg dmVyc2lvbiBhbmQgcmVsZWFzZS4NCistVj0gNS4xDQorLVI9IDUuMS40DQorLQ0KKy1hbGw6ICAk KFBMQVQpDQorLQ0KKy0kKFBMQVRTKSBjbGVhbjoNCistICAgICAgY2Qgc3JjICYmICQoTUFLRSkg JEANCistDQorLXRlc3Q6IGR1bW15DQorLSAgICAgIHNyYy9sdWEgdGVzdC9oZWxsby5sdWENCist DQorLWluc3RhbGw6IGR1bW15DQorLSAgICAgIGNkIHNyYyAmJiAkKE1LRElSKSAkKElOU1RBTExf QklOKSAkKElOU1RBTExfSU5DKSAkKElOU1RBTExfTElCKSAkKElOU1RBTExfTUFOKSAkKElOU1RB TExfTE1PRCkgJChJTlNUQUxMX0NNT0QpDQorLSAgICAgIGNkIHNyYyAmJiAkKElOU1RBTExfRVhF QykgJChUT19CSU4pICQoSU5TVEFMTF9CSU4pDQorLSAgICAgIGNkIHNyYyAmJiAkKElOU1RBTExf REFUQSkgJChUT19JTkMpICQoSU5TVEFMTF9JTkMpDQorLSAgICAgIGNkIHNyYyAmJiAkKElOU1RB TExfREFUQSkgJChUT19MSUIpICQoSU5TVEFMTF9MSUIpDQorLSAgICAgIGNkIGRvYyAmJiAkKElO U1RBTExfREFUQSkgJChUT19NQU4pICQoSU5TVEFMTF9NQU4pDQorLQ0KKy1yYW5saWI6DQorLSAg ICAgIGNkIHNyYyAmJiBjZCAkKElOU1RBTExfTElCKSAmJiAkKFJBTkxJQikgJChUT19MSUIpDQor LQ0KKy1sb2NhbDoNCistICAgICAgJChNQUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uDQorLQ0K Ky1ub25lOg0KKy0gICAgICBAZWNobyAiUGxlYXNlIGRvIg0KKy0gICAgICBAZWNobyAiICAgbWFr ZSBQTEFURk9STSINCistICAgICAgQGVjaG8gIndoZXJlIFBMQVRGT1JNIGlzIG9uZSBvZiB0aGVz ZToiDQorLSAgICAgIEBlY2hvICIgICAkKFBMQVRTKSINCistICAgICAgQGVjaG8gIlNlZSBJTlNU QUxMIGZvciBjb21wbGV0ZSBpbnN0cnVjdGlvbnMuIg0KKy0NCistIyBtYWtlIG1heSBnZXQgY29u ZnVzZWQgd2l0aCB0ZXN0LyBhbmQgSU5TVEFMTCBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgT1MNCist ZHVtbXk6DQorLQ0KKy0jIGVjaG8gY29uZmlnIHBhcmFtZXRlcnMNCistZWNobzoNCistICAgICAg QGVjaG8gIiINCistICAgICAgQGVjaG8gIlRoZXNlIGFyZSB0aGUgcGFyYW1ldGVycyBjdXJyZW50 bHkgc2V0IGluIHNyYy9NYWtlZmlsZSB0byBidWlsZCBMdWEgJFI6Ig0KKy0gICAgICBAZWNobyAi Ig0KKy0gICAgICBAY2Qgc3JjICYmICQoTUFLRSkgLXMgZWNobw0KKy0gICAgICBAZWNobyAiIg0K Ky0gICAgICBAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJhbWV0ZXJzIGN1cnJlbnRseSBzZXQgaW4g TWFrZWZpbGUgdG8gaW5zdGFsbCBMdWEgJFI6Ig0KKy0gICAgICBAZWNobyAiIg0KKy0gICAgICBA ZWNobyAiUExBVCA9ICQoUExBVCkiDQorLSAgICAgIEBlY2hvICJJTlNUQUxMX1RPUCA9ICQoSU5T VEFMTF9UT1ApIg0KKy0gICAgICBAZWNobyAiSU5TVEFMTF9CSU4gPSAkKElOU1RBTExfQklOKSIN CistICAgICAgQGVjaG8gIklOU1RBTExfSU5DID0gJChJTlNUQUxMX0lOQykiDQorLSAgICAgIEBl Y2hvICJJTlNUQUxMX0xJQiA9ICQoSU5TVEFMTF9MSUIpIg0KKy0gICAgICBAZWNobyAiSU5TVEFM TF9NQU4gPSAkKElOU1RBTExfTUFOKSINCistICAgICAgQGVjaG8gIklOU1RBTExfTE1PRCA9ICQo SU5TVEFMTF9MTU9EKSINCistICAgICAgQGVjaG8gIklOU1RBTExfQ01PRCA9ICQoSU5TVEFMTF9D TU9EKSINCistICAgICAgQGVjaG8gIklOU1RBTExfRVhFQyA9ICQoSU5TVEFMTF9FWEVDKSINCist ICAgICAgQGVjaG8gIklOU1RBTExfREFUQSA9ICQoSU5TVEFMTF9EQVRBKSINCistICAgICAgQGVj aG8gIiINCistICAgICAgQGVjaG8gIlNlZSBhbHNvIHNyYy9sdWFjb25mLmggLiINCistICAgICAg QGVjaG8gIiINCistDQorLSMgZWNobyBwcml2YXRlIGNvbmZpZyBwYXJhbWV0ZXJzDQorLXBlY2hv Og0KKy0gICAgICBAZWNobyAiViA9ICQoVikiDQorLSAgICAgIEBlY2hvICJSID0gJChSKSINCist ICAgICAgQGVjaG8gIlRPX0JJTiA9ICQoVE9fQklOKSINCistICAgICAgQGVjaG8gIlRPX0lOQyA9 ICQoVE9fSU5DKSINCistICAgICAgQGVjaG8gIlRPX0xJQiA9ICQoVE9fTElCKSINCistICAgICAg QGVjaG8gIlRPX01BTiA9ICQoVE9fTUFOKSINCistDQorLSMgZWNobyBjb25maWcgcGFyYW1ldGVy cyBhcyBMdWEgY29kZQ0KKy0jIHVuY29tbWVudCB0aGUgbGFzdCBzZWQgZXhwcmVzc2lvbiBpZiB5 b3Ugd2FudCBuaWwgaW5zdGVhZCBvZiBlbXB0eSBzdHJpbmdzDQorLWxlY2hvOg0KKy0gICAgICBA ZWNobyAiLS0gaW5zdGFsbGF0aW9uIHBhcmFtZXRlcnMgZm9yIEx1YSAkUiINCistICAgICAgQGVj aG8gIlZFUlNJT04gPSAnJFYnIg0KKy0gICAgICBAZWNobyAiUkVMRUFTRSA9ICckUiciDQorLSAg ICAgIEAkKE1BS0UpIGVjaG8gfCBncmVwID0gfCBzZWQgLWUgJ3MvPSAvPSAiLycgLWUgJ3MvJCQv Ii8nICMtZSAncy8iIi9uaWwvJw0KKy0gICAgICBAZWNobyAiLS0gRU9GIg0KKy0NCistIyBsaXN0 IHRhcmdldHMgdGhhdCBkbyBub3QgY3JlYXRlIGZpbGVzIChidXQgbm90IGFsbCBtYWtlcyB1bmRl cnN0YW5kIC5QSE9OWSkNCistLlBIT05ZOiBhbGwgJChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxs IGxvY2FsIG5vbmUgZHVtbXkgZWNobyBwZWNobyBsZWNobw0KKy0NCistIyAoZW5kIG9mIE1ha2Vm aWxlKQ0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40L3NlcmllcyBiL3BhdGNoZXMvbHVh LTUuMS40L3Nlcmllcw0KaW5kZXggZWNjYzYyYS4uMmM1MWUzNyAxMDA2NDQNCi0tLSBhL3BhdGNo ZXMvbHVhLTUuMS40L3Nlcmllcw0KKysrIGIvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzDQpAQCAt MSw0ICsxLDMgQEANCi1sdWEtNS4xLjMtcmVtb3ZlLU1ha2VmaWxlLmRpZmYNCi1sdWEtNS4xLjMt YXV0b2NvbmZpemUuZGlmZg0KLWx1YS01LjEuMy1hdXRvbWFraXplLmRpZmYNCi1sdWEtNS4xLjMt YXV0b2dlbi5zaC5kaWZmDQorcmVtb3ZlLU1ha2VmaWxlLmRpZmYNCithdXRvY29uZml6ZS5kaWZm DQorYXV0b21ha2l6ZS5kaWZmDQpkaWZmIC0tZ2l0IGEvcnVsZXMvbHVhLm1ha2UgYi9ydWxlcy9s dWEubWFrZQ0KaW5kZXggMTliYjFjNS4uNTZjNzkxOCAxMDA2NDQNCi0tLSBhL3J1bGVzL2x1YS5t YWtlDQorKysgYi9ydWxlcy9sdWEubWFrZQ0KQEAgLTYwLDcgKzYwLDcgQEAgaWZkZWYgUFRYQ09O Rl9MVUFfSU5TVEFMTF9MVUFDDQogICAgICAgIEAkKGNhbGwgaW5zdGFsbF9jb3B5LCBsdWEsIDAs IDAsIDA3NTUsIC0sIC91c3IvYmluL2x1YWMpDQogZW5kaWYNCiBpZmRlZiBQVFhDT05GX0xVQV9J TlNUQUxMX0xJQkxVQQ0KLSAgICAgICBAJChjYWxsIGluc3RhbGxfbGliLCBsdWEsIDAsIDAsIDA2 NDQsIGxpYmx1YS01LjEuMykNCisgICAgICAgQCQoY2FsbCBpbnN0YWxsX2xpYiwgbHVhLCAwLCAw LCAwNjQ0LCBsaWJsdWEtJChMVUFfVkVSU0lPTikpDQogZW5kaWYNCiAgICAgICAgQCQoY2FsbCBp bnN0YWxsX2ZpbmlzaCwgbHVhKQ0KDQotLQ0KMS43LjIuNQ0KDQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQoNCkNlIGNvdXJyaWVsIGV0IHRvdXRlcyBsZXMgcGnDqGNlcyBqb2lu dGVzIHNvbnQgY29uZmlkZW50aWVscyBldCBwZXV2ZW50IMOqdHJlIGNvdXZlcnRzIHBhciB1biBw cml2aWzDqGdlIG91IHVuZSBwcm90ZWN0aW9uIGzDqWdhbGUuIElsIGVzdCDDqXRhYmxpIMOgIGzi gJlhdHRlbnRpb24gZXhjbHVzaXZlIGRlIHNlcyBkZXN0aW5hdGFpcmVzLiBUb3V0ZSB1dGlsaXNh dGlvbiBkZSBjZSBjb3VycmllbCBub24gY29uZm9ybWUgw6Agc2EgZGVzdGluYXRpb24sIHRvdXRl IGRpZmZ1c2lvbiBvdSB0b3V0ZSBwdWJsaWNhdGlvbiwgdG90YWxlIG91IHBhcnRpZWxsZSwgZXN0 IGludGVyZGl0ZSwgc2F1ZiBhdXRvcmlzYXRpb24gZXhwcmVzc2UgcHLDqWFsYWJsZS4NClRoaXMg ZW1haWwgYW5kIGFueSBhdHRhY2htZW50IGFyZSBjb25maWRlbnRpYWwgYW5kIG1heSBiZSBsZWdh bGx5IHByaXZpbGVnZWQgb3Igb3RoZXJ3aXNlIHByb3RlY3RlZCBmcm9tIGRpc2Nsb3N1cmUuIEl0 IGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBzdGF0ZWQgYWRkcmVzc2VlKHMpIGFuZCBhY2Nlc3Mg dG8gaXQgYnkgYW55IG90aGVyIHBlcnNvbihzKSBpcyB1bmF1dGhvcml6ZWQuIEFueSB1c2UsIGRp c3NlbWluYXRpb24gb3IgZGlzY2xvc3VyZSBub3QgaW4gYWNjb3JkYW5jZSB3aXRoIGl0cyBwdXJw b3NlLCBlaXRoZXIgaW4gd2hvbGUgb3IgaW4gcGFydCwgaXMgcHJvaGliaXRlZCB3aXRob3V0IG91 ciBwcmlvciBmb3JtYWwgYXBwcm92YWwuDQotLSAKcHR4ZGlzdCBtYWlsaW5nIGxpc3QKcHR4ZGlz dEBwZW5ndXRyb25peC5kZQo=