From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 7AEDF3952030 for ; Fri, 25 Nov 2022 08:40:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7AEDF3952030 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x62f.google.com with SMTP id e27so8694138ejc.12 for ; Fri, 25 Nov 2022 00:40:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=AvP72LjSOtjF4aJSO7Q0D21RmRgj0cqfRjO/9CTr0Fc=; b=pmUdiRuRvcnCletyx8eMm06ijGNdpC0axmOZjyHVdomxrk//rzynmSteET1SU/CatB acFaX0SqRDFBkUD3r8EL3BmxcXBe5SJJA/Ow6d2tPNz0vfA/7mRp5pNGwVW51smAUNGQ XePmZG2WF4W7s+UZs/8cGVfWHQU1b4FOQyNkzDqg/CXvtGs8Hk+wluQAda6qQhqcrSK+ LlZaxNavW8Az+V28Bqz5aAjpUWtkOvrz1YDcw28JvOo0Hf44EnNv2hpnOw/imJnjSy00 b30q3hWYnARgFCu5mRZ/UI3CN8oFwSAlGBngAe7RKkGiJPJsmm939rIeYXiQfl3+u7qD avhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=AvP72LjSOtjF4aJSO7Q0D21RmRgj0cqfRjO/9CTr0Fc=; b=LRpnByZ7l5b/kLofwP8dK6SFS/CjFm3Gc5nEGaHZzk1qMbwXlIxvYovNXKELecSXVV JfMcRkfpMC3PHWTh6axffdSAfyPCkkpizcgT4KRf7NyDtoFQtE+/E9kEI+YKm8/P5p6n mWuwG4JOLH4xQg08AiEKsPLhfG/KNvqcNPUwmAaqRAXsHe+qcI7+KDnY1BxAIysN8//J xsBjJOg6XeJ5AnRESV+lLHb0LjUqDDniAna6lbZwULcIxmDwnBgS06m3niaAY+Uy4OTO u2OmUMBwtQrgpveFyWGDHZXCzvokYi+pcuJTh+L/keObeA4IV9mcS2E+mwY825+NS9S0 0z9g== X-Gm-Message-State: ANoB5pkoKQ3MYu3L/zom7I5Oi54ZXOZfjErcgVwZL9MbWAy+yM8xKtBU KnSMCdhakcNy0Jt8rFdtVbQMNGYeKENyMlJ0KltJV+H+ X-Google-Smtp-Source: AA0mqf7j+BepjpGz2A0c814DCCBAvXtbOXa8tNlQdMSjFAvK6SWkY0m3i9sY21vkXF7tnbbgE6SsMt8Gi6uUVAWB5aM= X-Received: by 2002:a17:906:6093:b0:78d:b37c:83d9 with SMTP id t19-20020a170906609300b0078db37c83d9mr15127184ejj.637.1669365643244; Fri, 25 Nov 2022 00:40:43 -0800 (PST) MIME-Version: 1.0 From: Zopolis0 Date: Fri, 25 Nov 2022 19:40:32 +1100 Message-ID: Subject: [PATCH 13/56] Re-add flag_evaluation_order, reorder_operands_p, and add reorder bool argument to tree_swap_operands_p. To: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="0000000000002a9dc505ee477adb" X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,PYZOR_CHECK,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000002a9dc505ee477adb Content-Type: text/plain; charset="UTF-8" --0000000000002a9dc505ee477adb Content-Type: application/x-patch; name="0013-Re-add-flag_evaluation_order-reorder_operands_p-and-.patch" Content-Disposition: attachment; filename="0013-Re-add-flag_evaluation_order-reorder_operands_p-and-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_law73uuu0 RnJvbSA0YTYwMTg2NTcwZGVmZWJlZDdkODExYjM3YzQ2MDkyMjY3NDA3YTk2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWlsaWFuIERvd25leSBUd2lzcyA8Y3JlYXRvcnNtaXRo bWR0QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxOCBOb3YgMjAyMiAwOTowNTo1MCArMTEwMApTdWJq ZWN0OiBbUEFUQ0ggMTMvNTZdIFJlLWFkZCBmbGFnX2V2YWx1YXRpb25fb3JkZXIsIHJlb3JkZXJf b3BlcmFuZHNfcCwgYW5kCiBhZGQgcmVvcmRlciBib29sIGFyZ3VtZW50IHRvIHRyZWVfc3dhcF9v cGVyYW5kc19wLgoKZ2NjL0NoYW5nZUxvZzoKCgkqIGNvbW1vbi5vcHQgKGZsYWdfZXZhbHVhdGlv bl9vcmRlcik6IFJlLWFkZC4KCSogZXhwci5jYyAoZXhwYW5kX29wZXJhbmRzKTogUmUtYWRkIGNv ZGUgZ3VhcmRlZCBieSBmbGFnX2V2YWx1YXRpb25fb3JkZXIuCgkqIGZvbGQtY29uc3QuY2MgKHJl b3JkZXJfb3BlcmFuZHNfcCk6IFJlLWFkZC4KCShuZWdhdGVfZXhwcl9wKTogSGFuZGxlIHJlb3Jk ZXJfb3BlcmFuZHNfcC4KCShmb2xkX25lZ2F0ZV9leHByXzEpOiBMaWtld2lzZS4KCSh0cmVlX3N3 YXBfb3BlcmFuZHNfcCk6IFJlLWFkZCByZW9yZGVyIGFyZ3VtZW50LgoJKGZvbGRfYmluYXJ5X2xv Yyk6IExpa2V3aXNlLgoJKGZvbGRfdGVybmFyeV9sb2MpOiBMaWtld2lzZQoJKiBmb2xkLWNvbnN0 LmggKHRyZWVfc3dhcF9vcGVyYW5kc19wKTogTGlrZXdpc2UuCgkqIGdlbm1hdGNoLmNjIChkdF9v cGVyYW5kOjpnZW5fZ2ltcGxlX2V4cHIpOiBMaWtld2lzZS4KCSogZ2ltcGxlLWZvbGQuY2MgKGZv bGRfc3RtdF8xKTogTGlrZXdpc2UuCgkqIGdpbXBsZS1tYXRjaC1oZWFkLmNjIChnaW1wbGVfcmVz aW1wbGlmeTIpOiBMaWtld2lzZS4KCShnaW1wbGVfcmVzaW1wbGlmeTMpOiBMaWtld2lzZS4KCShn aW1wbGVfcmVzaW1wbGlmeTQpOiBMaWtld2lzZS4KCShnaW1wbGVfcmVzaW1wbGlmeTUpOiBMaWtl d2lzZS4KCShnaW1wbGVfc2ltcGxpZnkpOiBMaWtld2lzZS4KCSogbWF0Y2gucGQ6IExpa2V3aXNl LgoJKiB0cmVlLXNzYS1kb20uY2MgKHJlY29yZF9lcXVhbGl0eSk6IExpa2V3aXNlLgoJKiB0cmVl LXNzYS1yZWFzc29jLmNjIChvcHRpbWl6ZV9yYW5nZV90ZXN0c192YXJfYm91bmQpOiBMaWtld2lz ZS4KCSogdHJlZS1zc2Etc2Njdm4uY2MgKHZuX25hcnlfb3BfY29tcHV0ZV9oYXNoKTogTGlrZXdp c2UuCgkqIHRyZWUtc3NhLXRocmVhZGVkZ2UuY2M6IExpa2V3aXNlLgotLS0KIGdjYy9jb21tb24u b3B0ICAgICAgICAgICAgIHwgIDQgKysrCiBnY2MvZXhwci5jYyAgICAgICAgICAgICAgICB8ICA0 ICsrKwogZ2NjL2ZvbGQtY29uc3QuY2MgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLQogZ2NjL2ZvbGQtY29uc3QuaCAgICAgICAgICAgfCAgMiArLQog Z2NjL2dlbm1hdGNoLmNjICAgICAgICAgICAgfCAgMiArLQogZ2NjL2dpbXBsZS1mb2xkLmNjICAg ICAgICAgfCAgOCArKystLS0KIGdjYy9naW1wbGUtbWF0Y2gtaGVhZC5jYyAgIHwgMjAgKysrKysr KysrLS0tLS0tCiBnY2MvbWF0Y2gucGQgICAgICAgICAgICAgICB8ICAyICstCiBnY2MvdHJlZS1z c2EtZG9tLmNjICAgICAgICB8ICAyICstCiBnY2MvdHJlZS1zc2EtcmVhc3NvYy5jYyAgICB8ICAy ICstCiBnY2MvdHJlZS1zc2Etc2Njdm4uY2MgICAgICB8ICA0ICstLQogZ2NjL3RyZWUtc3NhLXRo cmVhZGVkZ2UuY2MgfCAgMiArLQogMTIgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwg MjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi5vcHQgYi9nY2MvY29tbW9u Lm9wdAppbmRleCAyNmU5ZDFjYzRlNy4uMzE4ZWFmYzJlOGMgMTAwNjQ0Ci0tLSBhL2djYy9jb21t b24ub3B0CisrKyBiL2djYy9jb21tb24ub3B0CkBAIC02Miw2ICs2MiwxMCBAQCBpbnQgZmxhZ19j b21wbGV4X21ldGhvZCA9IDEKIFZhcmlhYmxlCiBpbnQgZmxhZ19kZWZhdWx0X2NvbXBsZXhfbWV0 aG9kID0gMQogCis7IE5vbnplcm8gaWYgc3ViZXhwcmVzc2lvbnMgbXVzdCBiZSBldmFsdWF0ZWQg ZnJvbSBsZWZ0LXRvLXJpZ2h0LgorVmFyaWFibGUKK2ludCBmbGFnX2V2YWx1YXRpb25fb3JkZXIg PSAwCisKIDsgTGFuZ3VhZ2Ugc3BlY2lmaWMgd2FybmluZyBwYXNzIGZvciB1bnVzZWQgcmVzdWx0 cy4KIFZhcmlhYmxlCiBib29sIGZsYWdfd2Fybl91bnVzZWRfcmVzdWx0ID0gZmFsc2UKZGlmZiAt LWdpdCBhL2djYy9leHByLmNjIGIvZ2NjL2V4cHIuY2MKaW5kZXggZDk0MDc0MzJlYTUuLjJlNzcw YWIwOTBkIDEwMDY0NAotLS0gYS9nY2MvZXhwci5jYworKysgYi9nY2MvZXhwci5jYwpAQCAtODU3 Niw2ICs4NTc2LDEwIEBAIGV4cGFuZF9vcGVyYW5kcyAodHJlZSBleHAwLCB0cmVlIGV4cDEsIHJ0 eCB0YXJnZXQsIHJ0eCAqb3AwLCBydHggKm9wMSwKICAgICB9CiAgIGVsc2UKICAgICB7CisgICAg ICAvKiBJZiB3ZSBuZWVkIHRvIHByZXNlcnZlIGV2YWx1YXRpb24gb3JkZXIsIGNvcHkgZXhwMCBp bnRvIGl0cyBvd24KKwkgdGVtcG9yYXJ5IHZhcmlhYmxlIHNvIHRoYXQgaXQgY2FuJ3QgYmUgY2xv YmJlcmVkIGJ5IGV4cDEuICAqLworICAgICAgaWYgKGZsYWdfZXZhbHVhdGlvbl9vcmRlciAmJiBU UkVFX1NJREVfRUZGRUNUUyAoZXhwMSkpCisJZXhwMCA9IHNhdmVfZXhwciAoZXhwMCk7CiAgICAg ICAqb3AwID0gZXhwYW5kX2V4cHIgKGV4cDAsIHRhcmdldCwgVk9JRG1vZGUsIG1vZGlmaWVyKTsK ICAgICAgICpvcDEgPSBleHBhbmRfZXhwciAoZXhwMSwgTlVMTF9SVFgsIFZPSURtb2RlLCBtb2Rp Zmllcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvbGQtY29uc3QuY2MgYi9nY2MvZm9sZC1j b25zdC5jYwppbmRleCBiODljYWM5MWNhZS4uMzc0ODc4YjMxYTQgMTAwNjQ0Ci0tLSBhL2djYy9m b2xkLWNvbnN0LmNjCisrKyBiL2djYy9mb2xkLWNvbnN0LmNjCkBAIC0xMzksNiArMTM5LDcgQEAg c3RhdGljIHRyZWUgZm9sZF9jb25kX2V4cHJfd2l0aF9jb21wYXJpc29uIChsb2NhdGlvbl90LCB0 cmVlLCBlbnVtIHRyZWVfY29kZSwKIHN0YXRpYyB0cmVlIHVuZXh0ZW5kICh0cmVlLCBpbnQsIGlu dCwgdHJlZSk7CiBzdGF0aWMgdHJlZSBleHRyYWN0X211bGRpdiAodHJlZSwgdHJlZSwgZW51bSB0 cmVlX2NvZGUsIHRyZWUsIGJvb2wgKik7CiBzdGF0aWMgdHJlZSBleHRyYWN0X211bGRpdl8xICh0 cmVlLCB0cmVlLCBlbnVtIHRyZWVfY29kZSwgdHJlZSwgYm9vbCAqKTsKK3N0YXRpYyBib29sIHJl b3JkZXJfb3BlcmFuZHNfcCAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSk7CiBzdGF0aWMgdHJlZSBm b2xkX2JpbmFyeV9vcF93aXRoX2NvbmRpdGlvbmFsX2FyZyAobG9jYXRpb25fdCwKIAkJCQkJCSBl bnVtIHRyZWVfY29kZSwgdHJlZSwKIAkJCQkJCSB0cmVlLCB0cmVlLApAQCAtNDcyLDcgKzQ3Myw5 IEBAIG5lZ2F0ZV9leHByX3AgKHRyZWUgdCkKIAkgICAgICAmJiAhIFRZUEVfT1ZFUkZMT1dfV1JB UFMgKHR5cGUpKSkKIAlyZXR1cm4gZmFsc2U7CiAgICAgICAvKiAtKEEgKyBCKSAtPiAoLUIpIC0g QS4gICovCi0gICAgICBpZiAobmVnYXRlX2V4cHJfcCAoVFJFRV9PUEVSQU5EICh0LCAxKSkpCisg ICAgICBpZiAobmVnYXRlX2V4cHJfcCAoVFJFRV9PUEVSQU5EICh0LCAxKSkKKwkgICYmIHJlb3Jk ZXJfb3BlcmFuZHNfcCAoVFJFRV9PUEVSQU5EICh0LCAwKSwKKwkJCQkgVFJFRV9PUEVSQU5EICh0 LCAxKSkpCiAJcmV0dXJuIHRydWU7CiAgICAgICAvKiAtKEEgKyBCKSAtPiAoLUEpIC0gQi4gICov CiAgICAgICByZXR1cm4gbmVnYXRlX2V4cHJfcCAoVFJFRV9PUEVSQU5EICh0LCAwKSk7CkBAIC00 ODIsNyArNDg1LDkgQEAgbmVnYXRlX2V4cHJfcCAodHJlZSB0KQogICAgICAgcmV0dXJuICFIT05P Ul9TSUdOX0RFUEVOREVOVF9ST1VORElORyAodHlwZSkKIAkgICAgICYmICFIT05PUl9TSUdORURf WkVST1MgKHR5cGUpCiAJICAgICAmJiAoISBBTllfSU5URUdSQUxfVFlQRV9QICh0eXBlKQotCQkg fHwgVFlQRV9PVkVSRkxPV19XUkFQUyAodHlwZSkpOworCQkgfHwgVFlQRV9PVkVSRkxPV19XUkFQ UyAodHlwZSkpCisJICAgICAmJiByZW9yZGVyX29wZXJhbmRzX3AgKFRSRUVfT1BFUkFORCAodCwg MCksCisJCQkJICAgIFRSRUVfT1BFUkFORCAodCwgMSkpOwogCiAgICAgY2FzZSBNVUxUX0VYUFI6 CiAgICAgICBpZiAoVFlQRV9VTlNJR05FRCAodHlwZSkpCkBAIC02NDMsNyArNjQ4LDkgQEAgZm9s ZF9uZWdhdGVfZXhwcl8xIChsb2NhdGlvbl90IGxvYywgdHJlZSB0KQogCSAgJiYgIUhPTk9SX1NJ R05FRF9aRVJPUyAodHlwZSkpCiAJewogCSAgLyogLShBICsgQikgLT4gKC1CKSAtIEEuICAqLwot CSAgaWYgKG5lZ2F0ZV9leHByX3AgKFRSRUVfT1BFUkFORCAodCwgMSkpKQorCSAgaWYgKG5lZ2F0 ZV9leHByX3AgKFRSRUVfT1BFUkFORCAodCwgMSkpCisJICAgICAgJiYgcmVvcmRlcl9vcGVyYW5k c19wIChUUkVFX09QRVJBTkQgKHQsIDApLAorCQkJCSAgICAgVFJFRV9PUEVSQU5EICh0LCAxKSkp CiAJICAgIHsKIAkgICAgICB0ZW0gPSBuZWdhdGVfZXhwciAoVFJFRV9PUEVSQU5EICh0LCAxKSk7 CiAJICAgICAgcmV0dXJuIGZvbGRfYnVpbGQyX2xvYyAobG9jLCBNSU5VU19FWFBSLCB0eXBlLApA QCAtNjYzLDcgKzY3MCw4IEBAIGZvbGRfbmVnYXRlX2V4cHJfMSAobG9jYXRpb25fdCBsb2MsIHRy ZWUgdCkKICAgICBjYXNlIE1JTlVTX0VYUFI6CiAgICAgICAvKiAtIChBIC0gQikgLT4gQiAtIEEg ICovCiAgICAgICBpZiAoIUhPTk9SX1NJR05fREVQRU5ERU5UX1JPVU5ESU5HICh0eXBlKQotCSAg JiYgIUhPTk9SX1NJR05FRF9aRVJPUyAodHlwZSkpCisJICAmJiAhSE9OT1JfU0lHTkVEX1pFUk9T IChlbGVtZW50X21vZGUgKHR5cGUpKQorCSAgJiYgcmVvcmRlcl9vcGVyYW5kc19wIChUUkVFX09Q RVJBTkQgKHQsIDApLCBUUkVFX09QRVJBTkQgKHQsIDEpKSkKIAlyZXR1cm4gZm9sZF9idWlsZDJf bG9jIChsb2MsIE1JTlVTX0VYUFIsIHR5cGUsCiAJCQkJVFJFRV9PUEVSQU5EICh0LCAxKSwgVFJF RV9PUEVSQU5EICh0LCAwKSk7CiAgICAgICBicmVhazsKQEAgLTc0OTIsMTIgKzc1MDAsMjcgQEAg Zm9sZF9zaW5nbGVfYml0X3Rlc3QgKGxvY2F0aW9uX3QgbG9jLCBlbnVtIHRyZWVfY29kZSBjb2Rl LAogICByZXR1cm4gTlVMTF9UUkVFOwogfQogCisvKiBDaGVjayB3aGV0aGVyIHdlIGFyZSBhbGxv d2VkIHRvIHJlb3JkZXIgb3BlcmFuZHMgYXJnMCBhbmQgYXJnMSwKKyAgIHN1Y2ggdGhhdCB0aGUg ZXZhbHVhdGlvbiBvZiBhcmcxIG9jY3VycyBiZWZvcmUgYXJnMC4gICovCisKK3N0YXRpYyBib29s CityZW9yZGVyX29wZXJhbmRzX3AgKGNvbnN0X3RyZWUgYXJnMCwgY29uc3RfdHJlZSBhcmcxKQor eworICBpZiAoISBmbGFnX2V2YWx1YXRpb25fb3JkZXIpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAg aWYgKFRSRUVfQ09OU1RBTlQgKGFyZzApIHx8IFRSRUVfQ09OU1RBTlQgKGFyZzEpKQorICAgIHJl dHVybiB0cnVlOworICByZXR1cm4gISBUUkVFX1NJREVfRUZGRUNUUyAoYXJnMCkKKwkgJiYgISBU UkVFX1NJREVfRUZGRUNUUyAoYXJnMSk7Cit9CisKIC8qIFRlc3Qgd2hldGhlciBpdCBpcyBwcmVm ZXJhYmxlIHRvIHN3YXAgdHdvIG9wZXJhbmRzLCBBUkcwIGFuZAogICAgQVJHMSwgZm9yIGV4YW1w bGUgYmVjYXVzZSBBUkcwIGlzIGFuIGludGVnZXIgY29uc3RhbnQgYW5kIEFSRzEKLSAgIGlzbid0 LiAgKi8KKyAgIGlzbid0LiAgSWYgUkVPUkRFUiBpcyB0cnVlLCBvbmx5IHJlY29tbWVuZCBzd2Fw cGluZyBpZiB3ZSBjYW4KKyAgIGV2YWx1YXRlIHRoZSBvcGVyYW5kcyBpbiByZXZlcnNlIG9yZGVy LiAgKi8KIAogYm9vbAotdHJlZV9zd2FwX29wZXJhbmRzX3AgKGNvbnN0X3RyZWUgYXJnMCwgY29u c3RfdHJlZSBhcmcxKQordHJlZV9zd2FwX29wZXJhbmRzX3AgKGNvbnN0X3RyZWUgYXJnMCwgY29u c3RfdHJlZSBhcmcxLCBib29sIHJlb3JkZXIpCiB7CiAgIGlmIChDT05TVEFOVF9DTEFTU19QIChh cmcxKSkKICAgICByZXR1cm4gMDsKQEAgLTc1MTIsNiArNzUzNSwxMCBAQCB0cmVlX3N3YXBfb3Bl cmFuZHNfcCAoY29uc3RfdHJlZSBhcmcwLCBjb25zdF90cmVlIGFyZzEpCiAgIGlmIChUUkVFX0NP TlNUQU5UIChhcmcwKSkKICAgICByZXR1cm4gMTsKIAorICBpZiAocmVvcmRlciAmJiBmbGFnX2V2 YWx1YXRpb25fb3JkZXIKKyAgICAgICYmIChUUkVFX1NJREVfRUZGRUNUUyAoYXJnMCkgfHwgVFJF RV9TSURFX0VGRkVDVFMgKGFyZzEpKSkKKyAgICByZXR1cm4gMDsKKwogICAvKiBJdCBpcyBwcmVm ZXJhYmxlIHRvIHN3YXAgdHdvIFNTQV9OQU1FIHRvIGVuc3VyZSBhIGNhbm9uaWNhbCBmb3JtCiAg ICAgIGZvciBjb21tdXRhdGl2ZSBhbmQgY29tcGFyaXNvbiBvcGVyYXRvcnMuICBFbnN1cmluZyBh IGNhbm9uaWNhbAogICAgICBmb3JtIGFsbG93cyB0aGUgb3B0aW1pemVycyB0byBmaW5kIGFkZGl0 aW9uYWwgcmVkdW5kYW5jaWVzIHdpdGhvdXQKQEAgLTEwOTA0LDEzICsxMDkzMSwxMyBAQCBmb2xk X2JpbmFyeV9sb2MgKGxvY2F0aW9uX3QgbG9jLCBlbnVtIHRyZWVfY29kZSBjb2RlLCB0cmVlIHR5 cGUsCiAgIC8qIElmIHRoaXMgaXMgYSBjb21tdXRhdGl2ZSBvcGVyYXRpb24sIGFuZCBBUkcwIGlz IGEgY29uc3RhbnQsIG1vdmUgaXQKICAgICAgdG8gQVJHMSB0byByZWR1Y2UgdGhlIG51bWJlciBv ZiB0ZXN0cyBiZWxvdy4gICovCiAgIGlmIChjb21tdXRhdGl2ZV90cmVlX2NvZGUgKGNvZGUpCi0g ICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAoYXJnMCwgYXJnMSkpCisgICAgICAmJiB0cmVl X3N3YXBfb3BlcmFuZHNfcCAoYXJnMCwgYXJnMSwgdHJ1ZSkpCiAgICAgcmV0dXJuIGZvbGRfYnVp bGQyX2xvYyAobG9jLCBjb2RlLCB0eXBlLCBvcDEsIG9wMCk7CiAKICAgLyogTGlrZXdpc2UgaWYg dGhpcyBpcyBhIGNvbXBhcmlzb24sIGFuZCBBUkcwIGlzIGEgY29uc3RhbnQsIG1vdmUgaXQKICAg ICAgdG8gQVJHMSB0byByZWR1Y2UgdGhlIG51bWJlciBvZiB0ZXN0cyBiZWxvdy4gICovCiAgIGlm IChraW5kID09IHRjY19jb21wYXJpc29uCi0gICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAo YXJnMCwgYXJnMSkpCisgICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAoYXJnMCwgYXJnMSwg dHJ1ZSkpCiAgICAgcmV0dXJuIGZvbGRfYnVpbGQyX2xvYyAobG9jLCBzd2FwX3RyZWVfY29tcGFy aXNvbiAoY29kZSksIHR5cGUsIG9wMSwgb3AwKTsKIAogICB0ZW0gPSBnZW5lcmljX3NpbXBsaWZ5 IChsb2MsIGNvZGUsIHR5cGUsIG9wMCwgb3AxKTsKQEAgLTEwOTY5LDcgKzEwOTk2LDggQEAgZm9s ZF9iaW5hcnlfbG9jIChsb2NhdGlvbl90IGxvYywgZW51bSB0cmVlX2NvZGUgY29kZSwgdHJlZSB0 eXBlLAogCSAgcmV0dXJuIGJ1aWxkMl9sb2MgKGxvYywgQ09NUE9VTkRfRVhQUiwgdHlwZSwgVFJF RV9PUEVSQU5EIChhcmcwLCAwKSwKIAkJCSAgICAgdGVtKTsKIAl9Ci0gICAgICBpZiAoVFJFRV9D T0RFIChhcmcxKSA9PSBDT01QT1VORF9FWFBSKQorICAgICAgaWYgKFRSRUVfQ09ERSAoYXJnMSkg PT0gQ09NUE9VTkRfRVhQUgorCSAgJiYgcmVvcmRlcl9vcGVyYW5kc19wIChhcmcwLCBUUkVFX09Q RVJBTkQgKGFyZzEsIDApKSkKIAl7CiAJICB0ZW0gPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgY29k ZSwgdHlwZSwgb3AwLAogCQkJICAgICBmb2xkX2NvbnZlcnRfbG9jIChsb2MsIFRSRUVfVFlQRSAo b3AxKSwKQEAgLTExNTE5LDYgKzExNTQ3LDcgQEAgZm9sZF9iaW5hcnlfbG9jIChsb2NhdGlvbl90 IGxvYywgZW51bSB0cmVlX2NvZGUgY29kZSwgdHJlZSB0eXBlLAogICAgICAgLyogKC1BKSAtIEIg LT4gKC1CKSAtIEEgIHdoZXJlIEIgaXMgZWFzaWx5IG5lZ2F0ZWQgYW5kIHdlIGNhbiBzd2FwLiAg Ki8KICAgICAgIGlmIChUUkVFX0NPREUgKGFyZzApID09IE5FR0FURV9FWFBSCiAJICAmJiBuZWdh dGVfZXhwcl9wIChvcDEpCisJICAmJiByZW9yZGVyX29wZXJhbmRzX3AgKGFyZzAsIGFyZzEpCiAJ ICAvKiBJZiBhcmcwIGlzIGUuZy4gdW5zaWduZWQgaW50IGFuZCB0eXBlIGlzIGludCwgdGhlbiB0 aGlzIGNvdWxkCiAJICAgICBpbnRyb2R1Y2UgVUIsIGJlY2F1c2UgaWYgQSBpcyBJTlRfTUlOIGF0 IHJ1bnRpbWUsIHRoZSBvcmlnaW5hbAogCSAgICAgZXhwcmVzc2lvbiBjYW4gYmUgd2VsbCBkZWZp bmVkIHdoaWxlIHRoZSBsYXR0ZXIgaXMgbm90LgpAQCAtMTI3OTgsNyArMTI4MjcsNyBAQCBmb2xk X3Rlcm5hcnlfbG9jIChsb2NhdGlvbl90IGxvYywgZW51bSB0cmVlX2NvZGUgY29kZSwgdHJlZSB0 eXBlLAogICAvKiBJZiB0aGlzIGlzIGEgY29tbXV0YXRpdmUgb3BlcmF0aW9uLCBhbmQgT1AwIGlz IGEgY29uc3RhbnQsIG1vdmUgaXQKICAgICAgdG8gT1AxIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9m IHRlc3RzIGJlbG93LiAgKi8KICAgaWYgKGNvbW11dGF0aXZlX3Rlcm5hcnlfdHJlZV9jb2RlIChj b2RlKQotICAgICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKG9wMCwgb3AxKSkKKyAgICAgICYm IHRyZWVfc3dhcF9vcGVyYW5kc19wIChvcDAsIG9wMSwgdHJ1ZSkpCiAgICAgcmV0dXJuIGZvbGRf YnVpbGQzX2xvYyAobG9jLCBjb2RlLCB0eXBlLCBvcDEsIG9wMCwgb3AyKTsKIAogICB0ZW0gPSBn ZW5lcmljX3NpbXBsaWZ5IChsb2MsIGNvZGUsIHR5cGUsIG9wMCwgb3AxLCBvcDIpOwpAQCAtMTI5 MzEsNyArMTI5NjAsNyBAQCBmb2xkX3Rlcm5hcnlfbG9jIChsb2NhdGlvbl90IGxvYywgZW51bSB0 cmVlX2NvZGUgY29kZSwgdHJlZSB0eXBlLAogICAgICAgLyogSWYgdGhlIHNlY29uZCBvcGVyYW5k IGlzIHNpbXBsZXIgdGhhbiB0aGUgdGhpcmQsIHN3YXAgdGhlbQogCSBzaW5jZSB0aGF0IHByb2R1 Y2VzIGJldHRlciBqdW1wIG9wdGltaXphdGlvbiByZXN1bHRzLiAgKi8KICAgICAgIGlmICh0cnV0 aF92YWx1ZV9wIChUUkVFX0NPREUgKGFyZzApKQotCSAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3Ag KG9wMSwgb3AyKSkKKwkgICYmIHRyZWVfc3dhcF9vcGVyYW5kc19wIChvcDEsIG9wMiwgZmFsc2Up KQogCXsKIAkgIGxvY2F0aW9uX3QgbG9jMCA9IGV4cHJfbG9jYXRpb25fb3IgKGFyZzAsIGxvYyk7 CiAJICAvKiBTZWUgaWYgdGhpcyBjYW4gYmUgaW52ZXJ0ZWQuICBJZiBpdCBjYW4ndCwgcG9zc2li bHkgYmVjYXVzZQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvbGQtY29uc3QuaCBiL2djYy9mb2xkLWNvbnN0 LmgKaW5kZXggZmEyODRjNzEyYmYuLjQ4NmRhZDhkMjUyIDEwMDY0NAotLS0gYS9nY2MvZm9sZC1j b25zdC5oCisrKyBiL2djYy9mb2xkLWNvbnN0LmgKQEAgLTE0OSw3ICsxNDksNyBAQCBleHRlcm4g dHJlZSBidWlsZF9pbnZhcmlhbnRfYWRkcmVzcyAodHJlZSwgdHJlZSwgcG9seV9pbnQ2NCk7CiBl eHRlcm4gdHJlZSBjb25zdGFudF9ib29sZWFuX25vZGUgKGJvb2wsIHRyZWUpOwogZXh0ZXJuIHRy ZWUgZGl2X2lmX3plcm9fcmVtYWluZGVyIChjb25zdF90cmVlLCBjb25zdF90cmVlKTsKIAotZXh0 ZXJuIGJvb2wgdHJlZV9zd2FwX29wZXJhbmRzX3AgKGNvbnN0X3RyZWUsIGNvbnN0X3RyZWUpOwor ZXh0ZXJuIGJvb2wgdHJlZV9zd2FwX29wZXJhbmRzX3AgKGNvbnN0X3RyZWUsIGNvbnN0X3RyZWUs IGJvb2wpOwogZXh0ZXJuIGVudW0gdHJlZV9jb2RlIHN3YXBfdHJlZV9jb21wYXJpc29uIChlbnVt IHRyZWVfY29kZSk7CiAKIGV4dGVybiBib29sIHB0cl9kaWZmZXJlbmNlX2NvbnN0ICh0cmVlLCB0 cmVlLCBwb2x5X2ludDY0X3BvZCAqKTsKZGlmZiAtLWdpdCBhL2djYy9nZW5tYXRjaC5jYyBiL2dj Yy9nZW5tYXRjaC5jYwppbmRleCA0YTg4MDI0NjljZC4uNmIyYmU3ZGE1MTkgMTAwNjQ0Ci0tLSBh L2djYy9nZW5tYXRjaC5jYworKysgYi9nY2MvZ2VubWF0Y2guY2MKQEAgLTI4NzMsNyArMjg3Myw3 IEBAIGR0X29wZXJhbmQ6Omdlbl9naW1wbGVfZXhwciAoRklMRSAqZiwgaW50IGluZGVudCwgaW50 IGRlcHRoKQogICAgICAgZ2VuX29wbmFtZSAoY2hpbGRfb3BuYW1lMCwgb3Bubyk7CiAgICAgICBn ZW5fb3BuYW1lIChjaGlsZF9vcG5hbWUxLCBvcG5vICsgMSk7CiAgICAgICBmcHJpbnRmX2luZGVu dCAoZiwgaW5kZW50LAotCQkgICAgICAiaWYgKHRyZWVfc3dhcF9vcGVyYW5kc19wICglcywgJXMp KVxuIiwKKwkJICAgICAgImlmICh0cmVlX3N3YXBfb3BlcmFuZHNfcCAoJXMsICVzLCBmYWxzZSkp XG4iLAogCQkgICAgICBjaGlsZF9vcG5hbWUwLCBjaGlsZF9vcG5hbWUxKTsKICAgICAgIGZwcmlu dGZfaW5kZW50IChmLCBpbmRlbnQsCiAJCSAgICAgICIgIHN0ZDo6c3dhcCAoJXMsICVzKTtcbiIs CmRpZmYgLS1naXQgYS9nY2MvZ2ltcGxlLWZvbGQuY2MgYi9nY2MvZ2ltcGxlLWZvbGQuY2MKaW5k ZXggYzJkOWM4MDZhZWUuLmVmYzAzNTQ1NjZlIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLWZvbGQu Y2MKKysrIGIvZ2NjL2dpbXBsZS1mb2xkLmNjCkBAIC02MTQyLDcgKzYxNDIsNyBAQCBmb2xkX3N0 bXRfMSAoZ2ltcGxlX3N0bXRfaXRlcmF0b3IgKmdzaSwgYm9vbCBpbnBsYWNlLCB0cmVlICgqdmFs dWVpemUpICh0cmVlKSkKIAkgICAgewogCSAgICAgIHRyZWUgcmhzMSA9IGdpbXBsZV9hc3NpZ25f cmhzMSAoc3RtdCk7CiAJICAgICAgdHJlZSByaHMyID0gZ2ltcGxlX2Fzc2lnbl9yaHMyIChzdG10 KTsKLQkgICAgICBpZiAodHJlZV9zd2FwX29wZXJhbmRzX3AgKHJoczEsIHJoczIpKQorCSAgICAg IGlmICh0cmVlX3N3YXBfb3BlcmFuZHNfcCAocmhzMSwgcmhzMiwgZmFsc2UpKQogCQl7CiAJCSAg Z2ltcGxlX2Fzc2lnbl9zZXRfcmhzMSAoc3RtdCwgcmhzMik7CiAJCSAgZ2ltcGxlX2Fzc2lnbl9z ZXRfcmhzMiAoc3RtdCwgcmhzMSk7CkBAIC02MTc4LDcgKzYxNzgsOSBAQCBmb2xkX3N0bXRfMSAo Z2ltcGxlX3N0bXRfaXRlcmF0b3IgKmdzaSwgYm9vbCBpbnBsYWNlLCB0cmVlICgqdmFsdWVpemUp ICh0cmVlKSkKIAkgICAgICB7CiAJCXRyZWUgYXJnMSA9IGdpbXBsZV9jYWxsX2FyZyAoY2FsbCwg b3Bubyk7CiAJCXRyZWUgYXJnMiA9IGdpbXBsZV9jYWxsX2FyZyAoY2FsbCwgb3BubyArIDEpOwot CQlpZiAodHJlZV9zd2FwX29wZXJhbmRzX3AgKGFyZzEsIGFyZzIpKQorCQkvKiBGSVhNRTogRmlu ZCB0aGUgY29ycmVjdCB0aGlyZCB2YWx1ZSB0byBzZXQgZm9yCisJCXRyZWVfc3dhcF9vcGVyYW5k c19wIGhlcmUuICovCisJCWlmICh0cmVlX3N3YXBfb3BlcmFuZHNfcCAoYXJnMSwgYXJnMiwgZmFs c2UpKQogCQkgIHsKIAkJICAgIGdpbXBsZV9jYWxsX3NldF9hcmcgKGNhbGwsIG9wbm8sIGFyZzIp OwogCQkgICAgZ2ltcGxlX2NhbGxfc2V0X2FyZyAoY2FsbCwgb3BubyArIDEsIGFyZzEpOwpAQCAt NjIyNiw3ICs2MjI4LDcgQEAgZm9sZF9zdG10XzEgKGdpbXBsZV9zdG10X2l0ZXJhdG9yICpnc2ks IGJvb2wgaW5wbGFjZSwgdHJlZSAoKnZhbHVlaXplKSAodHJlZSkpCiAJLyogQ2Fub25pY2FsaXpl IG9wZXJhbmQgb3JkZXIuICAqLwogCXRyZWUgbGhzID0gZ2ltcGxlX2NvbmRfbGhzIChzdG10KTsK IAl0cmVlIHJocyA9IGdpbXBsZV9jb25kX3JocyAoc3RtdCk7Ci0JaWYgKHRyZWVfc3dhcF9vcGVy YW5kc19wIChsaHMsIHJocykpCisJaWYgKHRyZWVfc3dhcF9vcGVyYW5kc19wIChsaHMsIHJocywg ZmFsc2UpKQogCSAgewogCSAgICBnY29uZCAqZ2MgPSBhc19hIDxnY29uZCAqPiAoc3RtdCk7CiAJ ICAgIGdpbXBsZV9jb25kX3NldF9saHMgKGdjLCByaHMpOwpkaWZmIC0tZ2l0IGEvZ2NjL2dpbXBs ZS1tYXRjaC1oZWFkLmNjIGIvZ2NjL2dpbXBsZS1tYXRjaC1oZWFkLmNjCmluZGV4IDk5ODZlMzQ3 OWY5Li5kNDhhNGNhNWM4NiAxMDA2NDQKLS0tIGEvZ2NjL2dpbXBsZS1tYXRjaC1oZWFkLmNjCisr KyBiL2djYy9naW1wbGUtbWF0Y2gtaGVhZC5jYwpAQCAtMzAwLDcgKzMwMCw3IEBAIGdpbXBsZV9y ZXNpbXBsaWZ5MiAoZ2ltcGxlX3NlcSAqc2VxLCBnaW1wbGVfbWF0Y2hfb3AgKnJlc19vcCwKICAg ICA9IChyZXNfb3AtPmNvZGUuaXNfdHJlZV9jb2RlICgpCiAgICAgICAgJiYgVFJFRV9DT0RFX0NM QVNTICh0cmVlX2NvZGUgKHJlc19vcC0+Y29kZSkpID09IHRjY19jb21wYXJpc29uKTsKICAgaWYg KChpc19jb21wYXJpc29uIHx8IGNvbW11dGF0aXZlX2JpbmFyeV9vcF9wIChyZXNfb3AtPmNvZGUs IHJlc19vcC0+dHlwZSkpCi0gICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAocmVzX29wLT5v cHNbMF0sIHJlc19vcC0+b3BzWzFdKSkKKyAgICAgICYmIHRyZWVfc3dhcF9vcGVyYW5kc19wIChy ZXNfb3AtPm9wc1swXSwgcmVzX29wLT5vcHNbMV0sIGZhbHNlKSkKICAgICB7CiAgICAgICBzdGQ6 OnN3YXAgKHJlc19vcC0+b3BzWzBdLCByZXNfb3AtPm9wc1sxXSk7CiAgICAgICBpZiAoaXNfY29t cGFyaXNvbikKQEAgLTM3NCwxMSArMzc0LDEzIEBAIGdpbXBsZV9yZXNpbXBsaWZ5MyAoZ2ltcGxl X3NlcSAqc2VxLCBnaW1wbGVfbWF0Y2hfb3AgKnJlc19vcCwKIAl9CiAgICAgfQogCi0gIC8qIENh bm9uaWNhbGl6ZSBvcGVyYW5kIG9yZGVyLiAgKi8KKyAgLyogQ2Fub25pY2FsaXplIG9wZXJhbmQg b3JkZXIuICovCiAgIGJvb2wgY2Fub25pY2FsaXplZCA9IGZhbHNlOwogICBpbnQgYXJnbm8gPSBm aXJzdF9jb21tdXRhdGl2ZV9hcmd1bWVudCAocmVzX29wLT5jb2RlLCByZXNfb3AtPnR5cGUpOwog ICBpZiAoYXJnbm8gPj0gMAotICAgICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKHJlc19vcC0+ b3BzW2FyZ25vXSwgcmVzX29wLT5vcHNbYXJnbm8gKyAxXSkpCisgICAgICAvKiBGSVhNRTogRmlu ZCB0aGUgY29ycmVjdCB0aGlyZCB2YWx1ZSB0byBzZXQgZm9yCisJIHRyZWVfc3dhcF9vcGVyYW5k c19wIGhlcmUuICovCisgICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAocmVzX29wLT5vcHNb YXJnbm9dLCByZXNfb3AtPm9wc1thcmdubyArIDFdLCBmYWxzZSkpCiAgICAgewogICAgICAgc3Rk Ojpzd2FwIChyZXNfb3AtPm9wc1thcmdub10sIHJlc19vcC0+b3BzW2FyZ25vICsgMV0pOwogICAg ICAgY2Fub25pY2FsaXplZCA9IHRydWU7CkBAIC00MjgsNyArNDMwLDkgQEAgZ2ltcGxlX3Jlc2lt cGxpZnk0IChnaW1wbGVfc2VxICpzZXEsIGdpbXBsZV9tYXRjaF9vcCAqcmVzX29wLAogICBib29s IGNhbm9uaWNhbGl6ZWQgPSBmYWxzZTsKICAgaW50IGFyZ25vID0gZmlyc3RfY29tbXV0YXRpdmVf YXJndW1lbnQgKHJlc19vcC0+Y29kZSwgcmVzX29wLT50eXBlKTsKICAgaWYgKGFyZ25vID49IDAK LSAgICAgICYmIHRyZWVfc3dhcF9vcGVyYW5kc19wIChyZXNfb3AtPm9wc1thcmdub10sIHJlc19v cC0+b3BzW2FyZ25vICsgMV0pKQorICAgICAgLyogRklYTUU6IEZpbmQgdGhlIGNvcnJlY3QgdGhp cmQgdmFsdWUgdG8gc2V0IGZvcgorCSB0cmVlX3N3YXBfb3BlcmFuZHNfcCBoZXJlLiAqLworICAg ICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKHJlc19vcC0+b3BzW2FyZ25vXSwgcmVzX29wLT5v cHNbYXJnbm8gKyAxXSwgZmFsc2UpKQogICAgIHsKICAgICAgIHN0ZDo6c3dhcCAocmVzX29wLT5v cHNbYXJnbm9dLCByZXNfb3AtPm9wc1thcmdubyArIDFdKTsKICAgICAgIGNhbm9uaWNhbGl6ZWQg PSB0cnVlOwpAQCAtNDc5LDcgKzQ4Myw5IEBAIGdpbXBsZV9yZXNpbXBsaWZ5NSAoZ2ltcGxlX3Nl cSAqc2VxLCBnaW1wbGVfbWF0Y2hfb3AgKnJlc19vcCwKICAgYm9vbCBjYW5vbmljYWxpemVkID0g ZmFsc2U7CiAgIGludCBhcmdubyA9IGZpcnN0X2NvbW11dGF0aXZlX2FyZ3VtZW50IChyZXNfb3At PmNvZGUsIHJlc19vcC0+dHlwZSk7CiAgIGlmIChhcmdubyA+PSAwCi0gICAgICAmJiB0cmVlX3N3 YXBfb3BlcmFuZHNfcCAocmVzX29wLT5vcHNbYXJnbm9dLCByZXNfb3AtPm9wc1thcmdubyArIDFd KSkKKyAgICAgIC8qIEZJWE1FOiBGaW5kIHRoZSBjb3JyZWN0IHRoaXJkIHZhbHVlIHRvIHNldCBm b3IKKwkgdHJlZV9zd2FwX29wZXJhbmRzX3AgaGVyZS4gKi8KKyAgICAgICYmIHRyZWVfc3dhcF9v cGVyYW5kc19wIChyZXNfb3AtPm9wc1thcmdub10sIHJlc19vcC0+b3BzW2FyZ25vICsgMV0sIGZh bHNlKSkKICAgICB7CiAgICAgICBzdGQ6OnN3YXAgKHJlc19vcC0+b3BzW2FyZ25vXSwgcmVzX29w LT5vcHNbYXJnbm8gKyAxXSk7CiAgICAgICBjYW5vbmljYWxpemVkID0gdHJ1ZTsKQEAgLTczMiw3 ICs3MzgsNyBAQCBnaW1wbGVfc2ltcGxpZnkgKGVudW0gdHJlZV9jb2RlIGNvZGUsIHRyZWUgdHlw ZSwKICAgICAgZ2VuZXJhdGlvbi4gICovCiAgIGlmICgoY29tbXV0YXRpdmVfdHJlZV9jb2RlIChj b2RlKQogICAgICAgIHx8IFRSRUVfQ09ERV9DTEFTUyAoY29kZSkgPT0gdGNjX2NvbXBhcmlzb24p Ci0gICAgICAmJiB0cmVlX3N3YXBfb3BlcmFuZHNfcCAob3AwLCBvcDEpKQorICAgICAgJiYgdHJl ZV9zd2FwX29wZXJhbmRzX3AgKG9wMCwgb3AxLCBmYWxzZSkpCiAgICAgewogICAgICAgc3RkOjpz d2FwIChvcDAsIG9wMSk7CiAgICAgICBpZiAoVFJFRV9DT0RFX0NMQVNTIChjb2RlKSA9PSB0Y2Nf Y29tcGFyaXNvbikKQEAgLTc2NCw3ICs3NzAsNyBAQCBnaW1wbGVfc2ltcGxpZnkgKGVudW0gdHJl ZV9jb2RlIGNvZGUsIHRyZWUgdHlwZSwKICAgLyogQ2Fub25pY2FsaXplIG9wZXJhbmQgb3JkZXIg Ym90aCBmb3IgbWF0Y2hpbmcgYW5kIGZhbGxiYWNrIHN0bXQKICAgICAgZ2VuZXJhdGlvbi4gICov CiAgIGlmIChjb21tdXRhdGl2ZV90ZXJuYXJ5X3RyZWVfY29kZSAoY29kZSkKLSAgICAgICYmIHRy ZWVfc3dhcF9vcGVyYW5kc19wIChvcDAsIG9wMSkpCisgICAgICAmJiB0cmVlX3N3YXBfb3BlcmFu ZHNfcCAob3AwLCBvcDEsIGZhbHNlKSkKICAgICBzdGQ6OnN3YXAgKG9wMCwgb3AxKTsKIAogICBn aW1wbGVfbWF0Y2hfb3AgcmVzX29wOwpkaWZmIC0tZ2l0IGEvZ2NjL21hdGNoLnBkIGIvZ2NjL21h dGNoLnBkCmluZGV4IGE0ZDEzODZmZDlmLi4zNjdjZDZkOGNhNiAxMDA2NDQKLS0tIGEvZ2NjL21h dGNoLnBkCisrKyBiL2djYy9tYXRjaC5wZApAQCAtNzg3MCw3ICs3ODcwLDcgQEAgYW5kLAogICAg ICAgLyogU2luY2UgdGhlIG9yZGVyIG9mIEAwIGFuZCBAMiBkb2Vzbid0IG1hdHRlciwgbGV0IHRy ZWVfc3dhcF9vcGVyYW5kc19wCiAJIHBpY2sgYSBjYW5vbmljYWwgb3JkZXIuICBUaGlzIGluY3Jl YXNlcyB0aGUgY2hhbmNlcyBvZiB1c2luZyB0aGUKIAkgc2FtZSBwb2ludGVyX3BsdXMgaW4gbXVs dGlwbGUgY2hlY2tzLiAgKi8KLSAgICAgICh3aXRoIHsgYm9vbCBzd2FwX3AgPSB0cmVlX3N3YXBf b3BlcmFuZHNfcCAoQDAsIEAyKTsKKyAgICAgICh3aXRoIHsgYm9vbCBzd2FwX3AgPSB0cmVlX3N3 YXBfb3BlcmFuZHNfcCAoQDAsIEAyLCBmYWxzZSk7CiAJICAgICAgdHJlZSByaHNfdHJlZSA9IHdp ZGVfaW50X3RvX3RyZWUgKHNpemV0eXBlLCByaHMpOyB9CiAgICAgICAgKGlmIChjbXAgPT0gTFRf RVhQUikKIAkoZ3QgKGNvbnZlcnQ6c2l6ZXR5cGUKZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1k b20uY2MgYi9nY2MvdHJlZS1zc2EtZG9tLmNjCmluZGV4IGM3ZjA5NWQ3OWZjLi5lZGNhYTcxZTEy ZSAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLWRvbS5jYworKysgYi9nY2MvdHJlZS1zc2EtZG9t LmNjCkBAIC0xNDQ5LDcgKzE0NDksNyBAQCByZWNvcmRfZXF1YWxpdHkgKHRyZWUgeCwgdHJlZSB5 LCBjbGFzcyBjb25zdF9hbmRfY29waWVzICpjb25zdF9hbmRfY29waWVzKQogewogICB0cmVlIHBy ZXZfeCA9IE5VTEwsIHByZXZfeSA9IE5VTEw7CiAKLSAgaWYgKHRyZWVfc3dhcF9vcGVyYW5kc19w ICh4LCB5KSkKKyAgaWYgKHRyZWVfc3dhcF9vcGVyYW5kc19wICh4LCB5LCBmYWxzZSkpCiAgICAg c3RkOjpzd2FwICh4LCB5KTsKIAogICAvKiBNb3N0IG9mIHRoZSB0aW1lIHRyZWVfc3dhcF9vcGVy YW5kc19wIGRvZXMgd2hhdCB3ZSB3YW50LiAgQnV0IHRoZXJlCmRpZmYgLS1naXQgYS9nY2MvdHJl ZS1zc2EtcmVhc3NvYy5jYyBiL2djYy90cmVlLXNzYS1yZWFzc29jLmNjCmluZGV4IGIzOWMzYzg4 MmM0Li5kNTBiZWNlMWQzOCAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLXJlYXNzb2MuY2MKKysr IGIvZ2NjL3RyZWUtc3NhLXJlYXNzb2MuY2MKQEAgLTM5ODcsNyArMzk4Nyw3IEBAIG9wdGltaXpl X3JhbmdlX3Rlc3RzX3Zhcl9ib3VuZCAoZW51bSB0cmVlX2NvZGUgb3Bjb2RlLCBpbnQgZmlyc3Qs IGludCBsZW5ndGgsCiAJICByaHMyID0gZ2ltcGxlX2Fzc2lnbl9saHMgKGcpOwogCSAgZ3NpX2lu c2VydF9iZWZvcmUgKCZnc2ksIGcsIEdTSV9TQU1FX1NUTVQpOwogCX0KLSAgICAgIGlmICh0cmVl X3N3YXBfb3BlcmFuZHNfcCAocmhzMSwgcmhzMikpCisgICAgICBpZiAodHJlZV9zd2FwX29wZXJh bmRzX3AgKHJoczEsIHJoczIsIGZhbHNlKSkKIAl7CiAJICBzdGQ6OnN3YXAgKHJoczEsIHJoczIp OwogCSAgY2NvZGUgPSBzd2FwX3RyZWVfY29tcGFyaXNvbiAoY2NvZGUpOwpkaWZmIC0tZ2l0IGEv Z2NjL3RyZWUtc3NhLXNjY3ZuLmNjIGIvZ2NjL3RyZWUtc3NhLXNjY3ZuLmNjCmluZGV4IDM3NDg0 NDAzYzU2Li40Nzg3MmRiN2JjZCAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLXNjY3ZuLmNjCisr KyBiL2djYy90cmVlLXNzYS1zY2N2bi5jYwpAQCAtNDE0NiwxMCArNDE0NiwxMCBAQCB2bl9uYXJ5 X29wX2NvbXB1dGVfaGFzaCAoY29uc3Qgdm5fbmFyeV9vcF90IHZubzEpCiAJJiYgY29tbXV0YXRp dmVfdHJlZV9jb2RlICh2bm8xLT5vcGNvZGUpKQogICAgICAgIHx8ICh2bm8xLT5sZW5ndGggPT0g MwogCSAgICYmIGNvbW11dGF0aXZlX3Rlcm5hcnlfdHJlZV9jb2RlICh2bm8xLT5vcGNvZGUpKSkK LSAgICAgICYmIHRyZWVfc3dhcF9vcGVyYW5kc19wICh2bm8xLT5vcFswXSwgdm5vMS0+b3BbMV0p KQorICAgICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKHZubzEtPm9wWzBdLCB2bm8xLT5vcFsx XSwgZmFsc2UpKQogICAgIHN0ZDo6c3dhcCAodm5vMS0+b3BbMF0sIHZubzEtPm9wWzFdKTsKICAg ZWxzZSBpZiAoVFJFRV9DT0RFX0NMQVNTICh2bm8xLT5vcGNvZGUpID09IHRjY19jb21wYXJpc29u Ci0JICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKHZubzEtPm9wWzBdLCB2bm8xLT5vcFsxXSkp CisJICAgJiYgdHJlZV9zd2FwX29wZXJhbmRzX3AgKHZubzEtPm9wWzBdLCB2bm8xLT5vcFsxXSwg ZmFsc2UpKQogICAgIHsKICAgICAgIHN0ZDo6c3dhcCAodm5vMS0+b3BbMF0sIHZubzEtPm9wWzFd KTsKICAgICAgIHZubzEtPm9wY29kZSA9IHN3YXBfdHJlZV9jb21wYXJpc29uICAodm5vMS0+b3Bj b2RlKTsKZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS10aHJlYWRlZGdlLmNjIGIvZ2NjL3RyZWUt c3NhLXRocmVhZGVkZ2UuY2MKaW5kZXggOTA1YTk4YzhjNjguLjBjYWVmOTRhNjJiIDEwMDY0NAot LS0gYS9nY2MvdHJlZS1zc2EtdGhyZWFkZWRnZS5jYworKysgYi9nY2MvdHJlZS1zc2EtdGhyZWFk ZWRnZS5jYwpAQCAtNDkwLDcgKzQ5MCw3IEBAIGp1bXBfdGhyZWFkZXI6OnNpbXBsaWZ5X2NvbnRy b2xfc3RtdF9jb25kaXRpb25fMQogICAgICBleGFtcGxlLCBvcDAgbWlnaHQgYmUgYSBjb25zdGFu dCB3aGlsZSBvcDEgaXMgYW4KICAgICAgU1NBX05BTUUuICBGYWlsdXJlIHRvIGNhbm9uaWNhbGl6 ZSB3aWxsIGNhdXNlIHVzIHRvCiAgICAgIG1pc3MgdGhyZWFkaW5nIG9wcG9ydHVuaXRpZXMuICAq LwotICBpZiAodHJlZV9zd2FwX29wZXJhbmRzX3AgKG9wMCwgb3AxKSkKKyAgaWYgKHRyZWVfc3dh cF9vcGVyYW5kc19wIChvcDAsIG9wMSwgZmFsc2UpKQogICAgIHsKICAgICAgIGNvbmRfY29kZSA9 IHN3YXBfdHJlZV9jb21wYXJpc29uIChjb25kX2NvZGUpOwogICAgICAgc3RkOjpzd2FwIChvcDAs IG9wMSk7Ci0tIAoyLjM4LjEKCg== --0000000000002a9dc505ee477adb--