Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nqW5L-0006A5-Pf for pgsql-hackers@arkaria.postgresql.org; Mon, 16 May 2022 08:28:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nqW5J-0000jh-Tv for pgsql-hackers@arkaria.postgresql.org; Mon, 16 May 2022 08:28:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nqW5I-0000jY-NN for pgsql-hackers@lists.postgresql.org; Mon, 16 May 2022 08:28:09 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nqW5D-0005Yn-0Z for pgsql-hackers@postgresql.org; Mon, 16 May 2022 08:28:07 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id BD4265C00F3 for ; Mon, 16 May 2022 04:28:01 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 16 May 2022 04:28:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1652689681; x=1652776081; bh=8n75sC0mT5uy9 Gz4Thi/Hd216sjnicWvmEULH0Z5nZs=; b=ZPFKbYYJILTZbdOiMHCySV1a5+0fl z8AmXr+o0ya3zSNoro/tkYokC2SKAt/2sRqzFB7sX6ft8SpCp4WGghejNvNyMx4O YBUAPYdcol1xxEmc97c0EDNf/VV84vNByefl3SV6iG+4We3ynI8hpcL2ue1oiGya /0w/Ek9b45mBRZH4SSaZVTi7xFoD4afhTc/S0MXkBSEF2WTmBmXX0y7a+A2Fjgwo U5FumCYOwH1pNRVG6LIRoj1I8tYMKq4QlRGtrFbjRFSgWq2lwHlBmllkS13qOo0j kwJLY6ZltnUfj48GWiBl+qMcWhm9eZSabg3JVc7xyWULgPYsxvy92OO4g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrheehgddtfecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurheptgfkffggfgfhuffvsehmtderredtfe ejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhs vghnthhrrghuthesvghnthgvrhhprhhishgvuggsrdgtohhmqeenucggtffrrghtthgvrh hnpeeijeevieduueehudehuddtffeijeejteeijeehhfevueeftdffjeeilefhleekffen ucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhht segvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 16 May 2022 04:28:00 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------JXqr4hC0L005jP0YpHxBJB01" Message-ID: <5b558da8-99fb-0a99-83dd-f72f05388517@enterprisedb.com> Date: Mon, 16 May 2022 10:27:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Content-Language: en-US From: Peter Eisentraut Subject: Convert macros to static inline functions To: pgsql-hackers 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. --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Inspired by [0], I looked to convert more macros to inline functions. The attached patches are organized "bottom up" in terms of their API layering; some of the later ones depend on some of the earlier ones. Note 1: Some macros that do by-value assignments like #define PageXLogRecPtrSet(ptr, lsn) \ ((ptr).xlogid = (uint32) ((lsn) >> 32), (ptr).xrecoff = (uint32) (lsn)) can't be converted to functions without changing the API, so I left those alone for now. Note 2: Many macros in htup_details.h operate both on HeapTupleHeader and on MinimalTuple, so converting them to a function doesn't work in a straightforward way. I have some in-progress work in that area, but I have not included any of that here. [0]: https://www.postgresql.org/message-id/202203241021.uts52sczx3al@alvherre.pgsql --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0001-Convert-macros-to-static-inline-functions-block.h.patch" Content-Disposition: attachment; filename*0="0001-Convert-macros-to-static-inline-functions-block.h.patch" Content-Transfer-Encoding: base64 RnJvbSAzYzFhYmIxY2IyNmJkNThiMDlhNTQxNmFlN2RmMTkyYTljMjQ3NjUzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChi bG9jay5oKQoKUmVtb3ZlIEJsb2NrSWRJc1ZhbGlkKCksIHdoaWNoIHdhc24ndCB1c2VkIGFu ZCBpcyB1bm5lY2Vzc2FyeS4KClJlbW92ZSBCbG9ja0lkQ29weSgpLCB3aGljaCB3YXNuJ3Qg dXNlZCBhbmQgY2FuIGJlIGRvbmUgYnkgc3RydWN0CmFzc2lnbm1lbnQuCgooQmxvY2tJZEVx dWFscygpIGFsc28gaXNuJ3QgdXNlZCwgYnV0IHNlZW1zIHJlYXNvbmFibGUgdG8ga2VlcAph cm91bmQuKQotLS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2UvYmxvY2suaCB8IDUzICsrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBpbnNl cnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9z dG9yYWdlL2Jsb2NrLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2Jsb2NrLmgKaW5kZXggZDc1 NmUzZmRhNS4uYzcyNjE0MmY5NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9i bG9jay5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYmxvY2suaApAQCAtNTksNyArNTks NyBAQCB0eXBlZGVmIHN0cnVjdCBCbG9ja0lkRGF0YQogdHlwZWRlZiBCbG9ja0lkRGF0YSAq QmxvY2tJZDsJLyogYmxvY2sgaWRlbnRpZmllciAqLwogCiAvKiAtLS0tLS0tLS0tLS0tLS0t Ci0gKgkJc3VwcG9ydCBtYWNyb3MKKyAqCQlzdXBwb3J0IGZ1bmN0aW9ucwogICogLS0tLS0t LS0tLS0tLS0tLQogICovCiAKQEAgLTY3LDQ5ICs2Nyw0MiBAQCB0eXBlZGVmIEJsb2NrSWRE YXRhICpCbG9ja0lkOwkvKiBibG9jayBpZGVudGlmaWVyICovCiAgKiBCbG9ja051bWJlcklz VmFsaWQKICAqCQlUcnVlIGlmZiBibG9ja051bWJlciBpcyB2YWxpZC4KICAqLwotI2RlZmlu ZSBCbG9ja051bWJlcklzVmFsaWQoYmxvY2tOdW1iZXIpIFwKLQkoKEJsb2NrTnVtYmVyKSAo YmxvY2tOdW1iZXIpICE9IEludmFsaWRCbG9ja051bWJlcikKLQotLyoKLSAqIEJsb2NrSWRJ c1ZhbGlkCi0gKgkJVHJ1ZSBpZmYgdGhlIGJsb2NrIGlkZW50aWZpZXIgaXMgdmFsaWQuCi0g Ki8KLSNkZWZpbmUgQmxvY2tJZElzVmFsaWQoYmxvY2tJZCkgXAotCVBvaW50ZXJJc1ZhbGlk KGJsb2NrSWQpCitzdGF0aWMgaW5saW5lIGJvb2wKK0Jsb2NrTnVtYmVySXNWYWxpZChCbG9j a051bWJlciBibG9ja051bWJlcikKK3sKKwlyZXR1cm4gYmxvY2tOdW1iZXIgIT0gSW52YWxp ZEJsb2NrTnVtYmVyOworfQogCiAvKgogICogQmxvY2tJZFNldAogICoJCVNldHMgYSBibG9j ayBpZGVudGlmaWVyIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUuCiAgKi8KLSNkZWZpbmUgQmxv Y2tJZFNldChibG9ja0lkLCBibG9ja051bWJlcikgXAotKCBcCi0JKGJsb2NrSWQpLT5iaV9o aSA9IChibG9ja051bWJlcikgPj4gMTYsIFwKLQkoYmxvY2tJZCktPmJpX2xvID0gKGJsb2Nr TnVtYmVyKSAmIDB4ZmZmZiBcCi0pCi0KLS8qCi0gKiBCbG9ja0lkQ29weQotICoJCUNvcHkg YSBibG9jayBpZGVudGlmaWVyLgotICovCi0jZGVmaW5lIEJsb2NrSWRDb3B5KHRvQmxvY2tJ ZCwgZnJvbUJsb2NrSWQpIFwKLSggXAotCSh0b0Jsb2NrSWQpLT5iaV9oaSA9IChmcm9tQmxv Y2tJZCktPmJpX2hpLCBcCi0JKHRvQmxvY2tJZCktPmJpX2xvID0gKGZyb21CbG9ja0lkKS0+ YmlfbG8gXAotKQorc3RhdGljIGlubGluZSB2b2lkCitCbG9ja0lkU2V0KEJsb2NrSWREYXRh ICpibG9ja0lkLCBCbG9ja051bWJlciBibG9ja051bWJlcikKK3sKKwlibG9ja0lkLT5iaV9o aSA9IGJsb2NrTnVtYmVyID4+IDE2OworCWJsb2NrSWQtPmJpX2xvID0gYmxvY2tOdW1iZXIg JiAweGZmZmY7Cit9CiAKIC8qCiAgKiBCbG9ja0lkRXF1YWxzCiAgKgkJQ2hlY2sgZm9yIGJs b2NrIG51bWJlciBlcXVhbGl0eS4KICAqLwotI2RlZmluZSBCbG9ja0lkRXF1YWxzKGJsb2Nr SWQxLCBibG9ja0lkMikgXAotCSgoYmxvY2tJZDEpLT5iaV9oaSA9PSAoYmxvY2tJZDIpLT5i aV9oaSAmJiBcCi0JIChibG9ja0lkMSktPmJpX2xvID09IChibG9ja0lkMiktPmJpX2xvKQor c3RhdGljIGlubGluZSBib29sCitCbG9ja0lkRXF1YWxzKGNvbnN0IEJsb2NrSWREYXRhICpi bG9ja0lkMSwgY29uc3QgQmxvY2tJZERhdGEgKmJsb2NrSWQyKQoreworCXJldHVybiAoYmxv Y2tJZDEtPmJpX2hpID09IGJsb2NrSWQyLT5iaV9oaSAmJgorCQkJYmxvY2tJZDEtPmJpX2xv ID09IGJsb2NrSWQyLT5iaV9sbyk7Cit9CiAKIC8qCiAgKiBCbG9ja0lkR2V0QmxvY2tOdW1i ZXIKICAqCQlSZXRyaWV2ZSB0aGUgYmxvY2sgbnVtYmVyIGZyb20gYSBibG9jayBpZGVudGlm aWVyLgogICovCi0jZGVmaW5lIEJsb2NrSWRHZXRCbG9ja051bWJlcihibG9ja0lkKSBcCi0J KCgoKEJsb2NrTnVtYmVyKSAoYmxvY2tJZCktPmJpX2hpKSA8PCAxNikgfCAoKEJsb2NrTnVt YmVyKSAoYmxvY2tJZCktPmJpX2xvKSkKK3N0YXRpYyBpbmxpbmUgQmxvY2tOdW1iZXIKK0Js b2NrSWRHZXRCbG9ja051bWJlcihjb25zdCBCbG9ja0lkRGF0YSAqYmxvY2tJZCkKK3sKKwly ZXR1cm4gKCgoQmxvY2tOdW1iZXIpIChibG9ja0lkKS0+YmlfaGkpIDw8IDE2KSB8ICgoQmxv Y2tOdW1iZXIpIChibG9ja0lkKS0+YmlfbG8pOworfQogCiAjZW5kaWYJCQkJCQkJLyogQkxP Q0tfSCAqLwotLSAKMi4zNS4xCgo= --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0002-Convert-macros-to-static-inline-functions-bufpage.h.patch" Content-Disposition: attachment; filename*0="0002-Convert-macros-to-static-inline-functions-bufpage.h.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBlNGZmNTg0NjhhODEyYmJlYmEzNzdiOTU3OTU2ZWExOGE5ZTEwMGQ0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChi dWZwYWdlLmgpCgpyYXdwYWdlLmMgbmVlZHMgc29tZSBhZGp1c3RtZW50cyBiZWNhdXNlIGl0 IHdhcyBwcmV2aW91c2x5IHBsYXlpbmcKbG9vc2Ugd2l0aCB0aGUgUGFnZSB2cy4gUGFnZUhl YWRlciB0eXBlcywgd2hpY2ggaXMgbm8gbG9uZ2VyIHBvc3NpYmxlCndpdGggdGhlIGZ1bmN0 aW9ucyBpbnN0ZWFkIG9mIG1hY3Jvcy4KLS0tCiBjb250cmliL3BhZ2VpbnNwZWN0L3Jhd3Bh Z2UuYyB8ICAyNCArKysrLS0tCiBzcmMvaW5jbHVkZS9zdG9yYWdlL2J1ZnBhZ2UuaCB8IDEy NSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs IDg2IGluc2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRy aWIvcGFnZWluc3BlY3QvcmF3cGFnZS5jIGIvY29udHJpYi9wYWdlaW5zcGVjdC9yYXdwYWdl LmMKaW5kZXggNzMwYTQ2YjFkOC4uOTA5NDJiZTcxZSAxMDA2NDQKLS0tIGEvY29udHJpYi9w YWdlaW5zcGVjdC9yYXdwYWdlLmMKKysrIGIvY29udHJpYi9wYWdlaW5zcGVjdC9yYXdwYWdl LmMKQEAgLTI1NCw3ICsyNTQsOCBAQCBwYWdlX2hlYWRlcihQR19GVU5DVElPTl9BUkdTKQog CURhdHVtCQl2YWx1ZXNbOV07CiAJYm9vbAkJbnVsbHNbOV07CiAKLQlQYWdlSGVhZGVyCXBh Z2U7CisJUGFnZQkJcGFnZTsKKwlQYWdlSGVhZGVyCXBhZ2VoZWFkZXI7CiAJWExvZ1JlY1B0 cglsc247CiAKIAlpZiAoIXN1cGVydXNlcigpKQpAQCAtMjYyLDcgKzI2Myw4IEBAIHBhZ2Vf aGVhZGVyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJ Q0lFTlRfUFJJVklMRUdFKSwKIAkJCQkgZXJybXNnKCJtdXN0IGJlIHN1cGVydXNlciB0byB1 c2UgcmF3IHBhZ2UgZnVuY3Rpb25zIikpKTsKIAotCXBhZ2UgPSAoUGFnZUhlYWRlcikgZ2V0 X3BhZ2VfZnJvbV9yYXcocmF3X3BhZ2UpOworCXBhZ2UgPSBnZXRfcGFnZV9mcm9tX3Jhdyhy YXdfcGFnZSk7CisJcGFnZWhlYWRlciA9IChQYWdlSGVhZGVyKSBwYWdlOwogCiAJLyogQnVp bGQgYSB0dXBsZSBkZXNjcmlwdG9yIGZvciBvdXIgcmVzdWx0IHR5cGUgKi8KIAlpZiAoZ2V0 X2NhbGxfcmVzdWx0X3R5cGUoZmNpbmZvLCBOVUxMLCAmdHVwZGVzYykgIT0gVFlQRUZVTkNf Q09NUE9TSVRFKQpAQCAtMjgyLDggKzI4NCw4IEBAIHBhZ2VfaGVhZGVyKFBHX0ZVTkNUSU9O X0FSR1MpCiAJfQogCWVsc2UKIAkJdmFsdWVzWzBdID0gTFNOR2V0RGF0dW0obHNuKTsKLQl2 YWx1ZXNbMV0gPSBVSW50MTZHZXREYXR1bShwYWdlLT5wZF9jaGVja3N1bSk7Ci0JdmFsdWVz WzJdID0gVUludDE2R2V0RGF0dW0ocGFnZS0+cGRfZmxhZ3MpOworCXZhbHVlc1sxXSA9IFVJ bnQxNkdldERhdHVtKHBhZ2VoZWFkZXItPnBkX2NoZWNrc3VtKTsKKwl2YWx1ZXNbMl0gPSBV SW50MTZHZXREYXR1bShwYWdlaGVhZGVyLT5wZF9mbGFncyk7CiAKIAkvKiBwYWdlaW5zcGVj dCA+PSAxLjEwIHVzZXMgaW50NCBpbnN0ZWFkIG9mIGludDIgZm9yIHRob3NlIGZpZWxkcyAq LwogCXN3aXRjaCAoVHVwbGVEZXNjQXR0cih0dXBkZXNjLCAzKS0+YXR0dHlwaWQpCkBAIC0y OTIsMTggKzI5NCwxOCBAQCBwYWdlX2hlYWRlcihQR19GVU5DVElPTl9BUkdTKQogCQkJQXNz ZXJ0KFR1cGxlRGVzY0F0dHIodHVwZGVzYywgNCktPmF0dHR5cGlkID09IElOVDJPSUQgJiYK IAkJCQkgICBUdXBsZURlc2NBdHRyKHR1cGRlc2MsIDUpLT5hdHR0eXBpZCA9PSBJTlQyT0lE ICYmCiAJCQkJICAgVHVwbGVEZXNjQXR0cih0dXBkZXNjLCA2KS0+YXR0dHlwaWQgPT0gSU5U Mk9JRCk7Ci0JCQl2YWx1ZXNbM10gPSBVSW50MTZHZXREYXR1bShwYWdlLT5wZF9sb3dlcik7 Ci0JCQl2YWx1ZXNbNF0gPSBVSW50MTZHZXREYXR1bShwYWdlLT5wZF91cHBlcik7Ci0JCQl2 YWx1ZXNbNV0gPSBVSW50MTZHZXREYXR1bShwYWdlLT5wZF9zcGVjaWFsKTsKKwkJCXZhbHVl c1szXSA9IFVJbnQxNkdldERhdHVtKHBhZ2VoZWFkZXItPnBkX2xvd2VyKTsKKwkJCXZhbHVl c1s0XSA9IFVJbnQxNkdldERhdHVtKHBhZ2VoZWFkZXItPnBkX3VwcGVyKTsKKwkJCXZhbHVl c1s1XSA9IFVJbnQxNkdldERhdHVtKHBhZ2VoZWFkZXItPnBkX3NwZWNpYWwpOwogCQkJdmFs dWVzWzZdID0gVUludDE2R2V0RGF0dW0oUGFnZUdldFBhZ2VTaXplKHBhZ2UpKTsKIAkJCWJy ZWFrOwogCQljYXNlIElOVDRPSUQ6CiAJCQlBc3NlcnQoVHVwbGVEZXNjQXR0cih0dXBkZXNj LCA0KS0+YXR0dHlwaWQgPT0gSU5UNE9JRCAmJgogCQkJCSAgIFR1cGxlRGVzY0F0dHIodHVw ZGVzYywgNSktPmF0dHR5cGlkID09IElOVDRPSUQgJiYKIAkJCQkgICBUdXBsZURlc2NBdHRy KHR1cGRlc2MsIDYpLT5hdHR0eXBpZCA9PSBJTlQ0T0lEKTsKLQkJCXZhbHVlc1szXSA9IElu dDMyR2V0RGF0dW0ocGFnZS0+cGRfbG93ZXIpOwotCQkJdmFsdWVzWzRdID0gSW50MzJHZXRE YXR1bShwYWdlLT5wZF91cHBlcik7Ci0JCQl2YWx1ZXNbNV0gPSBJbnQzMkdldERhdHVtKHBh Z2UtPnBkX3NwZWNpYWwpOworCQkJdmFsdWVzWzNdID0gSW50MzJHZXREYXR1bShwYWdlaGVh ZGVyLT5wZF9sb3dlcik7CisJCQl2YWx1ZXNbNF0gPSBJbnQzMkdldERhdHVtKHBhZ2VoZWFk ZXItPnBkX3VwcGVyKTsKKwkJCXZhbHVlc1s1XSA9IEludDMyR2V0RGF0dW0ocGFnZWhlYWRl ci0+cGRfc3BlY2lhbCk7CiAJCQl2YWx1ZXNbNl0gPSBJbnQzMkdldERhdHVtKFBhZ2VHZXRQ YWdlU2l6ZShwYWdlKSk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKQEAgLTMxMiw3ICszMTQs NyBAQCBwYWdlX2hlYWRlcihQR19GVU5DVElPTl9BUkdTKQogCX0KIAogCXZhbHVlc1s3XSA9 IFVJbnQxNkdldERhdHVtKFBhZ2VHZXRQYWdlTGF5b3V0VmVyc2lvbihwYWdlKSk7Ci0JdmFs dWVzWzhdID0gVHJhbnNhY3Rpb25JZEdldERhdHVtKHBhZ2UtPnBkX3BydW5lX3hpZCk7CisJ dmFsdWVzWzhdID0gVHJhbnNhY3Rpb25JZEdldERhdHVtKHBhZ2VoZWFkZXItPnBkX3BydW5l X3hpZCk7CiAKIAkvKiBCdWlsZCBhbmQgcmV0dXJuIHRoZSB0dXBsZS4gKi8KIApkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZwYWdlLmggYi9zcmMvaW5jbHVkZS9zdG9y YWdlL2J1ZnBhZ2UuaAppbmRleCBlOWYyNTNmMmM4Li42ZDVkNmIyYjBkIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9zdG9yYWdlL2J1ZnBhZ2UuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9y YWdlL2J1ZnBhZ2UuaApAQCAtMTQsNiArMTQsNyBAQAogI2lmbmRlZiBCVUZQQUdFX0gKICNk ZWZpbmUgQlVGUEFHRV9ICiAKKyNpbmNsdWRlICJhY2Nlc3MvdHJhbnNhbS5oIgogI2luY2x1 ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYmxvY2suaCIKICNp bmNsdWRlICJzdG9yYWdlL2l0ZW0uaCIKQEAgLTk3LDggKzk4LDEyIEBAIHR5cGVkZWYgc3Ry dWN0CiAJdWludDMyCQl4cmVjb2ZmOwkJLyogbG93IGJpdHMgKi8KIH0gUGFnZVhMb2dSZWNQ dHI7CiAKLSNkZWZpbmUgUGFnZVhMb2dSZWNQdHJHZXQodmFsKSBcCi0JKCh1aW50NjQpICh2 YWwpLnhsb2dpZCA8PCAzMiB8ICh2YWwpLnhyZWNvZmYpCisKK3N0YXRpYyBpbmxpbmUgWExv Z1JlY1B0cgorUGFnZVhMb2dSZWNQdHJHZXQoUGFnZVhMb2dSZWNQdHIgdmFsKQoreworCXJl dHVybiAodWludDY0KSB2YWwueGxvZ2lkIDw8IDMyIHwgdmFsLnhyZWNvZmY7Cit9CiAjZGVm aW5lIFBhZ2VYTG9nUmVjUHRyU2V0KHB0ciwgbHNuKSBcCiAJKChwdHIpLnhsb2dpZCA9ICh1 aW50MzIpICgobHNuKSA+PiAzMiksIChwdHIpLnhyZWNvZmYgPSAodWludDMyKSAobHNuKSkK IApAQCAtMjAwLDcgKzIwNSw3IEBAIHR5cGVkZWYgUGFnZUhlYWRlckRhdGEgKlBhZ2VIZWFk ZXI7CiAjZGVmaW5lIFBHX0RBVEFfQ0hFQ0tTVU1fVkVSU0lPTgkxCiAKIC8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSAqCQkJCQkJcGFnZSBzdXBwb3J0IG1hY3JvcworICoJCQkJCQlwYWdlIHN1cHBvcnQg bWFjcm9zIGFuZCBmdW5jdGlvbnMKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCkBAIC0yNDcsNyAr MjUyLDcgQEAgdHlwZWRlZiBQYWdlSGVhZGVyRGF0YSAqUGFnZUhlYWRlcjsKIAkoKGNoYXIg KikgKHBhZ2UpICsgTUFYQUxJR04oU2l6ZU9mUGFnZUhlYWRlckRhdGEpKQogCiAvKiAtLS0t LS0tLS0tLS0tLS0tCi0gKgkJbWFjcm9zIHRvIGFjY2VzcyBwYWdlIHNpemUgaW5mbworICoJ CW1hY3JvcyBhbmQgZnVuY3Rpb25zIHRvIGFjY2VzcyBwYWdlIHNpemUgaW5mbwogICogLS0t LS0tLS0tLS0tLS0tLQogICovCiAKQEAgLTI2NSwxNSArMjcwLDIxIEBAIHR5cGVkZWYgUGFn ZUhlYWRlckRhdGEgKlBhZ2VIZWFkZXI7CiAgKiBCdWZmZXJHZXRQYWdlU2l6ZSwgd2hpY2gg Y2FuIGJlIGNhbGxlZCBvbiBhbiB1bmZvcm1hdHRlZCBwYWdlKS4KICAqIGhvd2V2ZXIsIGl0 IGNhbiBiZSBjYWxsZWQgb24gYSBwYWdlIHRoYXQgaXMgbm90IHN0b3JlZCBpbiBhIGJ1ZmZl ci4KICAqLwotI2RlZmluZSBQYWdlR2V0UGFnZVNpemUocGFnZSkgXAotCSgoU2l6ZSkgKCgo UGFnZUhlYWRlcikgKHBhZ2UpKS0+cGRfcGFnZXNpemVfdmVyc2lvbiAmICh1aW50MTYpIDB4 RkYwMCkpCitzdGF0aWMgaW5saW5lIFNpemUKK1BhZ2VHZXRQYWdlU2l6ZShQYWdlIHBhZ2Up Cit7CisJcmV0dXJuIChTaXplKSAoKChQYWdlSGVhZGVyKSBwYWdlKS0+cGRfcGFnZXNpemVf dmVyc2lvbiAmICh1aW50MTYpIDB4RkYwMCk7Cit9CiAKIC8qCiAgKiBQYWdlR2V0UGFnZUxh eW91dFZlcnNpb24KICAqCQlSZXR1cm5zIHRoZSBwYWdlIGxheW91dCB2ZXJzaW9uIG9mIGEg cGFnZS4KICAqLwotI2RlZmluZSBQYWdlR2V0UGFnZUxheW91dFZlcnNpb24ocGFnZSkgXAot CSgoKFBhZ2VIZWFkZXIpIChwYWdlKSktPnBkX3BhZ2VzaXplX3ZlcnNpb24gJiAweDAwRkYp CitzdGF0aWMgaW5saW5lIHVpbnQ4CitQYWdlR2V0UGFnZUxheW91dFZlcnNpb24oUGFnZSBw YWdlKQoreworCXJldHVybiAoKChQYWdlSGVhZGVyKSBwYWdlKS0+cGRfcGFnZXNpemVfdmVy c2lvbiAmIDB4MDBGRik7Cit9CiAKIC8qCiAgKiBQYWdlU2V0UGFnZVNpemVBbmRWZXJzaW9u CkBAIC0yODIsNTIgKzI5Myw1MiBAQCB0eXBlZGVmIFBhZ2VIZWFkZXJEYXRhICpQYWdlSGVh ZGVyOwogICogV2UgY291bGQgc3VwcG9ydCBzZXR0aW5nIHRoZXNlIHR3byB2YWx1ZXMgc2Vw YXJhdGVseSwgYnV0IHRoZXJlJ3MKICAqIG5vIHJlYWwgbmVlZCBmb3IgaXQgYXQgdGhlIG1v bWVudC4KICAqLwotI2RlZmluZSBQYWdlU2V0UGFnZVNpemVBbmRWZXJzaW9uKHBhZ2UsIHNp emUsIHZlcnNpb24pIFwKLSggXAotCUFzc2VydE1hY3JvKCgoc2l6ZSkgJiAweEZGMDApID09 IChzaXplKSksIFwKLQlBc3NlcnRNYWNybygoKHZlcnNpb24pICYgMHgwMEZGKSA9PSAodmVy c2lvbikpLCBcCi0JKChQYWdlSGVhZGVyKSAocGFnZSkpLT5wZF9wYWdlc2l6ZV92ZXJzaW9u ID0gKHNpemUpIHwgKHZlcnNpb24pIFwKLSkKK3N0YXRpYyBpbmxpbmUgdm9pZAorUGFnZVNl dFBhZ2VTaXplQW5kVmVyc2lvbihQYWdlIHBhZ2UsIFNpemUgc2l6ZSwgdWludDggdmVyc2lv bikKK3sKKwlBc3NlcnQoKHNpemUgJiAweEZGMDApID09IHNpemUpOworCUFzc2VydCgodmVy c2lvbiAmIDB4MDBGRikgPT0gdmVyc2lvbik7CisKKwkoKFBhZ2VIZWFkZXIpIHBhZ2UpLT5w ZF9wYWdlc2l6ZV92ZXJzaW9uID0gc2l6ZSB8IHZlcnNpb247Cit9CiAKIC8qIC0tLS0tLS0t LS0tLS0tLS0KLSAqCQlwYWdlIHNwZWNpYWwgZGF0YSBtYWNyb3MKKyAqCQlwYWdlIHNwZWNp YWwgZGF0YSBtYWNyb3MgYW5kIGZ1bmN0aW9ucwogICogLS0tLS0tLS0tLS0tLS0tLQogICov CiAvKgogICogUGFnZUdldFNwZWNpYWxTaXplCiAgKgkJUmV0dXJucyBzaXplIG9mIHNwZWNp YWwgc3BhY2Ugb24gYSBwYWdlLgogICovCi0jZGVmaW5lIFBhZ2VHZXRTcGVjaWFsU2l6ZShw YWdlKSBcCi0JKCh1aW50MTYpIChQYWdlR2V0UGFnZVNpemUocGFnZSkgLSAoKFBhZ2VIZWFk ZXIpKHBhZ2UpKS0+cGRfc3BlY2lhbCkpCitzdGF0aWMgaW5saW5lIHVpbnQxNgorUGFnZUdl dFNwZWNpYWxTaXplKFBhZ2UgcGFnZSkKK3sKKwlyZXR1cm4gKCh1aW50MTYpIChQYWdlR2V0 UGFnZVNpemUocGFnZSkgLSAoKFBhZ2VIZWFkZXIpIHBhZ2UpLT5wZF9zcGVjaWFsKSk7Cit9 CiAKIC8qCiAgKiBVc2luZyBhc3NlcnRpb25zLCB2YWxpZGF0ZSB0aGF0IHRoZSBwYWdlIHNw ZWNpYWwgcG9pbnRlciBpcyBPSy4KICAqCiAgKiBUaGlzIGlzIGludGVuZGVkIHRvIGNhdGNo IHVzZSBvZiB0aGUgcG9pbnRlciBiZWZvcmUgcGFnZSBpbml0aWFsaXphdGlvbi4KLSAqIEl0 IGlzIGltcGxlbWVudGVkIGFzIGEgZnVuY3Rpb24gZHVlIHRvIHRoZSBsaW1pdGF0aW9ucyBv ZiB0aGUgTVNWQwotICogY29tcGlsZXIsIHdoaWNoIGNob2tlZCBvbiBkb2luZyBhbGwgdGhl c2UgdGVzdHMgd2l0aGluIGFub3RoZXIgbWFjcm8uICBXZQotICogcmV0dXJuIHRydWUgc28g dGhhdCBBc3NlcnRNYWNybygpIGNhbiBiZSB1c2VkIHdoaWxlIHN0aWxsIGdldHRpbmcgdGhl Ci0gKiBzcGVjaWZpY3MgZnJvbSB0aGUgbWFjcm8gZmFpbHVyZSB3aXRoaW4gdGhpcyBmdW5j dGlvbi4KICAqLwotc3RhdGljIGlubGluZSBib29sCitzdGF0aWMgaW5saW5lIHZvaWQKIFBh Z2VWYWxpZGF0ZVNwZWNpYWxQb2ludGVyKFBhZ2UgcGFnZSkKIHsKIAlBc3NlcnQoUGFnZUlz VmFsaWQocGFnZSkpOwogCUFzc2VydCgoKFBhZ2VIZWFkZXIpIChwYWdlKSktPnBkX3NwZWNp YWwgPD0gQkxDS1NaKTsKIAlBc3NlcnQoKChQYWdlSGVhZGVyKSAocGFnZSkpLT5wZF9zcGVj aWFsID49IFNpemVPZlBhZ2VIZWFkZXJEYXRhKTsKLQotCXJldHVybiB0cnVlOwogfQogCiAv KgogICogUGFnZUdldFNwZWNpYWxQb2ludGVyCiAgKgkJUmV0dXJucyBwb2ludGVyIHRvIHNw ZWNpYWwgc3BhY2Ugb24gYSBwYWdlLgogICovCi0jZGVmaW5lIFBhZ2VHZXRTcGVjaWFsUG9p bnRlcihwYWdlKSBcCi0oIFwKLQlBc3NlcnRNYWNybyhQYWdlVmFsaWRhdGVTcGVjaWFsUG9p bnRlcihwYWdlKSksIFwKLQkoY2hhciAqKSAoKGNoYXIgKikgKHBhZ2UpICsgKChQYWdlSGVh ZGVyKSAocGFnZSkpLT5wZF9zcGVjaWFsKSBcCi0pCitzdGF0aWMgaW5saW5lIGNoYXIgKgor UGFnZUdldFNwZWNpYWxQb2ludGVyKFBhZ2UgcGFnZSkKK3sKKwlQYWdlVmFsaWRhdGVTcGVj aWFsUG9pbnRlcihwYWdlKTsKKwlyZXR1cm4gKGNoYXIgKikgcGFnZSArICgoUGFnZUhlYWRl cikgcGFnZSktPnBkX3NwZWNpYWw7Cit9CiAKIC8qCiAgKiBQYWdlR2V0SXRlbQpAQCAtMzM3 LDEyICszNDgsMTQgQEAgUGFnZVZhbGlkYXRlU3BlY2lhbFBvaW50ZXIoUGFnZSBwYWdlKQog ICoJCVRoaXMgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0dXMgb2YgYW55IG9mIHRoZSByZXNv dXJjZXMgcGFzc2VkLgogICoJCVRoZSBzZW1hbnRpY3MgbWF5IGNoYW5nZSBpbiB0aGUgZnV0 dXJlLgogICovCi0jZGVmaW5lIFBhZ2VHZXRJdGVtKHBhZ2UsIGl0ZW1JZCkgXAotKCBcCi0J QXNzZXJ0TWFjcm8oUGFnZUlzVmFsaWQocGFnZSkpLCBcCi0JQXNzZXJ0TWFjcm8oSXRlbUlk SGFzU3RvcmFnZShpdGVtSWQpKSwgXAotCShJdGVtKSgoKGNoYXIgKikocGFnZSkpICsgSXRl bUlkR2V0T2Zmc2V0KGl0ZW1JZCkpIFwKLSkKK3N0YXRpYyBpbmxpbmUgSXRlbQorUGFnZUdl dEl0ZW0oUGFnZSBwYWdlLCBJdGVtSWQgaXRlbUlkKQoreworCUFzc2VydChQYWdlSXNWYWxp ZChwYWdlKSk7CisJQXNzZXJ0KEl0ZW1JZEhhc1N0b3JhZ2UoaXRlbUlkKSk7CisKKwlyZXR1 cm4gKEl0ZW0pICgoKGNoYXIgKikgcGFnZSkgKyBJdGVtSWRHZXRPZmZzZXQoaXRlbUlkKSk7 Cit9CiAKIC8qCiAgKiBQYWdlR2V0TWF4T2Zmc2V0TnVtYmVyCkBAIC0zNTEsMTcgKzM2NCwx OSBAQCBQYWdlVmFsaWRhdGVTcGVjaWFsUG9pbnRlcihQYWdlIHBhZ2UpCiAgKgkJb2YgaXRl bXMgb24gdGhlIHBhZ2UuCiAgKgogICoJCU5PVEU6IGlmIHRoZSBwYWdlIGlzIG5vdCBpbml0 aWFsaXplZCAocGRfbG93ZXIgPT0gMCksIHdlIG11c3QKLSAqCQlyZXR1cm4gemVybyB0byBl bnN1cmUgc2FuZSBiZWhhdmlvci4gIEFjY2VwdCBkb3VibGUgZXZhbHVhdGlvbgotICoJCW9m IHRoZSBhcmd1bWVudCBzbyB0aGF0IHdlIGNhbiBlbnN1cmUgdGhpcy4KKyAqCQlyZXR1cm4g emVybyB0byBlbnN1cmUgc2FuZSBiZWhhdmlvci4KICAqLwotI2RlZmluZSBQYWdlR2V0TWF4 T2Zmc2V0TnVtYmVyKHBhZ2UpIFwKLQkoKChQYWdlSGVhZGVyKSAocGFnZSkpLT5wZF9sb3dl ciA8PSBTaXplT2ZQYWdlSGVhZGVyRGF0YSA/IDAgOiBcCi0JICgoKChQYWdlSGVhZGVyKSAo cGFnZSkpLT5wZF9sb3dlciAtIFNpemVPZlBhZ2VIZWFkZXJEYXRhKSBcCi0JICAvIHNpemVv ZihJdGVtSWREYXRhKSkpCitzdGF0aWMgaW5saW5lIE9mZnNldE51bWJlcgorUGFnZUdldE1h eE9mZnNldE51bWJlcihQYWdlIHBhZ2UpCit7CisJaWYgKCgoUGFnZUhlYWRlcikgcGFnZSkt PnBkX2xvd2VyIDw9IFNpemVPZlBhZ2VIZWFkZXJEYXRhKQorCQlyZXR1cm4gMDsKKwllbHNl CisJCXJldHVybiAoKCgoUGFnZUhlYWRlcikgcGFnZSktPnBkX2xvd2VyIC0gU2l6ZU9mUGFn ZUhlYWRlckRhdGEpIC8gc2l6ZW9mKEl0ZW1JZERhdGEpKTsKK30KIAogLyoKLSAqIEFkZGl0 aW9uYWwgbWFjcm9zIGZvciBhY2Nlc3MgdG8gcGFnZSBoZWFkZXJzLiAoQmV3YXJlIG11bHRp cGxlIGV2YWx1YXRpb24KLSAqIG9mIHRoZSBhcmd1bWVudHMhKQorICogQWRkaXRpb25hbCBt YWNyb3MgYW5kIGZ1bmN0aW9ucyBmb3IgYWNjZXNzIHRvIHBhZ2UgaGVhZGVycy4KICAqLwog I2RlZmluZSBQYWdlR2V0TFNOKHBhZ2UpIFwKIAlQYWdlWExvZ1JlY1B0ckdldCgoKFBhZ2VI ZWFkZXIpIChwYWdlKSktPnBkX2xzbikKQEAgLTM4OSwxNSArNDA0LDIxIEBAIFBhZ2VWYWxp ZGF0ZVNwZWNpYWxQb2ludGVyKFBhZ2UgcGFnZSkKICNkZWZpbmUgUGFnZUNsZWFyQWxsVmlz aWJsZShwYWdlKSBcCiAJKCgoUGFnZUhlYWRlcikgKHBhZ2UpKS0+cGRfZmxhZ3MgJj0gflBE X0FMTF9WSVNJQkxFKQogCi0jZGVmaW5lIFBhZ2VTZXRQcnVuYWJsZShwYWdlLCB4aWQpIFwK LWRvIHsgXAotCUFzc2VydChUcmFuc2FjdGlvbklkSXNOb3JtYWwoeGlkKSk7IFwKLQlpZiAo IVRyYW5zYWN0aW9uSWRJc1ZhbGlkKCgoUGFnZUhlYWRlcikgKHBhZ2UpKS0+cGRfcHJ1bmVf eGlkKSB8fCBcCi0JCVRyYW5zYWN0aW9uSWRQcmVjZWRlcyh4aWQsICgoUGFnZUhlYWRlcikg KHBhZ2UpKS0+cGRfcHJ1bmVfeGlkKSkgXAotCQkoKFBhZ2VIZWFkZXIpIChwYWdlKSktPnBk X3BydW5lX3hpZCA9ICh4aWQpOyBcCi19IHdoaWxlICgwKQotI2RlZmluZSBQYWdlQ2xlYXJQ cnVuYWJsZShwYWdlKSBcCi0JKCgoUGFnZUhlYWRlcikgKHBhZ2UpKS0+cGRfcHJ1bmVfeGlk ID0gSW52YWxpZFRyYW5zYWN0aW9uSWQpCitzdGF0aWMgaW5saW5lIHZvaWQKK1BhZ2VTZXRQ cnVuYWJsZShQYWdlIHBhZ2UsIFRyYW5zYWN0aW9uSWQgeGlkKQoreworCUFzc2VydChUcmFu c2FjdGlvbklkSXNOb3JtYWwoeGlkKSk7CisKKwlpZiAoIVRyYW5zYWN0aW9uSWRJc1ZhbGlk KCgoUGFnZUhlYWRlcikgcGFnZSktPnBkX3BydW5lX3hpZCkgfHwKKwkJVHJhbnNhY3Rpb25J ZFByZWNlZGVzKHhpZCwgKChQYWdlSGVhZGVyKSBwYWdlKS0+cGRfcHJ1bmVfeGlkKSkKKwkJ KChQYWdlSGVhZGVyKSBwYWdlKS0+cGRfcHJ1bmVfeGlkID0geGlkOworfQorCitzdGF0aWMg aW5saW5lIHZvaWQKK1BhZ2VDbGVhclBydW5hYmxlKFBhZ2UgcGFnZSkKK3sKKwkoKFBhZ2VI ZWFkZXIpIHBhZ2UpLT5wZF9wcnVuZV94aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKK30K IAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0tIAoyLjM1LjEKCg== --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0003-Convert-macros-to-static-inline-functions-itemptr.h.patch" Content-Disposition: attachment; filename*0="0003-Convert-macros-to-static-inline-functions-itemptr.h.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSAzY2IzYmI5YTg0MjU5MTAxOTQ4MzRmZWM3ZTEzMTZhZjk2NTE0ZTgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChp dGVtcHRyLmgpCgotLS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2UvaXRlbXB0ci5oIHwgMTI5ICsr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MyBp bnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9zdG9yYWdlL2l0ZW1wdHIuaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvaXRlbXB0ci5oCmlu ZGV4IDgxOTQ3YmM2NTcuLjNlYzg4YTY4ZGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0 b3JhZ2UvaXRlbXB0ci5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvaXRlbXB0ci5oCkBA IC03MSw3ICs3MSw3IEBAIHR5cGVkZWYgSXRlbVBvaW50ZXJEYXRhICpJdGVtUG9pbnRlcjsK IAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tCi0gKgkJc3VwcG9ydCBtYWNyb3MKKyAqCQlzdXBw b3J0IGZ1bmN0aW9ucwogICogLS0tLS0tLS0tLS0tLS0tLQogICovCiAKQEAgLTc5LDc3ICs3 OSw4NyBAQCB0eXBlZGVmIEl0ZW1Qb2ludGVyRGF0YSAqSXRlbVBvaW50ZXI7CiAgKiBJdGVt UG9pbnRlcklzVmFsaWQKICAqCQlUcnVlIGlmZiB0aGUgZGlzayBpdGVtIHBvaW50ZXIgaXMg bm90IE5VTEwuCiAgKi8KLSNkZWZpbmUgSXRlbVBvaW50ZXJJc1ZhbGlkKHBvaW50ZXIpIFwK LQkoKGJvb2wpIChQb2ludGVySXNWYWxpZChwb2ludGVyKSAmJiAoKHBvaW50ZXIpLT5pcF9w b3NpZCAhPSAwKSkpCitzdGF0aWMgaW5saW5lIGJvb2wKK0l0ZW1Qb2ludGVySXNWYWxpZChj b25zdCBJdGVtUG9pbnRlckRhdGEgKnBvaW50ZXIpCit7CisJcmV0dXJuIFBvaW50ZXJJc1Zh bGlkKHBvaW50ZXIpICYmIHBvaW50ZXItPmlwX3Bvc2lkICE9IDA7Cit9CiAKIC8qCiAgKiBJ dGVtUG9pbnRlckdldEJsb2NrTnVtYmVyTm9DaGVjawogICoJCVJldHVybnMgdGhlIGJsb2Nr IG51bWJlciBvZiBhIGRpc2sgaXRlbSBwb2ludGVyLgogICovCi0jZGVmaW5lIEl0ZW1Qb2lu dGVyR2V0QmxvY2tOdW1iZXJOb0NoZWNrKHBvaW50ZXIpIFwKLSggXAotCUJsb2NrSWRHZXRC bG9ja051bWJlcigmKHBvaW50ZXIpLT5pcF9ibGtpZCkgXAotKQorc3RhdGljIGlubGluZSBC bG9ja051bWJlcgorSXRlbVBvaW50ZXJHZXRCbG9ja051bWJlck5vQ2hlY2soY29uc3QgSXRl bVBvaW50ZXJEYXRhICpwb2ludGVyKQoreworCXJldHVybiBCbG9ja0lkR2V0QmxvY2tOdW1i ZXIoJnBvaW50ZXItPmlwX2Jsa2lkKTsKK30KIAogLyoKICAqIEl0ZW1Qb2ludGVyR2V0Qmxv Y2tOdW1iZXIKICAqCQlBcyBhYm92ZSwgYnV0IHZlcmlmaWVzIHRoYXQgdGhlIGl0ZW0gcG9p bnRlciBsb29rcyB2YWxpZC4KICAqLwotI2RlZmluZSBJdGVtUG9pbnRlckdldEJsb2NrTnVt YmVyKHBvaW50ZXIpIFwKLSggXAotCUFzc2VydE1hY3JvKEl0ZW1Qb2ludGVySXNWYWxpZChw b2ludGVyKSksIFwKLQlJdGVtUG9pbnRlckdldEJsb2NrTnVtYmVyTm9DaGVjayhwb2ludGVy KSBcCi0pCitzdGF0aWMgaW5saW5lIEJsb2NrTnVtYmVyCitJdGVtUG9pbnRlckdldEJsb2Nr TnVtYmVyKGNvbnN0IEl0ZW1Qb2ludGVyRGF0YSAqcG9pbnRlcikKK3sKKwlBc3NlcnQoSXRl bVBvaW50ZXJJc1ZhbGlkKHBvaW50ZXIpKTsKKwlyZXR1cm4gSXRlbVBvaW50ZXJHZXRCbG9j a051bWJlck5vQ2hlY2socG9pbnRlcik7Cit9CiAKIC8qCiAgKiBJdGVtUG9pbnRlckdldE9m ZnNldE51bWJlck5vQ2hlY2sKICAqCQlSZXR1cm5zIHRoZSBvZmZzZXQgbnVtYmVyIG9mIGEg ZGlzayBpdGVtIHBvaW50ZXIuCiAgKi8KLSNkZWZpbmUgSXRlbVBvaW50ZXJHZXRPZmZzZXRO dW1iZXJOb0NoZWNrKHBvaW50ZXIpIFwKLSggXAotCShwb2ludGVyKS0+aXBfcG9zaWQgXAot KQorc3RhdGljIGlubGluZSBPZmZzZXROdW1iZXIKK0l0ZW1Qb2ludGVyR2V0T2Zmc2V0TnVt YmVyTm9DaGVjayhjb25zdCBJdGVtUG9pbnRlckRhdGEgKnBvaW50ZXIpCit7CisJcmV0dXJu IHBvaW50ZXItPmlwX3Bvc2lkOworfQogCiAvKgogICogSXRlbVBvaW50ZXJHZXRPZmZzZXRO dW1iZXIKICAqCQlBcyBhYm92ZSwgYnV0IHZlcmlmaWVzIHRoYXQgdGhlIGl0ZW0gcG9pbnRl ciBsb29rcyB2YWxpZC4KICAqLwotI2RlZmluZSBJdGVtUG9pbnRlckdldE9mZnNldE51bWJl cihwb2ludGVyKSBcCi0oIFwKLQlBc3NlcnRNYWNybyhJdGVtUG9pbnRlcklzVmFsaWQocG9p bnRlcikpLCBcCi0JSXRlbVBvaW50ZXJHZXRPZmZzZXROdW1iZXJOb0NoZWNrKHBvaW50ZXIp IFwKLSkKK3N0YXRpYyBpbmxpbmUgT2Zmc2V0TnVtYmVyCitJdGVtUG9pbnRlckdldE9mZnNl dE51bWJlcihjb25zdCBJdGVtUG9pbnRlckRhdGEgKnBvaW50ZXIpCit7CisJQXNzZXJ0KEl0 ZW1Qb2ludGVySXNWYWxpZChwb2ludGVyKSk7CisJcmV0dXJuIEl0ZW1Qb2ludGVyR2V0T2Zm c2V0TnVtYmVyTm9DaGVjayhwb2ludGVyKTsKK30KIAogLyoKICAqIEl0ZW1Qb2ludGVyU2V0 CiAgKgkJU2V0cyBhIGRpc2sgaXRlbSBwb2ludGVyIHRvIHRoZSBzcGVjaWZpZWQgYmxvY2sg YW5kIG9mZnNldC4KICAqLwotI2RlZmluZSBJdGVtUG9pbnRlclNldChwb2ludGVyLCBibG9j a051bWJlciwgb2ZmTnVtKSBcCi0oIFwKLQlBc3NlcnRNYWNybyhQb2ludGVySXNWYWxpZChw b2ludGVyKSksIFwKLQlCbG9ja0lkU2V0KCYoKHBvaW50ZXIpLT5pcF9ibGtpZCksIGJsb2Nr TnVtYmVyKSwgXAotCShwb2ludGVyKS0+aXBfcG9zaWQgPSBvZmZOdW0gXAotKQorc3RhdGlj IGlubGluZSB2b2lkCitJdGVtUG9pbnRlclNldChJdGVtUG9pbnRlckRhdGEgKnBvaW50ZXIs IEJsb2NrTnVtYmVyIGJsb2NrTnVtYmVyLCBPZmZzZXROdW1iZXIgb2ZmTnVtKQoreworCUFz c2VydChQb2ludGVySXNWYWxpZChwb2ludGVyKSk7CisJQmxvY2tJZFNldCgmcG9pbnRlci0+ aXBfYmxraWQsIGJsb2NrTnVtYmVyKTsKKwlwb2ludGVyLT5pcF9wb3NpZCA9IG9mZk51bTsK K30KIAogLyoKICAqIEl0ZW1Qb2ludGVyU2V0QmxvY2tOdW1iZXIKICAqCQlTZXRzIGEgZGlz ayBpdGVtIHBvaW50ZXIgdG8gdGhlIHNwZWNpZmllZCBibG9jay4KICAqLwotI2RlZmluZSBJ dGVtUG9pbnRlclNldEJsb2NrTnVtYmVyKHBvaW50ZXIsIGJsb2NrTnVtYmVyKSBcCi0oIFwK LQlBc3NlcnRNYWNybyhQb2ludGVySXNWYWxpZChwb2ludGVyKSksIFwKLQlCbG9ja0lkU2V0 KCYoKHBvaW50ZXIpLT5pcF9ibGtpZCksIGJsb2NrTnVtYmVyKSBcCi0pCitzdGF0aWMgaW5s aW5lIHZvaWQKK0l0ZW1Qb2ludGVyU2V0QmxvY2tOdW1iZXIoSXRlbVBvaW50ZXJEYXRhICpw b2ludGVyLCBCbG9ja051bWJlciBibG9ja051bWJlcikKK3sKKwlBc3NlcnQoUG9pbnRlcklz VmFsaWQocG9pbnRlcikpOworCUJsb2NrSWRTZXQoJnBvaW50ZXItPmlwX2Jsa2lkLCBibG9j a051bWJlcik7Cit9CiAKIC8qCiAgKiBJdGVtUG9pbnRlclNldE9mZnNldE51bWJlcgogICoJ CVNldHMgYSBkaXNrIGl0ZW0gcG9pbnRlciB0byB0aGUgc3BlY2lmaWVkIG9mZnNldC4KICAq LwotI2RlZmluZSBJdGVtUG9pbnRlclNldE9mZnNldE51bWJlcihwb2ludGVyLCBvZmZzZXRO dW1iZXIpIFwKLSggXAotCUFzc2VydE1hY3JvKFBvaW50ZXJJc1ZhbGlkKHBvaW50ZXIpKSwg XAotCShwb2ludGVyKS0+aXBfcG9zaWQgPSAob2Zmc2V0TnVtYmVyKSBcCi0pCitzdGF0aWMg aW5saW5lIHZvaWQKK0l0ZW1Qb2ludGVyU2V0T2Zmc2V0TnVtYmVyKEl0ZW1Qb2ludGVyRGF0 YSAqcG9pbnRlciwgT2Zmc2V0TnVtYmVyIG9mZnNldE51bWJlcikKK3sKKwlBc3NlcnQoUG9p bnRlcklzVmFsaWQocG9pbnRlcikpOworCXBvaW50ZXItPmlwX3Bvc2lkID0gb2Zmc2V0TnVt YmVyOworfQogCiAvKgogICogSXRlbVBvaW50ZXJDb3B5CkBAIC0xNTgsNDIgKzE2OCw0OSBA QCB0eXBlZGVmIEl0ZW1Qb2ludGVyRGF0YSAqSXRlbVBvaW50ZXI7CiAgKiBTaG91bGQgdGhl cmUgZXZlciBiZSBwYWRkaW5nIGluIGFuIEl0ZW1Qb2ludGVyIHRoaXMgd291bGQgbmVlZCB0 byBiZSBoYW5kbGVkCiAgKiBkaWZmZXJlbnRseSBhcyBpdCdzIHVzZWQgYXMgaGFzaCBrZXku CiAgKi8KLSNkZWZpbmUgSXRlbVBvaW50ZXJDb3B5KGZyb21Qb2ludGVyLCB0b1BvaW50ZXIp IFwKLSggXAotCUFzc2VydE1hY3JvKFBvaW50ZXJJc1ZhbGlkKHRvUG9pbnRlcikpLCBcCi0J QXNzZXJ0TWFjcm8oUG9pbnRlcklzVmFsaWQoZnJvbVBvaW50ZXIpKSwgXAotCSoodG9Qb2lu dGVyKSA9ICooZnJvbVBvaW50ZXIpIFwKLSkKK3N0YXRpYyBpbmxpbmUgdm9pZAorSXRlbVBv aW50ZXJDb3B5KGNvbnN0IEl0ZW1Qb2ludGVyRGF0YSAqZnJvbVBvaW50ZXIsIEl0ZW1Qb2lu dGVyRGF0YSAqdG9Qb2ludGVyKQoreworCUFzc2VydChQb2ludGVySXNWYWxpZCh0b1BvaW50 ZXIpKTsKKwlBc3NlcnQoUG9pbnRlcklzVmFsaWQoZnJvbVBvaW50ZXIpKTsKKwkqdG9Qb2lu dGVyID0gKmZyb21Qb2ludGVyOworfQogCiAvKgogICogSXRlbVBvaW50ZXJTZXRJbnZhbGlk CiAgKgkJU2V0cyBhIGRpc2sgaXRlbSBwb2ludGVyIHRvIGJlIGludmFsaWQuCiAgKi8KLSNk ZWZpbmUgSXRlbVBvaW50ZXJTZXRJbnZhbGlkKHBvaW50ZXIpIFwKLSggXAotCUFzc2VydE1h Y3JvKFBvaW50ZXJJc1ZhbGlkKHBvaW50ZXIpKSwgXAotCUJsb2NrSWRTZXQoJigocG9pbnRl ciktPmlwX2Jsa2lkKSwgSW52YWxpZEJsb2NrTnVtYmVyKSwgXAotCShwb2ludGVyKS0+aXBf cG9zaWQgPSBJbnZhbGlkT2Zmc2V0TnVtYmVyIFwKLSkKK3N0YXRpYyBpbmxpbmUgdm9pZAor SXRlbVBvaW50ZXJTZXRJbnZhbGlkKEl0ZW1Qb2ludGVyRGF0YSAqcG9pbnRlcikKK3sKKwlB c3NlcnQoUG9pbnRlcklzVmFsaWQocG9pbnRlcikpOworCUJsb2NrSWRTZXQoJnBvaW50ZXIt PmlwX2Jsa2lkLCBJbnZhbGlkQmxvY2tOdW1iZXIpOworCXBvaW50ZXItPmlwX3Bvc2lkID0g SW52YWxpZE9mZnNldE51bWJlcjsKK30KIAogLyoKICAqIEl0ZW1Qb2ludGVySW5kaWNhdGVz TW92ZWRQYXJ0aXRpb25zCiAgKgkJVHJ1ZSBpZmYgdGhlIGJsb2NrIG51bWJlciBpbmRpY2F0 ZXMgdGhlIHR1cGxlIGhhcyBtb3ZlZCB0byBhbm90aGVyCiAgKgkJcGFydGl0aW9uLgogICov Ci0jZGVmaW5lIEl0ZW1Qb2ludGVySW5kaWNhdGVzTW92ZWRQYXJ0aXRpb25zKHBvaW50ZXIp IFwKLSggXAotCUl0ZW1Qb2ludGVyR2V0T2Zmc2V0TnVtYmVyKHBvaW50ZXIpID09IE1vdmVk UGFydGl0aW9uc09mZnNldE51bWJlciAmJiBcCi0JSXRlbVBvaW50ZXJHZXRCbG9ja051bWJl ck5vQ2hlY2socG9pbnRlcikgPT0gTW92ZWRQYXJ0aXRpb25zQmxvY2tOdW1iZXIgXAotKQor c3RhdGljIGlubGluZSBib29sCitJdGVtUG9pbnRlckluZGljYXRlc01vdmVkUGFydGl0aW9u cyhjb25zdCBJdGVtUG9pbnRlckRhdGEgKnBvaW50ZXIpCit7CisJcmV0dXJuCisJCUl0ZW1Q b2ludGVyR2V0T2Zmc2V0TnVtYmVyKHBvaW50ZXIpID09IE1vdmVkUGFydGl0aW9uc09mZnNl dE51bWJlciAmJgorCQlJdGVtUG9pbnRlckdldEJsb2NrTnVtYmVyTm9DaGVjayhwb2ludGVy KSA9PSBNb3ZlZFBhcnRpdGlvbnNCbG9ja051bWJlcjsKK30KIAogLyoKICAqIEl0ZW1Qb2lu dGVyU2V0TW92ZWRQYXJ0aXRpb25zCiAgKgkJSW5kaWNhdGUgdGhhdCB0aGUgaXRlbSByZWZl cmVuY2VkIGJ5IHRoZSBpdGVtcG9pbnRlciBoYXMgbW92ZWQgaW50byBhCiAgKgkJZGlmZmVy ZW50IHBhcnRpdGlvbi4KICAqLwotI2RlZmluZSBJdGVtUG9pbnRlclNldE1vdmVkUGFydGl0 aW9ucyhwb2ludGVyKSBcCi0JSXRlbVBvaW50ZXJTZXQoKHBvaW50ZXIpLCBNb3ZlZFBhcnRp dGlvbnNCbG9ja051bWJlciwgTW92ZWRQYXJ0aXRpb25zT2Zmc2V0TnVtYmVyKQorc3RhdGlj IGlubGluZSB2b2lkCitJdGVtUG9pbnRlclNldE1vdmVkUGFydGl0aW9ucyhJdGVtUG9pbnRl ckRhdGEgKnBvaW50ZXIpCit7CisJSXRlbVBvaW50ZXJTZXQocG9pbnRlciwgTW92ZWRQYXJ0 aXRpb25zQmxvY2tOdW1iZXIsIE1vdmVkUGFydGl0aW9uc09mZnNldE51bWJlcik7Cit9CiAK IC8qIC0tLS0tLS0tLS0tLS0tLS0KICAqCQlleHRlcm5zCi0tIAoyLjM1LjEKCg== --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0004-Convert-macros-to-static-inline-functions-bufmgr.h.patch" Content-Disposition: attachment; filename*0="0004-Convert-macros-to-static-inline-functions-bufmgr.h.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSA4NmNlMWVkYzk5NDY2OWJkM2M4Njk2NWUxYzI2NDk1MWEyMzFjNmNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChi dWZtZ3IuaCkKCi0tLQogc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZtZ3IuaCB8IDUwICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMwIGlu c2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3N0b3JhZ2UvYnVmbWdyLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2J1Zm1nci5oCmluZGV4 IDU4MzkxNDA2ZjYuLmNlNzI1YWZhNWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3Jh Z2UvYnVmbWdyLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZtZ3IuaApAQCAtOTgs NyArOTgsNyBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50MzIgKkxvY2FsUmVmQ291bnQ7CiAj ZGVmaW5lIEJVRkZFUl9MT0NLX0VYQ0xVU0lWRQkyCiAKIC8qCi0gKiBUaGVzZSByb3V0aW5l cyBhcmUgYmVhdGVuIG9uIHF1aXRlIGhlYXZpbHksIGhlbmNlIHRoZSBtYWNyb2l6YXRpb24u CisgKiBUaGVzZSByb3V0aW5lcyBhcmUgYmVhdGVuIG9uIHF1aXRlIGhlYXZpbHksIGhlbmNl IGlubGluZS4KICAqLwogCiAvKgpAQCAtMTIwLDExICsxMjAsMTQgQEAgZXh0ZXJuIFBHRExM SU1QT1JUIGludDMyICpMb2NhbFJlZkNvdW50OwogICogZXZlbiBpbiBub24tYXNzZXJ0LWVu YWJsZWQgYnVpbGRzIGNhbiBiZSBzaWduaWZpY2FudC4gIFRodXMsIHdlJ3ZlCiAgKiBub3cg ZGVtb3RlZCB0aGUgcmFuZ2UgY2hlY2tzIHRvIGFzc2VydGlvbnMgd2l0aGluIHRoZSBtYWNy byBpdHNlbGYuCiAgKi8KLSNkZWZpbmUgQnVmZmVySXNWYWxpZChidWZudW0pIFwKLSggXAot CUFzc2VydE1hY3JvKChidWZudW0pIDw9IE5CdWZmZXJzICYmIChidWZudW0pID49IC1OTG9j QnVmZmVyKSwgXAotCShidWZudW0pICE9IEludmFsaWRCdWZmZXIgIFwKLSkKK3N0YXRpYyBp bmxpbmUgYm9vbAorQnVmZmVySXNWYWxpZChCdWZmZXIgYnVmbnVtKQoreworCUFzc2VydChi dWZudW0gPD0gTkJ1ZmZlcnMpOworCUFzc2VydChidWZudW0gPj0gLU5Mb2NCdWZmZXIpOwor CisJcmV0dXJuIGJ1Zm51bSAhPSBJbnZhbGlkQnVmZmVyOworfQogCiAvKgogICogQnVmZmVy R2V0QmxvY2sKQEAgLTEzMywxNCArMTM2LDE2IEBAIGV4dGVybiBQR0RMTElNUE9SVCBpbnQz MiAqTG9jYWxSZWZDb3VudDsKICAqIE5vdGU6CiAgKgkJQXNzdW1lcyBidWZmZXIgaXMgdmFs aWQuCiAgKi8KLSNkZWZpbmUgQnVmZmVyR2V0QmxvY2soYnVmZmVyKSBcCi0oIFwKLQlBc3Nl cnRNYWNybyhCdWZmZXJJc1ZhbGlkKGJ1ZmZlcikpLCBcCi0JQnVmZmVySXNMb2NhbChidWZm ZXIpID8gXAotCQlMb2NhbEJ1ZmZlckJsb2NrUG9pbnRlcnNbLShidWZmZXIpIC0gMV0gXAot CTogXAotCQkoQmxvY2spIChCdWZmZXJCbG9ja3MgKyAoKFNpemUpICgoYnVmZmVyKSAtIDEp KSAqIEJMQ0tTWikgXAotKQorc3RhdGljIGlubGluZSBCbG9jaworQnVmZmVyR2V0QmxvY2so QnVmZmVyIGJ1ZmZlcikKK3sKKwlBc3NlcnQoQnVmZmVySXNWYWxpZChidWZmZXIpKTsKKwor CWlmIChCdWZmZXJJc0xvY2FsKGJ1ZmZlcikpCisJCXJldHVybiBMb2NhbEJ1ZmZlckJsb2Nr UG9pbnRlcnNbLWJ1ZmZlciAtIDFdOworCWVsc2UKKwkJcmV0dXJuIChCbG9jaykgKEJ1ZmZl ckJsb2NrcyArICgoU2l6ZSkgKGJ1ZmZlciAtIDEpKSAqIEJMQ0tTWik7Cit9CiAKIC8qCiAg KiBCdWZmZXJHZXRQYWdlU2l6ZQpAQCAtMTUzLDExICsxNTgsMTIgQEAgZXh0ZXJuIFBHRExM SU1QT1JUIGludDMyICpMb2NhbFJlZkNvdW50OwogICoJCShmb3JtYXR0ZWQpIGRpc2sgcGFn ZS4KICAqLwogLyogWFhYIHNob3VsZCBkaWcgb3V0IG9mIGJ1ZmZlciBkZXNjcmlwdG9yICov Ci0jZGVmaW5lIEJ1ZmZlckdldFBhZ2VTaXplKGJ1ZmZlcikgXAotKCBcCi0JQXNzZXJ0TWFj cm8oQnVmZmVySXNWYWxpZChidWZmZXIpKSwgXAotCShTaXplKUJMQ0tTWiBcCi0pCitzdGF0 aWMgaW5saW5lIFNpemUKK0J1ZmZlckdldFBhZ2VTaXplKEJ1ZmZlciBidWZmZXIpCit7CisJ QXNzZXJ0TWFjcm8oQnVmZmVySXNWYWxpZChidWZmZXIpKTsKKwlyZXR1cm4gKFNpemUpIEJM Q0tTWjsKK30KIAogLyoKICAqIEJ1ZmZlckdldFBhZ2UKQEAgLTE2Niw3ICsxNzIsMTEgQEAg ZXh0ZXJuIFBHRExMSU1QT1JUIGludDMyICpMb2NhbFJlZkNvdW50OwogICogV2hlbiB0aGlz IGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgc2NhbiwgdGhlcmUgbWF5IGJlIGEgbmVlZCBmb3Ig YSBuZWFyYnkKICAqIGNhbGwgdG8gVGVzdEZvck9sZFNuYXBzaG90KCkuICBTZWUgdGhlIGRl ZmluaXRpb24gb2YgdGhhdCBmb3IgZGV0YWlscy4KICAqLwotI2RlZmluZSBCdWZmZXJHZXRQ YWdlKGJ1ZmZlcikgKChQYWdlKUJ1ZmZlckdldEJsb2NrKGJ1ZmZlcikpCitzdGF0aWMgaW5s aW5lIFBhZ2UKK0J1ZmZlckdldFBhZ2UoQnVmZmVyIGJ1ZmZlcikKK3sKKwlyZXR1cm4gKFBh Z2UpIEJ1ZmZlckdldEJsb2NrKGJ1ZmZlcik7Cit9CiAKIC8qCiAgKiBwcm90b3R5cGVzIGZv ciBmdW5jdGlvbnMgaW4gYnVmbWdyLmMKLS0gCjIuMzUuMQoK --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0005-Convert-macros-to-static-inline-functions-xlog_inter.patch" Content-Disposition: attachment; filename*0="0005-Convert-macros-to-static-inline-functions-xlog_inter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmYzNiNDc5OTdhZjM5MmQwYzMzZWQyZjBkZjUyZDI4MWM4NzNlNDA2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zICh4 bG9nX2ludGVybmFsLmgpCgotLS0KIHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9nX2ludGVybmFs LmggfCAxNTQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA5NiBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hs b2dfaW50ZXJuYWwuaAppbmRleCBmYWUwYmVmOGY1Li5hZWEyNGY3MzdjIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5oCisrKyBiL3NyYy9pbmNsdWRl L2FjY2Vzcy94bG9nX2ludGVybmFsLmgKQEAgLTE1OSw3NCArMTU5LDExMiBAQCB0eXBlZGVm IFhMb2dMb25nUGFnZUhlYWRlckRhdGEgKlhMb2dMb25nUGFnZUhlYWRlcjsKICNkZWZpbmUg WExPR19GTkFNRV9MRU4JICAgMjQKIAogLyoKLSAqIEdlbmVyYXRlIGEgV0FMIHNlZ21lbnQg ZmlsZSBuYW1lLiAgRG8gbm90IHVzZSB0aGlzIG1hY3JvIGluIGEgaGVscGVyCisgKiBHZW5l cmF0ZSBhIFdBTCBzZWdtZW50IGZpbGUgbmFtZS4gIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlv biBpbiBhIGhlbHBlcgogICogZnVuY3Rpb24gYWxsb2NhdGluZyB0aGUgcmVzdWx0IGdlbmVy YXRlZC4KICAqLwotI2RlZmluZSBYTG9nRmlsZU5hbWUoZm5hbWUsIHRsaSwgbG9nU2VnTm8s IHdhbF9zZWdzel9ieXRlcykJXAotCXNucHJpbnRmKGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUw OFglMDhYJTA4WCIsIHRsaSwJCVwKLQkJCSAodWludDMyKSAoKGxvZ1NlZ05vKSAvIFhMb2dT ZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwgXAotCQkJICh1aW50MzIpICgo bG9nU2VnTm8pICUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpKQor c3RhdGljIGlubGluZSB2b2lkCitYTG9nRmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5l SUQgdGxpLCBYTG9nU2VnTm8gbG9nU2VnTm8sIGludCB3YWxfc2Vnc3pfYnl0ZXMpCit7CisJ c25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WCUwOFglMDhYIiwgdGxpLAorCQkJ ICh1aW50MzIpIChsb2dTZWdObyAvIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pf Ynl0ZXMpKSwKKwkJCSAodWludDMyKSAobG9nU2VnTm8gJSBYTG9nU2VnbWVudHNQZXJYTG9n SWQod2FsX3NlZ3N6X2J5dGVzKSkpOworfQogCi0jZGVmaW5lIFhMb2dGaWxlTmFtZUJ5SWQo Zm5hbWUsIHRsaSwgbG9nLCBzZWcpCVwKLQlzbnByaW50ZihmbmFtZSwgTUFYRk5BTUVMRU4s ICIlMDhYJTA4WCUwOFgiLCB0bGksIGxvZywgc2VnKQorLy8gRklYTUU6IFRoaXMgaXMgb25s eSB1c2VkIGJ5IHBnX2FyY2hpdmVjbGVhbnVwIGFuZCBjb3VsZCBiZSBnb3R0ZW4gcmlkIG9m Lgorc3RhdGljIGlubGluZSB2b2lkCitYTG9nRmlsZU5hbWVCeUlkKGNoYXIgKmZuYW1lLCBU aW1lTGluZUlEIHRsaSwgdWludDMyIGxvZywgdWludDMyIHNlZykKK3sKKwlzbnByaW50Zihm bmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYJTA4WCUwOFgiLCB0bGksIGxvZywgc2VnKTsKK30K IAotI2RlZmluZSBJc1hMb2dGaWxlTmFtZShmbmFtZSkgXAotCShzdHJsZW4oZm5hbWUpID09 IFhMT0dfRk5BTUVfTEVOICYmIFwKLQkgc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFCQ0RF RiIpID09IFhMT0dfRk5BTUVfTEVOKQorc3RhdGljIGlubGluZSBib29sCitJc1hMb2dGaWxl TmFtZShjb25zdCBjaGFyICpmbmFtZSkKK3sKKwlyZXR1cm4gKHN0cmxlbihmbmFtZSkgPT0g WExPR19GTkFNRV9MRU4gJiYgXAorCQkJc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFCQ0RF RiIpID09IFhMT0dfRk5BTUVfTEVOKTsKK30KIAogLyoKICAqIFhMT0cgc2VnbWVudCB3aXRo IC5wYXJ0aWFsIHN1ZmZpeC4gIFVzZWQgYnkgcGdfcmVjZWl2ZXdhbCBhbmQgYXQgZW5kIG9m CiAgKiBhcmNoaXZlIHJlY292ZXJ5LCB3aGVuIHdlIHdhbnQgdG8gYXJjaGl2ZSBhIFdBTCBz ZWdtZW50IGJ1dCBpdCBtaWdodCBub3QKICAqIGJlIGNvbXBsZXRlIHlldC4KICAqLwotI2Rl ZmluZSBJc1BhcnRpYWxYTG9nRmlsZU5hbWUoZm5hbWUpCVwKLQkoc3RybGVuKGZuYW1lKSA9 PSBYTE9HX0ZOQU1FX0xFTiArIHN0cmxlbigiLnBhcnRpYWwiKSAmJglcCi0JIHN0cnNwbihm bmFtZSwgIjAxMjM0NTY3ODlBQkNERUYiKSA9PSBYTE9HX0ZOQU1FX0xFTiAmJgkJXAotCSBz dHJjbXAoKGZuYW1lKSArIFhMT0dfRk5BTUVfTEVOLCAiLnBhcnRpYWwiKSA9PSAwKQotCi0j ZGVmaW5lIFhMb2dGcm9tRmlsZU5hbWUoZm5hbWUsIHRsaSwgbG9nU2VnTm8sIHdhbF9zZWdz el9ieXRlcykJXAotCWRvIHsJCQkJCQkJCQkJCQlcCi0JCXVpbnQzMiBsb2c7CQkJCQkJCQkJ CVwKLQkJdWludDMyIHNlZzsJCQkJCQkJCQkJXAotCQlzc2NhbmYoZm5hbWUsICIlMDhYJTA4 WCUwOFgiLCB0bGksICZsb2csICZzZWcpOyBcCi0JCSpsb2dTZWdObyA9ICh1aW50NjQpIGxv ZyAqIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpICsgc2VnOyBcCi0J fSB3aGlsZSAoMCkKLQotI2RlZmluZSBYTG9nRmlsZVBhdGgocGF0aCwgdGxpLCBsb2dTZWdO bywgd2FsX3NlZ3N6X2J5dGVzKQlcCi0Jc25wcmludGYocGF0aCwgTUFYUEdQQVRILCBYTE9H RElSICIvJTA4WCUwOFglMDhYIiwgdGxpLAlcCi0JCQkgKHVpbnQzMikgKChsb2dTZWdObykg LyBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksIFwKLQkJCSAodWlu dDMyKSAoKGxvZ1NlZ05vKSAlIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0 ZXMpKSkKLQotI2RlZmluZSBUTEhpc3RvcnlGaWxlTmFtZShmbmFtZSwgdGxpKQlcCi0Jc25w cmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WC5oaXN0b3J5IiwgdGxpKQotCi0jZGVm aW5lIElzVExIaXN0b3J5RmlsZU5hbWUoZm5hbWUpCVwKLQkoc3RybGVuKGZuYW1lKSA9PSA4 ICsgc3RybGVuKCIuaGlzdG9yeSIpICYmCQlcCi0JIHN0cnNwbihmbmFtZSwgIjAxMjM0NTY3 ODlBQkNERUYiKSA9PSA4ICYmCQlcCi0JIHN0cmNtcCgoZm5hbWUpICsgOCwgIi5oaXN0b3J5 IikgPT0gMCkKLQotI2RlZmluZSBUTEhpc3RvcnlGaWxlUGF0aChwYXRoLCB0bGkpCVwKLQlz bnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi8lMDhYLmhpc3RvcnkiLCB0bGkp Ci0KLSNkZWZpbmUgU3RhdHVzRmlsZVBhdGgocGF0aCwgeGxvZywgc3VmZml4KQlcCi0Jc25w cmludGYocGF0aCwgTUFYUEdQQVRILCBYTE9HRElSICIvYXJjaGl2ZV9zdGF0dXMvJXMlcyIs IHhsb2csIHN1ZmZpeCkKLQotI2RlZmluZSBCYWNrdXBIaXN0b3J5RmlsZU5hbWUoZm5hbWUs IHRsaSwgbG9nU2VnTm8sIHN0YXJ0cG9pbnQsIHdhbF9zZWdzel9ieXRlcykgXAotCXNucHJp bnRmKGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUwOFglMDhYJTA4WC4lMDhYLmJhY2t1cCIsIHRs aSwgXAotCQkJICh1aW50MzIpICgobG9nU2VnTm8pIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lk KHdhbF9zZWdzel9ieXRlcykpLCBcCi0JCQkgKHVpbnQzMikgKChsb2dTZWdObykgJSBYTG9n U2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksIFwKLQkJCSAodWludDMyKSAo WExvZ1NlZ21lbnRPZmZzZXQoc3RhcnRwb2ludCwgd2FsX3NlZ3N6X2J5dGVzKSkpCi0KLSNk ZWZpbmUgSXNCYWNrdXBIaXN0b3J5RmlsZU5hbWUoZm5hbWUpIFwKLQkoc3RybGVuKGZuYW1l KSA+IFhMT0dfRk5BTUVfTEVOICYmIFwKLQkgc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFC Q0RFRiIpID09IFhMT0dfRk5BTUVfTEVOICYmIFwKLQkgc3RyY21wKChmbmFtZSkgKyBzdHJs ZW4oZm5hbWUpIC0gc3RybGVuKCIuYmFja3VwIiksICIuYmFja3VwIikgPT0gMCkKLQotI2Rl ZmluZSBCYWNrdXBIaXN0b3J5RmlsZVBhdGgocGF0aCwgdGxpLCBsb2dTZWdObywgc3RhcnRw b2ludCwgd2FsX3NlZ3N6X2J5dGVzKQlcCi0Jc25wcmludGYocGF0aCwgTUFYUEdQQVRILCBY TE9HRElSICIvJTA4WCUwOFglMDhYLiUwOFguYmFja3VwIiwgdGxpLCBcCi0JCQkgKHVpbnQz MikgKChsb2dTZWdObykgLyBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVz KSksIFwKLQkJCSAodWludDMyKSAoKGxvZ1NlZ05vKSAlIFhMb2dTZWdtZW50c1BlclhMb2dJ ZCh3YWxfc2Vnc3pfYnl0ZXMpKSwgXAotCQkJICh1aW50MzIpIChYTG9nU2VnbWVudE9mZnNl dCgoc3RhcnRwb2ludCksIHdhbF9zZWdzel9ieXRlcykpKQorc3RhdGljIGlubGluZSBib29s CitJc1BhcnRpYWxYTG9nRmlsZU5hbWUoY29uc3QgY2hhciAqZm5hbWUpCit7CisJcmV0dXJu IChzdHJsZW4oZm5hbWUpID09IFhMT0dfRk5BTUVfTEVOICsgc3RybGVuKCIucGFydGlhbCIp ICYmCisJCQlzdHJzcG4oZm5hbWUsICIwMTIzNDU2Nzg5QUJDREVGIikgPT0gWExPR19GTkFN RV9MRU4gJiYKKwkJCXN0cmNtcCgoZm5hbWUpICsgWExPR19GTkFNRV9MRU4sICIucGFydGlh bCIpID09IDApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK1hMb2dGcm9tRmlsZU5hbWUo Y29uc3QgY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgKnRsaSwgWExvZ1NlZ05vICpsb2dTZWdO bywgaW50IHdhbF9zZWdzel9ieXRlcykKK3sKKwl1aW50MzIJCWxvZzsKKwl1aW50MzIJCXNl ZzsKKwlzc2NhbmYoZm5hbWUsICIlMDhYJTA4WCUwOFgiLCB0bGksICZsb2csICZzZWcpOwor CSpsb2dTZWdObyA9ICh1aW50NjQpIGxvZyAqIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxf c2Vnc3pfYnl0ZXMpICsgc2VnOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK1hMb2dGaWxl UGF0aChjaGFyICpwYXRoLCBUaW1lTGluZUlEIHRsaSwgWExvZ1NlZ05vIGxvZ1NlZ05vLCBp bnQgd2FsX3NlZ3N6X2J5dGVzKQoreworCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExP R0RJUiAiLyUwOFglMDhYJTA4WCIsIHRsaSwKKwkJCSAodWludDMyKSAobG9nU2VnTm8gLyBY TG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCisJCQkgKHVpbnQzMikg KGxvZ1NlZ05vICUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpKTsK K30KKworc3RhdGljIGlubGluZSB2b2lkCitUTEhpc3RvcnlGaWxlTmFtZShjaGFyICpmbmFt ZSwgVGltZUxpbmVJRCB0bGkpCit7CisJc25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAi JTA4WC5oaXN0b3J5IiwgdGxpKTsKK30KKworc3RhdGljIGlubGluZSBib29sCitJc1RMSGlz dG9yeUZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQoreworCXJldHVybiAoc3RybGVuKGZu YW1lKSA9PSA4ICsgc3RybGVuKCIuaGlzdG9yeSIpICYmCisJCQlzdHJzcG4oZm5hbWUsICIw MTIzNDU2Nzg5QUJDREVGIikgPT0gOCAmJgorCQkJc3RyY21wKChmbmFtZSkgKyA4LCAiLmhp c3RvcnkiKSA9PSAwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitUTEhpc3RvcnlGaWxl UGF0aChjaGFyICpwYXRoLCBUaW1lTGluZUlEIHRsaSkKK3sKKwlzbnByaW50ZihwYXRoLCBN QVhQR1BBVEgsIFhMT0dESVIgIi8lMDhYLmhpc3RvcnkiLCB0bGkpOworfQorCitzdGF0aWMg aW5saW5lIHZvaWQKK1N0YXR1c0ZpbGVQYXRoKGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnhs b2csIGNvbnN0IGNoYXIgKnN1ZmZpeCkKK3sKKwlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgs IFhMT0dESVIgIi9hcmNoaXZlX3N0YXR1cy8lcyVzIiwgeGxvZywgc3VmZml4KTsKK30KKwor c3RhdGljIGlubGluZSB2b2lkCitCYWNrdXBIaXN0b3J5RmlsZU5hbWUoY2hhciAqZm5hbWUs IFRpbWVMaW5lSUQgdGxpLCBYTG9nU2VnTm8gbG9nU2VnTm8sIFhMb2dSZWNQdHIgc3RhcnRw b2ludCwgaW50IHdhbF9zZWdzel9ieXRlcykKK3sKKwlzbnByaW50ZihmbmFtZSwgTUFYRk5B TUVMRU4sICIlMDhYJTA4WCUwOFguJTA4WC5iYWNrdXAiLCB0bGksCisJCQkgKHVpbnQzMikg KGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAor CQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vn c3pfYnl0ZXMpKSwKKwkJCSAodWludDMyKSAoWExvZ1NlZ21lbnRPZmZzZXQoc3RhcnRwb2lu dCwgd2FsX3NlZ3N6X2J5dGVzKSkpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wKK0lzQmFj a3VwSGlzdG9yeUZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQoreworCXJldHVybiAoc3Ry bGVuKGZuYW1lKSA+IFhMT0dfRk5BTUVfTEVOICYmCisJCQlzdHJzcG4oZm5hbWUsICIwMTIz NDU2Nzg5QUJDREVGIikgPT0gWExPR19GTkFNRV9MRU4gJiYKKwkJCXN0cmNtcCgoZm5hbWUp ICsgc3RybGVuKGZuYW1lKSAtIHN0cmxlbigiLmJhY2t1cCIpLCAiLmJhY2t1cCIpID09IDAp OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK0JhY2t1cEhpc3RvcnlGaWxlUGF0aChjaGFy ICpwYXRoLCBUaW1lTGluZUlEICB0bGksIFhMb2dTZWdObyBsb2dTZWdObywgWExvZ1JlY1B0 ciBzdGFydHBvaW50LCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQoreworCXNucHJpbnRmKHBhdGgs IE1BWFBHUEFUSCwgWExPR0RJUiAiLyUwOFglMDhYJTA4WC4lMDhYLmJhY2t1cCIsIHRsaSwK KwkJCSAodWludDMyKSAobG9nU2VnTm8gLyBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3Nl Z3N6X2J5dGVzKSksCisJCQkgKHVpbnQzMikgKGxvZ1NlZ05vICUgWExvZ1NlZ21lbnRzUGVy WExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAorCQkJICh1aW50MzIpIChYTG9nU2VnbWVudE9m ZnNldCgoc3RhcnRwb2ludCksIHdhbF9zZWdzel9ieXRlcykpKTsKK30KIAogLyoKICAqIElu Zm9ybWF0aW9uIGxvZ2dlZCB3aGVuIHdlIGRldGVjdCBhIGNoYW5nZSBpbiBvbmUgb2YgdGhl IHBhcmFtZXRlcnMKLS0gCjIuMzUuMQoK --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0006-Convert-macros-to-static-inline-functions-tupmacs.h.patch" Content-Disposition: attachment; filename*0="0006-Convert-macros-to-static-inline-functions-tupmacs.h.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBlZWFjOTVmZTFkNTEwZDIwNzFkNDYwMTI0YzJjM2I2MGI4ZGNkODhkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zICh0 dXBtYWNzLmgpCgpYWFggVGhlIHJlbmFtaW5nIGluIGdpc3R1dGlsLmMgaXMgdW5uZWNlc3Nh cnkgaWYgdGhlIHN1YnNlcXVlbnQgaXR1cC5oCnBhdGNoIGlzIGFsc28gaW5jbHVkZWQuCi0t LQogc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHV0aWwuYyB8ICAxNiArLS0KIHNyYy9p bmNsdWRlL2FjY2Vzcy9pdHVwLmggICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2Fj Y2Vzcy90dXBtYWNzLmggICAgICAgfCAxNTkgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0KIDMgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMTA5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R1dGlsLmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dXRpbC5jCmluZGV4IGQ0YmYwYzc1NjMuLjI0 YjJjNDkzZTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R1dGls LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHV0aWwuYwpAQCAtNjY3LDcg KzY2Nyw3IEBAIEhlYXBUdXBsZQogZ2lzdEZldGNoVHVwbGUoR0lTVFNUQVRFICpnaXN0c3Rh dGUsIFJlbGF0aW9uIHIsIEluZGV4VHVwbGUgdHVwbGUpCiB7CiAJTWVtb3J5Q29udGV4dCBv bGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oZ2lzdHN0YXRlLT50ZW1wQ3h0KTsKLQlE YXR1bQkJZmV0Y2hhdHRbSU5ERVhfTUFYX0tFWVNdOworCURhdHVtCQlhdHRbSU5ERVhfTUFY X0tFWVNdOwogCWJvb2wJCWlzbnVsbFtJTkRFWF9NQVhfS0VZU107CiAJaW50CQkJaTsKIApA QCAtNjgwLDkgKzY4MCw5IEBAIGdpc3RGZXRjaFR1cGxlKEdJU1RTVEFURSAqZ2lzdHN0YXRl LCBSZWxhdGlvbiByLCBJbmRleFR1cGxlIHR1cGxlKQogCQlpZiAoZ2lzdHN0YXRlLT5mZXRj aEZuW2ldLmZuX29pZCAhPSBJbnZhbGlkT2lkKQogCQl7CiAJCQlpZiAoIWlzbnVsbFtpXSkK LQkJCQlmZXRjaGF0dFtpXSA9IGdpc3RGZXRjaEF0dChnaXN0c3RhdGUsIGksIGRhdHVtLCBy KTsKKwkJCQlhdHRbaV0gPSBnaXN0RmV0Y2hBdHQoZ2lzdHN0YXRlLCBpLCBkYXR1bSwgcik7 CiAJCQllbHNlCi0JCQkJZmV0Y2hhdHRbaV0gPSAoRGF0dW0pIDA7CisJCQkJYXR0W2ldID0g KERhdHVtKSAwOwogCQl9CiAJCWVsc2UgaWYgKGdpc3RzdGF0ZS0+Y29tcHJlc3NGbltpXS5m bl9vaWQgPT0gSW52YWxpZE9pZCkKIAkJewpAQCAtNjkxLDkgKzY5MSw5IEBAIGdpc3RGZXRj aFR1cGxlKEdJU1RTVEFURSAqZ2lzdHN0YXRlLCBSZWxhdGlvbiByLCBJbmRleFR1cGxlIHR1 cGxlKQogCQkJICogb3JpZ2luYWwgdmFsdWUsIGF0dCBpcyBuZWNlc3NhcmlseSBzdG9yZWQg aW4gb3JpZ2luYWwgZm9ybS4KIAkJCSAqLwogCQkJaWYgKCFpc251bGxbaV0pCi0JCQkJZmV0 Y2hhdHRbaV0gPSBkYXR1bTsKKwkJCQlhdHRbaV0gPSBkYXR1bTsKIAkJCWVsc2UKLQkJCQlm ZXRjaGF0dFtpXSA9IChEYXR1bSkgMDsKKwkJCQlhdHRbaV0gPSAoRGF0dW0pIDA7CiAJCX0K IAkJZWxzZQogCQl7CkBAIC03MDMsNyArNzAzLDcgQEAgZ2lzdEZldGNoVHVwbGUoR0lTVFNU QVRFICpnaXN0c3RhdGUsIFJlbGF0aW9uIHIsIEluZGV4VHVwbGUgdHVwbGUpCiAJCQkgKiBp biB0aGlzIGNvbHVtbiwgYW5kIHdlIGNhbiByZXBsYWNlIGl0IHdpdGggYSBOVUxMLgogCQkJ ICovCiAJCQlpc251bGxbaV0gPSB0cnVlOwotCQkJZmV0Y2hhdHRbaV0gPSAoRGF0dW0pIDA7 CisJCQlhdHRbaV0gPSAoRGF0dW0pIDA7CiAJCX0KIAl9CiAKQEAgLTcxMiwxMiArNzEyLDEy IEBAIGdpc3RGZXRjaFR1cGxlKEdJU1RTVEFURSAqZ2lzdHN0YXRlLCBSZWxhdGlvbiByLCBJ bmRleFR1cGxlIHR1cGxlKQogCSAqLwogCWZvciAoOyBpIDwgci0+cmRfYXR0LT5uYXR0czsg aSsrKQogCXsKLQkJZmV0Y2hhdHRbaV0gPSBpbmRleF9nZXRhdHRyKHR1cGxlLCBpICsgMSwg Z2lzdHN0YXRlLT5sZWFmVHVwZGVzYywKKwkJYXR0W2ldID0gaW5kZXhfZ2V0YXR0cih0dXBs ZSwgaSArIDEsIGdpc3RzdGF0ZS0+bGVhZlR1cGRlc2MsCiAJCQkJCQkJCQkmaXNudWxsW2ld KTsKIAl9CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7CiAKLQlyZXR1cm4gaGVh cF9mb3JtX3R1cGxlKGdpc3RzdGF0ZS0+ZmV0Y2hUdXBkZXNjLCBmZXRjaGF0dCwgaXNudWxs KTsKKwlyZXR1cm4gaGVhcF9mb3JtX3R1cGxlKGdpc3RzdGF0ZS0+ZmV0Y2hUdXBkZXNjLCBh dHQsIGlzbnVsbCk7CiB9CiAKIGZsb2F0CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nl c3MvaXR1cC5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL2l0dXAuaAppbmRleCAyYzg4NzdlOTkx Li42ZTZhZWMxMDQzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvaXR1cC5oCisr KyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9pdHVwLmgKQEAgLTExNCw3ICsxMTQsNyBAQCB0eXBl ZGVmIEluZGV4QXR0cmlidXRlQml0TWFwRGF0YSAqIEluZGV4QXR0cmlidXRlQml0TWFwOwog CSkgXAogCTogXAogCSggXAotCQkoYXR0X2lzbnVsbCgoYXR0bnVtKS0xLCAoY2hhciAqKSh0 dXApICsgc2l6ZW9mKEluZGV4VHVwbGVEYXRhKSkpID8gXAorCQkoYXR0X2lzbnVsbCgoYXR0 bnVtKS0xLCAoYml0czggKikodHVwKSArIHNpemVvZihJbmRleFR1cGxlRGF0YSkpKSA/IFwK IAkJKCBcCiAJCQkqKGlzbnVsbCkgPSB0cnVlLCBcCiAJCQkoRGF0dW0pTlVMTCBcCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MvdHVwbWFjcy5oIGIvc3JjL2luY2x1ZGUvYWNj ZXNzL3R1cG1hY3MuaAppbmRleCAxNmM3NGE1ODFlLi40ODc2ZGFiYzNkIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9hY2Nlc3MvdHVwbWFjcy5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vz cy90dXBtYWNzLmgKQEAgLTE0LDYgKzE0LDcgQEAKICNpZm5kZWYgVFVQTUFDU19ICiAjZGVm aW5lIFRVUE1BQ1NfSAogCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdHRyaWJ1dGUuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3R5cGVfZC5oIgkvKiBmb3IgVFlQQUxJR04gbWFjcm9zICov CiAKIApAQCAtMjIsMTAgKzIzLDE0IEBACiAgKiBOb3RlIHRoYXQgYSAwIGluIHRoZSBudWxs IGJpdG1hcCBpbmRpY2F0ZXMgYSBudWxsLCB3aGlsZSAxIGluZGljYXRlcwogICogbm9uLW51 bGwuCiAgKi8KLSNkZWZpbmUgYXR0X2lzbnVsbChBVFQsIEJJVFMpICghKChCSVRTKVsoQVRU KSA+PiAzXSAmICgxIDw8ICgoQVRUKSAmIDB4MDcpKSkpCitzdGF0aWMgaW5saW5lIGJvb2wK K2F0dF9pc251bGwoaW50IEFUVCwgY29uc3QgYml0czggKkJJVFMpCit7CisJcmV0dXJuICEo QklUU1tBVFQgPj4gM10gJiAoMSA8PCAoQVRUICYgMHgwNykpKTsKK30KIAogLyoKLSAqIEdp dmVuIGEgRm9ybV9wZ19hdHRyaWJ1dGUgYW5kIGEgcG9pbnRlciBpbnRvIGEgdHVwbGUncyBk YXRhIGFyZWEsCisgKiBHaXZlbiBieXZhbC9sZW4gcGFyYW1ldGVycyBhbmQgYSBwb2ludGVy IGludG8gYSB0dXBsZSdzIGRhdGEgYXJlYSwKICAqIHJldHVybiB0aGUgY29ycmVjdCB2YWx1 ZSBvciBwb2ludGVyLgogICoKICAqIFdlIHJldHVybiBhIERhdHVtIHZhbHVlIGluIGFsbCBj YXNlcy4gIElmIHRoZSBhdHRyaWJ1dGUgaGFzICJieXZhbCIgZmFsc2UsCkBAIC0zOCw2MSAr NDMsMzggQEAKICAqCiAgKiBOb3RlIHRoYXQgVCBtdXN0IGFscmVhZHkgYmUgcHJvcGVybHkg YWxpZ25lZCBmb3IgdGhpcyB0byB3b3JrIGNvcnJlY3RseS4KICAqLwotI2RlZmluZSBmZXRj aGF0dChBLFQpIGZldGNoX2F0dChULCAoQSktPmF0dGJ5dmFsLCAoQSktPmF0dGxlbikKK3N0 YXRpYyBpbmxpbmUgRGF0dW0KK2ZldGNoX2F0dChjb25zdCB2b2lkICpULCBib29sIGF0dGJ5 dmFsLCBpbnQgYXR0bGVuKQoreworCWlmIChhdHRieXZhbCkKKwl7CisjaWYgU0laRU9GX0RB VFVNID09IDgKKwkJaWYgKGF0dGxlbiA9PSBzaXplb2YoRGF0dW0pKQorCQkJcmV0dXJuICoo KGNvbnN0IERhdHVtICopIFQpOworCQllbHNlCisjZW5kaWYKKwkJaWYgKGF0dGxlbiA9PSBz aXplb2YoaW50MzIpKQorCQkJcmV0dXJuIEludDMyR2V0RGF0dW0oKigoY29uc3QgaW50MzIg KikgVCkpOworCQllbHNlIGlmIChhdHRsZW4gPT0gc2l6ZW9mKGludDE2KSkKKwkJCXJldHVy biBJbnQxNkdldERhdHVtKCooKGNvbnN0IGludDE2ICopIFQpKTsKKwkJZWxzZQorCQl7CisJ CQlBc3NlcnQoYXR0bGVuID09IDEpOworCQkJcmV0dXJuIENoYXJHZXREYXR1bSgqKChjb25z dCBjaGFyICopIFQpKTsKKwkJfQorCX0KKwllbHNlCisJCXJldHVybiBQb2ludGVyR2V0RGF0 dW0oVCk7Cit9CiAKIC8qCi0gKiBTYW1lLCBidXQgd29yayBmcm9tIGJ5dmFsL2xlbiBwYXJh bWV0ZXJzIHJhdGhlciB0aGFuIEZvcm1fcGdfYXR0cmlidXRlLgorICogU2FtZSwgYnV0IHdv cmsgZnJvbSBhIEZvcm1fcGdfYXR0cmlidXRlIHJhdGhlciB0aGFuIGJ5dmFsL2xlbiBwYXJh bWV0ZXJzLgogICovCi0jaWYgU0laRU9GX0RBVFVNID09IDgKLQotI2RlZmluZSBmZXRjaF9h dHQoVCxhdHRieXZhbCxhdHRsZW4pIFwKLSggXAotCShhdHRieXZhbCkgPyBcCi0JKCBcCi0J CShhdHRsZW4pID09IChpbnQpIHNpemVvZihEYXR1bSkgPyBcCi0JCQkqKChEYXR1bSAqKShU KSkgXAotCQk6IFwKLQkgICggXAotCQkoYXR0bGVuKSA9PSAoaW50KSBzaXplb2YoaW50MzIp ID8gXAotCQkJSW50MzJHZXREYXR1bSgqKChpbnQzMiAqKShUKSkpIFwKLQkJOiBcCi0JCSgg XAotCQkJKGF0dGxlbikgPT0gKGludCkgc2l6ZW9mKGludDE2KSA/IFwKLQkJCQlJbnQxNkdl dERhdHVtKCooKGludDE2ICopKFQpKSkgXAotCQkJOiBcCi0JCQkoIFwKLQkJCQlBc3NlcnRN YWNybygoYXR0bGVuKSA9PSAxKSwgXAotCQkJCUNoYXJHZXREYXR1bSgqKChjaGFyICopKFQp KSkgXAotCQkJKSBcCi0JCSkgXAotCSAgKSBcCi0JKSBcCi0JOiBcCi0JUG9pbnRlckdldERh dHVtKChjaGFyICopIChUKSkgXAotKQotI2Vsc2UJCQkJCQkJLyogU0laRU9GX0RBVFVNICE9 IDggKi8KLQotI2RlZmluZSBmZXRjaF9hdHQoVCxhdHRieXZhbCxhdHRsZW4pIFwKLSggXAot CShhdHRieXZhbCkgPyBcCi0JKCBcCi0JCShhdHRsZW4pID09IChpbnQpIHNpemVvZihpbnQz MikgPyBcCi0JCQlJbnQzMkdldERhdHVtKCooKGludDMyICopKFQpKSkgXAotCQk6IFwKLQkJ KCBcCi0JCQkoYXR0bGVuKSA9PSAoaW50KSBzaXplb2YoaW50MTYpID8gXAotCQkJCUludDE2 R2V0RGF0dW0oKigoaW50MTYgKikoVCkpKSBcCi0JCQk6IFwKLQkJCSggXAotCQkJCUFzc2Vy dE1hY3JvKChhdHRsZW4pID09IDEpLCBcCi0JCQkJQ2hhckdldERhdHVtKCooKGNoYXIgKiko VCkpKSBcCi0JCQkpIFwKLQkJKSBcCi0JKSBcCi0JOiBcCi0JUG9pbnRlckdldERhdHVtKChj aGFyICopIChUKSkgXAotKQotI2VuZGlmCQkJCQkJCS8qIFNJWkVPRl9EQVRVTSA9PSA4ICov CitzdGF0aWMgaW5saW5lIERhdHVtCitmZXRjaGF0dChjb25zdCBGb3JtRGF0YV9wZ19hdHRy aWJ1dGUgKkEsIGNvbnN0IHZvaWQgKlQpCit7CisJcmV0dXJuIGZldGNoX2F0dChULCBBLT5h dHRieXZhbCwgQS0+YXR0bGVuKTsKK30KIAogLyoKICAqIGF0dF9hbGlnbl9kYXR1bSBhbGln bnMgdGhlIGdpdmVuIG9mZnNldCBhcyBuZWVkZWQgZm9yIGEgZGF0dW0gb2YgYWxpZ25tZW50 CkBAIC0xOTQsNTQgKzE3NiwzMSBAQAogICogc3RvcmVfYXR0X2J5dmFsIGlzIGEgcGFydGlh bCBpbnZlcnNlIG9mIGZldGNoX2F0dDogc3RvcmUgYSBnaXZlbiBEYXR1bQogICogdmFsdWUg aW50byBhIHR1cGxlIGRhdGEgYXJlYSBhdCB0aGUgc3BlY2lmaWVkIGFkZHJlc3MuICBIb3dl dmVyLCBpdCBvbmx5CiAgKiBoYW5kbGVzIHRoZSBieXZhbCBjYXNlLCBiZWNhdXNlIGluIHR5 cGljYWwgdXNhZ2UgdGhlIGNhbGxlciBuZWVkcyB0bwotICogZGlzdGluZ3Vpc2ggYnktdmFs IGFuZCBieS1yZWYgY2FzZXMgYW55d2F5LCBhbmQgc28gYSBkby1pdC1hbGwgbWFjcm8KKyAq IGRpc3Rpbmd1aXNoIGJ5LXZhbCBhbmQgYnktcmVmIGNhc2VzIGFueXdheSwgYW5kIHNvIGEg ZG8taXQtYWxsIGZ1bmN0aW9uCiAgKiB3b3VsZG4ndCBiZSBjb252ZW5pZW50LgogICovCitz dGF0aWMgaW5saW5lIHZvaWQKK3N0b3JlX2F0dF9ieXZhbCh2b2lkICpULCBEYXR1bSBuZXdk YXR1bSwgaW50IGF0dGxlbikKK3sKKwlzd2l0Y2ggKGF0dGxlbikKKwl7CisJCWNhc2Ugc2l6 ZW9mKGNoYXIpOgorCQkJKihjaGFyICopIFQgPSBEYXR1bUdldENoYXIobmV3ZGF0dW0pOwor CQkJYnJlYWs7CisJCWNhc2Ugc2l6ZW9mKGludDE2KToKKwkJCSooaW50MTYgKikgVCA9IERh dHVtR2V0SW50MTYobmV3ZGF0dW0pOworCQkJYnJlYWs7CisJCWNhc2Ugc2l6ZW9mKGludDMy KToKKwkJCSooaW50MzIgKikgVCA9IERhdHVtR2V0SW50MzIobmV3ZGF0dW0pOworCQkJYnJl YWs7CiAjaWYgU0laRU9GX0RBVFVNID09IDgKLQotI2RlZmluZSBzdG9yZV9hdHRfYnl2YWwo VCxuZXdkYXR1bSxhdHRsZW4pIFwKLQlkbyB7IFwKLQkJc3dpdGNoIChhdHRsZW4pIFwKLQkJ eyBcCi0JCQljYXNlIHNpemVvZihjaGFyKTogXAotCQkJCSooY2hhciAqKSAoVCkgPSBEYXR1 bUdldENoYXIobmV3ZGF0dW0pOyBcCi0JCQkJYnJlYWs7IFwKLQkJCWNhc2Ugc2l6ZW9mKGlu dDE2KTogXAotCQkJCSooaW50MTYgKikgKFQpID0gRGF0dW1HZXRJbnQxNihuZXdkYXR1bSk7 IFwKLQkJCQlicmVhazsgXAotCQkJY2FzZSBzaXplb2YoaW50MzIpOiBcCi0JCQkJKihpbnQz MiAqKSAoVCkgPSBEYXR1bUdldEludDMyKG5ld2RhdHVtKTsgXAotCQkJCWJyZWFrOyBcCi0J CQljYXNlIHNpemVvZihEYXR1bSk6IFwKLQkJCQkqKERhdHVtICopIChUKSA9IChuZXdkYXR1 bSk7IFwKLQkJCQlicmVhazsgXAotCQkJZGVmYXVsdDogXAotCQkJCWVsb2coRVJST1IsICJ1 bnN1cHBvcnRlZCBieXZhbCBsZW5ndGg6ICVkIiwgXAotCQkJCQkgKGludCkgKGF0dGxlbikp OyBcCi0JCQkJYnJlYWs7IFwKLQkJfSBcCi0JfSB3aGlsZSAoMCkKLSNlbHNlCQkJCQkJCS8q IFNJWkVPRl9EQVRVTSAhPSA4ICovCi0KLSNkZWZpbmUgc3RvcmVfYXR0X2J5dmFsKFQsbmV3 ZGF0dW0sYXR0bGVuKSBcCi0JZG8geyBcCi0JCXN3aXRjaCAoYXR0bGVuKSBcCi0JCXsgXAot CQkJY2FzZSBzaXplb2YoY2hhcik6IFwKLQkJCQkqKGNoYXIgKikgKFQpID0gRGF0dW1HZXRD aGFyKG5ld2RhdHVtKTsgXAotCQkJCWJyZWFrOyBcCi0JCQljYXNlIHNpemVvZihpbnQxNik6 IFwKLQkJCQkqKGludDE2ICopIChUKSA9IERhdHVtR2V0SW50MTYobmV3ZGF0dW0pOyBcCi0J CQkJYnJlYWs7IFwKLQkJCWNhc2Ugc2l6ZW9mKGludDMyKTogXAotCQkJCSooaW50MzIgKikg KFQpID0gRGF0dW1HZXRJbnQzMihuZXdkYXR1bSk7IFwKLQkJCQlicmVhazsgXAotCQkJZGVm YXVsdDogXAotCQkJCWVsb2coRVJST1IsICJ1bnN1cHBvcnRlZCBieXZhbCBsZW5ndGg6ICVk IiwgXAotCQkJCQkgKGludCkgKGF0dGxlbikpOyBcCi0JCQkJYnJlYWs7IFwKLQkJfSBcCi0J fSB3aGlsZSAoMCkKLSNlbmRpZgkJCQkJCQkvKiBTSVpFT0ZfREFUVU0gPT0gOCAqLworCQlj YXNlIHNpemVvZihEYXR1bSk6CisJCQkqKERhdHVtICopIFQgPSBuZXdkYXR1bTsKKwkJCWJy ZWFrOworI2VuZGlmCisJCWRlZmF1bHQ6CisJCQllbG9nKEVSUk9SLCAidW5zdXBwb3J0ZWQg Ynl2YWwgbGVuZ3RoOiAlZCIsIGF0dGxlbik7CisJfQorfQogCiAjZW5kaWYKLS0gCjIuMzUu MQoK --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0007-Convert-macros-to-static-inline-functions-itup.h.patch" Content-Disposition: attachment; filename*0="0007-Convert-macros-to-static-inline-functions-itup.h.patch" Content-Transfer-Encoding: base64 RnJvbSBlYmI1MThmNmYzZmFmZjYwNDMwYzE3ODRlZDNiYmY0NGNlYTMxMWYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChp dHVwLmgpCgotLS0KIHNyYy9pbmNsdWRlL2FjY2Vzcy9pdHVwLmggfCAxMDcgKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9h Y2Nlc3MvaXR1cC5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL2l0dXAuaAppbmRleCA2ZTZhZWMx MDQzLi4zNmU1ZTg3YjljIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvaXR1cC5o CisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9pdHVwLmgKQEAgLTczLDIxICs3MywzMyBAQCB0 eXBlZGVmIEluZGV4QXR0cmlidXRlQml0TWFwRGF0YSAqIEluZGV4QXR0cmlidXRlQml0TWFw OwogI2RlZmluZSBJbmRleFR1cGxlSGFzVmFyd2lkdGhzKGl0dXApICgoKChJbmRleFR1cGxl KSAoaXR1cCkpLT50X2luZm8gJiBJTkRFWF9WQVJfTUFTSykpCiAKIAorLyogcm91dGluZXMg aW4gaW5kZXh0dXBsZS5jICovCitleHRlcm4gSW5kZXhUdXBsZSBpbmRleF9mb3JtX3R1cGxl KFR1cGxlRGVzYyB0dXBsZURlc2NyaXB0b3IsCisJCQkJCQkJCSAgIERhdHVtICp2YWx1ZXMs IGJvb2wgKmlzbnVsbCk7CitleHRlcm4gRGF0dW0gbm9jYWNoZV9pbmRleF9nZXRhdHRyKElu ZGV4VHVwbGUgdHVwLCBpbnQgYXR0bnVtLAorCQkJCQkJCQkgICBUdXBsZURlc2MgdHVwbGVE ZXNjKTsKK2V4dGVybiB2b2lkIGluZGV4X2RlZm9ybV90dXBsZShJbmRleFR1cGxlIHR1cCwg VHVwbGVEZXNjIHR1cGxlRGVzY3JpcHRvciwKKwkJCQkJCQkgICBEYXR1bSAqdmFsdWVzLCBi b29sICppc251bGwpOworZXh0ZXJuIHZvaWQgaW5kZXhfZGVmb3JtX3R1cGxlX2ludGVybmFs KFR1cGxlRGVzYyB0dXBsZURlc2NyaXB0b3IsCisJCQkJCQkJCQkJRGF0dW0gKnZhbHVlcywg Ym9vbCAqaXNudWxsLAorCQkJCQkJCQkJCWNoYXIgKnRwLCBiaXRzOCAqYnAsIGludCBoYXNu dWxscyk7CitleHRlcm4gSW5kZXhUdXBsZSBDb3B5SW5kZXhUdXBsZShJbmRleFR1cGxlIHNv dXJjZSk7CitleHRlcm4gSW5kZXhUdXBsZSBpbmRleF90cnVuY2F0ZV90dXBsZShUdXBsZURl c2Mgc291cmNlRGVzY3JpcHRvciwKKwkJCQkJCQkJCSAgIEluZGV4VHVwbGUgc291cmNlLCBp bnQgbGVhdmVuYXR0cyk7CisKKwogLyoKICAqIFRha2VzIGFuIGluZm9tYXNrIGFzIGFyZ3Vt ZW50IChwcmltYXJpbHkgYmVjYXVzZSB0aGlzIG5lZWRzIHRvIGJlIHVzYWJsZQogICogYXQg aW5kZXhfZm9ybV90dXBsZSB0aW1lIHNvIGVub3VnaCBzcGFjZSBpcyBhbGxvY2F0ZWQpLgog ICovCi0jZGVmaW5lIEluZGV4SW5mb0ZpbmREYXRhT2Zmc2V0KHRfaW5mbykgXAotKCBcCi0J KCEoKHRfaW5mbykgJiBJTkRFWF9OVUxMX01BU0spKSA/IFwKLQkoIFwKLQkJKFNpemUpTUFY QUxJR04oc2l6ZW9mKEluZGV4VHVwbGVEYXRhKSkgXAotCSkgXAotCTogXAotCSggXAotCQko U2l6ZSlNQVhBTElHTihzaXplb2YoSW5kZXhUdXBsZURhdGEpICsgc2l6ZW9mKEluZGV4QXR0 cmlidXRlQml0TWFwRGF0YSkpIFwKLQkpIFwKLSkKK3N0YXRpYyBpbmxpbmUgU2l6ZQorSW5k ZXhJbmZvRmluZERhdGFPZmZzZXQodW5zaWduZWQgc2hvcnQgdF9pbmZvKQoreworCWlmICgh KHRfaW5mbyAmIElOREVYX05VTExfTUFTSykpCisJCXJldHVybiBNQVhBTElHTihzaXplb2Yo SW5kZXhUdXBsZURhdGEpKTsKKwllbHNlCisJCXJldHVybiBNQVhBTElHTihzaXplb2YoSW5k ZXhUdXBsZURhdGEpICsgc2l6ZW9mKEluZGV4QXR0cmlidXRlQml0TWFwRGF0YSkpOworfQog CiAvKiAtLS0tLS0tLS0tLS0tLS0tCiAgKgkJaW5kZXhfZ2V0YXR0cgpAQCAtOTcsMzQgKzEw OSwzNiBAQCB0eXBlZGVmIEluZGV4QXR0cmlidXRlQml0TWFwRGF0YSAqIEluZGV4QXR0cmli dXRlQml0TWFwOwogICoKICAqIC0tLS0tLS0tLS0tLS0tLS0KICAqLwotI2RlZmluZSBpbmRl eF9nZXRhdHRyKHR1cCwgYXR0bnVtLCB0dXBsZURlc2MsIGlzbnVsbCkgXAotKCBcCi0JQXNz ZXJ0TWFjcm8oUG9pbnRlcklzVmFsaWQoaXNudWxsKSAmJiAoYXR0bnVtKSA+IDApLCBcCi0J Kihpc251bGwpID0gZmFsc2UsIFwKLQkhSW5kZXhUdXBsZUhhc051bGxzKHR1cCkgPyBcCi0J KCBcCi0JCVR1cGxlRGVzY0F0dHIoKHR1cGxlRGVzYyksIChhdHRudW0pLTEpLT5hdHRjYWNo ZW9mZiA+PSAwID8gXAotCQkoIFwKLQkJCWZldGNoYXR0KFR1cGxlRGVzY0F0dHIoKHR1cGxl RGVzYyksIChhdHRudW0pLTEpLCBcCi0JCQkoY2hhciAqKSAodHVwKSArIEluZGV4SW5mb0Zp bmREYXRhT2Zmc2V0KCh0dXApLT50X2luZm8pIFwKLQkJCSsgVHVwbGVEZXNjQXR0cigodHVw bGVEZXNjKSwgKGF0dG51bSktMSktPmF0dGNhY2hlb2ZmKSBcCi0JCSkgXAotCQk6IFwKLQkJ CW5vY2FjaGVfaW5kZXhfZ2V0YXR0cigodHVwKSwgKGF0dG51bSksICh0dXBsZURlc2MpKSBc Ci0JKSBcCi0JOiBcCi0JKCBcCi0JCShhdHRfaXNudWxsKChhdHRudW0pLTEsIChiaXRzOCAq KSh0dXApICsgc2l6ZW9mKEluZGV4VHVwbGVEYXRhKSkpID8gXAotCQkoIFwKLQkJCSooaXNu dWxsKSA9IHRydWUsIFwKLQkJCShEYXR1bSlOVUxMIFwKLQkJKSBcCi0JCTogXAotCQkoIFwK LQkJCW5vY2FjaGVfaW5kZXhfZ2V0YXR0cigodHVwKSwgKGF0dG51bSksICh0dXBsZURlc2Mp KSBcCi0JCSkgXAotCSkgXAotKQorc3RhdGljIGlubGluZSBEYXR1bQoraW5kZXhfZ2V0YXR0 cihJbmRleFR1cGxlIHR1cCwgaW50IGF0dG51bSwgVHVwbGVEZXNjIHR1cGxlRGVzYywgYm9v bCAqaXNudWxsKQoreworCUFzc2VydChQb2ludGVySXNWYWxpZChpc251bGwpKTsKKwlBc3Nl cnQoYXR0bnVtID4gMCk7CisKKwkqaXNudWxsID0gZmFsc2U7CisKKwlpZiAoIUluZGV4VHVw bGVIYXNOdWxscyh0dXApKQorCXsKKwkJaWYgKFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLCBh dHRudW0gLSAxKS0+YXR0Y2FjaGVvZmYgPj0gMCkKKwkJeworCQkJcmV0dXJuIGZldGNoYXR0 KFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLCBhdHRudW0gLSAxKSwKKwkJCQkJCQkoY2hhciAq KSB0dXAgKyBJbmRleEluZm9GaW5kRGF0YU9mZnNldCh0dXAtPnRfaW5mbykKKwkJCQkJCQkr IFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLCBhdHRudW0tMSktPmF0dGNhY2hlb2ZmKTsKKwkJ fQorCQllbHNlCisJCQlyZXR1cm4gbm9jYWNoZV9pbmRleF9nZXRhdHRyKHR1cCwgYXR0bnVt LCB0dXBsZURlc2MpOworCX0KKwllbHNlCisJeworCQlpZiAoYXR0X2lzbnVsbChhdHRudW0g LSAxLCAoYml0czggKikgdHVwICsgc2l6ZW9mKEluZGV4VHVwbGVEYXRhKSkpCisJCXsKKwkJ CSppc251bGwgPSB0cnVlOworCQkJcmV0dXJuIChEYXR1bSkgTlVMTDsKKwkJfQorCQllbHNl CisJCQlyZXR1cm4gbm9jYWNoZV9pbmRleF9nZXRhdHRyKHR1cCwgYXR0bnVtLCB0dXBsZURl c2MpOworCX0KK30KIAogLyoKICAqIE1heEluZGV4VHVwbGVzUGVyUGFnZSBpcyBhbiB1cHBl ciBib3VuZCBvbiB0aGUgbnVtYmVyIG9mIHR1cGxlcyB0aGF0IGNhbgpAQCAtMTQ2LDE5ICsx NjAsNCBAQCB0eXBlZGVmIEluZGV4QXR0cmlidXRlQml0TWFwRGF0YSAqIEluZGV4QXR0cmli dXRlQml0TWFwOwogCSgoaW50KSAoKEJMQ0tTWiAtIFNpemVPZlBhZ2VIZWFkZXJEYXRhKSAv IFwKIAkJCShNQVhBTElHTihzaXplb2YoSW5kZXhUdXBsZURhdGEpICsgMSkgKyBzaXplb2Yo SXRlbUlkRGF0YSkpKSkKIAotCi0vKiByb3V0aW5lcyBpbiBpbmRleHR1cGxlLmMgKi8KLWV4 dGVybiBJbmRleFR1cGxlIGluZGV4X2Zvcm1fdHVwbGUoVHVwbGVEZXNjIHR1cGxlRGVzY3Jp cHRvciwKLQkJCQkJCQkJICAgRGF0dW0gKnZhbHVlcywgYm9vbCAqaXNudWxsKTsKLWV4dGVy biBEYXR1bSBub2NhY2hlX2luZGV4X2dldGF0dHIoSW5kZXhUdXBsZSB0dXAsIGludCBhdHRu dW0sCi0JCQkJCQkJCSAgIFR1cGxlRGVzYyB0dXBsZURlc2MpOwotZXh0ZXJuIHZvaWQgaW5k ZXhfZGVmb3JtX3R1cGxlKEluZGV4VHVwbGUgdHVwLCBUdXBsZURlc2MgdHVwbGVEZXNjcmlw dG9yLAotCQkJCQkJCSAgIERhdHVtICp2YWx1ZXMsIGJvb2wgKmlzbnVsbCk7Ci1leHRlcm4g dm9pZCBpbmRleF9kZWZvcm1fdHVwbGVfaW50ZXJuYWwoVHVwbGVEZXNjIHR1cGxlRGVzY3Jp cHRvciwKLQkJCQkJCQkJCQlEYXR1bSAqdmFsdWVzLCBib29sICppc251bGwsCi0JCQkJCQkJ CQkJY2hhciAqdHAsIGJpdHM4ICpicCwgaW50IGhhc251bGxzKTsKLWV4dGVybiBJbmRleFR1 cGxlIENvcHlJbmRleFR1cGxlKEluZGV4VHVwbGUgc291cmNlKTsKLWV4dGVybiBJbmRleFR1 cGxlIGluZGV4X3RydW5jYXRlX3R1cGxlKFR1cGxlRGVzYyBzb3VyY2VEZXNjcmlwdG9yLAot CQkJCQkJCQkJICAgSW5kZXhUdXBsZSBzb3VyY2UsIGludCBsZWF2ZW5hdHRzKTsKLQogI2Vu ZGlmCQkJCQkJCS8qIElUVVBfSCAqLwotLSAKMi4zNS4xCgo= --------------JXqr4hC0L005jP0YpHxBJB01 Content-Type: text/plain; charset=UTF-8; name="0008-Convert-macros-to-static-inline-functions-pgstat.h.patch" Content-Disposition: attachment; filename*0="0008-Convert-macros-to-static-inline-functions-pgstat.h.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSBiMWFhY2NlMjUxN2YyZmU2NTE0M2FhMTA4ZGEwNmUyYjBkZDVjYmUzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXkgMjAyMiAwOTo1ODoxMyArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIENvbnZlcnQgbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIChw Z3N0YXQuaCkKCi0tLQogc3JjL2luY2x1ZGUvcGdzdGF0LmggfCAyMjcgKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyNSBp bnNlcnRpb25zKCspLCAxMDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvcGdzdGF0LmggYi9zcmMvaW5jbHVkZS9wZ3N0YXQuaAppbmRleCBhYzI4ZjgxM2I0Li5l N2ExMjJkY2RiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ3N0YXQuaAorKysgYi9zcmMv aW5jbHVkZS9wZ3N0YXQuaApAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgInBvc3RtYXN0 ZXIvcGdhcmNoLmgiCS8qIGZvciBNQVhfWEZOX0NIQVJTICovCiAjaW5jbHVkZSAidXRpbHMv YmFja2VuZF9wcm9ncmVzcy5oIiAvKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLwog I2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCS8qIGZvciBiYWNrd2FyZCBjb21w YXRpYmlsaXR5ICovCisjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMv cmVsY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy93YWl0X2V2ZW50LmgiCS8qIGZvciBiYWNr d2FyZCBjb21wYXRpYmlsaXR5ICovCiAKQEAgLTM5Niw2ICszOTcsNjIgQEAgdHlwZWRlZiBz dHJ1Y3QgUGdTdGF0X1dhbFN0YXRzCiB9IFBnU3RhdF9XYWxTdGF0czsKIAogCisvKgorICog VmFyaWFibGVzIGluIHBnc3RhdC5jCisgKi8KKworLyogR1VDIHBhcmFtZXRlcnMgKi8KK2V4 dGVybiBQR0RMTElNUE9SVCBib29sIHBnc3RhdF90cmFja19jb3VudHM7CitleHRlcm4gUEdE TExJTVBPUlQgaW50IHBnc3RhdF90cmFja19mdW5jdGlvbnM7CitleHRlcm4gUEdETExJTVBP UlQgaW50IHBnc3RhdF9mZXRjaF9jb25zaXN0ZW5jeTsKKworCisvKgorICogVmFyaWFibGVz IGluIHBnc3RhdF9iZ3dyaXRlci5jCisgKi8KKworLyogdXBkYXRlZCBkaXJlY3RseSBieSBi Z3dyaXRlciBhbmQgYnVmbWdyICovCitleHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X0JnV3Jp dGVyU3RhdHMgUGVuZGluZ0JnV3JpdGVyU3RhdHM7CisKKworLyoKKyAqIFZhcmlhYmxlcyBp biBwZ3N0YXRfY2hlY2twb2ludGVyLmMKKyAqLworCisvKgorICogQ2hlY2twb2ludGVyIHN0 YXRpc3RpY3MgY291bnRlcnMgYXJlIHVwZGF0ZWQgZGlyZWN0bHkgYnkgY2hlY2twb2ludGVy IGFuZAorICogYnVmbWdyLgorICovCitleHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X0NoZWNr cG9pbnRlclN0YXRzIFBlbmRpbmdDaGVja3BvaW50ZXJTdGF0czsKKworCisvKgorICogVmFy aWFibGVzIGluIHBnc3RhdF9kYXRhYmFzZS5jCisgKi8KKworLyogVXBkYXRlZCBieSBwZ3N0 YXRfY291bnRfYnVmZmVyXypfdGltZSBtYWNyb3MgKi8KK2V4dGVybiBQR0RMTElNUE9SVCBQ Z1N0YXRfQ291bnRlciBwZ1N0YXRCbG9ja1JlYWRUaW1lOworZXh0ZXJuIFBHRExMSU1QT1JU IFBnU3RhdF9Db3VudGVyIHBnU3RhdEJsb2NrV3JpdGVUaW1lOworCisvKgorICogVXBkYXRl ZCBieSBwZ3N0YXRfY291bnRfY29ubl8qX3RpbWUgbWFjcm9zLCBjYWxsZWQgYnkKKyAqIHBn c3RhdF9yZXBvcnRfYWN0aXZpdHkoKS4KKyAqLworZXh0ZXJuIFBHRExMSU1QT1JUIFBnU3Rh dF9Db3VudGVyIHBnU3RhdEFjdGl2ZVRpbWU7CitleHRlcm4gUEdETExJTVBPUlQgUGdTdGF0 X0NvdW50ZXIgcGdTdGF0VHJhbnNhY3Rpb25JZGxlVGltZTsKKworLyogdXBkYXRlZCBieSB0 aGUgdHJhZmZpYyBjb3AgYW5kIGluIGVycmZpbmlzaCgpICovCitleHRlcm4gUEdETExJTVBP UlQgU2Vzc2lvbkVuZFR5cGUgcGdTdGF0U2Vzc2lvbkVuZENhdXNlOworCisKKy8qCisgKiBW YXJpYWJsZXMgaW4gcGdzdGF0X3dhbC5jCisgKi8KKworLyogdXBkYXRlZCBkaXJlY3RseSBi eSBiYWNrZW5kcyBhbmQgYmFja2dyb3VuZCBwcm9jZXNzZXMgKi8KK2V4dGVybiBQR0RMTElN UE9SVCBQZ1N0YXRfV2FsU3RhdHMgUGVuZGluZ1dhbFN0YXRzOworCisKIC8qCiAgKiBGdW5j dGlvbnMgaW4gcGdzdGF0LmMKICAqLwpAQCAtNDY1LDE0ICs1MjIsMjYgQEAgZXh0ZXJuIHZv aWQgcGdzdGF0X3JlcG9ydF9jaGVja3N1bV9mYWlsdXJlc19pbl9kYihPaWQgZGJvaWQsIGlu dCBmYWlsdXJlY291bnQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9jaGVja3N1bV9m YWlsdXJlKHZvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9jb25uZWN0KE9pZCBk Ym9pZCk7CiAKLSNkZWZpbmUgcGdzdGF0X2NvdW50X2J1ZmZlcl9yZWFkX3RpbWUobikJCQkJ CQkJXAotCShwZ1N0YXRCbG9ja1JlYWRUaW1lICs9IChuKSkKLSNkZWZpbmUgcGdzdGF0X2Nv dW50X2J1ZmZlcl93cml0ZV90aW1lKG4pCQkJCQkJCVwKLQkocGdTdGF0QmxvY2tXcml0ZVRp bWUgKz0gKG4pKQotI2RlZmluZSBwZ3N0YXRfY291bnRfY29ubl9hY3RpdmVfdGltZShuKQkJ CQkJCQlcCi0JKHBnU3RhdEFjdGl2ZVRpbWUgKz0gKG4pKQotI2RlZmluZSBwZ3N0YXRfY291 bnRfY29ubl90eG5faWRsZV90aW1lKG4pCQkJCQkJCVwKLQkocGdTdGF0VHJhbnNhY3Rpb25J ZGxlVGltZSArPSAobikpCitzdGF0aWMgaW5saW5lIHZvaWQKK3Bnc3RhdF9jb3VudF9idWZm ZXJfcmVhZF90aW1lKFBnU3RhdF9Db3VudGVyIG4pCit7CisJcGdTdGF0QmxvY2tSZWFkVGlt ZSArPSBuOworfQorc3RhdGljIGlubGluZSB2b2lkCitwZ3N0YXRfY291bnRfYnVmZmVyX3dy aXRlX3RpbWUoUGdTdGF0X0NvdW50ZXIgbikKK3sKKwlwZ1N0YXRCbG9ja1dyaXRlVGltZSAr PSBuOworfQorc3RhdGljIGlubGluZSB2b2lkCitwZ3N0YXRfY291bnRfY29ubl9hY3RpdmVf dGltZShQZ1N0YXRfQ291bnRlciBuKQoreworCXBnU3RhdEFjdGl2ZVRpbWUgKz0gbjsKK30K K3N0YXRpYyBpbmxpbmUgdm9pZAorcGdzdGF0X2NvdW50X2Nvbm5fdHhuX2lkbGVfdGltZShQ Z1N0YXRfQ291bnRlciBuKQoreworCXBnU3RhdFRyYW5zYWN0aW9uSWRsZVRpbWUgKz0gbjsK K30KIAogZXh0ZXJuIFBnU3RhdF9TdGF0REJFbnRyeSAqcGdzdGF0X2ZldGNoX3N0YXRfZGJl bnRyeShPaWQgZGJpZCk7CiAKQEAgLTUxNiw0NyArNTg1LDU3IEBAIGV4dGVybiB2b2lkIHBn c3RhdF9yZXBvcnRfYW5hbHl6ZShSZWxhdGlvbiByZWwsCiAgKiBwZ3N0YXRfYXNzb2NfcmVs YXRpb24oKSB0byBkbyBzby4gU2VlIGl0cyBjb21tZW50IGZvciB3aHkgdGhpcyBpcyBkb25l CiAgKiBzZXBhcmF0ZWx5IGZyb20gcGdzdGF0X2luaXRfcmVsYXRpb24oKS4KICAqLwotI2Rl ZmluZSBwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCi0JKGxpa2VseSgocmVsKS0+cGdzdGF0X2luZm8gIT0gTlVMTCkgPyB0 cnVlIDogICAgICAgICAgICAgICAgICAgIFwKLQkgKChyZWwpLT5wZ3N0YXRfZW5hYmxlZCA/ IHBnc3RhdF9hc3NvY19yZWxhdGlvbihyZWwpLCB0cnVlIDogZmFsc2UpKQorc3RhdGljIGlu bGluZSBib29sCitwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKFJlbGF0aW9uIHJlbCkK K3sKKwlyZXR1cm4gKGxpa2VseShyZWwtPnBnc3RhdF9pbmZvICE9IE5VTEwpID8gdHJ1ZSA6 CisJCQkocmVsLT5wZ3N0YXRfZW5hYmxlZCA/IHBnc3RhdF9hc3NvY19yZWxhdGlvbihyZWwp LCB0cnVlIDogZmFsc2UpKTsKK30KIAogLyogbm9udHJhbnNhY3Rpb25hbCBldmVudCBjb3Vu dHMgYXJlIHNpbXBsZSBlbm91Z2ggdG8gaW5saW5lICovCiAKLSNkZWZpbmUgcGdzdGF0X2Nv dW50X2hlYXBfc2NhbihyZWwpCQkJCQkJCQkJXAotCWRvIHsJCQkJCQkJCQkJCQkJCQlcCi0J CWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCQkJCQkJXAotCQkJKHJl bCktPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X251bXNjYW5zKys7CQkJCVwKLQl9IHdoaWxl ICgwKQotI2RlZmluZSBwZ3N0YXRfY291bnRfaGVhcF9nZXRuZXh0KHJlbCkJCQkJCQkJCVwK LQlkbyB7CQkJCQkJCQkJCQkJCQkJXAotCQlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxh dGlvbihyZWwpKQkJCQkJCVwKLQkJCShyZWwpLT5wZ3N0YXRfaW5mby0+dF9jb3VudHMudF90 dXBsZXNfcmV0dXJuZWQrKzsJCVwKLQl9IHdoaWxlICgwKQotI2RlZmluZSBwZ3N0YXRfY291 bnRfaGVhcF9mZXRjaChyZWwpCQkJCQkJCQlcCi0JZG8gewkJCQkJCQkJCQkJCQkJCVwKLQkJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCi0JCQkocmVs KS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX2ZldGNoZWQrKzsJCVwKLQl9IHdo aWxlICgwKQotI2RlZmluZSBwZ3N0YXRfY291bnRfaW5kZXhfc2NhbihyZWwpCQkJCQkJCQlc Ci0JZG8gewkJCQkJCQkJCQkJCQkJCVwKLQkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVs YXRpb24ocmVsKSkJCQkJCQlcCi0JCQkocmVsKS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRf bnVtc2NhbnMrKzsJCQkJXAotCX0gd2hpbGUgKDApCi0jZGVmaW5lIHBnc3RhdF9jb3VudF9p bmRleF90dXBsZXMocmVsLCBuKQkJCQkJCQlcCi0JZG8gewkJCQkJCQkJCQkJCQkJCVwKLQkJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCi0JCQkocmVs KS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX3JldHVybmVkICs9IChuKTsJXAot CX0gd2hpbGUgKDApCi0jZGVmaW5lIHBnc3RhdF9jb3VudF9idWZmZXJfcmVhZChyZWwpCQkJ CQkJCQlcCi0JZG8gewkJCQkJCQkJCQkJCQkJCVwKLQkJaWYgKHBnc3RhdF9zaG91bGRfY291 bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCi0JCQkocmVsKS0+cGdzdGF0X2luZm8tPnRfY291 bnRzLnRfYmxvY2tzX2ZldGNoZWQrKzsJCVwKLQl9IHdoaWxlICgwKQotI2RlZmluZSBwZ3N0 YXRfY291bnRfYnVmZmVyX2hpdChyZWwpCQkJCQkJCQlcCi0JZG8gewkJCQkJCQkJCQkJCQkJ CVwKLQkJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkJCQkJCQlcCi0J CQkocmVsKS0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRfYmxvY2tzX2hpdCsrOwkJCVwKLQl9 IHdoaWxlICgwKQorc3RhdGljIGlubGluZSB2b2lkCitwZ3N0YXRfY291bnRfaGVhcF9zY2Fu KFJlbGF0aW9uIHJlbCkKK3sKKwlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihy ZWwpKQorCQlyZWwtPnBnc3RhdF9pbmZvLT50X2NvdW50cy50X251bXNjYW5zKys7Cit9Citz dGF0aWMgaW5saW5lIHZvaWQKK3Bnc3RhdF9jb3VudF9oZWFwX2dldG5leHQoUmVsYXRpb24g cmVsKQoreworCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCisJCXJl bC0+cGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX3JldHVybmVkKys7Cit9CitzdGF0 aWMgaW5saW5lIHZvaWQKK3Bnc3RhdF9jb3VudF9oZWFwX2ZldGNoKFJlbGF0aW9uIHJlbCkK K3sKKwlpZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCQlyZWwtPnBn c3RhdF9pbmZvLT50X2NvdW50cy50X3R1cGxlc19mZXRjaGVkKys7Cit9CitzdGF0aWMgaW5s aW5lIHZvaWQKK3Bnc3RhdF9jb3VudF9pbmRleF9zY2FuKFJlbGF0aW9uIHJlbCkKK3sKKwlp ZiAocGdzdGF0X3Nob3VsZF9jb3VudF9yZWxhdGlvbihyZWwpKQorCQlyZWwtPnBnc3RhdF9p bmZvLT50X2NvdW50cy50X251bXNjYW5zKys7Cit9CitzdGF0aWMgaW5saW5lIHZvaWQKK3Bn c3RhdF9jb3VudF9pbmRleF90dXBsZXMoUmVsYXRpb24gcmVsLCBQZ1N0YXRfQ291bnRlciBu KQoreworCWlmIChwZ3N0YXRfc2hvdWxkX2NvdW50X3JlbGF0aW9uKHJlbCkpCisJCXJlbC0+ cGdzdGF0X2luZm8tPnRfY291bnRzLnRfdHVwbGVzX3JldHVybmVkICs9IG47Cit9CitzdGF0 aWMgaW5saW5lIHZvaWQKK3Bnc3RhdF9jb3VudF9idWZmZXJfcmVhZChSZWxhdGlvbiByZWwp Cit7CisJaWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkKKwkJcmVsLT5w Z3N0YXRfaW5mby0+dF9jb3VudHMudF9ibG9ja3NfZmV0Y2hlZCsrOworfQorc3RhdGljIGlu bGluZSB2b2lkCitwZ3N0YXRfY291bnRfYnVmZmVyX2hpdChSZWxhdGlvbiByZWwpCit7CisJ aWYgKHBnc3RhdF9zaG91bGRfY291bnRfcmVsYXRpb24ocmVsKSkKKwkJcmVsLT5wZ3N0YXRf aW5mby0+dF9jb3VudHMudF9ibG9ja3NfaGl0Kys7Cit9CiAKIGV4dGVybiB2b2lkIHBnc3Rh dF9jb3VudF9oZWFwX2luc2VydChSZWxhdGlvbiByZWwsIFBnU3RhdF9Db3VudGVyIG4pOwog ZXh0ZXJuIHZvaWQgcGdzdGF0X2NvdW50X2hlYXBfdXBkYXRlKFJlbGF0aW9uIHJlbCwgYm9v bCBob3QpOwpAQCAtNjM2LDYwICs3MTUsNCBAQCBleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0 X3dhbChib29sIGZvcmNlKTsKIGV4dGVybiBQZ1N0YXRfV2FsU3RhdHMgKnBnc3RhdF9mZXRj aF9zdGF0X3dhbCh2b2lkKTsKIAogCi0vKgotICogVmFyaWFibGVzIGluIHBnc3RhdC5jCi0g Ki8KLQotLyogR1VDIHBhcmFtZXRlcnMgKi8KLWV4dGVybiBQR0RMTElNUE9SVCBib29sIHBn c3RhdF90cmFja19jb3VudHM7Ci1leHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF90cmFj a19mdW5jdGlvbnM7Ci1leHRlcm4gUEdETExJTVBPUlQgaW50IHBnc3RhdF9mZXRjaF9jb25z aXN0ZW5jeTsKLQotCi0vKgotICogVmFyaWFibGVzIGluIHBnc3RhdF9iZ3dyaXRlci5jCi0g Ki8KLQotLyogdXBkYXRlZCBkaXJlY3RseSBieSBiZ3dyaXRlciBhbmQgYnVmbWdyICovCi1l eHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X0JnV3JpdGVyU3RhdHMgUGVuZGluZ0JnV3JpdGVy U3RhdHM7Ci0KLQotLyoKLSAqIFZhcmlhYmxlcyBpbiBwZ3N0YXRfY2hlY2twb2ludGVyLmMK LSAqLwotCi0vKgotICogQ2hlY2twb2ludGVyIHN0YXRpc3RpY3MgY291bnRlcnMgYXJlIHVw ZGF0ZWQgZGlyZWN0bHkgYnkgY2hlY2twb2ludGVyIGFuZAotICogYnVmbWdyLgotICovCi1l eHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X0NoZWNrcG9pbnRlclN0YXRzIFBlbmRpbmdDaGVj a3BvaW50ZXJTdGF0czsKLQotCi0vKgotICogVmFyaWFibGVzIGluIHBnc3RhdF9kYXRhYmFz ZS5jCi0gKi8KLQotLyogVXBkYXRlZCBieSBwZ3N0YXRfY291bnRfYnVmZmVyXypfdGltZSBt YWNyb3MgKi8KLWV4dGVybiBQR0RMTElNUE9SVCBQZ1N0YXRfQ291bnRlciBwZ1N0YXRCbG9j a1JlYWRUaW1lOwotZXh0ZXJuIFBHRExMSU1QT1JUIFBnU3RhdF9Db3VudGVyIHBnU3RhdEJs b2NrV3JpdGVUaW1lOwotCi0vKgotICogVXBkYXRlZCBieSBwZ3N0YXRfY291bnRfY29ubl8q X3RpbWUgbWFjcm9zLCBjYWxsZWQgYnkKLSAqIHBnc3RhdF9yZXBvcnRfYWN0aXZpdHkoKS4K LSAqLwotZXh0ZXJuIFBHRExMSU1QT1JUIFBnU3RhdF9Db3VudGVyIHBnU3RhdEFjdGl2ZVRp bWU7Ci1leHRlcm4gUEdETExJTVBPUlQgUGdTdGF0X0NvdW50ZXIgcGdTdGF0VHJhbnNhY3Rp b25JZGxlVGltZTsKLQotLyogdXBkYXRlZCBieSB0aGUgdHJhZmZpYyBjb3AgYW5kIGluIGVy cmZpbmlzaCgpICovCi1leHRlcm4gUEdETExJTVBPUlQgU2Vzc2lvbkVuZFR5cGUgcGdTdGF0 U2Vzc2lvbkVuZENhdXNlOwotCi0KLS8qCi0gKiBWYXJpYWJsZXMgaW4gcGdzdGF0X3dhbC5j Ci0gKi8KLQotLyogdXBkYXRlZCBkaXJlY3RseSBieSBiYWNrZW5kcyBhbmQgYmFja2dyb3Vu ZCBwcm9jZXNzZXMgKi8KLWV4dGVybiBQR0RMTElNUE9SVCBQZ1N0YXRfV2FsU3RhdHMgUGVu ZGluZ1dhbFN0YXRzOwotCi0KICNlbmRpZgkJCQkJCQkvKiBQR1NUQVRfSCAqLwotLSAKMi4z NS4xCgo= --------------JXqr4hC0L005jP0YpHxBJB01--