Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u638R-00ANWX-KB for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Apr 2025 08:01:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u637P-00A68V-Ud for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Apr 2025 08:00:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u637P-00A68M-GK for pgsql-hackers@lists.postgresql.org; Sat, 19 Apr 2025 08:00:08 +0000 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u637M-000sMP-2P for pgsql-hackers@lists.postgresql.org; Sat, 19 Apr 2025 08:00:07 +0000 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-39ee651e419so1403248f8f.3 for ; Sat, 19 Apr 2025 01:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745049603; x=1745654403; darn=lists.postgresql.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=uAROyemH49Cg0QBzO7fk2F8jQi/f42/LI5zsobNXuZU=; b=K58/Q1FKpfw7bMUwkOYP9JTS51YNg9rtNX2ttVgSKJQ4v6aks+JeE0CWIpU6p/CaIG Bl8ZUXc+CJqHFp0L67DuQ+7Nra007NVUFW9nLigWH/qTEzyN/5TOYchpxoX4UqKWuTuj DHDuArkL3NRds+iIpXxohVCBQeoAYclm4fJw/IRWejY1hjMgaW3ztoeurf7foRD07IrU 8IKt3ASWsrM5vTElHnsVznTdUKVg3ATG8vUdQqMTDgDOwMqVubaQm1aH7FCQoemQ+CNN 7OujxnMS2ux5SWGda5JU+AhtItDSzG3tF0hWstqszfRrL/QsjUsGEtn1vhaeTVH+Swl0 IsqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745049603; x=1745654403; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=uAROyemH49Cg0QBzO7fk2F8jQi/f42/LI5zsobNXuZU=; b=TI9L/mjg1UdtTacSKyXpR0ImPzoamENawrZ98qeCr6XWMAKVOYBewxYX0SUyUum8Ue G1/Jsc4jDh8T4h/tXqJ7FhUiFK/2feGprRHpkJ67LeBdrK+lvB0g14OM1yNzUBcUpq96 3/YtAVDU9BS7dPn8gaPsdvPGoSyjAuZcCm7Oao5dS0kanJBOomtJywlIylCkuaqBf/wz NDcWdtQd4ehn/7NiJ6M4SBprqSztzVeCF/+suGiDh6rx+qufyfAn7++wXa4rA7GXROFE eifakbauNW2kiBKGhMkzOQy5oIFMpfFvRJut7jrnfh1UUHTCkpqJDIrHU70OM+PtcB8l WfgQ== X-Gm-Message-State: AOJu0Yycnj5RbercvkfTysdEnHRpuE/pUJ36vCTbOSDFhCFaAE1gmHxD 6PeKnzQhEotk4aBxee9S7dRnsBfzasZKFqTe2joCNHsijm2WI3dbtE7nUw== X-Gm-Gg: ASbGnctBsnZWLiSTNPWDXI2QKmBObUCQ8zBkDy1ZUKG3rrWUGsnmIxl9kPOFXTBJt3V 5gj1qO/63olGbNTcTl1GQrwfQ4W8JHzQHsnjwmzxM5odhzdgWzeFx5BwcnNdIx6I2CgeiOgQsgw MBJtLI6iCidALDVAoYyr19z7sb5ATsjNufktyt8VJMmkxASePzU4UxXR2rlXfxssuiR9HAdyeH9 Sl0G2bEmM3omYhDD9ALLJ7yFRkiobeBME6llVKrj9QuT+pQGJks5HzPthUirLjnMbrPJe447dMY kkablt5VmZfEo1CK8ZJvS+4T3WLhu3VJNNMZRXNKGSs= X-Google-Smtp-Source: AGHT+IEvny8BdMqTX5MRmNn1/bqkBrGQVndpxLL5QITpFT4cqR15sOwZr5M4lvBYcHun0dfxbPspBA== X-Received: by 2002:a05:6000:144a:b0:391:454:5eb8 with SMTP id ffacd0b85a97d-39efbb0555fmr3970297f8f.48.1745049602764; Sat, 19 Apr 2025 01:00:02 -0700 (PDT) Received: from [192.168.0.50] ([89.149.68.176]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4406d5acd08sm51180905e9.12.2025.04.19.01.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 19 Apr 2025 01:00:01 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------bRE055bj0AgU0a4CuMk1OGco" Message-ID: <9a7763ab-5252-429d-a943-b28941e0e28b@gmail.com> Date: Sat, 19 Apr 2025 11:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Typos in the code and README To: PostgreSQL Developers Cc: Daniel Gustafsson , Heikki Linnakangas , Michael Paquier , David Rowley References: <5812a0b9-b0cf-4151-9a14-d9f00e4f2858@gmail.com> Content-Language: en-US From: Alexander Lakhin In-Reply-To: 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. --------------bRE055bj0AgU0a4CuMk1OGco Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello hackers, I've gathered the following collection of typos and inconsistencies appeared since 2025-01-01: aio_worker.c -> method_worker.c amcheck_lock_relation -> amcheck_lock_relation_and_check be_key -> be_cancel_key belonds -> belongs cann -> can CheckConstraintFetch -> CheckNNConstraintFetch (renamed by a379061a2) COLLID -> COLLOID coltypemods -> coltypmods columsn -> column combinig -> combining containting -> containing non-exist datbase -> non-existent database dead_end -> dead-end (see a78af0427) derefefence -> dereference displyed -> displayed droping -> dropping es_eqp_active -> es_epq_active es_part_prune_result -> es_part_prune_results ExceDelete -> ExecDelete excludes-chema -> exclude-schema it fhe -> if the GIN_TUPLE_ -> GIN_TUPLE_H HandleFatalErrors -> HandleFatalError happend -> reached (to preserve the line width) happenning -> happening HIKEY -> P_HIKEY IGNORE_CHECKSUM_FAILURE -> PIV_IGNORE_CHECKSUM_FAILURE InitExecPartitionPruneContext -> InitExecPartitionPruneContexts inititalization -> initialization Injection_point -> Injection point iterm -> item $log_end -> remove unused variable (align with src/test/modules/oauth_validator/t/001_server.pl) looplback -> loopback mappping -> mapping MyWorkerId -> MyIoWorkerId negotation -> negotiation network-byte-order -> network byte order parititioned* -> partitioned* pending_null -> pending_nulls permanentaly -> permanently pg_localeconf_free -> pg_localeconv_free PG_READ_ALL_STATS -> ROLE_PG_READ_ALL_STATS pk_strategy -> pk_cmptype (see 8123e91f5) PM_WAIT_BACKEND -> PM_WAIT_BACKENDS pollset -> poll set predicable -> predictable PRINT_STATS_STDERR -> PRINT_STATS_TO_STDERR procced -> proceed remining -> remaining save_xmin -> saved_xmin smgstartreadv -> smgrstartreadv StartLocalBufer -> StartLocalBufferIO statitistics -> statistics swaping -> swapping synq_queue_destroy -> sync_queue_destroy thats -> that's ther -> there test-server -> test server unfronzen -> unfrozen upin -> unpin Please find attached the complete patch for your convenience. Best regards, Alexander Lakhin Neon (https://neon.tech) --------------bRE055bj0AgU0a4CuMk1OGco Content-Type: text/x-patch; charset=UTF-8; name="fix-typos-inconsistencies-2025-01_04.patch" Content-Disposition: attachment; filename="fix-typos-inconsistencies-2025-01_04.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvYW1jaGVjay92ZXJpZnlfY29tbW9uLmggYi9jb250cmli L2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5oCmluZGV4IGIyNTY1YmZiYmFiLi5lNzhhZGI2ODgw OCAxMDA2NDQKLS0tIGEvY29udHJpYi9hbWNoZWNrL3ZlcmlmeV9jb21tb24uaAorKysgYi9j b250cmliL2FtY2hlY2svdmVyaWZ5X2NvbW1vbi5oCkBAIC0xNiw3ICsxNiw3IEBACiAjaW5j bHVkZSAidXRpbHMvcmVsY2FjaGUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKIAotLyog VHlwZWRlZnMgZm9yIGNhbGxiYWNrIGZ1bmN0aW9ucyBmb3IgYW1jaGVja19sb2NrX3JlbGF0 aW9uICovCisvKiBUeXBlZGVmcyBmb3IgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBhbWNoZWNr X2xvY2tfcmVsYXRpb25fYW5kX2NoZWNrICovCiB0eXBlZGVmIHZvaWQgKCpJbmRleENoZWNr YWJsZUNhbGxiYWNrKSAoUmVsYXRpb24gaW5kZXgpOwogdHlwZWRlZiB2b2lkICgqSW5kZXhE b0NoZWNrQ2FsbGJhY2spIChSZWxhdGlvbiByZWwsCiAJCQkJCQkJCQkgIFJlbGF0aW9uIGhl YXByZWwsCmRpZmYgLS1naXQgYS9jb250cmliL2FtY2hlY2svdmVyaWZ5X2dpbi5jIGIvY29u dHJpYi9hbWNoZWNrL3ZlcmlmeV9naW4uYwppbmRleCAzMThmZTMzMDUxOC4uMzYyOTI0M2Vk MDEgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYW1jaGVjay92ZXJpZnlfZ2luLmMKKysrIGIvY29u dHJpYi9hbWNoZWNrL3ZlcmlmeV9naW4uYwpAQCAtMzU5LDcgKzM1OSw3IEBAIGdpbl9jaGVj a19wb3N0aW5nX3RyZWVfcGFyZW50X2tleXNfY29uc2lzdGVuY3koUmVsYXRpb24gcmVsLCBC bG9ja051bWJlciBwb3N0aW5nCiAJCQkJcHRyLT5kZXB0aCA9IHN0YWNrLT5kZXB0aCArIDE7 CiAKIAkJCQkvKgotCQkJCSAqIFNldCByaWdodG1vc3QgcGFyZW50IGtleSB0byBpbnZhbGlk IGl0ZXJtIHBvaW50ZXIuIEl0cworCQkJCSAqIFNldCByaWdodG1vc3QgcGFyZW50IGtleSB0 byBpbnZhbGlkIGl0ZW0gcG9pbnRlci4gSXRzCiAJCQkJICogdmFsdWUgaXMgJ0luZmluaXR5 JyBhbmQgbm90IGV4cGxpY2l0bHkgc3RvcmVkLgogCQkJCSAqLwogCQkJCWlmIChyaWdodGxp bmsgPT0gSW52YWxpZEJsb2NrTnVtYmVyKQpAQCAtNTg3LDcgKzU4Nyw3IEBAIGdpbl9jaGVj a19wYXJlbnRfa2V5c19jb25zaXN0ZW5jeShSZWxhdGlvbiByZWwsCiAKIAkJCQkJCS8qCiAJ CQkJCQkgKiBDaGVjayBpZiBpdCBpcyBwcm9wZXJseSBhZGp1c3RlZC4gSWYgc3VjY2VlZCwK LQkJCQkJCSAqIHByb2NjZWQgdG8gdGhlIG5leHQga2V5LgorCQkJCQkJICogcHJvY2VlZCB0 byB0aGUgbmV4dCBrZXkuCiAJCQkJCQkgKi8KIAkJCQkJCWlmIChnaW5Db21wYXJlRW50cmll cygmc3RhdGUsIGF0dG51bSwgY3VycmVudF9rZXksCiAJCQkJCQkJCQkJCSAgY3VycmVudF9r ZXlfY2F0ZWdvcnksIHBhcmVudF9rZXksCmRpZmYgLS1naXQgYS9jb250cmliL3BnX2J1ZmZl cmNhY2hlL3BnX2J1ZmZlcmNhY2hlX3BhZ2VzLmMgYi9jb250cmliL3BnX2J1ZmZlcmNhY2hl L3BnX2J1ZmZlcmNhY2hlX3BhZ2VzLmMKaW5kZXggZTE3MDFiZDU2ZWYuLjZiZmI5ZmI2Njll IDEwMDY0NAotLS0gYS9jb250cmliL3BnX2J1ZmZlcmNhY2hlL3BnX2J1ZmZlcmNhY2hlX3Bh Z2VzLmMKKysrIGIvY29udHJpYi9wZ19idWZmZXJjYWNoZS9wZ19idWZmZXJjYWNoZV9wYWdl cy5jCkBAIC0yODksNyArMjg5LDcgQEAgcGdfYnVmZmVyY2FjaGVfcGFnZXMoUEdfRlVOQ1RJ T05fQVJHUykKICAqCiAgKiBSZXR1cm5zIE5VTUEgbm9kZSBJRCBmb3IgZWFjaCBtZW1vcnkg cGFnZSB1c2VkIGJ5IHRoZSBidWZmZXIuIEJ1ZmZlcnMgbWF5CiAgKiBiZSBzbWFsbGVyIG9y IGxhcmdlciB0aGFuIE9TIG1lbW9yeSBwYWdlcy4gRm9yIGVhY2ggYnVmZmVyIHdlIHJldHVy biBvbmUKLSAqIGVudHJ5IGZvciBlYWNoIG1lbW9yeSBwYWdlIHVzZWQgYnkgdGhlIGJ1ZmZl ciAoaXQgZmhlIGJ1ZmZlciBpcyBzbWFsbGVyLAorICogZW50cnkgZm9yIGVhY2ggbWVtb3J5 IHBhZ2UgdXNlZCBieSB0aGUgYnVmZmVyIChpZiB0aGUgYnVmZmVyIGlzIHNtYWxsZXIsCiAg KiBpdCBvbmx5IHVzZXMgYSBwYXJ0IG9mIG9uZSBtZW1vcnkgcGFnZSkuCiAgKgogICogV2Ug ZXhwZWN0IGJvdGggc2l6ZXMgKGZvciBidWZmZXJzIGFuZCBtZW1vcnkgcGFnZXMpIHRvIGJl IGEgcG93ZXItb2YtMiwgc28KQEAgLTMzNSw3ICszMzUsNyBAQCBwZ19idWZmZXJjYWNoZV9u dW1hX3BhZ2VzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCSAqIGhvdyB0aGUgcGFnZXMgYW5kIGJ1 ZmZlcnMgImFsaWduIiBpbiBtZW1vcnkgLSB0aGUgYnVmZmVycyBtYXkgYmUKIAkJICogc2hp ZnRlZCBpbiBzb21lIHdheSwgdXNpbmcgbW9yZSBtZW1vcnkgcGFnZXMgdGhhbiBuZWNlc3Nh cnkuCiAJCSAqCi0JCSAqIFNvIHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBhYm91dCBtYXBwcGlu ZyBidWZmZXJzIHRvIG1lbW9yeSBwYWdlcy4gV2UKKwkJICogU28gd2UgbmVlZCB0byBiZSBj YXJlZnVsIGFib3V0IG1hcHBpbmcgYnVmZmVycyB0byBtZW1vcnkgcGFnZXMuIFdlCiAJCSAq IGNhbGN1bGF0ZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFnZXMgYSBidWZmZXIgbWlnaHQg dXNlLCBzbyB0aGF0CiAJCSAqIHdlIGFsbG9jYXRlIGVub3VnaCBzcGFjZSBmb3IgdGhlIGVu dHJpZXMuIEFuZCB0aGVuIHdlIGNvdW50IHRoZQogCQkgKiBhY3R1YWwgbnVtYmVyIG9mIGVu dHJpZXMgYXMgd2Ugc2NhbiB0aGUgYnVmZmVycy4KZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdf b3ZlcmV4cGxhaW4vZXhwZWN0ZWQvcGdfb3ZlcmV4cGxhaW4ub3V0IGIvY29udHJpYi9wZ19v dmVyZXhwbGFpbi9leHBlY3RlZC9wZ19vdmVyZXhwbGFpbi5vdXQKaW5kZXggMjgyNTJkYmZm NmMuLjQ0MTIwYzM4OGFmIDEwMDY0NAotLS0gYS9jb250cmliL3BnX292ZXJleHBsYWluL2V4 cGVjdGVkL3BnX292ZXJleHBsYWluLm91dAorKysgYi9jb250cmliL3BnX292ZXJleHBsYWlu L2V4cGVjdGVkL3BnX292ZXJleHBsYWluLm91dApAQCAtMTIzLDcgKzEyMyw3IEBAICQkKTsK ICBSVEkgMSAocmVsYXRpb24sIGluaGVyaXRlZCwgaW4tZnJvbS1jbGF1c2UpOgogICAgRXJl ZjogdmVnZXRhYmxlcyAoaWQsIG5hbWUsIGdlbnVzKQogICAgUmVsYXRpb246IHZlZ2V0YWJs ZXMKLSAgIFJlbGF0aW9uIEtpbmQ6IHBhcml0aXRpb25lZF90YWJsZQorICAgUmVsYXRpb24g S2luZDogcGFydGl0aW9uZWRfdGFibGUKICAgIFJlbGF0aW9uIExvY2sgTW9kZTogQWNjZXNz U2hhcmVMb2NrCiAgICBQZXJtaXNzaW9uIEluZm8gSW5kZXg6IDEKICBSVEkgMiAoZ3JvdXAp OgpAQCAtMjUwLDcgKzI1MCw3IEBAICQkKTsKICAgICAgICAgIDxJbi1Gcm9tLUNsYXVzZT50 cnVlPC9Jbi1Gcm9tLUNsYXVzZT4gICAgICAgICAgICAgICAgICAgICAgKwogICAgICAgICAg PEVyZWY+dmVnZXRhYmxlcyAoaWQsIG5hbWUsIGdlbnVzKTwvRXJlZj4gICAgICAgICAgICAg ICAgICArCiAgICAgICAgICA8UmVsYXRpb24+dmVnZXRhYmxlczwvUmVsYXRpb24+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICsKLSAgICAgICAgIDxSZWxhdGlvbi1LaW5kPnBhcml0 aXRpb25lZF90YWJsZTwvUmVsYXRpb24tS2luZD4gICAgICAgICAgKworICAgICAgICAgPFJl bGF0aW9uLUtpbmQ+cGFydGl0aW9uZWRfdGFibGU8L1JlbGF0aW9uLUtpbmQ+ICAgICAgICAg ICArCiAgICAgICAgICA8UmVsYXRpb24tTG9jay1Nb2RlPkFjY2Vzc1NoYXJlTG9jazwvUmVs YXRpb24tTG9jay1Nb2RlPiAgICsKICAgICAgICAgIDxQZXJtaXNzaW9uLUluZm8tSW5kZXg+ MTwvUGVybWlzc2lvbi1JbmZvLUluZGV4PiAgICAgICAgICAgKwogICAgICAgICAgPFNlY3Vy aXR5LUJhcnJpZXI+ZmFsc2U8L1NlY3VyaXR5LUJhcnJpZXI+ICAgICAgICAgICAgICAgICAr CkBAIC00NTQsNyArNDU0LDcgQEAgU0VMRUNUICogRlJPTSB2ZWdldGFibGVzIFdIRVJFIGdl bnVzID0gJ2RhdWN1cyc7CiAgUlRJIDEgKHJlbGF0aW9uLCBpbmhlcml0ZWQsIGluLWZyb20t Y2xhdXNlKToKICAgIEVyZWY6IHZlZ2V0YWJsZXMgKGlkLCBuYW1lLCBnZW51cykKICAgIFJl bGF0aW9uOiB2ZWdldGFibGVzCi0gICBSZWxhdGlvbiBLaW5kOiBwYXJpdGl0aW9uZWRfdGFi bGUKKyAgIFJlbGF0aW9uIEtpbmQ6IHBhcnRpdGlvbmVkX3RhYmxlCiAgICBSZWxhdGlvbiBM b2NrIE1vZGU6IEFjY2Vzc1NoYXJlTG9jawogICAgUGVybWlzc2lvbiBJbmZvIEluZGV4OiAx CiAgUlRJIDIgKHJlbGF0aW9uLCBpbi1mcm9tLWNsYXVzZSk6CkBAIC00NzgsNyArNDc4LDcg QEAgSU5TRVJUIElOVE8gdmVnZXRhYmxlcyAobmFtZSwgZ2VudXMpIFZBTFVFUyAoJ2Jyb2Nj b2Zsb3dlcicsICdicmFzc2ljYScpOwogIFJUSSAxIChyZWxhdGlvbik6CiAgICBFcmVmOiB2 ZWdldGFibGVzIChpZCwgbmFtZSwgZ2VudXMpCiAgICBSZWxhdGlvbjogdmVnZXRhYmxlcwot ICAgUmVsYXRpb24gS2luZDogcGFyaXRpdGlvbmVkX3RhYmxlCisgICBSZWxhdGlvbiBLaW5k OiBwYXJ0aXRpb25lZF90YWJsZQogICAgUmVsYXRpb24gTG9jayBNb2RlOiBSb3dFeGNsdXNp dmVMb2NrCiAgICBQZXJtaXNzaW9uIEluZm8gSW5kZXg6IDEKICBSVEkgMiAocmVzdWx0KToK ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfb3ZlcmV4cGxhaW4vcGdfb3ZlcmV4cGxhaW4uYyBi L2NvbnRyaWIvcGdfb3ZlcmV4cGxhaW4vcGdfb3ZlcmV4cGxhaW4uYwppbmRleCBmNjAwNDlm NGJhNi4uZGU4MjQ1NjZmOGMgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfb3ZlcmV4cGxhaW4v cGdfb3ZlcmV4cGxhaW4uYworKysgYi9jb250cmliL3BnX292ZXJleHBsYWluL3BnX292ZXJl eHBsYWluLmMKQEAgLTI3Nyw3ICsyNzcsNyBAQCBvdmVyZXhwbGFpbl9wZXJfcGxhbl9ob29r KFBsYW5uZWRTdG10ICpwbGFubmVkc3RtdCwKICAqIFByaW50IG91dCB2YXJpb3VzIGRldGFp bHMgZnJvbSB0aGUgUGxhbm5lZFN0bXQgdGhhdCB3b3VsZG4ndCBvdGhlcndpc2UKICAqIGJl IGRpc3BsYXllZC4KICAqCi0gKiBXZSBkb24ndCB0cnkgdG8gcHJpbnQgZXZlcnl0aGluZyBo ZXJlLiBJbmZvcm1hdGlvbiB0aGF0IHdvdWxkIGJlIGRpc3BseWVkCisgKiBXZSBkb24ndCB0 cnkgdG8gcHJpbnQgZXZlcnl0aGluZyBoZXJlLiBJbmZvcm1hdGlvbiB0aGF0IHdvdWxkIGJl IGRpc3BsYXllZAogICogYW55d2F5IGRvZXNuJ3QgbmVlZCB0byBiZSBwcmludGVkIGFnYWlu IGhlcmUsIGFuZCB0aGluZ3Mgd2l0aCBsb3RzIG9mCiAgKiBzdWJzdHJ1Y3R1cmUgcHJvYmFi bHkgc2hvdWxkIGJlIHByaW50ZWQgdmlhIHNlcGFyYXRlIG9wdGlvbnMsIG9yIG5vdCBhdCBh bGwuCiAgKi8KQEAgLTUxNywxMCArNTE3LDEwIEBAIG92ZXJleHBsYWluX3JhbmdlX3RhYmxl KFBsYW5uZWRTdG10ICpwbGFubmVkc3RtdCwgRXhwbGFpblN0YXRlICplcykKIAkJCQlyZWxr aW5kID0gImZvcmVpZ25fdGFibGUiOwogCQkJCWJyZWFrOwogCQkJY2FzZSBSRUxLSU5EX1BB UlRJVElPTkVEX1RBQkxFOgotCQkJCXJlbGtpbmQgPSAicGFyaXRpdGlvbmVkX3RhYmxlIjsK KwkJCQlyZWxraW5kID0gInBhcnRpdGlvbmVkX3RhYmxlIjsKIAkJCQlicmVhazsKIAkJCWNh c2UgUkVMS0lORF9QQVJUSVRJT05FRF9JTkRFWDoKLQkJCQlyZWxraW5kID0gInBhcml0aXRp b25lZF9pbmRleCI7CisJCQkJcmVsa2luZCA9ICJwYXJ0aXRpb25lZF9pbmRleCI7CiAJCQkJ YnJlYWs7CiAJCQljYXNlICdcMCc6CiAJCQkJcmVsa2luZCA9IE5VTEw7CkBAIC02MzIsNyAr NjMyLDcgQEAgb3ZlcmV4cGxhaW5fcmFuZ2VfdGFibGUoUGxhbm5lZFN0bXQgKnBsYW5uZWRz dG10LCBFeHBsYWluU3RhdGUgKmVzKQogCQl9CiAKIAkJLyoKLQkJICogYWRkX3J0ZV90b19m bGF0X3J0YWJsZSB3aWxsIGNsZWFyIGNvbHR5cGVzLCBjb2x0eXBlbW9kcywgYW5kCisJCSAq IGFkZF9ydGVfdG9fZmxhdF9ydGFibGUgd2lsbCBjbGVhciBjb2x0eXBlcywgY29sdHlwbW9k cywgYW5kCiAJCSAqIGNvbGNvbGxhdGlvbnMsIHNvIHNraXAgdGhvc2UgZmllbGRzLgogCQkg KgogCQkgKiBJZiB0aGlzIGlzIGFuIGVwaGVtZXJhbCBuYW1lZCByZWxhdGlvbiwgcHJpbnQg b3V0IEVOUi1yZWxhdGVkCkBAIC02NzUsNyArNjc1LDcgQEAgb3ZlcmV4cGxhaW5fcmFuZ2Vf dGFibGUoUGxhbm5lZFN0bXQgKnBsYW5uZWRzdG10LCBFeHBsYWluU3RhdGUgKmVzKQogICog RW1pdCBhIHRleHQgcHJvcGVydHkgZGVzY3JpYmluZyB0aGUgY29udGVudHMgb2YgYW4gQWxp YXMuCiAgKgogICogQ29sdW1uIGxpc3RzIGNhbiBiZSBxdWl0ZSBsb25nIGhlcmUsIHNvIHBl cmhhcHMgd2Ugc2hvdWxkIGhhdmUgYW4gb3B0aW9uCi0gKiB0byBsaW1pdCB0aGUgZGlzcGxh eSBsZW5ndGggYnkgIyBvZiBjb2x1bXNuIG9yICMgb2YgY2hhcmFjdGVycywgYnV0IGZvcgor ICogdG8gbGltaXQgdGhlIGRpc3BsYXkgbGVuZ3RoIGJ5ICMgb2YgY29sdW1uIG9yICMgb2Yg Y2hhcmFjdGVycywgYnV0IGZvcgogICogbm93LCBqdXN0IGRpc3BsYXkgZXZlcnl0aGluZy4K ICAqLwogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3Qv MDAxX2F1dGhfc2NyYW0ucGwgYi9jb250cmliL3Bvc3RncmVzX2Zkdy90LzAwMV9hdXRoX3Nj cmFtLnBsCmluZGV4IGJhMTc4MjQ2ZWI3Li5iOTRhNmE2MjkzYiAxMDA2NDQKLS0tIGEvY29u dHJpYi9wb3N0Z3Jlc19mZHcvdC8wMDFfYXV0aF9zY3JhbS5wbAorKysgYi9jb250cmliL3Bv c3RncmVzX2Zkdy90LzAwMV9hdXRoX3NjcmFtLnBsCkBAIC0zLDcgKzMsNyBAQAogIyBUZXN0 IFNDUkFNIGF1dGhlbnRpY2F0aW9uIHdoZW4gb3BlbmluZyBhIG5ldyBjb25uZWN0aW9uIHdp dGggYSBmb3JlaWduCiAjIHNlcnZlci4KICMKLSMgVGhlIHRlc3QgaXMgZXhlY3V0ZWQgYnkg dGVzdGluZyB0aGUgU0NSQU0gYXV0aGVudGlmY2F0aW9uIG9uIGEgbG9vcGxiYWNrCisjIFRo ZSB0ZXN0IGlzIGV4ZWN1dGVkIGJ5IHRlc3RpbmcgdGhlIFNDUkFNIGF1dGhlbnRpZmNhdGlv biBvbiBhIGxvb3BiYWNrCiAjIGNvbm5lY3Rpb24gb24gdGhlIHNhbWUgc2VydmVyIGFuZCB3 aXRoIGRpZmZlcmVudCBzZXJ2ZXJzLgogCiB1c2Ugc3RyaWN0OwpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3JlZi9wZ19kdW1wLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAu c2dtbAppbmRleCBiZmMxZTdiMzUyNC4uYjc1N2QyN2ViZDAgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9yZWYvcGdfZHVtcC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvcGdfZHVt cC5zZ21sCkBAIC0xMzE1LDcgKzEzMTUsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24K ICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgIDxwYXJhPgogICAgICAgICAgIFRoZSBkYXRh IHNlY3Rpb24gY29udGFpbnMgYWN0dWFsIHRhYmxlIGRhdGEsIGxhcmdlLW9iamVjdAotICAg ICAgICAgIGNvbnRlbnRzLCBzdGF0aXRpc3RpY3MgZm9yIHRhYmxlcyBhbmQgbWF0ZXJpYWxp emVkIHZpZXdzIGFuZAorICAgICAgICAgIGNvbnRlbnRzLCBzdGF0aXN0aWNzIGZvciB0YWJs ZXMgYW5kIG1hdGVyaWFsaXplZCB2aWV3cyBhbmQKICAgICAgICAgICBzZXF1ZW5jZSB2YWx1 ZXMuCiAgICAgICAgICAgUG9zdC1kYXRhIGl0ZW1zIGluY2x1ZGUgZGVmaW5pdGlvbnMgb2Yg aW5kZXhlcywgdHJpZ2dlcnMsIHJ1bGVzLAogICAgICAgICAgIHN0YXRpc3RpY3MgZm9yIGlu ZGV4ZXMsIGFuZCBjb25zdHJhaW50cyBvdGhlciB0aGFuIHZhbGlkYXRlZCBjaGVjawpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZ3Jlc3Muc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWdy ZXNzLnNnbWwKaW5kZXggMGU1ZThlOGYzMDkuLmJmNGZmYjMwNTc2IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcmVncmVzcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWdyZXNzLnNn bWwKQEAgLTM1Myw3ICszNTMsNyBAQCBtYWtlIGNoZWNrLXdvcmxkIFBHX1RFU1RfRVhUUkE9 J2tlcmJlcm9zIGxkYXAgc3NsIGxvYWRfYmFsYW5jZSBsaWJwcV9lbmNyeXB0aW9uJwogICAg ICA8bGlzdGl0ZW0+CiAgICAgICA8cGFyYT4KICAgICAgICBSdW5zIHRoZSB0ZXN0IHN1aXRl IHVuZGVyIDxmaWxlbmFtZT5zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlkYXRvcjwvZmls ZW5hbWU+LgotICAgICAgIFRoaXMgb3BlbnMgVENQL0lQIGxpc3RlbiBzb2NrZXRzIGZvciBh IHRlc3Qtc2VydmVyIHJ1bm5pbmcgSFRUUFMuCisgICAgICAgVGhpcyBvcGVucyBUQ1AvSVAg bGlzdGVuIHNvY2tldHMgZm9yIGEgdGVzdCBzZXJ2ZXIgcnVubmluZyBIVFRQUy4KICAgICAg IDwvcGFyYT4KICAgICAgPC9saXN0aXRlbT4KICAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luaW5zZXJ0LmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvZ2luL2dpbmluc2VydC5jCmluZGV4IGNmYWI5M2VjMzBjLi5hN2I3YjU5OTZl MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5pbnNlcnQuYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmluc2VydC5jCkBAIC0xNjcsNyArMTY3LDcg QEAgdHlwZWRlZiBzdHJ1Y3QKIAogCS8qCiAJICogVGhlIHNvcnRzdGF0ZSB1c2VkIG9ubHkg d2l0aGluIGEgc2luZ2xlIHdvcmtlciBmb3IgdGhlIGZpcnN0IG1lcmdlIHBhc3MKLQkgKiBo YXBwZW5uaW5nIHRoZXJlLiBJbiBwcmluY2lwbGUgaXQgZG9lc24ndCBuZWVkIHRvIGJlIHBh cnQgb2YgdGhlIGJ1aWxkCisJICogaGFwcGVuaW5nIHRoZXJlLiBJbiBwcmluY2lwbGUgaXQg ZG9lc24ndCBuZWVkIHRvIGJlIHBhcnQgb2YgdGhlIGJ1aWxkCiAJICogc3RhdGUgYW5kIHdl IGNvdWxkIHBhc3MgaXQgYXJvdW5kIGRpcmVjdGx5LCBidXQgaXQncyBtb3JlIGNvbnZlbmll bnQKIAkgKiB0aGlzIHdheS4gQW5kIGl0J3MgcGFydCBvZiB0aGUgYnVpbGQgc3RhdGUsIGFm dGVyIGFsbC4KIAkgKi8KQEAgLTEzMDYsNyArMTMwNiw3IEBAIEdpbkJ1ZmZlcklzRW1wdHko R2luQnVmZmVyICpidWZmZXIpCiAgKiBDb21wYXJlIGlmIHRoZSB0dXBsZSBtYXRjaGVzIHRo ZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGRhdGEgaW4gdGhlIEdJTgogICogYnVmZmVyLiBDb21w YXJlIHNjYWxhciBmaWVsZHMgZmlyc3QsIGJlZm9yZSB0aGUgYWN0dWFsIGtleS4KICAqCi0g KiBSZXR1cm5zIHRydWUgaWYgdGhlIGtleSBtYXRjaGVzLCBhbmQgdGhlIFRJRCBiZWxvbmRz IHRvIHRoZSBidWZmZXIsIG9yCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGtleSBtYXRjaGVz LCBhbmQgdGhlIFRJRCBiZWxvbmdzIHRvIHRoZSBidWZmZXIsIG9yCiAgKiBmYWxzZSBpZiB0 aGUga2V5IGRvZXMgbm90IG1hdGNoLgogICovCiBzdGF0aWMgYm9vbApAQCAtMTQ5Nyw3ICsx NDk3LDcgQEAgR2luQnVmZmVyU3RvcmVUdXBsZShHaW5CdWZmZXIgKmJ1ZmZlciwgR2luVHVw bGUgKnR1cCkKIAkJCWJ1ZmZlci0+aXRlbXMgPSByZXBhbGxvYyhidWZmZXItPml0ZW1zLAog CQkJCQkJCQkJIChidWZmZXItPm5pdGVtcyArIHR1cC0+bml0ZW1zKSAqIHNpemVvZihJdGVt UG9pbnRlckRhdGEpKTsKIAotCQluZXcgPSBnaW5NZXJnZUl0ZW1Qb2ludGVycygmYnVmZmVy LT5pdGVtc1tidWZmZXItPm5mcm96ZW5dLCAvKiBmaXJzdCB1bmZyb256ZW4gKi8KKwkJbmV3 ID0gZ2luTWVyZ2VJdGVtUG9pbnRlcnMoJmJ1ZmZlci0+aXRlbXNbYnVmZmVyLT5uZnJvemVu XSwgLyogZmlyc3QgdW5mcm96ZW4gKi8KIAkJCQkJCQkJICAgKGJ1ZmZlci0+bml0ZW1zIC0g YnVmZmVyLT5uZnJvemVuKSwJLyogbnVtIG9mIHVuZnJvemVuICovCiAJCQkJCQkJCSAgIGl0 ZW1zLCB0dXAtPm5pdGVtcywgJm5uZXcpOwogCkBAIC0xNTMxLDcgKzE1MzEsNyBAQCBHaW5C dWZmZXJSZXNldChHaW5CdWZmZXIgKmJ1ZmZlcikKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVy KGJ1ZmZlci0+a2V5KSk7CiAKIAkvKgotCSAqIE5vdCByZXF1aXJlZCwgYnV0IG1ha2VzIGl0 IG1vcmUgbGlrZWx5IHRvIHRyaWdnZXIgTlVMTCBkZXJlZmVmZW5jZSBpZgorCSAqIE5vdCBy ZXF1aXJlZCwgYnV0IG1ha2VzIGl0IG1vcmUgbGlrZWx5IHRvIHRyaWdnZXIgTlVMTCBkZXJl ZmVyZW5jZSBpZgogCSAqIHVzaW5nIHRoZSB2YWx1ZSBpbmNvcnJlY3RseSwgZXRjLgogCSAq LwogCWJ1ZmZlci0+a2V5ID0gKERhdHVtKSAwOwpAQCAtMTYwMyw3ICsxNjAzLDcgQEAgR2lu QnVmZmVyQ2FuQWRkS2V5KEdpbkJ1ZmZlciAqYnVmZmVyLCBHaW5UdXBsZSAqdHVwKQogICoK ICAqIEFmdGVyIHdhaXRpbmcgZm9yIGFsbCB3b3JrZXJzIHRvIGZpbmlzaCwgbWVyZ2UgdGhl IHBlci13b3JrZXIgcmVzdWx0cyBpbnRvCiAgKiB0aGUgY29tcGxldGUgaW5kZXguIFRoZSBy ZXN1bHRzIGZyb20gZWFjaCB3b3JrZXIgYXJlIHNvcnRlZCBieSBibG9jayBudW1iZXIKLSAq IChzdGFydCBvZiB0aGUgcGFnZSByYW5nZSkuIFdoaWxlIGNvbWJpbmlnIHRoZSBwZXItd29y a2VyIHJlc3VsdHMgd2UgbWVyZ2UKKyAqIChzdGFydCBvZiB0aGUgcGFnZSByYW5nZSkuIFdo aWxlIGNvbWJpbmluZyB0aGUgcGVyLXdvcmtlciByZXN1bHRzIHdlIG1lcmdlCiAgKiBzdW1t YXJpZXMgZm9yIHRoZSBzYW1lIHBhZ2UgcmFuZ2UsIGFuZCBhbHNvIGZpbGwtaW4gZW1wdHkg c3VtbWFyaWVzIGZvcgogICogcmFuZ2VzIHdpdGhvdXQgYW55IHR1cGxlcy4KICAqCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNlYXJjaC5jIGIvc3JjL2Jh Y2tlbmQvYWNjZXNzL25idHJlZS9uYnRzZWFyY2guYwppbmRleCBmNjkzOTc2MjNkZi4uNzcy NjRkZGVlY2IgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0c2Vh cmNoLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRzZWFyY2guYwpAQCAt MTc5Miw3ICsxNzkyLDcgQEAgX2J0X3JlYWRwYWdlKEluZGV4U2NhbkRlc2Mgc2NhbiwgU2Nh bkRpcmVjdGlvbiBkaXIsIE9mZnNldE51bWJlciBvZmZudW0sCiAKIAkJCXRydW5jYXR0ID0g QlRyZWVUdXBsZUdldE5BdHRzKGl0dXAsIHJlbCk7CiAJCQlwc3RhdGUuZm9yY2Vub25yZXF1 aXJlZCA9IGZhbHNlOwotCQkJcHN0YXRlLnN0YXJ0aWtleSA9IDA7CS8qIF9idF9zZXRfc3Rh cnRpa2V5IGlnbm9yZXMgSElLRVkgKi8KKwkJCXBzdGF0ZS5zdGFydGlrZXkgPSAwOwkvKiBf YnRfc2V0X3N0YXJ0aWtleSBpZ25vcmVzIFBfSElLRVkgKi8KIAkJCV9idF9jaGVja2tleXMo c2NhbiwgJnBzdGF0ZSwgYXJyYXlLZXlzLCBpdHVwLCB0cnVuY2F0dCk7CiAJCX0KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIvc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IGVjNDBjMGI3YzQyLi4yZDRjMzQ2NDcz YiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCisrKyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtNDczLDcgKzQ3Myw3IEBA IHR5cGVkZWYgc3RydWN0IFhMb2dDdGxEYXRhCiAJWExvZ1JlY1B0cglJbml0aWFsaXplZEZy b207CiAKIAkvKgotCSAqIExhdGVzdCByZXNlcnZlZCBmb3IgaW5pdGl0YWxpemF0aW9uIHBh Z2UgaW4gdGhlIGNhY2hlIChsYXN0IGJ5dGUKKwkgKiBMYXRlc3QgcmVzZXJ2ZWQgZm9yIGlu aXRpYWxpemF0aW9uIHBhZ2UgaW4gdGhlIGNhY2hlIChsYXN0IGJ5dGUKIAkgKiBwb3NpdGlv biArIDEpLgogCSAqCiAJICogVG8gY2hhbmdlIHRoZSBpZGVudGl0eSBvZiBhIGJ1ZmZlciwg eW91IG5lZWQgdG8gYWR2YW5jZQpAQCAtMjIyMSw3ICsyMjIxLDcgQEAgQWR2YW5jZVhMSW5z ZXJ0QnVmZmVyKFhMb2dSZWNQdHIgdXB0bywgVGltZUxpbmVJRCB0bGksIGJvb2wgb3Bwb3J0 dW5pc3RpYykKIAkJICoJICBtIG11c3Qgb2JzZXJ2ZSBmW2tdID09IGZhbHNlLiAgT3RoZXJ3 aXNlLCBpdCB3aWxsIGxhdGVyIGF0dGVtcHQKIAkJICoJICBDQVModiwgaywgayArIDEpIHdp dGggc3VjY2Vzcy4KIAkJICogNC4gVGhlcmVmb3JlLCBjb3JyZXNwb25kaW5nIHJlYWRfYmFy cmllcigpICh3aGlsZSBqID09IGspIG9uCi0JCSAqCSAgcHJvY2VzcyBtIGhhcHBlbmQgYmVm b3JlIHdyaXRlX2JhcnJpZXIoKSBvZiBwcm9jZXNzIGsuICBCdXQgdGhlbgorCQkgKgkgIHBy b2Nlc3MgbSByZWFjaGVkIGJlZm9yZSB3cml0ZV9iYXJyaWVyKCkgb2YgcHJvY2VzcyBrLiAg QnV0IHRoZW4KIAkJICoJICBwcm9jZXNzIGsgYXR0ZW1wdHMgQ0FTKHYsIGssIGsgKyAxKSBh ZnRlciBwcm9jZXNzIG0gc3VjY2Vzc2Z1bGx5CiAJCSAqCSAgaW5jcmVtZW50ZWQgdiB0byBr LCBhbmQgdGhhdCBDQVMgb3BlcmF0aW9uIG11c3Qgc3VjY2VlZC4KIAkJICoJICBUaGF0IGxl YWRzIHRvIGEgY29udHJhZGljdGlvbi4gIFNvLCB0aGVyZSBpcyBubyBzdWNoIGsgKGsgPCBu KQpAQCAtMjI1Myw3ICsyMjUzLDcgQEAgQWR2YW5jZVhMSW5zZXJ0QnVmZmVyKFhMb2dSZWNQ dHIgdXB0bywgVGltZUxpbmVJRCB0bGksIGJvb2wgb3Bwb3J0dW5pc3RpYykKIAkJCWlmIChw Z19hdG9taWNfcmVhZF91NjQoJlhMb2dDdGwtPnhsYmxvY2tzW25leHRpZHhdKSAhPSBOZXdQ YWdlRW5kUHRyKQogCQkJewogCQkJCS8qCi0JCQkJICogUGFnZSBhdCBuZXh0aWR4IHdhc24n dCBpbml0aWFsaXplZCB5ZXQsIHNvIHdlIGNhbm4ndCBtb3ZlCisJCQkJICogUGFnZSBhdCBu ZXh0aWR4IHdhc24ndCBpbml0aWFsaXplZCB5ZXQsIHNvIHdlIGNhbid0IG1vdmUKIAkJCQkg KiBJbml0aWFsaXplZFVwdG8gZnVydGhlci4gSXQgd2lsbCBiZSBtb3ZlZCBieSBiYWNrZW5k IHdoaWNoCiAJCQkJICogd2lsbCBpbml0aWFsaXplIG5leHRpZHguCiAJCQkJICovCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2NhdGFsb2cuYyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvY2F0YWxvZy5jCmluZGV4IDM1ZWJiMGNjZGE0Li42MDAwMGJkMGJjNyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9jYXRhbG9nLmMKQEAgLTE0Myw3ICsxNDMsNyBAQCBJc0NhdGFsb2dSZWxhdGlv bk9pZChPaWQgcmVsaWQpCiAgKgogICoJCVRoZSByZWxjYWNoZSBtdXN0IG5vdCB1c2UgdGhl c2UgaW5kZXhlcy4gIEluc2VydGluZyBpbnRvIGFueSBVTklRVUUKICAqCQlpbmRleCBjb21w YXJlcyBpbmRleCBrZXlzIHdoaWxlIGhvbGRpbmcgQlVGRkVSX0xPQ0tfRVhDTFVTSVZFLgot ICoJCWJ0dGV4dGNtcCgpIGNhbiBzZWFyY2ggdGhlIENPTExJRCBjYXRjYWNoZS4gIERlcGVu ZGluZyBvbiBjb25jdXJyZW50CisgKgkJYnR0ZXh0Y21wKCkgY2FuIHNlYXJjaCB0aGUgQ09M TE9JRCBjYXRjYWNoZS4gIERlcGVuZGluZyBvbiBjb25jdXJyZW50CiAgKgkJaW52YWxpZGF0 aW9uIHRyYWZmaWMsIGNhdGNhY2hlIGNhbiByZWFjaCByZWxjYWNoZSBidWlsZHMuICBBIGJh Y2tlbmQKICAqCQl3b3VsZCBzZWxmLWRlYWRsb2NrIG9uIExXTG9ja3MgaWYgdGhlIHJlbGNh Y2hlIGJ1aWxkIHJlYWQgdGhlCiAgKgkJZXhjbHVzaXZlLWxvY2tlZCBidWZmZXIuCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDgwZjY4OWJiYmM1Li4yNjViMWMzOTdmYiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTExOTk5LDcgKzExOTk5LDcgQEAg RHJvcEZvcmVpZ25LZXlDb25zdHJhaW50VHJpZ2dlcnMoUmVsYXRpb24gdHJpZ3JlbCwgT2lk IGNvbm9pZCwgT2lkIGNvbmZyZWxpZCwKIAkJaWYgKE9pZElzVmFsaWQoY29uZnJlbGlkKSAm JiB0cmdmb3JtLT50Z3JlbGlkICE9IGNvbmZyZWxpZCkKIAkJCWNvbnRpbnVlOwogCi0JCS8q IFdlIHNob3VsZCBiZSBkcm9waW5nIHRyaWdnZXIgcmVsYXRlZCB0byBmb3JlaWduIGtleSBj b25zdHJhaW50ICovCisJCS8qIFdlIHNob3VsZCBiZSBkcm9wcGluZyB0cmlnZ2VyIHJlbGF0 ZWQgdG8gZm9yZWlnbiBrZXkgY29uc3RyYWludCAqLwogCQlBc3NlcnQodHJnZm9ybS0+dGdm b2lkID09IEZfUklfRktFWV9DSEVDS19JTlMgfHwKIAkJCSAgIHRyZ2Zvcm0tPnRnZm9pZCA9 PSBGX1JJX0ZLRVlfQ0hFQ0tfVVBEIHx8CiAJCQkgICB0cmdmb3JtLT50Z2ZvaWQgPT0gRl9S SV9GS0VZX0NBU0NBREVfREVMIHx8CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwppbmRleCAy ZGE4NDg5NzBiZS4uNzIzMGY5NjgxMDEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL2V4ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwpA QCAtMTg2MSw3ICsxODYxLDcgQEAgRXhlY1JlbENoZWNrKFJlc3VsdFJlbEluZm8gKnJlc3Vs dFJlbEluZm8sCiAJTWVtb3J5Q29udGV4dCBvbGRDb250ZXh0OwogCiAJLyoKLQkgKiBDaGVj a0NvbnN0cmFpbnRGZXRjaCBsZXQgdGhpcyBwYXNzIHdpdGggb25seSBhIHdhcm5pbmcsIGJ1 dCBub3cgd2UKKwkgKiBDaGVja05OQ29uc3RyYWludEZldGNoIGxldCB0aGlzIHBhc3Mgd2l0 aCBvbmx5IGEgd2FybmluZywgYnV0IG5vdyB3ZQogCSAqIHNob3VsZCBmYWlsIHJhdGhlciB0 aGFuIHBvc3NpYmx5IGZhaWxpbmcgdG8gZW5mb3JjZSBhbiBpbXBvcnRhbnQKIAkgKiBjb25z dHJhaW50LgogCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1Bh cnRpdGlvbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCmluZGV4 IDVhNzdjMjUzODI2Li45NDM1Y2MyMWZlNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhl Y3V0b3IvZXhlY1BhcnRpdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQ YXJ0aXRpb24uYwpAQCAtMTc3OCw3ICsxNzc4LDcgQEAgYWRqdXN0X3BhcnRpdGlvbl9jb2xu b3NfdXNpbmdfbWFwKExpc3QgKmNvbG5vcywgQXR0ck1hcCAqYXR0ck1hcCkKICAqCQlVcGRh dGVzIHRoZSBQYXJ0aXRpb25QcnVuZVN0YXRlIGZvdW5kIGF0IGdpdmVuIHBhcnRfcHJ1bmVf aW5kZXggaW4KICAqCQlFU3RhdGUuZXNfcGFydF9wcnVuZV9zdGF0ZXMgZm9yIHVzZSBkdXJp bmcgImV4ZWMiIHBydW5pbmcgaWYgcmVxdWlyZWQuCiAgKgkJQWxzbyByZXR1cm5zIHRoZSBz ZXQgb2Ygc3VicGxhbnMgdG8gaW5pdGlhbGl6ZSB0aGF0IHdvdWxkIGJlIHN0b3JlZCBhdAot ICoJCXBhcnRfcHJ1bmVfaW5kZXggaW4gRVN0YXRlLmVzX3BhcnRfcHJ1bmVfcmVzdWx0IGJ5 CisgKgkJcGFydF9wcnVuZV9pbmRleCBpbiBFU3RhdGUuZXNfcGFydF9wcnVuZV9yZXN1bHRz IGJ5CiAgKgkJRXhlY0RvSW5pdGlhbFBydW5pbmcoKS4gIE1hcHMgaW4gUGFydGl0aW9uUHJ1 bmVTdGF0ZSBhcmUgdXBkYXRlZCB0bwogICoJCWFjY291bnQgZm9yIGluaXRpYWwgcHJ1bmlu ZyBwb3NzaWJseSBoYXZpbmcgZWxpbWluYXRlZCBzb21lIG9mIHRoZQogICoJCXN1YnBsYW5z LgpAQCAtMjEwOSw3ICsyMTA5LDcgQEAgQ3JlYXRlUGFydGl0aW9uUHJ1bmVTdGF0ZShFU3Rh dGUgKmVzdGF0ZSwgUGFydGl0aW9uUHJ1bmVJbmZvICpwcnVuZWluZm8sCiAJCQkgKi8KIAkJ CXBhcnRyZWwgPSBFeGVjR2V0UmFuZ2VUYWJsZVJlbGF0aW9uKGVzdGF0ZSwgcGluZm8tPnJ0 aW5kZXgsIGZhbHNlKTsKIAotCQkJLyogUmVtZW1iZXIgZm9yIEluaXRFeGVjUGFydGl0aW9u UHJ1bmVDb250ZXh0KCkuICovCisJCQkvKiBSZW1lbWJlciBmb3IgSW5pdEV4ZWNQYXJ0aXRp b25QcnVuZUNvbnRleHRzKCkuICovCiAJCQlwcHJ1bmUtPnBhcnRyZWwgPSBwYXJ0cmVsOwog CiAJCQlwYXJ0a2V5ID0gUmVsYXRpb25HZXRQYXJ0aXRpb25LZXkocGFydHJlbCk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyBiL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jCmluZGV4IDMzM2NiZjc4MzQzLi40 NmQ1MzNiNzI4OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlm eVRhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMK QEAgLTEzMTEsNyArMTMxMSw3IEBAIEV4ZWNJbnNlcnQoTW9kaWZ5VGFibGVDb250ZXh0ICpj b250ZXh0LAogCiAJCQkvKgogCQkJICogQ29udmVydCB0aGUgT0xEIHR1cGxlIHRvIHRoZSBu ZXcgcGFydGl0aW9uJ3MgZm9ybWF0L3Nsb3QsIGlmCi0JCQkgKiBuZWVkZWQuICBOb3RlIHRo YXQgRXhjZURlbGV0ZSgpIGFscmVhZHkgY29udmVydGVkIGl0IHRvIHRoZQorCQkJICogbmVl ZGVkLiAgTm90ZSB0aGF0IEV4ZWNEZWxldGUoKSBhbHJlYWR5IGNvbnZlcnRlZCBpdCB0byB0 aGUKIAkJCSAqIHJvb3QncyBwYXJ0aXRpb24ncyBmb3JtYXQvc2xvdC4KIAkJCSAqLwogCQkJ b2xkU2xvdCA9IGNvbnRleHQtPmNwRGVsZXRlZFNsb3Q7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9leGVjdXRvci9ub2RlU2Vxc2Nhbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9k ZVNlcXNjYW4uYwppbmRleCA2ZjllOTkxZWVhZS4uZWQzNWM1OGMyYzMgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVTZXFzY2FuLmMKKysrIGIvc3JjL2JhY2tlbmQv ZXhlY3V0b3Ivbm9kZVNlcXNjYW4uYwpAQCAtMTAwLDcgKzEwMCw3IEBAIFNlcVJlY2hlY2so U2VxU2NhblN0YXRlICpub2RlLCBUdXBsZVRhYmxlU2xvdCAqc2xvdCkKICAqCQlFeGVjU2Vx U2Nhbihub2RlKQogICoKICAqCQlTY2FucyB0aGUgcmVsYXRpb24gc2VxdWVudGlhbGx5IGFu ZCByZXR1cm5zIHRoZSBuZXh0IHF1YWxpZnlpbmcKLSAqCQl0dXBsZS4gVGhpcyB2YXJpYW50 IGlzIHVzZWQgd2hlbiB0aGVyZSBpcyBubyBlc19lcXBfYWN0aXZlLCBubyBxdWFsCisgKgkJ dHVwbGUuIFRoaXMgdmFyaWFudCBpcyB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gZXNfZXBxX2Fj dGl2ZSwgbm8gcXVhbAogICoJCWFuZCBubyBwcm9qZWN0aW9uLiAgUGFzc2luZyBjb25zdC1O VUxMcyBmb3IgdGhlc2UgdG8gRXhlY1NjYW5FeHRlbmRlZAogICoJCWFsbG93cyB0aGUgY29t cGlsZXIgdG8gZWxpbWluYXRlIHRoZSBhZGRpdGlvbmFsIGNvZGUgdGhhdCB3b3VsZAogICoJ CW9yZGluYXJpbHkgYmUgcmVxdWlyZWQgZm9yIHRoZSBldmFsdWF0aW9uIG9mIHRoZXNlLgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvcXVlcnlqdW1ibGVmdW5jcy5jIGIvc3Jj L2JhY2tlbmQvbm9kZXMvcXVlcnlqdW1ibGVmdW5jcy5jCmluZGV4IDI3ZmI4N2QzYWFhLi5k MWU4MmE2M2YwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvcXVlcnlqdW1ibGVm dW5jcy5jCisrKyBiL3NyYy9iYWNrZW5kL25vZGVzL3F1ZXJ5anVtYmxlZnVuY3MuYwpAQCAt MzU3LDcgKzM1Nyw3IEBAIEFwcGVuZEp1bWJsZTY0KEp1bWJsZVN0YXRlICpqc3RhdGUsIGNv bnN0IHVuc2lnbmVkIGNoYXIgKnZhbHVlKQogCiAvKgogICogRmx1c2hQZW5kaW5nTnVsbHMK LSAqCQlJbmNvcnBvcmF0ZSB0aGUgcGVuZGluZ19udWxsIHZhbHVlIGludG8gdGhlIGp1bWJs ZSBidWZmZXIuCisgKgkJSW5jb3Jwb3JhdGUgdGhlIHBlbmRpbmdfbnVsbHMgdmFsdWUgaW50 byB0aGUganVtYmxlIGJ1ZmZlci4KICAqCiAgKiBOb3RlOiBDYWxsZXJzIG11c3QgZW5zdXJl IHRoYXQgdGhlcmUncyBhdCBsZWFzdCAxIHBlbmRpbmcgTlVMTC4KICAqLwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMgYi9zcmMvYmFja2VuZC9w b3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwppbmRleCAxN2ZlZDk2ZmUyMC4uNDkwZjdjZTM2NjQg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCisrKyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBAIC0yNzE4LDcgKzI3MTgs NyBAQCBIYW5kbGVGYXRhbEVycm9yKFF1aXRTaWduYWxSZWFzb24gcmVhc29uLCBib29sIGNv bnNpZGVyX3NpZ2FicnQpCiAJLyoKIAkgKiBDaG9vc2UgdGhlIGFwcHJvcHJpYXRlIG5ldyBz dGF0ZSB0byByZWFjdCB0byB0aGUgZmF0YWwgZXJyb3IuIFVubGVzcyB3ZQogCSAqIHdlcmUg YWxyZWFkeSBpbiB0aGUgcHJvY2VzcyBvZiBzaHV0dGluZyBkb3duLCB3ZSBnbyB0aHJvdWdo Ci0JICogUE1fV0FJVF9CQUNLRU5ELiBGb3IgZXJyb3JzIGR1cmluZyB0aGUgc2h1dGRvd24g c2VxdWVuY2UsIHdlIGRpcmVjdGx5CisJICogUE1fV0FJVF9CQUNLRU5EUy4gRm9yIGVycm9y cyBkdXJpbmcgdGhlIHNodXRkb3duIHNlcXVlbmNlLCB3ZSBkaXJlY3RseQogCSAqIHN3aXRj aCB0byBQTV9XQUlUX0RFQURfRU5ELgogCSAqLwogCXN3aXRjaCAocG1TdGF0ZSkKQEAgLTMw MDEsNyArMzAwMSw3IEBAIFBvc3RtYXN0ZXJTdGF0ZU1hY2hpbmUodm9pZCkKIAkJCQkvKgog CQkJCSAqIFN0b3AgYW55IGRlYWQtZW5kIGNoaWxkcmVuIGFuZCBzdG9wIGNyZWF0aW5nIG5l dyBvbmVzLgogCQkJCSAqCi0JCQkJICogTkI6IFNpbWlsYXIgY29kZSBleGlzdHMgaW4gSGFu ZGxlRmF0YWxFcnJvcnMoKSwgd2hlbiB0aGUKKwkJCQkgKiBOQjogU2ltaWxhciBjb2RlIGV4 aXN0cyBpbiBIYW5kbGVGYXRhbEVycm9yKCksIHdoZW4gdGhlCiAJCQkJICogZXJyb3IgaGFw cGVucyBpbiBwbVN0YXRlID4gUE1fV0FJVF9CQUNLRU5EUy4KIAkJCQkgKi8KIAkJCQlVcGRh dGVQTVN0YXRlKFBNX1dBSVRfREVBRF9FTkQpOwpAQCAtMzA4Miw3ICszMDgyLDcgQEAgUG9z dG1hc3RlclN0YXRlTWFjaGluZSh2b2lkKQogCXsKIAkJLyoKIAkJICogUE1fV0FJVF9JT19X T1JLRVJTIHN0YXRlIGVuZHMgd2hlbiB0aGVyZSdzIG9ubHkgY2hlY2twb2ludGVyIGFuZAot CQkgKiBkZWFkX2VuZCBjaGlsZHJlbiBsZWZ0LgorCQkgKiBkZWFkLWVuZCBjaGlsZHJlbiBs ZWZ0LgogCQkgKi8KIAkJaWYgKGlvX3dvcmtlcl9jb3VudCA9PSAwKQogCQl7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Fpby9SRUFETUUubWQgYi9zcmMvYmFja2VuZC9z dG9yYWdlL2Fpby9SRUFETUUubWQKaW5kZXggYjAwZGUyNjlhZDkuLmYxMGI1YzdlMzFlIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Fpby9SRUFETUUubWQKKysrIGIvc3Jj L2JhY2tlbmQvc3RvcmFnZS9haW8vUkVBRE1FLm1kCkBAIC0xMDMsNyArMTAzLDcgQEAgcGdh aW9faW9fc2V0X2hhbmRsZV9kYXRhXzMyKGlvaCwgKHVpbnQzMiAqKSBidWZmZXIsIDEpOwog ICoKICAqIEUuZy4gbWQuYyBuZWVkcyB0byB0cmFuc2xhdGUgYmxvY2sgbnVtYmVycyBpbnRv IG9mZnNldHMgaW4gc2VnbWVudHMuCiAgKgotICogT25jZSB0aGUgSU8gaGFuZGxlIGhhcyBi ZWVuIGhhbmRlZCBvZmYgdG8gc21nc3RhcnRyZWFkdigpLCBpdCBtYXkgbm90CisgKiBPbmNl IHRoZSBJTyBoYW5kbGUgaGFzIGJlZW4gaGFuZGVkIG9mZiB0byBzbWdyc3RhcnRyZWFkdigp LCBpdCBtYXkgbm90CiAgKiBmdXJ0aGVyIGJlIHVzZWQsIGFzIHRoZSBJTyBtYXkgaW1tZWRp YXRlbHkgZ2V0IGV4ZWN1dGVkIGJlbG93CiAgKiBzbWdyc3RhcnRyZWFkdigpIGFuZCB0aGUg aGFuZGxlIHJldXNlZCBmb3IgYW5vdGhlciBJTy4KICAqCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9zdG9yYWdlL2Fpby9tZXRob2Rfd29ya2VyLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdl L2Fpby9tZXRob2Rfd29ya2VyLmMKaW5kZXggOGFkMTdlYzFlZjcuLjVmZjU0ZjVjODJjIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Fpby9tZXRob2Rfd29ya2VyLmMKKysr IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9haW8vbWV0aG9kX3dvcmtlci5jCkBAIC0zMjEsNyAr MzIxLDcgQEAgcGdhaW9fd29ya2VyX2RpZShpbnQgY29kZSwgRGF0dW0gYXJnKQogfQogCiAv KgotICogUmVnaXN0ZXIgdGhlIHdvcmtlciBpbiBzaGFyZWQgbWVtb3J5LCBhc3NpZ24gTXlX b3JrZXJJZCBhbmQgcmVnaXN0ZXIgYQorICogUmVnaXN0ZXIgdGhlIHdvcmtlciBpbiBzaGFy ZWQgbWVtb3J5LCBhc3NpZ24gTXlJb1dvcmtlcklkIGFuZCByZWdpc3RlciBhCiAgKiBzaHV0 ZG93biBjYWxsYmFjayB0byByZWxlYXNlIHJlZ2lzdHJhdGlvbi4KICAqLwogc3RhdGljIHZv aWQKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jIGIv c3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKaW5kZXggMWYyYTlmZTk5NzYu LmZlMGNlZWFkYzEzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9i dWZtZ3IuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwpAQCAt NDk3MCw3ICs0OTcwLDcgQEAgRmx1c2hSZWxhdGlvbkJ1ZmZlcnMoUmVsYXRpb24gcmVsKQog CQkJCVJlc291cmNlT3duZXJFbmxhcmdlKEN1cnJlbnRSZXNvdXJjZU93bmVyKTsKIAogCQkJ CS8qCi0JCQkJICogUGluL3VwaW4gbW9zdGx5IHRvIG1ha2UgdmFsZ3JpbmQgd29yaywgYnV0 IGl0IGFsc28gc2VlbXMKKwkJCQkgKiBQaW4vdW5waW4gbW9zdGx5IHRvIG1ha2UgdmFsZ3Jp bmQgd29yaywgYnV0IGl0IGFsc28gc2VlbXMKIAkJCQkgKiBsaWtlIHRoZSByaWdodCB0aGlu ZyB0byBkby4KIAkJCQkgKi8KIAkJCQlQaW5Mb2NhbEJ1ZmZlcihidWZIZHIsIGZhbHNlKTsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvcGFnZS9idWZwYWdlLmMgYi9zcmMv YmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCmluZGV4IDgyNDU3YmFjYzYyLi5kYmI0 OWVkOTE5NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9wYWdlL2J1ZnBhZ2Uu YworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL3BhZ2UvYnVmcGFnZS5jCkBAIC04OCw3ICs4 OCw3IEBAIFBhZ2VJbml0KFBhZ2UgcGFnZSwgU2l6ZSBwYWdlU2l6ZSwgU2l6ZSBzcGVjaWFs U2l6ZSkKICAqIFRvIGFsbG93IHRoZSBjYWxsZXIgdG8gcmVwb3J0IHN0YXRpc3RpY3MgYWJv dXQgY2hlY2tzdW0gZmFpbHVyZXMsCiAgKiAqY2hlY2tzdW1fZmFpbHVyZV9wIGNhbiBiZSBw YXNzZWQgaW4uIE5vdGUgdGhhdCB0aGVyZSBtYXkgYmUgY2hlY2tzdW0KICAqIGZhaWx1cmVz IGV2ZW4gaWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUsIGR1ZSB0bwotICogSUdOT1JF X0NIRUNLU1VNX0ZBSUxVUkUuCisgKiBQSVZfSUdOT1JFX0NIRUNLU1VNX0ZBSUxVUkUuCiAg Ki8KIGJvb2wKIFBhZ2VJc1ZlcmlmaWVkKFBhZ2VEYXRhICpwYWdlLCBCbG9ja051bWJlciBi bGtubywgaW50IGZsYWdzLCBib29sICpjaGVja3N1bV9mYWlsdXJlX3ApCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvbWN4dGZ1bmNzLmMKaW5kZXggMjU0Y2RkMzRmYmEuLjIwNmI2MDFhNTJiIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvbWN4dGZ1bmNzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L21jeHRmdW5jcy5jCkBAIC0zMjMsOCArMzIzLDggQEAgcGdfbG9n X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzKFBHX0ZVTkNUSU9OX0FSR1MpCiAgKgkJU2lnbmFs IGEgYmFja2VuZCBvciBhbiBhdXhpbGlhcnkgcHJvY2VzcyB0byBzZW5kIGl0cyBtZW1vcnkg Y29udGV4dHMsCiAgKgkJd2FpdCBmb3IgdGhlIHJlc3VsdHMgYW5kIGRpc3BsYXkgdGhlbS4K ICAqCi0gKiBCeSBkZWZhdWx0LCBvbmx5IHN1cGVydXNlcnMgb3IgdXNlcnMgd2l0aCBQR19S RUFEX0FMTF9TVEFUUyBhcmUgYWxsb3dlZCB0bwotICogc2lnbmFsIGEgcHJvY2VzcyB0byBy ZXR1cm4gdGhlIG1lbW9yeSBjb250ZXh0cy4gVGhpcyBpcyBiZWNhdXNlIGFsbG93aW5nCisg KiBCeSBkZWZhdWx0LCBvbmx5IHN1cGVydXNlcnMgb3IgdXNlcnMgd2l0aCBST0xFX1BHX1JF QURfQUxMX1NUQVRTIGFyZSBhbGxvd2VkCisgKiB0byBzaWduYWwgYSBwcm9jZXNzIHRvIHJl dHVybiB0aGUgbWVtb3J5IGNvbnRleHRzLiBUaGlzIGlzIGJlY2F1c2UgYWxsb3dpbmcKICAq IGFueSB1c2VycyB0byBpc3N1ZSB0aGlzIHJlcXVlc3QgYXQgYW4gdW5ib3VuZGVkIHJhdGUg d291bGQgY2F1c2UgbG90cyBvZgogICogcmVxdWVzdHMgdG8gYmUgc2VudCwgd2hpY2ggY2Fu IGxlYWQgdG8gZGVuaWFsIG9mIHNlcnZpY2UuIEFkZGl0aW9uYWwgcm9sZXMKICAqIGNhbiBi ZSBwZXJtaXR0ZWQgd2l0aCBHUkFOVC4KQEAgLTQ5NSw3ICs0OTUsNyBAQCBwZ19nZXRfcHJv Y2Vzc19tZW1vcnlfY29udGV4dHMoUEdfRlVOQ1RJT05fQVJHUykKIAkJCSAqIHN0YXRpc3Rp Y3MgYXJlIGF2YWlsYWJsZSB3aXRoaW4gdGhlIGFsbG93ZWQgdGltZSB0aGVuIGRpc3BsYXkK IAkJCSAqIHByZXZpb3VzbHkgcHVibGlzaGVkIHN0YXRpc3RpY3MgaWYgdGhlcmUgYXJlIGFu eS4gSWYgbm8KIAkJCSAqIHByZXZpb3VzIHN0YXRpc3RpY3MgYXJlIGF2YWlsYWJsZSB0aGVu IHJldHVybiBOVUxMLiAgVGhlIHRpbWVyCi0JCQkgKiBpcyBkZWZpbmVkIGluIG1pbGxpc2Vj b25kcyBzaW5jZSB0aGF0cyB3aGF0IHRoZSBjb25kaXRpb24KKwkJCSAqIGlzIGRlZmluZWQg aW4gbWlsbGlzZWNvbmRzIHNpbmNlIHRoYXQncyB3aGF0IHRoZSBjb25kaXRpb24KIAkJCSAq IHZhcmlhYmxlIHNsZWVwIHVzZXMuCiAJCQkgKi8KIAkJCWlmIChDb25kaXRpb25WYXJpYWJs ZVRpbWVkU2xlZXAoJm1lbUN4dFN0YXRlW3Byb2NOdW1iZXJdLm1lbWN4dF9jdiwKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ19sb2NhbGUuYwppbmRleCBhNzNhYWM0Zjk4Yy4uYWI2MzE3ZGU1YWUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ19sb2NhbGUuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcGdfbG9jYWxlLmMKQEAgLTE5LDcgKzE5LDcgQEAKICAq IGltbWVkaWF0ZWx5LgogICoKICAqIFRoZSBvdGhlciBjYXRlZ29yaWVzLCBMQ19NT05FVEFS WSwgTENfTlVNRVJJQywgYW5kIExDX1RJTUUgYXJlCi0gKiBwZXJtYW5lbnRhbHkgc2V0IHRv ICJDIiwgYW5kIHRoZW4gd2UgdXNlIHRlbXBvcmFyeSBsb2NhbGVfdAorICogcGVybWFuZW50 bHkgc2V0IHRvICJDIiwgYW5kIHRoZW4gd2UgdXNlIHRlbXBvcmFyeSBsb2NhbGVfdAogICog b2JqZWN0cyB3aGVuIHdlIG5lZWQgdG8gbG9vayB1cCBsb2NhbGUgZGF0YSBiYXNlZCBvbiB0 aGUgR1VDcwogICogb2YgdGhlIHNhbWUgbmFtZS4gIEluZm9ybWF0aW9uIGlzIGNhY2hlZCB3 aGVuIHRoZSBHVUNzIGNoYW5nZS4KICAqIFRoZSBjYWNoZWQgaW5mb3JtYXRpb24gaXMgb25s eSB1c2VkIGJ5IHRoZSBmb3JtYXR0aW5nIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvY2FjaGUvcGxhbmNhY2hlLmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNo ZS9wbGFuY2FjaGUuYwppbmRleCAzYjY4MTY0NzA2MC4uOWJjYmM0YzNlOTcgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3BsYW5jYWNoZS5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL3BsYW5jYWNoZS5jCkBAIC0xMjcxLDcgKzEyNzEsNyBAQCBVcGRh dGVDYWNoZWRQbGFuKENhY2hlZFBsYW5Tb3VyY2UgKnBsYW5zb3VyY2UsIGludCBxdWVyeV9p bmRleCwKIAkvKgogCSAqIFhYWCBTaG91bGQgdGhpcyBhbHNvIChyZSlzZXQgdGhlIHByb3Bl cnRpZXMgb2YgdGhlIENhY2hlZFBsYW4gdGhhdCBhcmUKIAkgKiBzZXQgaW4gQnVpbGRDYWNo ZWRQbGFuKCkgYWZ0ZXIgY3JlYXRpbmcgdGhlIGZyZXNoIHBsYW5zIHN1Y2ggYXMKLQkgKiBw bGFuUm9sZUlkLCBkZXBlbmRzT25Sb2xlLCBhbmQgc2F2ZV94bWluPworCSAqIHBsYW5Sb2xl SWQsIGRlcGVuZHNPblJvbGUsIGFuZCBzYXZlZF94bWluPwogCSAqLwogCiAJLyoKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4dC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvbW1nci9tY3h0LmMKaW5kZXggZTlhYWIzNmQxMTAuLjQ2OGQwMjUwYjJlIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9tbWdyL21jeHQuYwpAQCAtOTEwLDcgKzkxMCw3IEBAIE1lbW9yeUNvbnRleHRTdGF0 c0RldGFpbChNZW1vcnlDb250ZXh0IGNvbnRleHQsCiAgKgogICogUHJpbnQgc3RhdHMgZm9y IHRoaXMgY29udGV4dCBpZiBwb3NzaWJsZSwgYnV0IGluIGFueSBjYXNlIGFjY3VtdWxhdGUg Y291bnRzCiAgKiBpbnRvICp0b3RhbHMgKGlmIG5vdCBOVUxMKS4gVGhlIGNhbGxlcnMgc2hv dWxkIG1ha2Ugc3VyZSB0aGF0IHByaW50X2xvY2F0aW9uCi0gKiBpcyBzZXQgdG8gUFJJTlRf U1RBVFNfU1RERVJSIG9yIFBSSU5UX1NUQVRTX1RPX0xPR1Mgb3IgUFJJTlRfU1RBVFNfTk9O RS4KKyAqIGlzIHNldCB0byBQUklOVF9TVEFUU19UT19TVERFUlIgb3IgUFJJTlRfU1RBVFNf VE9fTE9HUyBvciBQUklOVF9TVEFUU19OT05FLgogICovCiBzdGF0aWMgdm9pZAogTWVtb3J5 Q29udGV4dFN0YXRzSW50ZXJuYWwoTWVtb3J5Q29udGV4dCBjb250ZXh0LCBpbnQgbGV2ZWws CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvdC8wMDZfcGdfZHVtcGFsbC5wbCBiL3Ny Yy9iaW4vcGdfZHVtcC90LzAwNl9wZ19kdW1wYWxsLnBsCmluZGV4IGQ2ODIxYzU2MTVmLi41 YWNkNDlmMTU1OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDA2X3BnX2R1bXBh bGwucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDA2X3BnX2R1bXBhbGwucGwKQEAgLTM4 NCw3ICszODQsNyBAQCAkbm9kZS0+Y29tbWFuZF9mYWlsc19saWtlKAogCQknLS1mb3JtYXQn ID0+ICdjdXN0b20nLAogCQknLWQnID0+ICdkYnBxJywgXSwKIAlxci9cUXBnX3Jlc3RvcmU6 IGVycm9yOiBjb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSAiZGJwcSJcRS8sCi0JJ1do ZW4gbm9uLWV4aXN0IGRhdGJhc2UgaXMgZ2l2ZW4gd2l0aCAtZCBvcHRpb24gaW4gcGdfcmVz dG9yZSB3aXRoIGR1bXAgb2YgcGdfZHVtcGFsbCcpOworCSdXaGVuIG5vbi1leGlzdGVudCBk YXRhYmFzZSBpcyBnaXZlbiB3aXRoIC1kIG9wdGlvbiBpbiBwZ19yZXN0b3JlIHdpdGggZHVt cCBvZiBwZ19kdW1wYWxsJyk7CiAKICRub2RlLT5zdG9wKCdmYXN0Jyk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfdXBncmFkZS9yZWxmaWxlbnVtYmVyLmMgYi9zcmMvYmluL3BnX3Vw Z3JhZGUvcmVsZmlsZW51bWJlci5jCmluZGV4IGFhMjA1YWVjNTFkLi43OWJjNDc0YTBiYiAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ191cGdyYWRlL3JlbGZpbGVudW1iZXIuYworKysgYi9z cmMvYmluL3BnX3VwZ3JhZGUvcmVsZmlsZW51bWJlci5jCkBAIC0zNiw3ICszNiw3IEBAIHN0 YXRpYyB2b2lkIHRyYW5zZmVyX3JlbGZpbGUoRmlsZU5hbWVNYXAgKm1hcCwgY29uc3QgY2hh ciAqdHlwZV9zdWZmaXgsIGJvb2wgdm1fCiAgKgogICogICAgIC8vIGJlIHN1cmUgdG8gc3lu YyBhbnkgcmVtYWluaW5nIGZpbGVzIGluIHRoZSBxdWV1ZQogICogICAgIHN5bmNfcXVldWVf c3luY19hbGwoKTsKLSAqICAgICBzeW5xX3F1ZXVlX2Rlc3Ryb3koKTsKKyAqICAgICBzeW5j X3F1ZXVlX2Rlc3Ryb3koKTsKICAqLwogCiAjZGVmaW5lIFNZTkNfUVVFVUVfTUFYX0xFTgko MTAyNCkKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdXBncmFkZS90LzAwMl9wZ191cGdyYWRl LnBsIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDAyX3BnX3VwZ3JhZGUucGwKaW5kZXggNzhm YWI0ODM0OWIuLjdkODI1OTM4NzlkIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUv dC8wMDJfcGdfdXBncmFkZS5wbAorKysgYi9zcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDJfcGdf dXBncmFkZS5wbApAQCAtNzIsNyArNzIsNyBAQCBzdWIgZmlsdGVyX2R1bXAKICMgYWRqdXN0 X2NoaWxkX2NvbHVtbnMgaXMgcGFzc2VkIHRvIGFkanVzdF9yZWdyZXNzX2R1bXBmaWxlKCkg d2hpY2ggYWN0dWFsbHkKICMgYWRqdXN0cyB0aGUgZHVtcCBvdXRwdXQuCiAjCi0jIFRoZSBu YW1lIG9mIHRoZSBmaWxlIGNvbnRhaW50aW5nIGFkanVzdGVkIGR1bXAgaXMgcmV0dXJuZWQu CisjIFRoZSBuYW1lIG9mIHRoZSBmaWxlIGNvbnRhaW5pbmcgYWRqdXN0ZWQgZHVtcCBpcyBy ZXR1cm5lZC4KIHN1YiBnZXRfZHVtcF9mb3JfY29tcGFyaXNvbgogewogCW15ICgkbm9kZSwg JGRiLCAkZmlsZV9wcmVmaXgsICRhZGp1c3RfY2hpbGRfY29sdW1ucykgPSBAXzsKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcHNxbC9jb21tb24uYyBiL3NyYy9iaW4vcHNxbC9jb21tb24uYwpp bmRleCA1MzgyYTA3Yjc0ZC4uMjFkNjYwYTg5NjEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNx bC9jb21tb24uYworKysgYi9zcmMvYmluL3BzcWwvY29tbW9uLmMKQEAgLTE0NTksNyArMTQ1 OSw3IEBAIERlc2NyaWJlUXVlcnkoY29uc3QgY2hhciAqcXVlcnksIGRvdWJsZSAqZWxhcHNl ZF9tc2VjKQogICoKICAqIElmIGEgc3luY2hyb25pc2F0aW9uIHBvaW50IGlzIGZvdW5kLCB3 ZSBjYW4gc3RvcCBkaXNjYXJkaW5nIHJlc3VsdHMgYXMKICAqIHRoZSBwaXBlbGluZSB3aWxs IHN3aXRjaCBiYWNrIHRvIGEgY2xlYW4gc3RhdGUuICBJZiBubyBzeW5jaHJvbmlzYXRpb24K LSAqIHBvaW50IGlzIGF2YWlsYWJsZSwgd2UgbmVlZCB0byBzdG9wIHdoZW4gdGhlciBhcmUg bm8gbW9yZSBwZW5kaW5nCisgKiBwb2ludCBpcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gc3Rv cCB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIHBlbmRpbmcKICAqIHJlc3VsdHMsIG90aGVyd2lz ZSwgY2FsbGluZyBQUWdldFJlc3VsdCgpIHdvdWxkIGJsb2NrLgogICovCiBzdGF0aWMgUEdy ZXN1bHQgKgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBs IGIvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBsCmluZGV4IGJiNTZiMzUzNDky Li43NWFjMjRhN2E1NSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1 bWRiLnBsCisrKyBiL3NyYy9iaW4vc2NyaXB0cy90LzEwMF92YWN1dW1kYi5wbApAQCAtMTk3 LDcgKzE5Nyw3IEBAICRub2RlLT5jb21tYW5kX2ZhaWxzX2xpa2UoCiAJCSdwb3N0Z3Jlcycs CiAJXSwKIAlxci9jYW5ub3QgdmFjdXVtIHNwZWNpZmljIHRhYmxlXChzXCkgYW5kIGV4Y2x1 ZGUgc2NoZW1hXChzXCkgYXQgdGhlIHNhbWUgdGltZS8sCi0JJ2Nhbm5vdCB1c2Ugb3B0aW9u cyAtLWV4Y2x1ZGVzLWNoZW1hIGFuZCAtLS10YWJsZSBhdCB0aGUgc2FtZSB0aW1lJyk7CisJ J2Nhbm5vdCB1c2Ugb3B0aW9ucyAtLWV4Y2x1ZGUtc2NoZW1hIGFuZCAtLS10YWJsZSBhdCB0 aGUgc2FtZSB0aW1lJyk7CiAkbm9kZS0+Y29tbWFuZF9mYWlsc19saWtlKAogCVsKIAkJJ3Zh Y3V1bWRiJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9naW5fdHVwbGUuaCBi L3NyYy9pbmNsdWRlL2FjY2Vzcy9naW5fdHVwbGUuaAppbmRleCBjZTU1NTAzMTMzNS4uNGE1 MDU2NTk2MGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9naW5fdHVwbGUuaAor KysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MvZ2luX3R1cGxlLmgKQEAgLTcsOCArNyw4IEBACiAg KglzcmMvaW5jbHVkZS9hY2Nlc3MvZ2luLmgKICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAq LwotI2lmbmRlZiBHSU5fVFVQTEVfCi0jZGVmaW5lIEdJTl9UVVBMRV8KKyNpZm5kZWYgR0lO X1RVUExFX0gKKyNkZWZpbmUgR0lOX1RVUExFX0gKIAogI2luY2x1ZGUgImFjY2Vzcy9naW5i bG9jay5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaXRlbXB0ci5oIgpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9k ZXMuaAppbmRleCBiYjY3OGJkY2RjZC4uMDExZTVhODExYzMgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhu b2Rlcy5oCkBAIC0xNTkyLDcgKzE1OTIsNyBAQCB0eXBlZGVmIHN0cnVjdAogICogZXF1aXZh bGVudCBhbmQgY2xvc2VseS1yZWxhdGVkIG9yZGVyaW5ncy4gKFNlZSBvcHRpbWl6ZXIvUkVB RE1FIGZvciBtb3JlCiAgKiBpbmZvcm1hdGlvbi4pCiAgKgotICogTm90ZTogcGtfc3RyYXRl Z3kgaXMgZWl0aGVyIENPTVBBUkVfTFQgKGZvciBBU0MpIG9yIENPTVBBUkVfR1QgKGZvciBE RVNDKS4KKyAqIE5vdGU6IHBrX2NtcHR5cGUgaXMgZWl0aGVyIENPTVBBUkVfTFQgKGZvciBB U0MpIG9yIENPTVBBUkVfR1QgKGZvciBERVNDKS4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgUGF0 aEtleQogewpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9haW9fc3Vic3lzLmgg Yi9zcmMvaW5jbHVkZS9zdG9yYWdlL2Fpb19zdWJzeXMuaAppbmRleCA4YThjZTg3ZjYyYS4u MGNmMzZiYjM1ZGEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYWlvX3N1YnN5 cy5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYWlvX3N1YnN5cy5oCkBAIC0zMSw3ICsz MSw3IEBAIGV4dGVybiB2b2lkIHBnYWlvX2Vycm9yX2NsZWFudXAodm9pZCk7CiBleHRlcm4g dm9pZCBBdEVPWGFjdF9BaW8oYm9vbCBpc19jb21taXQpOwogCiAKLS8qIGFpb193b3JrZXIu YyAqLworLyogbWV0aG9kX3dvcmtlci5jICovCiBleHRlcm4gYm9vbCBwZ2Fpb193b3JrZXJz X2VuYWJsZWQodm9pZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBBSU9fU1VCU1lTX0ggKi8KZGlm ZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWF1dGgtb2F1dGgtY3VybC5jIGIv c3JjL2ludGVyZmFjZXMvbGlicHEvZmUtYXV0aC1vYXV0aC1jdXJsLmMKaW5kZXggZGRkODdk Y2YwMmQuLmMxOTVlMDBjZDI4IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1hdXRoLW9hdXRoLWN1cmwuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1hdXRo LW9hdXRoLWN1cmwuYwpAQCAtMTIwNSw3ICsxMjA1LDcgQEAgcmVnaXN0ZXJfc29ja2V0KENV UkwgKmN1cmwsIGN1cmxfc29ja2V0X3Qgc29ja2V0LCBpbnQgd2hhdCwgdm9pZCAqY3R4LAog CXJlcyA9IGVwb2xsX2N0bChhY3R4LT5tdXgsIG9wLCBzb2NrZXQsICZldik7CiAJaWYgKHJl cyA8IDAgJiYgZXJybm8gPT0gRUVYSVNUKQogCXsKLQkJLyogV2UgYWxyZWFkeSBoYWQgdGhp cyBzb2NrZXQgaW4gdGhlIHBvbGxzZXQuICovCisJCS8qIFdlIGFscmVhZHkgaGFkIHRoaXMg c29ja2V0IGluIHRoZSBwb2xsIHNldC4gKi8KIAkJb3AgPSBFUE9MTF9DVExfTU9EOwogCQly ZXMgPSBlcG9sbF9jdGwoYWN0eC0+bXV4LCBvcCwgc29ja2V0LCAmZXYpOwogCX0KZGlmZiAt LWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNhbmNlbC5jIGIvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtY2FuY2VsLmMKaW5kZXggZTg0ZTY0YmYyYTcuLjI1ZGUyYTMzN2M5IDEw MDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jYW5jZWwuYworKysgYi9zcmMv aW50ZXJmYWNlcy9saWJwcS9mZS1jYW5jZWwuYwpAQCAtNTAsNyArNTAsNyBAQCBzdHJ1Y3Qg cGdfY2FuY2VsCiAJCQkJCQkJCQkgKiByZXRyYW5zbWl0cyAqLwogCiAJLyogUHJlLWNvbnN0 cnVjdGVkIGNhbmNlbCByZXF1ZXN0IHBhY2tldCBzdGFydHMgaGVyZSAqLwotCWludDMyCQlj YW5jZWxfcGt0X2xlbjsgLyogaW4gbmV0d29yay1ieXRlLW9yZGVyICovCisJaW50MzIJCWNh bmNlbF9wa3RfbGVuOyAvKiBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIgKi8KIAljaGFyCQljYW5j ZWxfcmVxW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07CS8qIENhbmNlbFJlcXVlc3RQYWNrZXQg Ki8KIH07CiAKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3Qu YyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYwppbmRleCBiZDg2ZGU1M2M2 Ny4uZTA4YjM0NDI3NmYgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLWNv bm5lY3QuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1jb25uZWN0LmMKQEAgLTY5 Myw3ICs2OTMsNyBAQCBwcURyb3BTZXJ2ZXJEYXRhKFBHY29ubiAqY29ubikKIAljb25uLT5v YXV0aF93YW50X3JldHJ5ID0gZmFsc2U7CiAKIAkvKgotCSAqIENhbmNlbCBjb25uZWN0aW9u cyBuZWVkIHRvIHJldGFpbiB0aGVpciBiZV9waWQgYW5kIGJlX2tleSBhY3Jvc3MKKwkgKiBD YW5jZWwgY29ubmVjdGlvbnMgbmVlZCB0byByZXRhaW4gdGhlaXIgYmVfcGlkIGFuZCBiZV9j YW5jZWxfa2V5IGFjcm9zcwogCSAqIFBRY2FuY2VsUmVzZXQgaW52b2NhdGlvbnMsIG90aGVy d2lzZSB0aGV5IHdvdWxkIG5vdCBoYXZlIGFjY2VzcyB0byB0aGUKIAkgKiBzZWNyZXQgdG9r ZW4gb2YgdGhlIGNvbm5lY3Rpb24gdGhleSBhcmUgc3VwcG9zZWQgdG8gY2FuY2VsLgogCSAq LwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtcHJvdG9jb2wzLmMgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS9mZS1wcm90b2NvbDMuYwppbmRleCBkODU5MTBmNDFmYy4u Y2ExOWU2NTRhMWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXByb3Rv Y29sMy5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXByb3RvY29sMy5jCkBAIC0x NDg2LDcgKzE0ODYsNyBAQCBwcUdldE5lZ290aWF0ZVByb3RvY29sVmVyc2lvbjMoUEdjb25u ICpjb25uKQogCXJldHVybiAwOwogCiBlb2Y6Ci0JbGlicHFfYXBwZW5kX2Nvbm5fZXJyb3Io Y29ubiwgInJlY2VpdmVkIGludmFsaWQgcHJvdG9jb2wgbmVnb3RhdGlvbiBtZXNzYWdlOiBt ZXNzYWdlIHRvbyBzaG9ydCIpOworCWxpYnBxX2FwcGVuZF9jb25uX2Vycm9yKGNvbm4sICJy ZWNlaXZlZCBpbnZhbGlkIHByb3RvY29sIG5lZ290aWF0aW9uIG1lc3NhZ2U6IG1lc3NhZ2Ug dG9vIHNob3J0Iik7CiBmYWlsdXJlOgogCWNvbm4tPmFzeW5jU3RhdHVzID0gUEdBU1lOQ19S RUFEWTsKIAlwcVNhdmVFcnJvclJlc3VsdChjb25uKTsKZGlmZiAtLWdpdCBhL3NyYy9wb3J0 L3BnX2xvY2FsZWNvbnZfci5jIGIvc3JjL3BvcnQvcGdfbG9jYWxlY29udl9yLmMKaW5kZXgg OTM4YjRmODJlMTIuLjQ1NTRhYjg0ZTliIDEwMDY0NAotLS0gYS9zcmMvcG9ydC9wZ19sb2Nh bGVjb252X3IuYworKysgYi9zcmMvcG9ydC9wZ19sb2NhbGVjb252X3IuYwpAQCAtMjE2LDcg KzIxNiw3IEBAIHBnX2xvY2FsZWNvbnZfY29weV9tZW1iZXJzKHN0cnVjdCBsY29udiAqZHN0 LAogICogaW1wbGllZCBieSB0aGUgTENfTU9ORVRBUlkgb3IgTENfTlVNRVJJQyBsb2NhbGUg bmFtZS4gIE9uIFdpbmRvd3MsIExDX0NUWVBFCiAgKiBoYXMgdG8gbWF0Y2ggdG8gZ2V0IHNh bmUgcmVzdWx0cy4KICAqCi0gKiBUbyBnZXQgcHJlZGljYWJsZSByZXN1bHRzIG9uIGFsbCBw bGF0Zm9ybXMsIHdlJ2xsIGNhbGwgdGhlIHVuZGVybHlpbmcKKyAqIFRvIGdldCBwcmVkaWN0 YWJsZSByZXN1bHRzIG9uIGFsbCBwbGF0Zm9ybXMsIHdlJ2xsIGNhbGwgdGhlIHVuZGVybHlp bmcKICAqIHJvdXRpbmVzIHdpdGggTENfQUxMIHNldCB0byB0aGUgYXBwcm9wcmlhdGUgbG9j YWxlIGZvciBlYWNoIHNldCBvZiBtZW1iZXJzLAogICogYW5kIG1lcmdlIHRoZSByZXN1bHRz LiAgVGhyZWUgbWVtYmVycyBvZiB0aGUgcmVzdWx0aW5nIG9iamVjdCBhcmUgdGhlcmVmb3Jl CiAgKiBndWFyYW50ZWVkIHRvIGJlIGVuY29kZWQgd2l0aCBMQ19OVU1FUklDJ3MgY29kZXNl dDogImRlY2ltYWxfcG9pbnQiLApAQCAtMjI0LDcgKzIyNCw3IEBAIHBnX2xvY2FsZWNvbnZf Y29weV9tZW1iZXJzKHN0cnVjdCBsY29udiAqZHN0LAogICogTENfTU9ORVRBUlkncyBjb2Rl c2V0LgogICoKICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLiAgUmV0dXJucyBub24temVybyBv biBmYWlsdXJlLCBhbmQgc2V0cyBlcnJuby4gIE9uCi0gKiBzdWNjZXNzLCB0aGUgY2FsbGVy IGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIHBnX2xvY2FsZWNvbmZfZnJlZSgpIG9uIHRo ZQorICogc3VjY2VzcywgdGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgY2FsbGluZyBw Z19sb2NhbGVjb252X2ZyZWUoKSBvbiB0aGUKICAqIG91dHB1dCBzdHJ1Y3QgdG8gZnJlZSB0 aGUgc3RyaW5nIG1lbWJlcnMgaXQgY29udGFpbnMuCiAgKi8KIGludApkaWZmIC0tZ2l0IGEv c3JjL3BvcnQvcGdfcG9wY291bnRfYWFyY2g2NC5jIGIvc3JjL3BvcnQvcGdfcG9wY291bnRf YWFyY2g2NC5jCmluZGV4IGJlZDBmN2FiMjQyLi5lNTE1ZTRkNDViOCAxMDA2NDQKLS0tIGEv c3JjL3BvcnQvcGdfcG9wY291bnRfYWFyY2g2NC5jCisrKyBiL3NyYy9wb3J0L3BnX3BvcGNv dW50X2FhcmNoNjQuYwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHBnX3BvcGNvdW50X21hc2tlZF9u ZW9uKGNvbnN0IGNoYXIgKmJ1ZiwgaW50IGJ5dGVzLCBiaXRzOCBtYXNrKQogCXBvcGNudCAr PSB2YWRkdnFfdTY0KHZhZGRxX3U2NChhY2N1bTMsIGFjY3VtNCkpOwogCiAJLyoKLQkgKiBQ cm9jZXNzIHJlbWluaW5nIDgtYnl0ZSBibG9ja3MuCisJICogUHJvY2VzcyByZW1haW5pbmcg OC1ieXRlIGJsb2Nrcy4KIAkgKi8KIAlmb3IgKDsgYnl0ZXMgPj0gc2l6ZW9mKHVpbnQ2NCk7 IGJ5dGVzIC09IHNpemVvZih1aW50NjQpKQogCXsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21v ZHVsZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAyX2NsaWVudC5wbCBiL3NyYy90ZXN0L21vZHVs ZXMvb2F1dGhfdmFsaWRhdG9yL3QvMDAyX2NsaWVudC5wbAppbmRleCA1NDc2OWYxMmY1Ny4u OGRkNTAyZjQxZTEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvb2F1dGhfdmFsaWRh dG9yL3QvMDAyX2NsaWVudC5wbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL29hdXRoX3ZhbGlk YXRvci90LzAwMl9jbGllbnQucGwKQEAgLTQ3LDggKzQ3LDcgQEAgbG9jYWwgYWxsIHRlc3Qg b2F1dGggaXNzdWVyPSIkaXNzdWVyIiBzY29wZT0iJHNjb3BlIgogfSk7CiAkbm9kZS0+cmVs b2FkOwogCi1teSAoJGxvZ19zdGFydCwgJGxvZ19lbmQpOwotJGxvZ19zdGFydCA9ICRub2Rl LT53YWl0X2Zvcl9sb2cocXIvcmVsb2FkaW5nIGNvbmZpZ3VyYXRpb24gZmlsZXMvKTsKK215 ICRsb2dfc3RhcnQgPSAkbm9kZS0+d2FpdF9mb3JfbG9nKHFyL3JlbG9hZGluZyBjb25maWd1 cmF0aW9uIGZpbGVzLyk7CiAKICRFTlZ7UEdPQVVUSERFQlVHfSA9ICJVTlNBRkUiOwogCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYWlvL3QvMDAxX2Fpby5wbCBiL3Ny Yy90ZXN0L21vZHVsZXMvdGVzdF9haW8vdC8wMDFfYWlvLnBsCmluZGV4IGVmNGU1MjQ3ZTVi Li40NTI3YzcwNzg1ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Fpby90 LzAwMV9haW8ucGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Fpby90LzAwMV9haW8u cGwKQEAgLTU2MCw3ICs1NjAsNyBAQCBJTlNFUlQgSU5UTyB0bXBfb2sgU0VMRUNUIGdlbmVy YXRlX3NlcmllcygxLCAxMDAwMCk7CiAJCXFyL150JC8sCiAJCXFyL14kLyk7CiAKLQkjIEJl Y2F1c2UgbG9jYWwgYnVmZmVycyBkb24ndCB1c2UgSU9fSU5fUFJPR1JFU1MsIGEgc2Vjb25k IFN0YXJ0TG9jYWxCdWZlcgorCSMgQmVjYXVzZSBsb2NhbCBidWZmZXJzIGRvbid0IHVzZSBJ T19JTl9QUk9HUkVTUywgYSBzZWNvbmQgU3RhcnRMb2NhbEJ1ZmZlcklPCiAJIyBzdWNjZWVk cyBhcyB3ZWxsLiBUaGlzIHRlc3QgbW9zdGx5IHNlcnZlcyBhcyBhIGRvY3VtZW50YXRpb24g b2YgdGhhdAogCSMgZmFjdC4gSWYgd2UgaGFkIGFjdHVhbGx5IHN0YXJ0ZWQgSU8sIGl0J2Qg YmUgZGlmZmVyZW50LgogCXBzcWxfbGlrZSgKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292 ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbCBiL3NyYy90ZXN0L3JlY292 ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbAppbmRleCBiODVhNGE0ZWRh Ni4uOTIxODEzNDgzZTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0 YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbAorKysgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAz NV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwKQEAgLTc5OSw3ICs3OTksNyBAQCAkbG9n c3RhcnQgPSAtcyAkbm9kZV9zdGFuZGJ5LT5sb2dmaWxlOwogcmVhY3RpdmVfc2xvdHNfY2hh bmdlX2hmc19hbmRfd2FpdF9mb3JfeG1pbnMoJ25vX2NvbmZsaWN0XycsICdwcnVuaW5nXycs IDAsCiAJMCk7CiAKLSMgSW5qZWN0aW9uX3BvaW50IGF2b2lkcyBzZWVpbmcgYSB4bF9ydW5u aW5nX3hhY3RzLiBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgaWYKKyMgSW5qZWN0aW9uIHBv aW50IGF2b2lkcyBzZWVpbmcgYSB4bF9ydW5uaW5nX3hhY3RzLiBUaGlzIGlzIHJlcXVpcmVk IGJlY2F1c2UgaWYKICMgaXQgaXMgZ2VuZXJhdGVkIGJldHdlZW4gdGhlIGxhc3QgdHdvIHVw ZGF0ZXMsIHRoZW4gdGhlIGNhdGFsb2dfeG1pbiBvZiB0aGUKICMgYWN0aXZlIHNsb3QgY291 bGQgYmUgdXBkYXRlZCwgYW5kIGhlbmNlLCB0aGUgY29uZmxpY3Qgd29uJ3Qgb2NjdXIuIFNl ZQogIyBjb21tZW50cyBhdG9wIHdhaXRfdW50aWxfdmFjdXVtX2Nhbl9yZW1vdmUuCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMDdfZGRsLnBsIGIvc3JjL3Rlc3Qv c3Vic2NyaXB0aW9uL3QvMDA3X2RkbC5wbAppbmRleCBkZTg0NjE5M2JiNS4uN2QxMmJjYmRk YjYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAwN19kZGwucGwKKysr IGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDA3X2RkbC5wbApAQCAtODAsNyArODAsNyBA QCAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRST1AgU1VCU0NS SVBUSU9OIG15c3ViMSIpOwogIyBUZXN0IEFMVEVSIFBVQkxJQ0FUSU9OIFJFTkFNRSBjb21t YW5kIGR1cmluZyB0aGUgcmVwbGljYXRpb24KICMKIAotIyBUZXN0IGZ1bmN0aW9uIGZvciBz d2FwaW5nIG5hbWUgb2YgcHVibGljYXRpb25zCisjIFRlc3QgZnVuY3Rpb24gZm9yIHN3YXBw aW5nIG5hbWUgb2YgcHVibGljYXRpb25zCiBzdWIgdGVzdF9zd2FwCiB7CiAJbXkgKCR0YWJs ZV9uYW1lLCAkcHVibmFtZSwgJGFwcG5hbWUpID0gQF87Cg== --------------bRE055bj0AgU0a4CuMk1OGco--