From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CCE85C54EE9 for ; Thu, 8 Sep 2022 18:38:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232227AbiIHSiE (ORCPT ); Thu, 8 Sep 2022 14:38:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232211AbiIHSh7 (ORCPT ); Thu, 8 Sep 2022 14:37:59 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63F6FFDBAC; Thu, 8 Sep 2022 11:37:48 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AA71861DE1; Thu, 8 Sep 2022 18:37:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6E1DC433D6; Thu, 8 Sep 2022 18:37:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1662662248; bh=uTrUjhxwjDWFeY8mG65HFCM0DCORYiIoN2jhPxDaGEs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Owx3EGg0zYPZtR4fvkfUKRpIp650i79hs3Kq7KYClI4wAnSCf4uli6qMY7ATM7qwy vrifck9Mtgn2iTx4IsAbPwID6WVPu9XDjshUsIKPjjvp+K060J+ndkiscvs54RUNqe /kln/MEI11sFAF/B85+Hzh9BZg6W3w7iWuZrrBuymy+hTqFH19nsvTnlMF70rOy2Sy riUn4RFHq3o2f6AGPedNBYSgzGrXfM44HfHXgW/I+HM6UU7eZFNA8wLa/WbmxL+fIb qD18TQ9YUYwZ6Qy9NXTM14GvqSSfZULnsF98ABufIjMpz6jeJIW/WwuWlVfOA+ppdp FJ0dplWMZbtXg== Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 813A9404A1; Thu, 8 Sep 2022 15:37:25 -0300 (-03) Date: Thu, 8 Sep 2022 15:37:25 -0300 From: Arnaldo Carvalho de Melo To: John Garry Cc: Nick Forrington , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Will Deacon , James Clark , Mike Leach , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] perf vendor events: Update events for Neoverse E1 Message-ID: References: <20220905153020.1792-1-nick.forrington@arm.com> <496f98ce-a0c4-9587-853c-9ba05323523a@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <496f98ce-a0c4-9587-853c-9ba05323523a@huawei.com> X-Url: http://acmel.wordpress.com Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org Em Tue, Sep 06, 2022 at 02:22:54PM +0100, John Garry escreveu: > On 06/09/2022 14:07, Arnaldo Carvalho de Melo wrote: > > Em Mon, Sep 05, 2022 at 04:30:19PM +0100, Nick Forrington escreveu: > > > Based on updated data from: > > > https://github.com/ARM-software/data/blob/master/pmu/neoverse-e1.json > > > > > > which is based on PMU event descriptions from the Arm Neoverse E1 > > > Technical Reference Manual. > > > > > > This includes additional implementation defined fields not previously > > > included, and removes unimplemented events related to Arm's Statistical > > > Profiling Extension (SPE). > > > > Applied locally, would be good to have an Acked-by or Reviewed-by, John? > > Regardless of comment, below: > Reviewed-by: John Garry So, I removed this one, applied v2, now trying to apply the other patch from Nick, the one moving some events to a different file, but not being able to: ⬢[acme@toolbox perf]$ b4 am -ctsl --cc-trailers 39abfee9-4a9b-ec44-9b02-a6cd34cfe64d@huawei.com Grabbing thread from lore.kernel.org/all/39abfee9-4a9b-ec44-9b02-a6cd34cfe64d%40huawei.com/t.mbox.gz Checking for newer revisions on https://lore.kernel.org/all/ Analyzing 3 messages in the thread Checking attestation on all messages, may take a moment... --- [PATCH] perf vendor events arm64: Move REMOTE_ACCESS to "memory" category + Reviewed-by: John Garry --- Total patches: 1 --- Link: https://lore.kernel.org/r/20220908112519.64614-1-nick.forrington@arm.com Base: not specified git am ./20220908_nick_forrington_perf_vendor_events_arm64_move_remote_access_to_memory_category.mbx ⬢[acme@toolbox perf]$ git am ./20220908_nick_forrington_perf_vendor_events_arm64_move_remote_access_to_memory_category.mbx Applying: perf vendor events arm64: Move REMOTE_ACCESS to "memory" category error: patch failed: tools/perf/pmu-events/arch/arm64/arm/cortex-a76-n1/memory.json:3 error: tools/perf/pmu-events/arch/arm64/arm/cortex-a76-n1/memory.json: patch does not apply error: tools/perf/pmu-events/arch/arm64/arm/cortex-a76-n1/other.json: does not exist in index error: patch failed: tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/memory.json:2 error: tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/memory.json: patch does not apply error: tools/perf/pmu-events/arch/arm64/arm/neoverse-n2/other.json: does not exist in index error: patch failed: tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json:2 error: tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/memory.json: patch does not apply error: tools/perf/pmu-events/arch/arm64/arm/neoverse-v1/other.json: does not exist in index Patch failed at 0001 perf vendor events arm64: Move REMOTE_ACCESS to "memory" category hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". ⬢[acme@toolbox perf]$ > > > > - Arnaldo > > > Signed-off-by: Nick Forrington > > > --- > > > .../arch/arm64/arm/neoverse-e1/cache.json | 132 ++++++++++++++++++ > > > .../arch/arm64/arm/neoverse-e1/dpu.json | 32 +++++ > > > .../arch/arm64/arm/neoverse-e1/ifu.json | 122 ++++++++++++++++ > > > .../arm64/arm/neoverse-e1/instruction.json | 6 + > > > .../arch/arm64/arm/neoverse-e1/memory.json | 12 ++ > > > .../arch/arm64/arm/neoverse-e1/spe.json | 14 -- > > > 6 files changed, 304 insertions(+), 14 deletions(-) > > > create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/dpu.json > > > create mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/ifu.json > > > delete mode 100644 tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/spe.json > > > > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/cache.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/cache.json > > > index 3ad15e3a93a9..92406bc7b945 100644 > > > --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/cache.json > > > +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/cache.json > > > @@ -103,5 +103,137 @@ > > > }, > > > { > > > "ArchStdEvent": "L3D_CACHE_REFILL_RD" > > > + }, > > > + { > > > + "PublicDescription": "Merge in the store buffer", > > > + "EventCode": "0xC0", > > > + "EventName": "STB_STALL", > > > + "BriefDescription": "Merge in the store buffer" > > > This looks the same as an a65 event. And more similar cases below, at a > glance. > > Even though this is not a std or recommended event from the arch reference > manual, I don't see a reason why we can't put this as a > "armltd_common_impdef_events.json" and make a ArchStdEvent but maybe a > distinct name, like "STB_STALL_ARMLTD". > > Nick, Can you please consider at factoring these out also? > > Cheers, > John > > EOM > > > > + }, > > > + { > > > + "PublicDescription": "Level 1 data cache refill started due to prefetch. Counts any linefills from the prefetcher which cause an allocation into the L1 D-cache", > > > + "EventCode": "0xC3", > > > + "EventName": "L1D_PREF_LINE_FILL", > > > + "BriefDescription": "Level 1 data cache refill started due to prefetch. Counts any linefills from the prefetcher which cause an allocation into the L1 D-cache" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 cache refill due to prefetch. +ICI If the core is configured with a per-core L2 cache: This event does not count. +ICI If the core is configured without a per-core L2 cache: This event counts the cluster cache event, as defined by L3_PREF_LINE_FILL. +ICI If there is neither a per-core cache nor a cluster cache configured, this event is not implemented", > > > + "EventCode": "0xC4", > > > + "EventName": "L2D_PREF_LINE_FILL", > > > + "BriefDescription": "Level 2 cache refill due to prefetch. +ICI If the core is configured with a per-core L2 cache: This event does not count. +ICI If the core is configured without a per-core L2 cache: This event counts the cluster cache event, as defined by L3_PREF_LINE_FILL. +ICI If there is neither a per-core cache nor a cluster cache configured, this event is not implemented" > > > + }, > > > + { > > > + "PublicDescription": "Level 3 cache refill due to prefetch. This event counts any linefills from the hardware prefetcher which cause an allocation into the L3 cache. Note It might not be possible to distinguish between both hardware and software prefetches and also which prefetches cause an allocation. If so, only hardware prefetches should be counted, regardless of whether they allocate. If either the core is configured without a per-core L2 or the cluster is configured without an L3 cache, this event is not implemented", > > > + "EventCode": "0xC5", > > > + "EventName": "L3_PREF_LINE_FILL", > > > + "BriefDescription": "Level 3 cache refill due to prefetch. This event counts any linefills from the hardware prefetcher which cause an allocation into the L3 cache. Note It might not be possible to distinguish between both hardware and software prefetches and also which prefetches cause an allocation. If so, only hardware prefetches should be counted, regardless of whether they allocate. If either the core is configured without a per-core L2 or the cluster is configured without an L3 cache, this event is not implemented" > > > + }, > > > + { > > > + "PublicDescription": "L1D entering write stream mode", > > > + "EventCode": "0xC6", > > > + "EventName": "L1D_WS_MODE_ENTER", > > > + "BriefDescription": "L1D entering write stream mode" > > > + }, > > > + { > > > + "PublicDescription": "L1D is in write stream mode", > > > + "EventCode": "0xC7", > > > + "EventName": "L1D_WS_MODE", > > > + "BriefDescription": "L1D is in write stream mode" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 cache write streaming mode. This event counts for each cycle where the core is in write-streaming mode and not allocating writes into the L2 cache", > > > + "EventCode": "0xC8", > > > + "EventName": "L2D_WS_MODE", > > > + "BriefDescription": "Level 2 cache write streaming mode. This event counts for each cycle where the core is in write-streaming mode and not allocating writes into the L2 cache" > > > + }, > > > + { > > > + "PublicDescription": "Level 3 cache write streaming mode. This event counts for each cycle where the core is in write-streaming mode and not allocating writes into the L3 cache", > > > + "EventCode": "0xC9", > > > + "EventName": "L3D_WS_MODE", > > > + "BriefDescription": "Level 3 cache write streaming mode. This event counts for each cycle where the core is in write-streaming mode and not allocating writes into the L3 cache" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB last-level walk cache access. This event does not count if the MMU is disabled", > > > + "EventCode": "0xCA", > > > + "EventName": "TLB_L2TLB_LLWALK_ACCESS", > > > + "BriefDescription": "Level 2 TLB last-level walk cache access. This event does not count if the MMU is disabled" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB last-level walk cache refill. This event does not count if the MMU is disabled", > > > + "EventCode": "0xCB", > > > + "EventName": "TLB_L2TLB_LLWALK_REFILL", > > > + "BriefDescription": "Level 2 TLB last-level walk cache refill. This event does not count if the MMU is disabled" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB level-2 walk cache access. This event counts accesses to the level-2 walk cache where the last-level walk cache has missed. The event only counts when the translation regime of the pagewalk uses level 2 descriptors. This event does not count if the MMU is disabled", > > > + "EventCode": "0xCC", > > > + "EventName": "TLB_L2TLB_L2WALK_ACCESS", > > > + "BriefDescription": "Level 2 TLB level-2 walk cache access. This event counts accesses to the level-2 walk cache where the last-level walk cache has missed. The event only counts when the translation regime of the pagewalk uses level 2 descriptors. This event does not count if the MMU is disabled" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB level-2 walk cache refill. This event does not count if the MMU is disabled", > > > + "EventCode": "0xCD", > > > + "EventName": "TLB_L2TLB_L2WALK_REFILL", > > > + "BriefDescription": "Level 2 TLB level-2 walk cache refill. This event does not count if the MMU is disabled" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB IPA cache access. This event counts on each access to the IPA cache. +ICI If a single pagewalk needs to make multiple accesses to the IPA cache, each access is counted. +ICI If stage 2 translation is disabled, this event does not count", > > > + "EventCode": "0xCE", > > > + "EventName": "TLB_L2TLB_S2_ACCESS", > > > + "BriefDescription": "Level 2 TLB IPA cache access. This event counts on each access to the IPA cache. +ICI If a single pagewalk needs to make multiple accesses to the IPA cache, each access is counted. +ICI If stage 2 translation is disabled, this event does not count" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 TLB IPA cache refill. This event counts on each refill of the IPA cache. +ICI If a single pagewalk needs to make multiple accesses to the IPA cache, each access which causes a refill is counted. +ICI If stage 2 translation is disabled, this event does not count", > > > + "EventCode": "0xCF", > > > + "EventName": "TLB_L2TLB_S2_REFILL", > > > + "BriefDescription": "Level 2 TLB IPA cache refill. This event counts on each refill of the IPA cache. +ICI If a single pagewalk needs to make multiple accesses to the IPA cache, each access which causes a refill is counted. +ICI If stage 2 translation is disabled, this event does not count" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 1 data cache write-back. This event occurs when a requestor outside the PE makes a coherency request that results in writeback", > > > + "EventCode": "0xF0", > > > + "EventName": "L2_L1D_CACHE_WB_UNATT", > > > + "BriefDescription": "Unattributable Level 1 data cache write-back. This event occurs when a requestor outside the PE makes a coherency request that results in writeback" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 2 unified cache access. This event occurs when a requestor outside the PE makes a coherency request that results in level 2 unified cache access", > > > + "EventCode": "0xF1", > > > + "EventName": "L2_L2D_CACHE_UNATT", > > > + "BriefDescription": "Unattributable Level 2 unified cache access. This event occurs when a requestor outside the PE makes a coherency request that results in level 2 unified cache access" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 2 unified cache access, read. This event occurs when a requestor outside the PE makes a coherency request that results in level 2 unified cache read access", > > > + "EventCode": "0xF2", > > > + "EventName": "L2_L2D_CACHE_RD_UNATT", > > > + "BriefDescription": "Unattributable Level 2 unified cache access, read. This event occurs when a requestor outside the PE makes a coherency request that results in level 2 unified cache read access" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 3 unified cache access. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 unified cache read access", > > > + "EventCode": "0xF3", > > > + "EventName": "L2_L3D_CACHE_UNATT", > > > + "BriefDescription": "Unattributable Level 3 unified cache access. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 unified cache read access" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 3 unified cache access, read. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 unified cache read access", > > > + "EventCode": "0xF4", > > > + "EventName": "L2_L3D_CACHE_RD_UNATT", > > > + "BriefDescription": "Unattributable Level 3 unified cache access, read. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 unified cache read access" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 3 unified cache allocation without refill. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 cache allocate without refill", > > > + "EventCode": "0xF5", > > > + "EventName": "L2_L3D_CACHE_ALLOC_UNATT", > > > + "BriefDescription": "Unattributable Level 3 unified cache allocation without refill. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 cache allocate without refill" > > > + }, > > > + { > > > + "PublicDescription": "Unattributable Level 3 unified cache refill. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 cache refill", > > > + "EventCode": "0xF6", > > > + "EventName": "L2_L3D_CACHE_REFILL_UNATT", > > > + "BriefDescription": "Unattributable Level 3 unified cache refill. This event occurs when a requestor outside the PE makes a coherency request that results in level 3 cache refill" > > > + }, > > > + { > > > + "PublicDescription": "Level 2 cache stash dropped. This event counts on each stash request received from the interconnect or ACP, that is targeting L2 and gets dropped due to lack of buffer space to hold the request", > > > + "EventCode": "0xF7", > > > + "EventName": "L2D_CACHE_STASH_DROPPED", > > > + "BriefDescription": "Level 2 cache stash dropped. This event counts on each stash request received from the interconnect or ACP, that is targeting L2 and gets dropped due to lack of buffer space to hold the request" > > > } > > > ] > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/dpu.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/dpu.json > > > new file mode 100644 > > > index 000000000000..b8e402a91bdd > > > --- /dev/null > > > +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/dpu.json > > > @@ -0,0 +1,32 @@ > > > +[ > > > + { > > > + "PublicDescription": "Instruction retired, indirect branch, mispredicted", > > > + "EventCode": "0xE9", > > > + "EventName": "DPU_BR_IND_MIS", > > > + "BriefDescription": "Instruction retired, indirect branch, mispredicted" > > > + }, > > > + { > > > + "PublicDescription": "Instruction retired, conditional branch, mispredicted", > > > + "EventCode": "0xEA", > > > + "EventName": "DPU_BR_COND_MIS", > > > + "BriefDescription": "Instruction retired, conditional branch, mispredicted" > > > + }, > > > + { > > > + "PublicDescription": "Memory error (any type) from IFU", > > > + "EventCode": "0xEB", > > > + "EventName": "DPU_MEM_ERR_IFU", > > > + "BriefDescription": "Memory error (any type) from IFU" > > > + }, > > > + { > > > + "PublicDescription": "Memory error (any type) from DCU", > > > + "EventCode": "0xEC", > > > + "EventName": "DPU_MEM_ERR_DCU", > > > + "BriefDescription": "Memory error (any type) from DCU" > > > + }, > > > + { > > > + "PublicDescription": "Memory error (any type) from TLB", > > > + "EventCode": "0xED", > > > + "EventName": "DPU_MEM_ERR_TLB", > > > + "BriefDescription": "Memory error (any type) from TLB" > > > + } > > > +] > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/ifu.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/ifu.json > > > new file mode 100644 > > > index 000000000000..13178c5dca14 > > > --- /dev/null > > > +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/ifu.json > > > @@ -0,0 +1,122 @@ > > > +[ > > > + { > > > + "PublicDescription": "I-Cache miss on an access from the prefetch block", > > > + "EventCode": "0xD0", > > > + "EventName": "IFU_IC_MISS_WAIT", > > > + "BriefDescription": "I-Cache miss on an access from the prefetch block" > > > + }, > > > + { > > > + "PublicDescription": "Counts the cycles spent on a request for Level 2 TLB lookup after a Level 1l ITLB miss", > > > + "EventCode": "0xD1", > > > + "EventName": "IFU_IUTLB_MISS_WAIT", > > > + "BriefDescription": "Counts the cycles spent on a request for Level 2 TLB lookup after a Level 1l ITLB miss" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor conditional/direction mispredict, with respect to. if3/if4 predictor", > > > + "EventCode": "0xD2", > > > + "EventName": "IFU_MICRO_COND_MISPRED", > > > + "BriefDescription": "Micro-predictor conditional/direction mispredict, with respect to. if3/if4 predictor" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor address mispredict, with respect to if3/if4 predictor", > > > + "EventCode": "0xD3", > > > + "EventName": "IFU_MICRO_CADDR_MISPRED", > > > + "BriefDescription": "Micro-predictor address mispredict, with respect to if3/if4 predictor" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor hit with immediate redirect", > > > + "EventCode": "0xD4", > > > + "EventName": "IFU_MICRO_HIT", > > > + "BriefDescription": "Micro-predictor hit with immediate redirect" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor negative cache hit", > > > + "EventCode": "0xD6", > > > + "EventName": "IFU_MICRO_NEG_HIT", > > > + "BriefDescription": "Micro-predictor negative cache hit" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor correction", > > > + "EventCode": "0xD7", > > > + "EventName": "IFU_MICRO_CORRECTION", > > > + "BriefDescription": "Micro-predictor correction" > > > + }, > > > + { > > > + "PublicDescription": "A 2nd instruction could have been pushed but was not because it was nonsequential", > > > + "EventCode": "0xD8", > > > + "EventName": "IFU_MICRO_NO_INSTR1", > > > + "BriefDescription": "A 2nd instruction could have been pushed but was not because it was nonsequential" > > > + }, > > > + { > > > + "PublicDescription": "Micro-predictor miss", > > > + "EventCode": "0xD9", > > > + "EventName": "IFU_MICRO_NO_PRED", > > > + "BriefDescription": "Micro-predictor miss" > > > + }, > > > + { > > > + "PublicDescription": "Thread flushed due to TLB miss", > > > + "EventCode": "0xDA", > > > + "EventName": "IFU_FLUSHED_TLB_MISS", > > > + "BriefDescription": "Thread flushed due to TLB miss" > > > + }, > > > + { > > > + "PublicDescription": "Thread flushed due to reasons other than TLB miss", > > > + "EventCode": "0xDB", > > > + "EventName": "IFU_FLUSHED_EXCL_TLB_MISS", > > > + "BriefDescription": "Thread flushed due to reasons other than TLB miss" > > > + }, > > > + { > > > + "PublicDescription": "This thread and the other thread both ready for scheduling in if0", > > > + "EventCode": "0xDC", > > > + "EventName": "IFU_ALL_THRDS_RDY", > > > + "BriefDescription": "This thread and the other thread both ready for scheduling in if0" > > > + }, > > > + { > > > + "PublicDescription": "This thread was arbitrated when the other thread was also ready for scheduling", > > > + "EventCode": "0xDD", > > > + "EventName": "IFU_WIN_ARB_OTHER_RDY", > > > + "BriefDescription": "This thread was arbitrated when the other thread was also ready for scheduling" > > > + }, > > > + { > > > + "PublicDescription": "This thread was arbitrated when the other thread was also active, but not necessarily ready. For example, waiting for I-Cache or TLB", > > > + "EventCode": "0xDE", > > > + "EventName": "IFU_WIN_ARB_OTHER_ACT", > > > + "BriefDescription": "This thread was arbitrated when the other thread was also active, but not necessarily ready. For example, waiting for I-Cache or TLB" > > > + }, > > > + { > > > + "PublicDescription": "This thread was not arbitrated because it was not ready for scheduling. For example, due to a cache miss or TLB miss", > > > + "EventCode": "0xDF", > > > + "EventName": "IFU_NOT_RDY_FOR_ARB", > > > + "BriefDescription": "This thread was not arbitrated because it was not ready for scheduling. For example, due to a cache miss or TLB miss" > > > + }, > > > + { > > > + "PublicDescription": "The thread moved from an active state to an inactive state (long-term sleep state, causing deallocation of some resources)", > > > + "EventCode": "0xE0", > > > + "EventName": "IFU_GOTO_IDLE", > > > + "BriefDescription": "The thread moved from an active state to an inactive state (long-term sleep state, causing deallocation of some resources)" > > > + }, > > > + { > > > + "PublicDescription": "I-Cache lookup under miss from other thread", > > > + "EventCode": "0xE1", > > > + "EventName": "IFU_IC_LOOKUP_UNDER_MISS", > > > + "BriefDescription": "I-Cache lookup under miss from other thread" > > > + }, > > > + { > > > + "PublicDescription": "I-Cache miss under miss from other thread", > > > + "EventCode": "0xE2", > > > + "EventName": "IFU_IC_MISS_UNDER_MISS", > > > + "BriefDescription": "I-Cache miss under miss from other thread" > > > + }, > > > + { > > > + "PublicDescription": "This thread pushed an instruction into the IQ", > > > + "EventCode": "0xE3", > > > + "EventName": "IFU_INSTR_PUSHED", > > > + "BriefDescription": "This thread pushed an instruction into the IQ" > > > + }, > > > + { > > > + "PublicDescription": "I-Cache Speculative line fill", > > > + "EventCode": "0xE4", > > > + "EventName": "IFU_IC_LF_SP", > > > + "BriefDescription": "I-Cache Speculative line fill" > > > + } > > > +] > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/instruction.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/instruction.json > > > index 6c3b8f772e7f..2e0d60779dce 100644 > > > --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/instruction.json > > > +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/instruction.json > > > @@ -61,5 +61,11 @@ > > > }, > > > { > > > "ArchStdEvent": "ISB_SPEC" > > > + }, > > > + { > > > + "PublicDescription": "Instruction retired, conditional branch", > > > + "EventCode": "0xE8", > > > + "EventName": "DPU_BR_COND_RETIRED", > > > + "BriefDescription": "Instruction retired, conditional branch" > > > } > > > ] > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/memory.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/memory.json > > > index 78ed6dfcedc1..18d527f7fad4 100644 > > > --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/memory.json > > > +++ b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/memory.json > > > @@ -19,5 +19,17 @@ > > > }, > > > { > > > "ArchStdEvent": "UNALIGNED_LDST_SPEC" > > > + }, > > > + { > > > + "PublicDescription": "External memory request", > > > + "EventCode": "0xC1", > > > + "EventName": "BIU_EXT_MEM_REQ", > > > + "BriefDescription": "External memory request" > > > + }, > > > + { > > > + "PublicDescription": "External memory request to non-cacheable memory", > > > + "EventCode": "0xC2", > > > + "EventName": "BIU_EXT_MEM_REQ_NC", > > > + "BriefDescription": "External memory request to non-cacheable memory" > > > } > > > ] > > > diff --git a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/spe.json b/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/spe.json > > > deleted file mode 100644 > > > index 20f2165c85fe..000000000000 > > > --- a/tools/perf/pmu-events/arch/arm64/arm/neoverse-e1/spe.json > > > +++ /dev/null > > > @@ -1,14 +0,0 @@ > > > -[ > > > - { > > > - "ArchStdEvent": "SAMPLE_POP" > > > - }, > > > - { > > > - "ArchStdEvent": "SAMPLE_FEED" > > > - }, > > > - { > > > - "ArchStdEvent": "SAMPLE_FILTRATE" > > > - }, > > > - { > > > - "ArchStdEvent": "SAMPLE_COLLISION" > > > - } > > > -] > > > -- > > > 2.25.1 > > -- - Arnaldo From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AC7A1C54EE9 for ; Thu, 8 Sep 2022 18:38:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FiYy3U1xpu3fw3ylP3T0dBkIbYASeE5gxGP9Jp0fnjU=; b=jjakp0x07fjSZ3 EydwrIGqu9MJRBknY5LjsvqQahKkkj5WaNzmeebcIo5sUCNFyyExRgJcYFFh/cQjHRu6L27+F0lca XFtej84hh71cptdVhQKQYBi3UTuirLu7aJE49trpDoEOT8eYxCqVfptOtU0T38Yp7gsu5MHJMZ6Y6 BdblQ9jy800fCjw3Mu/Cg7bYsF/dQWe+VOonWhhqM70Uo/eDutNL33ZLVC1KjBKHplczBxivvLLtw 7dUduU+bZHIctbhNeXhehYgAp2w4MR97hO3I6r3xaHpL3NU2a0oTMSJqKKZcf2qaP2MNBuyZ4xV7U FCJXxX8SDsRMa9uiiVsw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oWMP8-006pGz-Fp; Thu, 08 Sep 2022 18:37:34 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oWMP6-006pDA-55 for linux-arm-kernel@bombadil.infradead.org; Thu, 08 Sep 2022 18:37:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=ighIWNsI4B3PwJzmgQoeWPzWK3ZFFgniPZtcXi3h9zs=; b=DkJ5orkJRdHMUXqQJ4sYBrinhU hrNEEsonOquCTSHEfn4MeMqx5H61AIo37MoAtoFdP7QMbdvpaG1bHj8jZLucHUGaNQOzkBMz+2GDV xxH5RTthX82+NvT/dCak0YOxlvZcx1VM+DkdI6odwLGBTTvh8JkspPplxUUYLqwE4/W65F1oVhp9A D8P7WWvCAe7pg6i++adEyBM+fpcqzNasswNGtpOQbg0w0PjkrmcYR0o0AxO9IXxv2nartmG6BDVUA sbvec80GIrCvDMWtmCsnUcnGLtdmrpZIPsHG+YcGcJpWAjQUCk0zm1EPiHxQpq8az4x6tw29eQojP Pwc1U7iw==; Received: from [187.19.239.21] (helo=quaco.ghostprotocols.net) by desiato.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1oWMP2-00AnHs-OS for linux-arm-kernel@lists.infradead.org; Thu, 08 Sep 2022 18:37:29 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 813A9404A1; Thu, 8 Sep 2022 15:37:25 -0300 (-03) Date: Thu, 8 Sep 2022 15:37:25 -0300 From: Arnaldo Carvalho de Melo To: John Garry Cc: Nick Forrington , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, Will Deacon , James Clark , Mike Leach , Leo Yan , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH] perf vendor events: Update events for Neoverse E1 Message-ID: References: <20220905153020.1792-1-nick.forrington@arm.com> <496f98ce-a0c4-9587-853c-9ba05323523a@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <496f98ce-a0c4-9587-853c-9ba05323523a@huawei.com> X-Url: http://acmel.wordpress.com X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RW0gVHVlLCBTZXAgMDYsIDIwMjIgYXQgMDI6MjI6NTRQTSArMDEwMCwgSm9obiBHYXJyeSBlc2Ny ZXZldToKPiBPbiAwNi8wOS8yMDIyIDE0OjA3LCBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gd3Jv dGU6Cj4gPiBFbSBNb24sIFNlcCAwNSwgMjAyMiBhdCAwNDozMDoxOVBNICswMTAwLCBOaWNrIEZv cnJpbmd0b24gZXNjcmV2ZXU6Cj4gPiA+IEJhc2VkIG9uIHVwZGF0ZWQgZGF0YSBmcm9tOgo+ID4g PiBodHRwczovL2dpdGh1Yi5jb20vQVJNLXNvZnR3YXJlL2RhdGEvYmxvYi9tYXN0ZXIvcG11L25l b3ZlcnNlLWUxLmpzb24KPiA+ID4gCj4gPiA+IHdoaWNoIGlzIGJhc2VkIG9uIFBNVSBldmVudCBk ZXNjcmlwdGlvbnMgZnJvbSB0aGUgQXJtIE5lb3ZlcnNlIEUxCj4gPiA+IFRlY2huaWNhbCBSZWZl cmVuY2UgTWFudWFsLgo+ID4gPiAKPiA+ID4gVGhpcyBpbmNsdWRlcyBhZGRpdGlvbmFsIGltcGxl bWVudGF0aW9uIGRlZmluZWQgZmllbGRzIG5vdCBwcmV2aW91c2x5Cj4gPiA+IGluY2x1ZGVkLCBh bmQgcmVtb3ZlcyB1bmltcGxlbWVudGVkIGV2ZW50cyByZWxhdGVkIHRvIEFybSdzIFN0YXRpc3Rp Y2FsCj4gPiA+IFByb2ZpbGluZyBFeHRlbnNpb24gKFNQRSkuCj4gPiAKPiA+IEFwcGxpZWQgbG9j YWxseSwgd291bGQgYmUgZ29vZCB0byBoYXZlIGFuIEFja2VkLWJ5IG9yIFJldmlld2VkLWJ5LCBK b2huPwo+IAo+IFJlZ2FyZGxlc3Mgb2YgY29tbWVudCwgYmVsb3c6Cj4gUmV2aWV3ZWQtYnk6IEpv aG4gR2FycnkgPGpvaG4uZ2FycnlAaHVhd2VpLmNvbT4KClNvLCBJIHJlbW92ZWQgdGhpcyBvbmUs IGFwcGxpZWQgdjIsIG5vdyB0cnlpbmcgdG8gYXBwbHkgdGhlIG90aGVyIHBhdGNoCmZyb20gTmlj aywgdGhlIG9uZSBtb3Zpbmcgc29tZSBldmVudHMgdG8gYSBkaWZmZXJlbnQgZmlsZSwgYnV0IG5v dCBiZWluZwphYmxlIHRvOgoK4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQgYjQgYW0gLWN0c2wgLS1j Yy10cmFpbGVycyAzOWFiZmVlOS00YTliLWVjNDQtOWIwMi1hNmNkMzRjZmU2NGRAaHVhd2VpLmNv bQpHcmFiYmluZyB0aHJlYWQgZnJvbSBsb3JlLmtlcm5lbC5vcmcvYWxsLzM5YWJmZWU5LTRhOWIt ZWM0NC05YjAyLWE2Y2QzNGNmZTY0ZCU0MGh1YXdlaS5jb20vdC5tYm94Lmd6CkNoZWNraW5nIGZv ciBuZXdlciByZXZpc2lvbnMgb24gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLwpBbmFseXpp bmcgMyBtZXNzYWdlcyBpbiB0aGUgdGhyZWFkCkNoZWNraW5nIGF0dGVzdGF0aW9uIG9uIGFsbCBt ZXNzYWdlcywgbWF5IHRha2UgYSBtb21lbnQuLi4KLS0tCiAgW1BBVENIXSBwZXJmIHZlbmRvciBl dmVudHMgYXJtNjQ6IE1vdmUgUkVNT1RFX0FDQ0VTUyB0byAibWVtb3J5IiBjYXRlZ29yeQogICAg KyBSZXZpZXdlZC1ieTogSm9obiBHYXJyeSA8am9obi5nYXJyeUBodWF3ZWkuY29tPgotLS0KVG90 YWwgcGF0Y2hlczogMQotLS0KIExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMjA5 MDgxMTI1MTkuNjQ2MTQtMS1uaWNrLmZvcnJpbmd0b25AYXJtLmNvbQogQmFzZTogbm90IHNwZWNp ZmllZAogICAgICAgZ2l0IGFtIC4vMjAyMjA5MDhfbmlja19mb3JyaW5ndG9uX3BlcmZfdmVuZG9y X2V2ZW50c19hcm02NF9tb3ZlX3JlbW90ZV9hY2Nlc3NfdG9fbWVtb3J5X2NhdGVnb3J5Lm1ieAri rKJbYWNtZUB0b29sYm94IHBlcmZdJCAgICAgICAgZ2l0IGFtIC4vMjAyMjA5MDhfbmlja19mb3Jy aW5ndG9uX3BlcmZfdmVuZG9yX2V2ZW50c19hcm02NF9tb3ZlX3JlbW90ZV9hY2Nlc3NfdG9fbWVt b3J5X2NhdGVnb3J5Lm1ieApBcHBseWluZzogcGVyZiB2ZW5kb3IgZXZlbnRzIGFybTY0OiBNb3Zl IFJFTU9URV9BQ0NFU1MgdG8gIm1lbW9yeSIgY2F0ZWdvcnkKZXJyb3I6IHBhdGNoIGZhaWxlZDog dG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL2NvcnRleC1hNzYtbjEvbWVtb3J5 Lmpzb246MwplcnJvcjogdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL2NvcnRl eC1hNzYtbjEvbWVtb3J5Lmpzb246IHBhdGNoIGRvZXMgbm90IGFwcGx5CmVycm9yOiB0b29scy9w ZXJmL3BtdS1ldmVudHMvYXJjaC9hcm02NC9hcm0vY29ydGV4LWE3Ni1uMS9vdGhlci5qc29uOiBk b2VzIG5vdCBleGlzdCBpbiBpbmRleAplcnJvcjogcGF0Y2ggZmFpbGVkOiB0b29scy9wZXJmL3Bt dS1ldmVudHMvYXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtbjIvbWVtb3J5Lmpzb246MgplcnJvcjog dG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLW4yL21lbW9yeS5q c29uOiBwYXRjaCBkb2VzIG5vdCBhcHBseQplcnJvcjogdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2Fy Y2gvYXJtNjQvYXJtL25lb3ZlcnNlLW4yL290aGVyLmpzb246IGRvZXMgbm90IGV4aXN0IGluIGlu ZGV4CmVycm9yOiBwYXRjaCBmYWlsZWQ6IHRvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0 L2FybS9uZW92ZXJzZS12MS9tZW1vcnkuanNvbjoyCmVycm9yOiB0b29scy9wZXJmL3BtdS1ldmVu dHMvYXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtdjEvbWVtb3J5Lmpzb246IHBhdGNoIGRvZXMgbm90 IGFwcGx5CmVycm9yOiB0b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9hcm02NC9hcm0vbmVvdmVy c2UtdjEvb3RoZXIuanNvbjogZG9lcyBub3QgZXhpc3QgaW4gaW5kZXgKUGF0Y2ggZmFpbGVkIGF0 IDAwMDEgcGVyZiB2ZW5kb3IgZXZlbnRzIGFybTY0OiBNb3ZlIFJFTU9URV9BQ0NFU1MgdG8gIm1l bW9yeSIgY2F0ZWdvcnkKaGludDogVXNlICdnaXQgYW0gLS1zaG93LWN1cnJlbnQtcGF0Y2g9ZGlm ZicgdG8gc2VlIHRoZSBmYWlsZWQgcGF0Y2gKV2hlbiB5b3UgaGF2ZSByZXNvbHZlZCB0aGlzIHBy b2JsZW0sIHJ1biAiZ2l0IGFtIC0tY29udGludWUiLgpJZiB5b3UgcHJlZmVyIHRvIHNraXAgdGhp cyBwYXRjaCwgcnVuICJnaXQgYW0gLS1za2lwIiBpbnN0ZWFkLgpUbyByZXN0b3JlIHRoZSBvcmln aW5hbCBicmFuY2ggYW5kIHN0b3AgcGF0Y2hpbmcsIHJ1biAiZ2l0IGFtIC0tYWJvcnQiLgrirKJb YWNtZUB0b29sYm94IHBlcmZdJAogCj4gPiAKPiA+IC0gQXJuYWxkbwo+ID4gPiBTaWduZWQtb2Zm LWJ5OiBOaWNrIEZvcnJpbmd0b24gPG5pY2suZm9ycmluZ3RvbkBhcm0uY29tPgo+ID4gPiAtLS0K PiA+ID4gICAuLi4vYXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtZTEvY2FjaGUuanNvbiAgICAgfCAx MzIgKysrKysrKysrKysrKysrKysrCj4gPiA+ICAgLi4uL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNl LWUxL2RwdS5qc29uICAgICAgIHwgIDMyICsrKysrCj4gPiA+ICAgLi4uL2FyY2gvYXJtNjQvYXJt L25lb3ZlcnNlLWUxL2lmdS5qc29uICAgICAgIHwgMTIyICsrKysrKysrKysrKysrKysKPiA+ID4g ICAuLi4vYXJtNjQvYXJtL25lb3ZlcnNlLWUxL2luc3RydWN0aW9uLmpzb24gICAgfCAgIDYgKwo+ ID4gPiAgIC4uLi9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9tZW1vcnkuanNvbiAgICB8ICAx MiArKwo+ID4gPiAgIC4uLi9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9zcGUuanNvbiAgICAg ICB8ICAxNCAtLQo+ID4gPiAgIDYgZmlsZXMgY2hhbmdlZCwgMzA0IGluc2VydGlvbnMoKyksIDE0 IGRlbGV0aW9ucygtKQo+ID4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9wZXJmL3BtdS1l dmVudHMvYXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtZTEvZHB1Lmpzb24KPiA+ID4gICBjcmVhdGUg bW9kZSAxMDA2NDQgdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNl LWUxL2lmdS5qc29uCj4gPiA+ICAgZGVsZXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3BlcmYvcG11LWV2 ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9zcGUuanNvbgo+ID4gPiAKPiA+ID4gZGlm ZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1l MS9jYWNoZS5qc29uIGIvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3Zl cnNlLWUxL2NhY2hlLmpzb24KPiA+ID4gaW5kZXggM2FkMTVlM2E5M2E5Li45MjQwNmJjN2I5NDUg MTAwNjQ0Cj4gPiA+IC0tLSBhL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0L2FybS9u ZW92ZXJzZS1lMS9jYWNoZS5qc29uCj4gPiA+ICsrKyBiL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9h cmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9jYWNoZS5qc29uCj4gPiA+IEBAIC0xMDMsNSArMTAz LDEzNyBAQAo+ID4gPiAgICAgICB9LAo+ID4gPiAgICAgICB7Cj4gPiA+ICAgICAgICAgICAiQXJj aFN0ZEV2ZW50IjogIkwzRF9DQUNIRV9SRUZJTExfUkQiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAg ICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJNZXJnZSBpbiB0aGUgc3Rv cmUgYnVmZmVyIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEMwIiwKPiA+ID4gKyAg ICAgICAgIkV2ZW50TmFtZSI6ICJTVEJfU1RBTEwiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNj cmlwdGlvbiI6ICJNZXJnZSBpbiB0aGUgc3RvcmUgYnVmZmVyIgo+IAo+IAo+IFRoaXMgbG9va3Mg dGhlIHNhbWUgYXMgYW4gYTY1IGV2ZW50LiBBbmQgbW9yZSBzaW1pbGFyIGNhc2VzIGJlbG93LCBh dCBhCj4gZ2xhbmNlLgo+IAo+IEV2ZW4gdGhvdWdoIHRoaXMgaXMgbm90IGEgc3RkIG9yIHJlY29t bWVuZGVkIGV2ZW50IGZyb20gdGhlIGFyY2ggcmVmZXJlbmNlCj4gbWFudWFsLCBJIGRvbid0IHNl ZSBhIHJlYXNvbiB3aHkgd2UgY2FuJ3QgcHV0IHRoaXMgYXMgYQo+ICJhcm1sdGRfY29tbW9uX2lt cGRlZl9ldmVudHMuanNvbiIgYW5kIG1ha2UgYSBBcmNoU3RkRXZlbnQgYnV0IG1heWJlIGEKPiBk aXN0aW5jdCBuYW1lLCBsaWtlICJTVEJfU1RBTExfQVJNTFREIi4KPiAKPiBOaWNrLCBDYW4geW91 IHBsZWFzZSBjb25zaWRlciBhdCBmYWN0b3JpbmcgdGhlc2Ugb3V0IGFsc28/Cj4gCj4gQ2hlZXJz LAo+IEpvaG4KPiAKPiBFT00KPiAKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAg ICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIkxldmVsIDEgZGF0YSBjYWNoZSByZWZpbGwgc3Rh cnRlZCBkdWUgdG8gcHJlZmV0Y2guIENvdW50cyBhbnkgbGluZWZpbGxzIGZyb20gdGhlIHByZWZl dGNoZXIgd2hpY2ggY2F1c2UgYW4gYWxsb2NhdGlvbiBpbnRvIHRoZSBMMSBELWNhY2hlIiwKPiA+ ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEMzIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFt ZSI6ICJMMURfUFJFRl9MSU5FX0ZJTEwiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlv biI6ICJMZXZlbCAxIGRhdGEgY2FjaGUgcmVmaWxsIHN0YXJ0ZWQgZHVlIHRvIHByZWZldGNoLiBD b3VudHMgYW55IGxpbmVmaWxscyBmcm9tIHRoZSBwcmVmZXRjaGVyIHdoaWNoIGNhdXNlIGFuIGFs bG9jYXRpb24gaW50byB0aGUgTDEgRC1jYWNoZSIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsK PiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIkxldmVsIDIgY2FjaGUgcmVmaWxs IGR1ZSB0byBwcmVmZXRjaC4gK0lDSSBJZiB0aGUgY29yZSBpcyBjb25maWd1cmVkIHdpdGggYSBw ZXItY29yZSBMMiBjYWNoZTogVGhpcyBldmVudCBkb2VzIG5vdCBjb3VudC4gK0lDSSBJZiB0aGUg Y29yZSBpcyBjb25maWd1cmVkIHdpdGhvdXQgYSBwZXItY29yZSBMMiBjYWNoZTogVGhpcyBldmVu dCBjb3VudHMgdGhlIGNsdXN0ZXIgY2FjaGUgZXZlbnQsIGFzIGRlZmluZWQgYnkgTDNfUFJFRl9M SU5FX0ZJTEwuICtJQ0kgSWYgdGhlcmUgaXMgbmVpdGhlciBhIHBlci1jb3JlIGNhY2hlIG5vciBh IGNsdXN0ZXIgY2FjaGUgY29uZmlndXJlZCwgdGhpcyBldmVudCBpcyBub3QgaW1wbGVtZW50ZWQi LAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4QzQiLAo+ID4gPiArICAgICAgICAiRXZl bnROYW1lIjogIkwyRF9QUkVGX0xJTkVfRklMTCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2Ny aXB0aW9uIjogIkxldmVsIDIgY2FjaGUgcmVmaWxsIGR1ZSB0byBwcmVmZXRjaC4gK0lDSSBJZiB0 aGUgY29yZSBpcyBjb25maWd1cmVkIHdpdGggYSBwZXItY29yZSBMMiBjYWNoZTogVGhpcyBldmVu dCBkb2VzIG5vdCBjb3VudC4gK0lDSSBJZiB0aGUgY29yZSBpcyBjb25maWd1cmVkIHdpdGhvdXQg YSBwZXItY29yZSBMMiBjYWNoZTogVGhpcyBldmVudCBjb3VudHMgdGhlIGNsdXN0ZXIgY2FjaGUg ZXZlbnQsIGFzIGRlZmluZWQgYnkgTDNfUFJFRl9MSU5FX0ZJTEwuICtJQ0kgSWYgdGhlcmUgaXMg bmVpdGhlciBhIHBlci1jb3JlIGNhY2hlIG5vciBhIGNsdXN0ZXIgY2FjaGUgY29uZmlndXJlZCwg dGhpcyBldmVudCBpcyBub3QgaW1wbGVtZW50ZWQiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7 Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJMZXZlbCAzIGNhY2hlIHJlZmls bCBkdWUgdG8gcHJlZmV0Y2guIFRoaXMgZXZlbnQgY291bnRzIGFueSBsaW5lZmlsbHMgZnJvbSB0 aGUgaGFyZHdhcmUgcHJlZmV0Y2hlciB3aGljaCBjYXVzZSBhbiBhbGxvY2F0aW9uIGludG8gdGhl IEwzIGNhY2hlLiBOb3RlIEl0IG1pZ2h0IG5vdCBiZSBwb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBi ZXR3ZWVuIGJvdGggaGFyZHdhcmUgYW5kIHNvZnR3YXJlIHByZWZldGNoZXMgYW5kIGFsc28gd2hp Y2ggcHJlZmV0Y2hlcyBjYXVzZSBhbiBhbGxvY2F0aW9uLiBJZiBzbywgb25seSBoYXJkd2FyZSBw cmVmZXRjaGVzIHNob3VsZCBiZSBjb3VudGVkLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBh bGxvY2F0ZS4gSWYgZWl0aGVyIHRoZSBjb3JlIGlzIGNvbmZpZ3VyZWQgd2l0aG91dCBhIHBlci1j b3JlIEwyIG9yIHRoZSBjbHVzdGVyIGlzIGNvbmZpZ3VyZWQgd2l0aG91dCBhbiBMMyBjYWNoZSwg dGhpcyBldmVudCBpcyBub3QgaW1wbGVtZW50ZWQiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2Rl IjogIjB4QzUiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIkwzX1BSRUZfTElORV9GSUxM IiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiTGV2ZWwgMyBjYWNoZSByZWZp bGwgZHVlIHRvIHByZWZldGNoLiBUaGlzIGV2ZW50IGNvdW50cyBhbnkgbGluZWZpbGxzIGZyb20g dGhlIGhhcmR3YXJlIHByZWZldGNoZXIgd2hpY2ggY2F1c2UgYW4gYWxsb2NhdGlvbiBpbnRvIHRo ZSBMMyBjYWNoZS4gTm90ZSBJdCBtaWdodCBub3QgYmUgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2gg YmV0d2VlbiBib3RoIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSBwcmVmZXRjaGVzIGFuZCBhbHNvIHdo aWNoIHByZWZldGNoZXMgY2F1c2UgYW4gYWxsb2NhdGlvbi4gSWYgc28sIG9ubHkgaGFyZHdhcmUg cHJlZmV0Y2hlcyBzaG91bGQgYmUgY291bnRlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkg YWxsb2NhdGUuIElmIGVpdGhlciB0aGUgY29yZSBpcyBjb25maWd1cmVkIHdpdGhvdXQgYSBwZXIt Y29yZSBMMiBvciB0aGUgY2x1c3RlciBpcyBjb25maWd1cmVkIHdpdGhvdXQgYW4gTDMgY2FjaGUs IHRoaXMgZXZlbnQgaXMgbm90IGltcGxlbWVudGVkIgo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAg ewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiTDFEIGVudGVyaW5nIHdyaXRl IHN0cmVhbSBtb2RlIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEM2IiwKPiA+ID4g KyAgICAgICAgIkV2ZW50TmFtZSI6ICJMMURfV1NfTU9ERV9FTlRFUiIsCj4gPiA+ICsgICAgICAg ICJCcmllZkRlc2NyaXB0aW9uIjogIkwxRCBlbnRlcmluZyB3cml0ZSBzdHJlYW0gbW9kZSIKPiA+ ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9u IjogIkwxRCBpcyBpbiB3cml0ZSBzdHJlYW0gbW9kZSIsCj4gPiA+ICsgICAgICAgICJFdmVudENv ZGUiOiAiMHhDNyIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiTDFEX1dTX01PREUiLAo+ ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJMMUQgaXMgaW4gd3JpdGUgc3RyZWFt IG1vZGUiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNE ZXNjcmlwdGlvbiI6ICJMZXZlbCAyIGNhY2hlIHdyaXRlIHN0cmVhbWluZyBtb2RlLiBUaGlzIGV2 ZW50IGNvdW50cyBmb3IgZWFjaCBjeWNsZSB3aGVyZSB0aGUgY29yZSBpcyBpbiB3cml0ZS1zdHJl YW1pbmcgbW9kZSBhbmQgbm90IGFsbG9jYXRpbmcgd3JpdGVzIGludG8gdGhlIEwyIGNhY2hlIiwK PiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEM4IiwKPiA+ID4gKyAgICAgICAgIkV2ZW50 TmFtZSI6ICJMMkRfV1NfTU9ERSIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjog IkxldmVsIDIgY2FjaGUgd3JpdGUgc3RyZWFtaW5nIG1vZGUuIFRoaXMgZXZlbnQgY291bnRzIGZv ciBlYWNoIGN5Y2xlIHdoZXJlIHRoZSBjb3JlIGlzIGluIHdyaXRlLXN0cmVhbWluZyBtb2RlIGFu ZCBub3QgYWxsb2NhdGluZyB3cml0ZXMgaW50byB0aGUgTDIgY2FjaGUiCj4gPiA+ICsgICAgfSwK PiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJMZXZlbCAz IGNhY2hlIHdyaXRlIHN0cmVhbWluZyBtb2RlLiBUaGlzIGV2ZW50IGNvdW50cyBmb3IgZWFjaCBj eWNsZSB3aGVyZSB0aGUgY29yZSBpcyBpbiB3cml0ZS1zdHJlYW1pbmcgbW9kZSBhbmQgbm90IGFs bG9jYXRpbmcgd3JpdGVzIGludG8gdGhlIEwzIGNhY2hlIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50 Q29kZSI6ICIweEM5IiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJMM0RfV1NfTU9ERSIs Cj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIkxldmVsIDMgY2FjaGUgd3JpdGUg c3RyZWFtaW5nIG1vZGUuIFRoaXMgZXZlbnQgY291bnRzIGZvciBlYWNoIGN5Y2xlIHdoZXJlIHRo ZSBjb3JlIGlzIGluIHdyaXRlLXN0cmVhbWluZyBtb2RlIGFuZCBub3QgYWxsb2NhdGluZyB3cml0 ZXMgaW50byB0aGUgTDMgY2FjaGUiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsg ICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJMZXZlbCAyIFRMQiBsYXN0LWxldmVsIHdhbGsg Y2FjaGUgYWNjZXNzLiBUaGlzIGV2ZW50IGRvZXMgbm90IGNvdW50IGlmIHRoZSBNTVUgaXMgZGlz YWJsZWQiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4Q0EiLAo+ID4gPiArICAgICAg ICAiRXZlbnROYW1lIjogIlRMQl9MMlRMQl9MTFdBTEtfQUNDRVNTIiwKPiA+ID4gKyAgICAgICAg IkJyaWVmRGVzY3JpcHRpb24iOiAiTGV2ZWwgMiBUTEIgbGFzdC1sZXZlbCB3YWxrIGNhY2hlIGFj Y2Vzcy4gVGhpcyBldmVudCBkb2VzIG5vdCBjb3VudCBpZiB0aGUgTU1VIGlzIGRpc2FibGVkIgo+ ID4gPiArICAgIH0sCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRp b24iOiAiTGV2ZWwgMiBUTEIgbGFzdC1sZXZlbCB3YWxrIGNhY2hlIHJlZmlsbC4gVGhpcyBldmVu dCBkb2VzIG5vdCBjb3VudCBpZiB0aGUgTU1VIGlzIGRpc2FibGVkIiwKPiA+ID4gKyAgICAgICAg IkV2ZW50Q29kZSI6ICIweENCIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJUTEJfTDJU TEJfTExXQUxLX1JFRklMTCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIkxl dmVsIDIgVExCIGxhc3QtbGV2ZWwgd2FsayBjYWNoZSByZWZpbGwuIFRoaXMgZXZlbnQgZG9lcyBu b3QgY291bnQgaWYgdGhlIE1NVSBpcyBkaXNhYmxlZCIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAg IHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIkxldmVsIDIgVExCIGxldmVs LTIgd2FsayBjYWNoZSBhY2Nlc3MuIFRoaXMgZXZlbnQgY291bnRzIGFjY2Vzc2VzIHRvIHRoZSBs ZXZlbC0yIHdhbGsgY2FjaGUgd2hlcmUgdGhlIGxhc3QtbGV2ZWwgd2FsayBjYWNoZSBoYXMgbWlz c2VkLiBUaGUgZXZlbnQgb25seSBjb3VudHMgd2hlbiB0aGUgdHJhbnNsYXRpb24gcmVnaW1lIG9m IHRoZSBwYWdld2FsayB1c2VzIGxldmVsIDIgZGVzY3JpcHRvcnMuIFRoaXMgZXZlbnQgZG9lcyBu b3QgY291bnQgaWYgdGhlIE1NVSBpcyBkaXNhYmxlZCIsCj4gPiA+ICsgICAgICAgICJFdmVudENv ZGUiOiAiMHhDQyIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiVExCX0wyVExCX0wyV0FM S19BQ0NFU1MiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJMZXZlbCAyIFRM QiBsZXZlbC0yIHdhbGsgY2FjaGUgYWNjZXNzLiBUaGlzIGV2ZW50IGNvdW50cyBhY2Nlc3NlcyB0 byB0aGUgbGV2ZWwtMiB3YWxrIGNhY2hlIHdoZXJlIHRoZSBsYXN0LWxldmVsIHdhbGsgY2FjaGUg aGFzIG1pc3NlZC4gVGhlIGV2ZW50IG9ubHkgY291bnRzIHdoZW4gdGhlIHRyYW5zbGF0aW9uIHJl Z2ltZSBvZiB0aGUgcGFnZXdhbGsgdXNlcyBsZXZlbCAyIGRlc2NyaXB0b3JzLiBUaGlzIGV2ZW50 IGRvZXMgbm90IGNvdW50IGlmIHRoZSBNTVUgaXMgZGlzYWJsZWQiCj4gPiA+ICsgICAgfSwKPiA+ ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJMZXZlbCAyIFRM QiBsZXZlbC0yIHdhbGsgY2FjaGUgcmVmaWxsLiBUaGlzIGV2ZW50IGRvZXMgbm90IGNvdW50IGlm IHRoZSBNTVUgaXMgZGlzYWJsZWQiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4Q0Qi LAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIlRMQl9MMlRMQl9MMldBTEtfUkVGSUxMIiwK PiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiTGV2ZWwgMiBUTEIgbGV2ZWwtMiB3 YWxrIGNhY2hlIHJlZmlsbC4gVGhpcyBldmVudCBkb2VzIG5vdCBjb3VudCBpZiB0aGUgTU1VIGlz IGRpc2FibGVkIgo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVi bGljRGVzY3JpcHRpb24iOiAiTGV2ZWwgMiBUTEIgSVBBIGNhY2hlIGFjY2Vzcy4gVGhpcyBldmVu dCBjb3VudHMgb24gZWFjaCBhY2Nlc3MgdG8gdGhlIElQQSBjYWNoZS4gK0lDSSBJZiBhIHNpbmds ZSBwYWdld2FsayBuZWVkcyB0byBtYWtlIG11bHRpcGxlIGFjY2Vzc2VzIHRvIHRoZSBJUEEgY2Fj aGUsIGVhY2ggYWNjZXNzIGlzIGNvdW50ZWQuICtJQ0kgSWYgc3RhZ2UgMiB0cmFuc2xhdGlvbiBp cyBkaXNhYmxlZCwgdGhpcyBldmVudCBkb2VzIG5vdCBjb3VudCIsCj4gPiA+ICsgICAgICAgICJF dmVudENvZGUiOiAiMHhDRSIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiVExCX0wyVExC X1MyX0FDQ0VTUyIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIkxldmVsIDIg VExCIElQQSBjYWNoZSBhY2Nlc3MuIFRoaXMgZXZlbnQgY291bnRzIG9uIGVhY2ggYWNjZXNzIHRv IHRoZSBJUEEgY2FjaGUuICtJQ0kgSWYgYSBzaW5nbGUgcGFnZXdhbGsgbmVlZHMgdG8gbWFrZSBt dWx0aXBsZSBhY2Nlc3NlcyB0byB0aGUgSVBBIGNhY2hlLCBlYWNoIGFjY2VzcyBpcyBjb3VudGVk LiArSUNJIElmIHN0YWdlIDIgdHJhbnNsYXRpb24gaXMgZGlzYWJsZWQsIHRoaXMgZXZlbnQgZG9l cyBub3QgY291bnQiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQ dWJsaWNEZXNjcmlwdGlvbiI6ICJMZXZlbCAyIFRMQiBJUEEgY2FjaGUgcmVmaWxsLiBUaGlzIGV2 ZW50IGNvdW50cyBvbiBlYWNoIHJlZmlsbCBvZiB0aGUgSVBBIGNhY2hlLiArSUNJIElmIGEgc2lu Z2xlIHBhZ2V3YWxrIG5lZWRzIHRvIG1ha2UgbXVsdGlwbGUgYWNjZXNzZXMgdG8gdGhlIElQQSBj YWNoZSwgZWFjaCBhY2Nlc3Mgd2hpY2ggY2F1c2VzIGEgcmVmaWxsIGlzIGNvdW50ZWQuICtJQ0kg SWYgc3RhZ2UgMiB0cmFuc2xhdGlvbiBpcyBkaXNhYmxlZCwgdGhpcyBldmVudCBkb2VzIG5vdCBj b3VudCIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhDRiIsCj4gPiA+ICsgICAgICAg ICJFdmVudE5hbWUiOiAiVExCX0wyVExCX1MyX1JFRklMTCIsCj4gPiA+ICsgICAgICAgICJCcmll ZkRlc2NyaXB0aW9uIjogIkxldmVsIDIgVExCIElQQSBjYWNoZSByZWZpbGwuIFRoaXMgZXZlbnQg Y291bnRzIG9uIGVhY2ggcmVmaWxsIG9mIHRoZSBJUEEgY2FjaGUuICtJQ0kgSWYgYSBzaW5nbGUg cGFnZXdhbGsgbmVlZHMgdG8gbWFrZSBtdWx0aXBsZSBhY2Nlc3NlcyB0byB0aGUgSVBBIGNhY2hl LCBlYWNoIGFjY2VzcyB3aGljaCBjYXVzZXMgYSByZWZpbGwgaXMgY291bnRlZC4gK0lDSSBJZiBz dGFnZSAyIHRyYW5zbGF0aW9uIGlzIGRpc2FibGVkLCB0aGlzIGV2ZW50IGRvZXMgbm90IGNvdW50 Igo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3Jp cHRpb24iOiAiVW5hdHRyaWJ1dGFibGUgTGV2ZWwgMSBkYXRhIGNhY2hlIHdyaXRlLWJhY2suIFRo aXMgZXZlbnQgb2NjdXJzIHdoZW4gYSByZXF1ZXN0b3Igb3V0c2lkZSB0aGUgUEUgbWFrZXMgYSBj b2hlcmVuY3kgcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gd3JpdGViYWNrIiwKPiA+ID4gKyAgICAg ICAgIkV2ZW50Q29kZSI6ICIweEYwIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJMMl9M MURfQ0FDSEVfV0JfVU5BVFQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJV bmF0dHJpYnV0YWJsZSBMZXZlbCAxIGRhdGEgY2FjaGUgd3JpdGUtYmFjay4gVGhpcyBldmVudCBv Y2N1cnMgd2hlbiBhIHJlcXVlc3RvciBvdXRzaWRlIHRoZSBQRSBtYWtlcyBhIGNvaGVyZW5jeSBy ZXF1ZXN0IHRoYXQgcmVzdWx0cyBpbiB3cml0ZWJhY2siCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAg ICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJVbmF0dHJpYnV0YWJsZSBM ZXZlbCAyIHVuaWZpZWQgY2FjaGUgYWNjZXNzLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVx dWVzdG9yIG91dHNpZGUgdGhlIFBFIG1ha2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1 bHRzIGluIGxldmVsIDIgdW5pZmllZCBjYWNoZSBhY2Nlc3MiLAo+ID4gPiArICAgICAgICAiRXZl bnRDb2RlIjogIjB4RjEiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIkwyX0wyRF9DQUNI RV9VTkFUVCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIlVuYXR0cmlidXRh YmxlIExldmVsIDIgdW5pZmllZCBjYWNoZSBhY2Nlc3MuIFRoaXMgZXZlbnQgb2NjdXJzIHdoZW4g YSByZXF1ZXN0b3Igb3V0c2lkZSB0aGUgUEUgbWFrZXMgYSBjb2hlcmVuY3kgcmVxdWVzdCB0aGF0 IHJlc3VsdHMgaW4gbGV2ZWwgMiB1bmlmaWVkIGNhY2hlIGFjY2VzcyIKPiA+ID4gKyAgICB9LAo+ ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIlVuYXR0cmli dXRhYmxlIExldmVsIDIgdW5pZmllZCBjYWNoZSBhY2Nlc3MsIHJlYWQuIFRoaXMgZXZlbnQgb2Nj dXJzIHdoZW4gYSByZXF1ZXN0b3Igb3V0c2lkZSB0aGUgUEUgbWFrZXMgYSBjb2hlcmVuY3kgcmVx dWVzdCB0aGF0IHJlc3VsdHMgaW4gbGV2ZWwgMiB1bmlmaWVkIGNhY2hlIHJlYWQgYWNjZXNzIiwK PiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEYyIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50 TmFtZSI6ICJMMl9MMkRfQ0FDSEVfUkRfVU5BVFQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNj cmlwdGlvbiI6ICJVbmF0dHJpYnV0YWJsZSBMZXZlbCAyIHVuaWZpZWQgY2FjaGUgYWNjZXNzLCBy ZWFkLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVzdG9yIG91dHNpZGUgdGhlIFBFIG1h a2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGxldmVsIDIgdW5pZmllZCBj YWNoZSByZWFkIGFjY2VzcyIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAg ICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIlVuYXR0cmlidXRhYmxlIExldmVsIDMgdW5pZmllZCBj YWNoZSBhY2Nlc3MuIFRoaXMgZXZlbnQgb2NjdXJzIHdoZW4gYSByZXF1ZXN0b3Igb3V0c2lkZSB0 aGUgUEUgbWFrZXMgYSBjb2hlcmVuY3kgcmVxdWVzdCB0aGF0IHJlc3VsdHMgaW4gbGV2ZWwgMyB1 bmlmaWVkIGNhY2hlIHJlYWQgYWNjZXNzIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIw eEYzIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJMMl9MM0RfQ0FDSEVfVU5BVFQiLAo+ ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJVbmF0dHJpYnV0YWJsZSBMZXZlbCAz IHVuaWZpZWQgY2FjaGUgYWNjZXNzLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVzdG9y IG91dHNpZGUgdGhlIFBFIG1ha2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRzIGlu IGxldmVsIDMgdW5pZmllZCBjYWNoZSByZWFkIGFjY2VzcyIKPiA+ID4gKyAgICB9LAo+ID4gPiAr ICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIlVuYXR0cmlidXRhYmxl IExldmVsIDMgdW5pZmllZCBjYWNoZSBhY2Nlc3MsIHJlYWQuIFRoaXMgZXZlbnQgb2NjdXJzIHdo ZW4gYSByZXF1ZXN0b3Igb3V0c2lkZSB0aGUgUEUgbWFrZXMgYSBjb2hlcmVuY3kgcmVxdWVzdCB0 aGF0IHJlc3VsdHMgaW4gbGV2ZWwgMyB1bmlmaWVkIGNhY2hlIHJlYWQgYWNjZXNzIiwKPiA+ID4g KyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEY0IiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6 ICJMMl9MM0RfQ0FDSEVfUkRfVU5BVFQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlv biI6ICJVbmF0dHJpYnV0YWJsZSBMZXZlbCAzIHVuaWZpZWQgY2FjaGUgYWNjZXNzLCByZWFkLiBU aGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVzdG9yIG91dHNpZGUgdGhlIFBFIG1ha2VzIGEg Y29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGxldmVsIDMgdW5pZmllZCBjYWNoZSBy ZWFkIGFjY2VzcyIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1 YmxpY0Rlc2NyaXB0aW9uIjogIlVuYXR0cmlidXRhYmxlIExldmVsIDMgdW5pZmllZCBjYWNoZSBh bGxvY2F0aW9uIHdpdGhvdXQgcmVmaWxsLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVz dG9yIG91dHNpZGUgdGhlIFBFIG1ha2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRz IGluIGxldmVsIDMgY2FjaGUgYWxsb2NhdGUgd2l0aG91dCByZWZpbGwiLAo+ID4gPiArICAgICAg ICAiRXZlbnRDb2RlIjogIjB4RjUiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIkwyX0wz RF9DQUNIRV9BTExPQ19VTkFUVCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjog IlVuYXR0cmlidXRhYmxlIExldmVsIDMgdW5pZmllZCBjYWNoZSBhbGxvY2F0aW9uIHdpdGhvdXQg cmVmaWxsLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVzdG9yIG91dHNpZGUgdGhlIFBF IG1ha2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGxldmVsIDMgY2FjaGUg YWxsb2NhdGUgd2l0aG91dCByZWZpbGwiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJVbmF0dHJpYnV0YWJsZSBMZXZlbCAzIHVu aWZpZWQgY2FjaGUgcmVmaWxsLiBUaGlzIGV2ZW50IG9jY3VycyB3aGVuIGEgcmVxdWVzdG9yIG91 dHNpZGUgdGhlIFBFIG1ha2VzIGEgY29oZXJlbmN5IHJlcXVlc3QgdGhhdCByZXN1bHRzIGluIGxl dmVsIDMgY2FjaGUgcmVmaWxsIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEY2IiwK PiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJMMl9MM0RfQ0FDSEVfUkVGSUxMX1VOQVRUIiwK PiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiVW5hdHRyaWJ1dGFibGUgTGV2ZWwg MyB1bmlmaWVkIGNhY2hlIHJlZmlsbC4gVGhpcyBldmVudCBvY2N1cnMgd2hlbiBhIHJlcXVlc3Rv ciBvdXRzaWRlIHRoZSBQRSBtYWtlcyBhIGNvaGVyZW5jeSByZXF1ZXN0IHRoYXQgcmVzdWx0cyBp biBsZXZlbCAzIGNhY2hlIHJlZmlsbCIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4g KyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIkxldmVsIDIgY2FjaGUgc3Rhc2ggZHJvcHBl ZC4gVGhpcyBldmVudCBjb3VudHMgb24gZWFjaCBzdGFzaCByZXF1ZXN0IHJlY2VpdmVkIGZyb20g dGhlIGludGVyY29ubmVjdCBvciBBQ1AsIHRoYXQgaXMgdGFyZ2V0aW5nIEwyIGFuZCBnZXRzIGRy b3BwZWQgZHVlIHRvIGxhY2sgb2YgYnVmZmVyIHNwYWNlIHRvIGhvbGQgdGhlIHJlcXVlc3QiLAo+ ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4RjciLAo+ID4gPiArICAgICAgICAiRXZlbnRO YW1lIjogIkwyRF9DQUNIRV9TVEFTSF9EUk9QUEVEIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVz Y3JpcHRpb24iOiAiTGV2ZWwgMiBjYWNoZSBzdGFzaCBkcm9wcGVkLiBUaGlzIGV2ZW50IGNvdW50 cyBvbiBlYWNoIHN0YXNoIHJlcXVlc3QgcmVjZWl2ZWQgZnJvbSB0aGUgaW50ZXJjb25uZWN0IG9y IEFDUCwgdGhhdCBpcyB0YXJnZXRpbmcgTDIgYW5kIGdldHMgZHJvcHBlZCBkdWUgdG8gbGFjayBv ZiBidWZmZXIgc3BhY2UgdG8gaG9sZCB0aGUgcmVxdWVzdCIKPiA+ID4gICAgICAgfQo+ID4gPiAg IF0KPiA+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0L2Fy bS9uZW92ZXJzZS1lMS9kcHUuanNvbiBiL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0 L2FybS9uZW92ZXJzZS1lMS9kcHUuanNvbgo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4g PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI4ZTQwMmE5MWJkZAo+ID4gPiAtLS0gL2Rldi9udWxsCj4g PiA+ICsrKyBiL3Rvb2xzL3BlcmYvcG11LWV2ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1l MS9kcHUuanNvbgo+ID4gPiBAQCAtMCwwICsxLDMyIEBACj4gPiA+ICtbCj4gPiA+ICsgICAgewo+ ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiSW5zdHJ1Y3Rpb24gcmV0aXJlZCwg aW5kaXJlY3QgYnJhbmNoLCBtaXNwcmVkaWN0ZWQiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2Rl IjogIjB4RTkiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIkRQVV9CUl9JTkRfTUlTIiwK PiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiSW5zdHJ1Y3Rpb24gcmV0aXJlZCwg aW5kaXJlY3QgYnJhbmNoLCBtaXNwcmVkaWN0ZWQiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7 Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJJbnN0cnVjdGlvbiByZXRpcmVk LCBjb25kaXRpb25hbCBicmFuY2gsIG1pc3ByZWRpY3RlZCIsCj4gPiA+ICsgICAgICAgICJFdmVu dENvZGUiOiAiMHhFQSIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiRFBVX0JSX0NPTkRf TUlTIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiSW5zdHJ1Y3Rpb24gcmV0 aXJlZCwgY29uZGl0aW9uYWwgYnJhbmNoLCBtaXNwcmVkaWN0ZWQiCj4gPiA+ICsgICAgfSwKPiA+ ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJNZW1vcnkgZXJy b3IgKGFueSB0eXBlKSBmcm9tIElGVSIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhF QiIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiRFBVX01FTV9FUlJfSUZVIiwKPiA+ID4g KyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiTWVtb3J5IGVycm9yIChhbnkgdHlwZSkgZnJv bSBJRlUiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNE ZXNjcmlwdGlvbiI6ICJNZW1vcnkgZXJyb3IgKGFueSB0eXBlKSBmcm9tIERDVSIsCj4gPiA+ICsg ICAgICAgICJFdmVudENvZGUiOiAiMHhFQyIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAi RFBVX01FTV9FUlJfRENVIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiTWVt b3J5IGVycm9yIChhbnkgdHlwZSkgZnJvbSBEQ1UiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7 Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJNZW1vcnkgZXJyb3IgKGFueSB0 eXBlKSBmcm9tIFRMQiIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhFRCIsCj4gPiA+ ICsgICAgICAgICJFdmVudE5hbWUiOiAiRFBVX01FTV9FUlJfVExCIiwKPiA+ID4gKyAgICAgICAg IkJyaWVmRGVzY3JpcHRpb24iOiAiTWVtb3J5IGVycm9yIChhbnkgdHlwZSkgZnJvbSBUTEIiCj4g PiA+ICsgICAgfQo+ID4gPiArXQo+ID4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9wbXUtZXZl bnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLWUxL2lmdS5qc29uIGIvdG9vbHMvcGVyZi9wbXUt ZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLWUxL2lmdS5qc29uCj4gPiA+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uMTMxNzhjNWRjYTE0Cj4gPiA+ IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJt NjQvYXJtL25lb3ZlcnNlLWUxL2lmdS5qc29uCj4gPiA+IEBAIC0wLDAgKzEsMTIyIEBACj4gPiA+ ICtbCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiSS1D YWNoZSBtaXNzIG9uIGFuIGFjY2VzcyBmcm9tIHRoZSBwcmVmZXRjaCBibG9jayIsCj4gPiA+ICsg ICAgICAgICJFdmVudENvZGUiOiAiMHhEMCIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAi SUZVX0lDX01JU1NfV0FJVCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIkkt Q2FjaGUgbWlzcyBvbiBhbiBhY2Nlc3MgZnJvbSB0aGUgcHJlZmV0Y2ggYmxvY2siCj4gPiA+ICsg ICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJD b3VudHMgdGhlIGN5Y2xlcyBzcGVudCBvbiBhIHJlcXVlc3QgZm9yIExldmVsIDIgVExCIGxvb2t1 cCBhZnRlciBhIExldmVsIDFsIElUTEIgbWlzcyIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUi OiAiMHhEMSIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiSUZVX0lVVExCX01JU1NfV0FJ VCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIkNvdW50cyB0aGUgY3ljbGVz IHNwZW50IG9uIGEgcmVxdWVzdCBmb3IgTGV2ZWwgMiBUTEIgbG9va3VwIGFmdGVyIGEgTGV2ZWwg MWwgSVRMQiBtaXNzIgo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAi UHVibGljRGVzY3JpcHRpb24iOiAiTWljcm8tcHJlZGljdG9yIGNvbmRpdGlvbmFsL2RpcmVjdGlv biBtaXNwcmVkaWN0LCB3aXRoIHJlc3BlY3QgdG8uIGlmMy9pZjQgcHJlZGljdG9yIiwKPiA+ID4g KyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEQyIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6 ICJJRlVfTUlDUk9fQ09ORF9NSVNQUkVEIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRp b24iOiAiTWljcm8tcHJlZGljdG9yIGNvbmRpdGlvbmFsL2RpcmVjdGlvbiBtaXNwcmVkaWN0LCB3 aXRoIHJlc3BlY3QgdG8uIGlmMy9pZjQgcHJlZGljdG9yIgo+ID4gPiArICAgIH0sCj4gPiA+ICsg ICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiTWljcm8tcHJlZGljdG9y IGFkZHJlc3MgbWlzcHJlZGljdCwgd2l0aCByZXNwZWN0IHRvIGlmMy9pZjQgcHJlZGljdG9yIiwK PiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEQzIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50 TmFtZSI6ICJJRlVfTUlDUk9fQ0FERFJfTUlTUFJFRCIsCj4gPiA+ICsgICAgICAgICJCcmllZkRl c2NyaXB0aW9uIjogIk1pY3JvLXByZWRpY3RvciBhZGRyZXNzIG1pc3ByZWRpY3QsIHdpdGggcmVz cGVjdCB0byBpZjMvaWY0IHByZWRpY3RvciIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIk1pY3JvLXByZWRpY3RvciBoaXQgd2l0 aCBpbW1lZGlhdGUgcmVkaXJlY3QiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4RDQi LAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIklGVV9NSUNST19ISVQiLAo+ID4gPiArICAg ICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJNaWNyby1wcmVkaWN0b3IgaGl0IHdpdGggaW1tZWRp YXRlIHJlZGlyZWN0Igo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAi UHVibGljRGVzY3JpcHRpb24iOiAiTWljcm8tcHJlZGljdG9yIG5lZ2F0aXZlIGNhY2hlIGhpdCIs Cj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhENiIsCj4gPiA+ICsgICAgICAgICJFdmVu dE5hbWUiOiAiSUZVX01JQ1JPX05FR19ISVQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlw dGlvbiI6ICJNaWNyby1wcmVkaWN0b3IgbmVnYXRpdmUgY2FjaGUgaGl0Igo+ID4gPiArICAgIH0s Cj4gPiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiTWljcm8t cHJlZGljdG9yIGNvcnJlY3Rpb24iLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4RDci LAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIklGVV9NSUNST19DT1JSRUNUSU9OIiwKPiA+ ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiTWljcm8tcHJlZGljdG9yIGNvcnJlY3Rp b24iCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNj cmlwdGlvbiI6ICJBIDJuZCBpbnN0cnVjdGlvbiBjb3VsZCBoYXZlIGJlZW4gcHVzaGVkIGJ1dCB3 YXMgbm90IGJlY2F1c2UgaXQgd2FzIG5vbnNlcXVlbnRpYWwiLAo+ID4gPiArICAgICAgICAiRXZl bnRDb2RlIjogIjB4RDgiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIklGVV9NSUNST19O T19JTlNUUjEiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJBIDJuZCBpbnN0 cnVjdGlvbiBjb3VsZCBoYXZlIGJlZW4gcHVzaGVkIGJ1dCB3YXMgbm90IGJlY2F1c2UgaXQgd2Fz IG5vbnNlcXVlbnRpYWwiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAg ICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJNaWNyby1wcmVkaWN0b3IgbWlzcyIsCj4gPiA+ICsgICAg ICAgICJFdmVudENvZGUiOiAiMHhEOSIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiSUZV X01JQ1JPX05PX1BSRUQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJNaWNy by1wcmVkaWN0b3IgbWlzcyIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAg ICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIlRocmVhZCBmbHVzaGVkIGR1ZSB0byBUTEIgbWlzcyIs Cj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhEQSIsCj4gPiA+ICsgICAgICAgICJFdmVu dE5hbWUiOiAiSUZVX0ZMVVNIRURfVExCX01JU1MiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNj cmlwdGlvbiI6ICJUaHJlYWQgZmx1c2hlZCBkdWUgdG8gVExCIG1pc3MiCj4gPiA+ICsgICAgfSwK PiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJUaHJlYWQg Zmx1c2hlZCBkdWUgdG8gcmVhc29ucyBvdGhlciB0aGFuIFRMQiBtaXNzIiwKPiA+ID4gKyAgICAg ICAgIkV2ZW50Q29kZSI6ICIweERCIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJJRlVf RkxVU0hFRF9FWENMX1RMQl9NSVNTIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24i OiAiVGhyZWFkIGZsdXNoZWQgZHVlIHRvIHJlYXNvbnMgb3RoZXIgdGhhbiBUTEIgbWlzcyIKPiA+ ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9u IjogIlRoaXMgdGhyZWFkIGFuZCB0aGUgb3RoZXIgdGhyZWFkIGJvdGggcmVhZHkgZm9yIHNjaGVk dWxpbmcgaW4gaWYwIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweERDIiwKPiA+ID4g KyAgICAgICAgIkV2ZW50TmFtZSI6ICJJRlVfQUxMX1RIUkRTX1JEWSIsCj4gPiA+ICsgICAgICAg ICJCcmllZkRlc2NyaXB0aW9uIjogIlRoaXMgdGhyZWFkIGFuZCB0aGUgb3RoZXIgdGhyZWFkIGJv dGggcmVhZHkgZm9yIHNjaGVkdWxpbmcgaW4gaWYwIgo+ID4gPiArICAgIH0sCj4gPiA+ICsgICAg ewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiVGhpcyB0aHJlYWQgd2FzIGFy Yml0cmF0ZWQgd2hlbiB0aGUgb3RoZXIgdGhyZWFkIHdhcyBhbHNvIHJlYWR5IGZvciBzY2hlZHVs aW5nIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEREIiwKPiA+ID4gKyAgICAgICAg IkV2ZW50TmFtZSI6ICJJRlVfV0lOX0FSQl9PVEhFUl9SRFkiLAo+ID4gPiArICAgICAgICAiQnJp ZWZEZXNjcmlwdGlvbiI6ICJUaGlzIHRocmVhZCB3YXMgYXJiaXRyYXRlZCB3aGVuIHRoZSBvdGhl ciB0aHJlYWQgd2FzIGFsc28gcmVhZHkgZm9yIHNjaGVkdWxpbmciCj4gPiA+ICsgICAgfSwKPiA+ ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJUaGlzIHRocmVh ZCB3YXMgYXJiaXRyYXRlZCB3aGVuIHRoZSBvdGhlciB0aHJlYWQgd2FzIGFsc28gYWN0aXZlLCBi dXQgbm90IG5lY2Vzc2FyaWx5IHJlYWR5LiBGb3IgZXhhbXBsZSwgd2FpdGluZyBmb3IgSS1DYWNo ZSBvciBUTEIiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjogIjB4REUiLAo+ID4gPiArICAg ICAgICAiRXZlbnROYW1lIjogIklGVV9XSU5fQVJCX09USEVSX0FDVCIsCj4gPiA+ICsgICAgICAg ICJCcmllZkRlc2NyaXB0aW9uIjogIlRoaXMgdGhyZWFkIHdhcyBhcmJpdHJhdGVkIHdoZW4gdGhl IG90aGVyIHRocmVhZCB3YXMgYWxzbyBhY3RpdmUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgcmVhZHku IEZvciBleGFtcGxlLCB3YWl0aW5nIGZvciBJLUNhY2hlIG9yIFRMQiIKPiA+ID4gKyAgICB9LAo+ ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIlRoaXMgdGhy ZWFkIHdhcyBub3QgYXJiaXRyYXRlZCBiZWNhdXNlIGl0IHdhcyBub3QgcmVhZHkgZm9yIHNjaGVk dWxpbmcuIEZvciBleGFtcGxlLCBkdWUgdG8gYSBjYWNoZSBtaXNzIG9yIFRMQiBtaXNzIiwKPiA+ ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweERGIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFt ZSI6ICJJRlVfTk9UX1JEWV9GT1JfQVJCIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRp b24iOiAiVGhpcyB0aHJlYWQgd2FzIG5vdCBhcmJpdHJhdGVkIGJlY2F1c2UgaXQgd2FzIG5vdCBy ZWFkeSBmb3Igc2NoZWR1bGluZy4gRm9yIGV4YW1wbGUsIGR1ZSB0byBhIGNhY2hlIG1pc3Mgb3Ig VExCIG1pc3MiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJs aWNEZXNjcmlwdGlvbiI6ICJUaGUgdGhyZWFkIG1vdmVkIGZyb20gYW4gYWN0aXZlIHN0YXRlIHRv IGFuIGluYWN0aXZlIHN0YXRlIChsb25nLXRlcm0gc2xlZXAgc3RhdGUsIGNhdXNpbmcgZGVhbGxv Y2F0aW9uIG9mIHNvbWUgcmVzb3VyY2VzKSIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAi MHhFMCIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiSUZVX0dPVE9fSURMRSIsCj4gPiA+ ICsgICAgICAgICJCcmllZkRlc2NyaXB0aW9uIjogIlRoZSB0aHJlYWQgbW92ZWQgZnJvbSBhbiBh Y3RpdmUgc3RhdGUgdG8gYW4gaW5hY3RpdmUgc3RhdGUgKGxvbmctdGVybSBzbGVlcCBzdGF0ZSwg Y2F1c2luZyBkZWFsbG9jYXRpb24gb2Ygc29tZSByZXNvdXJjZXMpIgo+ID4gPiArICAgIH0sCj4g PiA+ICsgICAgewo+ID4gPiArICAgICAgICAiUHVibGljRGVzY3JpcHRpb24iOiAiSS1DYWNoZSBs b29rdXAgdW5kZXIgbWlzcyBmcm9tIG90aGVyIHRocmVhZCIsCj4gPiA+ICsgICAgICAgICJFdmVu dENvZGUiOiAiMHhFMSIsCj4gPiA+ICsgICAgICAgICJFdmVudE5hbWUiOiAiSUZVX0lDX0xPT0tV UF9VTkRFUl9NSVNTIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiSS1DYWNo ZSBsb29rdXAgdW5kZXIgbWlzcyBmcm9tIG90aGVyIHRocmVhZCIKPiA+ID4gKyAgICB9LAo+ID4g PiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9uIjogIkktQ2FjaGUgbWlz cyB1bmRlciBtaXNzIGZyb20gb3RoZXIgdGhyZWFkIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29k ZSI6ICIweEUyIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJJRlVfSUNfTUlTU19VTkRF Ul9NSVNTIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiSS1DYWNoZSBtaXNz IHVuZGVyIG1pc3MgZnJvbSBvdGhlciB0aHJlYWQiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7 Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJUaGlzIHRocmVhZCBwdXNoZWQg YW4gaW5zdHJ1Y3Rpb24gaW50byB0aGUgSVEiLAo+ID4gPiArICAgICAgICAiRXZlbnRDb2RlIjog IjB4RTMiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjogIklGVV9JTlNUUl9QVVNIRUQiLAo+ ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJUaGlzIHRocmVhZCBwdXNoZWQgYW4g aW5zdHJ1Y3Rpb24gaW50byB0aGUgSVEiCj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ ICsgICAgICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJJLUNhY2hlIFNwZWN1bGF0aXZlIGxpbmUg ZmlsbCIsCj4gPiA+ICsgICAgICAgICJFdmVudENvZGUiOiAiMHhFNCIsCj4gPiA+ICsgICAgICAg ICJFdmVudE5hbWUiOiAiSUZVX0lDX0xGX1NQIiwKPiA+ID4gKyAgICAgICAgIkJyaWVmRGVzY3Jp cHRpb24iOiAiSS1DYWNoZSBTcGVjdWxhdGl2ZSBsaW5lIGZpbGwiCj4gPiA+ICsgICAgfQo+ID4g PiArXQo+ID4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQv YXJtL25lb3ZlcnNlLWUxL2luc3RydWN0aW9uLmpzb24gYi90b29scy9wZXJmL3BtdS1ldmVudHMv YXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtZTEvaW5zdHJ1Y3Rpb24uanNvbgo+ID4gPiBpbmRleCA2 YzNiOGY3NzJlN2YuLjJlMGQ2MDc3OWRjZSAxMDA2NDQKPiA+ID4gLS0tIGEvdG9vbHMvcGVyZi9w bXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLWUxL2luc3RydWN0aW9uLmpzb24KPiA+ ID4gKysrIGIvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25lb3ZlcnNlLWUx L2luc3RydWN0aW9uLmpzb24KPiA+ID4gQEAgLTYxLDUgKzYxLDExIEBACj4gPiA+ICAgICAgIH0s Cj4gPiA+ICAgICAgIHsKPiA+ID4gICAgICAgICAgICJBcmNoU3RkRXZlbnQiOiAiSVNCX1NQRUMi Cj4gPiA+ICsgICAgfSwKPiA+ID4gKyAgICB7Cj4gPiA+ICsgICAgICAgICJQdWJsaWNEZXNjcmlw dGlvbiI6ICJJbnN0cnVjdGlvbiByZXRpcmVkLCBjb25kaXRpb25hbCBicmFuY2giLAo+ID4gPiAr ICAgICAgICAiRXZlbnRDb2RlIjogIjB4RTgiLAo+ID4gPiArICAgICAgICAiRXZlbnROYW1lIjog IkRQVV9CUl9DT05EX1JFVElSRUQiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6 ICJJbnN0cnVjdGlvbiByZXRpcmVkLCBjb25kaXRpb25hbCBicmFuY2giCj4gPiA+ICAgICAgIH0K PiA+ID4gICBdCj4gPiA+IGRpZmYgLS1naXQgYS90b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9h cm02NC9hcm0vbmVvdmVyc2UtZTEvbWVtb3J5Lmpzb24gYi90b29scy9wZXJmL3BtdS1ldmVudHMv YXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtZTEvbWVtb3J5Lmpzb24KPiA+ID4gaW5kZXggNzhlZDZk ZmNlZGMxLi4xOGQ1MjdmN2ZhZDQgMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rvb2xzL3BlcmYvcG11LWV2 ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9tZW1vcnkuanNvbgo+ID4gPiArKysgYi90 b29scy9wZXJmL3BtdS1ldmVudHMvYXJjaC9hcm02NC9hcm0vbmVvdmVyc2UtZTEvbWVtb3J5Lmpz b24KPiA+ID4gQEAgLTE5LDUgKzE5LDE3IEBACj4gPiA+ICAgICAgIH0sCj4gPiA+ICAgICAgIHsK PiA+ID4gICAgICAgICAgICJBcmNoU3RkRXZlbnQiOiAiVU5BTElHTkVEX0xEU1RfU1BFQyIKPiA+ ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2NyaXB0aW9u IjogIkV4dGVybmFsIG1lbW9yeSByZXF1ZXN0IiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6 ICIweEMxIiwKPiA+ID4gKyAgICAgICAgIkV2ZW50TmFtZSI6ICJCSVVfRVhUX01FTV9SRVEiLAo+ ID4gPiArICAgICAgICAiQnJpZWZEZXNjcmlwdGlvbiI6ICJFeHRlcm5hbCBtZW1vcnkgcmVxdWVz dCIKPiA+ID4gKyAgICB9LAo+ID4gPiArICAgIHsKPiA+ID4gKyAgICAgICAgIlB1YmxpY0Rlc2Ny aXB0aW9uIjogIkV4dGVybmFsIG1lbW9yeSByZXF1ZXN0IHRvIG5vbi1jYWNoZWFibGUgbWVtb3J5 IiwKPiA+ID4gKyAgICAgICAgIkV2ZW50Q29kZSI6ICIweEMyIiwKPiA+ID4gKyAgICAgICAgIkV2 ZW50TmFtZSI6ICJCSVVfRVhUX01FTV9SRVFfTkMiLAo+ID4gPiArICAgICAgICAiQnJpZWZEZXNj cmlwdGlvbiI6ICJFeHRlcm5hbCBtZW1vcnkgcmVxdWVzdCB0byBub24tY2FjaGVhYmxlIG1lbW9y eSIKPiA+ID4gICAgICAgfQo+ID4gPiAgIF0KPiA+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYv cG11LWV2ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9zcGUuanNvbiBiL3Rvb2xzL3Bl cmYvcG11LWV2ZW50cy9hcmNoL2FybTY0L2FybS9uZW92ZXJzZS1lMS9zcGUuanNvbgo+ID4gPiBk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gaW5kZXggMjBmMjE2NWM4NWZlLi4wMDAwMDAw MDAwMDAKPiA+ID4gLS0tIGEvdG9vbHMvcGVyZi9wbXUtZXZlbnRzL2FyY2gvYXJtNjQvYXJtL25l b3ZlcnNlLWUxL3NwZS5qc29uCj4gPiA+ICsrKyAvZGV2L251bGwKPiA+ID4gQEAgLTEsMTQgKzAs MCBAQAo+ID4gPiAtWwo+ID4gPiAtICAgIHsKPiA+ID4gLSAgICAgICAgIkFyY2hTdGRFdmVudCI6 ICJTQU1QTEVfUE9QIgo+ID4gPiAtICAgIH0sCj4gPiA+IC0gICAgewo+ID4gPiAtICAgICAgICAi QXJjaFN0ZEV2ZW50IjogIlNBTVBMRV9GRUVEIgo+ID4gPiAtICAgIH0sCj4gPiA+IC0gICAgewo+ ID4gPiAtICAgICAgICAiQXJjaFN0ZEV2ZW50IjogIlNBTVBMRV9GSUxUUkFURSIKPiA+ID4gLSAg ICB9LAo+ID4gPiAtICAgIHsKPiA+ID4gLSAgICAgICAgIkFyY2hTdGRFdmVudCI6ICJTQU1QTEVf Q09MTElTSU9OIgo+ID4gPiAtICAgIH0KPiA+ID4gLV0KPiA+ID4gLS0gCj4gPiA+IDIuMjUuMQo+ ID4gCgotLSAKCi0gQXJuYWxkbwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=