From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: From: Robert Schwebel Date: Tue, 4 Jul 2017 22:36:46 +0200 Message-Id: <20170704203646.15193-1-r.schwebel@pengutronix.de> MIME-Version: 1.0 Subject: [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4 List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Robert Schwebel VGhlIDAwKi5wYXRjaCBzZXJpZXMgd2FzIHByZXZpb3VzbHkgcG9ydGVkIGZyb20gdXBzdHJlYW0g YW5kIGlzIGFscmVhZHkKaW5jbHVkZWQgaW4gNS4zLjQuCgpUaGUgMDEqLnBhdGNoIHNlcmllcyBy ZW1vdmVzIHRoZSBvbGQgTWFrZWZpbGUgYW5kIGFkZHMgYXV0b3Rvb2xpc2F0aW9uLApzbyB0aGVz ZSBwYXRjaGVzIGFyZSBmb3J3YXJkIHBvcnRlZC4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3 ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KLS0tCiAuLi5seS1jcmFmdGVkLXByZWNv bXBpbGVkLWNvZGUtY2FuLWNyYXNoLUx1YS5wYXRjaCB8ICAxMyAtCiAuLi5ibGUtdG8tY3JlYXRl LWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaCB8ICAxNCAtCiAuLi5nZW5lcmF0aW9u LWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaCB8ICA3MiAtLQogLi4ubGUtbWF5 LWludmFsaWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10YWJsZS0ucGF0Y2ggfCAgNTIgLS0KIC4uLm52 LWRvZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoIHwgIDMyIC0KIC4u LnN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoIHwgIDM1IC0K IC4uLmF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNoIHwgIDQ0 IC0KIC4uLm4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoIHwg IDM3IC0KIC4uLmdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNo IHwgIDU2IC0tCiAuLi5tZXRhbWV0aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5w YXRjaCB8ICAzNyAtCiAuLi5tYXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1p dC5wYXRjaCB8ICAzMSAtCiAuLi5wcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtl ZmlsZS5wYXRjaCB8IDE1MSAtLS0tCiAuLi51cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRv Y29uZi1maWxlcy5wYXRjaCB8IDkxOCAtLS0tLS0tLS0tLS0tLS0tLS0tLQogcGF0Y2hlcy9sdWEt NS4xLjQvc2VyaWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTkgLQogLi4ucHBvcnQt dG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2ggfCAxMzkgKysrCiAuLi51 cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaCB8IDkzOCArKysr KysrKysrKysrKysrKysrKysKIC4uLnBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2Ut ZmlsZXMucGF0Y2h9IHwgIDI0ICstCiBwYXRjaGVzL3tsdWEtNS4xLjQgPT4gbHVhLTUuMy40fS9h dXRvZ2VuLnNoICAgICAgICB8ICAgMAogcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDYgKwogcnVsZXMvbHVhLm1ha2UgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIDIwIGZpbGVzIGNoYW5nZWQsIDEwOTYgaW5z ZXJ0aW9ucygrKSwgMTUyNiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVz L2x1YS01LjEuNC8wMDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4t Y3Jhc2gtTHVhLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAw Mi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRvby1tLnBh dGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9uZy1jb2Rl LWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZh bGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg cGF0Y2hlcy9sdWEtNS4xLjQvMDAwNS1kZWJ1Zy5nZXRmZW52LWRvZXMtbm90LWNoZWNrLXdoZXRo ZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEt NS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJv cGVyLXJlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNy1z dHJpbmcuZm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOC1pby5yZWFkLW4tbi1t YXktcmV0dXJuLWdhcmJhZ2UtaWYtc2Vjb25kLXJlYWQtZmFpbHMucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDA5LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3It c29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRj aGVzL2x1YS01LjEuNC8wMDEwLV9fbmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90LXdvcmstaWYt bWV0YXRhYmxlLWlzLWkucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEu NC8wMDExLVBhcnNlci1tYXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAxMDAtQWRkLWx1YS1z dXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4 ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHBh dGNoZXMvbHVhLTUuMS40L3NlcmllcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUu My40LzAxMDEtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2Vm aWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4zLjQvMDEwMi1BZGQt bHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAogcmVu YW1lIHBhdGNoZXMve2x1YS01LjEuNC8wMTAyLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEu OTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNoID0+IGx1YS01LjMuNC8wMTAzLUFkZC1sdWEtc3Vw cG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNofSAoODklKQogcmVu YW1lIHBhdGNoZXMve2x1YS01LjEuNCA9PiBsdWEtNS4zLjR9L2F1dG9nZW4uc2ggKDEwMCUpCiBj cmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCgpkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVkLWNv ZGUtY2FuLWNyYXNoLUx1YS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDEtTWFsaWNpb3Vz bHktY3JhZnRlZC1wcmVjb21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0OGZlMzBjNS4uMDAwMDAwMDAwCi0tLSBhL3BhdGNoZXMv bHVhLTUuMS40LzAwMDEtTWFsaWNpb3VzbHktY3JhZnRlZC1wcmVjb21waWxlZC1jb2RlLWNhbi1j cmFzaC1MdWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1Gcm9tOiA9P1VU Ri04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcu Y29tPgotRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjA1OjM1ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0hdIE1hbGljaW91c2x5IGNyYWZ0ZWQgcHJlY29tcGlsZWQgY29kZSBjYW4gY3Jhc2ggTHVhCi1N SU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUNvbWVzIGZyb20gaHR0cDovL3d3 dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC0xCi0KLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVy bmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Ci0KLS0tLQotCmRpZmYgLS1naXQg YS9wYXRjaGVzL2x1YS01LjEuNC8wMDAyLUl0LWlzLXBvc3NpYmxlLXRvLWNyZWF0ZS1mdW5jdGlv bnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMDAyLUl0LWlz LXBvc3NpYmxlLXRvLWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4MGZlZTNkYi4uMDAwMDAwMDAwCi0tLSBhL3Bh dGNoZXMvbHVhLTUuMS40LzAwMDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10 aGF0LXJldHVybi10b28tbS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUZy b206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9u QGFpcnRhZy5jb20+Ci1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MDc6MTggKzAxMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGZ1bmN0aW9ucyB0aGF0IHJldHVy biB0b28gbWFueQotIGFyZ3VtZW50cyBhbmQgb3ZlcmZsb3cgdGhlIHN0YWNrIG9mIEMgZnVuY3Rp b25zLgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1Db21lcyBmcm9tIGh0 dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtMgotCi1TaWduZWQtb2ZmLWJ5OiBCZW5v w650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgotCi0tLS0KLQpkaWZm IC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9y LXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAw My1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTk5Y2M2ZjMuLjAwMDAwMDAwMAot LS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAzLVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29t ZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCww IEBACi1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1 cm5pY2hvbkBhaXJ0YWcuY29tPgotRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjEwOjU2ICswMTAw Ci1TdWJqZWN0OiBbUEFUQ0hdIFdyb25nIGNvZGUgZ2VuZXJhdGlvbiBmb3Igc29tZSBwYXJ0aWN1 bGFyIGJvb2xlYW4KLSBleHByZXNzaW9ucy4gKHNlZSBhbHNvIDkpCi1NSU1FLVZlcnNpb246IDEu MAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3Mu aHRtbCM1LjEuNC0zCi0KLSByZXBvcnRlZCBieSBCcmlhbiBLZWxsZXkgb24gMTUgQXByIDIwMDku Ci0gRXhhbXBsZToKLSAtLQotIHByaW50KCgoMSBvciBmYWxzZSkgYW5kIHRydWUpIG9yIGZhbHNl KSAgIC0tPiAxLCBidXQgc2hvdWxkIGJlICd0cnVlJwotIC0tCi0KLVBhdGNoOiAocGFydGlhbCBz b2x1dGlvbjsgc2VlIGFsc28gOSkKLQotU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24g PGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLS0tLQotIHNyYy9sY29kZS5jIHwgICAyMiAr KysrKysrKysrKysrKy0tLS0tLS0tCi0gMSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xjb2RlLmMgYi9zcmMvbGNvZGUu YwotaW5kZXggY2ZmNjI2Yi4uODRmMjg2YiAxMDA2NDQKLS0tLSBhL3NyYy9sY29kZS5jCi0rKysg Yi9zcmMvbGNvZGUuYwotQEAgLTU0NCwxNSArNTQ0LDE4IEBAIHZvaWQgbHVhS19nb2lmdHJ1ZSAo RnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkgewotICAgICAgIHBjID0gTk9fSlVNUDsgIC8qIGFs d2F5cyB0cnVlOyBkbyBub3RoaW5nICovCi0gICAgICAgYnJlYWs7Ci0gICAgIH0KLS0gICAgY2Fz ZSBWRkFMU0U6IHsKLS0gICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdheXMganVtcCAq LwotLSAgICAgIGJyZWFrOwotLSAgICB9Ci0gICAgIGNhc2UgVkpNUDogewotICAgICAgIGludmVy dGp1bXAoZnMsIGUpOwotICAgICAgIHBjID0gZS0+dS5zLmluZm87Ci0gICAgICAgYnJlYWs7Ci0g ICAgIH0KLSsgICAgY2FzZSBWRkFMU0U6IHsKLSsgICAgICBpZiAoIWhhc2p1bXBzKGUpKSB7Ci0r ICAgICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdheXMganVtcCAqLwotKyAgICAgICAg YnJlYWs7Ci0rICAgICAgfQotKyAgICAgIC8qIGVsc2UgZ28gdGhyb3VnaCAqLwotKyAgICB9Ci0g ICAgIGRlZmF1bHQ6IHsKLSAgICAgICBwYyA9IGp1bXBvbmNvbmQoZnMsIGUsIDApOwotICAgICAg IGJyZWFrOwotQEAgLTU3MiwxNCArNTc1LDE3IEBAIHN0YXRpYyB2b2lkIGx1YUtfZ29pZmZhbHNl IChGdW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Ci0gICAgICAgcGMgPSBOT19KVU1QOyAgLyog YWx3YXlzIGZhbHNlOyBkbyBub3RoaW5nICovCi0gICAgICAgYnJlYWs7Ci0gICAgIH0KLS0gICAg Y2FzZSBWVFJVRTogewotLSAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsgIC8qIGFsd2F5cyBqdW1w ICovCi0tICAgICAgYnJlYWs7Ci0tICAgIH0KLSAgICAgY2FzZSBWSk1QOiB7Ci0gICAgICAgcGMg PSBlLT51LnMuaW5mbzsKLSAgICAgICBicmVhazsKLSAgICAgfQotKyAgICBjYXNlIFZUUlVFOiB7 Ci0rICAgICAgaWYgKCFoYXNqdW1wcyhlKSkgewotKyAgICAgICAgcGMgPSBsdWFLX2p1bXAoZnMp OyAgLyogYWx3YXlzIGp1bXAgKi8KLSsgICAgICAgIGJyZWFrOwotKyAgICAgIH0KLSsgICAgICAv KiBlbHNlIGdvIHRocm91Z2ggKi8KLSsgICAgfQotICAgICBkZWZhdWx0OiB7Ci0gICAgICAgcGMg PSBqdW1wb25jb25kKGZzLCBlLCAxKTsKLSAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3BhdGNo ZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVyZW5j ZS10by1hLXRhYmxlLS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0YWJs ZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggZmUxMTg5MjFlLi4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9s dWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRv LWEtdGFibGUtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbTogPT9V VEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFn LmNvbT4KLURhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoxMzo1OSArMDEwMAotU3ViamVjdDogW1BB VENIXSBsdWFWX3NldHRhYmxlIG1heSBpbnZhbGlkYXRlIGEgcmVmZXJlbmNlIHRvIGEgdGFibGUg YW5kIHRyeQotIHRvIHJldXNlIGl0Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 Ci0KLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC00Ci0KLXJl cG9ydGVkIGJ5IE1hcmsgRmVsZG1hbiBvbiAyNyBKdW4gMjAwOS4KLUV4YW1wbGU6Ci0gLS0KLSBn cmFuZHBhcmVudCA9IHt9Ci0gZ3JhbmRwYXJlbnQuX19uZXdpbmRleCA9IGZ1bmN0aW9uKHMsXyxf KSBwcmludChzKSBlbmQKLQotIHBhcmVudCA9IHt9Ci0gcGFyZW50Ll9fbmV3aW5kZXggPSBwYXJl bnQKLSBzZXRtZXRhdGFibGUocGFyZW50LCBncmFuZHBhcmVudCkKLQotIGNoaWxkID0gc2V0bWV0 YXRhYmxlKHt9LCBwYXJlbnQpCi0gY2hpbGQuZm9vID0gMTAgICAgICAtLT4gKGNyYXNoIG9uIHNv bWUgbWFjaGluZXMpCi0gLS0KLQotU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJl bm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLS0tLQotIHNyYy9sdm0uYyB8ICAgIDUgKysrKy0K LSAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL3NyYy9sdm0uYyBiL3NyYy9sdm0uYwotaW5kZXggZWUzMjU2YS4uNGFjMmU3MSAx MDA2NDQKLS0tLSBhL3NyYy9sdm0uYwotKysrIGIvc3JjL2x2bS5jCi1AQCAtMTMzLDYgKzEzMyw3 IEBAIHZvaWQgbHVhVl9nZXR0YWJsZSAobHVhX1N0YXRlICpMLCBjb25zdCBUVmFsdWUgKnQsIFRW YWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsKLSAKLSB2b2lkIGx1YVZfc2V0dGFibGUgKGx1YV9TdGF0 ZSAqTCwgY29uc3QgVFZhbHVlICp0LCBUVmFsdWUgKmtleSwgU3RrSWQgdmFsKSB7Ci0gICBpbnQg bG9vcDsKLSsgIFRWYWx1ZSB0ZW1wOwotICAgZm9yIChsb29wID0gMDsgbG9vcCA8IE1BWFRBR0xP T1A7IGxvb3ArKykgewotICAgICBjb25zdCBUVmFsdWUgKnRtOwotICAgICBpZiAodHRpc3RhYmxl KHQpKSB7ICAvKiBgdCcgaXMgYSB0YWJsZT8gKi8KLUBAIC0xNTIsNyArMTUzLDkgQEAgdm9pZCBs dWFWX3NldHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1ZSAqdCwgVFZhbHVlICprZXks IFN0a0lkIHZhbCkgewotICAgICAgIGNhbGxUTShMLCB0bSwgdCwga2V5LCB2YWwpOwotICAgICAg IHJldHVybjsKLSAgICAgfQotLSAgICB0ID0gdG07ICAvKiBlbHNlIHJlcGVhdCB3aXRoIGB0bScg Ki8gCi0rICAgIC8qIGVsc2UgcmVwZWF0IHdpdGggYHRtJyAqLwotKyAgICBzZXRvYmooTCwgJnRl bXAsIHRtKTsgIC8qIGF2b2lkIHBvaW50aW5nIGluc2lkZSB0YWJsZSAobWF5IHJlaGFzaCkgKi8K LSsgICAgdCA9ICZ0ZW1wOwotICAgfQotICAgbHVhR19ydW5lcnJvcihMLCAibG9vcCBpbiBzZXR0 YWJsZSIpOwotIH0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0 ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaCBiL3BhdGNo ZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0 LWhhcy1hbi1hcmd1bS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBjMGUz ZjUxLi4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNS1kZWJ1Zy5nZXRmZW52 LWRvZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmlj aG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLURhdGU6IFR1ZSwgNiBEZWMgMjAx MSAxNDoxODoyMCArMDEwMAotU3ViamVjdDogW1BBVENIXSBkZWJ1Zy5nZXRmZW52IGRvZXMgbm90 IGNoZWNrIHdoZXRoZXIgaXQgaGFzIGFuIGFyZ3VtZW50LgotTUlNRS1WZXJzaW9uOiAxLjAKLUNv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAotCi1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwj NS4xLjQtNQotCi1yZXBvcnRlZCBieSBQYXRyaWNrIERvbm5lbGx5IG9uIDMwIEp1bCAyMDA5Lgot RXhhbXBsZToKLSAtLQotIGRlYnVnLmdldGZlbnYoKSAgIC0tIHNob3VsZCByYWlzZSBhbiBlcnJv cgotIC0tCi0KLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmlj aG9uQGFpcnRhZy5jb20+Ci0tLS0KLSBzcmMvbGRibGliLmMgfCAgICAxICsKLSAxIGZpbGVzIGNo YW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy9sZGJsaWIuYyBiL3NyYy9sZGJsaWIuYwotaW5kZXggNjdkZTEyMi4uMjExMTZhYyAxMDA2NDQK LS0tLSBhL3NyYy9sZGJsaWIuYwotKysrIGIvc3JjL2xkYmxpYi5jCi1AQCAtNDUsNiArNDUsNyBA QCBzdGF0aWMgaW50IGRiX3NldG1ldGF0YWJsZSAobHVhX1N0YXRlICpMKSB7Ci0gCi0gCi0gc3Rh dGljIGludCBkYl9nZXRmZW52IChsdWFfU3RhdGUgKkwpIHsKLSsgIGx1YUxfY2hlY2thbnkoTCwg MSk7Ci0gICBsdWFfZ2V0ZmVudihMLCAxKTsKLSAgIHJldHVybiAxOwotIH0KZGlmZiAtLWdpdCBh L3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1h bmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5 LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjc0ODM3MmRhLi4wMDAwMDAwMDAKLS0tIGEvcGF0 Y2hlcy9sdWEtNS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1h dm9pZHMtcHJvcGVyLXJlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJv bTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25A YWlydGFnLmNvbT4KLURhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoyMDoxNSArMDEwMAotU3ViamVj dDogW1BBVENIXSBHQyBtYXkgZ2V0IHN0dWNrIGR1cmluZyBwYXJzaW5nIGFuZCBhdm9pZHMgcHJv cGVyIHJlc2l6aW5nCi0gb2YgdGhlIHN0cmluZyB0YWJsZSwgbWFraW5nIGl0cyBsaXN0cyBncm93 IHRvbyBtdWNoIGFuZAotIGRlZ3JhZGluZyBwZXJmb3JtYW5jZS4KLU1JTUUtVmVyc2lvbjogMS4w Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKLQotQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5o dG1sIzUuMS40LTYKLQotIHJlcG9ydGVkIGJ5IFNlYW4gQ29ubmVyIG9uIDEwIE5vdiAyMDA5Lgot Ci0KLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFp cnRhZy5jb20+Ci0tLS0KLSBzcmMvbGxleC5jIHwgICAgNCArKystCi0gMSBmaWxlcyBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGxl eC5jIGIvc3JjL2xsZXguYwotaW5kZXggNmRjMzE5My4uOTJkNjU3NSAxMDA2NDQKLS0tLSBhL3Ny Yy9sbGV4LmMKLSsrKyBiL3NyYy9sbGV4LmMKLUBAIC0xMTgsOCArMTE4LDEwIEBAIFRTdHJpbmcg Kmx1YVhfbmV3c3RyaW5nIChMZXhTdGF0ZSAqbHMsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGwp IHsKLSAgIGx1YV9TdGF0ZSAqTCA9IGxzLT5MOwotICAgVFN0cmluZyAqdHMgPSBsdWFTX25ld2xz dHIoTCwgc3RyLCBsKTsKLSAgIFRWYWx1ZSAqbyA9IGx1YUhfc2V0c3RyKEwsIGxzLT5mcy0+aCwg dHMpOyAgLyogZW50cnkgZm9yIGBzdHInICovCi0tICBpZiAodHRpc25pbChvKSkKLSsgIGlmICh0 dGlzbmlsKG8pKSB7Ci0gICAgIHNldGJ2YWx1ZShvLCAxKTsgIC8qIG1ha2Ugc3VyZSBgc3RyJyB3 aWxsIG5vdCBiZSBjb2xsZWN0ZWQgKi8KLSsgICAgbHVhQ19jaGVja0dDKEwpOwotKyAgfQotICAg cmV0dXJuIHRzOwotIH0KLSAKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3Ry aW5nLmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaCBi L3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5nLmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1h bi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg Y2MwYzMxMDNiLi4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNy1zdHJpbmcu Zm9ybWF0LW1heS1nZXQtYnVmZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIw QnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLURhdGU6IFR1ZSwgNiBE ZWMgMjAxMSAxNDoyMTo0NiArMDEwMAotU3ViamVjdDogW1BBVENIXSBzdHJpbmcuZm9ybWF0IG1h eSBnZXQgYnVmZmVyIGFzIGFuIGFyZ3VtZW50IHdoZW4gdGhlcmUgYXJlCi0gbWlzc2luZyBhcmd1 bWVudHMgYW5kIGZvcm1hdCBzdHJpbmcgaXMgdG9vIGxvbmcuCi1NSU1FLVZlcnNpb246IDEuMAot Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0Ci0KLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRt bCM1LjEuNC03Ci0KLXJlcG9ydGVkIGJ5IFJvYmVydG8gb24gMTIgQXByIDIwMTAuCi1FeGFtcGxl OgotIC0tCi0geCA9IHN0cmluZy5yZXAoIngiLCAxMDAwMCkgLi4gIiVkIgotIHByaW50KHN0cmlu Zy5mb3JtYXQoeCkpICAgIC0tIGdpdmVzIHdyb25nIGVycm9yIG1lc3NhZ2UKLSAtLQotCi1TaWdu ZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29t PgotLS0tCi0gc3JjL2xzdHJsaWIuYyB8ICAgIDQgKysrLQotIDEgZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xzdHJsaWIu YyBiL3NyYy9sc3RybGliLmMKLWluZGV4IDFiNDc2M2QuLmZlNDUyY2UgMTAwNjQ0Ci0tLS0gYS9z cmMvbHN0cmxpYi5jCi0rKysgYi9zcmMvbHN0cmxpYi5jCi1AQCAtNzU0LDYgKzc1NCw3IEBAIHN0 YXRpYyB2b2lkIGFkZGludGxlbiAoY2hhciAqZm9ybSkgewotIAotIAotIHN0YXRpYyBpbnQgc3Ry X2Zvcm1hdCAobHVhX1N0YXRlICpMKSB7Ci0rICBpbnQgdG9wID0gbHVhX2dldHRvcChMKTsKLSAg IGludCBhcmcgPSAxOwotICAgc2l6ZV90IHNmbDsKLSAgIGNvbnN0IGNoYXIgKnN0cmZybXQgPSBs dWFMX2NoZWNrbHN0cmluZyhMLCBhcmcsICZzZmwpOwotQEAgLTc2OCw3ICs3NjksOCBAQCBzdGF0 aWMgaW50IHN0cl9mb3JtYXQgKGx1YV9TdGF0ZSAqTCkgewotICAgICBlbHNlIHsgLyogZm9ybWF0 IGl0ZW0gKi8KLSAgICAgICBjaGFyIGZvcm1bTUFYX0ZPUk1BVF07ICAvKiB0byBzdG9yZSB0aGUg Zm9ybWF0IChgJS4uLicpICovCi0gICAgICAgY2hhciBidWZmW01BWF9JVEVNXTsgIC8qIHRvIHN0 b3JlIHRoZSBmb3JtYXR0ZWQgaXRlbSAqLwotLSAgICAgIGFyZysrOwotKyAgICAgIGlmICgrK2Fy ZyA+IHRvcCkKLSsgICAgICAgIGx1YUxfYXJnZXJyb3IoTCwgYXJnLCAibm8gdmFsdWUiKTsKLSAg ICAgICBzdHJmcm10ID0gc2NhbmZvcm1hdChMLCBzdHJmcm10LCBmb3JtKTsKLSAgICAgICBzd2l0 Y2ggKCpzdHJmcm10KyspIHsKLSAgICAgICAgIGNhc2UgJ2MnOiB7CmRpZmYgLS1naXQgYS9wYXRj aGVzL2x1YS01LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNv bmQtcmVhZC1mYWlscy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4t bWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA1YTVkMGYyN2YuLjAwMDAwMDAwMAotLS0gYS9wYXRjaGVzL2x1 YS01LjEuNC8wMDA4LWlvLnJlYWQtbi1uLW1heS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVh ZC1mYWlscy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb206ID0/VVRG LTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5j b20+Ci1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MjM6NTMgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gaW8ucmVhZCgiKm4iLCAiKm4iKSBtYXkgcmV0dXJuIGdhcmJhZ2UgaWYgc2Vjb25kIHJlYWQg ZmFpbHMuCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUNvbWVzIGZyb20g aHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC04Ci0KLXJlcG9ydGVkIGJ5IFJvYmVy dG8gb24gMTIgQXByIDIwMTAuCi1FeGFtcGxlOgotIC0tCi0gcHJpbnQoaW8ucmVhZCgiKm4iLCAi Km4iKSkgICAtLTw8IGVudGVyICIxMCAgIGhpIgotIC0tPiBmaWxlICgweDg4NDQyMCkJbmlsCi0g LS0KLQotU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25A YWlydGFnLmNvbT4KLS0tLQotIHNyYy9saW9saWIuYyB8ICAgIDUgKysrKy0KLSAxIGZpbGVzIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy9saW9saWIuYyBiL3NyYy9saW9saWIuYwotaW5kZXggZTc5ZWQxYy4uOGRlMjU0NyAxMDA2NDQK LS0tLSBhL3NyYy9saW9saWIuYwotKysrIGIvc3JjL2xpb2xpYi5jCi1AQCAtMjc2LDcgKzI3Niwx MCBAQCBzdGF0aWMgaW50IHJlYWRfbnVtYmVyIChsdWFfU3RhdGUgKkwsIEZJTEUgKmYpIHsKLSAg ICAgbHVhX3B1c2hudW1iZXIoTCwgZCk7Ci0gICAgIHJldHVybiAxOwotICAgfQotLSAgZWxzZSBy ZXR1cm4gMDsgIC8qIHJlYWQgZmFpbHMgKi8KLSsgIGVsc2UgewotKyAgICBsdWFfcHVzaG5pbChM KTsgIC8qICJyZXN1bHQiIHRvIGJlIHJlbW92ZWQgKi8KLSsgICAgcmV0dXJuIDA7ICAvKiByZWFk IGZhaWxzICovCi0rICB9Ci0gfQotIAotIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQv MDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4 LnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9y LXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAyMGMwYjExMjMuLjAwMDAwMDAwMAotLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDA5 LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tOiA9P1VURi04P3E/QmVubz1D Mz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgotRGF0ZTog VHVlLCA2IERlYyAyMDExIDE0OjI1OjE4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFdyb25nIGNv ZGUgZ2VuZXJhdGlvbiBmb3Igc29tZSBwYXJ0aWN1bGFyIGJvb2xlYW4KLSBleHByZXNzaW9ucy4K LU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQ29tZXMgZnJvbSBodHRwOi8v d3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTkKLQotcmVwb3J0ZWQgYnkgVGhpZXJyeSBWYW4g RWxzdXdlIG9uIDIwIEphbiAyMDExLgotRXhhbXBsZToKLSAtLQotIHByaW50KCgoJ2hpJyBvciB0 cnVlKSBhbmQgdHJ1ZSkgb3IgdHJ1ZSkKLSAtLT4gaGkgICAgIChzaG91bGQgYmUgdHJ1ZSkKLSBw cmludCgoKG5pbCBhbmQgbmlsKSBvciBmYWxzZSkgYW5kIHRydWUpCi0gLS0+IG5pbCAgICAoc2hv dWxkIGJlIGZhbHNlKQotIC0tCi0KLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxi ZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Ci0tLS0KLSBzcmMvbGNvZGUuYyB8ICAgMTQgLS0t LS0tLS0tLS0tLS0KLSAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGNvZGUuYyBiL3NyYy9sY29kZS5jCi1pbmRleCA4 NGYyODZiLi5jMTMwNjZlIDEwMDY0NAotLS0tIGEvc3JjL2xjb2RlLmMKLSsrKyBiL3NyYy9sY29k ZS5jCi1AQCAtNTQ5LDEzICs1NDksNiBAQCB2b2lkIGx1YUtfZ29pZnRydWUgKEZ1bmNTdGF0ZSAq ZnMsIGV4cGRlc2MgKmUpIHsKLSAgICAgICBwYyA9IGUtPnUucy5pbmZvOwotICAgICAgIGJyZWFr OwotICAgICB9Ci0tICAgIGNhc2UgVkZBTFNFOiB7Ci0tICAgICAgaWYgKCFoYXNqdW1wcyhlKSkg ewotLSAgICAgICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8KLS0gICAg ICAgIGJyZWFrOwotLSAgICAgIH0KLS0gICAgICAvKiBlbHNlIGdvIHRocm91Z2ggKi8KLS0gICAg fQotICAgICBkZWZhdWx0OiB7Ci0gICAgICAgcGMgPSBqdW1wb25jb25kKGZzLCBlLCAwKTsKLSAg ICAgICBicmVhazsKLUBAIC01NzksMTMgKzU3Miw2IEBAIHN0YXRpYyB2b2lkIGx1YUtfZ29pZmZh bHNlIChGdW5jU3RhdGUgKmZzLCBleHBkZXNjICplKSB7Ci0gICAgICAgcGMgPSBlLT51LnMuaW5m bzsKLSAgICAgICBicmVhazsKLSAgICAgfQotLSAgICBjYXNlIFZUUlVFOiB7Ci0tICAgICAgaWYg KCFoYXNqdW1wcyhlKSkgewotLSAgICAgICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyogYWx3YXlz IGp1bXAgKi8KLS0gICAgICAgIGJyZWFrOwotLSAgICAgIH0KLS0gICAgICAvKiBlbHNlIGdvIHRo cm91Z2ggKi8KLS0gICAgfQotICAgICBkZWZhdWx0OiB7Ci0gICAgICAgcGMgPSBqdW1wb25jb25k KGZzLCBlLCAxKTsKLSAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40 LzAwMTAtX19uZXdpbmRleC1tZXRhbWV0aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMt aS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMTAtX19uZXdpbmRleC1tZXRhbWV0aG9kLW1h eS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNmM5ZjdlMWRmLi4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAx MC1fX25ld2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbTogPT9VVEYtOD9xP0Jlbm89 QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLURhdGU6 IFR1ZSwgNiBEZWMgMjAxMSAxNDoyNzowNCArMDEwMAotU3ViamVjdDogW1BBVENIXSBfX25ld2lu ZGV4IG1ldGFtZXRob2QgbWF5IG5vdCB3b3JrIGlmIG1ldGF0YWJsZSBpcyBpdHMgb3duCi0gbWV0 YXRhYmxlLgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1Db21lcyBmcm9t IGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtMTAKLQotcmVwb3J0ZWQgYnkgQ3Vl cm8gQnVnb3Qgb24gMDkgQXVnIDIwMTEuCi1FeGFtcGxlOgotIC0tCi0gbWV0YT17fQotIHNldG1l dGF0YWJsZShtZXRhLCBtZXRhKQotIG1ldGEuX19uZXdpbmRleCA9IGZ1bmN0aW9uKHQsIGtleSwg dmFsdWUpIHByaW50KCJzZXQiKSBlbmQKLSBvID0gc2V0bWV0YXRhYmxlKHt9LCBtZXRhKQotIG8u eCA9IDEwICAgIC0tIHNob3VsZCBwcmludCAnc2V0JwotIC0tCi0KLVNpZ25lZC1vZmYtYnk6IEJl bm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Ci0tLS0KLSBzcmMv bHZtLmMgfCAgICAxICsKLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9sdm0uYyBiL3NyYy9sdm0uYwotaW5kZXggNGFj MmU3MS4uY2E3YmVhMCAxMDA2NDQKLS0tLSBhL3NyYy9sdm0uYwotKysrIGIvc3JjL2x2bS5jCi1A QCAtMTQyLDYgKzE0Miw3IEBAIHZvaWQgbHVhVl9zZXR0YWJsZSAobHVhX1N0YXRlICpMLCBjb25z dCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsKLSAgICAgICBpZiAoIXR0aXNu aWwob2xkdmFsKSB8fCAgLyogcmVzdWx0IGlzIG5vIG5pbD8gKi8KLSAgICAgICAgICAgKHRtID0g ZmFzdHRtKEwsIGgtPm1ldGF0YWJsZSwgVE1fTkVXSU5ERVgpKSA9PSBOVUxMKSB7IC8qIG9yIG5v IFRNPyAqLwotICAgICAgICAgc2V0b2JqMnQoTCwgb2xkdmFsLCB2YWwpOwotKyAgICAgICAgaC0+ ZmxhZ3MgPSAwOwotICAgICAgICAgbHVhQ19iYXJyaWVydChMLCBoLCB2YWwpOwotICAgICAgICAg cmV0dXJuOwotICAgICAgIH0KZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFy c2VyLW1heS1jb2xsZWN0LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoIGIvcGF0 Y2hlcy9sdWEtNS4xLjQvMDAxMS1QYXJzZXItbWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUt YnVpbGRpbmctaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZWUyZTQ4 MC4uMDAwMDAwMDAwCi0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xs ZWN0LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzEgKzAsMCBAQAotRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0g PGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KLURhdGU6IFR1ZSwgNiBEZWMgMjAxMSAxNDoy ODoxOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBQYXJzZXIgbWF5IGNvbGxlY3QgYSBwcm90b3R5 cGUgd2hpbGUgYnVpbGRpbmcgaXQuCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 Ci0KLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3MuaHRtbCM1LjEuNC0xMQotCi1y ZXBvcnRlZCBieSBJbmdvIHZhbiBMaWwgb24gMTMgT2N0IDIwMTEuCi0KLVNpZ25lZC1vZmYtYnk6 IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Ci0tLS0KLSBz cmMvbHBhcnNlci5jIHwgICAgMiArLQotIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xwYXJzZXIuYyBiL3NyYy9scGFy c2VyLmMKLWluZGV4IDFlMmE5YTguLmEyNzIxZDIgMTAwNjQ0Ci0tLS0gYS9zcmMvbHBhcnNlci5j Ci0rKysgYi9zcmMvbHBhcnNlci5jCi1AQCAtMzc0LDkgKzM3NCw5IEBAIHN0YXRpYyB2b2lkIGNs b3NlX2Z1bmMgKExleFN0YXRlICpscykgewotICAgbHVhX2Fzc2VydChsdWFHX2NoZWNrY29kZShm KSk7Ci0gICBsdWFfYXNzZXJ0KGZzLT5ibCA9PSBOVUxMKTsKLSAgIGxzLT5mcyA9IGZzLT5wcmV2 OwotLSAgTC0+dG9wIC09IDI7ICAvKiByZW1vdmUgdGFibGUgYW5kIHByb3RvdHlwZSBmcm9tIHRo ZSBzdGFjayAqLwotICAgLyogbGFzdCB0b2tlbiByZWFkIHdhcyBhbmNob3JlZCBpbiBkZWZ1bmN0 IGZ1bmN0aW9uOyBtdXN0IHJlYW5jaG9yIGl0ICovCi0gICBpZiAoZnMpIGFuY2hvcl90b2tlbihs cyk7Ci0rICBMLT50b3AgLT0gMjsgIC8qIHJlbW92ZSB0YWJsZSBhbmQgcHJvdG90eXBlIGZyb20g dGhlIHN0YWNrICovCi0gfQotIAotIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDEw MC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0 Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMTAwLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEu OTktcmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDkxMThjMTA0Li4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDEwMC1BZGQt bHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotRnJvbTogRXJ3aW4gUm9sIDxlcndpbkBlcndp bnJvbC5jb20+Ci1EYXRlOiBGcmksIDkgRGVjIDIwMTEgMTE6MzI6MTEgKzAxMDAKLVN1YmplY3Q6 IFtQQVRDSF0gQWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogcmVtb3ZlIG9sZCBNYWtl ZmlsZQotCi1UaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhh cyBhIG1lbnUgZW50cnkgdW5kZXIKLXNjcmlwdGluZyBsYW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRo YXQgbWFrZXMgaXQgcG9zc2libGUgdG8gdXNlIGF1dG9jb25mCi10byBidWlsZC4KLQotVGhpcyBw YXJ0IG9mIHRoZSBwYXRjaCByZW1vdmVzIHRoZSBvbGQgTWFrZWZpbGUuCi0KLVNpZ25lZC1vZmYt Ynk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0 IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgotLS0tCi0gTWFrZWZpbGUgfCAx MjggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEyOCBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9k ZSAxMDA2NDQgTWFrZWZpbGUKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNmU3OGY2Ni4uMDAwMDAwMAotLS0tIGEvTWFr ZWZpbGUKLSsrKyAvZGV2L251bGwKLUBAIC0xLDEyOCArMCwwIEBACi0tIyBtYWtlZmlsZSBmb3Ig aW5zdGFsbGluZyBMdWEKLS0jIHNlZSBJTlNUQUxMIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rp b25zCi0tIyBzZWUgc3JjL01ha2VmaWxlIGFuZCBzcmMvbHVhY29uZi5oIGZvciBmdXJ0aGVyIGN1 c3RvbWl6YXRpb24KLS0KLS0jID09IENIQU5HRSBUSEUgU0VUVElOR1MgQkVMT1cgVE8gU1VJVCBZ T1VSIEVOVklST05NRU5UID09PT09PT09PT09PT09PT09PT09PT09Ci0tCi0tIyBZb3VyIHBsYXRm b3JtLiBTZWUgUExBVFMgZm9yIHBvc3NpYmxlIHZhbHVlcy4KLS1QTEFUPSBub25lCi0tCi0tIyBX aGVyZSB0byBpbnN0YWxsLiBUaGUgaW5zdGFsbGF0aW9uIHN0YXJ0cyBpbiB0aGUgc3JjIGFuZCBk b2MgZGlyZWN0b3JpZXMsCi0tIyBzbyB0YWtlIGNhcmUgaWYgSU5TVEFMTF9UT1AgaXMgbm90IGFu IGFic29sdXRlIHBhdGguCi0tSU5TVEFMTF9UT1A9IC91c3IvbG9jYWwKLS1JTlNUQUxMX0JJTj0g JChJTlNUQUxMX1RPUCkvYmluCi0tSU5TVEFMTF9JTkM9ICQoSU5TVEFMTF9UT1ApL2luY2x1ZGUK LS1JTlNUQUxMX0xJQj0gJChJTlNUQUxMX1RPUCkvbGliCi0tSU5TVEFMTF9NQU49ICQoSU5TVEFM TF9UT1ApL21hbi9tYW4xCi0tIwotLSMgWW91IHByb2JhYmx5IHdhbnQgdG8gbWFrZSBJTlNUQUxM X0xNT0QgYW5kIElOU1RBTExfQ01PRCBjb25zaXN0ZW50IHdpdGgKLS0jIExVQV9ST09ULCBMVUFf TERJUiwgYW5kIExVQV9DRElSIGluIGx1YWNvbmYuaCAoYW5kIGFsc28gd2l0aCBldGMvbHVhLnBj KS4KLS1JTlNUQUxMX0xNT0Q9ICQoSU5TVEFMTF9UT1ApL3NoYXJlL2x1YS8kVgotLUlOU1RBTExf Q01PRD0gJChJTlNUQUxMX1RPUCkvbGliL2x1YS8kVgotLQotLSMgSG93IHRvIGluc3RhbGwuIElm IHlvdXIgaW5zdGFsbCBwcm9ncmFtIGRvZXMgbm90IHN1cHBvcnQgIi1wIiwgdGhlbiB5b3UKLS0j IG1heSBoYXZlIHRvIHJ1biByYW5saWIgb24gdGhlIGluc3RhbGxlZCBsaWJsdWEuYSAoZG8gIm1h a2UgcmFubGliIikuCi0tSU5TVEFMTD0gaW5zdGFsbCAtcAotLUlOU1RBTExfRVhFQz0gJChJTlNU QUxMKSAtbSAwNzU1Ci0tSU5TVEFMTF9EQVRBPSAkKElOU1RBTEwpIC1tIDA2NDQKLS0jCi0tIyBJ ZiB5b3UgZG9uJ3QgaGF2ZSBpbnN0YWxsIHlvdSBjYW4gdXNlIGNwIGluc3RlYWQuCi0tIyBJTlNU QUxMPSBjcCAtcAotLSMgSU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpCi0tIyBJTlNUQUxMX0RBVEE9 ICQoSU5TVEFMTCkKLS0KLS0jIFV0aWxpdGllcy4KLS1NS0RJUj0gbWtkaXIgLXAKLS1SQU5MSUI9 IHJhbmxpYgotLQotLSMgPT0gRU5EIE9GIFVTRVIgU0VUVElOR1MuIE5PIE5FRUQgVE8gQ0hBTkdF IEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9PT09PT09PT0KLS0KLS0jIENvbnZlbmllbmNlIHBs YXRmb3JtcyB0YXJnZXRzLgotLVBMQVRTPSBhaXggYW5zaSBic2QgZnJlZWJzZCBnZW5lcmljIGxp bnV4IG1hY29zeCBtaW5ndyBwb3NpeCBzb2xhcmlzCi0tCi0tIyBXaGF0IHRvIGluc3RhbGwuCi0t VE9fQklOPSBsdWEgbHVhYwotLVRPX0lOQz0gbHVhLmggbHVhY29uZi5oIGx1YWxpYi5oIGxhdXhs aWIuaCAuLi9ldGMvbHVhLmhwcAotLVRPX0xJQj0gbGlibHVhLmEKLS1UT19NQU49IGx1YS4xIGx1 YWMuMQotLQotLSMgTHVhIHZlcnNpb24gYW5kIHJlbGVhc2UuCi0tVj0gNS4xCi0tUj0gNS4xLjQK LS0KLS1hbGw6CSQoUExBVCkKLS0KLS0kKFBMQVRTKSBjbGVhbjoKLS0JY2Qgc3JjICYmICQoTUFL RSkgJEAKLS0KLS10ZXN0OglkdW1teQotLQlzcmMvbHVhIHRlc3QvaGVsbG8ubHVhCi0tCi0taW5z dGFsbDogZHVtbXkKLS0JY2Qgc3JjICYmICQoTUtESVIpICQoSU5TVEFMTF9CSU4pICQoSU5TVEFM TF9JTkMpICQoSU5TVEFMTF9MSUIpICQoSU5TVEFMTF9NQU4pICQoSU5TVEFMTF9MTU9EKSAkKElO U1RBTExfQ01PRCkKLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9FWEVDKSAkKFRPX0JJTikgJChJTlNU QUxMX0JJTikKLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX0lOQykgJChJTlNUQUxM X0lOQykKLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX0xJQikgJChJTlNUQUxMX0xJ QikKLS0JY2QgZG9jICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX01BTikgJChJTlNUQUxMX01BTikK LS0KLS1yYW5saWI6Ci0tCWNkIHNyYyAmJiBjZCAkKElOU1RBTExfTElCKSAmJiAkKFJBTkxJQikg JChUT19MSUIpCi0tCi0tbG9jYWw6Ci0tCSQoTUFLRSkgaW5zdGFsbCBJTlNUQUxMX1RPUD0uLgot LQotLW5vbmU6Ci0tCUBlY2hvICJQbGVhc2UgZG8iCi0tCUBlY2hvICIgICBtYWtlIFBMQVRGT1JN IgotLQlAZWNobyAid2hlcmUgUExBVEZPUk0gaXMgb25lIG9mIHRoZXNlOiIKLS0JQGVjaG8gIiAg ICQoUExBVFMpIgotLQlAZWNobyAiU2VlIElOU1RBTEwgZm9yIGNvbXBsZXRlIGluc3RydWN0aW9u cy4iCi0tCi0tIyBtYWtlIG1heSBnZXQgY29uZnVzZWQgd2l0aCB0ZXN0LyBhbmQgSU5TVEFMTCBp biBhIGNhc2UtaW5zZW5zaXRpdmUgT1MKLS1kdW1teToKLS0KLS0jIGVjaG8gY29uZmlnIHBhcmFt ZXRlcnMKLS1lY2hvOgotLQlAZWNobyAiIgotLQlAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJhbWV0 ZXJzIGN1cnJlbnRseSBzZXQgaW4gc3JjL01ha2VmaWxlIHRvIGJ1aWxkIEx1YSAkUjoiCi0tCUBl Y2hvICIiCi0tCUBjZCBzcmMgJiYgJChNQUtFKSAtcyBlY2hvCi0tCUBlY2hvICIiCi0tCUBlY2hv ICJUaGVzZSBhcmUgdGhlIHBhcmFtZXRlcnMgY3VycmVudGx5IHNldCBpbiBNYWtlZmlsZSB0byBp bnN0YWxsIEx1YSAkUjoiCi0tCUBlY2hvICIiCi0tCUBlY2hvICJQTEFUID0gJChQTEFUKSIKLS0J QGVjaG8gIklOU1RBTExfVE9QID0gJChJTlNUQUxMX1RPUCkiCi0tCUBlY2hvICJJTlNUQUxMX0JJ TiA9ICQoSU5TVEFMTF9CSU4pIgotLQlAZWNobyAiSU5TVEFMTF9JTkMgPSAkKElOU1RBTExfSU5D KSIKLS0JQGVjaG8gIklOU1RBTExfTElCID0gJChJTlNUQUxMX0xJQikiCi0tCUBlY2hvICJJTlNU QUxMX01BTiA9ICQoSU5TVEFMTF9NQU4pIgotLQlAZWNobyAiSU5TVEFMTF9MTU9EID0gJChJTlNU QUxMX0xNT0QpIgotLQlAZWNobyAiSU5TVEFMTF9DTU9EID0gJChJTlNUQUxMX0NNT0QpIgotLQlA ZWNobyAiSU5TVEFMTF9FWEVDID0gJChJTlNUQUxMX0VYRUMpIgotLQlAZWNobyAiSU5TVEFMTF9E QVRBID0gJChJTlNUQUxMX0RBVEEpIgotLQlAZWNobyAiIgotLQlAZWNobyAiU2VlIGFsc28gc3Jj L2x1YWNvbmYuaCAuIgotLQlAZWNobyAiIgotLQotLSMgZWNobyBwcml2YXRlIGNvbmZpZyBwYXJh bWV0ZXJzCi0tcGVjaG86Ci0tCUBlY2hvICJWID0gJChWKSIKLS0JQGVjaG8gIlIgPSAkKFIpIgot LQlAZWNobyAiVE9fQklOID0gJChUT19CSU4pIgotLQlAZWNobyAiVE9fSU5DID0gJChUT19JTkMp IgotLQlAZWNobyAiVE9fTElCID0gJChUT19MSUIpIgotLQlAZWNobyAiVE9fTUFOID0gJChUT19N QU4pIgotLQotLSMgZWNobyBjb25maWcgcGFyYW1ldGVycyBhcyBMdWEgY29kZQotLSMgdW5jb21t ZW50IHRoZSBsYXN0IHNlZCBleHByZXNzaW9uIGlmIHlvdSB3YW50IG5pbCBpbnN0ZWFkIG9mIGVt cHR5IHN0cmluZ3MKLS1sZWNobzoKLS0JQGVjaG8gIi0tIGluc3RhbGxhdGlvbiBwYXJhbWV0ZXJz IGZvciBMdWEgJFIiCi0tCUBlY2hvICJWRVJTSU9OID0gJyRWJyIKLS0JQGVjaG8gIlJFTEVBU0Ug PSAnJFInIgotLQlAJChNQUtFKSBlY2hvIHwgZ3JlcCA9IHwgc2VkIC1lICdzLz0gLz0gIi8nIC1l ICdzLyQkLyIvJyAjLWUgJ3MvIiIvbmlsLycKLS0JQGVjaG8gIi0tIEVPRiIKLS0KLS0jIGxpc3Qg dGFyZ2V0cyB0aGF0IGRvIG5vdCBjcmVhdGUgZmlsZXMgKGJ1dCBub3QgYWxsIG1ha2VzIHVuZGVy c3RhbmQgLlBIT05ZKQotLS5QSE9OWTogYWxsICQoUExBVFMpIGNsZWFuIHRlc3QgaW5zdGFsbCBs b2NhbCBub25lIGR1bW15IGVjaG8gcGVjaG8gbGVjaG8KLS0KLS0jIChlbmQgb2YgTWFrZWZpbGUp CmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMTAxLUFkZC1sdWEtc3VwcG9ydC10by1w dHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQv MDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjI3YTYyZTg4Li4wMDAwMDAwMDAK LS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0x Ljk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkxOCArMCww IEBACi1Gcm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KLURhdGU6IEZyaSwgOSBE ZWMgMjAxMSAxMTozMjoxMiArMDEwMAotU3ViamVjdDogW1BBVENIXSBBZGQgbHVhIHN1cHBvcnQg dG8gcHR4ZGlzdCAxLjk5OiBhZGQgYXV0b2NvbmYgZmlsZXMKLQotVGhpcyBwYXRjaCBhZGQgbHVh IHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyCi1zY3Jp cHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVz ZSBhdXRvY29uZgotdG8gYnVpbGQuCi0KLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggYWRkcyB0aGUg YXV0b2NvbmYgZmlsZXMuCi0KLVNpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5y b2wuY29tPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1 dHJvbml4LmRlPgotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICB8ICA3MCArKysrKwot IGV0Yy9sdWEucGMuaW4gICAgICAgICAgICAgfCAgMzIgKysKLSBzcmMvbHVhY29uZi5oLnRlbXBs YXRlLmluIHwgNzc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKLSAzIGZpbGVzIGNoYW5nZWQsIDg3OSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAw NjQ0IGNvbmZpZ3VyZS5hYwotIGNyZWF0ZSBtb2RlIDEwMDY0NCBldGMvbHVhLnBjLmluCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4KLQotZGlmZiAtLWdpdCBh L2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAuLmQ4NzlhODYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAg LTAsMCArMSw3MCBAQAotK0FDX1BSRVJFUShbMi42N10pCi0rQUNfSU5JVChbQXV0b3Rvb2xpemVk IEx1YV0sWzUuMS40XSxbXSxbbHVhLWF0XSkKLSsKLStBQ19DT05GSUdfTUFDUk9fRElSKFttNF0p Ci0rCi0rQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKLStBQ19DT05GSUdfU1JDRElSKFtz cmMvbGFwaS5jXSkKLSsKLStBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9yZWlnbl0pCi0rCi0rQUNf UFJPR19DQwotK0xUX0lOSVQKLSsKLStBQ19BUkdfV0lUSCgKLSsgIFtyZWFkbGluZV0sCi0rICBb QVNfSEVMUF9TVFJJTkcoWy0td2l0aC1yZWFkbGluZV0sW1VzZSByZWFkbGluZSBmb3IgaW50ZXJw cmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0pXSwKLSsgIFt1c2VfcmVhZGxpbmU9JHdpdGh2YWxd LAotKyAgW3VzZV9yZWFkbGluZT15ZXNdCi0rKQotKwotK0xVQV9MSUJTPSItbG0iCi0rCi0rIyBD aGVjayBmb3IgcmVhZGxpbmUKLStSRUFETElORV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9SRUFETElO RSIKLStpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInh5ZXMiOyB0aGVuCi0rICBBQ19DSEVD S19MSUIoW3JlYWRsaW5lXSwgW3JlYWRsaW5lXSwgW10sIFt1c2VfcmVhZGxpbmU9bm9dKQotKyAg QUNfQ0hFQ0tfSEVBREVSUyhbcmVhZGxpbmUvcmVhZGxpbmUuaCByZWFkbGluZS9oaXN0b3J5Lmhd LCBbXSwgW3VzZV9yZWFkbGluZT1ub10pCi0rICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0g InhubyI7IHRoZW4KLSsgICAgQUNfTVNHX1dBUk4oW3JlYWRsaW5lIGhlYWRlcnMgY291bGQgbm90 IGJlIGZvdW5kLCBkaXNhYmxpbmcgcmVhZGxpbmUgc3VwcG9ydF0pCi0rICBlbHNlCi0rICAgIFJF QURMSU5FX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9SRUFETElORSIKLSsgICAgTFVBX0xJQlM9IiRM VUFfTElCUyAtbHJlYWRsaW5lIgotKyAgZmkKLStmaQotK0FDX1NVQlNUKFJFQURMSU5FX0RFRlMp Ci0rCi0rY2FzZSAiJGhvc3QiIGluCi0rICAqLW1pbmd3KikgIHVzZV9vcz13aW4zMiAgOzsKLSsg ICotZGFyd2luKikgdXNlX29zPW1hY29zeCA7OwotKyAgKikgICAgICAgICB1c2Vfb3M9cG9zaXgg IDs7Ci0rZXNhYwotKwotK1BPU0lYX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1BPU0lYIgotK0xVQV9E TF9ERUZTPSIjdW5kZWYgTFVBX1VTRV9ETE9QRU4iCi0rTFVBX0JVSUxEX0FTX0RMTF9ERUZTPSIj dW5kZWYgTFVBX0JVSUxEX0FTX0RMTCIKLSsKLStpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInh3aW4z MiI7IHRoZW4KLSsgIExVQV9CVUlMRF9BU19ETExfREVGUz0iI2RlZmluZSBMVUFfQlVJTERfQVNf RExMIgotK2VsaWYgdGVzdCAieCR1c2Vfb3MiID09ICJ4bWFjb3N4IjsgdGhlbgotKyAgUE9TSVhf REVGUz0iI2RlZmluZSBMVUFfVVNFX1BPU0lYIgotKyAgTFVBX0RMX0RFRlM9IiNkZWZpbmUgTFVB X0RMX0RZTEQiCi0rZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhwb3NpeCI7IHRoZW4KLSsgIFBP U0lYX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9QT1NJWCIKLSsgIExVQV9ETF9ERUZTPSIjZGVmaW5l IExVQV9ETF9ETE9QRU4iCi0rICBMVUFfTElCUz0iJExVQV9MSUJTIC1sZGwiCi0rZmkKLStBQ19T VUJTVChQT1NJWF9ERUZTKQotK0FDX1NVQlNUKExVQV9ETF9ERUZTKQotK0FDX1NVQlNUKExVQV9C VUlMRF9BU19ETExfREVGUykKLSsKLStBQ19TVUJTVChMVUFfTElCUykKLSsKLStBQ19DT05GSUdf RklMRVMoW01ha2VmaWxlCi0rICAgICAgICAgICAgICAgICBzcmMvTWFrZWZpbGUKLSsgICAgICAg ICAgICAgICAgIHNyYy9sdWFjb25mLmgudGVtcGxhdGUKLSsgICAgICAgICAgICAgICAgIGV0Yy9N YWtlZmlsZQotKyAgICAgICAgICAgICAgICAgZXRjL2x1YS5wYwotKyAgICAgICAgICAgICAgICAg ZG9jL01ha2VmaWxlCi0rCQkgdGVzdC9NYWtlZmlsZV0pCi0rQUNfT1VUUFVUCi1kaWZmIC0tZ2l0 IGEvZXRjL2x1YS5wYy5pbiBiL2V0Yy9sdWEucGMuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwLi43ZjMzY2ZmCi0tLS0gL2Rldi9udWxsCi0rKysgYi9ldGMvbHVhLnBjLmlu Ci1AQCAtMCwwICsxLDMyIEBACi0rIyBsdWEucGMgLS0gcGtnLWNvbmZpZyBkYXRhIGZvciBMdWEK LSsKLSsjIHZhcnMgZnJvbSBpbnN0YWxsIE1ha2VmaWxlCi0rCi0rIyBncmVwICdeVj0nIC4uL01h a2VmaWxlCi0rVj0gNS4xCi0rIyBncmVwICdeUj0nIC4uL01ha2VmaWxlCi0rUj0gQFZFUlNJT05A Ci0rCi0rIyBncmVwICdeSU5TVEFMTF8uKj0nIC4uL01ha2VmaWxlIHwgc2VkICdzL0lOU1RBTExf VE9QL3ByZWZpeC8nCi0rIyBwbHVzIGF1dG90b29saWZpY2F0aW9uCi0rcHJlZml4PSBAcHJlZml4 QAotK0lOU1RBTExfQklOPSAke3ByZWZpeH0vYmluCi0rSU5TVEFMTF9JTkM9ICR7cHJlZml4fS9p bmNsdWRlCi0rSU5TVEFMTF9MSUI9ICR7cHJlZml4fS9saWIKLStJTlNUQUxMX01BTj0gJHtwcmVm aXh9L21hbi9tYW4xCi0rSU5TVEFMTF9MTU9EPSAke3ByZWZpeH0vc2hhcmUvbHVhLyR7Vn0KLStJ TlNUQUxMX0NNT0Q9ICR7cHJlZml4fS9saWIvbHVhLyR7Vn0KLSsKLSsjIGNhbm9uaWNhbCB2YXJz Ci0rZXhlY19wcmVmaXg9JHtwcmVmaXh9Ci0rbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYgotK2lu Y2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKLSsKLStOYW1lOiBMdWEKLStEZXNjcmlwdGlvbjog QW4gRXh0ZW5zaWJsZSBFeHRlbnNpb24gTGFuZ3VhZ2UKLStWZXJzaW9uOiAke1J9Ci0rUmVxdWly ZXM6IAotK0xpYnM6IC1MJHtsaWJkaXJ9IC1sbHVhIC1sbQotK0NmbGFnczogLUkke2luY2x1ZGVk aXJ9Ci0rCi0rIyAoZW5kIG9mIGx1YS5wYykKLWRpZmYgLS1naXQgYS9zcmMvbHVhY29uZi5oLnRl bXBsYXRlLmluIGIvc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAuLjQxYjIzNGQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9sdWFj b25mLmgudGVtcGxhdGUuaW4KLUBAIC0wLDAgKzEsNzc3IEBACi0rLyoKLSsqKiAkSWQ6IGx1YWNv bmYuaCx2IDEuODJhIDIwMDYvMDQvMTAgMTg6Mjc6MjMgcm9iZXJ0byBFeHAgJAotKyoqIENvbmZp Z3VyYXRpb24gZmlsZSBmb3IgTHVhCi0rKiogU2VlIENvcHlyaWdodCBOb3RpY2UgaW4gbHVhLmgK LSsqLwotKwotKwotKyNpZm5kZWYgbGNvbmZpZ19oCi0rI2RlZmluZSBsY29uZmlnX2gKLSsKLSsj aW5jbHVkZSA8bGltaXRzLmg+Ci0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotKwotKy8qCi0rKiogPT09 PT09PT09PT09PT09PT0KLSsqKiBBdXRvdG9vbGlmaWNhdGlvbgotKyoqID09PT09PT09PT09PT09 PT09Ci0rKi8KLSsKLSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCi0rQFBPU0lYX0RFRlNACi0r QExVQV9ETF9ERUZTQAotK0BMVUFfQlVJTERfQVNfRExMX0RFRlNACi0rQFJFQURMSU5FX0RFRlNA Ci0rLyoqIGF1dG90b29saXplIHBhdGNoICoqLwotKwotKy8qCi0rKiogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0rKiog U2VhcmNoIGZvciAiQEAiIHRvIGZpbmQgYWxsIGNvbmZpZ3VyYWJsZSBkZWZpbml0aW9ucy4KLSsq KiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0rKi8KLSsKLSsKLSsvKgotK0BAIExVQV9BTlNJIGNvbnRyb2xzIHRoZSB1 c2Ugb2Ygbm9uLWFuc2kgZmVhdHVyZXMuCi0rKiogQ0hBTkdFIGl0IChkZWZpbmUgaXQpIGlmIHlv dSB3YW50IEx1YSB0byBhdm9pZCB0aGUgdXNlIG9mIGFueQotKyoqIG5vbi1hbnNpIGZlYXR1cmUg b3IgbGlicmFyeS4KLSsqLwotKyNpZiBkZWZpbmVkKF9fU1RSSUNUX0FOU0lfXykKLSsjZGVmaW5l IExVQV9BTlNJCi0rI2VuZGlmCi0rCi0rCi0rI2lmICFkZWZpbmVkKExVQV9BTlNJKSAmJiBkZWZp bmVkKF9XSU4zMikKLSsjZGVmaW5lIExVQV9XSU4KLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChM VUFfVVNFX0xJTlVYKQotKyNkZWZpbmUgTFVBX1VTRV9QT1NJWAotKyNkZWZpbmUgTFVBX1VTRV9E TE9QRU4JCS8qIG5lZWRzIGFuIGV4dHJhIGxpYnJhcnk6IC1sZGwgKi8KLSsjZGVmaW5lIExVQV9V U0VfUkVBRExJTkUJLyogbmVlZHMgc29tZSBleHRyYSBsaWJyYXJpZXMgKi8KLSsjZW5kaWYKLSsK LSsjaWYgZGVmaW5lZChMVUFfVVNFX01BQ09TWCkKLSsjZGVmaW5lIExVQV9VU0VfUE9TSVgKLSsj ZGVmaW5lIExVQV9ETF9EWUxECQkvKiBkb2VzIG5vdCBuZWVkIGV4dHJhIGxpYnJhcnkgKi8KLSsj ZW5kaWYKLSsKLSsKLSsKLSsvKgotK0BAIExVQV9VU0VfUE9TSVggaW5jbHVkZXMgYWxsIGZ1bmN0 aW9uYWxsaXR5IGxpc3RlZCBhcyBYL09wZW4gU3lzdGVtCi0rQCogSW50ZXJmYWNlcyBFeHRlbnNp b24gKFhTSSkuCi0rKiogQ0hBTkdFIGl0IChkZWZpbmUgaXQpIGlmIHlvdXIgc3lzdGVtIGlzIFhT SSBjb21wYXRpYmxlLgotKyovCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9QT1NJWCkKLSsjZGVmaW5l IExVQV9VU0VfTUtTVEVNUAotKyNkZWZpbmUgTFVBX1VTRV9JU0FUVFkKLSsjZGVmaW5lIExVQV9V U0VfUE9QRU4KLSsjZGVmaW5lIExVQV9VU0VfVUxPTkdKTVAKLSsjZW5kaWYKLSsKLSsKLSsvKgot K0BAIExVQV9QQVRIIGFuZCBMVUFfQ1BBVEggYXJlIHRoZSBuYW1lcyBvZiB0aGUgZW52aXJvbm1l bnQgdmFyaWFibGVzIHRoYXQKLStAKiBMdWEgY2hlY2sgdG8gc2V0IGl0cyBwYXRocy4KLStAQCBM VUFfSU5JVCBpcyB0aGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBMdWEK LStAKiBjaGVja3MgZm9yIGluaXRpYWxpemF0aW9uIGNvZGUuCi0rKiogQ0hBTkdFIHRoZW0gaWYg eW91IHdhbnQgZGlmZmVyZW50IG5hbWVzLgotKyovCi0rI2RlZmluZSBMVUFfUEFUSCAgICAgICAg IkxVQV9QQVRIIgotKyNkZWZpbmUgTFVBX0NQQVRIICAgICAgICJMVUFfQ1BBVEgiCi0rI2RlZmlu ZSBMVUFfSU5JVAkiTFVBX0lOSVQiCi0rCi0rCi0rLyoKLStAQCBMVUFfUEFUSF9ERUZBVUxUIGlz IHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcgotK0AqIEx1YSBsaWJy YXJpZXMuCi0rQEAgTFVBX0NQQVRIX0RFRkFVTFQgaXMgdGhlIGRlZmF1bHQgcGF0aCB0aGF0IEx1 YSB1c2VzIHRvIGxvb2sgZm9yCi0rQCogQyBsaWJyYXJpZXMuCi0rKiogQ0hBTkdFIHRoZW0gaWYg eW91ciBtYWNoaW5lIGhhcyBhIG5vbi1jb252ZW50aW9uYWwgZGlyZWN0b3J5Ci0rKiogaGllcmFy Y2h5IG9yIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgeW91ciBsaWJyYXJpZXMgaW4KLSsqKiBub24t Y29udmVudGlvbmFsIGRpcmVjdG9yaWVzLgotKyovCi0rI2lmIGRlZmluZWQoX1dJTjMyKQotKy8q Ci0rKiogSW4gV2luZG93cywgYW55IGV4Y2xhbWF0aW9uIG1hcmsgKCchJykgaW4gdGhlIHBhdGgg aXMgcmVwbGFjZWQgYnkgdGhlCi0rKiogcGF0aCBvZiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBleGVj dXRhYmxlIGZpbGUgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KLSsqLwotKyNkZWZpbmUgTFVBX0xE SVIJIiFcXGx1YVxcIgotKyNkZWZpbmUgTFVBX0NESVIJIiFcXCIKLSsjZGVmaW5lIExVQV9QQVRI X0RFRkFVTFQgIFwKLSsJCSIuXFw/Lmx1YTsiICBMVUFfTERJUiI/Lmx1YTsiICBMVUFfTERJUiI/ XFxpbml0Lmx1YTsiIFwKLSsJCSAgICAgICAgICAgICBMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJ UiI/XFxpbml0Lmx1YSIKLSsjZGVmaW5lIExVQV9DUEFUSF9ERUZBVUxUIFwKLSsJIi5cXD8uZGxs OyIgIExVQV9DRElSIj8uZGxsOyIgTFVBX0NESVIibG9hZGFsbC5kbGwiCi0rCi0rI2Vsc2UKLSsK LSsvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCi0rI2RlZmluZSBMVUFfTERJUgkiJWx1YV9kYXRh ZGlyJS9sdWEvNS4xLyIKLSsjZGVmaW5lIExVQV9DRElSCSIlbHVhX2xpYmRpciUvbHVhLzUuMS8i Ci0rLyoqIGF1dG90b29saXplIHBhdGNoICoqLwotKwotKyNkZWZpbmUgTFVBX1BBVEhfREVGQVVM VCAgXAotKwkJIi4vPy5sdWE7IiAgTFVBX0xESVIiPy5sdWE7IiAgTFVBX0xESVIiPy9pbml0Lmx1 YTsiIFwKLSsJCSAgICAgICAgICAgIExVQV9DRElSIj8ubHVhOyIgIExVQV9DRElSIj8vaW5pdC5s dWEiCi0rI2RlZmluZSBMVUFfQ1BBVEhfREVGQVVMVCBcCi0rCSIuLz8uc287IiAgTFVBX0NESVIi Py5zbzsiIExVQV9DRElSImxvYWRhbGwuc28iCi0rI2VuZGlmCi0rCi0rCi0rLyoKLStAQCBMVUFf RElSU0VQIGlzIHRoZSBkaXJlY3Rvcnkgc2VwYXJhdG9yIChmb3Igc3VibW9kdWxlcykuCi0rKiog Q0hBTkdFIGl0IGlmIHlvdXIgbWFjaGluZSBkb2VzIG5vdCB1c2UgIi8iIGFzIHRoZSBkaXJlY3Rv cnkgc2VwYXJhdG9yCi0rKiogYW5kIGlzIG5vdCBXaW5kb3dzLiAoT24gV2luZG93cyBMdWEgYXV0 b21hdGljYWxseSB1c2VzICJcIi4pCi0rKi8KLSsjaWYgZGVmaW5lZChfV0lOMzIpCi0rI2RlZmlu ZSBMVUFfRElSU0VQCSJcXCIKLSsjZWxzZQotKyNkZWZpbmUgTFVBX0RJUlNFUAkiLyIKLSsjZW5k aWYKLSsKLSsKLSsvKgotK0BAIExVQV9QQVRIU0VQIGlzIHRoZSBjaGFyYWN0ZXIgdGhhdCBzZXBh cmF0ZXMgdGVtcGxhdGVzIGluIGEgcGF0aC4KLStAQCBMVUFfUEFUSF9NQVJLIGlzIHRoZSBzdHJp bmcgdGhhdCBtYXJrcyB0aGUgc3Vic3RpdHV0aW9uIHBvaW50cyBpbiBhCi0rQCogdGVtcGxhdGUu Ci0rQEAgTFVBX0VYRUNESVIgaW4gYSBXaW5kb3dzIHBhdGggaXMgcmVwbGFjZWQgYnkgdGhlIGV4 ZWN1dGFibGUncwotK0AqIGRpcmVjdG9yeS4KLStAQCBMVUFfSUdNQVJLIGlzIGEgbWFyayB0byBp Z25vcmUgYWxsIGJlZm9yZSBpdCB3aGVuIGJ1bGRpbmcgdGhlCi0rQCogbHVhb3Blbl8gZnVuY3Rp b24gbmFtZS4KLSsqKiBDSEFOR0UgdGhlbSBpZiBmb3Igc29tZSByZWFzb24geW91ciBzeXN0ZW0g Y2Fubm90IHVzZSB0aG9zZQotKyoqIGNoYXJhY3RlcnMuIChFLmcuLCBpZiBvbmUgb2YgdGhvc2Ug Y2hhcmFjdGVycyBpcyBhIGNvbW1vbiBjaGFyYWN0ZXIKLSsqKiBpbiBmaWxlL2RpcmVjdG9yeSBu YW1lcy4pIFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhlbS4KLSsqLwotKyNk ZWZpbmUgTFVBX1BBVEhTRVAJIjsiCi0rI2RlZmluZSBMVUFfUEFUSF9NQVJLCSI/IgotKyNkZWZp bmUgTFVBX0VYRUNESVIJIiEiCi0rI2RlZmluZSBMVUFfSUdNQVJLCSItIgotKwotKwotKy8qCi0r QEAgTFVBX0lOVEVHRVIgaXMgdGhlIGludGVncmFsIHR5cGUgdXNlZCBieSBsdWFfcHVzaGludGVn ZXIvbHVhX3RvaW50ZWdlci4KLSsqKiBDSEFOR0UgdGhhdCBpZiBwdHJkaWZmX3QgaXMgbm90IGFk ZXF1YXRlIG9uIHlvdXIgbWFjaGluZS4gKE9uIG1vc3QKLSsqKiBtYWNoaW5lcywgcHRyZGlmZl90 IGdpdmVzIGEgZ29vZCBjaG9pY2UgYmV0d2VlbiBpbnQgb3IgbG9uZy4pCi0rKi8KLSsjZGVmaW5l IExVQV9JTlRFR0VSCXB0cmRpZmZfdAotKwotKwotKy8qCi0rQEAgTFVBX0FQSSBpcyBhIG1hcmsg Zm9yIGFsbCBjb3JlIEFQSSBmdW5jdGlvbnMuCi0rQEAgTFVBTElCX0FQSSBpcyBhIG1hcmsgZm9y IGFsbCBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0aW9ucy4KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ug bmVlZCB0byBkZWZpbmUgdGhvc2UgZnVuY3Rpb25zIGluIHNvbWUgc3BlY2lhbCB3YXkuCi0rKiog Rm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgb25lIFdpbmRvd3MgRExMIHdpdGgg dGhlIGNvcmUgYW5kCi0rKiogdGhlIGxpYnJhcmllcywgeW91IG1heSB3YW50IHRvIHVzZSB0aGUg Zm9sbG93aW5nIGRlZmluaXRpb24gKGRlZmluZQotKyoqIExVQV9CVUlMRF9BU19ETEwgdG8gZ2V0 IGl0KS4KLSsqLwotKyNpZiBkZWZpbmVkKExVQV9CVUlMRF9BU19ETEwpCi0rCi0rI2lmIGRlZmlu ZWQoTFVBX0NPUkUpIHx8IGRlZmluZWQoTFVBX0xJQikKLSsjZGVmaW5lIExVQV9BUEkgX19kZWNs c3BlYyhkbGxleHBvcnQpCi0rI2Vsc2UKLSsjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhkbGxp bXBvcnQpCi0rI2VuZGlmCi0rCi0rI2Vsc2UKLSsKLSsjZGVmaW5lIExVQV9BUEkJCWV4dGVybgot KwotKyNlbmRpZgotKwotKy8qIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhlIGxpYnMgZ28gdG9nZXRo ZXIgd2l0aCB0aGUgY29yZSAqLwotKyNkZWZpbmUgTFVBTElCX0FQSQlMVUFfQVBJCi0rCi0rCi0r LyoKLStAQCBMVUFJX0ZVTkMgaXMgYSBtYXJrIGZvciBhbGwgZXh0ZXJuIGZ1bmN0aW9ucyB0aGF0 IGFyZSBub3QgdG8gYmUKLStAKiBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuCi0rQEAgTFVB SV9EQVRBIGlzIGEgbWFyayBmb3IgYWxsIGV4dGVybiAoY29uc3QpIHZhcmlhYmxlcyB0aGF0IGFy ZSBub3QgdG8KLStAKiBiZSBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuCi0rKiogQ0hBTkdF IHRoZW0gaWYgeW91IG5lZWQgdG8gbWFyayB0aGVtIGluIHNvbWUgc3BlY2lhbCB3YXkuIEVsZi9n Y2MKLSsqKiAodmVyc2lvbnMgMy4yIGFuZCBsYXRlcikgbWFyayB0aGVtIGFzICJoaWRkZW4iIHRv IG9wdGltaXplIGFjY2VzcwotKyoqIHdoZW4gTHVhIGlzIGNvbXBpbGVkIGFzIGEgc2hhcmVkIGxp YnJhcnkuCi0rKi8KLSsjaWYgZGVmaW5lZChsdWFhbGxfYykKLSsjZGVmaW5lIExVQUlfRlVOQwlz dGF0aWMKLSsjZGVmaW5lIExVQUlfREFUQQkvKiBlbXB0eSAqLwotKwotKyNlbGlmIGRlZmluZWQo X19HTlVDX18pICYmICgoX19HTlVDX18qMTAwICsgX19HTlVDX01JTk9SX18pID49IDMwMikgJiYg XAotKyAgICAgIGRlZmluZWQoX19FTEZfXykKLSsjZGVmaW5lIExVQUlfRlVOQwlfX2F0dHJpYnV0 ZV9fKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpIGV4dGVybgotKyNkZWZpbmUgTFVBSV9EQVRBCUxV QUlfRlVOQwotKwotKyNlbHNlCi0rI2RlZmluZSBMVUFJX0ZVTkMJZXh0ZXJuCi0rI2RlZmluZSBM VUFJX0RBVEEJZXh0ZXJuCi0rI2VuZGlmCi0rCi0rCi0rCi0rLyoKLStAQCBMVUFfUUwgZGVzY3Jp YmVzIGhvdyBlcnJvciBtZXNzYWdlcyBxdW90ZSBwcm9ncmFtIGVsZW1lbnRzLgotKyoqIENIQU5H RSBpdCBpZiB5b3Ugd2FudCBhIGRpZmZlcmVudCBhcHBlYXJhbmNlLgotKyovCi0rI2RlZmluZSBM VUFfUUwoeCkJIiciIHggIiciCi0rI2RlZmluZSBMVUFfUVMJCUxVQV9RTCgiJXMiKQotKwotKwot Ky8qCi0rQEAgTFVBX0lEU0laRSBnaXZlcyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUgZGVzY3Jp cHRpb24gb2YgdGhlIHNvdXJjZQotK0AqIG9mIGEgZnVuY3Rpb24gaW4gZGVidWcgaW5mb3JtYXRp b24uCi0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlmZmVyZW50IHNpemUuCi0rKi8KLSsj ZGVmaW5lIExVQV9JRFNJWkUJNjAKLSsKLSsKLSsvKgotKyoqIHs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsqKiBTdGFu ZC1hbG9uZSBjb25maWd1cmF0aW9uCi0rKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyovCi0rCi0rI2lmIGRlZmlu ZWQobHVhX2MpIHx8IGRlZmluZWQobHVhYWxsX2MpCi0rCi0rLyoKLStAQCBsdWFfc3RkaW5faXNf dHR5IGRldGVjdHMgd2hldGhlciB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgYSAndHR5JyAodGhhdAot K0AqIGlzLCB3aGV0aGVyIHdlJ3JlIHJ1bm5pbmcgbHVhIGludGVyYWN0aXZlbHkpLgotKyoqIENI QU5HRSBpdCBpZiB5b3UgaGF2ZSBhIGJldHRlciBkZWZpbml0aW9uIGZvciBub24tUE9TSVgvbm9u LVdpbmRvd3MKLSsqKiBzeXN0ZW1zLgotKyovCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9JU0FUVFkp Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNkZWZpbmUgbHVhX3N0ZGluX2lzX3R0eSgpCWlzYXR0 eSgwKQotKyNlbGlmIGRlZmluZWQoTFVBX1dJTikKLSsjaW5jbHVkZSA8aW8uaD4KLSsjaW5jbHVk ZSA8c3RkaW8uaD4KLSsjZGVmaW5lIGx1YV9zdGRpbl9pc190dHkoKQlfaXNhdHR5KF9maWxlbm8o c3RkaW4pKQotKyNlbHNlCi0rI2RlZmluZSBsdWFfc3RkaW5faXNfdHR5KCkJMSAgLyogYXNzdW1l IHN0ZGluIGlzIGEgdHR5ICovCi0rI2VuZGlmCi0rCi0rCi0rLyoKLStAQCBMVUFfUFJPTVBUIGlz IHRoZSBkZWZhdWx0IHByb21wdCB1c2VkIGJ5IHN0YW5kLWFsb25lIEx1YS4KLStAQCBMVUFfUFJP TVBUMiBpcyB0aGUgZGVmYXVsdCBjb250aW51YXRpb24gcHJvbXB0IHVzZWQgYnkgc3RhbmQtYWxv bmUgTHVhLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50IGRpZmZlcmVudCBwcm9tcHRzLiAo WW91IGNhbiBhbHNvIGNoYW5nZSB0aGUKLSsqKiBwcm9tcHRzIGR5bmFtaWNhbGx5LCBhc3NpZ25p bmcgdG8gZ2xvYmFscyBfUFJPTVBUL19QUk9NUFQyLikKLSsqLwotKyNkZWZpbmUgTFVBX1BST01Q VAkJIj4gIgotKyNkZWZpbmUgTFVBX1BST01QVDIJCSI+PiAiCi0rCi0rCi0rLyoKLStAQCBMVUFf UFJPR05BTUUgaXMgdGhlIGRlZmF1bHQgbmFtZSBmb3IgdGhlIHN0YW5kLWFsb25lIEx1YSBwcm9n cmFtLgotKyoqIENIQU5HRSBpdCBpZiB5b3VyIHN0YW5kLWFsb25lIGludGVycHJldGVyIGhhcyBh IGRpZmZlcmVudCBuYW1lIGFuZAotKyoqIHlvdXIgc3lzdGVtIGlzIG5vdCBhYmxlIHRvIGRldGVj dCB0aGF0IG5hbWUgYXV0b21hdGljYWxseS4KLSsqLwotKyNkZWZpbmUgTFVBX1BST0dOQU1FCQki bHVhIgotKwotKwotKy8qCi0rQEAgTFVBX01BWElOUFVUIGlzIHRoZSBtYXhpbXVtIGxlbmd0aCBm b3IgYW4gaW5wdXQgbGluZSBpbiB0aGUKLStAKiBzdGFuZC1hbG9uZSBpbnRlcnByZXRlci4KLSsq KiBDSEFOR0UgaXQgaWYgeW91IG5lZWQgbG9uZ2VyIGxpbmVzLgotKyovCi0rI2RlZmluZSBMVUFf TUFYSU5QVVQJNTEyCi0rCi0rCi0rLyoKLStAQCBsdWFfcmVhZGxpbmUgZGVmaW5lcyBob3cgdG8g c2hvdyBhIHByb21wdCBhbmQgdGhlbiByZWFkIGEgbGluZSBmcm9tCi0rQCogdGhlIHN0YW5kYXJk IGlucHV0LgotK0BAIGx1YV9zYXZlbGluZSBkZWZpbmVzIGhvdyB0byAic2F2ZSIgYSByZWFkIGxp bmUgaW4gYSAiaGlzdG9yeSIuCi0rQEAgbHVhX2ZyZWVsaW5lIGRlZmluZXMgaG93IHRvIGZyZWUg YSBsaW5lIHJlYWQgYnkgbHVhX3JlYWRsaW5lLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50 IHRvIGltcHJvdmUgdGhpcyBmdW5jdGlvbmFsaXR5IChlLmcuLCBieSB1c2luZwotKyoqIEdOVSBy ZWFkbGluZSBhbmQgaGlzdG9yeSBmYWNpbGl0aWVzKS4KLSsqLwotKyNpZiBkZWZpbmVkKExVQV9V U0VfUkVBRExJTkUpCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHJlYWRsaW5lL3Jl YWRsaW5lLmg+Ci0rI2luY2x1ZGUgPHJlYWRsaW5lL2hpc3RvcnkuaD4KLSsjZGVmaW5lIGx1YV9y ZWFkbGluZShMLGIscCkJKCh2b2lkKUwsICgoYik9cmVhZGxpbmUocCkpICE9IE5VTEwpCi0rI2Rl ZmluZSBsdWFfc2F2ZWxpbmUoTCxpZHgpIFwKLSsJaWYgKGx1YV9zdHJsZW4oTCxpZHgpID4gMCkg IC8qIG5vbi1lbXB0eSBsaW5lPyAqLyBcCi0rCSAgYWRkX2hpc3RvcnkobHVhX3Rvc3RyaW5nKEws IGlkeCkpOyAgLyogYWRkIGl0IHRvIGhpc3RvcnkgKi8KLSsjZGVmaW5lIGx1YV9mcmVlbGluZShM LGIpCSgodm9pZClMLCBmcmVlKGIpKQotKyNlbHNlCi0rI2RlZmluZSBsdWFfcmVhZGxpbmUoTCxi LHApCVwKLSsJKCh2b2lkKUwsIGZwdXRzKHAsIHN0ZG91dCksIGZmbHVzaChzdGRvdXQpLCAgLyog c2hvdyBwcm9tcHQgKi8gXAotKwlmZ2V0cyhiLCBMVUFfTUFYSU5QVVQsIHN0ZGluKSAhPSBOVUxM KSAgLyogZ2V0IGxpbmUgKi8KLSsjZGVmaW5lIGx1YV9zYXZlbGluZShMLGlkeCkJeyAodm9pZClM OyAodm9pZClpZHg7IH0KLSsjZGVmaW5lIGx1YV9mcmVlbGluZShMLGIpCXsgKHZvaWQpTDsgKHZv aWQpYjsgfQotKyNlbmRpZgotKwotKyNlbmRpZgotKwotKy8qIH09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLSsKLSsK LSsvKgotK0BAIExVQUlfR0NQQVVTRSBkZWZpbmVzIHRoZSBkZWZhdWx0IHBhdXNlIGJldHdlZW4g Z2FyYmFnZS1jb2xsZWN0b3IgY3ljbGVzCi0rQCogYXMgYSBwZXJjZW50YWdlLgotKyoqIENIQU5H RSBpdCBpZiB5b3Ugd2FudCB0aGUgR0MgdG8gcnVuIGZhc3RlciBvciBzbG93ZXIgKGhpZ2hlciB2 YWx1ZXMKLSsqKiBtZWFuIGxhcmdlciBwYXVzZXMgd2hpY2ggbWVhbiBzbG93ZXIgY29sbGVjdGlv bi4pIFlvdSBjYW4gYWxzbyBjaGFuZ2UKLSsqKiB0aGlzIHZhbHVlIGR5bmFtaWNhbGx5LgotKyov Ci0rI2RlZmluZSBMVUFJX0dDUEFVU0UJMjAwICAvKiAyMDAlICh3YWl0IG1lbW9yeSB0byBkb3Vi bGUgYmVmb3JlIG5leHQgR0MpICovCi0rCi0rCi0rLyoKLStAQCBMVUFJX0dDTVVMIGRlZmluZXMg dGhlIGRlZmF1bHQgc3BlZWQgb2YgZ2FyYmFnZSBjb2xsZWN0aW9uIHJlbGF0aXZlIHRvCi0rQCog bWVtb3J5IGFsbG9jYXRpb24gYXMgYSBwZXJjZW50YWdlLgotKyoqIENIQU5HRSBpdCBpZiB5b3Ug d2FudCB0byBjaGFuZ2UgdGhlIGdyYW51bGFyaXR5IG9mIHRoZSBnYXJiYWdlCi0rKiogY29sbGVj dGlvbi4gKEhpZ2hlciB2YWx1ZXMgbWVhbiBjb2Fyc2VyIGNvbGxlY3Rpb25zLiAwIHJlcHJlc2Vu dHMKLSsqKiBpbmZpbml0eSwgd2hlcmUgZWFjaCBzdGVwIHBlcmZvcm1zIGEgZnVsbCBjb2xsZWN0 aW9uLikgWW91IGNhbiBhbHNvCi0rKiogY2hhbmdlIHRoaXMgdmFsdWUgZHluYW1pY2FsbHkuCi0r Ki8KLSsjZGVmaW5lIExVQUlfR0NNVUwJMjAwIC8qIEdDIHJ1bnMgJ3R3aWNlIHRoZSBzcGVlZCcg b2YgbWVtb3J5IGFsbG9jYXRpb24gKi8KLSsKLSsKLSsKLSsvKgotK0BAIExVQV9DT01QQVRfR0VU TiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGdldG4gYmVoYXZpb3IuCi0rKiogQ0hB TkdFIGl0IChkZWZpbmUgaXQpIGlmIHlvdSB3YW50IGV4YWN0IGNvbXBhdGliaWxpdHkgd2l0aCB0 aGUKLSsqKiBiZWhhdmlvciBvZiBzZXRuL2dldG4gaW4gTHVhIDUuMC4KLSsqLwotKyN1bmRlZiBM VUFfQ09NUEFUX0dFVE4KLSsKLSsvKgotK0BAIExVQV9DT01QQVRfTE9BRExJQiBjb250cm9scyBj b21wYXRpYmlsaXR5IGFib3V0IGdsb2JhbCBsb2FkbGliLgotKyoqIENIQU5HRSBpdCB0byB1bmRl ZmluZWQgYXMgc29vbiBhcyB5b3UgZG8gbm90IG5lZWQgYSBnbG9iYWwgJ2xvYWRsaWInCi0rKiog ZnVuY3Rpb24gKHRoZSBmdW5jdGlvbiBpcyBzdGlsbCBhdmFpbGFibGUgYXMgJ3BhY2thZ2UubG9h ZGxpYicpLgotKyovCi0rI3VuZGVmIExVQV9DT01QQVRfTE9BRExJQgotKwotKy8qCi0rQEAgTFVB X0NPTVBBVF9WQVJBUkcgY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB2YXJhcmcgZmVh dHVyZS4KLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91ciBwcm9ncmFt cyB1c2Ugb25seSAnLi4uJyB0bwotKyoqIGFjY2VzcyB2YXJhcmcgcGFyYW1ldGVycyAoaW5zdGVh ZCBvZiB0aGUgb2xkICdhcmcnIHRhYmxlKS4KLSsqLwotKyNkZWZpbmUgTFVBX0NPTVBBVF9WQVJB UkcKLSsKLSsvKgotK0BAIExVQV9DT01QQVRfTU9EIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0 aCBvbGQgbWF0aC5tb2QgZnVuY3Rpb24uCi0rKiogQ0hBTkdFIGl0IHRvIHVuZGVmaW5lZCBhcyBz b29uIGFzIHlvdXIgcHJvZ3JhbXMgdXNlICdtYXRoLmZtb2QnIG9yCi0rKiogdGhlIG5ldyAnJScg b3BlcmF0b3IgaW5zdGVhZCBvZiAnbWF0aC5tb2QnLgotKyovCi0rI2RlZmluZSBMVUFfQ09NUEFU X01PRAotKwotKy8qCi0rQEAgTFVBX0NPTVBBVF9MU1RSIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkg d2l0aCBvbGQgbG9uZyBzdHJpbmcgbmVzdGluZwotK0AqIGZhY2lsaXR5LgotKyoqIENIQU5HRSBp dCB0byAyIGlmIHlvdSB3YW50IHRoZSBvbGQgYmVoYXZpb3VyLCBvciB1bmRlZmluZSBpdCB0byB0 dXJuCi0rKiogb2ZmIHRoZSBhZHZpc29yeSBlcnJvciB3aGVuIG5lc3RpbmcgW1suLi5dXS4KLSsq LwotKyNkZWZpbmUgTFVBX0NPTVBBVF9MU1RSCQkxCi0rCi0rLyoKLStAQCBMVUFfQ09NUEFUX0dG SU5EIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgJ3N0cmluZy5nZmluZCcgbmFtZS4K LSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IHJlbmFtZSAnc3RyaW5n LmdmaW5kJyB0bwotKyoqICdzdHJpbmcuZ21hdGNoJy4KLSsqLwotKyNkZWZpbmUgTFVBX0NPTVBB VF9HRklORAotKwotKy8qCi0rQEAgTFVBX0NPTVBBVF9PUEVOTElCIGNvbnRyb2xzIGNvbXBhdGli aWxpdHkgd2l0aCBvbGQgJ2x1YUxfb3BlbmxpYicKLStAKiBiZWhhdmlvci4KLSsqKiBDSEFOR0Ug aXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IHJlcGxhY2UgdG8gJ2x1YUxfcmVnaXN0ZXIn Ci0rKiogeW91ciB1c2VzIG9mICdsdWFMX29wZW5saWInCi0rKi8KLSsjZGVmaW5lIExVQV9DT01Q QVRfT1BFTkxJQgotKwotKwotKwotKy8qCi0rQEAgbHVhaV9hcGljaGVjayBpcyB0aGUgYXNzZXJ0 IG1hY3JvIHVzZWQgYnkgdGhlIEx1YS1DIEFQSS4KLSsqKiBDSEFOR0UgbHVhaV9hcGljaGVjayBp ZiB5b3Ugd2FudCBMdWEgdG8gcGVyZm9ybSBzb21lIGNoZWNrcyBpbiB0aGUKLSsqKiBwYXJhbWV0 ZXJzIGl0IGdldHMgZnJvbSBBUEkgY2FsbHMuIFRoaXMgbWF5IHNsb3cgZG93biB0aGUgaW50ZXJw cmV0ZXIKLSsqKiBhIGJpdCwgYnV0IG1heSBiZSBxdWl0ZSB1c2VmdWwgd2hlbiBkZWJ1Z2dpbmcg QyBjb2RlIHRoYXQgaW50ZXJmYWNlcwotKyoqIHdpdGggTHVhLiBBIHVzZWZ1bCByZWRlZmluaXRp b24gaXMgdG8gdXNlIGFzc2VydC5oLgotKyovCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9BUElDSEVD SykKLSsjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0rI2RlZmluZSBsdWFpX2FwaWNoZWNrKEwsbykJeyAo dm9pZClMOyBhc3NlcnQobyk7IH0KLSsjZWxzZQotKyNkZWZpbmUgbHVhaV9hcGljaGVjayhMLG8p CXsgKHZvaWQpTDsgfQotKyNlbmRpZgotKwotKwotKy8qCi0rQEAgTFVBSV9CSVRTSU5UIGRlZmlu ZXMgdGhlIG51bWJlciBvZiBiaXRzIGluIGFuIGludC4KLSsqKiBDSEFOR0UgaGVyZSBpZiBMdWEg Y2Fubm90IGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBudW1iZXIgb2YgYml0cyBvZgotKyoqIHlv dXIgbWFjaGluZS4gUHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGlzLgotKyov Ci0rLyogYXZvaWQgb3ZlcmZsb3dzIGluIGNvbXBhcmlzb24gKi8KLSsjaWYgSU5UX01BWC0yMCA8 IDMyNzYwCi0rI2RlZmluZSBMVUFJX0JJVFNJTlQJMTYKLSsjZWxpZiBJTlRfTUFYID4gMjE0NzQ4 MzY0MEwKLSsvKiBpbnQgaGFzIGF0IGxlYXN0IDMyIGJpdHMgKi8KLSsjZGVmaW5lIExVQUlfQklU U0lOVAkzMgotKyNlbHNlCi0rI2Vycm9yICJ5b3UgbXVzdCBkZWZpbmUgTFVBX0JJVFNJTlQgd2l0 aCBudW1iZXIgb2YgYml0cyBpbiBhbiBpbnRlZ2VyIgotKyNlbmRpZgotKwotKwotKy8qCi0rQEAg TFVBSV9VSU5UMzIgaXMgYW4gdW5zaWduZWQgaW50ZWdlciB3aXRoIGF0IGxlYXN0IDMyIGJpdHMu Ci0rQEAgTFVBSV9JTlQzMiBpcyBhbiBzaWduZWQgaW50ZWdlciB3aXRoIGF0IGxlYXN0IDMyIGJp dHMuCi0rQEAgTFVBSV9VTUVNIGlzIGFuIHVuc2lnbmVkIGludGVnZXIgYmlnIGVub3VnaCB0byBj b3VudCB0aGUgdG90YWwKLStAKiBtZW1vcnkgdXNlZCBieSBMdWEuCi0rQEAgTFVBSV9NRU0gaXMg YSBzaWduZWQgaW50ZWdlciBiaWcgZW5vdWdoIHRvIGNvdW50IHRoZSB0b3RhbCBtZW1vcnkKLStA KiB1c2VkIGJ5IEx1YS4KLSsqKiBDSEFOR0UgaGVyZSBpZiBmb3Igc29tZSB3ZWlyZCByZWFzb24g dGhlIGRlZmF1bHQgZGVmaW5pdGlvbnMgYXJlIG5vdAotKyoqIGdvb2QgZW5vdWdoIGZvciB5b3Vy IG1hY2hpbmUuIChUaGUgZGVmaW5pdGlvbnMgaW4gdGhlICdlbHNlJwotKyoqIHBhcnQgYWx3YXlz IHdvcmtzLCBidXQgbWF5IHdhc3RlIHNwYWNlIG9uIG1hY2hpbmVzIHdpdGggNjQtYml0Ci0rKiog bG9uZ3MuKSBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCi0rKi8KLSsj aWYgTFVBSV9CSVRTSU5UID49IDMyCi0rI2RlZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBpbnQK LSsjZGVmaW5lIExVQUlfSU5UMzIJaW50Ci0rI2RlZmluZSBMVUFJX01BWElOVDMyCUlOVF9NQVgK LSsjZGVmaW5lIExVQUlfVU1FTQlzaXplX3QKLSsjZGVmaW5lIExVQUlfTUVNCXB0cmRpZmZfdAot KyNlbHNlCi0rLyogMTYtYml0IGludHMgKi8KLSsjZGVmaW5lIExVQUlfVUlOVDMyCXVuc2lnbmVk IGxvbmcKLSsjZGVmaW5lIExVQUlfSU5UMzIJbG9uZwotKyNkZWZpbmUgTFVBSV9NQVhJTlQzMglM T05HX01BWAotKyNkZWZpbmUgTFVBSV9VTUVNCXVuc2lnbmVkIGxvbmcKLSsjZGVmaW5lIExVQUlf TUVNCWxvbmcKLSsjZW5kaWYKLSsKLSsKLSsvKgotK0BAIExVQUlfTUFYQ0FMTFMgbGltaXRzIHRo ZSBudW1iZXIgb2YgbmVzdGVkIGNhbGxzLgotKyoqIENIQU5HRSBpdCBpZiB5b3UgbmVlZCByZWFs bHkgZGVlcCByZWN1cnNpdmUgY2FsbHMuIFRoaXMgbGltaXQgaXMKLSsqKiBhcmJpdHJhcnk7IGl0 cyBvbmx5IHB1cnBvc2UgaXMgdG8gc3RvcCBpbmZpbml0ZSByZWN1cnNpb24gYmVmb3JlCi0rKiog ZXhoYXVzdGluZyBtZW1vcnkuCi0rKi8KLSsjZGVmaW5lIExVQUlfTUFYQ0FMTFMJMjAwMDAKLSsK LSsKLSsvKgotK0BAIExVQUlfTUFYQ1NUQUNLIGxpbWl0cyB0aGUgbnVtYmVyIG9mIEx1YSBzdGFj ayBzbG90cyB0aGF0IGEgQyBmdW5jdGlvbgotK0AqIGNhbiB1c2UuCi0rKiogQ0hBTkdFIGl0IGlm IHlvdSBuZWVkIGxvdHMgb2YgKEx1YSkgc3RhY2sgc3BhY2UgZm9yIHlvdXIgQwotKyoqIGZ1bmN0 aW9ucy4gVGhpcyBsaW1pdCBpcyBhcmJpdHJhcnk7IGl0cyBvbmx5IHB1cnBvc2UgaXMgdG8gc3Rv cCBDCi0rKiogZnVuY3Rpb25zIHRvIGNvbnN1bWUgdW5saW1pdGVkIHN0YWNrIHNwYWNlLgotKyov Ci0rI2RlZmluZSBMVUFJX01BWENTVEFDSwkyMDQ4Ci0rCi0rCi0rCi0rLyoKLSsqKiB7PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0rKiogQ0hBTkdFICh0byBzbWFsbGVyIHZhbHVlcykgdGhlIGZvbGxvd2luZyBkZWZpbml0 aW9ucyBpZiB5b3VyIHN5c3RlbQotKyoqIGhhcyBhIHNtYWxsIEMgc3RhY2suIChPciB5b3UgbWF5 IHdhbnQgdG8gY2hhbmdlIHRoZW0gdG8gbGFyZ2VyCi0rKiogdmFsdWVzIGlmIHlvdXIgc3lzdGVt IGhhcyBhIGxhcmdlIEMgc3RhY2sgYW5kIHRoZXNlIGxpbWl0cyBhcmUKLSsqKiB0b28gcmlnaWQg Zm9yIHlvdS4pIFNvbWUgb2YgdGhlc2UgY29uc3RhbnRzIGNvbnRyb2wgdGhlIHNpemUgb2YKLSsq KiBzdGFjay1hbGxvY2F0ZWQgYXJyYXlzIHVzZWQgYnkgdGhlIGNvbXBpbGVyIG9yIHRoZSBpbnRl cnByZXRlciwgd2hpbGUKLSsqKiBvdGhlcnMgbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJl Y3Vyc2l2ZSBjYWxscyB0aGF0IHRoZSBjb21waWxlcgotKyoqIG9yIHRoZSBpbnRlcnByZXRlciBj YW4gcGVyZm9ybS4gVmFsdWVzIHRvbyBsYXJnZSBtYXkgY2F1c2UgYSBDIHN0YWNrCi0rKiogb3Zl cmZsb3cgZm9yIHNvbWUgZm9ybXMgb2YgZGVlcCBjb25zdHJ1Y3RzLgotKyoqID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LSsqLwotKwotKwotKy8qCi0rQEAgTFVBSV9NQVhDQ0FMTFMgaXMgdGhlIG1heGltdW0gZGVwdGgg Zm9yIG5lc3RlZCBDIGNhbGxzIChzaG9ydCkgYW5kCi0rQCogc3ludGFjdGljYWwgbmVzdGVkIG5v bi10ZXJtaW5hbHMgaW4gYSBwcm9ncmFtLgotKyovCi0rI2RlZmluZSBMVUFJX01BWENDQUxMUwkJ MjAwCi0rCi0rCi0rLyoKLStAQCBMVUFJX01BWFZBUlMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9m IGxvY2FsIHZhcmlhYmxlcyBwZXIgZnVuY3Rpb24KLStAKiAobXVzdCBiZSBzbWFsbGVyIHRoYW4g MjUwKS4KLSsqLwotKyNkZWZpbmUgTFVBSV9NQVhWQVJTCQkyMDAKLSsKLSsKLSsvKgotK0BAIExV QUlfTUFYVVBWQUxVRVMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHVwdmFsdWVzIHBlciBmdW5j dGlvbgotK0AqIChtdXN0IGJlIHNtYWxsZXIgdGhhbiAyNTApLgotKyovCi0rI2RlZmluZSBMVUFJ X01BWFVQVkFMVUVTCTYwCi0rCi0rCi0rLyoKLStAQCBMVUFMX0JVRkZFUlNJWkUgaXMgdGhlIGJ1 ZmZlciBzaXplIHVzZWQgYnkgdGhlIGxhdXhsaWIgYnVmZmVyIHN5c3RlbS4KLSsqLwotKyNkZWZp bmUgTFVBTF9CVUZGRVJTSVpFCQlCVUZTSVoKLSsKLSsvKiB9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0rCi0rCi0r Ci0rCi0rLyoKLSsqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0rQEAgTFVBX05VTUJFUiBpcyB0aGUgdHlwZSBvZiBu dW1iZXJzIGluIEx1YS4KLSsqKiBDSEFOR0UgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBvbmx5 IGlmIHlvdSB3YW50IHRvIGJ1aWxkIEx1YQotKyoqIHdpdGggYSBudW1iZXIgdHlwZSBkaWZmZXJl bnQgZnJvbSBkb3VibGUuIFlvdSBtYXkgYWxzbyBuZWVkIHRvCi0rKiogY2hhbmdlIGx1YV9udW1i ZXIyaW50ICYgbHVhX251bWJlcjJpbnRlZ2VyLgotKyoqID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsqLwotKwotKyNk ZWZpbmUgTFVBX05VTUJFUl9ET1VCTEUKLSsjZGVmaW5lIExVQV9OVU1CRVIJZG91YmxlCi0rCi0r LyoKLStAQCBMVUFJX1VBQ05VTUJFUiBpcyB0aGUgcmVzdWx0IG9mIGFuICd1c3VhbCBhcmd1bWVu dCBjb252ZXJzaW9uJwotK0AqIG92ZXIgYSBudW1iZXIuCi0rKi8KLSsjZGVmaW5lIExVQUlfVUFD TlVNQkVSCWRvdWJsZQotKwotKwotKy8qCi0rQEAgTFVBX05VTUJFUl9TQ0FOIGlzIHRoZSBmb3Jt YXQgZm9yIHJlYWRpbmcgbnVtYmVycy4KLStAQCBMVUFfTlVNQkVSX0ZNVCBpcyB0aGUgZm9ybWF0 IGZvciB3cml0aW5nIG51bWJlcnMuCi0rQEAgbHVhX251bWJlcjJzdHIgY29udmVydHMgYSBudW1i ZXIgdG8gYSBzdHJpbmcuCi0rQEAgTFVBSV9NQVhOVU1CRVIyU1RSIGlzIG1heGltdW0gc2l6ZSBv ZiBwcmV2aW91cyBjb252ZXJzaW9uLgotK0BAIGx1YV9zdHIybnVtYmVyIGNvbnZlcnRzIGEgc3Ry aW5nIHRvIGEgbnVtYmVyLgotKyovCi0rI2RlZmluZSBMVUFfTlVNQkVSX1NDQU4JCSIlbGYiCi0r I2RlZmluZSBMVUFfTlVNQkVSX0ZNVAkJIiUuMTRnIgotKyNkZWZpbmUgbHVhX251bWJlcjJzdHIo cyxuKQlzcHJpbnRmKChzKSwgTFVBX05VTUJFUl9GTVQsIChuKSkKLSsjZGVmaW5lIExVQUlfTUFY TlVNQkVSMlNUUgkzMiAvKiAxNiBkaWdpdHMsIHNpZ24sIHBvaW50LCBhbmQgXDAgKi8KLSsjZGVm aW5lIGx1YV9zdHIybnVtYmVyKHMscCkJc3RydG9kKChzKSwgKHApKQotKwotKwotKy8qCi0rQEAg VGhlIGx1YWlfbnVtKiBtYWNyb3MgZGVmaW5lIHRoZSBwcmltaXRpdmUgb3BlcmF0aW9ucyBvdmVy IG51bWJlcnMuCi0rKi8KLSsjaWYgZGVmaW5lZChMVUFfQ09SRSkKLSsjaW5jbHVkZSA8bWF0aC5o PgotKyNkZWZpbmUgbHVhaV9udW1hZGQoYSxiKQkoKGEpKyhiKSkKLSsjZGVmaW5lIGx1YWlfbnVt c3ViKGEsYikJKChhKS0oYikpCi0rI2RlZmluZSBsdWFpX251bW11bChhLGIpCSgoYSkqKGIpKQot KyNkZWZpbmUgbHVhaV9udW1kaXYoYSxiKQkoKGEpLyhiKSkKLSsjZGVmaW5lIGx1YWlfbnVtbW9k KGEsYikJKChhKSAtIGZsb29yKChhKS8oYikpKihiKSkKLSsjZGVmaW5lIGx1YWlfbnVtcG93KGEs YikJKHBvdyhhLGIpKQotKyNkZWZpbmUgbHVhaV9udW11bm0oYSkJCSgtKGEpKQotKyNkZWZpbmUg bHVhaV9udW1lcShhLGIpCQkoKGEpPT0oYikpCi0rI2RlZmluZSBsdWFpX251bWx0KGEsYikJCSgo YSk8KGIpKQotKyNkZWZpbmUgbHVhaV9udW1sZShhLGIpCQkoKGEpPD0oYikpCi0rI2RlZmluZSBs dWFpX251bWlzbmFuKGEpCSghbHVhaV9udW1lcSgoYSksIChhKSkpCi0rI2VuZGlmCi0rCi0rCi0r LyoKLStAQCBsdWFfbnVtYmVyMmludCBpcyBhIG1hY3JvIHRvIGNvbnZlcnQgbHVhX051bWJlciB0 byBpbnQuCi0rQEAgbHVhX251bWJlcjJpbnRlZ2VyIGlzIGEgbWFjcm8gdG8gY29udmVydCBsdWFf TnVtYmVyIHRvIGx1YV9JbnRlZ2VyLgotKyoqIENIQU5HRSB0aGVtIGlmIHlvdSBrbm93IGEgZmFz dGVyIHdheSB0byBjb252ZXJ0IGEgbHVhX051bWJlciB0bwotKyoqIGludCAod2l0aCBhbnkgcm91 bmRpbmcgbWV0aG9kIGFuZCB3aXRob3V0IHRocm93aW5nIGVycm9ycykgaW4geW91cgotKyoqIHN5 c3RlbS4gSW4gUGVudGl1bSBtYWNoaW5lcywgYSBuYWl2ZSB0eXBlY2FzdCBmcm9tIGRvdWJsZSB0 byBpbnQKLSsqKiBpbiBDIGlzIGV4dHJlbWVseSBzbG93LCBzbyBhbnkgYWx0ZXJuYXRpdmUgaXMg d29ydGggdHJ5aW5nLgotKyovCi0rCi0rLyogT24gYSBQZW50aXVtLCByZXNvcnQgdG8gYSB0cmlj ayAqLwotKyNpZiBkZWZpbmVkKExVQV9OVU1CRVJfRE9VQkxFKSAmJiAhZGVmaW5lZChMVUFfQU5T SSkgJiYgIWRlZmluZWQoX19TU0UyX18pICYmIFwKLSsgICAgKGRlZmluZWQoX19pMzg2KSB8fCBk ZWZpbmVkIChfTV9JWDg2KSB8fCBkZWZpbmVkKF9faTM4Nl9fKSkKLSsKLSsvKiBPbiBhIE1pY3Jv c29mdCBjb21waWxlciwgdXNlIGFzc2VtYmxlciAqLwotKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQot KwotKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKSAgIF9fYXNtIGZsZCBkICAgX19hc20gZmlz dHAgaQotKyNkZWZpbmUgbHVhX251bWJlcjJpbnRlZ2VyKGksbikJCWx1YV9udW1iZXIyaW50KGks IG4pCi0rCi0rLyogdGhlIG5leHQgdHJpY2sgc2hvdWxkIHdvcmsgb24gYW55IFBlbnRpdW0sIGJ1 dCBzb21ldGltZXMgY2xhc2hlcwotKyAgIHdpdGggYSBEaXJlY3RYIGlkaW9zeW5jcmFzeSAqLwot KyNlbHNlCi0rCi0rdW5pb24gbHVhaV9DYXN0IHsgZG91YmxlIGxfZDsgbG9uZyBsX2w7IH07Ci0r I2RlZmluZSBsdWFfbnVtYmVyMmludChpLGQpIFwKLSsgIHsgdm9sYXRpbGUgdW5pb24gbHVhaV9D YXN0IHU7IHUubF9kID0gKGQpICsgNjc1NTM5OTQ0MTA1NTc0NC4wOyAoaSkgPSB1LmxfbDsgfQot KyNkZWZpbmUgbHVhX251bWJlcjJpbnRlZ2VyKGksbikJCWx1YV9udW1iZXIyaW50KGksIG4pCi0r Ci0rI2VuZGlmCi0rCi0rCi0rLyogdGhpcyBvcHRpb24gYWx3YXlzIHdvcmtzLCBidXQgbWF5IGJl IHNsb3cgKi8KLSsjZWxzZQotKyNkZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKQkoKGkpPShpbnQp KGQpKQotKyNkZWZpbmUgbHVhX251bWJlcjJpbnRlZ2VyKGksZCkJKChpKT0obHVhX0ludGVnZXIp KGQpKQotKwotKyNlbmRpZgotKwotKy8qIH09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLSsKLSsKLSsvKgotK0BAIExV QUlfVVNFUl9BTElHTk1FTlRfVCBpcyBhIHR5cGUgdGhhdCByZXF1aXJlcyBtYXhpbXVtIGFsaWdu bWVudC4KLSsqKiBDSEFOR0UgaXQgaWYgeW91ciBzeXN0ZW0gcmVxdWlyZXMgYWxpZ25tZW50cyBs YXJnZXIgdGhhbiBkb3VibGUuIChGb3IKLSsqKiBpbnN0YW5jZSwgaWYgeW91ciBzeXN0ZW0gc3Vw cG9ydHMgbG9uZyBkb3VibGVzIGFuZCB0aGV5IG11c3QgYmUKLSsqKiBhbGlnbmVkIGluIDE2LWJ5 dGUgYm91bmRhcmllcywgdGhlbiB5b3Ugc2hvdWxkIGFkZCBsb25nIGRvdWJsZSBpbiB0aGUKLSsq KiB1bmlvbi4pIFByb2JhYmx5IHlvdSBkbyBub3QgbmVlZCB0byBjaGFuZ2UgdGhpcy4KLSsqLwot KyNkZWZpbmUgTFVBSV9VU0VSX0FMSUdOTUVOVF9UCXVuaW9uIHsgZG91YmxlIHU7IHZvaWQgKnM7 IGxvbmcgbDsgfQotKwotKwotKy8qCi0rQEAgTFVBSV9USFJPVy9MVUFJX1RSWSBkZWZpbmUgaG93 IEx1YSBkb2VzIGV4Y2VwdGlvbiBoYW5kbGluZy4KLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3UgcHJl ZmVyIHRvIHVzZSBsb25nam1wL3NldGptcCBldmVuIHdpdGggQysrCi0rKiogb3IgaWYgd2FudC9k b24ndCB0byB1c2UgX2xvbmdqbXAvX3NldGptcCBpbnN0ZWFkIG9mIHJlZ3VsYXIKLSsqKiBsb25n am1wL3NldGptcC4gQnkgZGVmYXVsdCwgTHVhIGhhbmRsZXMgZXJyb3JzIHdpdGggZXhjZXB0aW9u cyB3aGVuCi0rKiogY29tcGlsaW5nIGFzIEMrKyBjb2RlLCB3aXRoIF9sb25nam1wL19zZXRqbXAg d2hlbiBhc2tlZCB0byB1c2UgdGhlbSwKLSsqKiBhbmQgd2l0aCBsb25nam1wL3NldGptcCBvdGhl cndpc2UuCi0rKi8KLSsjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKLSsvKiBDKysgZXhjZXB0aW9u cyAqLwotKyNkZWZpbmUgTFVBSV9USFJPVyhMLGMpCXRocm93KGMpCi0rI2RlZmluZSBMVUFJX1RS WShMLGMsYSkJdHJ5IHsgYSB9IGNhdGNoKC4uLikgXAotKwl7IGlmICgoYyktPnN0YXR1cyA9PSAw KSAoYyktPnN0YXR1cyA9IC0xOyB9Ci0rI2RlZmluZSBsdWFpX2ptcGJ1ZglpbnQgIC8qIGR1bW15 IHZhcmlhYmxlICovCi0rCi0rI2VsaWYgZGVmaW5lZChMVUFfVVNFX1VMT05HSk1QKQotKy8qIGlu IFVuaXgsIHRyeSBfbG9uZ2ptcC9fc2V0am1wIChtb3JlIGVmZmljaWVudCkgKi8KLSsjZGVmaW5l IExVQUlfVEhST1coTCxjKQlfbG9uZ2ptcCgoYyktPmIsIDEpCi0rI2RlZmluZSBMVUFJX1RSWShM LGMsYSkJaWYgKF9zZXRqbXAoKGMpLT5iKSA9PSAwKSB7IGEgfQotKyNkZWZpbmUgbHVhaV9qbXBi dWYJam1wX2J1ZgotKwotKyNlbHNlCi0rLyogZGVmYXVsdCBoYW5kbGluZyB3aXRoIGxvbmcganVt cHMgKi8KLSsjZGVmaW5lIExVQUlfVEhST1coTCxjKQlsb25nam1wKChjKS0+YiwgMSkKLSsjZGVm aW5lIExVQUlfVFJZKEwsYyxhKQlpZiAoc2V0am1wKChjKS0+YikgPT0gMCkgeyBhIH0KLSsjZGVm aW5lIGx1YWlfam1wYnVmCWptcF9idWYKLSsKLSsjZW5kaWYKLSsKLSsKLSsvKgotK0BAIExVQV9N QVhDQVBUVVJFUyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2FwdHVyZXMgdGhhdCBhIHBhdHRl cm4KLStAKiBjYW4gZG8gZHVyaW5nIHBhdHRlcm4tbWF0Y2hpbmcuCi0rKiogQ0hBTkdFIGl0IGlm IHlvdSBuZWVkIG1vcmUgY2FwdHVyZXMuIFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5LgotKyovCi0r I2RlZmluZSBMVUFfTUFYQ0FQVFVSRVMJCTMyCi0rCi0rCi0rLyoKLStAQCBsdWFfdG1wbmFtIGlz IHRoZSBmdW5jdGlvbiB0aGF0IHRoZSBPUyBsaWJyYXJ5IHVzZXMgdG8gY3JlYXRlIGEKLStAKiB0 ZW1wb3JhcnkgbmFtZS4KLStAQCBMVUFfVE1QTkFNQlVGU0laRSBpcyB0aGUgbWF4aW11bSBzaXpl IG9mIGEgbmFtZSBjcmVhdGVkIGJ5IGx1YV90bXBuYW0uCi0rKiogQ0hBTkdFIHRoZW0gaWYgeW91 IGhhdmUgYW4gYWx0ZXJuYXRpdmUgdG8gdG1wbmFtICh3aGljaCBpcyBjb25zaWRlcmVkCi0rKiog aW5zZWN1cmUpIG9yIGlmIHlvdSB3YW50IHRoZSBvcmlnaW5hbCB0bXBuYW0gYW55d2F5LiAgQnkg ZGVmYXVsdCwgTHVhCi0rKiogdXNlcyB0bXBuYW0gZXhjZXB0IHdoZW4gUE9TSVggaXMgYXZhaWxh YmxlLCB3aGVyZSBpdCB1c2VzIG1rc3RlbXAuCi0rKi8KLSsjaWYgZGVmaW5lZChsb3NsaWJfYykg fHwgZGVmaW5lZChsdWFhbGxfYykKLSsKLSsjaWYgZGVmaW5lZChMVUFfVVNFX01LU1RFTVApCi0r I2luY2x1ZGUgPHVuaXN0ZC5oPgotKyNkZWZpbmUgTFVBX1RNUE5BTUJVRlNJWkUJMzIKLSsjZGVm aW5lIGx1YV90bXBuYW0oYixlKQl7IFwKLSsJc3RyY3B5KGIsICIvdG1wL2x1YV9YWFhYWFgiKTsg XAotKwllID0gbWtzdGVtcChiKTsgXAotKwlpZiAoZSAhPSAtMSkgY2xvc2UoZSk7IFwKLSsJZSA9 IChlID09IC0xKTsgfQotKwotKyNlbHNlCi0rI2RlZmluZSBMVUFfVE1QTkFNQlVGU0laRQlMX3Rt cG5hbQotKyNkZWZpbmUgbHVhX3RtcG5hbShiLGUpCQl7IGUgPSAodG1wbmFtKGIpID09IE5VTEwp OyB9Ci0rI2VuZGlmCi0rCi0rI2VuZGlmCi0rCi0rCi0rLyoKLStAQCBsdWFfcG9wZW4gc3Bhd25z IGEgbmV3IHByb2Nlc3MgY29ubmVjdGVkIHRvIHRoZSBjdXJyZW50IG9uZSB0aHJvdWdoCi0rQCog dGhlIGZpbGUgc3RyZWFtcy4KLSsqKiBDSEFOR0UgaXQgaWYgeW91IGhhdmUgYSB3YXkgdG8gaW1w bGVtZW50IGl0IGluIHlvdXIgc3lzdGVtLgotKyovCi0rI2lmIGRlZmluZWQoTFVBX1VTRV9QT1BF TikKLSsKLSsjZGVmaW5lIGx1YV9wb3BlbihMLGMsbSkJKCh2b2lkKUwsIHBvcGVuKGMsbSkpCi0r I2RlZmluZSBsdWFfcGNsb3NlKEwsZmlsZSkJKCh2b2lkKUwsIChwY2xvc2UoZmlsZSkgIT0gLTEp KQotKwotKyNlbGlmIGRlZmluZWQoTFVBX1dJTikKLSsKLSsjZGVmaW5lIGx1YV9wb3BlbihMLGMs bSkJKCh2b2lkKUwsIF9wb3BlbihjLG0pKQotKyNkZWZpbmUgbHVhX3BjbG9zZShMLGZpbGUpCSgo dm9pZClMLCAoX3BjbG9zZShmaWxlKSAhPSAtMSkpCi0rCi0rI2Vsc2UKLSsKLSsjZGVmaW5lIGx1 YV9wb3BlbihMLGMsbSkJKCh2b2lkKSgodm9pZCljLCBtKSwgIFwKLSsJCWx1YUxfZXJyb3IoTCwg TFVBX1FMKCJwb3BlbiIpICIgbm90IHN1cHBvcnRlZCIpLCAoRklMRSopMCkKLSsjZGVmaW5lIGx1 YV9wY2xvc2UoTCxmaWxlKQkJKCh2b2lkKSgodm9pZClMLCBmaWxlKSwgMCkKLSsKLSsjZW5kaWYK LSsKLSsvKgotK0BAIExVQV9ETF8qIGRlZmluZSB3aGljaCBkeW5hbWljLWxpYnJhcnkgc3lzdGVt IEx1YSBzaG91bGQgdXNlLgotKyoqIENIQU5HRSBoZXJlIGlmIEx1YSBoYXMgcHJvYmxlbXMgY2hv b3NpbmcgdGhlIGFwcHJvcHJpYXRlCi0rKiogZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBmb3IgeW91 ciBwbGF0Zm9ybSAoZWl0aGVyIFdpbmRvd3MnIERMTCwgTWFjJ3MKLSsqKiBkeWxkLCBvciBVbml4 J3MgZGxvcGVuKS4gSWYgeW91ciBzeXN0ZW0gaXMgc29tZSBraW5kIG9mIFVuaXgsIHRoZXJlCi0r KiogaXMgYSBnb29kIGNoYW5jZSB0aGF0IGl0IGhhcyBkbG9wZW4sIHNvIExVQV9ETF9ETE9QRU4g d2lsbCB3b3JrIGZvcgotKyoqIGl0LiAgVG8gdXNlIGRsb3BlbiB5b3UgYWxzbyBuZWVkIHRvIGFk YXB0IHRoZSBzcmMvTWFrZWZpbGUgKHByb2JhYmx5Ci0rKiogYWRkaW5nIC1sZGwgdG8gdGhlIGxp bmtlciBvcHRpb25zKSwgc28gTHVhIGRvZXMgbm90IHNlbGVjdCBpdAotKyoqIGF1dG9tYXRpY2Fs bHkuICAoV2hlbiB5b3UgY2hhbmdlIHRoZSBtYWtlZmlsZSB0byBhZGQgLWxkbCwgeW91IG11c3QK LSsqKiBhbHNvIGFkZCAtRExVQV9VU0VfRExPUEVOLikKLSsqKiBJZiB5b3UgZG8gbm90IHdhbnQg YW55IGtpbmQgb2YgZHluYW1pYyBsaWJyYXJ5LCB1bmRlZmluZSBhbGwgdGhlc2UKLSsqKiBvcHRp b25zLgotKyoqIEJ5IGRlZmF1bHQsIF9XSU4zMiBnZXRzIExVQV9ETF9ETEwgYW5kIE1BQyBPUyBY IGdldHMgTFVBX0RMX0RZTEQuCi0rKi8KLSsjaWYgZGVmaW5lZChMVUFfVVNFX0RMT1BFTikKLSsj ZGVmaW5lIExVQV9ETF9ETE9QRU4KLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChMVUFfV0lOKQot KyNkZWZpbmUgTFVBX0RMX0RMTAotKyNlbmRpZgotKwotKwotKy8qCi0rQEAgTFVBSV9FWFRSQVNQ QUNFIGFsbG93cyB5b3UgdG8gYWRkIHVzZXItc3BlY2lmaWMgZGF0YSBpbiBhIGx1YV9TdGF0ZQot K0AqICh0aGUgZGF0YSBnb2VzIGp1c3QgKmJlZm9yZSogdGhlIGx1YV9TdGF0ZSBwb2ludGVyKS4K LSsqKiBDSEFOR0UgKGRlZmluZSkgdGhpcyBpZiB5b3UgcmVhbGx5IG5lZWQgdGhhdC4gVGhpcyB2 YWx1ZSBtdXN0IGJlCi0rKiogYSBtdWx0aXBsZSBvZiB0aGUgbWF4aW11bSBhbGlnbm1lbnQgcmVx dWlyZWQgZm9yIHlvdXIgbWFjaGluZS4KLSsqLwotKyNkZWZpbmUgTFVBSV9FWFRSQVNQQUNFCQkw Ci0rCi0rCi0rLyoKLStAQCBsdWFpX3VzZXJzdGF0ZSogYWxsb3cgdXNlci1zcGVjaWZpYyBhY3Rp b25zIG9uIHRocmVhZHMuCi0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IGRlZmluZWQgTFVBSV9FWFRS QVNQQUNFIGFuZCBuZWVkIHRvIGRvIHNvbWV0aGluZwotKyoqIGV4dHJhIHdoZW4gYSB0aHJlYWQg aXMgY3JlYXRlZC9kZWxldGVkL3Jlc3VtZWQveWllbGRlZC4KLSsqLwotKyNkZWZpbmUgbHVhaV91 c2Vyc3RhdGVvcGVuKEwpCQkoKHZvaWQpTCkKLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlY2xvc2Uo TCkJCSgodm9pZClMKQotKyNkZWZpbmUgbHVhaV91c2Vyc3RhdGV0aHJlYWQoTCxMMSkJKCh2b2lk KUwpCi0rI2RlZmluZSBsdWFpX3VzZXJzdGF0ZWZyZWUoTCkJCSgodm9pZClMKQotKyNkZWZpbmUg bHVhaV91c2Vyc3RhdGVyZXN1bWUoTCxuKQkoKHZvaWQpTCkKLSsjZGVmaW5lIGx1YWlfdXNlcnN0 YXRleWllbGQoTCxuKQkoKHZvaWQpTCkKLSsKLSsKLSsvKgotK0BAIExVQV9JTlRGUk1MRU4gaXMg dGhlIGxlbmd0aCBtb2RpZmllciBmb3IgaW50ZWdlciBjb252ZXJzaW9ucwotK0AqIGluICdzdHJp bmcuZm9ybWF0Jy4KLStAQCBMVUFfSU5URlJNX1QgaXMgdGhlIGludGVnZXIgdHlwZSBjb3JyZXNw b2RpbmcgdG8gdGhlIHByZXZpb3VzIGxlbmd0aAotK0AqIG1vZGlmaWVyLgotKyoqIENIQU5HRSB0 aGVtIGlmIHlvdXIgc3lzdGVtIHN1cHBvcnRzIGxvbmcgbG9uZyBvciBkb2VzIG5vdCBzdXBwb3J0 IGxvbmcuCi0rKi8KLSsKLSsjaWYgZGVmaW5lZChMVUFfVVNFTE9OR0xPTkcpCi0rCi0rI2RlZmlu ZSBMVUFfSU5URlJNTEVOCQkibGwiCi0rI2RlZmluZSBMVUFfSU5URlJNX1QJCWxvbmcgbG9uZwot KwotKyNlbHNlCi0rCi0rI2RlZmluZSBMVUFfSU5URlJNTEVOCQkibCIKLSsjZGVmaW5lIExVQV9J TlRGUk1fVAkJbG9uZwotKwotKyNlbmRpZgotKwotKwotKwotKy8qID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLSsK LSsvKgotKyoqIExvY2FsIGNvbmZpZ3VyYXRpb24uIFlvdSBjYW4gdXNlIHRoaXMgc3BhY2UgdG8g YWRkIHlvdXIgcmVkZWZpbml0aW9ucwotKyoqIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBtYWluIHBh cnQgb2YgdGhlIGZpbGUuCi0rKi8KLSsKLSsKLSsKLSsjZW5kaWYKLSsKZGlmZiAtLWdpdCBhL3Bh dGNoZXMvbHVhLTUuMS40L3NlcmllcyBiL3BhdGNoZXMvbHVhLTUuMS40L3NlcmllcwpkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ2ZTgxOTE4Li4wMDAwMDAwMDAKLS0tIGEvcGF0Y2hl cy9sdWEtNS4xLjQvc2VyaWVzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotIyBnZW5l cmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCi0jIHVwc3RyZWFtIGlzc3VlcyB3aXRoIG5vIGNvbnRl bnQKLSMwMDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gt THVhLnBhdGNoCi0jMDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQt cmV0dXJuLXRvby1tLnBhdGNoCi0jdGFnOnVwc3RyZWFtIC0tc3RhcnQtbnVtYmVyIDMKLTAwMDMt V3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRj aAotMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEtcmVmZXJlbmNlLXRvLWEtdGFi bGUtLnBhdGNoCi0wMDA1LWRlYnVnLmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hldGhlci1pdC1o YXMtYW4tYXJndW0ucGF0Y2gKLTAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1h bmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaAotMDAwNy1zdHJpbmcuZm9ybWF0LW1heS1nZXQtYnVm ZmVyLWFzLWFuLWFyZ3VtZW50LXdoZW4tdGhlLnBhdGNoCi0wMDA4LWlvLnJlYWQtbi1uLW1heS1y ZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5wYXRjaAotMDAwOS1Xcm9uZy1jb2Rl LWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCi0wMDEwLV9f bmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gK LTAwMTEtUGFyc2VyLW1heS1jb2xsZWN0LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5nLWl0LnBh dGNoCi0jdGFnOmF1dG90b29scyAtLXN0YXJ0LW51bWJlciAxMDAKLTAxMDAtQWRkLWx1YS1zdXBw b3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCi0wMTAxLUFkZC1s dWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoCi0wMTAy LUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNo Ci0jIDhiOTA5MDRiMGE1OTIzMDMzNDNhNTdiZDYzNWUyZWY4ICAtIGdpdC1wdHgtcGF0Y2hlcyBt YWdpYwpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4zLjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQt dG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2ggYi9wYXRjaGVzL2x1YS01 LjMuNC8wMTAxLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtl ZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjM5N2IwZDQw MgotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDEtQWRkLWx1YS1zdXBw b3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEs MTM5IEBACitGcm9tOiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXguZGU+ CitEYXRlOiBUdWUsIDQgSnVsIDIwMTcgMjA6Mzk6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g QWRkIGx1YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OTogcmVtb3ZlIG9sZCBNYWtlZmlsZQorCitU aGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUg ZW50cnkgdW5kZXIKK3NjcmlwdGluZyBsYW5ndWFnZXMuIEFuZCBhIHBhdGNoIHRoYXQgbWFrZXMg aXQgcG9zc2libGUgdG8gdXNlIGF1dG9jb25mCit0byBidWlsZC4KKworVGhpcyBwYXJ0IG9mIHRo ZSBwYXRjaCByZW1vdmVzIHRoZSBvbGQgTWFrZWZpbGUuCisKK1NpZ25lZC1vZmYtYnk6IEVyd2lu IFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVs IDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgorW3BvcnRlZCBmcm9tIDUuMS40IHRvIDUuMy40 XQorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4 LmRlPgorLS0tCisgTWFrZWZpbGUgfCAxMTQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExNCBk ZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUKKworZGlmZiAtLWdpdCBh L01ha2VmaWxlIGIvTWFrZWZpbGUKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMTE5 MTEwZDJmMDEwLi4wMDAwMDAwMDAwMDAKKy0tLSBhL01ha2VmaWxlCisrKysgL2Rldi9udWxsCitA QCAtMSwxMTQgKzAsMCBAQAorLSMgTWFrZWZpbGUgZm9yIGluc3RhbGxpbmcgTHVhCistIyBTZWUg ZG9jL3JlYWRtZS5odG1sIGZvciBpbnN0YWxsYXRpb24gYW5kIGN1c3RvbWl6YXRpb24gaW5zdHJ1 Y3Rpb25zLgorLQorLSMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBTVUlUIFlPVVIg RU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy0jIFlvdXIgcGxhdGZvcm0u IFNlZSBQTEFUUyBmb3IgcG9zc2libGUgdmFsdWVzLgorLVBMQVQ9IG5vbmUKKy0KKy0jIFdoZXJl IHRvIGluc3RhbGwuIFRoZSBpbnN0YWxsYXRpb24gc3RhcnRzIGluIHRoZSBzcmMgYW5kIGRvYyBk aXJlY3RvcmllcywKKy0jIHNvIHRha2UgY2FyZSBpZiBJTlNUQUxMX1RPUCBpcyBub3QgYW4gYWJz b2x1dGUgcGF0aC4gU2VlIHRoZSBsb2NhbCB0YXJnZXQuCistIyBZb3UgbWF5IHdhbnQgdG8gbWFr ZSBJTlNUQUxMX0xNT0QgYW5kIElOU1RBTExfQ01PRCBjb25zaXN0ZW50IHdpdGgKKy0jIExVQV9S T09ULCBMVUFfTERJUiwgYW5kIExVQV9DRElSIGluIGx1YWNvbmYuaC4KKy1JTlNUQUxMX1RPUD0g L3Vzci9sb2NhbAorLUlOU1RBTExfQklOPSAkKElOU1RBTExfVE9QKS9iaW4KKy1JTlNUQUxMX0lO Qz0gJChJTlNUQUxMX1RPUCkvaW5jbHVkZQorLUlOU1RBTExfTElCPSAkKElOU1RBTExfVE9QKS9s aWIKKy1JTlNUQUxMX01BTj0gJChJTlNUQUxMX1RPUCkvbWFuL21hbjEKKy1JTlNUQUxMX0xNT0Q9 ICQoSU5TVEFMTF9UT1ApL3NoYXJlL2x1YS8kVgorLUlOU1RBTExfQ01PRD0gJChJTlNUQUxMX1RP UCkvbGliL2x1YS8kVgorLQorLSMgSG93IHRvIGluc3RhbGwuIElmIHlvdXIgaW5zdGFsbCBwcm9n cmFtIGRvZXMgbm90IHN1cHBvcnQgIi1wIiwgdGhlbgorLSMgeW91IG1heSBoYXZlIHRvIHJ1biBy YW5saWIgb24gdGhlIGluc3RhbGxlZCBsaWJsdWEuYS4KKy1JTlNUQUxMPSBpbnN0YWxsIC1wCist SU5TVEFMTF9FWEVDPSAkKElOU1RBTEwpIC1tIDA3NTUKKy1JTlNUQUxMX0RBVEE9ICQoSU5TVEFM TCkgLW0gMDY0NAorLSMKKy0jIElmIHlvdSBkb24ndCBoYXZlICJpbnN0YWxsIiB5b3UgY2FuIHVz ZSAiY3AiIGluc3RlYWQuCistIyBJTlNUQUxMPSBjcCAtcAorLSMgSU5TVEFMTF9FWEVDPSAkKElO U1RBTEwpCistIyBJTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkKKy0KKy0jIE90aGVyIHV0aWxpdGll cy4KKy1NS0RJUj0gbWtkaXIgLXAKKy1STT0gcm0gLWYKKy0KKy0jID09IEVORCBPRiBVU0VSIFNF VFRJTkdTIC0tIE5PIE5FRUQgVE8gQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9PT09 PT09CistCistIyBDb252ZW5pZW5jZSBwbGF0Zm9ybXMgdGFyZ2V0cy4KKy1QTEFUUz0gYWl4IGJz ZCBjODkgZnJlZWJzZCBnZW5lcmljIGxpbnV4IG1hY29zeCBtaW5ndyBwb3NpeCBzb2xhcmlzCist CistIyBXaGF0IHRvIGluc3RhbGwuCistVE9fQklOPSBsdWEgbHVhYworLVRPX0lOQz0gbHVhLmgg bHVhY29uZi5oIGx1YWxpYi5oIGxhdXhsaWIuaCBsdWEuaHBwCistVE9fTElCPSBsaWJsdWEuYQor LVRPX01BTj0gbHVhLjEgbHVhYy4xCistCistIyBMdWEgdmVyc2lvbiBhbmQgcmVsZWFzZS4KKy1W PSA1LjMKKy1SPSAkVi40CistCistIyBUYXJnZXRzIHN0YXJ0IGhlcmUuCistYWxsOgkkKFBMQVQp CistCistJChQTEFUUykgY2xlYW46CistCWNkIHNyYyAmJiAkKE1BS0UpICRACistCistdGVzdDoJ ZHVtbXkKKy0Jc3JjL2x1YSAtdgorLQorLWluc3RhbGw6IGR1bW15CistCWNkIHNyYyAmJiAkKE1L RElSKSAkKElOU1RBTExfQklOKSAkKElOU1RBTExfSU5DKSAkKElOU1RBTExfTElCKSAkKElOU1RB TExfTUFOKSAkKElOU1RBTExfTE1PRCkgJChJTlNUQUxMX0NNT0QpCistCWNkIHNyYyAmJiAkKElO U1RBTExfRVhFQykgJChUT19CSU4pICQoSU5TVEFMTF9CSU4pCistCWNkIHNyYyAmJiAkKElOU1RB TExfREFUQSkgJChUT19JTkMpICQoSU5TVEFMTF9JTkMpCistCWNkIHNyYyAmJiAkKElOU1RBTExf REFUQSkgJChUT19MSUIpICQoSU5TVEFMTF9MSUIpCistCWNkIGRvYyAmJiAkKElOU1RBTExfREFU QSkgJChUT19NQU4pICQoSU5TVEFMTF9NQU4pCistCistdW5pbnN0YWxsOgorLQljZCBzcmMgJiYg Y2QgJChJTlNUQUxMX0JJTikgJiYgJChSTSkgJChUT19CSU4pCistCWNkIHNyYyAmJiBjZCAkKElO U1RBTExfSU5DKSAmJiAkKFJNKSAkKFRPX0lOQykKKy0JY2Qgc3JjICYmIGNkICQoSU5TVEFMTF9M SUIpICYmICQoUk0pICQoVE9fTElCKQorLQljZCBkb2MgJiYgY2QgJChJTlNUQUxMX01BTikgJiYg JChSTSkgJChUT19NQU4pCistCistbG9jYWw6CistCSQoTUFLRSkgaW5zdGFsbCBJTlNUQUxMX1RP UD0uLi9pbnN0YWxsCistCistbm9uZToKKy0JQGVjaG8gIlBsZWFzZSBkbyAnbWFrZSBQTEFURk9S TScgd2hlcmUgUExBVEZPUk0gaXMgb25lIG9mIHRoZXNlOiIKKy0JQGVjaG8gIiAgICQoUExBVFMp IgorLQlAZWNobyAiU2VlIGRvYy9yZWFkbWUuaHRtbCBmb3IgY29tcGxldGUgaW5zdHJ1Y3Rpb25z LiIKKy0KKy0jIG1ha2UgbWF5IGdldCBjb25mdXNlZCB3aXRoIHRlc3QvIGFuZCBpbnN0YWxsLwor LWR1bW15OgorLQorLSMgZWNobyBjb25maWcgcGFyYW1ldGVycworLWVjaG86CistCUBjZCBzcmMg JiYgJChNQUtFKSAtcyBlY2hvCistCUBlY2hvICJQTEFUPSAkKFBMQVQpIgorLQlAZWNobyAiVj0g JFYiCistCUBlY2hvICJSPSAkUiIKKy0JQGVjaG8gIlRPX0JJTj0gJChUT19CSU4pIgorLQlAZWNo byAiVE9fSU5DPSAkKFRPX0lOQykiCistCUBlY2hvICJUT19MSUI9ICQoVE9fTElCKSIKKy0JQGVj aG8gIlRPX01BTj0gJChUT19NQU4pIgorLQlAZWNobyAiSU5TVEFMTF9UT1A9ICQoSU5TVEFMTF9U T1ApIgorLQlAZWNobyAiSU5TVEFMTF9CSU49ICQoSU5TVEFMTF9CSU4pIgorLQlAZWNobyAiSU5T VEFMTF9JTkM9ICQoSU5TVEFMTF9JTkMpIgorLQlAZWNobyAiSU5TVEFMTF9MSUI9ICQoSU5TVEFM TF9MSUIpIgorLQlAZWNobyAiSU5TVEFMTF9NQU49ICQoSU5TVEFMTF9NQU4pIgorLQlAZWNobyAi SU5TVEFMTF9MTU9EPSAkKElOU1RBTExfTE1PRCkiCistCUBlY2hvICJJTlNUQUxMX0NNT0Q9ICQo SU5TVEFMTF9DTU9EKSIKKy0JQGVjaG8gIklOU1RBTExfRVhFQz0gJChJTlNUQUxMX0VYRUMpIgor LQlAZWNobyAiSU5TVEFMTF9EQVRBPSAkKElOU1RBTExfREFUQSkiCistCistIyBlY2hvIHBrZy1j b25maWcgZGF0YQorLXBjOgorLQlAZWNobyAidmVyc2lvbj0kUiIKKy0JQGVjaG8gInByZWZpeD0k KElOU1RBTExfVE9QKSIKKy0JQGVjaG8gImxpYmRpcj0kKElOU1RBTExfTElCKSIKKy0JQGVjaG8g ImluY2x1ZGVkaXI9JChJTlNUQUxMX0lOQykiCistCistIyBsaXN0IHRhcmdldHMgdGhhdCBkbyBu b3QgY3JlYXRlIGZpbGVzIChidXQgbm90IGFsbCBtYWtlcyB1bmRlcnN0YW5kIC5QSE9OWSkKKy0u UEhPTlk6IGFsbCAkKFBMQVRTKSBjbGVhbiB0ZXN0IGluc3RhbGwgbG9jYWwgbm9uZSBkdW1teSBl Y2hvIHBlY2hvIGxlY2hvCistCistIyAoZW5kIG9mIE1ha2VmaWxlKQpkaWZmIC0tZ2l0IGEvcGF0 Y2hlcy9sdWEtNS4zLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1h dXRvY29uZi1maWxlcy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDItQWRkLWx1YS1zdXBw b3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zZjJmZTFjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9w YXRjaGVzL2x1YS01LjMuNC8wMTAyLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRk LWF1dG9jb25mLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsOTM4IEBACitGcm9tOiBFcndpbiBSb2wg PGVyd2luQGVyd2lucm9sLmNvbT4KK0RhdGU6IEZyaSwgOSBEZWMgMjAxMSAxMTozMjoxMiArMDEw MAorU3ViamVjdDogW1BBVENIXSBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiBhZGQg YXV0b2NvbmYgZmlsZXMKKworVGhpcyBwYXRjaCBhZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAx Ljk5LiBJdCBoYXMgYSBtZW51IGVudHJ5IHVuZGVyCitzY3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQg YSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBhdXRvY29uZgordG8gYnVpbGQu CisKK1RoaXMgcGFydCBvZiB0aGUgcGF0Y2ggYWRkcyB0aGUgYXV0b2NvbmYgZmlsZXMuCisKK1Np Z25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgorU2lnbmVkLW9mZi1i eTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgorLS0tCisgY29u ZmlndXJlLmFjICAgICAgICAgICAgICB8ICA3MCArKysrCisgZXRjL2x1YS5wYy5pbiAgICAgICAg ICAgICB8ICAzMiArKworIHNyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4gfCA3OTcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwg ODk5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgY29uZmlndXJlLmFjCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGV0Yy9sdWEucGMuaW4KKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2x1 YWNvbmYuaC50ZW1wbGF0ZS5pbgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmln dXJlLmFjCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi41MTA1YzBi YjBkMmEKKy0tLSAvZGV2L251bGwKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTAsMCArMSw3MCBA QAorK0FDX1BSRVJFUShbMi42N10pCisrQUNfSU5JVChbQXV0b3Rvb2xpemVkIEx1YV0sWzUuMy40 XSxbXSxbbHVhLWF0XSkKKysKKytBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCisrCisrQUNfQ09O RklHX0hFQURFUlMoW2NvbmZpZy5oXSkKKytBQ19DT05GSUdfU1JDRElSKFtzcmMvbGFwaS5jXSkK KysKKytBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9yZWlnbl0pCisrCisrQUNfUFJPR19DQworK0xU X0lOSVQKKysKKytBQ19BUkdfV0lUSCgKKysgIFtyZWFkbGluZV0sCisrICBbQVNfSEVMUF9TVFJJ TkcoWy0td2l0aC1yZWFkbGluZV0sW1VzZSByZWFkbGluZSBmb3IgaW50ZXJwcmV0ZXIgaW5wdXQg W2RlZmF1bHQ9eWVzXV0pXSwKKysgIFt1c2VfcmVhZGxpbmU9JHdpdGh2YWxdLAorKyAgW3VzZV9y ZWFkbGluZT15ZXNdCisrKQorKworK0xVQV9MSUJTPSItbG0iCisrCisrIyBDaGVjayBmb3IgcmVh ZGxpbmUKKytSRUFETElORV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9SRUFETElORSIKKytpZiB0ZXN0 ICJ4JHVzZV9yZWFkbGluZSIgPT0gInh5ZXMiOyB0aGVuCisrICBBQ19DSEVDS19MSUIoW3JlYWRs aW5lXSwgW3JlYWRsaW5lXSwgW10sIFt1c2VfcmVhZGxpbmU9bm9dKQorKyAgQUNfQ0hFQ0tfSEVB REVSUyhbcmVhZGxpbmUvcmVhZGxpbmUuaCByZWFkbGluZS9oaXN0b3J5LmhdLCBbXSwgW3VzZV9y ZWFkbGluZT1ub10pCisrICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInhubyI7IHRoZW4K KysgICAgQUNfTVNHX1dBUk4oW3JlYWRsaW5lIGhlYWRlcnMgY291bGQgbm90IGJlIGZvdW5kLCBk aXNhYmxpbmcgcmVhZGxpbmUgc3VwcG9ydF0pCisrICBlbHNlCisrICAgIFJFQURMSU5FX0RFRlM9 IiNkZWZpbmUgTFVBX1VTRV9SRUFETElORSIKKysgICAgTFVBX0xJQlM9IiRMVUFfTElCUyAtbHJl YWRsaW5lIgorKyAgZmkKKytmaQorK0FDX1NVQlNUKFJFQURMSU5FX0RFRlMpCisrCisrY2FzZSAi JGhvc3QiIGluCisrICAqLW1pbmd3KikgIHVzZV9vcz13aW4zMiAgOzsKKysgICotZGFyd2luKikg dXNlX29zPW1hY29zeCA7OworKyAgKikgICAgICAgICB1c2Vfb3M9cG9zaXggIDs7CisrZXNhYwor KworK1BPU0lYX0RFRlM9IiN1bmRlZiBMVUFfVVNFX1BPU0lYIgorK0xVQV9ETF9ERUZTPSIjdW5k ZWYgTFVBX1VTRV9ETE9QRU4iCisrTFVBX0JVSUxEX0FTX0RMTF9ERUZTPSIjdW5kZWYgTFVBX0JV SUxEX0FTX0RMTCIKKysKKytpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInh3aW4zMiI7IHRoZW4KKysg IExVQV9CVUlMRF9BU19ETExfREVGUz0iI2RlZmluZSBMVUFfQlVJTERfQVNfRExMIgorK2VsaWYg dGVzdCAieCR1c2Vfb3MiID09ICJ4bWFjb3N4IjsgdGhlbgorKyAgUE9TSVhfREVGUz0iI2RlZmlu ZSBMVUFfVVNFX1BPU0lYIgorKyAgTFVBX0RMX0RFRlM9IiNkZWZpbmUgTFVBX0RMX0RZTEQiCisr ZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhwb3NpeCI7IHRoZW4KKysgIFBPU0lYX0RFRlM9IiNk ZWZpbmUgTFVBX1VTRV9QT1NJWCIKKysgIExVQV9ETF9ERUZTPSIjZGVmaW5lIExVQV9ETF9ETE9Q RU4iCisrICBMVUFfTElCUz0iJExVQV9MSUJTIC1sZGwiCisrZmkKKytBQ19TVUJTVChQT1NJWF9E RUZTKQorK0FDX1NVQlNUKExVQV9ETF9ERUZTKQorK0FDX1NVQlNUKExVQV9CVUlMRF9BU19ETExf REVGUykKKysKKytBQ19TVUJTVChMVUFfTElCUykKKysKKytBQ19DT05GSUdfRklMRVMoW01ha2Vm aWxlCisrICAgICAgICAgICAgICAgICBzcmMvTWFrZWZpbGUKKysgICAgICAgICAgICAgICAgIHNy Yy9sdWFjb25mLmgudGVtcGxhdGUKKysgICAgICAgICAgICAgICAgIGV0Yy9NYWtlZmlsZQorKyAg ICAgICAgICAgICAgICAgZXRjL2x1YS5wYworKyAgICAgICAgICAgICAgICAgZG9jL01ha2VmaWxl CisrCQkgdGVzdC9NYWtlZmlsZV0pCisrQUNfT1VUUFVUCitkaWZmIC0tZ2l0IGEvZXRjL2x1YS5w Yy5pbiBiL2V0Yy9sdWEucGMuaW4KK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwMDAuLjdmMzNjZmY4ZmFmNgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXRjL2x1YS5wYy5pbgor QEAgLTAsMCArMSwzMiBAQAorKyMgbHVhLnBjIC0tIHBrZy1jb25maWcgZGF0YSBmb3IgTHVhCisr CisrIyB2YXJzIGZyb20gaW5zdGFsbCBNYWtlZmlsZQorKworKyMgZ3JlcCAnXlY9JyAuLi9NYWtl ZmlsZQorK1Y9IDUuMQorKyMgZ3JlcCAnXlI9JyAuLi9NYWtlZmlsZQorK1I9IEBWRVJTSU9OQAor KworKyMgZ3JlcCAnXklOU1RBTExfLio9JyAuLi9NYWtlZmlsZSB8IHNlZCAncy9JTlNUQUxMX1RP UC9wcmVmaXgvJworKyMgcGx1cyBhdXRvdG9vbGlmaWNhdGlvbgorK3ByZWZpeD0gQHByZWZpeEAK KytJTlNUQUxMX0JJTj0gJHtwcmVmaXh9L2JpbgorK0lOU1RBTExfSU5DPSAke3ByZWZpeH0vaW5j bHVkZQorK0lOU1RBTExfTElCPSAke3ByZWZpeH0vbGliCisrSU5TVEFMTF9NQU49ICR7cHJlZml4 fS9tYW4vbWFuMQorK0lOU1RBTExfTE1PRD0gJHtwcmVmaXh9L3NoYXJlL2x1YS8ke1Z9CisrSU5T VEFMTF9DTU9EPSAke3ByZWZpeH0vbGliL2x1YS8ke1Z9CisrCisrIyBjYW5vbmljYWwgdmFycwor K2V4ZWNfcHJlZml4PSR7cHJlZml4fQorK2xpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWIKKytpbmNs dWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisrCisrTmFtZTogTHVhCisrRGVzY3JpcHRpb246IEFu IEV4dGVuc2libGUgRXh0ZW5zaW9uIExhbmd1YWdlCisrVmVyc2lvbjogJHtSfQorK1JlcXVpcmVz OiAKKytMaWJzOiAtTCR7bGliZGlyfSAtbGx1YSAtbG0KKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGly fQorKworKyMgKGVuZCBvZiBsdWEucGMpCitkaWZmIC0tZ2l0IGEvc3JjL2x1YWNvbmYuaC50ZW1w bGF0ZS5pbiBiL3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4KK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwMDAwMDAuLjNmNWFkNjMwNTg1YQorLS0tIC9kZXYvbnVsbAorKysrIGIv c3JjL2x1YWNvbmYuaC50ZW1wbGF0ZS5pbgorQEAgLTAsMCArMSw3OTcgQEAKKysvKgorKyoqICRJ ZDogbHVhY29uZi5oLHYgMS4yNTkgMjAxNi8xMi8yMiAxMzowODo1MCByb2JlcnRvIEV4cCAkCisr KiogQ29uZmlndXJhdGlvbiBmaWxlIGZvciBMdWEKKysqKiBTZWUgQ29weXJpZ2h0IE5vdGljZSBp biBsdWEuaAorKyovCisrCisrCisrI2lmbmRlZiBsdWFjb25mX2gKKysjZGVmaW5lIGx1YWNvbmZf aAorKworKyNpbmNsdWRlIDxsaW1pdHMuaD4KKysjaW5jbHVkZSA8c3RkZGVmLmg+CisrCisrLyoK KysgKiogPT09PT09PT09PT09PT09PT0KKysgKiogQXV0b3Rvb2xpZmljYXRpb24KKysgKiogPT09 PT09PT09PT09PT09PT0KKysgKi8KKysKKysvKiogYXV0b3Rvb2xpemUgcGF0Y2ggKiovCisrQFBP U0lYX0RFRlNACisrQExVQV9ETF9ERUZTQAorK0BMVUFfQlVJTERfQVNfRExMX0RFRlNACisrQFJF QURMSU5FX0RFRlNACisrLyoqIGF1dG90b29saXplIHBhdGNoICoqLworKworKy8qCisrKiogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorKyoqIFNlYXJjaCBmb3IgIkBAIiB0byBmaW5kIGFsbCBjb25maWd1cmFibGUgZGVm aW5pdGlvbnMuCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorKyovCisrCisrCisrLyoKKysqKiB7PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKysqKiBTeXN0ZW0gQ29uZmlndXJhdGlvbjogbWFjcm9zIHRvIGFkYXB0IChpZiBuZWVkZWQp IEx1YSB0byBzb21lCisrKiogcGFydGljdWxhciBwbGF0Zm9ybSwgZm9yIGluc3RhbmNlIGNvbXBp bGluZyBpdCB3aXRoIDMyLWJpdCBudW1iZXJzIG9yCisrKiogcmVzdHJpY3RpbmcgaXQgdG8gQzg5 LgorKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorKyovCisrCisrLyoKKytAQCBMVUFfMzJCSVRTIGVuYWJsZXMg THVhIHdpdGggMzItYml0IGludGVnZXJzIGFuZCAzMi1iaXQgZmxvYXRzLiBZb3UKKysqKiBjYW4g YWxzbyBkZWZpbmUgTFVBXzMyQklUUyBpbiB0aGUgbWFrZSBmaWxlLCBidXQgY2hhbmdpbmcgaGVy ZSB5b3UKKysqKiBlbnN1cmUgdGhhdCBhbGwgc29mdHdhcmUgY29ubmVjdGVkIHRvIEx1YSB3aWxs IGJlIGNvbXBpbGVkIHdpdGggdGhlCisrKiogc2FtZSBjb25maWd1cmF0aW9uLgorKyovCisrLyog I2RlZmluZSBMVUFfMzJCSVRTICovCisrCisrCisrLyoKKytAQCBMVUFfVVNFX0M4OSBjb250cm9s cyB0aGUgdXNlIG9mIG5vbi1JU08tQzg5IGZlYXR1cmVzLgorKyoqIERlZmluZSBpdCBpZiB5b3Ug d2FudCBMdWEgdG8gYXZvaWQgdGhlIHVzZSBvZiBhIGZldyBDOTkgZmVhdHVyZXMKKysqKiBvciBX aW5kb3dzLXNwZWNpZmljIGZlYXR1cmVzIG9uIFdpbmRvd3MuCisrKi8KKysvKiAjZGVmaW5lIExV QV9VU0VfQzg5ICovCisrCisrCisrLyoKKysqKiBCeSBkZWZhdWx0LCBMdWEgb24gV2luZG93cyB1 c2UgKHNvbWUpIHNwZWNpZmljIFdpbmRvd3MgZmVhdHVyZXMKKysqLworKyNpZiAhZGVmaW5lZChM VUFfVVNFX0M4OSkgJiYgZGVmaW5lZChfV0lOMzIpICYmICFkZWZpbmVkKF9XSU4zMl9XQ0UpCisr I2RlZmluZSBMVUFfVVNFX1dJTkRPV1MgIC8qIGVuYWJsZSBnb29kaWVzIGZvciByZWd1bGFyIFdp bmRvd3MgKi8KKysjZW5kaWYKKysKKysKKysjaWYgZGVmaW5lZChMVUFfVVNFX1dJTkRPV1MpCisr I2RlZmluZSBMVUFfRExfRExMCS8qIGVuYWJsZSBzdXBwb3J0IGZvciBETEwgKi8KKysjZGVmaW5l IExVQV9VU0VfQzg5CS8qIGJyb2FkbHksIFdpbmRvd3MgaXMgQzg5ICovCisrI2VuZGlmCisrCisr CisrI2lmIGRlZmluZWQoTFVBX1VTRV9MSU5VWCkKKysjZGVmaW5lIExVQV9VU0VfUE9TSVgKKysj ZGVmaW5lIExVQV9VU0VfRExPUEVOCQkvKiBuZWVkcyBhbiBleHRyYSBsaWJyYXJ5OiAtbGRsICov CisrI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFyaWVz ICovCisrI2VuZGlmCisrCisrCisrI2lmIGRlZmluZWQoTFVBX1VTRV9NQUNPU1gpCisrI2RlZmlu ZSBMVUFfVVNFX1BPU0lYCisrI2RlZmluZSBMVUFfVVNFX0RMT1BFTgkJLyogTWFjT1MgZG9lcyBu b3QgbmVlZCAtbGRsICovCisrI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FCS8qIG5lZWRzIGFuIGV4 dHJhIGxpYnJhcnk6IC1scmVhZGxpbmUgKi8KKysjZW5kaWYKKysKKysKKysvKgorK0BAIExVQV9D ODlfTlVNQkVSUyBlbnN1cmVzIHRoYXQgTHVhIHVzZXMgdGhlIGxhcmdlc3QgdHlwZXMgYXZhaWxh YmxlIGZvcgorKyoqIEM4OSAoJ2xvbmcnIGFuZCAnZG91YmxlJyk7IFdpbmRvd3MgYWx3YXlzIGhh cyAnX19pbnQ2NCcsIHNvIGl0IGRvZXMKKysqKiBub3QgbmVlZCB0byB1c2UgdGhpcyBjYXNlLgor KyovCisrI2lmIGRlZmluZWQoTFVBX1VTRV9DODkpICYmICFkZWZpbmVkKExVQV9VU0VfV0lORE9X UykKKysjZGVmaW5lIExVQV9DODlfTlVNQkVSUworKyNlbmRpZgorKworKworKworKy8qCisrQEAg TFVBSV9CSVRTSU5UIGRlZmluZXMgdGhlIChtaW5pbXVtKSBudW1iZXIgb2YgYml0cyBpbiBhbiAn aW50Jy4KKysqLworKy8qIGF2b2lkIHVuZGVmaW5lZCBzaGlmdHMgKi8KKysjaWYgKChJTlRfTUFY ID4+IDE1KSA+PiAxNSkgPj0gMQorKyNkZWZpbmUgTFVBSV9CSVRTSU5UCTMyCisrI2Vsc2UKKysv KiAnaW50JyBhbHdheXMgbXVzdCBoYXZlIGF0IGxlYXN0IDE2IGJpdHMgKi8KKysjZGVmaW5lIExV QUlfQklUU0lOVAkxNgorKyNlbmRpZgorKworKworKy8qCisrQEAgTFVBX0lOVF9UWVBFIGRlZmlu ZXMgdGhlIHR5cGUgZm9yIEx1YSBpbnRlZ2Vycy4KKytAQCBMVUFfRkxPQVRfVFlQRSBkZWZpbmVz IHRoZSB0eXBlIGZvciBMdWEgZmxvYXRzLgorKyoqIEx1YSBzaG91bGQgd29yayBmaW5lIHdpdGgg YW55IG1peCBvZiB0aGVzZSBvcHRpb25zIChpZiBzdXBwb3J0ZWQKKysqKiBieSB5b3VyIEMgY29t cGlsZXIpLiBUaGUgdXN1YWwgY29uZmlndXJhdGlvbnMgYXJlIDY0LWJpdCBpbnRlZ2VycworKyoq IGFuZCAnZG91YmxlJyAodGhlIGRlZmF1bHQpLCAzMi1iaXQgaW50ZWdlcnMgYW5kICdmbG9hdCcg KGZvcgorKyoqIHJlc3RyaWN0ZWQgcGxhdGZvcm1zKSwgYW5kICdsb25nJy8nZG91YmxlJyAoZm9y IEMgY29tcGlsZXJzIG5vdAorKyoqIGNvbXBsaWFudCB3aXRoIEM5OSwgd2hpY2ggbWF5IG5vdCBo YXZlIHN1cHBvcnQgZm9yICdsb25nIGxvbmcnKS4KKysqLworKworKy8qIHByZWRlZmluZWQgb3B0 aW9ucyBmb3IgTFVBX0lOVF9UWVBFICovCisrI2RlZmluZSBMVUFfSU5UX0lOVAkJMQorKyNkZWZp bmUgTFVBX0lOVF9MT05HCQkyCisrI2RlZmluZSBMVUFfSU5UX0xPTkdMT05HCTMKKysKKysvKiBw cmVkZWZpbmVkIG9wdGlvbnMgZm9yIExVQV9GTE9BVF9UWVBFICovCisrI2RlZmluZSBMVUFfRkxP QVRfRkxPQVQJCTEKKysjZGVmaW5lIExVQV9GTE9BVF9ET1VCTEUJMgorKyNkZWZpbmUgTFVBX0ZM T0FUX0xPTkdET1VCTEUJMworKworKyNpZiBkZWZpbmVkKExVQV8zMkJJVFMpCQkvKiB7ICovCisr LyoKKysqKiAzMi1iaXQgaW50ZWdlcnMgYW5kICdmbG9hdCcKKysqLworKyNpZiBMVUFJX0JJVFNJ TlQgPj0gMzIgIC8qIHVzZSAnaW50JyBpZiBiaWcgZW5vdWdoICovCisrI2RlZmluZSBMVUFfSU5U X1RZUEUJTFVBX0lOVF9JTlQKKysjZWxzZSAgLyogb3RoZXJ3aXNlIHVzZSAnbG9uZycgKi8KKysj ZGVmaW5lIExVQV9JTlRfVFlQRQlMVUFfSU5UX0xPTkcKKysjZW5kaWYKKysjZGVmaW5lIExVQV9G TE9BVF9UWVBFCUxVQV9GTE9BVF9GTE9BVAorKworKyNlbGlmIGRlZmluZWQoTFVBX0M4OV9OVU1C RVJTKQkvKiB9eyAqLworKy8qCisrKiogbGFyZ2VzdCB0eXBlcyBhdmFpbGFibGUgZm9yIEM4OSAo J2xvbmcnIGFuZCAnZG91YmxlJykKKysqLworKyNkZWZpbmUgTFVBX0lOVF9UWVBFCUxVQV9JTlRf TE9ORworKyNkZWZpbmUgTFVBX0ZMT0FUX1RZUEUJTFVBX0ZMT0FUX0RPVUJMRQorKworKyNlbmRp ZgkJCQkvKiB9ICovCisrCisrCisrLyoKKysqKiBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIDY0 LWJpdCBMdWEgKCdsb25nIGxvbmcnIGFuZCAnZG91YmxlJykKKysqLworKyNpZiAhZGVmaW5lZChM VUFfSU5UX1RZUEUpCisrI2RlZmluZSBMVUFfSU5UX1RZUEUJTFVBX0lOVF9MT05HTE9ORworKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChMVUFfRkxPQVRfVFlQRSkKKysjZGVmaW5lIExVQV9GTE9B VF9UWVBFCUxVQV9GTE9BVF9ET1VCTEUKKysjZW5kaWYKKysKKysvKiB9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisr CisrCisrCisrCisrLyoKKysqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrKiogQ29uZmlndXJhdGlvbiBmb3IgUGF0 aHMuCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorKyovCisrCisrLyoKKysqKiBMVUFfUEFUSF9TRVAgaXMgdGhl IGNoYXJhY3RlciB0aGF0IHNlcGFyYXRlcyB0ZW1wbGF0ZXMgaW4gYSBwYXRoLgorKyoqIExVQV9Q QVRIX01BUksgaXMgdGhlIHN0cmluZyB0aGF0IG1hcmtzIHRoZSBzdWJzdGl0dXRpb24gcG9pbnRz IGluIGEKKysqKiB0ZW1wbGF0ZS4KKysqKiBMVUFfRVhFQ19ESVIgaW4gYSBXaW5kb3dzIHBhdGgg aXMgcmVwbGFjZWQgYnkgdGhlIGV4ZWN1dGFibGUncworKyoqIGRpcmVjdG9yeS4KKysqLworKyNk ZWZpbmUgTFVBX1BBVEhfU0VQICAgICAgICAgICAgIjsiCisrI2RlZmluZSBMVUFfUEFUSF9NQVJL ICAgICAgICAgICAiPyIKKysjZGVmaW5lIExVQV9FWEVDX0RJUiAgICAgICAgICAgICIhIgorKwor KworKy8qCisrQEAgTFVBX1BBVEhfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBwYXRoIHRoYXQgTHVh IHVzZXMgdG8gbG9vayBmb3IKKysqKiBMdWEgbGlicmFyaWVzLgorK0BAIExVQV9DUEFUSF9ERUZB VUxUIGlzIHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcgorKyoqIEMg bGlicmFyaWVzLgorKyoqIENIQU5HRSB0aGVtIGlmIHlvdXIgbWFjaGluZSBoYXMgYSBub24tY29u dmVudGlvbmFsIGRpcmVjdG9yeQorKyoqIGhpZXJhcmNoeSBvciBpZiB5b3Ugd2FudCB0byBpbnN0 YWxsIHlvdXIgbGlicmFyaWVzIGluCisrKiogbm9uLWNvbnZlbnRpb25hbCBkaXJlY3Rvcmllcy4K KysqLworKyNkZWZpbmUgTFVBX1ZESVIJTFVBX1ZFUlNJT05fTUFKT1IgIi4iIExVQV9WRVJTSU9O X01JTk9SCisrI2lmIGRlZmluZWQoX1dJTjMyKQkvKiB7ICovCisrLyoKKysqKiBJbiBXaW5kb3dz LCBhbnkgZXhjbGFtYXRpb24gbWFyayAoJyEnKSBpbiB0aGUgcGF0aCBpcyByZXBsYWNlZCBieSB0 aGUKKysqKiBwYXRoIG9mIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBvZiB0 aGUgY3VycmVudCBwcm9jZXNzLgorKyovCisrI2RlZmluZSBMVUFfTERJUgkiIVxcbHVhXFwiCisr I2RlZmluZSBMVUFfQ0RJUgkiIVxcIgorKyNkZWZpbmUgTFVBX1NIUkRJUgkiIVxcLi5cXHNoYXJl XFxsdWFcXCIgTFVBX1ZESVIgIlxcIgorKyNkZWZpbmUgTFVBX1BBVEhfREVGQVVMVCAgXAorKwkJ TFVBX0xESVIiPy5sdWE7IiAgTFVBX0xESVIiP1xcaW5pdC5sdWE7IiBcCisrCQlMVUFfQ0RJUiI/ Lmx1YTsiICBMVUFfQ0RJUiI/XFxpbml0Lmx1YTsiIFwKKysJCUxVQV9TSFJESVIiPy5sdWE7IiBM VUFfU0hSRElSIj9cXGluaXQubHVhOyIgXAorKwkJIi5cXD8ubHVhOyIgIi5cXD9cXGluaXQubHVh IgorKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFVTFQgXAorKwkJTFVBX0NESVIiPy5kbGw7IiBcCisr CQlMVUFfQ0RJUiIuLlxcbGliXFxsdWFcXCIgTFVBX1ZESVIgIlxcPy5kbGw7IiBcCisrCQlMVUFf Q0RJUiJsb2FkYWxsLmRsbDsiICIuXFw/LmRsbCIKKysKKysjZWxzZQkJCS8qIH17ICovCisrCisr LyoqIGF1dG90b29saXplIHBhdGNoICoqLworKyNkZWZpbmUgTFVBX0xESVIJIiVsdWFfZGF0YWRp ciUvbHVhLzUuMS8iCisrI2RlZmluZSBMVUFfQ0RJUgkiJWx1YV9saWJkaXIlL2x1YS81LjEvIgor Ky8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KKysKKysjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQg IFwKKysJCUxVQV9MRElSIj8ubHVhOyIgIExVQV9MRElSIj8vaW5pdC5sdWE7IiBcCisrCQlMVUFf Q0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/L2luaXQubHVhOyIgXAorKwkJIi4vPy5sdWE7IiAiLi8/ L2luaXQubHVhIgorKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFVTFQgXAorKwkJTFVBX0NESVIiPy5z bzsiIExVQV9DRElSImxvYWRhbGwuc287IiAiLi8/LnNvIgorKyNlbmRpZgkJCS8qIH0gKi8KKysK KysKKysvKgorK0BAIExVQV9ESVJTRVAgaXMgdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3IgKGZvciBz dWJtb2R1bGVzKS4KKysqKiBDSEFOR0UgaXQgaWYgeW91ciBtYWNoaW5lIGRvZXMgbm90IHVzZSAi LyIgYXMgdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3IKKysqKiBhbmQgaXMgbm90IFdpbmRvd3MuIChP biBXaW5kb3dzIEx1YSBhdXRvbWF0aWNhbGx5IHVzZXMgIlwiLikKKysqLworKyNpZiBkZWZpbmVk KF9XSU4zMikKKysjZGVmaW5lIExVQV9ESVJTRVAJIlxcIgorKyNlbHNlCisrI2RlZmluZSBMVUFf RElSU0VQCSIvIgorKyNlbmRpZgorKworKy8qIH09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKysKKysKKysvKgorKyoq IHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKysqKiBNYXJrcyBmb3IgZXhwb3J0ZWQgc3ltYm9scyBpbiB0aGUgQyBjb2Rl CisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorKyovCisrCisrLyoKKytAQCBMVUFfQVBJIGlzIGEgbWFyayBmb3Ig YWxsIGNvcmUgQVBJIGZ1bmN0aW9ucy4KKytAQCBMVUFMSUJfQVBJIGlzIGEgbWFyayBmb3IgYWxs IGF1eGlsaWFyeSBsaWJyYXJ5IGZ1bmN0aW9ucy4KKytAQCBMVUFNT0RfQVBJIGlzIGEgbWFyayBm b3IgYWxsIHN0YW5kYXJkIGxpYnJhcnkgb3BlbmluZyBmdW5jdGlvbnMuCisrKiogQ0hBTkdFIHRo ZW0gaWYgeW91IG5lZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0aW9ucyBpbiBzb21lIHNwZWNpYWwg d2F5LgorKyoqIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIG9uZSBXaW5kb3dz IERMTCB3aXRoIHRoZSBjb3JlIGFuZAorKyoqIHRoZSBsaWJyYXJpZXMsIHlvdSBtYXkgd2FudCB0 byB1c2UgdGhlIGZvbGxvd2luZyBkZWZpbml0aW9uIChkZWZpbmUKKysqKiBMVUFfQlVJTERfQVNf RExMIHRvIGdldCBpdCkuCisrKi8KKysjaWYgZGVmaW5lZChMVUFfQlVJTERfQVNfRExMKQkvKiB7 ICovCisrCisrI2lmIGRlZmluZWQoTFVBX0NPUkUpIHx8IGRlZmluZWQoTFVBX0xJQikJLyogeyAq LworKyNkZWZpbmUgTFVBX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKysjZWxzZQkJCQkJCS8q IH17ICovCisrI2RlZmluZSBMVUFfQVBJIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQorKyNlbmRpZgkJ CQkJCS8qIH0gKi8KKysKKysjZWxzZQkJCQkvKiB9eyAqLworKworKyNkZWZpbmUgTFVBX0FQSQkJ ZXh0ZXJuCisrCisrI2VuZGlmCQkJCS8qIH0gKi8KKysKKysKKysvKiBtb3JlIG9mdGVuIHRoYW4g bm90IHRoZSBsaWJzIGdvIHRvZ2V0aGVyIHdpdGggdGhlIGNvcmUgKi8KKysjZGVmaW5lIExVQUxJ Ql9BUEkJTFVBX0FQSQorKyNkZWZpbmUgTFVBTU9EX0FQSQlMVUFMSUJfQVBJCisrCisrCisrLyoK KytAQCBMVUFJX0ZVTkMgaXMgYSBtYXJrIGZvciBhbGwgZXh0ZXJuIGZ1bmN0aW9ucyB0aGF0IGFy ZSBub3QgdG8gYmUKKysqKiBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuCisrQEAgTFVBSV9E REVGIGFuZCBMVUFJX0RERUMgYXJlIG1hcmtzIGZvciBhbGwgZXh0ZXJuIChjb25zdCkgdmFyaWFi bGVzCisrKiogdGhhdCBhcmUgbm90IHRvIGJlIGV4cG9ydGVkIHRvIG91dHNpZGUgbW9kdWxlcyAo TFVBSV9EREVGIGZvcgorKyoqIGRlZmluaXRpb25zIGFuZCBMVUFJX0RERUMgZm9yIGRlY2xhcmF0 aW9ucykuCisrKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gbWFyayB0aGVtIGluIHNvbWUg c3BlY2lhbCB3YXkuIEVsZi9nY2MKKysqKiAodmVyc2lvbnMgMy4yIGFuZCBsYXRlcikgbWFyayB0 aGVtIGFzICJoaWRkZW4iIHRvIG9wdGltaXplIGFjY2VzcworKyoqIHdoZW4gTHVhIGlzIGNvbXBp bGVkIGFzIGEgc2hhcmVkIGxpYnJhcnkuIE5vdCBhbGwgZWxmIHRhcmdldHMgc3VwcG9ydAorKyoq IHRoaXMgYXR0cmlidXRlLiBVbmZvcnR1bmF0ZWx5LCBnY2MgZG9lcyBub3Qgb2ZmZXIgYSB3YXkg dG8gY2hlY2sKKysqKiB3aGV0aGVyIHRoZSB0YXJnZXQgb2ZmZXJzIHRoYXQgc3VwcG9ydCwgYW5k IHRob3NlIHdpdGhvdXQgc3VwcG9ydAorKyoqIGdpdmUgYSB3YXJuaW5nIGFib3V0IGl0LiBUbyBh dm9pZCB0aGVzZSB3YXJuaW5ncywgY2hhbmdlIHRvIHRoZQorKyoqIGRlZmF1bHQgZGVmaW5pdGlv bi4KKysqLworKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKF9fR05VQ19fKjEwMCArIF9fR05V Q19NSU5PUl9fKSA+PSAzMDIpICYmIFwKKysgICAgZGVmaW5lZChfX0VMRl9fKQkJLyogeyAqLwor KyNkZWZpbmUgTFVBSV9GVU5DCV9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImhpZGRlbiIpKSkg ZXh0ZXJuCisrI2Vsc2UJCQkJLyogfXsgKi8KKysjZGVmaW5lIExVQUlfRlVOQwlleHRlcm4KKysj ZW5kaWYJCQkJLyogfSAqLworKworKyNkZWZpbmUgTFVBSV9EREVDCUxVQUlfRlVOQworKyNkZWZp bmUgTFVBSV9EREVGCS8qIGVtcHR5ICovCisrCisrLyogfT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworKworKworKy8q CisrKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorKyoqIENvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9u cworKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKysqLworKworKy8qCisrQEAgTFVBX0NPTVBBVF81XzIgY29udHJv bHMgb3RoZXIgbWFjcm9zIGZvciBjb21wYXRpYmlsaXR5IHdpdGggTHVhIDUuMi4KKytAQCBMVUFf Q09NUEFUXzVfMSBjb250cm9scyBvdGhlciBtYWNyb3MgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBM dWEgNS4xLgorKyoqIFlvdSBjYW4gZGVmaW5lIGl0IHRvIGdldCBhbGwgb3B0aW9ucywgb3IgY2hh bmdlIHNwZWNpZmljIG9wdGlvbnMKKysqKiB0byBmaXQgeW91ciBzcGVjaWZpYyBuZWVkcy4KKysq LworKyNpZiBkZWZpbmVkKExVQV9DT01QQVRfNV8yKQkvKiB7ICovCisrCisrLyoKKytAQCBMVUFf Q09NUEFUX01BVEhMSUIgY29udHJvbHMgdGhlIHByZXNlbmNlIG9mIHNldmVyYWwgZGVwcmVjYXRl ZAorKyoqIGZ1bmN0aW9ucyBpbiB0aGUgbWF0aGVtYXRpY2FsIGxpYnJhcnkuCisrKi8KKysjZGVm aW5lIExVQV9DT01QQVRfTUFUSExJQgorKworKy8qCisrQEAgTFVBX0NPTVBBVF9CSVRMSUIgY29u dHJvbHMgdGhlIHByZXNlbmNlIG9mIGxpYnJhcnkgJ2JpdDMyJy4KKysqLworKyNkZWZpbmUgTFVB X0NPTVBBVF9CSVRMSUIKKysKKysvKgorK0BAIExVQV9DT01QQVRfSVBBSVJTIGNvbnRyb2xzIHRo ZSBlZmZlY3RpdmVuZXNzIG9mIHRoZSBfX2lwYWlycyBtZXRhbWV0aG9kLgorKyovCisrI2RlZmlu ZSBMVUFfQ09NUEFUX0lQQUlSUworKworKy8qCisrQEAgTFVBX0NPTVBBVF9BUElJTlRDQVNUUyBj b250cm9scyB0aGUgcHJlc2VuY2Ugb2YgbWFjcm9zIGZvcgorKyoqIG1hbmlwdWxhdGluZyBvdGhl ciBpbnRlZ2VyIHR5cGVzIChsdWFfcHVzaHVuc2lnbmVkLCBsdWFfdG91bnNpZ25lZCwKKysqKiBs dWFMX2NoZWNraW50LCBsdWFMX2NoZWNrbG9uZywgZXRjLikKKysqLworKyNkZWZpbmUgTFVBX0NP TVBBVF9BUElJTlRDQVNUUworKworKyNlbmRpZgkJCQkvKiB9ICovCisrCisrCisrI2lmIGRlZmlu ZWQoTFVBX0NPTVBBVF81XzEpCS8qIHsgKi8KKysKKysvKiBJbmNvbXBhdGliaWxpdGllcyBmcm9t IDUuMiAtPiA1LjMgKi8KKysjZGVmaW5lIExVQV9DT01QQVRfTUFUSExJQgorKyNkZWZpbmUgTFVB X0NPTVBBVF9BUElJTlRDQVNUUworKworKy8qCisrQEAgTFVBX0NPTVBBVF9VTlBBQ0sgY29udHJv bHMgdGhlIHByZXNlbmNlIG9mIGdsb2JhbCAndW5wYWNrJy4KKysqKiBZb3UgY2FuIHJlcGxhY2Ug aXQgd2l0aCAndGFibGUudW5wYWNrJy4KKysqLworKyNkZWZpbmUgTFVBX0NPTVBBVF9VTlBBQ0sK KysKKysvKgorK0BAIExVQV9DT01QQVRfTE9BREVSUyBjb250cm9scyB0aGUgcHJlc2VuY2Ugb2Yg dGFibGUgJ3BhY2thZ2UubG9hZGVycycuCisrKiogWW91IGNhbiByZXBsYWNlIGl0IHdpdGggJ3Bh Y2thZ2Uuc2VhcmNoZXJzJy4KKysqLworKyNkZWZpbmUgTFVBX0NPTVBBVF9MT0FERVJTCisrCisr LyoKKytAQCBtYWNybyAnbHVhX2NwY2FsbCcgZW11bGF0ZXMgZGVwcmVjYXRlZCBmdW5jdGlvbiBs dWFfY3BjYWxsLgorKyoqIFlvdSBjYW4gY2FsbCB5b3VyIEMgZnVuY3Rpb24gZGlyZWN0bHkgKHdp dGggbGlnaHQgQyBmdW5jdGlvbnMpLgorKyovCisrI2RlZmluZSBsdWFfY3BjYWxsKEwsZix1KSAg XAorKwkobHVhX3B1c2hjZnVuY3Rpb24oTCwgKGYpKSwgXAorKwkgbHVhX3B1c2hsaWdodHVzZXJk YXRhKEwsKHUpKSwgXAorKwkgbHVhX3BjYWxsKEwsMSwwLDApKQorKworKworKy8qCisrQEAgTFVB X0NPTVBBVF9MT0cxMCBkZWZpbmVzIHRoZSBmdW5jdGlvbiAnbG9nMTAnIGluIHRoZSBtYXRoIGxp YnJhcnkuCisrKiogWW91IGNhbiByZXdyaXRlICdsb2cxMCh4KScgYXMgJ2xvZyh4LCAxMCknLgor KyovCisrI2RlZmluZSBMVUFfQ09NUEFUX0xPRzEwCisrCisrLyoKKytAQCBMVUFfQ09NUEFUX0xP QURTVFJJTkcgZGVmaW5lcyB0aGUgZnVuY3Rpb24gJ2xvYWRzdHJpbmcnIGluIHRoZSBiYXNlCisr KiogbGlicmFyeS4gWW91IGNhbiByZXdyaXRlICdsb2Fkc3RyaW5nKHMpJyBhcyAnbG9hZChzKScu CisrKi8KKysjZGVmaW5lIExVQV9DT01QQVRfTE9BRFNUUklORworKworKy8qCisrQEAgTFVBX0NP TVBBVF9NQVhOIGRlZmluZXMgdGhlIGZ1bmN0aW9uICdtYXhuJyBpbiB0aGUgdGFibGUgbGlicmFy eS4KKysqLworKyNkZWZpbmUgTFVBX0NPTVBBVF9NQVhOCisrCisrLyoKKytAQCBUaGUgZm9sbG93 aW5nIG1hY3JvcyBzdXBwbHkgdHJpdmlhbCBjb21wYXRpYmlsaXR5IGZvciBzb21lCisrKiogY2hh bmdlcyBpbiB0aGUgQVBJLiBUaGUgbWFjcm9zIHRoZW1zZWx2ZXMgZG9jdW1lbnQgaG93IHRvCisr KiogY2hhbmdlIHlvdXIgY29kZSB0byBhdm9pZCB1c2luZyB0aGVtLgorKyovCisrI2RlZmluZSBs dWFfc3RybGVuKEwsaSkJCWx1YV9yYXdsZW4oTCwgKGkpKQorKworKyNkZWZpbmUgbHVhX29iamxl bihMLGkpCQlsdWFfcmF3bGVuKEwsIChpKSkKKysKKysjZGVmaW5lIGx1YV9lcXVhbChMLGlkeDEs aWR4MikJCWx1YV9jb21wYXJlKEwsKGlkeDEpLChpZHgyKSxMVUFfT1BFUSkKKysjZGVmaW5lIGx1 YV9sZXNzdGhhbihMLGlkeDEsaWR4MikJbHVhX2NvbXBhcmUoTCwoaWR4MSksKGlkeDIpLExVQV9P UExUKQorKworKy8qCisrQEAgTFVBX0NPTVBBVF9NT0RVTEUgY29udHJvbHMgY29tcGF0aWJpbGl0 eSB3aXRoIHByZXZpb3VzCisrKiogbW9kdWxlIGZ1bmN0aW9ucyAnbW9kdWxlJyAoTHVhKSBhbmQg J2x1YUxfcmVnaXN0ZXInIChDKS4KKysqLworKyNkZWZpbmUgTFVBX0NPTVBBVF9NT0RVTEUKKysK KysjZW5kaWYJCQkJLyogfSAqLworKworKworKy8qCisrQEAgTFVBX0NPTVBBVF9GTE9BVFNUUklO RyBtYWtlcyBMdWEgZm9ybWF0IGludGVncmFsIGZsb2F0cyB3aXRob3V0IGEKKytAQCBhIGZsb2F0 IG1hcmsgKCcuMCcpLgorKyoqIFRoaXMgbWFjcm8gaXMgbm90IG9uIGJ5IGRlZmF1bHQgZXZlbiBp biBjb21wYXRpYmlsaXR5IG1vZGUsCisrKiogYmVjYXVzZSB0aGlzIGlzIG5vdCByZWFsbHkgYW4g aW5jb21wYXRpYmlsaXR5LgorKyovCisrLyogI2RlZmluZSBMVUFfQ09NUEFUX0ZMT0FUU1RSSU5H ICovCisrCisrLyogfT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSAqLworKworKworKworKy8qCisrKiogez09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor KyoqIENvbmZpZ3VyYXRpb24gZm9yIE51bWJlcnMuCisrKiogQ2hhbmdlIHRoZXNlIGRlZmluaXRp b25zIGlmIG5vIHByZWRlZmluZWQgTFVBX0ZMT0FUXyogLyBMVUFfSU5UXyoKKysqKiBzYXRpc2Z5 IHlvdXIgbmVlZHMuCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyovCisrCisrLyoKKytAQCBMVUFfTlVNQkVS IGlzIHRoZSBmbG9hdGluZy1wb2ludCB0eXBlIHVzZWQgYnkgTHVhLgorK0BAIExVQUlfVUFDTlVN QkVSIGlzIHRoZSByZXN1bHQgb2YgYSAnZGVmYXVsdCBhcmd1bWVudCBwcm9tb3Rpb24nCisrQEAg b3ZlciBhIGZsb2F0aW5nIG51bWJlci4KKytAQCBsX21hdGhsaW0oeCkgY29ycmVjdHMgbGltaXQg bmFtZSAneCcgdG8gdGhlIHByb3BlciBmbG9hdCB0eXBlCisrKiogYnkgcHJlZml4aW5nIGl0IHdp dGggb25lIG9mIEZMVC9EQkwvTERCTC4KKytAQCBMVUFfTlVNQkVSX0ZSTUxFTiBpcyB0aGUgbGVu Z3RoIG1vZGlmaWVyIGZvciB3cml0aW5nIGZsb2F0cy4KKytAQCBMVUFfTlVNQkVSX0ZNVCBpcyB0 aGUgZm9ybWF0IGZvciB3cml0aW5nIGZsb2F0cy4KKytAQCBsdWFfbnVtYmVyMnN0ciBjb252ZXJ0 cyBhIGZsb2F0IHRvIGEgc3RyaW5nLgorK0BAIGxfbWF0aG9wIGFsbG93cyB0aGUgYWRkaXRpb24g b2YgYW4gJ2wnIG9yICdmJyB0byBhbGwgbWF0aCBvcGVyYXRpb25zLgorK0BAIGxfZmxvb3IgdGFr ZXMgdGhlIGZsb29yIG9mIGEgZmxvYXQuCisrQEAgbHVhX3N0cjJudW1iZXIgY29udmVydHMgYSBk ZWNpbWFsIG51bWVyaWMgc3RyaW5nIHRvIGEgbnVtYmVyLgorKyovCisrCisrCisrLyogVGhlIGZv bGxvd2luZyBkZWZpbml0aW9ucyBhcmUgZ29vZCBmb3IgbW9zdCBjYXNlcyBoZXJlICovCisrCisr I2RlZmluZSBsX2Zsb29yKHgpCQkobF9tYXRob3AoZmxvb3IpKHgpKQorKworKyNkZWZpbmUgbHVh X251bWJlcjJzdHIocyxzeixuKSAgXAorKwlsX3NwcmludGYoKHMpLCBzeiwgTFVBX05VTUJFUl9G TVQsIChMVUFJX1VBQ05VTUJFUikobikpCisrCisrLyoKKytAQCBsdWFfbnVtYmVydG9pbnRlZ2Vy IGNvbnZlcnRzIGEgZmxvYXQgbnVtYmVyIHRvIGFuIGludGVnZXIsIG9yCisrKiogcmV0dXJucyAw IGlmIGZsb2F0IGlzIG5vdCB3aXRoaW4gdGhlIHJhbmdlIG9mIGEgbHVhX0ludGVnZXIuCisrKiog KFRoZSByYW5nZSBjb21wYXJpc29ucyBhcmUgdHJpY2t5IGJlY2F1c2Ugb2Ygcm91bmRpbmcuIFRo ZSB0ZXN0cworKyoqIGhlcmUgYXNzdW1lIGEgdHdvLWNvbXBsZW1lbnQgcmVwcmVzZW50YXRpb24s IHdoZXJlIE1JTklOVEVHRVIgYWx3YXlzCisrKiogaGFzIGFuIGV4YWN0IHJlcHJlc2VudGF0aW9u IGFzIGEgZmxvYXQ7IE1BWElOVEVHRVIgbWF5IG5vdCBoYXZlIG9uZSwKKysqKiBhbmQgdGhlcmVm b3JlIGl0cyBjb252ZXJzaW9uIHRvIGZsb2F0IG1heSBoYXZlIGFuIGlsbC1kZWZpbmVkIHZhbHVl LikKKysqLworKyNkZWZpbmUgbHVhX251bWJlcnRvaW50ZWdlcihuLHApIFwKKysgICgobikgPj0g KExVQV9OVU1CRVIpKExVQV9NSU5JTlRFR0VSKSAmJiBcCisrICAgKG4pIDwgLShMVUFfTlVNQkVS KShMVUFfTUlOSU5URUdFUikgJiYgXAorKyAgICAgICgqKHApID0gKExVQV9JTlRFR0VSKShuKSwg MSkpCisrCisrCisrLyogbm93IHRoZSB2YXJpYWJsZSBkZWZpbml0aW9ucyAqLworKworKyNpZiBM VUFfRkxPQVRfVFlQRSA9PSBMVUFfRkxPQVRfRkxPQVQJCS8qIHsgc2luZ2xlIGZsb2F0ICovCisr CisrI2RlZmluZSBMVUFfTlVNQkVSCWZsb2F0CisrCisrI2RlZmluZSBsX21hdGhsaW0obikJCShG TFRfIyNuKQorKworKyNkZWZpbmUgTFVBSV9VQUNOVU1CRVIJZG91YmxlCisrCisrI2RlZmluZSBM VUFfTlVNQkVSX0ZSTUxFTgkiIgorKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQJCSIlLjdnIgorKwor KyNkZWZpbmUgbF9tYXRob3Aob3ApCQlvcCMjZgorKworKyNkZWZpbmUgbHVhX3N0cjJudW1iZXIo cyxwKQlzdHJ0b2YoKHMpLCAocCkpCisrCisrCisrI2VsaWYgTFVBX0ZMT0FUX1RZUEUgPT0gTFVB X0ZMT0FUX0xPTkdET1VCTEUJLyogfXsgbG9uZyBkb3VibGUgKi8KKysKKysjZGVmaW5lIExVQV9O VU1CRVIJbG9uZyBkb3VibGUKKysKKysjZGVmaW5lIGxfbWF0aGxpbShuKQkJKExEQkxfIyNuKQor KworKyNkZWZpbmUgTFVBSV9VQUNOVU1CRVIJbG9uZyBkb3VibGUKKysKKysjZGVmaW5lIExVQV9O VU1CRVJfRlJNTEVOCSJMIgorKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQJCSIlLjE5TGciCisrCisr I2RlZmluZSBsX21hdGhvcChvcCkJCW9wIyNsCisrCisrI2RlZmluZSBsdWFfc3RyMm51bWJlcihz LHApCXN0cnRvbGQoKHMpLCAocCkpCisrCisrI2VsaWYgTFVBX0ZMT0FUX1RZUEUgPT0gTFVBX0ZM T0FUX0RPVUJMRQkvKiB9eyBkb3VibGUgKi8KKysKKysjZGVmaW5lIExVQV9OVU1CRVIJZG91Ymxl CisrCisrI2RlZmluZSBsX21hdGhsaW0obikJCShEQkxfIyNuKQorKworKyNkZWZpbmUgTFVBSV9V QUNOVU1CRVIJZG91YmxlCisrCisrI2RlZmluZSBMVUFfTlVNQkVSX0ZSTUxFTgkiIgorKyNkZWZp bmUgTFVBX05VTUJFUl9GTVQJCSIlLjE0ZyIKKysKKysjZGVmaW5lIGxfbWF0aG9wKG9wKQkJb3AK KysKKysjZGVmaW5lIGx1YV9zdHIybnVtYmVyKHMscCkJc3RydG9kKChzKSwgKHApKQorKworKyNl bHNlCQkJCQkJLyogfXsgKi8KKysKKysjZXJyb3IgIm51bWVyaWMgZmxvYXQgdHlwZSBub3QgZGVm aW5lZCIKKysKKysjZW5kaWYJCQkJCS8qIH0gKi8KKysKKysKKysKKysvKgorK0BAIExVQV9JTlRF R0VSIGlzIHRoZSBpbnRlZ2VyIHR5cGUgdXNlZCBieSBMdWEuCisrKioKKytAQCBMVUFfVU5TSUdO RUQgaXMgdGhlIHVuc2lnbmVkIHZlcnNpb24gb2YgTFVBX0lOVEVHRVIuCisrKioKKytAQCBMVUFJ X1VBQ0lOVCBpcyB0aGUgcmVzdWx0IG9mIGEgJ2RlZmF1bHQgYXJndW1lbnQgcHJvbW90aW9uJwor K0BAIG92ZXIgYSBsVUFfSU5URUdFUi4KKytAQCBMVUFfSU5URUdFUl9GUk1MRU4gaXMgdGhlIGxl bmd0aCBtb2RpZmllciBmb3IgcmVhZGluZy93cml0aW5nIGludGVnZXJzLgorK0BAIExVQV9JTlRF R0VSX0ZNVCBpcyB0aGUgZm9ybWF0IGZvciB3cml0aW5nIGludGVnZXJzLgorK0BAIExVQV9NQVhJ TlRFR0VSIGlzIHRoZSBtYXhpbXVtIHZhbHVlIGZvciBhIExVQV9JTlRFR0VSLgorK0BAIExVQV9N SU5JTlRFR0VSIGlzIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBhIExVQV9JTlRFR0VSLgorK0BAIGx1 YV9pbnRlZ2VyMnN0ciBjb252ZXJ0cyBhbiBpbnRlZ2VyIHRvIGEgc3RyaW5nLgorKyovCisrCisr CisrLyogVGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcmUgZ29vZCBmb3IgbW9zdCBjYXNlcyBo ZXJlICovCisrCisrI2RlZmluZSBMVUFfSU5URUdFUl9GTVQJCSIlIiBMVUFfSU5URUdFUl9GUk1M RU4gImQiCisrCisrI2RlZmluZSBMVUFJX1VBQ0lOVAkJTFVBX0lOVEVHRVIKKysKKysjZGVmaW5l IGx1YV9pbnRlZ2VyMnN0cihzLHN6LG4pICBcCisrCWxfc3ByaW50ZigocyksIHN6LCBMVUFfSU5U RUdFUl9GTVQsIChMVUFJX1VBQ0lOVCkobikpCisrCisrLyoKKysqKiB1c2UgTFVBSV9VQUNJTlQg aGVyZSB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHByb21vdGlvbnMgKHdoaWNoCisrKiogY2FuIHR1 cm4gYSBjb21wYXJpc29uIGJldHdlZW4gdW5zaWduZWRzIGludG8gYSBzaWduZWQgY29tcGFyaXNv bikKKysqLworKyNkZWZpbmUgTFVBX1VOU0lHTkVECQl1bnNpZ25lZCBMVUFJX1VBQ0lOVAorKwor KworKy8qIG5vdyB0aGUgdmFyaWFibGUgZGVmaW5pdGlvbnMgKi8KKysKKysjaWYgTFVBX0lOVF9U WVBFID09IExVQV9JTlRfSU5UCQkvKiB7IGludCAqLworKworKyNkZWZpbmUgTFVBX0lOVEVHRVIJ CWludAorKyNkZWZpbmUgTFVBX0lOVEVHRVJfRlJNTEVOCSIiCisrCisrI2RlZmluZSBMVUFfTUFY SU5URUdFUgkJSU5UX01BWAorKyNkZWZpbmUgTFVBX01JTklOVEVHRVIJCUlOVF9NSU4KKysKKysj ZWxpZiBMVUFfSU5UX1RZUEUgPT0gTFVBX0lOVF9MT05HCS8qIH17IGxvbmcgKi8KKysKKysjZGVm aW5lIExVQV9JTlRFR0VSCQlsb25nCisrI2RlZmluZSBMVUFfSU5URUdFUl9GUk1MRU4JImwiCisr CisrI2RlZmluZSBMVUFfTUFYSU5URUdFUgkJTE9OR19NQVgKKysjZGVmaW5lIExVQV9NSU5JTlRF R0VSCQlMT05HX01JTgorKworKyNlbGlmIExVQV9JTlRfVFlQRSA9PSBMVUFfSU5UX0xPTkdMT05H CS8qIH17IGxvbmcgbG9uZyAqLworKworKy8qIHVzZSBwcmVzZW5jZSBvZiBtYWNybyBMTE9OR19N QVggYXMgcHJveHkgZm9yIEM5OSBjb21wbGlhbmNlICovCisrI2lmIGRlZmluZWQoTExPTkdfTUFY KQkJLyogeyAqLworKy8qIHVzZSBJU08gQzk5IHN0dWZmICovCisrCisrI2RlZmluZSBMVUFfSU5U RUdFUgkJbG9uZyBsb25nCisrI2RlZmluZSBMVUFfSU5URUdFUl9GUk1MRU4JImxsIgorKworKyNk ZWZpbmUgTFVBX01BWElOVEVHRVIJCUxMT05HX01BWAorKyNkZWZpbmUgTFVBX01JTklOVEVHRVIJ CUxMT05HX01JTgorKworKyNlbGlmIGRlZmluZWQoTFVBX1VTRV9XSU5ET1dTKSAvKiB9eyAqLwor Ky8qIGluIFdpbmRvd3MsIGNhbiB1c2Ugc3BlY2lmaWMgV2luZG93cyB0eXBlcyAqLworKworKyNk ZWZpbmUgTFVBX0lOVEVHRVIJCV9faW50NjQKKysjZGVmaW5lIExVQV9JTlRFR0VSX0ZSTUxFTgki STY0IgorKworKyNkZWZpbmUgTFVBX01BWElOVEVHRVIJCV9JNjRfTUFYCisrI2RlZmluZSBMVUFf TUlOSU5URUdFUgkJX0k2NF9NSU4KKysKKysjZWxzZQkJCQkvKiB9eyAqLworKworKyNlcnJvciAi Q29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCAnbG9uZyBsb25nJy4gVXNlIG9wdGlvbiAnLURMVUFf MzJCSVRTJyBcCisrICBvciAnLURMVUFfQzg5X05VTUJFUlMnIChzZWUgZmlsZSAnbHVhY29uZi5o JyBmb3IgZGV0YWlscykiCisrCisrI2VuZGlmCQkJCS8qIH0gKi8KKysKKysjZWxzZQkJCQkvKiB9 eyAqLworKworKyNlcnJvciAibnVtZXJpYyBpbnRlZ2VyIHR5cGUgbm90IGRlZmluZWQiCisrCisr I2VuZGlmCQkJCS8qIH0gKi8KKysKKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisrCisrLyoKKysqKiB7 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisrKiogRGVwZW5kZW5jaWVzIHdpdGggQzk5IGFuZCBvdGhlciBDIGRldGFpbHMK KysqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisrKi8KKysKKysvKgorK0BAIGxfc3ByaW50ZiBpcyBlcXVpdmFsZW50 IHRvICdzbnByaW50Zicgb3IgJ3NwcmludGYnIGluIEM4OS4KKysqKiAoQWxsIHVzZXMgaW4gTHVh IGhhdmUgb25seSBvbmUgZm9ybWF0IGl0ZW0uKQorKyovCisrI2lmICFkZWZpbmVkKExVQV9VU0Vf Qzg5KQorKyNkZWZpbmUgbF9zcHJpbnRmKHMsc3osZixpKQlzbnByaW50ZihzLHN6LGYsaSkKKysj ZWxzZQorKyNkZWZpbmUgbF9zcHJpbnRmKHMsc3osZixpKQkoKHZvaWQpKHN6KSwgc3ByaW50Zihz LGYsaSkpCisrI2VuZGlmCisrCisrCisrLyoKKytAQCBsdWFfc3RyeDJudW1iZXIgY29udmVydHMg YW4gaGV4YWRlY2ltYWwgbnVtZXJpYyBzdHJpbmcgdG8gYSBudW1iZXIuCisrKiogSW4gQzk5LCAn c3RydG9kJyBkb2VzIHRoYXQgY29udmVyc2lvbi4gT3RoZXJ3aXNlLCB5b3UgY2FuCisrKiogbGVh dmUgJ2x1YV9zdHJ4Mm51bWJlcicgdW5kZWZpbmVkIGFuZCBMdWEgd2lsbCBwcm92aWRlIGl0cyBv d24KKysqKiBpbXBsZW1lbnRhdGlvbi4KKysqLworKyNpZiAhZGVmaW5lZChMVUFfVVNFX0M4OSkK KysjZGVmaW5lIGx1YV9zdHJ4Mm51bWJlcihzLHApCQlsdWFfc3RyMm51bWJlcihzLHApCisrI2Vu ZGlmCisrCisrCisrLyoKKytAQCBsdWFfbnVtYmVyMnN0cnggY29udmVydHMgYSBmbG9hdCB0byBh biBoZXhhZGVjaW1hbCBudW1lcmljIHN0cmluZy4KKysqKiBJbiBDOTksICdzcHJpbnRmJyAod2l0 aCBmb3JtYXQgc3BlY2lmaWVycyAnJWEnLyclQScpIGRvZXMgdGhhdC4KKysqKiBPdGhlcndpc2Us IHlvdSBjYW4gbGVhdmUgJ2x1YV9udW1iZXIyc3RyeCcgdW5kZWZpbmVkIGFuZCBMdWEgd2lsbAor KyoqIHByb3ZpZGUgaXRzIG93biBpbXBsZW1lbnRhdGlvbi4KKysqLworKyNpZiAhZGVmaW5lZChM VUFfVVNFX0M4OSkKKysjZGVmaW5lIGx1YV9udW1iZXIyc3RyeChMLGIsc3osZixuKSAgXAorKwko KHZvaWQpTCwgbF9zcHJpbnRmKGIsc3osZiwoTFVBSV9VQUNOVU1CRVIpKG4pKSkKKysjZW5kaWYK KysKKysKKysvKgorKyoqICdzdHJ0b2YnIGFuZCAnb3BmJyB2YXJpYW50cyBmb3IgbWF0aCBmdW5j dGlvbnMgYXJlIG5vdCB2YWxpZCBpbgorKyoqIEM4OS4gT3RoZXJ3aXNlLCB0aGUgbWFjcm8gJ0hV R0VfVkFMRicgaXMgYSBnb29kIHByb3h5IGZvciB0ZXN0aW5nIHRoZQorKyoqIGF2YWlsYWJpbGl0 eSBvZiB0aGVzZSB2YXJpYW50cy4gKCdtYXRoLmgnIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4KKysq KiBhbGwgZmlsZXMgdGhhdCB1c2UgdGhlc2UgbWFjcm9zLikKKysqLworKyNpZiBkZWZpbmVkKExV QV9VU0VfQzg5KSB8fCAoZGVmaW5lZChIVUdFX1ZBTCkgJiYgIWRlZmluZWQoSFVHRV9WQUxGKSkK KysjdW5kZWYgbF9tYXRob3AgIC8qIHZhcmlhbnRzIG5vdCBhdmFpbGFibGUgKi8KKysjdW5kZWYg bHVhX3N0cjJudW1iZXIKKysjZGVmaW5lIGxfbWF0aG9wKG9wKQkJKGx1YV9OdW1iZXIpb3AgIC8q IG5vIHZhcmlhbnQgKi8KKysjZGVmaW5lIGx1YV9zdHIybnVtYmVyKHMscCkJKChsdWFfTnVtYmVy KXN0cnRvZCgocyksIChwKSkpCisrI2VuZGlmCisrCisrCisrLyoKKytAQCBMVUFfS0NPTlRFWFQg aXMgdGhlIHR5cGUgb2YgdGhlIGNvbnRleHQgKCdjdHgnKSBmb3IgY29udGludWF0aW9uCisrKiog ZnVuY3Rpb25zLiAgSXQgbXVzdCBiZSBhIG51bWVyaWNhbCB0eXBlOyBMdWEgd2lsbCB1c2UgJ2lu dHB0cl90JyBpZgorKyoqIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGl0IHdpbGwgdXNlICdwdHJkaWZm X3QnICh0aGUgbmVhcmVzdCB0aGluZyB0bworKyoqICdpbnRwdHJfdCcgaW4gQzg5KQorKyovCisr I2RlZmluZSBMVUFfS0NPTlRFWFQJcHRyZGlmZl90CisrCisrI2lmICFkZWZpbmVkKExVQV9VU0Vf Qzg5KSAmJiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pICYmIFwKKysgICAgX19TVERDX1ZFUlNJ T05fXyA+PSAxOTk5MDFMCisrI2luY2x1ZGUgPHN0ZGludC5oPgorKyNpZiBkZWZpbmVkKElOVFBU Ul9NQVgpICAvKiBldmVuIGluIEM5OSB0aGlzIHR5cGUgaXMgb3B0aW9uYWwgKi8KKysjdW5kZWYg TFVBX0tDT05URVhUCisrI2RlZmluZSBMVUFfS0NPTlRFWFQJaW50cHRyX3QKKysjZW5kaWYKKysj ZW5kaWYKKysKKysKKysvKgorK0BAIGx1YV9nZXRsb2NhbGVkZWNwb2ludCBnZXRzIHRoZSBsb2Nh bGUgInJhZGl4IGNoYXJhY3RlciIgKGRlY2ltYWwgcG9pbnQpLgorKyoqIENoYW5nZSB0aGF0IGlm IHlvdSBkbyBub3Qgd2FudCB0byB1c2UgQyBsb2NhbGVzLiAoQ29kZSB1c2luZyB0aGlzCisrKiog bWFjcm8gbXVzdCBpbmNsdWRlIGhlYWRlciAnbG9jYWxlLmgnLikKKysqLworKyNpZiAhZGVmaW5l ZChsdWFfZ2V0bG9jYWxlZGVjcG9pbnQpCisrI2RlZmluZSBsdWFfZ2V0bG9jYWxlZGVjcG9pbnQo KQkJKGxvY2FsZWNvbnYoKS0+ZGVjaW1hbF9wb2ludFswXSkKKysjZW5kaWYKKysKKysvKiB9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ICovCisrCisrCisrLyoKKysqKiB7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrKiogTGFuZ3VhZ2UgVmFyaWF0 aW9ucworKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorKyovCisrCisrLyoKKytAQCBMVUFfTk9DVlROMlMvTFVB X05PQ1ZUUzJOIGNvbnRyb2wgaG93IEx1YSBwZXJmb3JtcyBzb21lCisrKiogY29lcmNpb25zLiBE ZWZpbmUgTFVBX05PQ1ZUTjJTIHRvIHR1cm4gb2ZmIGF1dG9tYXRpYyBjb2VyY2lvbiBmcm9tCisr KiogbnVtYmVycyB0byBzdHJpbmdzLiBEZWZpbmUgTFVBX05PQ1ZUUzJOIHRvIHR1cm4gb2ZmIGF1 dG9tYXRpYworKyoqIGNvZXJjaW9uIGZyb20gc3RyaW5ncyB0byBudW1iZXJzLgorKyovCisrLyog I2RlZmluZSBMVUFfTk9DVlROMlMgKi8KKysvKiAjZGVmaW5lIExVQV9OT0NWVFMyTiAqLworKwor KworKy8qCisrQEAgTFVBX1VTRV9BUElDSEVDSyB0dXJucyBvbiBzZXZlcmFsIGNvbnNpc3RlbmN5 IGNoZWNrcyBvbiB0aGUgQyBBUEkuCisrKiogRGVmaW5lIGl0IGFzIGEgaGVscCB3aGVuIGRlYnVn Z2luZyBDIGNvZGUuCisrKi8KKysjaWYgZGVmaW5lZChMVUFfVVNFX0FQSUNIRUNLKQorKyNpbmNs dWRlIDxhc3NlcnQuaD4KKysjZGVmaW5lIGx1YWlfYXBpY2hlY2sobCxlKQlhc3NlcnQoZSkKKysj ZW5kaWYKKysKKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisrCisrLyoKKysqKiB7PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr KiogTWFjcm9zIHRoYXQgYWZmZWN0IHRoZSBBUEkgYW5kIG11c3QgYmUgc3RhYmxlICh0aGF0IGlz LCBtdXN0IGJlIHRoZQorKyoqIHNhbWUgd2hlbiB5b3UgY29tcGlsZSBMdWEgYW5kIHdoZW4geW91 IGNvbXBpbGUgY29kZSB0aGF0IGxpbmtzIHRvCisrKiogTHVhKS4gWW91IHByb2JhYmx5IGRvIG5v dCB3YW50L25lZWQgdG8gY2hhbmdlIHRoZW0uCisrKiogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrKi8KKysKKysv KgorK0BAIExVQUlfTUFYU1RBQ0sgbGltaXRzIHRoZSBzaXplIG9mIHRoZSBMdWEgc3RhY2suCisr KiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIGEgZGlmZmVyZW50IGxpbWl0LiBUaGlzIGxpbWl0IGlz IGFyYml0cmFyeTsKKysqKiBpdHMgb25seSBwdXJwb3NlIGlzIHRvIHN0b3AgTHVhIGZyb20gY29u c3VtaW5nIHVubGltaXRlZCBzdGFjaworKyoqIHNwYWNlIChhbmQgdG8gcmVzZXJ2ZSBzb21lIG51 bWJlcnMgZm9yIHBzZXVkby1pbmRpY2VzKS4KKysqLworKyNpZiBMVUFJX0JJVFNJTlQgPj0gMzIK KysjZGVmaW5lIExVQUlfTUFYU1RBQ0sJCTEwMDAwMDAKKysjZWxzZQorKyNkZWZpbmUgTFVBSV9N QVhTVEFDSwkJMjA0OAorKyNlbmRpZgorKworKworKy8qCisrQEAgTFVBX0VYVFJBU1BBQ0UgZGVm aW5lcyB0aGUgc2l6ZSBvZiBhIHJhdyBtZW1vcnkgYXJlYSBhc3NvY2lhdGVkIHdpdGgKKysqKiBh IEx1YSBzdGF0ZSB3aXRoIHZlcnkgZmFzdCBhY2Nlc3MuCisrKiogQ0hBTkdFIGl0IGlmIHlvdSBu ZWVkIGEgZGlmZmVyZW50IHNpemUuCisrKi8KKysjZGVmaW5lIExVQV9FWFRSQVNQQUNFCQkoc2l6 ZW9mKHZvaWQgKikpCisrCisrCisrLyoKKytAQCBMVUFfSURTSVpFIGdpdmVzIHRoZSBtYXhpbXVt IHNpemUgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc291cmNlCisrQEAgb2YgYSBmdW5jdGlv biBpbiBkZWJ1ZyBpbmZvcm1hdGlvbi4KKysqKiBDSEFOR0UgaXQgaWYgeW91IHdhbnQgYSBkaWZm ZXJlbnQgc2l6ZS4KKysqLworKyNkZWZpbmUgTFVBX0lEU0laRQk2MAorKworKworKy8qCisrQEAg TFVBTF9CVUZGRVJTSVpFIGlzIHRoZSBidWZmZXIgc2l6ZSB1c2VkIGJ5IHRoZSBsYXV4bGliIGJ1 ZmZlciBzeXN0ZW0uCisrKiogQ0hBTkdFIGl0IGlmIGl0IHVzZXMgdG9vIG11Y2ggQy1zdGFjayBz cGFjZS4gKEZvciBsb25nIGRvdWJsZSwKKysqKiAnc3RyaW5nLmZvcm1hdCgiJS45OWYiLCAtMWU0 OTMyKScgbmVlZHMgNTAzNCBieXRlcywgc28gYQorKyoqIHNtYWxsZXIgYnVmZmVyIHdvdWxkIGZv cmNlIGEgbWVtb3J5IGFsbG9jYXRpb24gZm9yIGVhY2ggY2FsbCB0bworKyoqICdzdHJpbmcuZm9y bWF0Jy4pCisrKi8KKysjaWYgTFVBX0ZMT0FUX1RZUEUgPT0gTFVBX0ZMT0FUX0xPTkdET1VCTEUK KysjZGVmaW5lIExVQUxfQlVGRkVSU0laRQkJODE5MgorKyNlbHNlCisrI2RlZmluZSBMVUFMX0JV RkZFUlNJWkUgICAoKGludCkoMHg4MCAqIHNpemVvZih2b2lkKikgKiBzaXplb2YobHVhX0ludGVn ZXIpKSkKKysjZW5kaWYKKysKKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisrCisrCisrLyoKKytAQCBMVUFf UUwgZGVzY3JpYmVzIGhvdyBlcnJvciBtZXNzYWdlcyBxdW90ZSBwcm9ncmFtIGVsZW1lbnRzLgor KyoqIEx1YSBkb2VzIG5vdCB1c2UgdGhlc2UgbWFjcm9zIGFueW1vcmU7IHRoZXkgYXJlIGhlcmUg Zm9yCisrKiogY29tcGF0aWJpbGl0eSBvbmx5LgorKyovCisrI2RlZmluZSBMVUFfUUwoeCkJIici IHggIiciCisrI2RlZmluZSBMVUFfUVMJCUxVQV9RTCgiJXMiKQorKworKworKworKworKy8qID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0gKi8KKysKKysvKgorKyoqIExvY2FsIGNvbmZpZ3VyYXRpb24uIFlvdSBjYW4gdXNl IHRoaXMgc3BhY2UgdG8gYWRkIHlvdXIgcmVkZWZpbml0aW9ucworKyoqIHdpdGhvdXQgbW9kaWZ5 aW5nIHRoZSBtYWluIHBhcnQgb2YgdGhlIGZpbGUuCisrKi8KKysKKysKKysKKysKKysKKysjZW5k aWYKKysKZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAxMDItQWRkLWx1YS1zdXBwb3J0 LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2ggYi9wYXRjaGVzL2x1YS01 LjMuNC8wMTAzLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZp bGVzLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIHBhdGNoZXMvbHVhLTUu MS40LzAxMDItQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmls ZXMucGF0Y2gKcmVuYW1lIHRvIHBhdGNoZXMvbHVhLTUuMy40LzAxMDMtQWRkLWx1YS1zdXBwb3J0 LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2gKaW5kZXggYTJiNmM0YWFl Li4xYmEyNzgyNWUgMTAwNjQ0Ci0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAxMDItQWRkLWx1YS1z dXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2gKKysrIGIvcGF0 Y2hlcy9sdWEtNS4zLjQvMDEwMy1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1h dXRvbWFrZS1maWxlcy5wYXRjaApAQCAtMTMsMTAgKzEzLDEwIEBAIFNpZ25lZC1vZmYtYnk6IFJv YmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KIC0tLQogIE1ha2VmaWxl LmFtICAgICAgfCAgNSArKysrKwogIGRvYy9NYWtlZmlsZS5hbSAgfCAgNSArKysrKwotIGV0Yy9N YWtlZmlsZS5hbSAgfCAgOCArKysrKysrKworIGV0Yy9NYWtlZmlsZS5hbSAgfCAgNiArKysrKysK ICBzcmMvTWFrZWZpbGUuYW0gIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKICB0ZXN0L01ha2VmaWxlLmFtIHwgIDUgKysrKysKLSA1IGZpbGVzIGNo YW5nZWQsIDcwIGluc2VydGlvbnMoKykKKyA1IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMo KykKICBjcmVhdGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUuYW0KICBjcmVhdGUgbW9kZSAxMDA2NDQg ZG9jL01ha2VmaWxlLmFtCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGV0Yy9NYWtlZmlsZS5hbQpAQCAt MjUsNyArMjUsNyBAQCBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxA cGVuZ3V0cm9uaXguZGU+CiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFt CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZGU3OGEyNAoraW5kZXggMDAw MDAwMDAwMDAwLi5kZTc4YTI0NWU0OWUKIC0tLSAvZGV2L251bGwKICsrKyBiL01ha2VmaWxlLmFt CiBAQCAtMCwwICsxLDUgQEAKQEAgLTM2LDcgKzM2LDcgQEAgaW5kZXggMDAwMDAwMC4uZGU3OGEy NAogK0VYVFJBX0RJU1QgPSBhdXRvZ2VuLnNoIENPUFlSSUdIVCBISVNUT1JZIElOU1RBTEwgUkVB RE1FCiBkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9jL01ha2VmaWxlLmFtCiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTc0YjZmOAoraW5kZXggMDAwMDAwMDAw MDAwLi41NzRiNmY4ZWI5M2EKIC0tLSAvZGV2L251bGwKICsrKyBiL2RvYy9NYWtlZmlsZS5hbQog QEAgLTAsMCArMSw1IEBACkBAIC00NywxMiArNDcsMTAgQEAgaW5kZXggMDAwMDAwMC4uNTc0YjZm OAogKwlsb2dvLmdpZiAgICAgICBsdWFjLjEgIGx1YS5jc3MgICAgcmVhZG1lLmh0bWwKIGRpZmYg LS1naXQgYS9ldGMvTWFrZWZpbGUuYW0gYi9ldGMvTWFrZWZpbGUuYW0KIG5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yM2VkZDkyCitpbmRleCAwMDAwMDAwMDAwMDAuLmI4Njll NzcxOTg3ZQogLS0tIC9kZXYvbnVsbAogKysrIGIvZXRjL01ha2VmaWxlLmFtCi1AQCAtMCwwICsx LDggQEAKLStpbmNsdWRlX0hFQURFUlMgPSBsdWEuaHBwCi0rCitAQCAtMCwwICsxLDYgQEAKICtw a2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCiArcGtnY29uZmlnX0RBVEEgPSBsdWEu cGMKICsKQEAgLTYxLDEzICs1OSwxMyBAQCBpbmRleCAwMDAwMDAwLi4yM2VkZDkyCiArCWx1YXZz LmJhdCAgbWluLmMgICAgICBSRUFETUUKIGRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0gYi9z cmMvTWFrZWZpbGUuYW0KIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5jZjZi ZGVhCitpbmRleCAwMDAwMDAwMDAwMDAuLmZkZWMyMzNjYjUyMQogLS0tIC9kZXYvbnVsbAogKysr IGIvc3JjL01ha2VmaWxlLmFtCiBAQCAtMCwwICsxLDQ3IEBACiArQU1fQ0ZMQUdTID0gLVdhbGwK ICsKLStpbmNsdWRlX0hFQURFUlMgPSBsdWEuaCBsdWFsaWIuaCBsYXV4bGliLmgKKytpbmNsdWRl X0hFQURFUlMgPSBsdWEuaCBsdWFsaWIuaCBsYXV4bGliLmggbHVhLmhwcAogK25vZGlzdF9pbmNs dWRlX0hFQURFUlMgPSBsdWFjb25mLmgKICsKICtsaWJfTFRMSUJSQVJJRVMgPSBsaWJsdWEubGEK QEAgLTc3LDcgKzc1LDcgQEAgaW5kZXggMDAwMDAwMC4uY2Y2YmRlYQogKwlsb2JqZWN0LmMgbG9w Y29kZXMuYyBscGFyc2VyLmMgbHN0YXRlLmMgbHN0cmluZy5jIGx0YWJsZS5jIGx0bS5jICBcCiAr CWx1bmR1bXAuYyBsdm0uYyBsemlvLmMgXAogKwlsYXV4bGliLmMgbGJhc2VsaWIuYyBsZGJsaWIu YyBsaW9saWIuYyBsbWF0aGxpYi5jIGxvc2xpYi5jIGx0YWJsaWIuYyBcCi0rCWxzdHJsaWIuYyBs b2FkbGliLmMgbGluaXQuYyBcCisrCWxzdHJsaWIuYyBsb2FkbGliLmMgbGluaXQuYyBsY3R5cGUu YyBsY29yb2xpYi5jIGx1dGY4bGliLmMgXAogKwlsYXBpLmggbGRlYnVnLmggbGdjLmggbG1lbS5o IGxwYXJzZXIuaCBsdGFibGUuaCBsemlvLmggbGRvLmggbGxleC5oIFwKICsJbG9iamVjdC5oIGxz dGF0ZS5oIGx0bS5oIGx1bmR1bXAuaCBsY29kZS5oIGxmdW5jLmggbGxpbWl0cy5oIGxvcGNvZGVz LmggXAogKwlsc3RyaW5nLmggbHZtLmgKQEAgLTkwLDcgKzg4LDcgQEAgaW5kZXggMDAwMDAwMC4u Y2Y2YmRlYQogK2x1YV9MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNACiArbHVhX0RFUEVOREVO Q0lFUyA9IGxpYmx1YS5sYQogKwotK2x1YWNfU09VUkNFUyA9IGx1YWMuYyBwcmludC5jCisrbHVh Y19TT1VSQ0VTID0gbHVhYy5jCiArbHVhY19MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNACiAr bHVhY19ERVBFTkRFTkNJRVMgPSBsaWJsdWEubGEKICsKQEAgLTExNCw3ICsxMTIsNyBAQCBpbmRl eCAwMDAwMDAwLi5jZjZiZGVhCiArCW12IGx1YWNvbmYuaC50bXAgbHVhY29uZi5oCiBkaWZmIC0t Z2l0IGEvdGVzdC9NYWtlZmlsZS5hbSBiL3Rlc3QvTWFrZWZpbGUuYW0KIG5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5iYWI3ZWFjCitpbmRleCAwMDAwMDAwMDAwMDAuLmJhYjdl YWMyZmM3NAogLS0tIC9kZXYvbnVsbAogKysrIGIvdGVzdC9NYWtlZmlsZS5hbQogQEAgLTAsMCAr MSw1IEBACmRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC9hdXRvZ2VuLnNoIGIvcGF0Y2hl cy9sdWEtNS4zLjQvYXV0b2dlbi5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20g cGF0Y2hlcy9sdWEtNS4xLjQvYXV0b2dlbi5zaApyZW5hbWUgdG8gcGF0Y2hlcy9sdWEtNS4zLjQv YXV0b2dlbi5zaApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzIGIvcGF0Y2hl cy9sdWEtNS4zLjQvc2VyaWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ZTU4MjQxYjhiCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzCkBA IC0wLDAgKzEsNiBAQAorIyBnZW5lcmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCisjdGFnOmJhc2Ug LS1zdGFydC1udW1iZXIgMTAxCiswMTAxLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTkt cmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRjaAorMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlz dC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAorMDEwMy1BZGQtbHVhLXN1cHBvcnQtdG8t cHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5wYXRjaAorIyA3OTJjOGEwMmFlNjQ1ODNm YjExYTExY2UzNjA5YmVkMiAgLSBnaXQtcHR4LXBhdGNoZXMgbWFnaWMKZGlmZiAtLWdpdCBhL3J1 bGVzL2x1YS5tYWtlIGIvcnVsZXMvbHVhLm1ha2UKaW5kZXggMzBiY2U1ZGE3Li5kNzM0MzM5ZDkg MTAwNjQ0Ci0tLSBhL3J1bGVzL2x1YS5tYWtlCisrKyBiL3J1bGVzL2x1YS5tYWtlCkBAIC0xNyw4 ICsxNyw4IEBAIFBBQ0tBR0VTLSQoUFRYQ09ORl9MVUEpICs9IGx1YQogIwogIyBQYXRocyBhbmQg bmFtZXMKICMKLUxVQV9WRVJTSU9OCTo9IDUuMS40Ci1MVUFfTUQ1CQk6PSBkMDg3MGYyZGU1NWQ1 OWMxYzg0MTlmMzZlOGZhYzE1MAorTFVBX1ZFUlNJT04JOj0gNS4zLjQKK0xVQV9NRDUJCTo9IDUz YTljNjhiY2MwZWRhNThiZGMyMDk1YWQ1Y2RmYzYzCiBMVUEJCTo9IGx1YS0kKExVQV9WRVJTSU9O KQogTFVBX1NVRkZJWAk6PSB0YXIuZ3oKIExVQV9VUkwJCTo9IGh0dHA6Ly93d3cubHVhLm9yZy9m dHAvJChMVUEpLiQoTFVBX1NVRkZJWCkKLS0gCjIuMTMuMgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCnB0eGRpc3QgbWFpbGluZyBsaXN0CnB0eGRpc3RA cGVuZ3V0cm9uaXguZGU=