Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ujmf2-00Bx21-8Z for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Aug 2025 22:31:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ujmez-001VpC-LT for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Aug 2025 22:31:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ujmez-001Vp2-8H for pgsql-hackers@lists.postgresql.org; Wed, 06 Aug 2025 22:31:01 +0000 Received: from panther.cherry.relay.mailchannels.net ([23.83.223.141]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ujmew-0018tJ-0T for pgsql-hackers@postgresql.org; Wed, 06 Aug 2025 22:31:00 +0000 X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 808B38A53CB; Wed, 6 Aug 2025 22:30:55 +0000 (UTC) Received: from fr-int-smtpout5.hostinger.io (trex-blue-6.trex.outbound.svc.cluster.local [100.98.216.71]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id 1D9178A5E40; Wed, 6 Aug 2025 22:30:52 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1754519453; a=rsa-sha256; cv=none; b=80TG6TSRahd7r91jaw0lLJXxeKdgnpy2hCIP0bkdX90Jhdh2c6NHx5IdbzPISWcRopTIDF zlTwISdGrOMjl7V+7TeTaZ695tYXrci3nHAwqUAr+OYzWkepkOTJBwnoPcjo+bWOnZikSr g8gYuuDKItRhSlRQ714FMUDMgSWUVd1XyRBnZi6DLbNYFoQcw+Xaw8lUBHUDdhp9XoqQwC Dr++V3FPwGDCC4ZBoZuGon4FY/jIqEhoNpQCAKd35YoxWlpGG6lWIQBjLSv0Rqpe8Noguc 6cxFGebXfFaOZ9+6ykl/D4IXTtOrKeugQe35GFNl0j6KjWL/225s4CjD1lGRBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1754519453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gchoKqXlCV9+URbfRDTOhnXI47TCPrXOMjqEGDirYhQ=; b=bsCEqiblkpI/5NzYZB3TeV/bSpnnc/P/b20hiXMmYLVYa6kdMhYPA0iJ9rfNgZm77Qe8zw msGtO3OQb67VBblQSOpCgICySeXCltehwO7wfh3TAyVUHqqI/tKNRmeaBUxz4NLjetSW0/ qeP99mSDeJ2YklMm62Y3T21GUGVsbprPMaPXnVUQty/VdHO07UZfa6HSTd0bdpKneHRZp1 hG1R5inwd6ss4QSD1llIXV8DbKMCcOngur3N0Pz5YPwVwMeCw3z+6uyo/VjH681H1aYDZI bj4VixoNG2mKNGDHz7OogHOgXPqJlaxVNeAkeOrmVyYwTC6To+vKF6wQHfDsyw== ARC-Authentication-Results: i=1; rspamd-565df7d78-rkwqc; auth=pass smtp.auth=hostingeremail smtp.mailfrom=david@pgbackrest.org X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|david@pgbackrest.org X-MailChannels-Auth-Id: hostingeremail X-Drop-Vacuous: 50b316b168b46c1e_1754519454097_1372532121 X-MC-Loop-Signature: 1754519454097:3411716351 X-MC-Ingress-Time: 1754519454097 Received: from fr-int-smtpout5.hostinger.io (fr-int-smtpout5.hostinger.io [89.116.146.168]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.98.216.71 (trex/7.1.3); Wed, 06 Aug 2025 22:30:54 +0000 Received: from [10.5.0.2] (unknown [45.85.145.143]) (Authenticated sender: david@pgbackrest.org) by smtp.hostinger.com (smtp.hostinger.com) with ESMTPSA id 4by4kf4xy6z4KdS7; Wed, 06 Aug 2025 22:30:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgbackrest.org; s=hostingermail1; t=1754519451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=gchoKqXlCV9+URbfRDTOhnXI47TCPrXOMjqEGDirYhQ=; b=MLnNcj6rhwL4xtX3132PcgJXPR3hjGqp6mhPn1/9ru1wZXXzBB/5kwTDXAxeAcp0m2mbSa qtxFP6LNP6LWJm7iJnU1eGlrfzlqkSjMkX+vUwp7/uo9n1Fmp+Gptub24DZ1GB1DRCKr6i 3puk0h5vmsmm73HIdFmLZRaofvotyef4hSqocGAYxZlFIXmEIRgK6cFgWqkQ55JTWK0cMn miMhAsPHamjhRMvzL12GJHQKp8Kj3PzCvS2j9FZp1/GN/dcN/1BFMr/U1ZCKqdp54gR9oX q9X1jKyGYDUTCKviNi2JgavtxjWVHiolQY+q7bm0TcE550xe8slI2AHQPbKzqg== Content-Type: multipart/mixed; boundary="------------pcIlNgvcquI0hIEdukEgPgwG" Message-ID: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Return pg_control from pg_backup_stop(). From: David Steele To: Michael Paquier Cc: Pg Hackers References: <83f5295e-082d-432c-92a4-365707bd2296@pgbackrest.org> <1248c005-b693-494a-8d7a-68bc7d482679@pgbackrest.org> Content-Language: en-US In-Reply-To: Date: Wed, 06 Aug 2025 22:30:50 +0000 (UTC) X-CM-Envelope: MS4xfG5JesH5pEIb79Kvl9Ooju/wXc15Otun378vFtQWM/vyp+yFpYTyCmiwtybOYJ5DGD37jJNT1d6QiPW4zZTVPUEgrA9cBeWtvZThLTqrUMAGp45ZgLn+ HJWeybLAxyOrvcz7hiFSpqrrRtKWyaYcqZsgqe+eDA6XHrujErQVQJkC1l54ckoywR2OiOqO4uwhdYrBJEkCiyeF96p6/TwJt+45QxahHqwFVXDHZA14rJUW X-CM-Analysis: v=2.4 cv=LaRu6Sfi c=1 sm=1 tr=0 ts=6893d79b a=kNgMJLJ8SOpTmY7cy2a3hg==:117 a=kNgMJLJ8SOpTmY7cy2a3hg==:17 a=r77TgQKjGQsHNAKrUKIA:9 a=6sqF0RPdOZokjhUr_EIA:9 a=QEXdDO2ut3YA:10 a=1wDIiH70AAAA:8 a=BrH_PYqVEc-fe6y1AjoA:9 a=B2y7HmGcmWMA:10 a=WNkvEeduyFTyrgwSCRMA:9 a=uCsh6WI2SJRHIg0NT2Eg:22 X-AuthUser: david@pgbackrest.org List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------pcIlNgvcquI0hIEdukEgPgwG Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/24/25 13:43, David Steele wrote: > > Rebased and improved a comment and an error. Rebased to fix breakage caused by the split of func.sgml in 4e23c9e. Regards, -David --------------pcIlNgvcquI0hIEdukEgPgwG Content-Type: text/plain; charset=UTF-8; name="pgcontrol-flag-v6-01-basebackup.patch" Content-Disposition: attachment; filename="pgcontrol-flag-v6-01-basebackup.patch" Content-Transfer-Encoding: base64 RnJvbSBjNDQ1MjVmNjRmNmEyZWVkNGYyNjM2ZGI3MGUyNTUyMzcyNDRkNWI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBTdGVlbGUgPGRhdmlkQHBnbWFzdGVycy5u ZXQ+CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAyMjoyNTo0MSArMDAwMApTdWJqZWN0OiBBZGQg cGdfY29udHJvbCBmbGFnIHRvIHByZXZlbnQgcmVjb3Zlcnkgd2l0aG91dCBiYWNrdXBfbGFi ZWwuCgpIYXJkZW4gcmVjb3ZlcnkgYnkgYWRkaW5nIGEgZmxhZyB0byBwZ19jb250cm9sIHRv IGluZGljYXRlIHRoYXQgYmFja3VwX2xhYmVsIGlzCnJlcXVpcmVkLiBUaGlzIHByZXZlbnRz IHRoZSB1c2VyIGZyb20gZGVsZXRpbmcgYmFja3VwX2xhYmVsIHJlc3VsdGluZyBpbiBhbgpp bmNvbnNpc3RlbnQgcmVjb3ZlcnkuCgpBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoZSBj b3B5IG9mIHBnX2NvbnRyb2wgdXNlZCBieSBwZ19iYXNlYmFja3VwIGlzCmd1YXJhbnRlZWQg bm90IHRvIGJlIHRvcm4uCgpUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbGltaXRlZCB0byBwZ19i YXNlYmFja3VwIChvciBhbnkgc29mdHdhcmUgY29tZm9ydGFibGUKd2l0aCBtb2RpZnlpbmcg cGdfY29udHJvbCkuCgpDb250cm9sIGFuZCBjYXRhbG9nIHZlcnNpb24gYnVtcHMgYXJlIHJl cXVpcmVkLgotLS0KIGRvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtaW5mby5zZ21sICAgICAgICAg IHwgIDUgKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYyAgICAgICAg IHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hsb2dyZWNvdmVyeS5jIHwgMTAgKysrKysrKysrLQogc3JjL2JhY2tlbmQvYmFja3Vw L2Jhc2ViYWNrdXAuYyAgICAgICAgICAgfCAxNSArKysrKystLS0tLS0tLS0KIHNyYy9iYWNr ZW5kL3V0aWxzL21pc2MvcGdfY29udHJvbGRhdGEuYyAgIHwgIDcgKysrKystLQogc3JjL2Jp bi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jICAgfCAgMiArKwogc3JjL2Jpbi9w Z19yZXNldHdhbC9wZ19yZXNldHdhbC5jICAgICAgICAgfCAgMSArCiBzcmMvYmluL3BnX3Jl d2luZC9wZ19yZXdpbmQuYyAgICAgICAgICAgICB8ICAxICsKIHNyYy9pbmNsdWRlL2FjY2Vz cy94bG9nLmggICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19jb250cm9sLmggICAgICAgICAgfCAgNCArKysrCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0ICAgICAgICAgICB8ICA2ICsrKy0tLQogc3JjL3Rlc3QvcmVjb3ZlcnkvdC8w MDJfYXJjaGl2aW5nLnBsICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrKwogMTIgZmls ZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1pbmZvLnNnbWwgYi9kb2Mvc3JjL3NnbWwv ZnVuYy9mdW5jLWluZm8uc2dtbAppbmRleCBiNTA3YmZhZjY0Yi4uZjE4NWM4MGNlYzIgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtaW5mby5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9mdW5jL2Z1bmMtaW5mby5zZ21sCkBAIC0zNTg4LDYgKzM1ODgsMTEgQEAgYWNs ICAgICAgfCB7cG9zdGdyZXM9YXJ3ZER4dG0vcG9zdGdyZXMsZm9vPXIvcG9zdGdyZXN9CiAg ICAgICAgPGVudHJ5Pjx0eXBlPmJvb2xlYW48L3R5cGU+PC9lbnRyeT4KICAgICAgIDwvcm93 PgogCisgICAgICA8cm93PgorICAgICAgIDxlbnRyeT48c3RydWN0ZmllbGQ+YmFja3VwX2xh YmVsX3JlcXVpcmVkPC9zdHJ1Y3RmaWVsZD48L2VudHJ5PgorICAgICAgIDxlbnRyeT48dHlw ZT5ib29sZWFuPC90eXBlPjwvZW50cnk+CisgICAgICA8L3Jvdz4KKwogICAgICA8L3Rib2R5 PgogICAgIDwvdGdyb3VwPgogICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy90cmFuc2FtL3hsb2cuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hs b2cuYwppbmRleCA5YTRkZTE2MTZiYy4uMDQ5MjI4MzZjYmMgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS94bG9nLmMKQEAgLTk1NzksNiArOTU3OSwyOSBAQCBkb19wZ19hYm9ydF9iYWNr dXAoaW50IGNvZGUsIERhdHVtIGFyZykKIAl9CiB9CiAKKy8qCisgKiBDcmVhdGUgYSBjb25z aXN0ZW50IGNvcHkgb2YgY29udHJvbCBkYXRhIHRvIGJlIHVzZWQgZm9yIGJhY2t1cCBhbmQg dXBkYXRlIGl0CisgKiB0byByZXF1aXJlIGEgYmFja3VwIGxhYmVsIGZvciByZWNvdmVyeS4g QWxzbyByZWNhbGN1bGF0ZSB0aGUgQ1JDLgorICovCit2b2lkCitiYWNrdXBfY29udHJvbF9m aWxlKHVpbnQ4X3QgKmNvbnRyb2xGaWxlKQoreworCUNvbnRyb2xGaWxlRGF0YSAqY29udHJv bERhdGEgPSAoKENvbnRyb2xGaWxlRGF0YSAqKWNvbnRyb2xGaWxlKTsKKworCW1lbXNldChj b250cm9sRmlsZSArIHNpemVvZihDb250cm9sRmlsZURhdGEpLCAwLAorCQkgICBQR19DT05U Uk9MX0ZJTEVfU0laRSAtIHNpemVvZihDb250cm9sRmlsZURhdGEpKTsKKworCUxXTG9ja0Fj cXVpcmUoQ29udHJvbEZpbGVMb2NrLCBMV19TSEFSRUQpOworCW1lbWNweShjb250cm9sRmls ZSwgQ29udHJvbEZpbGUsIHNpemVvZihDb250cm9sRmlsZURhdGEpKTsKKwlMV0xvY2tSZWxl YXNlKENvbnRyb2xGaWxlTG9jayk7CisKKwljb250cm9sRGF0YS0+YmFja3VwTGFiZWxSZXF1 aXJlZCA9IHRydWU7CisKKwlJTklUX0NSQzMyQyhjb250cm9sRGF0YS0+Y3JjKTsKKwlDT01Q X0NSQzMyQyhjb250cm9sRGF0YS0+Y3JjLCBjb250cm9sRmlsZSwgb2Zmc2V0b2YoQ29udHJv bEZpbGVEYXRhLCBjcmMpKTsKKwlGSU5fQ1JDMzJDKGNvbnRyb2xEYXRhLT5jcmMpOworfQor CiAvKgogICogUmVnaXN0ZXIgYSBoYW5kbGVyIHRoYXQgd2lsbCB3YXJuIGFib3V0IHVudGVy bWluYXRlZCBiYWNrdXBzIGF0IGVuZCBvZgogICogc2Vzc2lvbiwgdW5sZXNzIHRoaXMgaGFz IGFscmVhZHkgYmVlbiBkb25lLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGxvZ3JlY292ZXJ5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9n cmVjb3ZlcnkuYwppbmRleCBmMjNlYzg5NjljMi4uOWVmYmFmY2UzMzUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCkBAIC03MDksNyArNzA5LDE0 IEBAIEluaXRXYWxSZWNvdmVyeShDb250cm9sRmlsZURhdGEgKkNvbnRyb2xGaWxlLCBib29s ICp3YXNTaHV0ZG93bl9wdHIsCiAJfQogCWVsc2UKIAl7Ci0JCS8qIE5vIGJhY2t1cF9sYWJl bCBmaWxlIGhhcyBiZWVuIGZvdW5kIGlmIHdlIGFyZSBoZXJlLiAqLworCQkvKgorCQkgKiBO byBiYWNrdXBfbGFiZWwgZmlsZSBoYXMgYmVlbiBmb3VuZCBpZiB3ZSBhcmUgaGVyZS4gRXJy b3IgaWYgdGhlCisJCSAqIGNvbnRyb2wgZmlsZSByZXF1aXJlcyBiYWNrdXBfbGFiZWwuCisJ CSAqLworCQlpZiAoQ29udHJvbEZpbGUtPmJhY2t1cExhYmVsUmVxdWlyZWQpCisJCQllcmVw b3J0KEZBVEFMLAorCQkJCQkoZXJybXNnKCJjb3VsZCBub3QgZmluZCBiYWNrdXBfbGFiZWwg cmVxdWlyZWQgZm9yIHJlY292ZXJ5IiksCisJCQkJCSBlcnJoaW50KCJiYWNrdXBfbGFiZWwg bXVzdCBiZSBwcmVzZW50IGZvciByZWNvdmVyeSB0byBwcm9jZWVkIikpKTsKIAogCQkvKgog CQkgKiBJZiB0YWJsZXNwYWNlX21hcCBmaWxlIGlzIHByZXNlbnQgd2l0aG91dCBiYWNrdXBf bGFiZWwgZmlsZSwgdGhlcmUKQEAgLTk4NCw2ICs5OTEsNyBAQCBJbml0V2FsUmVjb3Zlcnko Q29udHJvbEZpbGVEYXRhICpDb250cm9sRmlsZSwgYm9vbCAqd2FzU2h1dGRvd25fcHRyLAog CQl7CiAJCQlDb250cm9sRmlsZS0+YmFja3VwU3RhcnRQb2ludCA9IGNoZWNrUG9pbnQucmVk bzsKIAkJCUNvbnRyb2xGaWxlLT5iYWNrdXBFbmRSZXF1aXJlZCA9IGJhY2t1cEVuZFJlcXVp cmVkOworCQkJQ29udHJvbEZpbGUtPmJhY2t1cExhYmVsUmVxdWlyZWQgPSBmYWxzZTsKIAog CQkJaWYgKGJhY2t1cEZyb21TdGFuZGJ5KQogCQkJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYmFja3VwL2Jhc2ViYWNrdXAuYyBiL3NyYy9iYWNrZW5kL2JhY2t1cC9iYXNlYmFja3Vw LmMKaW5kZXggYmI3ZDkwYWE1ZDkuLmIyYjZiMjU5YjY5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9iYWNrdXAvYmFzZWJhY2t1cC5jCisrKyBiL3NyYy9iYWNrZW5kL2JhY2t1cC9iYXNl YmFja3VwLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJiYWNrdXAvYmFzZWJhY2t1 cF9pbmNyZW1lbnRhbC5oIgogI2luY2x1ZGUgImJhY2t1cC9iYXNlYmFja3VwX3NpbmsuaCIK ICNpbmNsdWRlICJiYWNrdXAvYmFzZWJhY2t1cF90YXJnZXQuaCIKKyNpbmNsdWRlICJjYXRh bG9nL3BnX2NvbnRyb2wuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3RhYmxlc3BhY2VfZC5o IgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1vbi9jb21w cmVzc2lvbi5oIgpAQCAtMzI2LDkgKzMyNyw5IEBAIHBlcmZvcm1fYmFzZV9iYWNrdXAoYmFz ZWJhY2t1cF9vcHRpb25zICpvcHQsIGJic2luayAqc2luaywKIAogCQkJaWYgKHRpLT5wYXRo ID09IE5VTEwpCiAJCQl7Ci0JCQkJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKIAkJCQlib29sCQlz ZW5kdGJsc3BjbGlua3MgPSB0cnVlOwogCQkJCWNoYXIJICAgKmJhY2t1cF9sYWJlbDsKKwkJ CQl1aW50OF90IGNvbnRyb2xGaWxlW1BHX0NPTlRST0xfRklMRV9TSVpFXTsKIAogCQkJCWJi c2lua19iZWdpbl9hcmNoaXZlKHNpbmssICJiYXNlLnRhciIpOwogCkBAIC0zNTEsMTQgKzM1 MiwxMCBAQCBwZXJmb3JtX2Jhc2VfYmFja3VwKGJhc2ViYWNrdXBfb3B0aW9ucyAqb3B0LCBi YnNpbmsgKnNpbmssCiAJCQkJCQlzZW5kdGJsc3BjbGlua3MsICZtYW5pZmVzdCwgSW52YWxp ZE9pZCwgaWIpOwogCiAJCQkJLyogLi4uIGFuZCBwZ19jb250cm9sIGFmdGVyIGV2ZXJ5dGhp bmcgZWxzZS4gKi8KLQkJCQlpZiAobHN0YXQoWExPR19DT05UUk9MX0ZJTEUsICZzdGF0YnVm KSAhPSAwKQotCQkJCQllcmVwb3J0KEVSUk9SLAotCQkJCQkJCShlcnJjb2RlX2Zvcl9maWxl X2FjY2VzcygpLAotCQkJCQkJCSBlcnJtc2coImNvdWxkIG5vdCBzdGF0IGZpbGUgXCIlc1wi OiAlbSIsCi0JCQkJCQkJCQlYTE9HX0NPTlRST0xfRklMRSkpKTsKLQkJCQlzZW5kRmlsZShz aW5rLCBYTE9HX0NPTlRST0xfRklMRSwgWExPR19DT05UUk9MX0ZJTEUsICZzdGF0YnVmLAot CQkJCQkJIGZhbHNlLCBJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLAotCQkJCQkJIEludmFsaWRS ZWxGaWxlTnVtYmVyLCAwLCAmbWFuaWZlc3QsIDAsIE5VTEwsIDApOworCQkJCWJhY2t1cF9j b250cm9sX2ZpbGUoY29udHJvbEZpbGUpOworCQkJCXNlbmRGaWxlV2l0aENvbnRlbnQoc2lu aywgWExPR19DT05UUk9MX0ZJTEUsCisJCQkJCQkJCQkoY2hhciAqKWNvbnRyb2xGaWxlLCBQ R19DT05UUk9MX0ZJTEVfU0laRSwKKwkJCQkJCQkJCSZtYW5pZmVzdCk7CiAJCQl9CiAJCQll bHNlCiAJCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3BnX2NvbnRy b2xkYXRhLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BnX2NvbnRyb2xkYXRhLmMKaW5k ZXggNmQwMzZlM2JmMzIuLmQwZWJkOGU5OGE3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9taXNjL3BnX2NvbnRyb2xkYXRhLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9wZ19jb250cm9sZGF0YS5jCkBAIC0xNjIsOCArMTYyLDggQEAgcGdfY29udHJvbF9jaGVj a3BvaW50KFBHX0ZVTkNUSU9OX0FSR1MpCiBEYXR1bQogcGdfY29udHJvbF9yZWNvdmVyeShQ R19GVU5DVElPTl9BUkdTKQogewotCURhdHVtCQl2YWx1ZXNbNV07Ci0JYm9vbAkJbnVsbHNb NV07CisJRGF0dW0JCXZhbHVlc1s2XTsKKwlib29sCQludWxsc1s2XTsKIAlUdXBsZURlc2MJ dHVwZGVzYzsKIAlIZWFwVHVwbGUJaHR1cDsKIAlDb250cm9sRmlsZURhdGEgKkNvbnRyb2xG aWxlOwpAQCAtMTk1LDYgKzE5NSw5IEBAIHBnX2NvbnRyb2xfcmVjb3ZlcnkoUEdfRlVOQ1RJ T05fQVJHUykKIAl2YWx1ZXNbNF0gPSBCb29sR2V0RGF0dW0oQ29udHJvbEZpbGUtPmJhY2t1 cEVuZFJlcXVpcmVkKTsKIAludWxsc1s0XSA9IGZhbHNlOwogCisJdmFsdWVzWzVdID0gQm9v bEdldERhdHVtKENvbnRyb2xGaWxlLT5iYWNrdXBMYWJlbFJlcXVpcmVkKTsKKwludWxsc1s1 XSA9IGZhbHNlOworCiAJaHR1cCA9IGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMs IG51bGxzKTsKIAogCVBHX1JFVFVSTl9EQVRVTShIZWFwVHVwbGVHZXREYXR1bShodHVwKSk7 CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMg Yi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMKaW5kZXggMTBkZTA1 OGNlOTEuLjE2MDQ2YjNmMDk0IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2NvbnRyb2xkYXRh L3BnX2NvbnRyb2xkYXRhLmMKKysrIGIvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250 cm9sZGF0YS5jCkBAIC0yOTQsNiArMjk0LDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQogCQkgICBMU05fRk9STUFUX0FSR1MoQ29udHJvbEZpbGUtPmJhY2t1cEVuZFBvaW50 KSk7CiAJcHJpbnRmKF8oIkVuZC1vZi1iYWNrdXAgcmVjb3JkIHJlcXVpcmVkOiAgICAgICAg JXNcbiIpLAogCQkgICBDb250cm9sRmlsZS0+YmFja3VwRW5kUmVxdWlyZWQgPyBfKCJ5ZXMi KSA6IF8oIm5vIikpOworCXByaW50ZihfKCJCYWNrdXAgbGFiZWwgcmVxdWlyZWQ6ICAgICAg ICAgICAgICAgICVzXG4iKSwKKwkJICAgQ29udHJvbEZpbGUtPmJhY2t1cExhYmVsUmVxdWly ZWQgPyBfKCJ5ZXMiKSA6IF8oIm5vIikpOwogCXByaW50ZihfKCJ3YWxfbGV2ZWwgc2V0dGlu ZzogICAgICAgICAgICAgICAgICAgICVzXG4iKSwKIAkJICAgd2FsX2xldmVsX3N0cihDb250 cm9sRmlsZS0+d2FsX2xldmVsKSk7CiAJcHJpbnRmKF8oIndhbF9sb2dfaGludHMgc2V0dGlu ZzogICAgICAgICAgICAgICAgJXNcbiIpLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19yZXNl dHdhbC9wZ19yZXNldHdhbC5jIGIvc3JjL2Jpbi9wZ19yZXNldHdhbC9wZ19yZXNldHdhbC5j CmluZGV4IGU4NzZmMzVmMzhlLi5iZTIzZTUwZDFjMSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19yZXNldHdhbC9wZ19yZXNldHdhbC5jCisrKyBiL3NyYy9iaW4vcGdfcmVzZXR3YWwvcGdf cmVzZXR3YWwuYwpAQCAtODk5LDYgKzg5OSw3IEBAIFJld3JpdGVDb250cm9sRmlsZSh2b2lk KQogCUNvbnRyb2xGaWxlLmJhY2t1cFN0YXJ0UG9pbnQgPSAwOwogCUNvbnRyb2xGaWxlLmJh Y2t1cEVuZFBvaW50ID0gMDsKIAlDb250cm9sRmlsZS5iYWNrdXBFbmRSZXF1aXJlZCA9IGZh bHNlOworCUNvbnRyb2xGaWxlLmJhY2t1cExhYmVsUmVxdWlyZWQgPSBmYWxzZTsKIAogCS8q CiAJICogRm9yY2UgdGhlIGRlZmF1bHRzIGZvciBtYXhfKiBzZXR0aW5ncy4gVGhlIHZhbHVl cyBkb24ndCByZWFsbHkgbWF0dGVyCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jld2luZC9w Z19yZXdpbmQuYyBiL3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jCmluZGV4IDBjNjhk ZDQyMzVlLi5kMzY1MTMyZWZmNiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19yZXdpbmQvcGdf cmV3aW5kLmMKKysrIGIvc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMKQEAgLTcyNyw2 ICs3MjcsNyBAQCBwZXJmb3JtX3Jld2luZChmaWxlbWFwX3QgKmZpbGVtYXAsIHJld2luZF9z b3VyY2UgKnNvdXJjZSwKIAlDb250cm9sRmlsZV9uZXcubWluUmVjb3ZlcnlQb2ludCA9IGVu ZHJlYzsKIAlDb250cm9sRmlsZV9uZXcubWluUmVjb3ZlcnlQb2ludFRMSSA9IGVuZHRsaTsK IAlDb250cm9sRmlsZV9uZXcuc3RhdGUgPSBEQl9JTl9BUkNISVZFX1JFQ09WRVJZOworCUNv bnRyb2xGaWxlX25ldy5iYWNrdXBMYWJlbFJlcXVpcmVkID0gdHJ1ZTsKIAlpZiAoIWRyeV9y dW4pCiAJCXVwZGF0ZV9jb250cm9sZmlsZShkYXRhZGlyX3RhcmdldCwgJkNvbnRyb2xGaWxl X25ldywgZG9fc3luYyk7CiB9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxv Zy5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaAppbmRleCBkMTI3OThiZTNkOC4uNGQw MTM3MDk2ZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgKKysrIGIv c3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaApAQCAtMjk1LDYgKzI5NSw3IEBAIGV4dGVybiB2 b2lkIGRvX3BnX2JhY2t1cF9zdGFydChjb25zdCBjaGFyICpiYWNrdXBpZHN0ciwgYm9vbCBm YXN0LAogCQkJCQkJCSAgIFN0cmluZ0luZm8gdGJsc3BjbWFwZmlsZSk7CiBleHRlcm4gdm9p ZCBkb19wZ19iYWNrdXBfc3RvcChCYWNrdXBTdGF0ZSAqc3RhdGUsIGJvb2wgd2FpdGZvcmFy Y2hpdmUpOwogZXh0ZXJuIHZvaWQgZG9fcGdfYWJvcnRfYmFja3VwKGludCBjb2RlLCBEYXR1 bSBhcmcpOworZXh0ZXJuIHZvaWQgYmFja3VwX2NvbnRyb2xfZmlsZSh1aW50OF90ICpjb250 cm9sRmlsZSk7CiBleHRlcm4gdm9pZCByZWdpc3Rlcl9wZXJzaXN0ZW50X2Fib3J0X2JhY2t1 cF9oYW5kbGVyKHZvaWQpOwogZXh0ZXJuIFNlc3Npb25CYWNrdXBTdGF0ZSBnZXRfYmFja3Vw X3N0YXR1cyh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19j b250cm9sLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnRyb2wuaAppbmRleCA2M2U4 MzRhNmNlNC4uODRkZjdlZTZmNTAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfY29udHJvbC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29udHJvbC5oCkBA IC0xNjQsMTIgKzE2NCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBDb250cm9sRmlsZURhdGEKIAkg KiBJZiBiYWNrdXBFbmRSZXF1aXJlZCBpcyB0cnVlLCB3ZSBrbm93IGZvciBzdXJlIHRoYXQg d2UncmUgcmVzdG9yaW5nCiAJICogZnJvbSBhIGJhY2t1cCwgYW5kIG11c3Qgc2VlIGEgYmFj a3VwLWVuZCByZWNvcmQgYmVmb3JlIHdlIGNhbiBzYWZlbHkKIAkgKiBzdGFydCB1cC4KKwkg KgorCSAqIElmIGJhY2t1cExhYmVsUmVxdWlyZWQgaXMgdHJ1ZSwgdGhlbiBhIGJhY2t1cF9s YWJlbCBmaWxlIG11c3QgYmUKKwkgKiBwcmVzZW50IGluIG9yZGVyIGZvciByZWNvdmVyeSB0 byBwcm9jZWVkLgogCSAqLwogCVhMb2dSZWNQdHIJbWluUmVjb3ZlcnlQb2ludDsKIAlUaW1l TGluZUlECW1pblJlY292ZXJ5UG9pbnRUTEk7CiAJWExvZ1JlY1B0cgliYWNrdXBTdGFydFBv aW50OwogCVhMb2dSZWNQdHIJYmFja3VwRW5kUG9pbnQ7CiAJYm9vbAkJYmFja3VwRW5kUmVx dWlyZWQ7CisJYm9vbAkJYmFja3VwTGFiZWxSZXF1aXJlZDsKIAogCS8qCiAJICogUGFyYW1l dGVyIHNldHRpbmdzIHRoYXQgZGV0ZXJtaW5lIGlmIHRoZSBXQUwgY2FuIGJlIHVzZWQgZm9y IGFyY2hpdmFsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCAxMThkNmRhMWFjZS4u N2QwNWNmODllZWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAtMTIzMjYsOSAr MTIzMjYsOSBAQAogeyBvaWQgPT4gJzM0NDMnLAogICBkZXNjciA9PiAncGdfY29udHJvbGRh dGEgcmVjb3Zlcnkgc3RhdGUgaW5mb3JtYXRpb24gYXMgYSBmdW5jdGlvbicsCiAgIHByb25h bWUgPT4gJ3BnX2NvbnRyb2xfcmVjb3ZlcnknLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3Jl dHR5cGUgPT4gJ3JlY29yZCcsCi0gIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9hbGxhcmd0eXBl cyA9PiAne3BnX2xzbixpbnQ0LHBnX2xzbixwZ19sc24sYm9vbH0nLAotICBwcm9hcmdtb2Rl cyA9PiAne28sbyxvLG8sb30nLAotICBwcm9hcmduYW1lcyA9PiAne21pbl9yZWNvdmVyeV9l bmRfbHNuLG1pbl9yZWNvdmVyeV9lbmRfdGltZWxpbmUsYmFja3VwX3N0YXJ0X2xzbixiYWNr dXBfZW5kX2xzbixlbmRfb2ZfYmFja3VwX3JlY29yZF9yZXF1aXJlZH0nLAorICBwcm9hcmd0 eXBlcyA9PiAnJywgcHJvYWxsYXJndHlwZXMgPT4gJ3twZ19sc24saW50NCxwZ19sc24scGdf bHNuLGJvb2wsYm9vbH0nLAorICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8sbyxvfScsCisg IHByb2FyZ25hbWVzID0+ICd7bWluX3JlY292ZXJ5X2VuZF9sc24sbWluX3JlY292ZXJ5X2Vu ZF90aW1lbGluZSxiYWNrdXBfc3RhcnRfbHNuLGJhY2t1cF9lbmRfbHNuLGVuZF9vZl9iYWNr dXBfcmVjb3JkX3JlcXVpcmVkLGJhY2t1cF9sYWJlbF9yZXF1aXJlZH0nLAogICBwcm9zcmMg PT4gJ3BnX2NvbnRyb2xfcmVjb3ZlcnknIH0sCiAKIHsgb2lkID0+ICczNDQ0JywKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDAyX2FyY2hpdmluZy5wbCBiL3NyYy90ZXN0 L3JlY292ZXJ5L3QvMDAyX2FyY2hpdmluZy5wbAppbmRleCAzYWNkYjlmZjFlYi4uMTUzYzY1 OGMxMjMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDAyX2FyY2hpdmluZy5w bAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAwMl9hcmNoaXZpbmcucGwKQEAgLTQxLDYg KzQxLDI2IEBAICRub2RlX3N0YW5kYnktPmFwcGVuZF9jb25mKAogYXJjaGl2ZV9jbGVhbnVw X2NvbW1hbmQgPSAnZWNobyBhcmNoaXZlX2NsZWFudXBfZG9uZSA+ICRhcmNoaXZlX2NsZWFu dXBfY29tbWFuZF9maWxlJwogcmVjb3ZlcnlfZW5kX2NvbW1hbmQgPSAnZWNobyByZWNvdmVy eV9lbmRlZF9kb25lID4gJHJlY292ZXJ5X2VuZF9jb21tYW5kX2ZpbGUnCiApKTsKKworIyBS ZW5hbWUgYmFja3VwX2xhYmVsIHRvIHZlcmlmeSB0aGF0IHJlY292ZXJ5IHdpbGwgbm90IHN0 YXJ0IHdpdGhvdXQgaXQKK3JlbmFtZSgiJGRhdGFfZGlyL2JhY2t1cF9sYWJlbCIsICIkZGF0 YV9kaXIvYmFja3VwX2xhYmVsLnRtcCIpCisgIG9yIEJBSUxfT1VUICJjb3VsZCBub3QgbW92 ZSAkZGF0YV9kaXIvYmFja3VwX2xhYmVsIjsKKworbXkgJHJlcyA9IHJ1bl9sb2coCisJWwor CQkncGdfY3RsJywgJy1EJywgJG5vZGVfc3RhbmRieS0+ZGF0YV9kaXIsICctbCcsCisJCSRu b2RlX3N0YW5kYnktPmxvZ2ZpbGUsICdzdGFydCcKKwldKTsKK29rKCEkcmVzLCAnaW52YWxp ZCByZWNvdmVyeSBzdGFydHVwIGZhaWxzJyk7CisKK215ICRsb2dmaWxlID0gc2x1cnBfZmls ZSgkbm9kZV9zdGFuZGJ5LT5sb2dmaWxlKCkpOworb2soJGxvZ2ZpbGUgPX4gcXIvY291bGQg bm90IGZpbmQgYmFja3VwX2xhYmVsIHJlcXVpcmVkIGZvciByZWNvdmVyeS8sCisJJ2NvdWxk IG5vdCBmaW5kIGJhY2t1cF9sYWJlbCByZXF1aXJlZCBmb3IgcmVjb3ZlcnknKTsKKworIyBS ZXN0b3JlIGJhY2t1cF9sYWJlbCBzbyByZWNvdmVyeSBwcm9jZWVkcyBub3JtYWxseQorcmVu YW1lKCIkZGF0YV9kaXIvYmFja3VwX2xhYmVsLnRtcCIsICIkZGF0YV9kaXIvYmFja3VwX2xh YmVsIikKKyAgb3IgQkFJTF9PVVQgImNvdWxkIG5vdCBtb3ZlICRkYXRhX2Rpci9iYWNrdXBf bGFiZWwiOworCiAkbm9kZV9zdGFuZGJ5LT5zdGFydDsKIAogIyBDcmVhdGUgc29tZSBjb250 ZW50IG9uIHByaW1hcnkKLS0gCjIuMzQuMQoK --------------pcIlNgvcquI0hIEdukEgPgwG Content-Type: text/plain; charset=UTF-8; name="pgcontrol-flag-v6-02-sql.patch" Content-Disposition: attachment; filename="pgcontrol-flag-v6-02-sql.patch" Content-Transfer-Encoding: base64 RnJvbSA4ZTVmODE1Y2NmYTMxM2Q3YzU5NjQ5ZTliYWE0NzNiNjNjMjE4NjJiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBTdGVlbGUgPGRhdmlkQHBnbWFzdGVycy5u ZXQ+CkRhdGU6IFdlZCwgNiBBdWcgMjAyNSAyMjoyNTo0MiArMDAwMApTdWJqZWN0OiBSZXR1 cm4gcGdfY29udHJvbCBmcm9tIHBnX2JhY2t1cF9zdG9wKCkuCgpIYXJkZW4gcmVjb3Zlcnkg YnkgcmV0dXJuaW5nIGEgY29weSBvZiBwZ19jb250cm9sIGZyb20gcGdfYmFja3VwX3N0b3Ao KSB0aGF0IGhhcwphIGZsYWcgc2V0IHRvIHByZXZlbnQgcmVjb3ZlcnkgaWYgdGhlIGJhY2t1 cF9sYWJlbCBmaWxlIGlzIG1pc3NpbmcuIEluc3RlYWQgb2YKYmFja3VwIHNvZnR3YXJlIGNv cHlpbmcgcGdfY29udHJvbCBmcm9tIFBHREFUQSwgaXQgc3RvcmVzIGFuIHVwZGF0ZWQgdmVy c2lvbgp0aGF0IGlzIHJldHVybmVkIGZyb20gcGdfYmFja3VwX3N0b3AoKS4gVGhpcyBpcyBi ZXR0ZXIgZm9yIHRoZSBmb2xsb3dpbmcKcmVhc29uczoKCiogVGhlIHVzZXIgY2FuIG5vIGxv bmdlciByZW1vdmUgYmFja3VwX2xhYmVsIGFuZCBnZXQgd2hhdCBsb29rcyBsaWtlIGEKc3Vj Y2Vzc2Z1bCByZWNvdmVyeSAod2hpbGUgYWxtb3N0IGNlcnRhaW5seSBjYXVzaW5nIGNvcnJ1 cHRpb24pLiBJZiBiYWNrdXBfbGFiZWwKaXMgcmVtb3ZlZCB0aGUgY2x1c3RlciB3aWxsIG5v dCBzdGFydC4gVGhlIHVzZXIgbWF5IHRyeSBwZ19yZXNldHdhbCwgYnV0IHRoYXQKdG9vbCBt YWtlcyBpdCBwcmV0dHkgY2xlYXIgdGhhdCBjb3JydXB0aW9uIHdpbGwgcmVzdWx0IGZyb20g aXRzIHVzZS4KCiogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBiYWNrdXAgc29mdHdh cmUgc2VlaW5nIGEgdG9ybiBjb3B5IG9mIHBnX2NvbnRyb2wsCnNpbmNlIFBvc3RncmVzIGNh biBzYWZlbHkgcmVhZCBpdCBvdXQgb2YgbWVtb3J5IGFuZCBwcm92aWRlIGEgdmFsaWQgY29w eSB2aWEKcGdfYmFja3VwX3N0b3AoKS4gVGhpcyBzb2x2ZXMgdG9ybiByZWFkcyB3aXRob3V0 IG5lZWRpbmcgdG8gd3JpdGUgcGdfY29udHJvbCB2aWEKYSB0ZW1wIGZpbGUsIHdoaWNoIG1h eSBhZmZlY3QgcGVyZm9ybWFuY2Ugb24gYSBzdGFuZGJ5LgoKKiBGb3IgYmFja3VwIGZyb20g c3RhbmRieSwgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gaW5zdHJ1Y3QgdGhlIGJhY2t1cCBzb2Z0 d2FyZSB0bwpjb3B5IHBnX2NvbnRyb2wgbGFzdC4gSW4gZmFjdCB0aGUgYmFja3VwIHNvZnR3 YXJlIHNob3VsZCBub3QgY29weSBwZ19jb250cm9sIGZyb20KUEdEQVRBIGF0IGFsbC4KClRo ZXNlIGNoYW5nZXMgaGF2ZSBubyBpbXBhY3Qgb24gY3VycmVudCBiYWNrdXAgc29mdHdhcmUg YW5kIHRoZXkgYXJlIGZyZWUgdG8gdXNlCnRoZSBwZ19jb250cm9sIGF2YWlsYWJsZSBmcm9t IHBnX3N0b3BfYmFja3VwKCkgb3IgY29udGludWUgdG8gdXNlIHBnX2NvbnRyb2wgZnJvbQpQ R0RBVEEuIE9mIGNvdXJzZSB0aGV5IHdpbGwgbWlzcyB0aGUgYmVuZWZpdHMgb2YgZ2V0dGlu ZyBhIGNvbnNpc3RlbnQgY29weSBvZgpwZ19jb250cm9sIGFuZCB0aGUgYmFja3VwX2xhYmVs IGNoZWNraW5nLCBidXQgd2lsbCBiZSBubyB3b3JzZSBvZmYgdGhhbiBiZWZvcmUuCgpDYXRh bG9nIHZlcnNpb24gYnVtcCBpcyByZXF1aXJlZC4KLS0tCiBkb2Mvc3JjL3NnbWwvYmFja3Vw LnNnbWwgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKystCiBzcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94bG9nZnVuY3MuYyAgICAgIHwgMjAgKysrKy0tCiBzcmMvYmFja2VuZC9j YXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3FsICAgIHwgIDIgKy0KIHNyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgfCAgNCArLQogc3JjL3Rlc3QvcmVjb3Zl cnkvdC8wNDJfbG93X2xldmVsX2JhY2t1cC5wbCB8IDY3ICsrKysrKysrKysrKysrKysrKysr LQogNSBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwgYi9kb2Mvc3JjL3NnbWwv YmFja3VwLnNnbWwKaW5kZXggNWY3NDg5YWZiZDEuLjdlYTg1MTcyZDUxIDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2JhY2t1cC5z Z21sCkBAIC0xMDI3LDkgKzEwMjcsMTIgQEAgU0VMRUNUICogRlJPTSBwZ19iYWNrdXBfc3Rv cCh3YWl0X2Zvcl9hcmNoaXZlID0+IHRydWUpOwogICAgICB2YWx1ZXMuIFRoZSBzZWNvbmQg b2YgdGhlc2UgZmllbGRzIHNob3VsZCBiZSB3cml0dGVuIHRvIGEgZmlsZSBuYW1lZAogICAg ICA8ZmlsZW5hbWU+YmFja3VwX2xhYmVsPC9maWxlbmFtZT4gaW4gdGhlIHJvb3QgZGlyZWN0 b3J5IG9mIHRoZSBiYWNrdXAuIFRoZQogICAgICB0aGlyZCBmaWVsZCBzaG91bGQgYmUgd3Jp dHRlbiB0byBhIGZpbGUgbmFtZWQKLSAgICAgPGZpbGVuYW1lPnRhYmxlc3BhY2VfbWFwPC9m aWxlbmFtZT4gdW5sZXNzIHRoZSBmaWVsZCBpcyBlbXB0eS4gVGhlc2UgZmlsZXMgYXJlCisg ICAgIDxmaWxlbmFtZT50YWJsZXNwYWNlX21hcDwvZmlsZW5hbWU+IHVubGVzcyB0aGUgZmll bGQgaXMgZW1wdHkuIFRoZSBmb3VydGgKKyAgICAgZmllbGQgc2hvdWxkIGJlIHdyaXR0ZW4g aW50byBhIGZpbGUgbmFtZWQKKyAgICAgPGZpbGVuYW1lPmdsb2JhbC9wZ19jb250cm9sPC9m aWxlbmFtZT4gKG92ZXJ3cml0aW5nIHRoZSBleGlzdGluZyBmaWxlIHdoZW4KKyAgICAgcHJl c2VudCkuIFRoZXNlIGZpbGVzIGFyZQogICAgICB2aXRhbCB0byB0aGUgYmFja3VwIHdvcmtp bmcgYW5kIG11c3QgYmUgd3JpdHRlbiBieXRlIGZvciBieXRlIHdpdGhvdXQKLSAgICAgbW9k aWZpY2F0aW9uLCB3aGljaCBtYXkgcmVxdWlyZSBvcGVuaW5nIHRoZSBmaWxlIGluIGJpbmFy eSBtb2RlLgorICAgICBtb2RpZmljYXRpb24sIHdoaWNoIHdpbGwgcmVxdWlyZSBvcGVuaW5n IHRoZSBmaWxlIGluIGJpbmFyeSBtb2RlLgogICAgIDwvcGFyYT4KICAgIDwvbGlzdGl0ZW0+ CiAgICA8bGlzdGl0ZW0+CkBAIC0xMTAxLDcgKzExMDQsMTYgQEAgU0VMRUNUICogRlJPTSBw Z19iYWNrdXBfc3RvcCh3YWl0X2Zvcl9hcmNoaXZlID0+IHRydWUpOwogICAgPC9wYXJhPgog CiAgICA8cGFyYT4KLSAgICBZb3Ugc2hvdWxkLCBob3dldmVyLCBvbWl0IGZyb20gdGhlIGJh Y2t1cCB0aGUgZmlsZXMgd2l0aGluIHRoZQorICAgIFlvdSBzaG91bGQgZXhjbHVkZSA8Zmls ZW5hbWU+Z2xvYmFsL3BnX2NvbnRyb2w8L2ZpbGVuYW1lPiBmcm9tIHlvdXIgYmFja3VwCisg ICAgYW5kIHB1dCB0aGUgY29udGVudHMgb2YgdGhlIDxwYXJhbWV0ZXI+Y29udHJvbGZpbGU8 L3BhcmFtZXRlcj4gY29sdW1uCisgICAgcmV0dXJuZWQgZnJvbSA8ZnVuY3Rpb24+cGdfYmFj a3VwX3N0b3A8L2Z1bmN0aW9uPiBpbiB5b3VyIGJhY2t1cCBhdAorICAgIDxmaWxlbmFtZT5n bG9iYWwvcGdfY29udHJvbDwvZmlsZW5hbWU+LiBUaGlzIHZlcnNpb24gb2YgcGdfY29udHJv bCBjb250YWlucworICAgIHNhZmVndWFyZHMgYWdhaW5zdCByZWNvdmVyeSB3aXRob3V0IGJh Y2t1cF9sYWJlbCBwcmVzZW50IGFuZCBpcyBndWFyYW50ZWVkCisgICAgbm90IHRvIGJlIHRv cm4uCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIFlvdSBzaG91bGQgYWxzbyBvbWl0 IGZyb20gdGhlIGJhY2t1cCB0aGUgZmlsZXMgd2l0aGluIHRoZQogICAgIGNsdXN0ZXIncyA8 ZmlsZW5hbWU+cGdfd2FsLzwvZmlsZW5hbWU+IHN1YmRpcmVjdG9yeS4gIFRoaXMKICAgICBz bGlnaHQgYWRqdXN0bWVudCBpcyB3b3J0aHdoaWxlIGJlY2F1c2UgaXQgcmVkdWNlcyB0aGUg cmlzawogICAgIG9mIG1pc3Rha2VzIHdoZW4gcmVzdG9yaW5nLiAgVGhpcyBpcyBlYXN5IHRv IGFycmFuZ2UgaWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hs b2dmdW5jcy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ2Z1bmNzLmMKaW5k ZXggOGMzMDkwMTY1ZjAuLmU4MDVmMjMxYzY5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvdHJhbnNhbS94bG9nZnVuY3MuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS94bG9nZnVuY3MuYwpAQCAtMTEzLDkgKzExMywxMSBAQCBwZ19iYWNrdXBfc3RhcnQo UEdfRlVOQ1RJT05fQVJHUykKICAqCiAgKiBUaGUgYmFja3VwX2xhYmVsIGNvbnRhaW5zIHRo ZSB1c2VyLXN1cHBsaWVkIGxhYmVsIHN0cmluZyAodHlwaWNhbGx5IHRoaXMKICAqIHdvdWxk IGJlIHVzZWQgdG8gdGVsbCB3aGVyZSB0aGUgYmFja3VwIGR1bXAgd2lsbCBiZSBzdG9yZWQp LCB0aGUgc3RhcnRpbmcKLSAqIHRpbWUsIHN0YXJ0aW5nIFdBTCBsb2NhdGlvbiBmb3IgdGhl IGR1bXAgYW5kIHNvIG9uLiAgSXQgaXMgdGhlIGNhbGxlcidzCi0gKiByZXNwb25zaWJpbGl0 eSB0byB3cml0ZSB0aGUgYmFja3VwX2xhYmVsIGFuZCB0YWJsZXNwYWNlX21hcCBmaWxlcyBp biB0aGUKLSAqIGRhdGEgZm9sZGVyIHRoYXQgd2lsbCBiZSByZXN0b3JlZCBmcm9tIHRoaXMg YmFja3VwLgorICogdGltZSwgc3RhcnRpbmcgV0FMIGxvY2F0aW9uIGZvciB0aGUgZHVtcCBh bmQgc28gb24uICBUaGUgcGdfY29udHJvbCBmaWxlCisgKiBjb250YWlucyBhIGNvbnNpc3Rl bnQgY29weSBvZiBwZ19jb250cm9sIHRoYXQgYWxzbyBoYXMgYSBzYWZlZ3VhcmQgYWdhaW5z dAorICogYmVpbmcgdXNlZCB3aXRob3V0IGJhY2t1cF9sYWJlbC4gIEl0IGlzIHRoZSBjYWxs ZXIncyByZXNwb25zaWJpbGl0eSB0byB3cml0ZQorICogdGhlIGJhY2t1cF9sYWJlbCwgcGdf Y29udHJvbCwgYW5kIHRhYmxlc3BhY2VfbWFwIGZpbGVzIGluIHRoZSBkYXRhIGZvbGRlcgor ICogdGhhdCB3aWxsIGJlIHJlc3RvcmVkIGZyb20gdGhpcyBiYWNrdXAuCiAgKgogICogUGVy bWlzc2lvbiBjaGVja2luZyBmb3IgdGhpcyBmdW5jdGlvbiBpcyBtYW5hZ2VkIHRocm91Z2gg dGhlIG5vcm1hbAogICogR1JBTlQgc3lzdGVtLgpAQCAtMTIzLDEyICsxMjUsMTQgQEAgcGdf YmFja3VwX3N0YXJ0KFBHX0ZVTkNUSU9OX0FSR1MpCiBEYXR1bQogcGdfYmFja3VwX3N0b3Ao UEdfRlVOQ1RJT05fQVJHUykKIHsKLSNkZWZpbmUgUEdfQkFDS1VQX1NUT1BfVjJfQ09MUyAz CisjZGVmaW5lIFBHX0JBQ0tVUF9TVE9QX1YyX0NPTFMgNAogCVR1cGxlRGVzYwl0dXBkZXNj OwogCURhdHVtCQl2YWx1ZXNbUEdfQkFDS1VQX1NUT1BfVjJfQ09MU10gPSB7MH07CiAJYm9v bAkJbnVsbHNbUEdfQkFDS1VQX1NUT1BfVjJfQ09MU10gPSB7MH07CiAJYm9vbAkJd2FpdGZv cmFyY2hpdmUgPSBQR19HRVRBUkdfQk9PTCgwKTsKIAljaGFyCSAgICpiYWNrdXBfbGFiZWw7 CisJYnl0ZWEJICAgKnBnX2NvbnRyb2xfYnl0ZWE7CisJdWludDhfdAkJcGdfY29udHJvbFtQ R19DT05UUk9MX0ZJTEVfU0laRV07CiAJU2Vzc2lvbkJhY2t1cFN0YXRlIHN0YXR1cyA9IGdl dF9iYWNrdXBfc3RhdHVzKCk7CiAKIAkvKiBJbml0aWFsaXplIGF0dHJpYnV0ZXMgaW5mb3Jt YXRpb24gaW4gdGhlIHR1cGxlIGRlc2NyaXB0b3IgKi8KQEAgLTE1MCw5ICsxNTQsMTcgQEAg cGdfYmFja3VwX3N0b3AoUEdfRlVOQ1RJT05fQVJHUykKIAkvKiBCdWlsZCB0aGUgY29udGVu dHMgb2YgYmFja3VwX2xhYmVsICovCiAJYmFja3VwX2xhYmVsID0gYnVpbGRfYmFja3VwX2Nv bnRlbnQoYmFja3VwX3N0YXRlLCBmYWxzZSk7CiAKKwkvKiBCdWlsZCB0aGUgY29udGVudHMg b2YgcGdfY29udHJvbCAqLworCWJhY2t1cF9jb250cm9sX2ZpbGUocGdfY29udHJvbCk7CisK KwlwZ19jb250cm9sX2J5dGVhID0gKGJ5dGVhICopIHBhbGxvYyhQR19DT05UUk9MX0ZJTEVf U0laRSArIFZBUkhEUlNaKTsKKwlTRVRfVkFSU0laRShwZ19jb250cm9sX2J5dGVhLCBQR19D T05UUk9MX0ZJTEVfU0laRSArIFZBUkhEUlNaKTsKKwltZW1jcHkoVkFSREFUQShwZ19jb250 cm9sX2J5dGVhKSwgcGdfY29udHJvbCwgUEdfQ09OVFJPTF9GSUxFX1NJWkUpOworCiAJdmFs dWVzWzBdID0gTFNOR2V0RGF0dW0oYmFja3VwX3N0YXRlLT5zdG9wcG9pbnQpOwogCXZhbHVl c1sxXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oYmFja3VwX2xhYmVsKTsKIAl2YWx1ZXNbMl0g PSBDU3RyaW5nR2V0VGV4dERhdHVtKHRhYmxlc3BhY2VfbWFwLT5kYXRhKTsKKwl2YWx1ZXNb M10gPSBQb2ludGVyR2V0RGF0dW0ocGdfY29udHJvbF9ieXRlYSk7CiAKIAkvKiBEZWFsbG9j YXRlIGJhY2t1cC1yZWxhdGVkIHZhcmlhYmxlcyAqLwogCXBmcmVlKGJhY2t1cF9sYWJlbCk7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV9mdW5jdGlvbnMuc3Fs IGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fZnVuY3Rpb25zLnNxbAppbmRleCA1NjZm MzA4ZTQ0My4uZjg4MzMzOTM4MzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX2Z1bmN0aW9ucy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f ZnVuY3Rpb25zLnNxbApAQCAtMzkwLDcgKzM5MCw3IEBAIENSRUFURSBPUiBSRVBMQUNFIEZV TkNUSU9OCiAKIENSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHBnX2JhY2t1cF9zdG9wICgK ICAgICAgICAgd2FpdF9mb3JfYXJjaGl2ZSBib29sZWFuIERFRkFVTFQgdHJ1ZSwgT1VUIGxz biBwZ19sc24sCi0gICAgICAgIE9VVCBsYWJlbGZpbGUgdGV4dCwgT1VUIHNwY21hcGZpbGUg dGV4dCkKKyAgICAgICAgT1VUIGxhYmVsZmlsZSB0ZXh0LCBPVVQgc3BjbWFwZmlsZSB0ZXh0 LCBPVVQgY29udHJvbGZpbGUgYnl0ZWEpCiAgIFJFVFVSTlMgcmVjb3JkIFNUUklDVCBWT0xB VElMRSBMQU5HVUFHRSBpbnRlcm5hbCBhcyAncGdfYmFja3VwX3N0b3AnCiAgIFBBUkFMTEVM IFJFU1RSSUNURUQ7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDdkMDVjZjg5 ZWVjLi5mMTViYzUyNjBlZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC02NzAw LDggKzY3MDAsOCBAQAogeyBvaWQgPT4gJzI3MzknLCBkZXNjciA9PiAnZmluaXNoIHRha2lu ZyBhbiBvbmxpbmUgYmFja3VwJywKICAgcHJvbmFtZSA9PiAncGdfYmFja3VwX3N0b3AnLCBw cm92b2xhdGlsZSA9PiAndicsIHByb3BhcmFsbGVsID0+ICdyJywKICAgcHJvcmV0dHlwZSA9 PiAncmVjb3JkJywgcHJvYXJndHlwZXMgPT4gJ2Jvb2wnLAotICBwcm9hbGxhcmd0eXBlcyA9 PiAne2Jvb2wscGdfbHNuLHRleHQsdGV4dH0nLCBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG99 JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3t3YWl0X2Zvcl9hcmNoaXZlLGxzbixsYWJlbGZpbGUs c3BjbWFwZmlsZX0nLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne2Jvb2wscGdfbHNuLHRleHQs dGV4dCxieXRlYX0nLCBwcm9hcmdtb2RlcyA9PiAne2ksbyxvLG8sb30nLAorICBwcm9hcmdu YW1lcyA9PiAne3dhaXRfZm9yX2FyY2hpdmUsbHNuLGxhYmVsZmlsZSxzcGNtYXBmaWxlLGNv bnRyb2xmaWxlfScsCiAgIHByb3NyYyA9PiAncGdfYmFja3VwX3N0b3AnIH0sCiB7IG9pZCA9 PiAnMzQzNicsIGRlc2NyID0+ICdwcm9tb3RlIHN0YW5kYnkgc2VydmVyJywKICAgcHJvbmFt ZSA9PiAncGdfcHJvbW90ZScsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcmV0dHlwZSA9PiAn Ym9vbCcsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzA0Ml9sb3dfbGV2ZWxf YmFja3VwLnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNDJfbG93X2xldmVsX2JhY2t1cC5w bAppbmRleCA1NzQ5YTFkZjUzMy4uYTA4YTlhOWQ5ZGYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlY292ZXJ5L3QvMDQyX2xvd19sZXZlbF9iYWNrdXAucGwKKysrIGIvc3JjL3Rlc3QvcmVj b3ZlcnkvdC8wNDJfbG93X2xldmVsX2JhY2t1cC5wbApAQCAtMTMsNiArMTMsNDIgQEAgdXNl IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7CiB1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRp bHM7CiB1c2UgVGVzdDo6TW9yZTsKIAorIyBEZWNvZGUgaGV4IHRvIGJpbmFyeQorc3ViIGRl Y29kZV9oZXgKK3sKKwlteSAoJGVuY29kZWQpID0gQF87CisJbXkgJGRlY29kZWQ7CisKKwkk ZW5jb2RlZCA9fiBzL15ccyt8XHMrJC8vZzsKKworCWZvciAobXkgJGlkeCA9IDA7ICRpZHgg PCBsZW5ndGgoJGVuY29kZWQpOyAkaWR4ICs9IDIpCisJeworCQkkZGVjb2RlZCAuPSBwYWNr KCdDJywgaGV4KHN1YnN0cigkZW5jb2RlZCwgJGlkeCwgMikpKTsKKwl9CisKKwlyZXR1cm4g JGRlY29kZWQ7Cit9CisKKyMgR2V0IGJhY2t1cF9sYWJlbC9wZ19jb250cm9sIGZyb20gcGdf c3RvcF9iYWNrdXAoKQorc3ViIHN0b3BfYmFja3VwX3Jlc3VsdAoreworCW15ICgkcHNxbCkg PSBAXzsKKworCW15ICRlbmNvZGVkID0gJHBzcWwtPnF1ZXJ5X3NhZmUoCisJCSJzZWxlY3Qg ZW5jb2RlKGxhYmVsZmlsZTo6Ynl0ZWEsICdoZXgnKSB8fCAnLCcgfHwgIiAuCisJCSIgICAg ICAgZW5jb2RlKGNvbnRyb2xmaWxlLCAnaGV4JykiIC4KKwkJIiAgZnJvbSBwZ19iYWNrdXBf c3RvcCgpIik7CisKKwlteSBAcmVzdWx0OworCisgICAgZm9yZWFjaCBteSAkY29sdW1uIChz cGxpdCgnLCcsICRlbmNvZGVkKSkKKwl7CisJCXB1c2goQHJlc3VsdCwgZGVjb2RlX2hleCgk Y29sdW1uKSk7CisJfQorCisJcmV0dXJuIEByZXN1bHQ7Cit9CisKICMgU3RhcnQgcHJpbWFy eSBub2RlIHdpdGggYXJjaGl2aW5nLgogbXkgJG5vZGVfcHJpbWFyeSA9IFBvc3RncmVTUUw6 OlRlc3Q6OkNsdXN0ZXItPm5ldygncHJpbWFyeScpOwogJG5vZGVfcHJpbWFyeS0+aW5pdCho YXNfYXJjaGl2aW5nID0+IDEsIGFsbG93c19zdHJlYW1pbmcgPT4gMSk7CkBAIC04MCw4ICsx MTYsNyBAQCBteSAkc3RvcF9zZWdtZW50X25hbWUgPSAkbm9kZV9wcmltYXJ5LT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywKIAknU0VMRUNUIHBnX3dhbGZpbGVfbmFtZShwZ19jdXJyZW50X3dh bF9sc24oKSknKTsKIAogIyBTdG9wIGJhY2t1cCBhbmQgZ2V0IGJhY2t1cF9sYWJlbCwgdGhl IGxhc3Qgc2VnbWVudCBpcyBhcmNoaXZlZC4KLW15ICRiYWNrdXBfbGFiZWwgPQotICAkcHNx bC0+cXVlcnlfc2FmZSgic2VsZWN0IGxhYmVsZmlsZSBmcm9tIHBnX2JhY2t1cF9zdG9wKCki KTsKKyhteSAkYmFja3VwX2xhYmVsLCBteSAkcGdfY29udHJvbCkgPSBzdG9wX2JhY2t1cF9y ZXN1bHQoJHBzcWwpOwogCiAkcHNxbC0+cXVpdDsKIApAQCAtMTE4LDEwICsxNTMsMzYgQEAg b2soICRub2RlX3JlcGxpY2EtPmxvZ19jb250YWlucygKICRub2RlX3JlcGxpY2EtPnRlYXJk b3duX25vZGU7CiAkbm9kZV9yZXBsaWNhLT5jbGVhbl9ub2RlOwogCisjIFNhdmUgb25seSBw Z19jb250cm9sIGludG8gdGhlIGJhY2t1cCB0byBkZW1vbnN0cmF0ZSB0aGF0IHBnX2NvbnRy b2wgcmV0dXJuZWQKKyMgZnJvbSBwZ19zdG9wX2JhY2t1cCgpIHdpbGwgb25seSBwZXJmb3Jt IHJlY292ZXJ5IHdoZW4gYmFja3VwX2xhYmVsIGlzIHByZXNlbnQuCitvcGVuKG15ICRmaCwg Ij4iLCAiJGJhY2t1cF9kaXIvZ2xvYmFsL3BnX2NvbnRyb2wiKQorICBvciBkaWUgImNvdWxk IG5vdCBvcGVuIHBnX2NvbnRyb2wiOworYmlubW9kZSgkZmgpOworc3lzd3JpdGUoJGZoLCAk cGdfY29udHJvbCk7CitjbG9zZSgkZmgpOworCiskbm9kZV9yZXBsaWNhID0gUG9zdGdyZVNR TDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdyZXBsaWNhX2ZhaWwyJyk7Ciskbm9kZV9yZXBsaWNh LT5pbml0X2Zyb21fYmFja3VwKCRub2RlX3ByaW1hcnksICRiYWNrdXBfbmFtZSwKKwloYXNf cmVzdG9yaW5nID0+IDEpOworCitteSAkcmVzID0gcnVuX2xvZygKKwlbCisJCSdwZ19jdGwn LCAnLUQnLCAkbm9kZV9yZXBsaWNhLT5kYXRhX2RpciwgJy1sJywKKwkJJG5vZGVfcmVwbGlj YS0+bG9nZmlsZSwgJ3N0YXJ0JworCV0pOworb2soISRyZXMsICdpbnZhbGlkIHJlY292ZXJ5 IHN0YXJ0dXAgZmFpbHMnKTsKKworbXkgJGxvZ2ZpbGUgPSBzbHVycF9maWxlKCRub2RlX3Jl cGxpY2EtPmxvZ2ZpbGUoKSk7CitvaygkbG9nZmlsZSA9fiBxci9jb3VsZCBub3QgZmluZCBi YWNrdXBfbGFiZWwgcmVxdWlyZWQgZm9yIHJlY292ZXJ5LywKKwknY291bGQgbm90IGZpbmQg YmFja3VwX2xhYmVsIHJlcXVpcmVkIGZvciByZWNvdmVyeScpOworCiskbm9kZV9yZXBsaWNh LT50ZWFyZG93bl9ub2RlOworJG5vZGVfcmVwbGljYS0+Y2xlYW5fbm9kZTsKKwogIyBTYXZl IGJhY2t1cF9sYWJlbCBpbnRvIHRoZSBiYWNrdXAgZGlyZWN0b3J5IGFuZCByZWNvdmVyIHVz aW5nIHRoZSBwcmltYXJ5J3MKICMgYXJjaGl2ZS4gIFRoaXMgdGltZSByZWNvdmVyeSB3aWxs IHN1Y2NlZWQgYW5kIHRoZSBjYW5hcnkgdGFibGUgd2lsbCBiZQogIyBwcmVzZW50Lgotb3Bl biBteSAkZmgsICI+PiIsICIkYmFja3VwX2Rpci9iYWNrdXBfbGFiZWwiCitvcGVuICRmaCwg Ij4+IiwgIiRiYWNrdXBfZGlyL2JhY2t1cF9sYWJlbCIKICAgb3IgZGllICJjb3VsZCBub3Qg b3BlbiBiYWNrdXBfbGFiZWwiOwogIyBCaW5hcnkgbW9kZSBpcyByZXF1aXJlZCBmb3IgV2lu ZG93cywgYXMgdGhlIGJhY2t1cF9sYWJlbCBwYXJzaW5nIGlzIG5vdAogIyBhYmxlIHRvIGNv cGUgd2l0aCBDUkxGcy4KLS0gCjIuMzQuMQoK --------------pcIlNgvcquI0hIEdukEgPgwG--