From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 121209 invoked by alias); 20 Jun 2017 11:27:08 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 121179 invoked by uid 89); 20 Jun 2017 11:27:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=1112, oct, 20L, vol X-HELO: mail-oi0-f51.google.com Received: from mail-oi0-f51.google.com (HELO mail-oi0-f51.google.com) (209.85.218.51) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 20 Jun 2017 11:27:04 +0000 Received: by mail-oi0-f51.google.com with SMTP id b6so70366617oia.1 for ; Tue, 20 Jun 2017 04:27:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=hGNUonJTzm+nM32+IJBUg3qDN9ARK07loAJ/e4paCa4=; b=cOl3WO2uRXqeG/TPlPz5HbkvPZi+kCx8xFdas4bKkIR6bZE5jBEWKt3kSq3gl8QxqO Q935qavysIRaxeKoV9KAfXCP9ubOLivyrP3+68f0LoUKQcdbv+Wk8s6uK/W4VZurjBGG eqYIwMEc3Lyr4HJvzO7gRrxkJD18Rpmvolc+xCp46XiBIyG78j7S87r6gYt7fWPkWysz xD8FrQ+LqDqlayqOMcBtlO8nLUqO76MXJhrz02OoGSumURf2mL2Y1D+DUlXS/cQVvx/R e1BOmMZMBpF20DZmzuy5p7iMXeF/WWYICtMrLW3mHyrkbBub8C00hVVd61NQcvZg79ro w1Bw== X-Gm-Message-State: AKS2vOzXH0/LbnH+xqBmx2qOsdtvXhfHB/BPwo8EFYpFEyZb7dHhP2fz AerD74fBydRo5wh+XUW5GBHoIqtiTw== X-Received: by 10.202.227.129 with SMTP id a123mr15406378oih.156.1497958022120; Tue, 20 Jun 2017 04:27:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.83.29 with HTTP; Tue, 20 Jun 2017 04:27:01 -0700 (PDT) From: aditya upadhyay Date: Tue, 20 Jun 2017 11:27:00 -0000 Message-ID: Subject: Importing cacoshl.c and its dependencies To: newlib@sourceware.org Content-Type: multipart/mixed; boundary="001a11409186cc29da0552628714" X-IsSubscribed: yes X-SW-Source: 2017/txt/msg00441.txt.bz2 --001a11409186cc29da0552628714 Content-Type: text/plain; charset="UTF-8" Content-length: 292 Hello Developers, I have ported cacoshl.c from netbsd. I am not sure about stdbool.h, since it is already there in gcc libraries, so i have not included in csqrtl.c file. I am requesting you to please review the same and suggest me required modification. Thanks & Regards, Aditya Upadhyay --001a11409186cc29da0552628714 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Importing-cacoshl.c-and-its-dependencies.patch" Content-Disposition: attachment; filename="0001-Importing-cacoshl.c-and-its-dependencies.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j45hixqr0 Content-length: 17150 RnJvbSBiYWM4YWY5YzMzYWY2YjM5ODIyYzlkMjExYjY4MzEzZjViNmIyYjQ4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVXBhZGh5 YXkgPGFhZGl0MDQwMkBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjAgSnVuIDIw MTcgMTY6MzU6MTIgKzA1MzAKU3ViamVjdDogW1BBVENIXSBJbXBvcnRpbmcg Y2Fjb3NobC5jIGFuZCBpdHMgZGVwZW5kZW5jaWVzLgoKLS0tCiBuZXdsaWIv bGlibS9jb21wbGV4L01ha2VmaWxlLmFtIHwgICAyICstCiBuZXdsaWIvbGli bS9jb21wbGV4L01ha2VmaWxlLmluIHwgIDI2ICsrKysrKysrLS0KIG5ld2xp Yi9saWJtL2NvbXBsZXgvY2Fjb3NobC5jICAgfCAgNDUgKysrKysrKysrKysr KysrKwogbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5jICAgICB8ICA0NiAr KysrKysrKysrKysrKysrKwogbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwu YyAgICB8IDExMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDIyNyBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IG5ld2xpYi9saWJt L2NvbXBsZXgvY2Fjb3NobC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbmV3bGli L2xpYm0vY29tcGxleC9jbG9nbC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbmV3 bGliL2xpYm0vY29tcGxleC9jc3FydGwuYwoKZGlmZiAtLWdpdCBhL25ld2xp Yi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0gYi9uZXdsaWIvbGlibS9jb21w bGV4L01ha2VmaWxlLmFtCmluZGV4IDQwMjA1M2YuLjlkMDRhNWMgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZpbGUuYW0KKysrIGIv bmV3bGliL2xpYm0vY29tcGxleC9NYWtlZmlsZS5hbQpAQCAtMTAsNyArMTAs NyBAQCBzcmMgPSBjYWJzLmMgY2Fjb3MuYyBjYWNvc2guYyBjYXJnLmMgY2Fz aW4uYyBjYXNpbmguYyBcCiAgICAgICBjcG93LmMgY3Byb2ouYyAgY3JlYWwu YyAgXAogICAgICAgY3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBjdGFuLmMgY3Rh bmguYwogCi1sc3JjID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29z aGwuYworbHNyYyA9IGNhYnNsLmMgY3JlYWxsLmMgY2ltYWdsLmMgY2Nvc2hs LmMgY2Fjb3NobC5jIGNzcXJ0bC5jIGNsb2dsLmMKIAogZnNyYyA9CWNhYnNm LmMgY2FzaW5mLmMgY2Nvc2YuYyBjaW1hZ2YuYyBjcHJvamYuYyAgXAogICAg ICAgICBjc3FydGYuYyBjYWNvc2YuYyBjYXNpbmhmLmMgY2Nvc2hmLmMgY2xv Z2YuYyBjbG9nMTBmLmMgXApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYm0vY29t cGxleC9NYWtlZmlsZS5pbiBiL25ld2xpYi9saWJtL2NvbXBsZXgvTWFrZWZp bGUuaW4KaW5kZXggNTVjNzRhMS4uNTgxNDE5ZiAxMDA2NDQKLS0tIGEvbmV3 bGliL2xpYm0vY29tcGxleC9NYWtlZmlsZS5pbgorKysgYi9uZXdsaWIvbGli bS9jb21wbGV4L01ha2VmaWxlLmluCkBAIC05Nyw3ICs5Nyw4IEBAIGFtX19v YmplY3RzXzIgPSBsaWJfYS1jYWJzZi4kKE9CSkVYVCkgbGliX2EtY2FzaW5m LiQoT0JKRVhUKSBcCiAJbGliX2EtY2F0YW5oZi4kKE9CSkVYVCkgbGliX2Et Y2V4cGYuJChPQkpFWFQpIFwKIAlsaWJfYS1jcG93Zi4kKE9CSkVYVCkgbGli X2EtY3NpbmhmLiQoT0JKRVhUKQogYW1fX29iamVjdHNfMyA9IGxpYl9hLWNh YnNsLiQoT0JKRVhUKSBsaWJfYS1jcmVhbGwuJChPQkpFWFQpIFwKLQlsaWJf YS1jaW1hZ2wuJChPQkpFWFQpIGxpYl9hLWNjb3NobC4kKE9CSkVYVCkKKwls aWJfYS1jaW1hZ2wuJChPQkpFWFQpIGxpYl9hLWNjb3NobC4kKE9CSkVYVCkg bGliX2EtY2Fjb3NobC4kKE9CSkVYVCkgXAorICAgICAgICBsaWJfYS1jbG9n bC4kKE9CSkVYVCkgbGliX2EtY3NxcnRsLiQoT0JKRVhUKQogQFVTRV9MSUJU T09MX0ZBTFNFQGFtX2xpYl9hX09CSkVDVFMgPSAkKGFtX19vYmplY3RzXzEp IFwKIEBVU0VfTElCVE9PTF9GQUxTRUAJJChhbV9fb2JqZWN0c18yKSAkKGFt X19vYmplY3RzXzMpCiBsaWJfYV9PQkpFQ1RTID0gJChhbV9saWJfYV9PQkpF Q1RTKQpAQCAtMTEyLDcgKzExMyw4IEBAIGFtX19vYmplY3RzXzUgPSBjYWJz Zi5sbyBjYXNpbmYubG8gY2Nvc2YubG8gY2ltYWdmLmxvIGNwcm9qZi5sbyBc CiAJY3JlYWxmLmxvIGN0YW5mLmxvIGNhY29zaGYubG8gY2F0YW5mLmxvIGNl cGhlc19zdWJyZi5sbyBcCiAJY29uamYubG8gY3NpbmYubG8gY3RhbmhmLmxv IGNhcmdmLmxvIGNhdGFuaGYubG8gY2V4cGYubG8gXAogCWNwb3dmLmxvIGNz aW5oZi5sbwotYW1fX29iamVjdHNfNiA9IGNhYnNsLmxvIGNyZWFsbC5sbyBj aW1hZ2wubG8gY2Nvc2hsLmxvCithbV9fb2JqZWN0c182ID0gY2Fic2wubG8g Y3JlYWxsLmxvIGNpbWFnbC5sbyBjY29zaGwubG8gY2Fjb3NobC5sbyBcCisg ICAgICAgIGNsb2dsLmxvIGNzcXJ0bC5sbwogQFVTRV9MSUJUT09MX1RSVUVA YW1fbGliY29tcGxleF9sYV9PQkpFQ1RTID0gJChhbV9fb2JqZWN0c180KSBc CiBAVVNFX0xJQlRPT0xfVFJVRUAJJChhbV9fb2JqZWN0c181KSAkKGFtX19v YmplY3RzXzYpCiBsaWJjb21wbGV4X2xhX09CSkVDVFMgPSAkKGFtX2xpYmNv bXBsZXhfbGFfT0JKRUNUUykKQEAgLTI3Niw3ICsyNzgsNyBAQCBzcmMgPSBj YWJzLmMgY2Fjb3MuYyBjYWNvc2guYyBjYXJnLmMgY2FzaW4uYyBjYXNpbmgu YyBcCiAgICAgICBjcG93LmMgY3Byb2ouYyAgY3JlYWwuYyAgXAogICAgICAg Y3Npbi5jIGNzaW5oLmMgY3NxcnQuYyBjdGFuLmMgY3RhbmguYwogCi1sc3Jj ID0gY2Fic2wuYyBjcmVhbGwuYyBjaW1hZ2wuYyBjY29zaGwuYworbHNyYyA9 IGNhYnNsLmMgY3JlYWxsLmMgY2ltYWdsLmMgY2Nvc2hsLmMgY2Fjb3NobC5j IGNsb2dsLmMgY3NxcnRsLmMKIGZzcmMgPSBjYWJzZi5jIGNhc2luZi5jIGNj b3NmLmMgY2ltYWdmLmMgY3Byb2pmLmMgIFwKICAgICAgICAgY3NxcnRmLmMg Y2Fjb3NmLmMgY2FzaW5oZi5jIGNjb3NoZi5jIGNsb2dmLmMgY2xvZzEwZi5j IFwKICAgICAgICAgY3JlYWxmLmMgY3RhbmYuYyBjYWNvc2hmLmMgY2F0YW5m LmMgICBcCkBAIC02ODksNiArNjkxLDI0IEBAIGxpYl9hLWNjb3NobC5vOiBj Y29zaGwuYwogbGliX2EtY2Nvc2hsLm9iajogY2Nvc2hsLmMKIAkkKENDKSAk KERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9D UFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1MpICQoQ0ZMQUdT KSAtYyAtbyBsaWJfYS1jY29zaGwub2JqIGBpZiB0ZXN0IC1mICdjY29zaGwu Yyc7IHRoZW4gJChDWUdQQVRIX1cpICdjY29zaGwuYyc7IGVsc2UgJChDWUdQ QVRIX1cpICckKHNyY2RpcikvY2Nvc2hsLmMnOyBmaWAKIAorbGliX2EtY2Fj b3NobC5vOiBjYWNvc2hsLmMKKwkkKENDKSAkKERFRlMpICQoREVGQVVMVF9J TkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFH UykgJChsaWJfYV9DRkxBR1MpICQoQ0ZMQUdTKSAtYyAtbyBsaWJfYS1jYWNv c2hsLm8gYHRlc3QgLWYgJ2NhY29zaGwuYycgfHwgZWNobyAnJChzcmNkaXIp LydgY2Fjb3NobC5jCisKK2xpYl9hLWNhY29zaGwub2JqOiBjYWNvc2hsLmMK KwkkKENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURF UykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1Mp ICQoQ0ZMQUdTKSAtYyAtbyBsaWJfYS1jYWNvc2hsLm9iaiBgaWYgdGVzdCAt ZiAnY2Fjb3NobC5jJzsgdGhlbiAkKENZR1BBVEhfVykgJ2NhY29zaGwuYyc7 IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvY2Fjb3NobC5jJzsgZmlg CisKK2xpYl9hLWNsb2dsLm86IGNsb2dsLmMKKwkkKENDKSAkKERFRlMpICQo REVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykg JChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1MpICQoQ0ZMQUdTKSAtYyAtbyBs aWJfYS1jbG9nbC5vIGB0ZXN0IC1mICdjbG9nbC5jJyB8fCBlY2hvICckKHNy Y2RpcikvJ2BjbG9nbC5jCisKK2xpYl9hLWNsb2dsLm9iajogY2xvZ2wuYwor CSQoQ0MpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVT KSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGxpYl9hX0NGTEFHUykg JChDRkxBR1MpIC1jIC1vIGxpYl9hLWNsb2dsLm9iaiBgaWYgdGVzdCAtZiAn Y2xvZ2wuYyc7IHRoZW4gJChDWUdQQVRIX1cpICdjbG9nbC5jJzsgZWxzZSAk KENZR1BBVEhfVykgJyQoc3JjZGlyKS9jbG9nbC5jJzsgZmlgCisKK2xpYl9h LWNzcXJ0bC5vOiBjc3FydGwuYworCSQoQ0MpICQoREVGUykgJChERUZBVUxU X0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZM QUdTKSAkKGxpYl9hX0NGTEFHUykgJChDRkxBR1MpIC1jIC1vIGxpYl9hLWNz cXJ0bC5vIGB0ZXN0IC1mICdjc3FydGwuYycgfHwgZWNobyAnJChzcmNkaXIp LydgY3NxcnRsLmMKKworbGliX2EtY3NxcnRsLm9iajogY3NxcnRsLmMKKwkk KENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykg JChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChsaWJfYV9DRkxBR1MpICQo Q0ZMQUdTKSAtYyAtbyBsaWJfYS1jc3FydGwub2JqIGBpZiB0ZXN0IC1mICdj c3FydGwuYyc7IHRoZW4gJChDWUdQQVRIX1cpICdjc3FydGwuYyc7IGVsc2Ug JChDWUdQQVRIX1cpICckKHNyY2RpcikvY3NxcnRsLmMnOyBmaWAKKwogbW9z dGx5Y2xlYW4tbGlidG9vbDoKIAktcm0gLWYgKi5sbwogCmRpZmYgLS1naXQg YS9uZXdsaWIvbGlibS9jb21wbGV4L2NhY29zaGwuYyBiL25ld2xpYi9saWJt L2NvbXBsZXgvY2Fjb3NobC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjRlNGUwMDYKLS0tIC9kZXYvbnVsbAorKysgYi9uZXdsaWIv bGlibS9jb21wbGV4L2NhY29zaGwuYwpAQCAtMCwwICsxLDQ1IEBACisvKiAk TmV0QlNEOiBjYWNvc2hsLmMsdiAxLjEgMjAxNC8xMC8xMCAwMDo0ODoxOCBj aHJpc3RvcyBFeHAgJCAqLworCisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAw NyBUaGUgTmV0QlNEIEZvdW5kYXRpb24sIEluYy4KKyAqIEFsbCByaWdodHMg cmVzZXJ2ZWQuCisgKgorICogVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBz b2Z0d2FyZSB3cml0dGVuIGJ5IFN0ZXBoZW4gTC4gTW9zaGllci4KKyAqIEl0 IGlzIHJlZGlzdHJpYnV0ZWQgYnkgdGhlIE5ldEJTRCBGb3VuZGF0aW9uIGJ5 IHBlcm1pc3Npb24gb2YgdGhlIGF1dGhvci4KKyAqCisgKiBSZWRpc3RyaWJ1 dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBORVRCU0QgRk9VTkRBVElPTiwgSU5DLiBBTkQgQ09OVFJJQlVUT1JT CisgKiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKKyAqIFRPLCBU SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEZPVU5EQVRJT04gT1Ig Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7 IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO IElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERB TUFHRS4KKyAqLworCisjaW5jbHVkZSA8Y29tcGxleC5oPgorCitsb25nIGRv dWJsZSBjb21wbGV4CitjYWNvc2hsKGxvbmcgZG91YmxlIGNvbXBsZXggeikK K3sKKwlsb25nIGRvdWJsZSBjb21wbGV4IHc7CisKKyNpZiAwIC8qIGRvZXMg bm90IGdpdmUgdGhlIHByaW5jaXBhbCB2YWx1ZSAqLworCXcgPSBJICogY2Fj b3NsKHopOworI2Vsc2UKKwl3ID0gY2xvZ2woeiArIGNzcXJ0bCh6ICsgMSkg KiBjc3FydGwoeiAtIDEpKTsKKyNlbmRpZgorCXJldHVybiB3OworfQpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYm0vY29tcGxleC9jbG9nbC5jIGIvbmV3bGli L2xpYm0vY29tcGxleC9jbG9nbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjM2NDRhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9uZXds aWIvbGlibS9jb21wbGV4L2Nsb2dsLmMKQEAgLTAsMCArMSw0NiBAQAorLyog JE5ldEJTRDogY2xvZ2wuYyx2IDEuMSAyMDE0LzEwLzEwIDAwOjQ4OjE4IGNo cmlzdG9zIEV4cCAkICovCisKKy8qLQorICogQ29weXJpZ2h0IChjKSAyMDA3 IFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5jLgorICogQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNv ZnR3YXJlIHdyaXR0ZW4gYnkgU3RlcGhlbiBMLiBNb3NoaWVyLgorICogSXQg aXMgcmVkaXN0cmlidXRlZCBieSB0aGUgTmV0QlNEIEZvdW5kYXRpb24gYnkg cGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLgorICoKKyAqIFJlZGlzdHJpYnV0 aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11 c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg VEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFORCBDT05UUklCVVRPUlMK KyAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8sIFRI RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgRk9VTkRBVElPTiBPUiBD T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g SUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLgorICovCisKKyNpbmNsdWRlIDxjb21wbGV4Lmg+CisjaW5jbHVkZSA8 bWF0aC5oPgorCitsb25nIGRvdWJsZSBjb21wbGV4CitjbG9nbChsb25nIGRv dWJsZSBjb21wbGV4IHopCit7CisJbG9uZyBkb3VibGUgY29tcGxleCB3Owor CWxvbmcgZG91YmxlIHAsIHJyOworCisJcnIgPSBjYWJzbCh6KTsKKwlwID0g bG9nbChycik7CisJcnIgPSBhdGFuMmwoY2ltYWdsKHopLCBjcmVhbGwoeikp OworCXcgPSBwICsgcnIgKiBJOworCXJldHVybiB3OworfQpkaWZmIC0tZ2l0 IGEvbmV3bGliL2xpYm0vY29tcGxleC9jc3FydGwuYyBiL25ld2xpYi9saWJt L2NvbXBsZXgvY3NxcnRsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNzJkMWQxZAotLS0gL2Rldi9udWxsCisrKyBiL25ld2xpYi9s aWJtL2NvbXBsZXgvY3NxcnRsLmMKQEAgLTAsMCArMSwxMTIgQEAKKy8qLQor ICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMDggRGF2aWQgU2NodWx0eiA8ZGFz QEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5 IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT IFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFT IElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1F RC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVU T1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ QUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJW SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO RVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg U1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBP VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAq LworCisjaW5jbHVkZSA8c3lzL2NkZWZzLmg+CisjaWYgMAorX19GQlNESUQo IiRGcmVlQlNEOiBoZWFkL2xpYi9tc3VuL3NyYy9zX2NzcXJ0bC5jIDE4MTQw MiAyMDA4LTA4LTA4IDAwOjE1OjE2WiBkYXMgJCIpOworI2Vsc2UKK19fUkNT SUQoIiROZXRCU0Q6IGNzcXJ0bC5jLHYgMS4yIDIwMTQvMTAvMTEgMDA6NDM6 NTEgY2hyaXN0b3MgRXhwICQiKTsKKyNlbmRpZgorCisjaW5jbHVkZSA8Y29t cGxleC5oPgorI2luY2x1ZGUgPGZsb2F0Lmg+CisjaW5jbHVkZSA8bWF0aC5o PgorCisvKgorICogZ2NjIGRvZXNuJ3QgaW1wbGVtZW50IGNvbXBsZXggbXVs dGlwbGljYXRpb24gb3IgZGl2aXNpb24gY29ycmVjdGx5LAorICogc28gd2Ug bmVlZCB0byBoYW5kbGUgaW5maW5pdGllcyBzcGVjaWFsbHkuIFdlIHR1cm4g b24gdGhpcyBwcmFnbWEgdG8KKyAqIG5vdGlmeSBjb25mb3JtaW5nIGM5OSBj b21waWxlcnMgdGhhdCB0aGUgZmFzdC1idXQtaW5jb3JyZWN0IGNvZGUgdGhh dAorICogZ2NjIGdlbmVyYXRlcyBpcyBhY2NlcHRhYmxlLCBzaW5jZSB0aGUg c3BlY2lhbCBjYXNlcyBoYXZlIGFscmVhZHkgYmVlbgorICogaGFuZGxlZC4K KyAqLworLy8gI3ByYWdtYQlTVERDIENYX0xJTUlURURfUkFOR0UJT04KKwor LyogV2UgcmlzayBzcHVyaW91cyBvdmVyZmxvdyBmb3IgY29tcG9uZW50cyA+ PSBMREJMX01BWCAvICgxICsgc3FydCgyKSkuICovCisjZGVmaW5lCVRIUkVT SAkoTERCTF9NQVggLyAyLjQxNDIxMzU2MjM3MzA5NTA0ODgwMTY4ODcyNDIw OTY5OEwpCisKKyNkZWZpbmUgY3BhY2tsKHIsIGkpICgocikgKyAoaSkgKiBJ KQorCitsb25nIGRvdWJsZSBjb21wbGV4Citjc3FydGwobG9uZyBkb3VibGUg Y29tcGxleCB6KQoreworCWxvbmcgZG91YmxlIGNvbXBsZXggcmVzdWx0Owor CWxvbmcgZG91YmxlIGEsIGI7CisJbG9uZyBkb3VibGUgdDsKKwlib29sIHNj YWxlOworCisJYSA9IGNyZWFsbCh6KTsKKwliID0gY2ltYWdsKHopOworCisJ LyogSGFuZGxlIHNwZWNpYWwgY2FzZXMuICovCisJaWYgKHogPT0gMC4wTCkK KwkJcmV0dXJuIChjcGFja2woMC4wTCwgYikpOworCWlmIChpc2luZihiKSkK KwkJcmV0dXJuIChjcGFja2woSU5GSU5JVFksIGIpKTsKKwlpZiAoaXNuYW4o YSkpIHsKKwkJdCA9IChiIC0gYikgLyAoYiAtIGIpOwkvKiByYWlzZSBpbnZh bGlkIGlmIGIgaXMgbm90IGEgTmFOICovCisJCXJldHVybiAoY3BhY2tsKGEs IHQpKTsJLyogcmV0dXJuIE5hTiArIE5hTiBpICovCisJfQorCWlmIChpc2lu ZihhKSkgeworCQkvKgorCQkgKiBjc3FydChpbmYgKyBOYU4gaSkgID0gaW5m ICsgIE5hTiBpCisJCSAqIGNzcXJ0KGluZiArIHkgaSkgICAgPSBpbmYgKyAg MCBpCisJCSAqIGNzcXJ0KC1pbmYgKyBOYU4gaSkgPSBOYU4gKy0gaW5mIGkK KwkJICogY3NxcnQoLWluZiArIHkgaSkgICA9IDAgICArICBpbmYgaQorCQkg Ki8KKwkJaWYgKHNpZ25iaXQoYSkpCisJCQlyZXR1cm4gKGNwYWNrbChmYWJz bChiIC0gYiksIGNvcHlzaWdubChhLCBiKSkpOworCQllbHNlCisJCQlyZXR1 cm4gKGNwYWNrbChhLCBjb3B5c2lnbmwoYiAtIGIsIGIpKSk7CisJfQorCS8q CisJICogVGhlIHJlbWFpbmluZyBzcGVjaWFsIGNhc2UgKGIgaXMgTmFOKSBp cyBoYW5kbGVkIGp1c3QgZmluZSBieQorCSAqIHRoZSBub3JtYWwgY29kZSBw YXRoIGJlbG93LgorCSAqLworCisJLyogU2NhbGUgdG8gYXZvaWQgb3ZlcmZs b3cuICovCisJaWYgKGZhYnNsKGEpID49IFRIUkVTSCB8fCBmYWJzbChiKSA+ PSBUSFJFU0gpIHsKKwkJYSAqPSAwLjI1TDsKKwkJYiAqPSAwLjI1TDsKKwkJ c2NhbGUgPSB0cnVlOworCX0gZWxzZSB7CisJCXNjYWxlID0gZmFsc2U7CisJ fQorCisJLyogQWxnb3JpdGhtIDMxMiwgQ0FDTSB2b2wgMTAsIE9jdCAxOTY3 LiAqLworCWlmIChhID49IDBMKSB7CisJCXQgPSBzcXJ0bCgoYSArIGh5cG90 bChhLCBiKSkgKiAwLjVMKTsKKwkJcmVzdWx0ID0gY3BhY2tsKHQsIGIgLyAo Mi4wTCAqIHQpKTsKKwl9IGVsc2UgeworCQl0ID0gc3FydGwoKC1hICsgaHlw b3RsKGEsIGIpKSAqIDAuNUwpOworCQlyZXN1bHQgPSBjcGFja2woZmFic2wo YikgLyAoMi4wTCAqIHQpLCBjb3B5c2lnbmwodCwgYikpOworCX0KKworCS8q IFJlc2NhbGUuICovCisJaWYgKHNjYWxlKQorCQlyZXR1cm4gKHJlc3VsdCAq IDIuMEwpOworCWVsc2UKKwkJcmV0dXJuIChyZXN1bHQpOworfQotLSAKMi43 LjQKCg== --001a11409186cc29da0552628714--