From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49597 invoked by alias); 28 Jun 2017 19:39:15 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 49569 invoked by uid 89); 28 Jun 2017 19:39:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-23.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.2 spammy=U*jason X-HELO: mail-it0-f41.google.com Received: from mail-it0-f41.google.com (HELO mail-it0-f41.google.com) (209.85.214.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Jun 2017 19:39:11 +0000 Received: by mail-it0-f41.google.com with SMTP id m68so35222973ith.1 for ; Wed, 28 Jun 2017 12:39:11 -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=CHl2lceYcOyO98iW1yKniM+P/xsQvpRhLvLVGD1B42c=; b=LRPnLIqMPed3RCVL0Z28pQrXGte2kpyq79/rptjwipXQq0Pm/FGAsJU1Rb27NMXiqd KAOYxzgmf0jZVvjoNzVwHJZIDtghNZ8HviVfJgzNQOQfa8GJl2EtY0Pt3iNk+k82MICP iQkO2LM/DfvkUwD44dFQH/ZtgbdW7284/HfsGMDIt39/cMuJmu6q8y1zOLzvMKsIMKw4 c33XNjk74QphPIvBs/I2ec+O6UtomtFsXGdEmfYx2yWdMHwRJot2peNVjDS8ovatss/A NwL2FOWsvBJZjqxgwEUl07gXDXWiBhooUHhwxQbJdSKMtp8Uto8NdApgzimkyKnp3PJ4 Pd8A== X-Gm-Message-State: AKS2vOyT0S+5TA4Nx7QjTTjg5XRacf+/gvjFHqBwEgtqiWwecYhA2Y55 OVGhJ0Z9D0EN/y69FxvQzjuR0zD51LyRe1A= X-Received: by 10.36.127.208 with SMTP id r199mr10096380itc.110.1498678749475; Wed, 28 Jun 2017 12:39:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.11.105 with HTTP; Wed, 28 Jun 2017 12:38:48 -0700 (PDT) From: Jason Merrill Date: Wed, 28 Jun 2017 19:39:00 -0000 Message-ID: Subject: C++ PATCHes to dependent template-id parsing To: gcc-patches List Content-Type: multipart/mixed; boundary="001a114583b27f79a505530a56e7" X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg02202.txt.bz2 --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="UTF-8" Content-length: 1114 81204 is a regression whereby previously we would accidentally get the parsing of res.template set right because when we did the lookup in the surrounding context, we found the function template and then ignored it. This patch partially reverts the handling of .template to how it was in GCC 6. But this bug is really a special case of 54769; we should be treating that name as dependent and not doing a lookup in the enclosing context at all. As I noted in discussion of 55576, we need to pass template_keyword_p into nested_name_specifier_opt. So this patch does that, and also adjusts cp_parser_template_name to consider object scope. With that change, we see TEMPLATE_ID_EXPR in more error cases, so I adjusted cp_parser_template_id to use the range on those expression nodes as well as on the replacement token. 45976 and 55639 are cases where we gave unhelpful diagnostics for uses of ::template that are pedantically ill-formed, but harmless and accepted by other compilers. So these patches fix G++ to accept them with a pedwarn. Tested x86_64-pc-linux-gnu, applying to trunk. 81204 also to 7. --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="US-ASCII"; name="81204.diff" Content-Disposition: attachment; filename="81204.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4helnz90 Content-length: 2632 Y29tbWl0IDBhOWQ2YTllMTc2YWNiYTNhODc1M2NhYTJiZDhiMTRkNmJjNjIy ZmIKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIE1vbiBKdW4gMjYgMTY6MjQ6MjggMjAxNyAtMDQwMAoKICAgICAg ICAgICAgUFIgYysrLzgxMjA0IC0gcGFyc2UgZXJyb3Igd2l0aCBkZXBlbmRl bnQgdGVtcGxhdGUtbmFtZQogICAgCiAgICAgICAgICAgICogcGFyc2VyLmMg KGNwX3BhcnNlcl9sb29rdXBfbmFtZSk6IERpc3F1YWxpZnkgZnVuY3Rpb24g dGVtcGxhdGVzCiAgICAgICAgICAgIGFmdGVyIGxvb2t1cC4KCmRpZmYgLS1n aXQgYS9nY2MvY3AvcGFyc2VyLmMgYi9nY2MvY3AvcGFyc2VyLmMKaW5kZXgg MmZmNmFmZC4uZTBhNmM4YiAxMDA2NDQKLS0tIGEvZ2NjL2NwL3BhcnNlci5j CisrKyBiL2djYy9jcC9wYXJzZXIuYwpAQCAtMjU4MTMsMTEgKzI1ODEzLDIy IEBAIGNwX3BhcnNlcl9sb29rdXBfbmFtZSAoY3BfcGFyc2VyICpwYXJzZXIs IHRyZWUgbmFtZSwKIAlkZWNsID0gTlVMTF9UUkVFOwogCiAgICAgICBpZiAo IWRlY2wpCi0JLyogTG9vayBpdCB1cCBpbiB0aGUgZW5jbG9zaW5nIGNvbnRl eHQuICBEUiAxNDE6IFdoZW4gbG9va2luZyBmb3IgYQotCSAgIHRlbXBsYXRl LW5hbWUgYWZ0ZXIgLT4gb3IgLiwgb25seSBjb25zaWRlciBjbGFzcyB0ZW1w bGF0ZXMuICAqLwotCWRlY2wgPSBsb29rdXBfbmFtZV9yZWFsIChuYW1lLCBw cmVmZXJfdHlwZV9hcmcgKHRhZ190eXBlLCBpc190ZW1wbGF0ZSksCi0JCQkJ IC8qbm9uY2xhc3M9Ki8wLAotCQkJCSAvKmJsb2NrX3A9Ki90cnVlLCBpc19u YW1lc3BhY2UsIDApOworCXsKKwkgIC8qIExvb2sgaXQgdXAgaW4gdGhlIGVu Y2xvc2luZyBjb250ZXh0LiAgKi8KKwkgIGRlY2wgPSBsb29rdXBfbmFtZV9y ZWFsIChuYW1lLCBwcmVmZXJfdHlwZV9hcmcgKHRhZ190eXBlKSwKKwkJCQkg ICAvKm5vbmNsYXNzPSovMCwKKwkJCQkgICAvKmJsb2NrX3A9Ki90cnVlLCBp c19uYW1lc3BhY2UsIDApOworCSAgLyogRFIgMTQxIHNheXMgd2hlbiBsb29r aW5nIGZvciBhIHRlbXBsYXRlLW5hbWUgYWZ0ZXIgLT4gb3IgLiwgb25seQor CSAgICAgY29uc2lkZXIgY2xhc3MgdGVtcGxhdGVzLiAgKi8KKwkgIGlmIChk ZWNsICYmIGlzX3RlbXBsYXRlICYmICFERUNMX1RZUEVfVEVNUExBVEVfUCAo ZGVjbCkpCisJICAgIHsKKwkgICAgICB0cmVlIGQgPSBkZWNsOworCSAgICAg IGlmIChpc19vdmVybG9hZGVkX2ZuIChkKSkKKwkJZCA9IGdldF9maXJzdF9m biAoZCk7CisJICAgICAgaWYgKERFQ0xfUCAoZCkgJiYgIURFQ0xfQ0xBU1Nf U0NPUEVfUCAoZCkpCisJCWRlY2wgPSBOVUxMX1RSRUU7CisJICAgIH0KKwl9 CiAgICAgICBpZiAob2JqZWN0X3R5cGUgPT0gdW5rbm93bl90eXBlX25vZGUp CiAJLyogVGhlIG9iamVjdCBpcyB0eXBlLWRlcGVuZGVudCwgc28gd2UgY2Fu J3QgbG9vayBhbnl0aGluZyB1cDsgd2UgdXNlZAogCSAgIHRoaXMgdG8gZ2V0 IHRoZSBEUiAxNDEgYmVoYXZpb3IuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvdGVtcGxhdGUvbG9va3VwMTAuQyBiL2djYy90ZXN0 c3VpdGUvZysrLmRnL3RlbXBsYXRlL2xvb2t1cDEwLkMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE5MGFmNAotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL3RlbXBsYXRlL2xvb2t1cDEw LkMKQEAgLTAsMCArMSwxMiBAQAorLy8gUFIgYysrLzgxMjA0CisKK25hbWVz cGFjZSBzdGQgeworICB0ZW1wbGF0ZTx0eXBlbmFtZSwgdHlwZW5hbWU+IHN0 cnVjdCBzZXQgeyB9OworfQordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwordGVt cGxhdGUgPGludCBJLCB0eXBlbmFtZSBSZXN1bHQ+CitpbmxpbmUgdm9pZCBz ZXQoUmVzdWx0ICYgcmVzKQoreworICAgIHJlcy50ZW1wbGF0ZSBzZXQ8ST4o KTsKK30K --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="US-ASCII"; name="54769.diff" Content-Disposition: attachment; filename="54769.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4helrp61 Content-length: 7691 Y29tbWl0IGJiMGM4MWFlY2Y3YWM5NTZlNzcwZTRlYjZlY2EwMmY0ZmU2ZmQ2 ODYKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIE1vbiBKdW4gMjYgMTY6NTI6NTcgMjAxNyAtMDQwMAoKICAgICAg ICAgICAgUFIgYysrLzU0NzY5IC0gd3JvbmcgbG9va3VwIG9mIGRlcGVuZGVu dCB0ZW1wbGF0ZS1uYW1lLgogICAgCiAgICAgICAgICAgICogcGFyc2VyLmMg KGNwX3BhcnNlcl90ZW1wbGF0ZV9uYW1lKTogSGFuZGxlIGRlcGVuZGVudCBv YmplY3QgdHlwZS4KICAgICAgICAgICAgKGNwX3BhcnNlcl9uZXN0ZWRfbmFt ZV9zcGVjaWZpZXJfb3B0KTogTWFrZSB0ZW1wbGF0ZV9rZXl3b3JkX3AgYQog ICAgICAgICAgICBwYXJhbWV0ZXIuCiAgICAgICAgICAgIChjcF9wYXJzZXJf aWRfZXhwcmVzc2lvbik6IFBhc3MgaXQuCiAgICAgICAgICAgIChjcF9wYXJz ZXJfZGlhZ25vc2VfaW52YWxpZF90eXBlX25hbWUpOiBIYW5kbGUgVEVNUExB VEVfSURfRVhQUi4KCmRpZmYgLS1naXQgYS9nY2MvY3AvcGFyc2VyLmMgYi9n Y2MvY3AvcGFyc2VyLmMKaW5kZXggMjQ2YWY3Ni4uYzlmYzI4NCAxMDA2NDQK LS0tIGEvZ2NjL2NwL3BhcnNlci5jCisrKyBiL2djYy9jcC9wYXJzZXIuYwpA QCAtMjAzOSw3ICsyMDM5LDcgQEAgc3RhdGljIGNwX2V4cHIgY3BfcGFyc2Vy X2lkX2V4cHJlc3Npb24KIHN0YXRpYyBjcF9leHByIGNwX3BhcnNlcl91bnF1 YWxpZmllZF9pZAogICAoY3BfcGFyc2VyICosIGJvb2wsIGJvb2wsIGJvb2ws IGJvb2wpOwogc3RhdGljIHRyZWUgY3BfcGFyc2VyX25lc3RlZF9uYW1lX3Nw ZWNpZmllcl9vcHQKLSAgKGNwX3BhcnNlciAqLCBib29sLCBib29sLCBib29s LCBib29sKTsKKyAgKGNwX3BhcnNlciAqLCBib29sLCBib29sLCBib29sLCBi b29sLCBib29sID0gZmFsc2UpOwogc3RhdGljIHRyZWUgY3BfcGFyc2VyX25l c3RlZF9uYW1lX3NwZWNpZmllcgogICAoY3BfcGFyc2VyICosIGJvb2wsIGJv b2wsIGJvb2wsIGJvb2wpOwogc3RhdGljIHRyZWUgY3BfcGFyc2VyX3F1YWxp ZnlpbmdfZW50aXR5CkBAIC0zMjUzLDYgKzMyNTMsMTAgQEAgY3BfcGFyc2Vy X2RpYWdub3NlX2ludmFsaWRfdHlwZV9uYW1lIChjcF9wYXJzZXIgKnBhcnNl ciwgdHJlZSBpZCwKIAkgICAgZXJyb3JfYXQgKGxvY2F0aW9uX29mIChpZCks CiAJCSAgICAgICIlcUUgaW4gbmFtZXNwYWNlICVxRSBkb2VzIG5vdCBuYW1l IGEgdGVtcGxhdGUgdHlwZSIsCiAJCSAgICAgIGlkLCBwYXJzZXItPnNjb3Bl KTsKKwkgIGVsc2UgaWYgKFRSRUVfQ09ERSAoaWQpID09IFRFTVBMQVRFX0lE X0VYUFIpCisJICAgIGVycm9yX2F0IChsb2NhdGlvbl9vZiAoaWQpLAorCQkg ICAgICAiJXFFIGluIG5hbWVzcGFjZSAlcUUgZG9lcyBub3QgbmFtZSBhIHRl bXBsYXRlIHR5cGUiLAorCQkgICAgICBUUkVFX09QRVJBTkQgKGlkLCAwKSwg cGFyc2VyLT5zY29wZSk7CiAJICBlbHNlCiAJICAgIGVycm9yX2F0IChsb2Nh dGlvbl9vZiAoaWQpLAogCQkgICAgICAiJXFFIGluIG5hbWVzcGFjZSAlcUUg ZG9lcyBub3QgbmFtZSBhIHR5cGUiLApAQCAtMzI5Niw2ICszMzAwLDEwIEBA IGNwX3BhcnNlcl9kaWFnbm9zZV9pbnZhbGlkX3R5cGVfbmFtZSAoY3BfcGFy c2VyICpwYXJzZXIsIHRyZWUgaWQsCiAJICAgIGVycm9yX2F0IChsb2NhdGlv bl9vZiAoaWQpLAogCQkgICAgICAiJXFFIGluICVxI1QgZG9lcyBub3QgbmFt ZSBhIHRlbXBsYXRlIHR5cGUiLAogCQkgICAgICBpZCwgcGFyc2VyLT5zY29w ZSk7CisJICBlbHNlIGlmIChUUkVFX0NPREUgKGlkKSA9PSBURU1QTEFURV9J RF9FWFBSKQorCSAgICBlcnJvcl9hdCAobG9jYXRpb25fb2YgKGlkKSwKKwkJ ICAgICAgIiVxRSBpbiAlcSNUIGRvZXMgbm90IG5hbWUgYSB0ZW1wbGF0ZSB0 eXBlIiwKKwkJICAgICAgVFJFRV9PUEVSQU5EIChpZCwgMCksIHBhcnNlci0+ c2NvcGUpOwogCSAgZWxzZQogCSAgICBlcnJvcl9hdCAobG9jYXRpb25fb2Yg KGlkKSwKIAkJICAgICAgIiVxRSBpbiAlcSNUIGRvZXMgbm90IG5hbWUgYSB0 eXBlIiwKQEAgLTU0MjAsMTYgKzU0MjgsMjEgQEAgY3BfcGFyc2VyX2lkX2V4 cHJlc3Npb24gKGNwX3BhcnNlciAqcGFyc2VyLAogCiAgIC8qIExvb2sgZm9y IHRoZSBvcHRpb25hbCBgOjonIG9wZXJhdG9yLiAgKi8KICAgZ2xvYmFsX3Nj b3BlX3AKLSAgICA9IChjcF9wYXJzZXJfZ2xvYmFsX3Njb3BlX29wdCAocGFy c2VyLCAvKmN1cnJlbnRfc2NvcGVfdmFsaWRfcD0qL2ZhbHNlKQotICAgICAg ICE9IE5VTExfVFJFRSk7CisgICAgPSAoIXRlbXBsYXRlX2tleXdvcmRfcAor ICAgICAgICYmIChjcF9wYXJzZXJfZ2xvYmFsX3Njb3BlX29wdCAocGFyc2Vy LAorCQkJCSAgICAgICAvKmN1cnJlbnRfc2NvcGVfdmFsaWRfcD0qL2ZhbHNl KQorCSAgICE9IE5VTExfVFJFRSkpOworCiAgIC8qIExvb2sgZm9yIHRoZSBv cHRpb25hbCBuZXN0ZWQtbmFtZS1zcGVjaWZpZXIuICAqLwogICBuZXN0ZWRf bmFtZV9zcGVjaWZpZXJfcAogICAgID0gKGNwX3BhcnNlcl9uZXN0ZWRfbmFt ZV9zcGVjaWZpZXJfb3B0IChwYXJzZXIsCiAJCQkJCSAgICAvKnR5cGVuYW1l X2tleXdvcmRfcD0qL2ZhbHNlLAogCQkJCQkgICAgY2hlY2tfZGVwZW5kZW5j eV9wLAogCQkJCQkgICAgLyp0eXBlX3A9Ki9mYWxzZSwKLQkJCQkJICAgIGRl Y2xhcmF0b3JfcCkKKwkJCQkJICAgIGRlY2xhcmF0b3JfcCwKKwkJCQkJICAg IHRlbXBsYXRlX2tleXdvcmRfcCkKICAgICAgICAhPSBOVUxMX1RSRUUpOwor CiAgIC8qIElmIHRoZXJlIGlzIGEgbmVzdGVkLW5hbWUtc3BlY2lmaWVyLCB0 aGVuIHdlIGFyZSBsb29raW5nIGF0CiAgICAgIHRoZSBmaXJzdCBxdWFsaWZp ZWQtaWQgcHJvZHVjdGlvbi4gICovCiAgIGlmIChuZXN0ZWRfbmFtZV9zcGVj aWZpZXJfcCkKQEAgLTU4NzQsNyArNTg4Nyw4IEBAIGNwX3BhcnNlcl9uZXN0 ZWRfbmFtZV9zcGVjaWZpZXJfb3B0IChjcF9wYXJzZXIgKnBhcnNlciwKIAkJ CQkgICAgIGJvb2wgdHlwZW5hbWVfa2V5d29yZF9wLAogCQkJCSAgICAgYm9v bCBjaGVja19kZXBlbmRlbmN5X3AsCiAJCQkJICAgICBib29sIHR5cGVfcCwK LQkJCQkgICAgIGJvb2wgaXNfZGVjbGFyYXRpb24pCisJCQkJICAgICBib29s IGlzX2RlY2xhcmF0aW9uLAorCQkJCSAgICAgYm9vbCB0ZW1wbGF0ZV9rZXl3 b3JkX3AgLyogPSBmYWxzZSAqLykKIHsKICAgYm9vbCBzdWNjZXNzID0gZmFs c2U7CiAgIGNwX3Rva2VuX3Bvc2l0aW9uIHN0YXJ0ID0gMDsKQEAgLTU4OTIs NyArNTkwNiw2IEBAIGNwX3BhcnNlcl9uZXN0ZWRfbmFtZV9zcGVjaWZpZXJf b3B0IChjcF9wYXJzZXIgKnBhcnNlciwKICAgICAgIHRyZWUgbmV3X3Njb3Bl OwogICAgICAgdHJlZSBvbGRfc2NvcGU7CiAgICAgICB0cmVlIHNhdmVkX3F1 YWxpZnlpbmdfc2NvcGU7Ci0gICAgICBib29sIHRlbXBsYXRlX2tleXdvcmRf cDsKIAogICAgICAgLyogU3BvdCBjYXNlcyB0aGF0IGNhbm5vdCBiZSB0aGUg YmVnaW5uaW5nIG9mIGEKIAkgbmVzdGVkLW5hbWUtc3BlY2lmaWVyLiAgKi8K QEAgLTU5NjcsOCArNTk4MCw2IEBAIGNwX3BhcnNlcl9uZXN0ZWRfbmFtZV9z cGVjaWZpZXJfb3B0IChjcF9wYXJzZXIgKnBhcnNlciwKIAkgZmlyc3QgdGlt ZSB0aHJvdWdoIHRoZSBsb29wLiAgKi8KICAgICAgIGlmIChzdWNjZXNzKQog CXRlbXBsYXRlX2tleXdvcmRfcCA9IGNwX3BhcnNlcl9vcHRpb25hbF90ZW1w bGF0ZV9rZXl3b3JkIChwYXJzZXIpOwotICAgICAgZWxzZQotCXRlbXBsYXRl X2tleXdvcmRfcCA9IGZhbHNlOwogCiAgICAgICAvKiBTYXZlIHRoZSBvbGQg c2NvcGUgc2luY2UgdGhlIG5hbWUgbG9va3VwIHdlIGFyZSBhYm91dCB0byBk bwogCSBtaWdodCBkZXN0cm95IGl0LiAgKi8KQEAgLTE1ODYxLDE1ICsxNTg3 MiwxOSBAQCBjcF9wYXJzZXJfdGVtcGxhdGVfbmFtZSAoY3BfcGFyc2VyKiBw YXJzZXIsCiAJIG5vIHBvaW50IGluIGRvaW5nIG5hbWUtbG9va3VwLCBzbyB3 ZSBqdXN0IHJldHVybiBJREVOVElGSUVSLgogCSBCdXQsIGlmIHRoZSBxdWFs aWZ5aW5nIHNjb3BlIGlzIG5vbi1kZXBlbmRlbnQgdGhlbiB3ZSBjYW4KIAkg KGFuZCBtdXN0KSBkbyBuYW1lLWxvb2t1cCBub3JtYWxseS4gICovCi0gICAg ICBpZiAodGVtcGxhdGVfa2V5d29yZF9wCi0JICAmJiAoIXBhcnNlci0+c2Nv cGUKLQkgICAgICB8fCAoVFlQRV9QIChwYXJzZXItPnNjb3BlKQotCQkgICYm IGRlcGVuZGVudF90eXBlX3AgKHBhcnNlci0+c2NvcGUpKSkpCisgICAgICBp ZiAodGVtcGxhdGVfa2V5d29yZF9wKQogCXsKLQkgIC8qIFdlJ3JlIG9wdGlt aXppbmcgYXdheSB0aGUgY2FsbCB0byBjcF9wYXJzZXJfbG9va3VwX25hbWUs IGJ1dCB3ZQotCSAgICAgc3RpbGwgbmVlZCB0byBkbyB0aGlzLiAgKi8KLQkg IHBhcnNlci0+Y29udGV4dC0+b2JqZWN0X3R5cGUgPSBOVUxMX1RSRUU7Ci0J ICByZXR1cm4gaWRlbnRpZmllcjsKKwkgIHRyZWUgc2NvcGUgPSAocGFyc2Vy LT5zY29wZSA/IHBhcnNlci0+c2NvcGUKKwkJCTogcGFyc2VyLT5jb250ZXh0 LT5vYmplY3RfdHlwZSk7CisJICBpZiAoc2NvcGUgJiYgVFlQRV9QIChzY29w ZSkKKwkgICAgICAmJiAoIUNMQVNTX1RZUEVfUCAoc2NvcGUpCisJCSAgfHwg KGNoZWNrX2RlcGVuZGVuY3lfcCAmJiBkZXBlbmRlbnRfdHlwZV9wIChzY29w ZSkpKSkKKwkgICAgeworCSAgICAgIC8qIFdlJ3JlIG9wdGltaXppbmcgYXdh eSB0aGUgY2FsbCB0byBjcF9wYXJzZXJfbG9va3VwX25hbWUsIGJ1dAorCQkg d2Ugc3RpbGwgbmVlZCB0byBkbyB0aGlzLiAgKi8KKwkgICAgICBwYXJzZXIt PmNvbnRleHQtPm9iamVjdF90eXBlID0gTlVMTF9UUkVFOworCSAgICAgIHJl dHVybiBpZGVudGlmaWVyOworCSAgICB9CiAJfQogICAgIH0KIApAQCAtMTU4 ODIsNiArMTU4OTcsMTEgQEAgY3BfcGFyc2VyX3RlbXBsYXRlX25hbWUgKGNw X3BhcnNlciogcGFyc2VyLAogCQkJCS8qYW1iaWd1b3VzX2RlY2xzPSovTlVM TCwKIAkJCQl0b2tlbi0+bG9jYXRpb24pOwogCisgIC8qIElmIHRoZSBsb29r dXAgZmFpbGVkIGFuZCB3ZSBnb3QgdGhlICd0ZW1wbGF0ZScga2V5d29yZCwg YmVsaWV2ZSBpdC4gICovCisgIGlmIChkZWNsID09IGVycm9yX21hcmtfbm9k ZSAmJiB0ZW1wbGF0ZV9rZXl3b3JkX3AKKyAgICAgICYmIHByb2Nlc3Npbmdf dGVtcGxhdGVfZGVjbCkKKyAgICByZXR1cm4gaWRlbnRpZmllcjsKKwogICBk ZWNsID0gc3RyaXBfdXNpbmdfZGVjbCAoZGVjbCk7CiAKICAgLyogSWYgREVD TCBpcyBhIHRlbXBsYXRlLCB0aGVuIHRoZSBuYW1lIHdhcyBhIHRlbXBsYXRl LW5hbWUuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcv dGVtcGxhdGUvbG9va3VwMTEuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL3Rl bXBsYXRlL2xvb2t1cDExLkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMjAzNDYwZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZysrLmRnL3RlbXBsYXRlL2xvb2t1cDExLkMKQEAgLTAsMCArMSwx MSBAQAorLy8gUFIgYysrLzgxMDI2CisKK25hbWVzcGFjZSBzdGQgeworICB0 ZW1wbGF0ZTxjbGFzcz4gc3RydWN0IGV4dGVudDsKK30KK3VzaW5nIG5hbWVz cGFjZSBzdGQ7CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IFMgewor ICB2b2lkIGYoKSB7IFQoKS50ZW1wbGF0ZSBleHRlbnQ8NDI+KCk7IH0KK307 Cg== --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="US-ASCII"; name="tid-loc.diff" Content-Disposition: attachment; filename="tid-loc.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4heluki2 Content-length: 5214 Y29tbWl0IDJmNGUzYzZiZDBiZTMxMDA4Njc0YzhlNTZhOWM0MWRkYWNjMzky NGIKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFR1ZSBKdW4gMjcgMDI6MTk6MzMgMjAxNyAtMDQwMAoKICAgICAg ICAgICAgTWFrZSB0aGUgVEVNUExBVEVfSURfRVhQUiBsb2NhdGlvbiBhIHJh bmdlLgogICAgCiAgICAgICAgICAgICogcGFyc2VyLmMgKGNwX3BhcnNlcl90 ZW1wbGF0ZV9pZCk6IFVzZSB0aGUgcmFuZ2UgbG9jYXRpb24gb24gdGhlCiAg ICAgICAgICAgIFRFTVBMQVRFX0lEX0VYUFIuCgpkaWZmIC0tZ2l0IGEvZ2Nj L2NwL3BhcnNlci5jIGIvZ2NjL2NwL3BhcnNlci5jCmluZGV4IGUwYTZjOGIu LjI0NmFmNzYgMTAwNjQ0Ci0tLSBhL2djYy9jcC9wYXJzZXIuYworKysgYi9n Y2MvY3AvcGFyc2VyLmMKQEAgLTE1NTIyLDE3ICsxNTUyMiwxNyBAQCBjcF9w YXJzZXJfdGVtcGxhdGVfaWQgKGNwX3BhcnNlciAqcGFyc2VyLAogCiAgIC8q IElmIHRoZSBuZXh0IHRva2VuIGNvcnJlc3BvbmRzIHRvIGEgdGVtcGxhdGUt aWQsIHRoZXJlIGlzIG5vIG5lZWQKICAgICAgdG8gcmVwYXJzZSBpdC4gICov Ci0gIG5leHRfdG9rZW4gPSBjcF9sZXhlcl9wZWVrX3Rva2VuIChwYXJzZXIt PmxleGVyKTsKLSAgaWYgKG5leHRfdG9rZW4tPnR5cGUgPT0gQ1BQX1RFTVBM QVRFX0lEKQorICBjcF90b2tlbiAqdG9rZW4gPSBjcF9sZXhlcl9wZWVrX3Rv a2VuIChwYXJzZXItPmxleGVyKTsKKyAgaWYgKHRva2VuLT50eXBlID09IENQ UF9URU1QTEFURV9JRCkKICAgICB7CiAgICAgICBjcF9sZXhlcl9jb25zdW1l X3Rva2VuIChwYXJzZXItPmxleGVyKTsKLSAgICAgIHJldHVybiBzYXZlZF9j aGVja3NfdmFsdWUgKG5leHRfdG9rZW4tPnUudHJlZV9jaGVja192YWx1ZSk7 CisgICAgICByZXR1cm4gc2F2ZWRfY2hlY2tzX3ZhbHVlICh0b2tlbi0+dS50 cmVlX2NoZWNrX3ZhbHVlKTsKICAgICB9CiAKICAgLyogQXZvaWQgcGVyZm9y bWluZyBuYW1lIGxvb2t1cCBpZiB0aGVyZSBpcyBubyBwb3NzaWJpbGl0eSBv ZgogICAgICBmaW5kaW5nIGEgdGVtcGxhdGUtaWQuICAqLwotICBpZiAoKG5l eHRfdG9rZW4tPnR5cGUgIT0gQ1BQX05BTUUgJiYgbmV4dF90b2tlbi0+a2V5 d29yZCAhPSBSSURfT1BFUkFUT1IpCi0gICAgICB8fCAobmV4dF90b2tlbi0+ dHlwZSA9PSBDUFBfTkFNRQorICBpZiAoKHRva2VuLT50eXBlICE9IENQUF9O QU1FICYmIHRva2VuLT5rZXl3b3JkICE9IFJJRF9PUEVSQVRPUikKKyAgICAg IHx8ICh0b2tlbi0+dHlwZSA9PSBDUFBfTkFNRQogCSAgJiYgIWNwX3BhcnNl cl9udGhfdG9rZW5fc3RhcnRzX3RlbXBsYXRlX2FyZ3VtZW50X2xpc3RfcAog CSAgICAgICAocGFyc2VyLCAyKSkpCiAgICAgewpAQCAtMTU2MjMsOSArMTU2 MjMsMTkgQEAgY3BfcGFyc2VyX3RlbXBsYXRlX2lkIChjcF9wYXJzZXIgKnBh cnNlciwKICAgICAgIGFyZ3VtZW50cyA9IGNwX3BhcnNlcl9lbmNsb3NlZF90 ZW1wbGF0ZV9hcmd1bWVudF9saXN0IChwYXJzZXIpOwogICAgIH0KIAorICAv KiBTZXQgdGhlIGxvY2F0aW9uIHRvIGJlIG9mIHRoZSBmb3JtOgorICAgICB0 ZW1wbGF0ZS1uYW1lIDwgdGVtcGxhdGUtYXJndW1lbnQtbGlzdCBbb3B0XSA+ CisgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KKyAgICAgd2l0aCBjYXJldCA9PSBzdGFydCBhdCB0aGUgc3Rh cnQgb2YgdGhlIHRlbXBsYXRlLW5hbWUsCisgICAgIHJhbmdpbmcgdW50aWwg dGhlIGNsb3NpbmcgJz4nLiAgKi8KKyAgbG9jYXRpb25fdCBmaW5pc2hfbG9j CisgICAgPSBnZXRfZmluaXNoIChjcF9sZXhlcl9wcmV2aW91c190b2tlbiAo cGFyc2VyLT5sZXhlciktPmxvY2F0aW9uKTsKKyAgbG9jYXRpb25fdCBjb21i aW5lZF9sb2MKKyAgICA9IG1ha2VfbG9jYXRpb24gKHRva2VuLT5sb2NhdGlv biwgdG9rZW4tPmxvY2F0aW9uLCBmaW5pc2hfbG9jKTsKKwogICAvKiBCdWls ZCBhIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzcGVjaWFsaXphdGlvbi4gICov CiAgIGlmIChpZGVudGlmaWVyX3AgKHRlbXBsKSkKLSAgICB0ZW1wbGF0ZV9p ZCA9IGJ1aWxkX21pbl9udF9sb2MgKG5leHRfdG9rZW4tPmxvY2F0aW9uLAor ICAgIHRlbXBsYXRlX2lkID0gYnVpbGRfbWluX250X2xvYyAoY29tYmluZWRf bG9jLAogCQkJCSAgICBURU1QTEFURV9JRF9FWFBSLAogCQkJCSAgICB0ZW1w bCwgYXJndW1lbnRzKTsKICAgZWxzZSBpZiAoREVDTF9UWVBFX1RFTVBMQVRF X1AgKHRlbXBsKQpAQCAtMTU2NTIsNyArMTU2NjIsNyBAQCBjcF9wYXJzZXJf dGVtcGxhdGVfaWQgKGNwX3BhcnNlciAqcGFyc2VyLAogICAgIHsKICAgICAg IHRlbXBsYXRlX2lkID0gbG9va3VwX3RlbXBsYXRlX3ZhcmlhYmxlICh0ZW1w bCwgYXJndW1lbnRzKTsKICAgICAgIGlmIChUUkVFX0NPREUgKHRlbXBsYXRl X2lkKSA9PSBURU1QTEFURV9JRF9FWFBSKQotCVNFVF9FWFBSX0xPQ0FUSU9O ICh0ZW1wbGF0ZV9pZCwgbmV4dF90b2tlbi0+bG9jYXRpb24pOworCVNFVF9F WFBSX0xPQ0FUSU9OICh0ZW1wbGF0ZV9pZCwgY29tYmluZWRfbG9jKTsKICAg ICB9CiAgIGVsc2UKICAgICB7CkBAIC0xNTY2NCw3ICsxNTY3NCw3IEBAIGNw X3BhcnNlcl90ZW1wbGF0ZV9pZCAoY3BfcGFyc2VyICpwYXJzZXIsCiAKICAg ICAgIHRlbXBsYXRlX2lkID0gbG9va3VwX3RlbXBsYXRlX2Z1bmN0aW9uICh0 ZW1wbCwgYXJndW1lbnRzKTsKICAgICAgIGlmIChUUkVFX0NPREUgKHRlbXBs YXRlX2lkKSA9PSBURU1QTEFURV9JRF9FWFBSKQotCVNFVF9FWFBSX0xPQ0FU SU9OICh0ZW1wbGF0ZV9pZCwgbmV4dF90b2tlbi0+bG9jYXRpb24pOworCVNF VF9FWFBSX0xPQ0FUSU9OICh0ZW1wbGF0ZV9pZCwgY29tYmluZWRfbG9jKTsK ICAgICB9CiAKICAgLyogSWYgcGFyc2luZyB0ZW50YXRpdmVseSwgcmVwbGFj ZSB0aGUgc2VxdWVuY2Ugb2YgdG9rZW5zIHRoYXQgbWFrZXMKQEAgLTE1Njgw LDIwICsxNTY5MCw4IEBAIGNwX3BhcnNlcl90ZW1wbGF0ZV9pZCAoY3BfcGFy c2VyICpwYXJzZXIsCiAJICAgJiYgY3BfcGFyc2VyX3BhcnNpbmdfdGVudGF0 aXZlbHkgKHBhcnNlcikKIAkgICAmJiBwYXJzZXItPmluX2RlY2xhcmF0b3Jf cCkpCiAgICAgewotICAgICAgY3BfdG9rZW4gKnRva2VuID0gY3BfbGV4ZXJf dG9rZW5fYXQgKHBhcnNlci0+bGV4ZXIsIHN0YXJ0X29mX2lkKTsKLQogICAg ICAgLyogUmVzZXQgdGhlIGNvbnRlbnRzIG9mIHRoZSBTVEFSVF9PRl9JRCB0 b2tlbi4gICovCiAgICAgICB0b2tlbi0+dHlwZSA9IENQUF9URU1QTEFURV9J RDsKLQotICAgICAgLyogVXBkYXRlIHRoZSBsb2NhdGlvbiB0byBiZSBvZiB0 aGUgZm9ybToKLQkgICB0ZW1wbGF0ZS1uYW1lIDwgdGVtcGxhdGUtYXJndW1l bnQtbGlzdCBbb3B0XSA+Ci0JICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCSB3aXRoIGNhcmV0ID09IHN0YXJ0 IGF0IHRoZSBzdGFydCBvZiB0aGUgdGVtcGxhdGUtbmFtZSwKLQkgcmFuZ2lu ZyB1bnRpbCB0aGUgY2xvc2luZyAnPicuICAqLwotICAgICAgbG9jYXRpb25f dCBmaW5pc2hfbG9jCi0JPSBnZXRfZmluaXNoIChjcF9sZXhlcl9wcmV2aW91 c190b2tlbiAocGFyc2VyLT5sZXhlciktPmxvY2F0aW9uKTsKLSAgICAgIGxv Y2F0aW9uX3QgY29tYmluZWRfbG9jCi0JPSBtYWtlX2xvY2F0aW9uICh0b2tl bi0+bG9jYXRpb24sIHRva2VuLT5sb2NhdGlvbiwgZmluaXNoX2xvYyk7CiAg ICAgICB0b2tlbi0+bG9jYXRpb24gPSBjb21iaW5lZF9sb2M7CiAKICAgICAg IC8qIFdlIG11c3QgbWFyayB0aGUgbG9va3VwIGFzIGtlcHQsIHNvIHdlIGRv bid0IHRocm93IGl0IGF3YXkgb24K --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="US-ASCII"; name="45976.diff" Content-Disposition: attachment; filename="45976.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4hem1613 Content-length: 3795 Y29tbWl0IDg5MzhlYzU3M2Y4NGVkMDEzZmM5ZjQ3MjFmMTdlNzNhMGJmYzgy ZTEKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFR1ZSBKdW4gMjcgMTQ6MDU6MTYgMjAxNyAtMDQwMAoKICAgICAg ICAgICAgUFIgYysrLzQ1OTc2IC0gZXJyb3Igd2l0aCA6OnRlbXBsYXRlIGlu IGRlY2xhcmF0b3IuCiAgICAKICAgICAgICAgICAgKiBwdC5jIChyZXNvbHZl X3R5cGVuYW1lX3R5cGUpOiBGaXggVEVNUExBVEVfSURfRVhQUiBoYW5kbGlu Zy4KCmRpZmYgLS1naXQgYS9nY2MvY3AvcHQuYyBiL2djYy9jcC9wdC5jCmlu ZGV4IDk1N2QyMjkuLmIwNjBhMTkgMTAwNjQ0Ci0tLSBhL2djYy9jcC9wdC5j CisrKyBiL2djYy9jcC9wdC5jCkBAIC0yNDYyNCwyNiArMjQ2MjQsMzggQEAg cmVzb2x2ZV90eXBlbmFtZV90eXBlICh0cmVlIHR5cGUsIGJvb2wgb25seV9j dXJyZW50X3ApCiAgIAogICAvKiBGb3IgYSBUWVBFTkFNRV9UWVBFIGxpa2Ug InR5cGVuYW1lIFg6OnRlbXBsYXRlIFk8VD4iLCB3ZSB3YW50IHRvCiAgICAg IGZpbmQgYSBURU1QTEFURV9ERUNMLiAgT3RoZXJ3aXNlLCB3ZSB3YW50IHRv IGZpbmQgYSBUWVBFX0RFQ0wuICAqLworICB0cmVlIGZ1bGxuYW1lID0gVFlQ RU5BTUVfVFlQRV9GVUxMTkFNRSAodHlwZSk7CiAgIGlmICghZGVjbCkKICAg ICAvKm5vcCovOwotICBlbHNlIGlmIChpZGVudGlmaWVyX3AgKFRZUEVOQU1F X1RZUEVfRlVMTE5BTUUgKHR5cGUpKQorICBlbHNlIGlmIChpZGVudGlmaWVy X3AgKGZ1bGxuYW1lKQogCSAgICYmIFRSRUVfQ09ERSAoZGVjbCkgPT0gVFlQ RV9ERUNMKQogICAgIHsKICAgICAgIHJlc3VsdCA9IFRSRUVfVFlQRSAoZGVj bCk7CiAgICAgICBpZiAocmVzdWx0ID09IGVycm9yX21hcmtfbm9kZSkKIAly ZXN1bHQgPSBOVUxMX1RSRUU7CiAgICAgfQotICBlbHNlIGlmIChUUkVFX0NP REUgKFRZUEVOQU1FX1RZUEVfRlVMTE5BTUUgKHR5cGUpKSA9PSBURU1QTEFU RV9JRF9FWFBSCisgIGVsc2UgaWYgKFRSRUVfQ09ERSAoZnVsbG5hbWUpID09 IFRFTVBMQVRFX0lEX0VYUFIKIAkgICAmJiBERUNMX0NMQVNTX1RFTVBMQVRF X1AgKGRlY2wpKQogICAgIHsKLSAgICAgIHRyZWUgdG1wbDsKLSAgICAgIHRy ZWUgYXJnczsKICAgICAgIC8qIE9idGFpbiB0aGUgdGVtcGxhdGUgYW5kIHRo ZSBhcmd1bWVudHMuICAqLwotICAgICAgdG1wbCA9IFRSRUVfT1BFUkFORCAo VFlQRU5BTUVfVFlQRV9GVUxMTkFNRSAodHlwZSksIDApOwotICAgICAgYXJn cyA9IFRSRUVfT1BFUkFORCAoVFlQRU5BTUVfVFlQRV9GVUxMTkFNRSAodHlw ZSksIDEpOworICAgICAgdHJlZSB0bXBsID0gVFJFRV9PUEVSQU5EIChmdWxs bmFtZSwgMCk7CisgICAgICBpZiAoVFJFRV9DT0RFICh0bXBsKSA9PSBJREVO VElGSUVSX05PREUpCisJeworCSAgLyogV2UgZ2V0IGhlcmUgd2l0aCBhIHBs YWluIGlkZW50aWZpZXIgYmVjYXVzZSBhIHByZXZpb3VzIHRlbnRhdGl2ZQor CSAgICAgcGFyc2Ugb2YgdGhlIG5lc3RlZC1uYW1lLXNwZWNpZmllciBhcyBw YXJ0IG9mIGEgcHRyLW9wZXJhdG9yIHNhdworCSAgICAgOjp0ZW1wbGF0ZSBY PEE+LiAgVGhlIHVzZSBvZiA6OnRlbXBsYXRlIGlzIG5lY2Vzc2FyeSBpbiBh CisJICAgICBwdHItb3BlcmF0b3IsIGJ1dCB3cm9uZyBpbiBhIGRlY2xhcmF0 b3ItaWQuCisKKwkgICAgIFt0ZW1wLm5hbWVzXTogSW4gYSBxdWFsaWZpZWQt aWQgb2YgYSBkZWNsYXJhdG9yLWlkLCB0aGUga2V5d29yZAorCSAgICAgdGVt cGxhdGUgc2hhbGwgbm90IGFwcGVhciBhdCB0aGUgdG9wIGxldmVsLiAgKi8K KwkgIHBlZHdhcm4gKEVYUFJfTE9DX09SX0xPQyAoZnVsbG5hbWUsIGlucHV0 X2xvY2F0aW9uKSwgT1BUX1dwZWRhbnRpYywKKwkJICAgImtleXdvcmQgJTx0 ZW1wbGF0ZSU+IG5vdCBhbGxvd2VkIGluIGRlY2xhcmF0b3ItaWQiKTsKKwkg IHRtcGwgPSBkZWNsOworCX0KKyAgICAgIHRyZWUgYXJncyA9IFRSRUVfT1BF UkFORCAoZnVsbG5hbWUsIDEpOwogICAgICAgLyogSW5zdGFudGlhdGUgdGhl IHRlbXBsYXRlLiAgKi8KICAgICAgIHJlc3VsdCA9IGxvb2t1cF90ZW1wbGF0 ZV9jbGFzcyAodG1wbCwgYXJncywgTlVMTF9UUkVFLCBOVUxMX1RSRUUsCi0J CQkJICAgICAgLyplbnRlcmluZ19zY29wZT0qLzAsCisJCQkJICAgICAgLypl bnRlcmluZ19zY29wZT0qL3RydWUsCiAJCQkJICAgICAgdGZfZXJyb3IgfCB0 Zl91c2VyKTsKICAgICAgIGlmIChyZXN1bHQgPT0gZXJyb3JfbWFya19ub2Rl KQogCXJlc3VsdCA9IE5VTExfVFJFRTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZysrLmRnL3RlbXBsYXRlL3RlbXBsYXRlLWtleXdvcmQxLkMgYi9n Y2MvdGVzdHN1aXRlL2crKy5kZy90ZW1wbGF0ZS90ZW1wbGF0ZS1rZXl3b3Jk MS5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmOTI4 YTgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy90 ZW1wbGF0ZS90ZW1wbGF0ZS1rZXl3b3JkMS5DCkBAIC0wLDAgKzEsMTUgQEAK Ky8vIFBSIGMrKy80NTk3NgorCit0ZW1wbGF0ZTxpbnQgYT4KK3N0cnVjdCBB IHsKKyAgICBzdGF0aWMgY29uc3QgaW50IHZhbHVlOworICAgCisgICAgdGVt cGxhdGU8aW50IGI+CisgICAgc3RydWN0IEIgeworICAgICAgICBzdGF0aWMg Y29uc3QgaW50IHZhbHVlOworICAgIH07Cit9OworCit0ZW1wbGF0ZTxpbnQg YT4KK3RlbXBsYXRlPGludCBiPgorY29uc3QgaW50IEE8YT46OnRlbXBsYXRl IEI8Yj46OnZhbHVlID0gMDsgLy8geyBkZy1lcnJvciAia2V5d29yZCAudGVt cGxhdGUiIH0K --001a114583b27f79a505530a56e7 Content-Type: text/plain; charset="US-ASCII"; name="55639.diff" Content-Disposition: attachment; filename="55639.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4hem4544 Content-length: 3099 Y29tbWl0IGJlZjRjMmZjOWM4OTgyNTUwM2RkYmZmMDYyNTQ0ZGQ3ZDI1ODJh YzIKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFdlZCBKdW4gMjggMTI6NDE6MzQgMjAxNyAtMDQwMAoKICAgICAg ICAgICAgUFIgYysrLzU1NjM5IC0gcGFydGlhbCBzcGVjaWFsaXphdGlvbiB3 aXRoIDo6dGVtcGxhdGUKICAgIAogICAgICAgICAgICAqIHBhcnNlci5jIChj cF9wYXJzZXJfY2xhc3NfaGVhZCk6IEhhbmRsZSA6OnRlbXBsYXRlLgoKZGlm ZiAtLWdpdCBhL2djYy9jcC9wYXJzZXIuYyBiL2djYy9jcC9wYXJzZXIuYwpp bmRleCBjOWZjMjg0Li5iZDk5YzA1IDEwMDY0NAotLS0gYS9nY2MvY3AvcGFy c2VyLmMKKysrIGIvZ2NjL2NwL3BhcnNlci5jCkBAIC0yMjYwMiw2ICsyMjYw Miw5IEBAIGNwX3BhcnNlcl9jbGFzc19oZWFkIChjcF9wYXJzZXIqIHBhcnNl ciwKIAkJCQkJICAgLyppc19kZWNsYXJhdGlvbj0qL2ZhbHNlKTsKICAgLyog SWYgdGhlcmUgd2FzIGEgbmVzdGVkLW5hbWUtc3BlY2lmaWVyLCB0aGVuIHRo ZXJlICptdXN0KiBiZSBhbgogICAgICBpZGVudGlmaWVyLiAgKi8KKworICBj cF90b2tlbiAqYmFkX3RlbXBsYXRlX2tleXdvcmQgPSBOVUxMOworCiAgIGlm IChuZXN0ZWRfbmFtZV9zcGVjaWZpZXIpCiAgICAgewogICAgICAgdHlwZV9z dGFydF90b2tlbiA9IGNwX2xleGVyX3BlZWtfdG9rZW4gKHBhcnNlci0+bGV4 ZXIpOwpAQCAtMjI2MjMsNiArMjI2MjYsOCBAQCBjcF9wYXJzZXJfY2xhc3Nf aGVhZCAoY3BfcGFyc2VyKiBwYXJzZXIsCiAJIGNsYXNzLW5hbWUgaXMgYSB0 ZW1wbGF0ZS1pZDsgaWYgd2UgbG9va2VkIGZvciB0aGUKIAkgdGVtcGxhdGUt bmFtZSBmaXJzdCB3ZSB3b3VsZCBzdG9wIGFmdGVyIHRoZSB0ZW1wbGF0ZS1u YW1lLiAgKi8KICAgICAgIGNwX3BhcnNlcl9wYXJzZV90ZW50YXRpdmVseSAo cGFyc2VyKTsKKyAgICAgIGlmIChjcF9sZXhlcl9uZXh0X3Rva2VuX2lzX2tl eXdvcmQgKHBhcnNlci0+bGV4ZXIsIFJJRF9URU1QTEFURSkpCisJYmFkX3Rl bXBsYXRlX2tleXdvcmQgPSBjcF9sZXhlcl9jb25zdW1lX3Rva2VuIChwYXJz ZXItPmxleGVyKTsKICAgICAgIHR5cGUgPSBjcF9wYXJzZXJfY2xhc3NfbmFt ZSAocGFyc2VyLAogCQkJCSAgIC8qdHlwZW5hbWVfa2V5d29yZF9wPSovZmFs c2UsCiAJCQkJICAgLyp0ZW1wbGF0ZV9rZXl3b3JkX3A9Ki9mYWxzZSwKQEAg LTIyNzQyLDYgKzIyNzQ3LDEyIEBAIGNwX3BhcnNlcl9jbGFzc19oZWFkIChj cF9wYXJzZXIqIHBhcnNlciwKICAgICB7CiAgICAgICB0cmVlIHNjb3BlOwog CisgICAgICBpZiAoYmFkX3RlbXBsYXRlX2tleXdvcmQpCisJLyogW3RlbXAu bmFtZXNdOiBpbiBhIHF1YWxpZmllZC1pZCBmb3JtZWQgYnkgYSBjbGFzcy1o ZWFkLW5hbWUsIHRoZQorCSAgIGtleXdvcmQgdGVtcGxhdGUgc2hhbGwgbm90 IGFwcGVhciBhdCB0aGUgdG9wIGxldmVsLiAgKi8KKwlwZWR3YXJuIChiYWRf dGVtcGxhdGVfa2V5d29yZC0+bG9jYXRpb24sIE9QVF9XcGVkYW50aWMsCisJ CSAia2V5d29yZCAlPHRlbXBsYXRlJT4gbm90IGFsbG93ZWQgaW4gY2xhc3Mt aGVhZC1uYW1lIik7CisKICAgICAgIC8qIFJlamVjdCB0eXBlZGVmLW5hbWVz IGluIGNsYXNzIGhlYWRzLiAgKi8KICAgICAgIGlmICghREVDTF9JTVBMSUNJ VF9UWVBFREVGX1AgKHR5cGUpKQogCXsKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZysrLmRnL3RlbXBsYXRlL3BhcnRpYWwtc3BlY2lhbGl6YXRpb244 LkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy90ZW1wbGF0ZS9wYXJ0aWFsLXNw ZWNpYWxpemF0aW9uOC5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmUzZmZlM2IKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2crKy5kZy90ZW1wbGF0ZS9wYXJ0aWFsLXNwZWNpYWxpemF0aW9uOC5D CkBAIC0wLDAgKzEsMTkgQEAKKy8vIFBSIGMrKy81NTYzOQorCit0ZW1wbGF0 ZSA8aW50IG51bWJlcj4KK3N0cnVjdCBTb21lQ2xhc3MKK3sKKyAgU29tZUNs YXNzKCkgeyB9CisKKyAgdGVtcGxhdGUgPHR5cGVuYW1lIEUsIGludCBudW1i ZXIyPgorICBzdHJ1Y3QgRnVuIHsKKyAgICBzdGF0aWMgdm9pZAorICAgIGZ1 bigpIHsgfQorICB9OworfTsKKwordGVtcGxhdGUgPGludCBudW1iZXI+Cit0 ZW1wbGF0ZSA8dHlwZW5hbWUgRT4KK3N0cnVjdCBTb21lQ2xhc3M8bnVtYmVy Pjo6dGVtcGxhdGUgRnVuPEUsIDA+IHsgLy8geyBkZy1lcnJvciAidGVtcGxh dGUiIH0KKyAgc3RhdGljIHZvaWQgZnVuKCkgeyB9Cit9Owo= --001a114583b27f79a505530a56e7--