From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03AB9C433B4 for ; Wed, 21 Apr 2021 14:58:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CE35661449 for ; Wed, 21 Apr 2021 14:58:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237851AbhDUO7R (ORCPT ); Wed, 21 Apr 2021 10:59:17 -0400 Received: from mga02.intel.com ([134.134.136.20]:33225 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243724AbhDUO7N (ORCPT ); Wed, 21 Apr 2021 10:59:13 -0400 IronPort-SDR: jamjdIdyPykLNpwBDI14C4SqFiAOD7icP59NhzeujpMaSJ6NGjNgfIv5WF08OQcpAqocW+I/2s CvkZXIqpvpNQ== X-IronPort-AV: E=McAfee;i="6200,9189,9961"; a="182841152" X-IronPort-AV: E=Sophos;i="5.82,240,1613462400"; d="xz'?yaml'?scan'208";a="182841152" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2021 07:58:38 -0700 IronPort-SDR: OrS8s2S9J57r2n496V024uandMwUcVHyWZcQ1wr2UAxkhpgnzAyOGT2hbciKaQuQWVs4gKhGQc sZWd/hKFpa2A== X-IronPort-AV: E=Sophos;i="5.82,240,1613462400"; d="xz'?yaml'?scan'208";a="617360082" Received: from xsang-optiplex-9020.sh.intel.com (HELO xsang-OptiPlex-9020) ([10.239.159.140]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2021 07:58:32 -0700 Date: Wed, 21 Apr 2021 23:15:56 +0800 From: kernel test robot To: Phillip Potter Cc: "David S. Miller" , Eric Dumazet , LKML , lkp@lists.01.org, lkp@intel.com Subject: [net] 6628ddfec7: kernel-selftests.net.pmtu.sh.IPv4_over_geneve6_PMTU_exceptions.fail Message-ID: <20210421151556.GC23923@xsang-OptiPlex-9020> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="eqp4TxRxnD4KrmFZ" Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Greeting, FYI, we noticed the following commit (built with gcc-9): commit: 6628ddfec7580882f11fdc5c194a8ea781fdadfa ("net: geneve: check skb is large enough for IPv4/IPv6 header") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master in testcase: kernel-selftests version: kernel-selftests-x86_64-cf9ae1bd-1_20210401 with following parameters: group: net ucode: 0xe2 test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel. test-url: https://www.kernel.org/doc/Documentation/kselftest.txt on test machine: 4 threads Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz with 16G memory caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): If you fix the issue, kindly add following tag Reported-by: kernel test robot KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-8.3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa 2021-04-19 18:11:25 mount --bind /lib/modules/5.12.0-rc6-00349-g6628ddfec758/kernel/lib /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa/lib 2021-04-19 18:11:25 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh LKP SKIP net.l2tp.sh LKP SKIP net.tls 2021-04-19 18:11:26 /kselftests/run_kselftest.sh -c net TAP version 13 1..47 # selftests: net: reuseport_bpf # ---- IPv4 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP w/ mapped IPv4 ---- # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # ---- IPv4 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP w/ mapped IPv4 ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing filter add without bind... # SUCCESS ok 1 selftests: net: reuseport_bpf # selftests: net: reuseport_bpf_cpu # ---- IPv4 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv4 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # SUCCESS ok 2 selftests: net: reuseport_bpf_cpu # selftests: net: reuseport_bpf_numa # ---- IPv4 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv4 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # SUCCESS ok 3 selftests: net: reuseport_bpf_numa # selftests: net: reuseport_dualstack # ---- UDP IPv4 created before IPv6 ---- # ---- UDP IPv6 created before IPv4 ---- # ---- UDP IPv4 created before IPv6 (large) ---- # ---- UDP IPv6 created before IPv4 (large) ---- # ---- TCP IPv4 created before IPv6 ---- # ---- TCP IPv6 created before IPv4 ---- # SUCCESS ok 4 selftests: net: reuseport_dualstack # selftests: net: reuseaddr_conflict # Opening 127.0.0.1:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening in6addr_any:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening INADDR_ANY:9999 after closing ipv6 socket # bind: Address already in use # Successok 5 selftests: net: reuseaddr_conflict # selftests: net: run_netsocktests # -------------------- # running socket test # -------------------- # [PASS] ok 6 selftests: net: run_netsocktests # selftests: net: run_afpackettests # -------------------- # running psock_fanout test # -------------------- # test: control single socket # test: control multiple sockets # test: control multiple sockets, max_num_members # test: unique ids # # test: datapath 0x0 ports 8000,8002 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (20) # # test: datapath 0x0 ports 8000,8003 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (19) # # test: datapath 0x0 ports 8000,8004 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (18) # # test: datapath 0x0 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,5, expect=20,5 # # test: datapath 0x1000 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,15, expect=20,15 # # test: datapath 0x1 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=10,10, expect=10,10 # info: count=17,18, expect=18,17 # # test: datapath 0x3 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,15, expect=20,15 # # test: datapath 0x6 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=5,15, expect=15,5 # info: count=20,15, expect=15,20 # # test: datapath 0x7 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=5,15, expect=15,5 # info: count=20,15, expect=15,20 # # test: datapath 0x2 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=20,0, expect=20,0 # info: count=20,0, expect=20,0 # # test: datapath 0x2 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=0,20, expect=0,20 # info: count=0,20, expect=0,20 # # test: datapath 0x2000 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=20,20, expect=20,20 # info: count=20,20, expect=20,20 # OK. All tests passed # [PASS] # -------------------- # running psock_tpacket test # -------------------- # test: TPACKET_V1 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V1 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V2 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V2 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V3 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V3 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # OK. All tests passed # [PASS] # -------------------- # running txring_overwrite test # -------------------- # read: a (0x61) # read: b (0x62) # [PASS] ok 7 selftests: net: run_afpackettests # selftests: net: test_bpf.sh # test_bpf: ok ok 8 selftests: net: test_bpf.sh # selftests: net: netdevice.sh # SKIP: eth0: interface already up # PASS: eth0: ethtool list features # PASS: eth0: ethtool dump # PASS: eth0: ethtool stats # SKIP: eth0: interface kept up ok 9 selftests: net: netdevice.sh # selftests: net: rtnetlink.sh # PASS: policy routing # PASS: route get # PASS: preferred_lft addresses have expired # PASS: promote_secondaries complete # PASS: tc htb hierarchy # PASS: gre tunnel endpoint # PASS: gretap # PASS: ip6gretap # PASS: erspan # PASS: ip6erspan # PASS: bridge setup # PASS: ipv6 addrlabel # PASS: set ifalias dd92e639-529c-4948-9fc7-f3f3dec29199 for test-dummy0 # PASS: vrf # PASS: vxlan # PASS: fou # PASS: macsec # PASS: ipsec # PASS: ipsec_offload # PASS: bridge fdb get # PASS: neigh get # Error: Unknown device type. # Error: argument "test-bond0" is wrong: Device does not exist # # Error: argument "test-bond0" is wrong: Device does not exist # # Cannot find device "test-bond0" # Cannot find device "test-bond0" # FAIL: bridge_parent_id not ok 10 selftests: net: rtnetlink.sh # exit=1 # selftests: net: xfrm_policy.sh # PASS: policy before exception matches # PASS: ping to .254 bypassed ipsec tunnel (exceptions) # PASS: direct policy matches (exceptions) # PASS: policy matches (exceptions) # PASS: ping to .254 bypassed ipsec tunnel (exceptions and block policies) # PASS: direct policy matches (exceptions and block policies) # PASS: policy matches (exceptions and block policies) # not ok 11 selftests: net: xfrm_policy.sh # TIMEOUT 45 seconds # selftests: net: test_blackhole_dev.sh # test_blackhole_dev: ok ok 12 selftests: net: test_blackhole_dev.sh # selftests: net: fib_tests.sh # # Single path route test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # Nexthop device deleted # TEST: IPv4 fibmatch - no route [ OK ] # TEST: IPv6 fibmatch - no route [ OK ] # # Multipath route test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # One nexthop device deleted # TEST: IPv4 - multipath route removed on delete [ OK ] # TEST: IPv6 - multipath down to single path [ OK ] # Second nexthop device deleted # TEST: IPv6 - no route [ OK ] # # Single path, admin down # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # Route deleted on down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # # Admin down multipath # Verify start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # One device down, one up # TEST: IPv4 fibmatch on down device [ OK ] # TEST: IPv6 fibmatch on down device [ OK ] # TEST: IPv4 fibmatch on up device [ OK ] # TEST: IPv6 fibmatch on up device [ OK ] # TEST: IPv4 flags on down device [ OK ] # TEST: IPv6 flags on down device [ OK ] # TEST: IPv4 flags on up device [ OK ] # TEST: IPv6 flags on up device [ OK ] # Other device down and up # TEST: IPv4 fibmatch on down device [ OK ] # TEST: IPv6 fibmatch on down device [ OK ] # TEST: IPv4 fibmatch on up device [ OK ] # TEST: IPv6 fibmatch on up device [ OK ] # TEST: IPv4 flags on down device [ OK ] # TEST: IPv6 flags on down device [ OK ] # TEST: IPv4 flags on up device [ OK ] # TEST: IPv6 flags on up device [ OK ] # Both devices down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # # Local carrier tests - single path # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 - no linkdown flag [ OK ] # TEST: IPv6 - no linkdown flag [ OK ] # Carrier off on nexthop # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 - linkdown flag set [ OK ] # TEST: IPv6 - linkdown flag set [ OK ] # Route to local address with carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # # Single path route carrier test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 no linkdown flag [ OK ] # TEST: IPv6 no linkdown flag [ OK ] # Carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # Second address added with carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # # IPv4 nexthop tests # <<< write me >>> # # IPv6 nexthop tests # TEST: Directly connected nexthop, unicast address [ OK ] # TEST: Directly connected nexthop, unicast address with device [ OK ] # TEST: Gateway is linklocal address [ OK ] # TEST: Gateway is linklocal address, no device [ OK ] # TEST: Gateway can not be local unicast address [ OK ] # TEST: Gateway can not be local unicast address, with device [ OK ] # TEST: Gateway can not be a local linklocal address [ OK ] # TEST: Gateway can be local address in a VRF [ OK ] # TEST: Gateway can be local address in a VRF, with device [ OK ] # TEST: Gateway can be local linklocal address in a VRF [ OK ] # TEST: Redirect to VRF lookup [ OK ] # TEST: VRF route, gateway can be local address in default VRF [ OK ] # TEST: VRF route, gateway can not be a local address [ OK ] # TEST: VRF route, gateway can not be a local addr with device [ OK ] # # FIB rule with suppress_prefixlength # TEST: FIB rule suppress test [ OK ] # # IPv6 route add / append tests # TEST: Attempt to add duplicate route - gw [ OK ] # TEST: Attempt to add duplicate route - dev only [ OK ] # TEST: Attempt to add duplicate route - reject route [ OK ] # TEST: Append nexthop to existing route - gw [ OK ] # TEST: Add multipath route [ OK ] # TEST: Attempt to add duplicate multipath route [ OK ] # TEST: Route add with different metrics [ OK ] # TEST: Route delete with metric [ OK ] # # IPv6 route replace tests # TEST: Single path with single path [ OK ] # TEST: Single path with multipath [ OK ] # TEST: Single path with single path via multipath attribute [ OK ] # TEST: Invalid nexthop [ OK ] # TEST: Single path - replace of non-existent route [ OK ] # TEST: Multipath with multipath [ OK ] # TEST: Multipath with single path [ OK ] # TEST: Multipath with single path via multipath attribute [ OK ] # TEST: Multipath with dev-only [ OK ] # TEST: Multipath - invalid first nexthop [ OK ] # TEST: Multipath - invalid second nexthop [ OK ] # TEST: Multipath - replace of non-existent route [ OK ] # # IPv4 route add / append tests # TEST: Attempt to add duplicate route - gw [ OK ] # TEST: Attempt to add duplicate route - dev only [ OK ] # TEST: Attempt to add duplicate route - reject route [ OK ] # TEST: Add new nexthop for existing prefix [ OK ] # TEST: Append nexthop to existing route - gw [ OK ] # TEST: Append nexthop to existing route - dev only [ OK ] # TEST: Append nexthop to existing route - reject route [ OK ] # TEST: Append nexthop to existing reject route - gw [ OK ] # TEST: Append nexthop to existing reject route - dev only [ OK ] # TEST: add multipath route [ OK ] # TEST: Attempt to add duplicate multipath route [ OK ] # TEST: Route add with different metrics [ OK ] # TEST: Route delete with metric [ OK ] # # IPv4 route replace tests # TEST: Single path with single path [ OK ] # TEST: Single path with multipath [ OK ] # TEST: Single path with reject route [ OK ] # TEST: Single path with single path via multipath attribute [ OK ] # TEST: Invalid nexthop [ OK ] # TEST: Single path - replace of non-existent route [ OK ] # TEST: Multipath with multipath [ OK ] # TEST: Multipath with single path [ OK ] # TEST: Multipath with single path via multipath attribute [ OK ] # TEST: Multipath with reject route [ OK ] # TEST: Multipath - invalid first nexthop [ OK ] # TEST: Multipath - invalid second nexthop [ OK ] # TEST: Multipath - replace of non-existent route [ OK ] # # IPv6 prefix route tests # TEST: Default metric [ OK ] # TEST: User specified metric on first device [ OK ] # TEST: User specified metric on second device [ OK ] # TEST: Delete of address on first device [ OK ] # TEST: Modify metric of address [ OK ] # TEST: Prefix route removed on link down [ OK ] # TEST: Prefix route with metric on link up [ OK ] # TEST: Set metric with peer route on local side [ OK ] # TEST: Set metric with peer route on peer side [ OK ] # TEST: Modify metric and peer address on local side [ OK ] # TEST: Modify metric and peer address on peer side [ OK ] # # IPv4 prefix route tests # TEST: Default metric [ OK ] # TEST: User specified metric on first device [ OK ] # TEST: User specified metric on second device [ OK ] # TEST: Delete of address on first device [ OK ] # TEST: Modify metric of address [ OK ] # TEST: Prefix route removed on link down [ OK ] # TEST: Prefix route with metric on link up [ OK ] # TEST: Modify metric of .0/24 address [ OK ] # TEST: Set metric of address with peer route [ OK ] # TEST: Modify metric and peer address for peer route [ OK ] # # IPv6 routes with metrics # TEST: Single path route with mtu metric [ OK ] # TEST: Multipath route via 2 single routes with mtu metric on first [ OK ] # TEST: Multipath route via 2 single routes with mtu metric on 2nd [ OK ] # TEST: MTU of second leg [ OK ] # TEST: Multipath route with mtu metric [ OK ] # TEST: Using route with mtu metric [ OK ] # TEST: Invalid metric (fails metric_convert) [ OK ] # # IPv4 route add / append tests # TEST: Single path route with mtu metric [ OK ] # TEST: Multipath route with mtu metric [ OK ] # TEST: Using route with mtu metric [ OK ] # TEST: Invalid metric (fails metric_convert) [ OK ] # # IPv4 route with IPv6 gateway tests # TEST: Single path route with IPv6 gateway [ OK ] # TEST: Single path route with IPv6 gateway - ping [ OK ] # TEST: Single path route delete [ OK ] # TEST: Multipath route add - v6 nexthop then v4 [ OK ] # TEST: Multipath route delete - nexthops in wrong order [ OK ] # TEST: Multipath route delete exact match [ OK ] # TEST: Multipath route add - v4 nexthop then v6 [ OK ] # TEST: Multipath route delete - nexthops in wrong order [ OK ] # TEST: Multipath route delete exact match [ OK ] # # IPv4 rp_filter tests # TEST: rp_filter passes local packets [FAIL] # TEST: rp_filter passes loopback packets [FAIL] # # IPv4 delete address route tests # TEST: Route removed from VRF when source address deleted [ OK ] # TEST: Route in default VRF not removed [ OK ] # TEST: Route removed in default VRF when source address deleted [ OK ] # TEST: Route in VRF is not removed by address delete [ OK ] # # Tests passed: 163 # Tests failed: 2 not ok 13 selftests: net: fib_tests.sh # exit=1 # selftests: net: fib-onlink-tests.sh # Error: ipv4: FIB table does not exist. # Flush terminated # Error: ipv6: FIB table does not exist. # Flush terminated # # ######################################## # Configuring interfaces # # ###################################################################### # TEST SECTION: IPv4 onlink # ###################################################################### # # ######################################### # TEST SUBSECTION: Valid onlink commands # # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath [ OK ] # TEST: unicast recursive - multipath [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # # ###################################################################### # TEST SECTION: IPv6 onlink # ###################################################################### # # ######################################### # TEST SUBSECTION: Valid onlink commands # # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath onlink [ OK ] # TEST: unicast recursive - multipath onlink [ OK ] # TEST: v4-mapped - multipath onlink [ OK ] # TEST: unicast connected - multipath onlink both nexthops [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local linklocal address [ OK ] # TEST: Invalid gw - multicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: Invalid gw - local linklocal address, VRF [ OK ] # TEST: Invalid gw - multicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # # Tests passed: 38 # Tests failed: 0 ok 14 selftests: net: fib-onlink-tests.sh # selftests: net: pmtu.sh # TEST: ipv4: PMTU exceptions [ OK ] # TEST: ipv4: PMTU exceptions - nexthop objects [ OK ] # TEST: ipv6: PMTU exceptions [ OK ] # TEST: ipv6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve6: PMTU exceptions [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface # TEST: IPv4 over geneve6: PMTU exceptions - nexthop objects [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface # TEST: IPv6 over geneve6: PMTU exceptions [ OK ] # TEST: IPv6 over geneve6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # not ok 15 selftests: net: pmtu.sh # TIMEOUT 45 seconds # selftests: net: udpgso.sh # ipv4 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv4 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv6 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK # ipv6 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK # ipv4 connected # device mtu (orig): 65536 # device mtu (test): 1600 # route mtu (test): 1500 # path mtu (read): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv4 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv6 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK ok 16 selftests: net: udpgso.sh # selftests: net: ip_defrag.sh # ipv4 defrag # PASS # seed = 1618856025 # ipv4 defrag with overlaps # PASS # seed = 1618856025 # ipv6 defrag # PASS # seed = 1618856029 # ipv6 defrag with overlaps # PASS # seed = 1618856029 # ipv6 nf_conntrack defrag # PASS # seed = 1618856034 # ipv6 nf_conntrack defrag with overlaps # PASS # seed = 1618856034 # all tests done ok 17 selftests: net: ip_defrag.sh # selftests: net: udpgso_bench.sh # ipv4 # tcp # tcp tx: 3312 MB/s 56177 calls/s 56177 msg/s # tcp rx: 3314 MB/s 56188 calls/s # tcp tx: 3272 MB/s 55503 calls/s 55503 msg/s # tcp rx: 3275 MB/s 55546 calls/s # tcp tx: 3258 MB/s 55268 calls/s 55268 msg/s # tcp zerocopy # tcp tx: 2381 MB/s 40387 calls/s 40387 msg/s # tcp rx: 2382 MB/s 39941 calls/s # tcp tx: 2381 MB/s 40396 calls/s 40396 msg/s # tcp rx: 2384 MB/s 40313 calls/s # tcp tx: 2394 MB/s 40609 calls/s 40609 msg/s # udp # udp rx: 161 MB/s 114903 calls/s # udp tx: 161 MB/s 114912 calls/s 2736 msg/s # udp tx: 162 MB/s 115752 calls/s 2756 msg/s # udp rx: 162 MB/s 115867 calls/s # udp tx: 162 MB/s 115920 calls/s 2760 msg/s # udp gso # udp rx: 908 MB/s 646910 calls/s # udp tx: 910 MB/s 15444 calls/s 15444 msg/s # udp rx: 912 MB/s 649930 calls/s # udp tx: 911 MB/s 15461 calls/s 15461 msg/s # udp rx: 910 MB/s 648850 calls/s # udp tx: 909 MB/s 15434 calls/s 15434 msg/s # udp gso zerocopy # udp rx: 857 MB/s 611018 calls/s # udp tx: 859 MB/s 14577 calls/s 14577 msg/s # udp rx: 867 MB/s 618312 calls/s # udp tx: 866 MB/s 14703 calls/s 14703 msg/s # udp tx: 874 MB/s 14831 calls/s 14831 msg/s # udp rx: 875 MB/s 623332 calls/s # udp gso timestamp # udp rx: 833 MB/s 593744 calls/s # udp tx: 835 MB/s 14179 calls/s 14179 msg/s # udp rx: 848 MB/s 604086 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 850 MB/s 605724 calls/s # udp tx: 849 MB/s 14408 calls/s 14408 msg/s # udp gso zerocopy audit # udp rx: 859 MB/s 612362 calls/s # udp tx: 862 MB/s 14622 calls/s 14622 msg/s # udp rx: 870 MB/s 620390 calls/s # udp tx: 870 MB/s 14759 calls/s 14759 msg/s # udp rx: 870 MB/s 620208 calls/s # udp tx: 869 MB/s 14751 calls/s 14751 msg/s # Summary over 3.000 seconds... # sum udp tx: 888 MB/s 44132 calls (14710/s) 44132 msgs (14710/s) # Zerocopy acks: 44132 # udp gso timestamp audit # udp rx: 834 MB/s 594663 calls/s # udp tx: 837 MB/s 14201 calls/s 14201 msg/s # udp rx: 844 MB/s 601373 calls/s # udp tx: 843 MB/s 14305 calls/s 14305 msg/s # udp rx: 845 MB/s 602148 calls/s # udp tx: 844 MB/s 14323 calls/s 14323 msg/s # Summary over 3.000 seconds... # sum udp tx: 861 MB/s 42829 calls (14276/s) 42829 msgs (14276/s) # Tx Timestamps: 42829 received 0 errors # udp gso zerocopy timestamp audit # udp rx: 739 MB/s 526987 calls/s # udp tx: 742 MB/s 12589 calls/s 12589 msg/s # udp rx: 748 MB/s 533484 calls/s # udp tx: 748 MB/s 12690 calls/s 12690 msg/s # udp rx: 749 MB/s 534030 calls/s # udp tx: 748 MB/s 12702 calls/s 12702 msg/s # Summary over 3.000 seconds... # sum udp tx: 764 MB/s 37981 calls (12660/s) 37981 msgs (12660/s) # Tx Timestamps: 37981 received 0 errors # Zerocopy acks: 37981 # ipv6 # tcp # tcp tx: 3210 MB/s 54445 calls/s 54445 msg/s # tcp rx: 3212 MB/s 54443 calls/s # tcp tx: 3274 MB/s 55541 calls/s 55541 msg/s # tcp rx: 3279 MB/s 55592 calls/s # tcp tx: 3265 MB/s 55385 calls/s 55385 msg/s # tcp zerocopy # tcp tx: 2376 MB/s 40299 calls/s 40299 msg/s # tcp rx: 2377 MB/s 40284 calls/s # tcp tx: 2407 MB/s 40841 calls/s 40841 msg/s # tcp rx: 2410 MB/s 40861 calls/s # tcp tx: 2403 MB/s 40766 calls/s 40766 msg/s # udp # udp rx: 133 MB/s 97368 calls/s # udp tx: 133 MB/s 97481 calls/s 2267 msg/s # udp rx: 138 MB/s 100831 calls/s # udp tx: 138 MB/s 100749 calls/s 2343 msg/s # udp tx: 138 MB/s 100964 calls/s 2348 msg/s # udp gso # udp rx: 895 MB/s 652800 calls/s # udp tx: 897 MB/s 15222 calls/s 15222 msg/s # udp rx: 901 MB/s 657664 calls/s # udp tx: 901 MB/s 15283 calls/s 15283 msg/s # udp rx: 905 MB/s 660736 calls/s # udp tx: 904 MB/s 15348 calls/s 15348 msg/s # udp gso zerocopy # udp rx: 849 MB/s 619264 calls/s # udp tx: 851 MB/s 14442 calls/s 14442 msg/s # udp rx: 857 MB/s 625664 calls/s # udp tx: 857 MB/s 14539 calls/s 14539 msg/s # udp rx: 859 MB/s 626641 calls/s # udp tx: 858 MB/s 14556 calls/s 14556 msg/s # udp gso timestamp # udp rx: 836 MB/s 609998 calls/s # udp tx: 838 MB/s 14229 calls/s 14229 msg/s # udp rx: 848 MB/s 618555 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 848 MB/s 618598 calls/s # udp tx: 847 MB/s 14372 calls/s 14372 msg/s # not ok 18 selftests: net: udpgso_bench.sh # TIMEOUT 45 seconds # selftests: net: fib_rule_tests.sh # # ###################################################################### # TEST SECTION: IPv4 fib rule # ###################################################################### # # TEST: rule4 check: oif dummy0 [ OK ] # # TEST: rule4 del by pref: oif dummy0 [ OK ] # net.ipv4.ip_forward = 1 # net.ipv4.conf.dummy0.rp_filter = 0 # # TEST: rule4 check: from 192.51.100.3 iif dummy0 [ OK ] # # TEST: rule4 del by pref: from 192.51.100.3 iif dummy0 [ OK ] # net.ipv4.ip_forward = 0 # # TEST: rule4 check: tos 0x10 [ OK ] # # TEST: rule4 del by pref: tos 0x10 [ OK ] # # TEST: rule4 check: fwmark 0x64 [ OK ] # # TEST: rule4 del by pref: fwmark 0x64 [ OK ] # # TEST: rule4 check: uidrange 100-100 [ OK ] # # TEST: rule4 del by pref: uidrange 100-100 [ OK ] # # TEST: rule4 check: sport 666 dport 777 [ OK ] # # TEST: rule4 del by pref: sport 666 dport 777 [ OK ] # # TEST: rule4 check: ipproto tcp [ OK ] # # TEST: rule4 del by pref: ipproto tcp [ OK ] # # TEST: rule4 check: ipproto icmp [ OK ] # # TEST: rule4 del by pref: ipproto icmp [ OK ] # # ###################################################################### # TEST SECTION: IPv6 fib rule # ###################################################################### # # TEST: rule6 check: oif dummy0 [ OK ] # # TEST: rule6 del by pref: oif dummy0 [ OK ] # # TEST: rule6 check: from 2001:db8:1::3 iif dummy0 [ OK ] # # TEST: rule6 del by pref: from 2001:db8:1::3 iif dummy0 [ OK ] # # TEST: rule6 check: tos 0x10 [ OK ] # # TEST: rule6 del by pref: tos 0x10 [ OK ] # # TEST: rule6 check: fwmark 0x64 [ OK ] # # TEST: rule6 del by pref: fwmark 0x64 [ OK ] # # TEST: rule6 check: uidrange 100-100 [ OK ] # # TEST: rule6 del by pref: uidrange 100-100 [ OK ] # # TEST: rule6 check: sport 666 dport 777 [ OK ] # # TEST: rule6 del by pref: sport 666 dport 777 [ OK ] # # TEST: rule6 check: ipproto tcp [ OK ] # # TEST: rule6 del by pref: ipproto tcp [ OK ] # # TEST: rule6 check: ipproto ipv6-icmp [ OK ] # # TEST: rule6 del by pref: ipproto ipv6-icmp [ OK ] # # Tests passed: 32 # Tests failed: 0 ok 19 selftests: net: fib_rule_tests.sh # selftests: net: msg_zerocopy.sh # ipv4 tcp -t 1 # tx=63418 (3957 MB) txc=0 zc=n # rx=31710 (3957 MB) # ipv4 tcp -z -t 1 # tx=49828 (3109 MB) txc=49828 zc=n # rx=24915 (3109 MB) # ok # ipv6 tcp -t 1 # tx=52634 (3284 MB) txc=0 zc=n # rx=26318 (3284 MB) # ipv6 tcp -z -t 1 # tx=42575 (2656 MB) txc=42575 zc=n # rx=21289 (2656 MB) # ok # ipv4 udp -t 1 # tx=70296 (4386 MB) txc=0 zc=n # rx=70293 (4386 MB) # ipv4 udp -z -t 1 # tx=51885 (3237 MB) txc=51885 zc=n # rx=51849 (3235 MB) # ok # ipv6 udp -t 1 # tx=68014 (4244 MB) txc=0 zc=n # rx=68011 (4244 MB) # ipv6 udp -z -t 1 # tx=51422 (3208 MB) txc=51422 zc=n # rx=51422 (3208 MB) # ok # OK. All tests passed ok 20 selftests: net: msg_zerocopy.sh # selftests: net: psock_snd.sh # dgram # tx: 128 # rx: 142 # rx: 100 # OK # # dgram bind # tx: 128 # rx: 142 # rx: 100 # OK # # raw # tx: 142 # rx: 142 # rx: 100 # OK # # raw bind # tx: 142 # rx: 142 # rx: 100 # OK # # raw qdisc bypass # tx: 142 # rx: 142 # rx: 100 # OK # # raw vlan # tx: 146 # rx: 100 # OK # # raw vnet hdr # tx: 152 # rx: 142 # rx: 100 # OK # # raw csum_off # tx: 152 # rx: 142 # rx: 100 # OK # # raw csum_off with bad offset (expected to fail) # ./psock_snd: write: Invalid argument # raw min size # tx: 42 # rx: 0 # OK # # raw mtu size # tx: 1514 # rx: 1472 # OK # # raw mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw vlan mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # dgram mtu size # tx: 1500 # rx: 1472 # OK # # dgram mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw truncate hlen (expected to fail: does not arrive) # tx: 14 # ./psock_snd: recv: Resource temporarily unavailable # raw truncate hlen - 1 (expected to fail: EINVAL) # ./psock_snd: write: Invalid argument # raw gso min size # tx: 1525 # rx: 1473 # OK # # raw gso min size - 1 (expected to fail) # tx: 1524 # rx: 1472 # OK # not ok 21 selftests: net: psock_snd.sh # exit=1 # selftests: net: udpgro_bench.sh # ipv4 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # tcp tx: 312 MB/s 5303 calls/s 5303 msg/s # tcp rx: 313 MB/s 8226 calls/s # tcp tx: 419 MB/s 7122 calls/s 7122 msg/s # tcp rx: 420 MB/s 12619 calls/s # tcp tx: 330 MB/s 5613 calls/s 5613 msg/s # tcp rx: 331 MB/s 10536 calls/s # tcp tx: 412 MB/s 7004 calls/s 7004 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 185 MB/s 131787 calls/s # udp tx: 224 MB/s 3816 calls/s 3816 msg/s # udp rx: 223 MB/s 159444 calls/s # udp tx: 223 MB/s 3792 calls/s 3792 msg/s # udp rx: 222 MB/s 158432 calls/s # udp tx: 222 MB/s 3772 calls/s 3772 msg/s # udp rx: 225 MB/s 160692 calls/s # udp tx: 225 MB/s 3823 calls/s 3823 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 337 MB/s 5696 calls/s # udp tx: 398 MB/s 6766 calls/s 6766 msg/s # udp rx: 393 MB/s 6633 calls/s # udp tx: 395 MB/s 6705 calls/s 6705 msg/s # udp rx: 492 MB/s 8062 calls/s # udp tx: 482 MB/s 8189 calls/s 8189 msg/s # udp rx: 370 MB/s 6277 calls/s # udp tx: 368 MB/s 6244 calls/s 6244 msg/s # ipv6 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # tcp tx: 341 MB/s 5791 calls/s 5791 msg/s # tcp rx: 341 MB/s 4019 calls/s # tcp tx: 416 MB/s 7057 calls/s 7057 msg/s # tcp rx: 417 MB/s 13385 calls/s # tcp tx: 346 MB/s 5876 calls/s 5876 msg/s # tcp rx: 385 MB/s 4648 calls/s # tcp tx: 417 MB/s 7084 calls/s 7084 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 205 MB/s 149604 calls/s # udp tx: 251 MB/s 4268 calls/s 4268 msg/s # udp rx: 248 MB/s 181300 calls/s # udp tx: 245 MB/s 4164 calls/s 4164 msg/s # udp rx: 230 MB/s 168028 calls/s # udp tx: 230 MB/s 3903 calls/s 3903 msg/s # udp rx: 230 MB/s 167755 calls/s # udp tx: 229 MB/s 3899 calls/s 3899 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 321 MB/s 5459 calls/s # udp tx: 374 MB/s 6356 calls/s 6356 msg/s # udp rx: 361 MB/s 6131 calls/s # udp tx: 359 MB/s 6105 calls/s 6105 msg/s # udp rx: 356 MB/s 6052 calls/s # udp tx: 356 MB/s 6048 calls/s 6048 msg/s # udp rx: 358 MB/s 6088 calls/s # udp tx: 358 MB/s 6081 calls/s 6081 msg/s ok 22 selftests: net: udpgro_bench.sh # selftests: net: udpgro.sh # ipv4 # no GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # no GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # bad GRO lookup Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # multiple GRO socks Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # ipv6 # no GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # no GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # bad GRO lookup Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # multiple GRO socks Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok ok 23 selftests: net: udpgro.sh # selftests: net: test_vxlan_under_vrf.sh # Checking HV connectivity [ OK ] # Check VM connectivity through VXLAN (underlay in the default VRF) [ OK ] # Check VM connectivity through VXLAN (underlay in a VRF) [FAIL] not ok 24 selftests: net: test_vxlan_under_vrf.sh # exit=1 # selftests: net: reuseport_addr_any.sh # UDP IPv4 ... pass # UDP IPv6 ... pass # UDP IPv4 mapped to IPv6 ... pass # TCP IPv4 ... pass # TCP IPv6 ... pass # TCP IPv4 mapped to IPv6 ... pass # DCCP not supported: skipping DCCP tests # SUCCESS ok 25 selftests: net: reuseport_addr_any.sh # selftests: net: test_vxlan_fdb_changelink.sh # expected two remotes after fdb append [ OK ] # expected two remotes after link set [ OK ] ok 26 selftests: net: test_vxlan_fdb_changelink.sh # selftests: net: so_txtime.sh # # SO_TXTIME ipv6 clock monotonic # payload:a delay:81 expected:0 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:54 expected:0 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:47 expected:0 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:62 expected:0 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:10065 expected:10000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:10104 expected:10000 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:10069 expected:10000 (us) # payload:b delay:20036 expected:20000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:10100 expected:10000 (us) # payload:b delay:20150 expected:20000 (us) # # SO_TXTIME ipv6 clock monotonic # payload:b delay:20350 expected:20000 (us) # payload:a delay:20384 expected:20000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:b delay:20351 expected:20000 (us) # payload:a delay:20385 expected:20000 (us) # # SO_TXTIME ipv6 clock tai # send: pkt a at -1618856139102ms dropped: invalid txtime # ./so_txtime: recv: timeout # # SO_TXTIME ipv6 clock tai # send: pkt a at 0ms dropped: invalid txtime # ./so_txtime: recv: timeout # # SO_TXTIME ipv6 clock tai # payload:a delay:9663 expected:10000 (us) # # SO_TXTIME ipv4 clock tai # payload:a delay:9720 expected:10000 (us) # # SO_TXTIME ipv6 clock tai # payload:a delay:9806 expected:10000 (us) # payload:b delay:19756 expected:20000 (us) # # SO_TXTIME ipv4 clock tai # payload:a delay:9640 expected:10000 (us) # payload:b delay:19644 expected:20000 (us) # # SO_TXTIME ipv6 clock tai # payload:b delay:9664 expected:10000 (us) # payload:a delay:19743 expected:20000 (us) # # SO_TXTIME ipv4 clock tai # payload:b delay:9655 expected:10000 (us) # payload:a delay:19688 expected:20000 (us) # OK. All tests passed ok 27 selftests: net: so_txtime.sh # selftests: net: ipv6_flowlabel.sh # TEST management # [OK] !(flowlabel_get(fd, 1, 255, 0)) # [OK] !(flowlabel_put(fd, 1)) # [OK] !(flowlabel_get(fd, 0x1FFFFF, 255, 1)) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] flowlabel_get(fd, 1, 255, 0) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] !(flowlabel_get(fd, 1, 255, 1 | 2)) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] !(flowlabel_put(fd, 1)) # [OK] flowlabel_get(fd, 2, 1, 1) # [OK] !(flowlabel_get(fd, 2, 255, 1)) # [OK] !(flowlabel_get(fd, 2, 1, 1)) # [OK] flowlabel_put(fd, 2) # [OK] flowlabel_get(fd, 3, 3, 1) # [OK] !(flowlabel_get(fd, 3, 255, 0)) # [OK] !(flowlabel_get(fd, 3, 1, 0)) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] !(flowlabel_get(fd, 3, 3, 0)) # [OK] flowlabel_get(fd, 4, 2, 1) # [OK] flowlabel_get(fd, 4, 2, 0) # [OK] !(flowlabel_get(fd, 4, 2, 0)) # TEST datapath # send no label: recv no label (auto off) # sent without label # recv without label # send label # sent with label 1 # recv with label 1 # TEST datapath (with auto-flowlabels) # send no label: recv auto flowlabel # sent without label # recv with label 177325 # send label # sent with label 1 # recv with label 1 # OK. All tests passed ok 28 selftests: net: ipv6_flowlabel.sh # selftests: net: tcp_fastopen_backup_key.sh # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # all tests done ok 29 selftests: net: tcp_fastopen_backup_key.sh # selftests: net: fcnal-test.sh # 'nettest' command not found; skipping tests ok 30 selftests: net: fcnal-test.sh # selftests: net: traceroute.sh # SKIP: Could not run IPV6 test without traceroute6 # SKIP: Could not run IPV4 test without traceroute # # Tests passed: 0 # Tests failed: 0 ok 31 selftests: net: traceroute.sh # selftests: net: fin_ack_lat.sh # server port: 59901 # test done ok 32 selftests: net: fin_ack_lat.sh # selftests: net: fib_nexthop_multiprefix.sh # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] # # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] ok 33 selftests: net: fib_nexthop_multiprefix.sh # selftests: net: fib_nexthops.sh # # Basic functional tests # ---------------------- # TEST: List with nothing defined [ OK ] # TEST: Nexthop get on non-existent id [ OK ] # TEST: Nexthop with no device or gateway [ OK ] # TEST: Nexthop with down device [ OK ] # TEST: Nexthop with device that is linkdown [ OK ] # TEST: Nexthop with device only [ OK ] # TEST: Nexthop with duplicate id [ OK ] # TEST: Blackhole nexthop [ OK ] # TEST: Blackhole nexthop with other attributes [ OK ] # TEST: Blackhole nexthop with loopback device down [ OK ] # TEST: Create group [ OK ] # TEST: Create group with blackhole nexthop [ OK ] # TEST: Create multipath group where 1 path is a blackhole [ OK ] # TEST: Multipath group can not have a member replaced by blackhole [ OK ] # TEST: Create group with non-existent nexthop [ OK ] # TEST: Create group with same nexthop multiple times [ OK ] # TEST: Replace nexthop with nexthop group [ OK ] # TEST: Replace nexthop group with nexthop [ OK ] # TEST: Nexthop group and device [ OK ] # TEST: Test proto flush [ OK ] # TEST: Nexthop group and blackhole [ OK ] # # IPv4 functional # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # # IPv4 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 route with invalid IPv6 gateway [ OK ] # # IPv4 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Route add - scope conflict with nexthop [ OK ] # TEST: Nexthop replace with invalid scope for existing route [ OK ] # TEST: Basic ping [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - multiple default routes, nh first [ OK ] # TEST: Ping - multiple default routes, nh second [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv4 route with device only nexthop [ OK ] # TEST: IPv4 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with mixed v4-v6 multipath route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 default route with IPv6 gateway [ OK ] # TEST: IPv4 route with MPLS encap [ OK ] # TEST: IPv4 route with MPLS encap - check [ OK ] # TEST: IPv4 route with MPLS encap and v6 gateway [ OK ] # TEST: IPv4 route with MPLS encap, v6 gw - check [ OK ] # # IPv4 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv4 nexthop api compat mode # ---------------------------- # TEST: IPv4 default nexthop compat mode check [ OK ] # TEST: IPv4 compat mode on - route add notification [ OK ] # TEST: IPv4 compat mode on - route dump [ OK ] # TEST: IPv4 compat mode on - nexthop change [ OK ] # TEST: IPv4 set compat mode - 0 [ OK ] # TEST: IPv4 compat mode off - route add notification [ OK ] # TEST: IPv4 compat mode off - route dump [ OK ] # TEST: IPv4 compat mode off - nexthop change [ OK ] # TEST: IPv4 compat mode off - nexthop delete [ OK ] # TEST: IPv4 set compat mode - 1 [ OK ] # # IPv4 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv4 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # # IPv6 # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # # IPv6 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # # IPv6 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Ping with nexthop [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv6 route with device only nexthop [ OK ] # TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 route can not have a v4 gateway [ OK ] # TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] # TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after removing v4 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after replacing v4 gateways [ OK ] # TEST: Nexthop with default route and rpfilter [ OK ] # TEST: Nexthop with multipath default route and rpfilter [ OK ] # # IPv6 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv6 nexthop api compat mode test # -------------------------------- # TEST: IPv6 default nexthop compat mode check [ OK ] # TEST: IPv6 compat mode on - route add notification [ OK ] # TEST: IPv6 compat mode on - route dump [ OK ] # TEST: IPv6 compat mode on - nexthop change [ OK ] # TEST: IPv6 set compat mode - 0 [ OK ] # TEST: IPv6 compat mode off - route add notification [ OK ] # TEST: IPv6 compat mode off - route dump [ OK ] # TEST: IPv6 compat mode off - nexthop change [ OK ] # TEST: IPv6 compat mode off - nexthop delete [ OK ] # TEST: IPv6 set compat mode - 1 [ OK ] # # IPv6 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv6 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # # Tests passed: 163 # Tests failed: 0 ok 34 selftests: net: fib_nexthops.sh # selftests: net: altnames.sh # SKIP: jq not installed not ok 35 selftests: net: altnames.sh # exit=1 # selftests: net: icmp_redirect.sh # # ########################################################################### # Legacy routing # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Legacy routing with VRF # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Routing with nexthop objects # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Routing with nexthop objects and VRF # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # Tests passed: 28 # Tests failed: 12 not ok 36 selftests: net: icmp_redirect.sh # exit=1 # selftests: net: ip6_gre_headroom.sh # TEST: ip6gretap headroom [PASS] # TEST: ip6erspan headroom [PASS] ok 37 selftests: net: ip6_gre_headroom.sh # selftests: net: route_localnet.sh # run arp_announce test # net.ipv4.conf.veth0.route_localnet = 1 # net.ipv4.conf.veth1.route_localnet = 1 # net.ipv4.conf.veth0.arp_announce = 2 # net.ipv4.conf.veth1.arp_announce = 2 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of data. # 64 bytes from 127.25.3.14: icmp_seq=1 ttl=64 time=0.066 ms # 64 bytes from 127.25.3.14: icmp_seq=2 ttl=64 time=0.052 ms # 64 bytes from 127.25.3.14: icmp_seq=3 ttl=64 time=0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=4 ttl=64 time=0.044 ms # 64 bytes from 127.25.3.14: icmp_seq=5 ttl=64 time=0.046 ms # # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 138ms # rtt min/avg/max/mdev = 0.044/0.050/0.066/0.011 ms # ok # run arp_ignore test # net.ipv4.conf.veth0.route_localnet = 1 # net.ipv4.conf.veth1.route_localnet = 1 # net.ipv4.conf.veth0.arp_ignore = 3 # net.ipv4.conf.veth1.arp_ignore = 3 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of data. # 64 bytes from 127.25.3.14: icmp_seq=1 ttl=64 time=0.070 ms # 64 bytes from 127.25.3.14: icmp_seq=2 ttl=64 time=0.046 ms # 64 bytes from 127.25.3.14: icmp_seq=3 ttl=64 time=0.047 ms # 64 bytes from 127.25.3.14: icmp_seq=4 ttl=64 time=0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=5 ttl=64 time=0.055 ms # # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 123ms # rtt min/avg/max/mdev = 0.045/0.052/0.070/0.012 ms # ok ok 38 selftests: net: route_localnet.sh # selftests: net: reuseaddr_ports_exhausted.sh # TAP version 13 # 1..3 # # Starting 3 tests from 1 test cases. # # RUN global.reuseaddr_ports_exhausted_unreusable ... # # OK global.reuseaddr_ports_exhausted_unreusable # ok 1 global.reuseaddr_ports_exhausted_unreusable # # RUN global.reuseaddr_ports_exhausted_reusable_same_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_same_euid # ok 2 global.reuseaddr_ports_exhausted_reusable_same_euid # # RUN global.reuseaddr_ports_exhausted_reusable_different_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_different_euid # ok 3 global.reuseaddr_ports_exhausted_reusable_different_euid # # PASSED: 3 / 3 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 # tests done ok 39 selftests: net: reuseaddr_ports_exhausted.sh # selftests: net: txtimestamp.sh # protocol: TCP # payload: 10 # server port: 9000 # # family: INET # test SND # USR: 1618856276 s 399083 us (seq=0, len=0) # SND: 1618856276 s 400550 us (seq=9, len=10) (USR +1467 us) # USR: 1618856276 s 449317 us (seq=0, len=0) # SND: 1618856276 s 450337 us (seq=19, len=10) (USR +1019 us) # USR: 1618856276 s 499478 us (seq=0, len=0) # SND: 1618856276 s 500531 us (seq=29, len=10) (USR +1053 us) # USR: 1618856276 s 549767 us (seq=0, len=0) # SND: 1618856276 s 550847 us (seq=39, len=10) (USR +1080 us) # USR-SND: count=4, avg=1155 us, min=1019 us, max=1467 us # test ENQ # USR: 1618856276 s 706738 us (seq=0, len=0) # ENQ: 1618856276 s 706796 us (seq=9, len=10) (USR +57 us) # USR: 1618856276 s 756958 us (seq=0, len=0) # ENQ: 1618856276 s 756971 us (seq=19, len=10) (USR +13 us) # USR: 1618856276 s 807197 us (seq=0, len=0) # ENQ: 1618856276 s 807222 us (seq=29, len=10) (USR +24 us) # USR: 1618856276 s 857632 us (seq=0, len=0) # ENQ: 1618856276 s 857667 us (seq=39, len=10) (USR +35 us) # USR-ENQ: count=4, avg=32 us, min=13 us, max=57 us # test ENQ + SND # USR: 1618856277 s 19202 us (seq=0, len=0) # ENQ: 1618856277 s 19231 us (seq=9, len=10) (USR +28 us) # SND: 1618856277 s 20250 us (seq=9, len=10) (USR +1047 us) # USR: 1618856277 s 69689 us (seq=0, len=0) # ENQ: 1618856277 s 69710 us (seq=19, len=10) (USR +21 us) # SND: 1618856277 s 70756 us (seq=19, len=10) (USR +1066 us) # USR: 1618856277 s 120059 us (seq=0, len=0) # ENQ: 1618856277 s 120093 us (seq=29, len=10) (USR +34 us) # SND: 1618856277 s 121105 us (seq=29, len=10) (USR +1046 us) # USR: 1618856277 s 170421 us (seq=0, len=0) # ENQ: 1618856277 s 170441 us (seq=39, len=10) (USR +19 us) # SND: 1618856277 s 171453 us (seq=39, len=10) (USR +1031 us) # USR-ENQ: count=4, avg=25 us, min=19 us, max=34 us # USR-SND: count=4, avg=1047 us, min=1031 us, max=1066 us # # test ACK # USR: 1618856277 s 327673 us (seq=0, len=0) # ACK: 1618856277 s 333850 us (seq=9, len=10) (USR +6177 us) # USR: 1618856277 s 378073 us (seq=0, len=0) # ERROR: 17264 us expected between 6000 and 6500 # ACK: 1618856277 s 395337 us (seq=19, len=10) (USR +17263 us) # USR: 1618856277 s 428489 us (seq=0, len=0) # ACK: 1618856277 s 434731 us (seq=29, len=10) (USR +6241 us) # USR: 1618856277 s 478725 us (seq=0, len=0) # ERROR: 17259 us expected between 6000 and 6500 # ACK: 1618856277 s 495984 us (seq=39, len=10) (USR +17259 us) # USR-ACK: count=4, avg=11735 us, min=6177 us, max=17263 us # # test SND + ACK # USR: 1618856277 s 635412 us (seq=0, len=0) # SND: 1618856277 s 636460 us (seq=9, len=10) (USR +1048 us) # ACK: 1618856277 s 641562 us (seq=9, len=10) (USR +6149 us) # USR: 1618856277 s 685671 us (seq=0, len=0) # SND: 1618856277 s 686747 us (seq=19, len=10) (USR +1076 us) # ACK: 1618856277 s 691931 us (seq=19, len=10) (USR +6259 us) # USR: 1618856277 s 735907 us (seq=0, len=0) # SND: 1618856277 s 736956 us (seq=29, len=10) (USR +1049 us) # ACK: 1618856277 s 742118 us (seq=29, len=10) (USR +6211 us) # USR: 1618856277 s 786360 us (seq=0, len=0) # SND: 1618856277 s 787390 us (seq=39, len=10) (USR +1030 us) # ACK: 1618856277 s 792546 us (seq=39, len=10) (USR +6185 us) # USR-SND: count=4, avg=1051 us, min=1030 us, max=1076 us # USR-ACK: count=4, avg=6201 us, min=6149 us, max=6259 us # # test ENQ + SND + ACK # USR: 1618856277 s 948662 us (seq=0, len=0) # ENQ: 1618856277 s 948683 us (seq=9, len=10) (USR +20 us) # SND: 1618856277 s 949703 us (seq=9, len=10) (USR +1040 us) # ACK: 1618856277 s 954821 us (seq=9, len=10) (USR +6158 us) # USR: 1618856277 s 999138 us (seq=0, len=0) # ENQ: 1618856277 s 999158 us (seq=19, len=10) (USR +20 us) # SND: 1618856278 s 183 us (seq=19, len=10) (USR +1045 us) # ACK: 1618856278 s 5323 us (seq=19, len=10) (USR +6185 us) # USR: 1618856278 s 49459 us (seq=0, len=0) # ENQ: 1618856278 s 49479 us (seq=29, len=10) (USR +19 us) # SND: 1618856278 s 50504 us (seq=29, len=10) (USR +1044 us) # ERROR: 18740 us expected between 6000 and 6500 # ACK: 1618856278 s 68199 us (seq=29, len=10) (USR +18740 us) # USR: 1618856278 s 99944 us (seq=0, len=0) # ENQ: 1618856278 s 99964 us (seq=39, len=10) (USR +19 us) # SND: 1618856278 s 100990 us (seq=39, len=10) (USR +1045 us) # ERROR: 18970 us expected between 6000 and 6500 # ACK: 1618856278 s 118914 us (seq=39, len=10) (USR +18969 us) # USR-ENQ: count=4, avg=20 us, min=19 us, max=20 us # USR-SND: count=4, avg=1043 us, min=1040 us, max=1045 us # USR-ACK: count=4, avg=12513 us, min=6158 us, max=18969 us not ok 40 selftests: net: txtimestamp.sh # exit=1 # selftests: net: vrf-xfrm-tests.sh # # No qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # # netem qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # # Tests passed: 10 # Tests failed: 4 not ok 41 selftests: net: vrf-xfrm-tests.sh # exit=1 # selftests: net: rxtimestamp.sh # Testing ip... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing udp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing tcp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # PASSED. ok 42 selftests: net: rxtimestamp.sh # selftests: net: devlink_port_split.py # Traceback (most recent call last): # File "./devlink_port_split.py", line 277, in # main() # File "./devlink_port_split.py", line 242, in main # dev = list(devs.keys())[0] # IndexError: list index out of range not ok 43 selftests: net: devlink_port_split.py # exit=1 # selftests: net: drop_monitor_tests.sh # SKIP: Could not run test without tshark tool ok 44 selftests: net: drop_monitor_tests.sh # SKIP # selftests: net: vrf_route_leaking.sh # # ########################################################################### # IPv4 (sym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # # ########################################################################### # IPv4 (sym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV4 test without traceroute # # ########################################################################### # IPv4 (sym route): VRF ICMP fragmentation error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP Frag needed [ OK ] # # ########################################################################### # IPv4 (asym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # # ########################################################################### # IPv4 (asym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV4 test without traceroute # # ########################################################################### # IPv6 (sym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # # ########################################################################### # IPv6 (sym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV6 test without traceroute6 # # ########################################################################### # IPv6 (sym route): VRF ICMP fragmentation error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Packet too big [FAIL] # # ########################################################################### # IPv6 (asym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # # ########################################################################### # IPv6 (asym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV6 test without traceroute6 # # Tests passed: 11 # Tests failed: 1 not ok 45 selftests: net: vrf_route_leaking.sh # exit=1 # selftests: net: bareudp.sh # TEST: IPv4 packets over UDPv4 [ OK ] # TEST: IPv4 packets over UDPv6 [ OK ] # TEST: IPv6 packets over UDPv4 [ OK ] # TEST: IPv6 packets over UDPv6 [ OK ] # TEST: IPv4 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv4 packets over UDPv6 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv6 (multiproto mode) [ OK ] # TEST: Unicast MPLS packets over UDPv4 [ OK ] # TEST: Unicast MPLS packets over UDPv6 [ OK ] ok 46 selftests: net: bareudp.sh # selftests: net: unicast_extensions.sh # ########################################################################### # Unicast address extensions tests (behavior of reserved IPv4 addresses) # ########################################################################### # TEST: assign and ping within 240/4 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 240/4 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping inside 255.255/16 (is allowed) [ OK ] # TEST: assign and ping inside 255.255.255/24 (is allowed) [ OK ] # TEST: route between 240.5.6/24 and 255.1.2/24 (is allowed) [ OK ] # TEST: route between 0.200/16 and 245.99/16 (is allowed) [ OK ] # TEST: assigning 0.0.0.0 (is forbidden) [ OK ] # TEST: assigning 255.255.255.255 (is forbidden) [ OK ] # TEST: assign and ping inside 127/8 (is forbidden) [ OK ] # TEST: assign and ping lowest address (is forbidden) [ OK ] # TEST: routing using lowest address (is forbidden) [ OK ] # TEST: assign and ping class D address (is forbidden) [ OK ] # TEST: routing using class D (is forbidden) [ OK ] # TEST: routing using 127/8 (is forbidden) [ OK ] ok 47 selftests: net: unicast_extensions.sh To reproduce: git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp install job.yaml # job file is attached in this email bin/lkp split-job --compatible job.yaml bin/lkp run compatible-job.yaml --- 0DAY/LKP+ Test Infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/lkp@lists.01.org Intel Corporation Thanks, Oliver Sang --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="config-5.12.0-rc6-00349-g6628ddfec758" # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 5.12.0-rc6 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc-9 (Debian 9.3.0-22) 9.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=90300 CONFIG_CLANG_VERSION=0 CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=23502 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y # # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_BUILD_SALT="" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y CONFIG_HAVE_KERNEL_ZSTD=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_ZSTD is not set CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_WATCH_QUEUE is not set CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_USELIB is not set CONFIG_AUDIT=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_GENERIC_IRQ_INJECTION=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_SIM=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_IRQ_MSI_IOMMU=y CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y CONFIG_GENERIC_IRQ_RESERVATION_MODE=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set # end of IRQ subsystem CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_INIT=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set # CONFIG_NO_HZ_IDLE is not set CONFIG_NO_HZ_FULL=y CONFIG_CONTEXT_TRACKING=y # CONFIG_CONTEXT_TRACKING_FORCE is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y CONFIG_PREEMPT_DYNAMIC=y # # CPU/Task time and stats accounting # CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_SCHED_AVG_IRQ=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y # CONFIG_PSI is not set # end of CPU/Task time and stats accounting CONFIG_CPU_ISOLATION=y # # RCU Subsystem # CONFIG_TREE_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_EXPERT is not set CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU_GENERIC=y CONFIG_TASKS_RCU=y CONFIG_TASKS_RUDE_RCU=y CONFIG_TASKS_TRACE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y CONFIG_RCU_NOCB_CPU=y # end of RCU Subsystem CONFIG_BUILD_BIN2C=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=20 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y # # Scheduler features # # CONFIG_UCLAMP_TASK is not set # end of Scheduler features CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_CC_HAS_INT128=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_HUGETLB=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_TIME_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_SCHED_AUTOGROUP=y # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y # CONFIG_BOOT_CONFIG is not set CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LD_ORPHAN_WARN=y CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y CONFIG_SGETMASK_SYSCALL=y CONFIG_SYSFS_SYSCALL=y CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y CONFIG_PRINTK_NMI=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_HAVE_ARCH_USERFAULTFD_WP=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y # CONFIG_BPF_LSM is not set CONFIG_BPF_SYSCALL=y CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_BPF_JIT_DEFAULT_ON=y # CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y # CONFIG_PC104 is not set # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # end of Kernel Performance Events And Counters CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y # CONFIG_COMPAT_BRK is not set # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLAB_MERGE_DEFAULT=y CONFIG_SLAB_FREELIST_RANDOM=y # CONFIG_SLAB_FREELIST_HARDENED is not set CONFIG_SHUFFLE_PAGE_ALLOCATOR=y CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y # end of General setup CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_MMU=y CONFIG_ARCH_MMAP_RND_BITS_MIN=28 CONFIG_ARCH_MMAP_RND_BITS_MAX=32 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_DYNAMIC_PHYSICAL_MASK=y CONFIG_PGTABLE_LEVELS=5 CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features # CONFIG_ZONE_DMA=y CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y # CONFIG_GOLDFISH is not set CONFIG_RETPOLINE=y CONFIG_X86_CPU_RESCTRL=y CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_NUMACHIP is not set # CONFIG_X86_VSMP is not set CONFIG_X86_UV=y # CONFIG_X86_GOLDFISH is not set # CONFIG_X86_INTEL_MID is not set CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y CONFIG_IOSF_MBI=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y # CONFIG_SCHED_OMIT_FRAME_POINTER is not set CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_DEBUG is not set CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_X86_HV_CALLBACK_VECTOR=y CONFIG_XEN=y # CONFIG_XEN_PV is not set CONFIG_XEN_PVHVM=y CONFIG_XEN_PVHVM_SMP=y CONFIG_XEN_PVHVM_GUEST=y CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set # CONFIG_XEN_PVH is not set CONFIG_KVM_GUEST=y CONFIG_ARCH_CPUIDLE_HALTPOLL=y # CONFIG_PVH is not set CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT_CLOCK=y # CONFIG_JAILHOUSE_GUEST is not set # CONFIG_ACRN_GUEST is not set # CONFIG_MK8 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set # CONFIG_MATOM is not set CONFIG_GENERIC_CPU=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_IA32_FEAT_CTL=y CONFIG_X86_VMX_FEATURE_NAMES=y # CONFIG_PROCESSOR_SELECT is not set CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_HYGON=y CONFIG_CPU_SUP_CENTAUR=y CONFIG_CPU_SUP_ZHAOXIN=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y # CONFIG_GART_IOMMU is not set CONFIG_MAXSMP=y CONFIG_NR_CPUS_RANGE_BEGIN=8192 CONFIG_NR_CPUS_RANGE_END=8192 CONFIG_NR_CPUS_DEFAULT=8192 CONFIG_NR_CPUS=8192 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y CONFIG_SCHED_MC_PRIO=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y CONFIG_X86_MCELOG_LEGACY=y CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_THRESHOLD=y CONFIG_X86_MCE_INJECT=m # # Performance monitoring # CONFIG_PERF_EVENTS_INTEL_UNCORE=m CONFIG_PERF_EVENTS_INTEL_RAPL=m CONFIG_PERF_EVENTS_INTEL_CSTATE=m CONFIG_PERF_EVENTS_AMD_POWER=m # end of Performance monitoring CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y CONFIG_X86_VSYSCALL_EMULATION=y CONFIG_X86_IOPL_IOPERM=y CONFIG_I8K=m CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y CONFIG_X86_5LEVEL=y CONFIG_X86_DIRECT_GBPAGES=y # CONFIG_X86_CPA_STATISTICS is not set CONFIG_AMD_MEM_ENCRYPT=y # CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set CONFIG_NUMA=y CONFIG_AMD_NUMA=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_NUMA_EMU=y CONFIG_NODES_SHIFT=10 CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y # CONFIG_ARCH_MEMORY_PROBE is not set CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_CHECK_BIOS_CORRUPTION=y # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y CONFIG_X86_UMIP=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_X86_INTEL_TSX_MODE_OFF=y # CONFIG_X86_INTEL_TSX_MODE_ON is not set # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set CONFIG_X86_SGX=y CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_MIXED=y # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_SCHED_HRTICK=y CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y CONFIG_ARCH_HAS_KEXEC_PURGATORY=y # CONFIG_KEXEC_SIG is not set CONFIG_CRASH_DUMP=y CONFIG_KEXEC_JUMP=y CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y CONFIG_X86_NEED_RELOCS=y CONFIG_PHYSICAL_ALIGN=0x200000 CONFIG_DYNAMIC_MEMORY_LAYOUT=y CONFIG_RANDOMIZE_MEMORY=y CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa CONFIG_HOTPLUG_CPU=y CONFIG_BOOTPARAM_HOTPLUG_CPU0=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set # CONFIG_COMPAT_VDSO is not set CONFIG_LEGACY_VSYSCALL_EMULATE=y # CONFIG_LEGACY_VSYSCALL_XONLY is not set # CONFIG_LEGACY_VSYSCALL_NONE is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_MODIFY_LDT_SYSCALL=y CONFIG_HAVE_LIVEPATCH=y CONFIG_LIVEPATCH=y # end of Processor type and features CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management and ACPI options # CONFIG_ARCH_HIBERNATION_HEADER=y CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y # CONFIG_SUSPEND_SKIP_SYNC is not set CONFIG_HIBERNATE_CALLBACKS=y CONFIG_HIBERNATION=y CONFIG_HIBERNATION_SNAPSHOT_DEV=y CONFIG_PM_STD_PARTITION="" CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y # CONFIG_PM_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PM=y CONFIG_PM_DEBUG=y # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_SLEEP_DEBUG=y # CONFIG_DPM_WATCHDOG is not set # CONFIG_PM_TRACE_RTC is not set CONFIG_PM_CLK=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_ENERGY_MODEL is not set CONFIG_ARCH_SUPPORTS_ACPI=y CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y # CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SPCR_TABLE=y # CONFIG_ACPI_FPDT is not set CONFIG_ACPI_LPIT=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y CONFIG_ACPI_EC_DEBUGFS=m CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_TAD=m CONFIG_ACPI_DOCK=y CONFIG_ACPI_CPU_FREQ_PSS=y CONFIG_ACPI_PROCESSOR_CSTATE=y CONFIG_ACPI_PROCESSOR_IDLE=y CONFIG_ACPI_CPPC_LIB=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_IPMI=m CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_THERMAL=y CONFIG_ACPI_PLATFORM_PROFILE=m CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_PCI_SLOT=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HOTPLUG_MEMORY=y CONFIG_ACPI_HOTPLUG_IOAPIC=y CONFIG_ACPI_SBS=m CONFIG_ACPI_HED=y # CONFIG_ACPI_CUSTOM_METHOD is not set CONFIG_ACPI_BGRT=y # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set CONFIG_ACPI_NFIT=m # CONFIG_NFIT_SECURITY_DEBUG is not set CONFIG_ACPI_NUMA=y # CONFIG_ACPI_HMAT is not set CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y CONFIG_ACPI_APEI=y CONFIG_ACPI_APEI_GHES=y CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_MEMORY_FAILURE=y CONFIG_ACPI_APEI_EINJ=m # CONFIG_ACPI_APEI_ERST_DEBUG is not set # CONFIG_ACPI_DPTF is not set CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_ADXL=y # CONFIG_ACPI_CONFIGFS is not set CONFIG_PMIC_OPREGION=y CONFIG_X86_PM_TIMER=y # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_ATTR_SET=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # # CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y # CONFIG_X86_PCC_CPUFREQ is not set CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K8=m CONFIG_X86_AMD_FREQ_SENSITIVITY=m # CONFIG_X86_SPEEDSTEP_CENTRINO is not set CONFIG_X86_P4_CLOCKMOD=m # # shared options # CONFIG_X86_SPEEDSTEP_LIB=m # end of CPU Frequency scaling # # CPU Idle # CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y # CONFIG_CPU_IDLE_GOV_TEO is not set # CONFIG_CPU_IDLE_GOV_HALTPOLL is not set CONFIG_HALTPOLL_CPUIDLE=y # end of CPU Idle CONFIG_INTEL_IDLE=y # end of Power management and ACPI options # # Bus options (PCI etc.) # CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_XEN=y CONFIG_MMCONF_FAM10H=y # CONFIG_PCI_CNB20LE_QUIRK is not set # CONFIG_ISA_BUS is not set CONFIG_ISA_DMA_API=y CONFIG_AMD_NB=y # CONFIG_X86_SYSFB is not set # end of Bus options (PCI etc.) # # Binary Emulations # CONFIG_IA32_EMULATION=y # CONFIG_X86_X32 is not set CONFIG_COMPAT_32=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y # end of Binary Emulations # # Firmware Drivers # CONFIG_EDD=m # CONFIG_EDD_OFF is not set CONFIG_FIRMWARE_MEMMAP=y CONFIG_DMIID=y CONFIG_DMI_SYSFS=y CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y # CONFIG_ISCSI_IBFT is not set CONFIG_FW_CFG_SYSFS=y # CONFIG_FW_CFG_SYSFS_CMDLINE is not set # CONFIG_GOOGLE_FIRMWARE is not set # # EFI (Extensible Firmware Interface) Support # CONFIG_EFI_VARS=y CONFIG_EFI_ESRT=y CONFIG_EFI_VARS_PSTORE=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y # CONFIG_EFI_BOOTLOADER_CONTROL is not set # CONFIG_EFI_CAPSULE_LOADER is not set # CONFIG_EFI_TEST is not set CONFIG_APPLE_PROPERTIES=y # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_EFI_RCI2_TABLE is not set # CONFIG_EFI_DISABLE_PCI_DMA is not set # end of EFI (Extensible Firmware Interface) Support CONFIG_UEFI_CPER=y CONFIG_UEFI_CPER_X86=y CONFIG_EFI_DEV_PATH_PARSER=y CONFIG_EFI_EARLYCON=y CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y # # Tegra firmware driver # # end of Tegra firmware driver # end of Firmware Drivers CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_MMIO=y CONFIG_KVM_ASYNC_PF=y CONFIG_HAVE_KVM_MSI=y CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y CONFIG_KVM_VFIO=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_KVM_COMPAT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_KVM_XFER_TO_GUEST_WORK=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=y # CONFIG_KVM_WERROR is not set CONFIG_KVM_INTEL=y # CONFIG_KVM_AMD is not set # CONFIG_KVM_XEN is not set CONFIG_KVM_MMU_AUDIT=y CONFIG_AS_AVX512=y CONFIG_AS_SHA1_NI=y CONFIG_AS_SHA256_NI=y CONFIG_AS_TPAUSE=y # # General architecture-dependent options # CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_HOTPLUG_SMT=y CONFIG_GENERIC_ENTRY=y CONFIG_KPROBES=y CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_OPTPROBES=y CONFIG_KPROBES_ON_FTRACE=y CONFIG_UPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_KRETPROBES=y CONFIG_USER_RETURN_NOTIFIER=y CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_KPROBES_ON_FTRACE=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_MMU_GATHER_TABLE_FREE=y CONFIG_MMU_GATHER_RCU_TABLE_FREE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y CONFIG_HAVE_CMPXCHG_DOUBLE=y CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP=y CONFIG_SECCOMP_FILTER=y # CONFIG_SECCOMP_CACHE_DEBUG is not set CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_MOVE_PUD=y CONFIG_HAVE_MOVE_PMD=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_HAVE_EXIT_THREAD=y CONFIG_ARCH_MMAP_RND_BITS=28 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_MEM_ENCRYPT=y CONFIG_HAVE_STATIC_CALL=y CONFIG_HAVE_STATIC_CALL_INLINE=y CONFIG_HAVE_PREEMPT_DYNAMIC=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_HAS_ELFCORE_COMPAT=y # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # end of GCOV-based kernel profiling CONFIG_HAVE_GCC_PLUGINS=y # end of General architecture-dependent options CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULE_SIG_FORMAT=y CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_MODULE_SIG=y # CONFIG_MODULE_SIG_FORCE is not set CONFIG_MODULE_SIG_ALL=y # CONFIG_MODULE_SIG_SHA1 is not set # CONFIG_MODULE_SIG_SHA224 is not set CONFIG_MODULE_SIG_SHA256=y # CONFIG_MODULE_SIG_SHA384 is not set # CONFIG_MODULE_SIG_SHA512 is not set CONFIG_MODULE_SIG_HASH="sha256" # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_CGROUP_RWSTAT=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=m # CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set # CONFIG_BLK_CMDLINE_PARSER is not set CONFIG_BLK_WBT=y # CONFIG_BLK_CGROUP_IOLATENCY is not set # CONFIG_BLK_CGROUP_IOCOST is not set CONFIG_BLK_WBT_MQ=y CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_SED_OPAL is not set # CONFIG_BLK_INLINE_ENCRYPTION is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set # CONFIG_AIX_PARTITION is not set CONFIG_OSF_PARTITION=y CONFIG_AMIGA_PARTITION=y # CONFIG_ATARI_PARTITION is not set CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set # CONFIG_CMDLINE_PARTITION is not set # end of Partition Types CONFIG_BLOCK_COMPAT=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y CONFIG_BLK_PM=y # # IO Schedulers # CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y CONFIG_IOSCHED_BFQ=y CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_BFQ_CGROUP_DEBUG is not set # end of IO Schedulers CONFIG_PREEMPT_NOTIFIERS=y CONFIG_PADATA=y CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_RWSEM_SPIN_ON_OWNER=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_QUEUED_SPINLOCKS=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_QUEUED_RWLOCKS=y CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y CONFIG_FREEZER=y # # Executable file formats # CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y CONFIG_ELFCORE=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_BINFMT_SCRIPT=y CONFIG_BINFMT_MISC=m CONFIG_COREDUMP=y # end of Executable file formats # # Memory Management options # CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_NEED_MULTIPLE_NODES=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_FAST_GUP=y CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_MEMORY_ISOLATION=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y # CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set CONFIG_MEMORY_HOTREMOVE=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_THP_SWAP=y CONFIG_CLEANCACHE=y CONFIG_FRONTSWAP=y # CONFIG_CMA is not set # CONFIG_MEM_SOFT_DIRTY is not set CONFIG_ZSWAP=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo" CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y # CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set # CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud" # CONFIG_ZSWAP_DEFAULT_ON is not set CONFIG_ZPOOL=y CONFIG_ZBUD=y # CONFIG_Z3FOLD is not set CONFIG_ZSMALLOC=y CONFIG_ZSMALLOC_STAT=y CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_IDLE_PAGE_TRACKING=y CONFIG_ARCH_HAS_PTE_DEVMAP=y CONFIG_ZONE_DEVICE=y CONFIG_DEV_PAGEMAP_OPS=y CONFIG_HMM_MIRROR=y CONFIG_DEVICE_PRIVATE=y CONFIG_VMAP_PFN=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y # CONFIG_PERCPU_STATS is not set CONFIG_GUP_TEST=y # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y # end of Memory Management options CONFIG_NET=y CONFIG_NET_INGRESS=y CONFIG_NET_EGRESS=y CONFIG_NET_REDIRECT=y CONFIG_SKB_EXTENSIONS=y # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_SCM=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m CONFIG_TLS_DEVICE=y # CONFIG_TLS_TOE is not set CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=y CONFIG_XFRM_USER=y # CONFIG_XFRM_USER_COMPAT is not set # CONFIG_XFRM_INTERFACE is not set CONFIG_XFRM_SUB_POLICY=y CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_STATISTICS=y CONFIG_XFRM_AH=m CONFIG_XFRM_ESP=m CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_XDP_SOCKETS=y # CONFIG_XDP_SOCKETS_DIAG is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_FIB_TRIE_STATS=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_ROUTE_CLASSID=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IP_PNP_BOOTP is not set # CONFIG_IP_PNP_RARP is not set CONFIG_NET_IPIP=y CONFIG_NET_IPGRE_DEMUX=y CONFIG_NET_IP_TUNNEL=y CONFIG_NET_IPGRE=y CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE_COMMON=y CONFIG_IP_MROUTE=y CONFIG_IP_MROUTE_MULTIPLE_TABLES=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=y CONFIG_NET_FOU=y CONFIG_NET_FOU_IP_TUNNELS=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m # CONFIG_INET_ESPINTCP is not set CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=y CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_INET_UDP_DIAG=m CONFIG_INET_RAW_DIAG=m # CONFIG_INET_DIAG_DESTROY is not set CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_WESTWOOD=m CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m CONFIG_TCP_CONG_VEGAS=m CONFIG_TCP_CONG_NV=m CONFIG_TCP_CONG_SCALABLE=m CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m CONFIG_TCP_CONG_DCTCP=m # CONFIG_TCP_CONG_CDG is not set CONFIG_TCP_CONG_BBR=m CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y CONFIG_IPV6=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_ESP_OFFLOAD=m # CONFIG_INET6_ESPINTCP is not set CONFIG_INET6_IPCOMP=m CONFIG_IPV6_MIP6=m # CONFIG_IPV6_ILA is not set CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=y CONFIG_IPV6_VTI=m CONFIG_IPV6_SIT=m CONFIG_IPV6_SIT_6RD=y CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_GRE=y CONFIG_IPV6_FOU=y CONFIG_IPV6_FOU_TUNNEL=y CONFIG_IPV6_MULTIPLE_TABLES=y # CONFIG_IPV6_SUBTREES is not set CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y # CONFIG_IPV6_SEG6_HMAC is not set CONFIG_IPV6_SEG6_BPF=y # CONFIG_IPV6_RPL_LWTUNNEL is not set CONFIG_NETLABEL=y CONFIG_MPTCP=y CONFIG_INET_MPTCP_DIAG=m CONFIG_MPTCP_IPV6=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y CONFIG_NETFILTER=y CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m # # Core Netfilter Configuration # CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y # CONFIG_NETFILTER_NETLINK_ACCT is not set CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m CONFIG_NF_LOG_COMMON=m CONFIG_NF_LOG_NETDEV=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CONNTRACK_PROCFS=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_TIMEOUT=y CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CONNTRACK_LABELS=y CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_GRE=y CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_BROADCAST=m CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_SNMP=m CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_CT_NETLINK_TIMEOUT=m CONFIG_NF_CT_NETLINK_HELPER=m CONFIG_NETFILTER_NETLINK_GLUE_CT=y CONFIG_NF_NAT=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_REDIRECT=y CONFIG_NF_NAT_MASQUERADE=y CONFIG_NETFILTER_SYNPROXY=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_COUNTER=m CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m CONFIG_NFT_REDIR=m CONFIG_NFT_NAT=m # CONFIG_NFT_TUNNEL is not set CONFIG_NFT_OBJREF=m CONFIG_NFT_QUEUE=m CONFIG_NFT_QUOTA=m CONFIG_NFT_REJECT=m CONFIG_NFT_REJECT_INET=m CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m # CONFIG_NFT_XFRM is not set CONFIG_NFT_SOCKET=m # CONFIG_NFT_OSF is not set # CONFIG_NFT_TPROXY is not set # CONFIG_NFT_SYNPROXY is not set CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_FIB_NETDEV=m # CONFIG_NFT_REJECT_NETDEV is not set CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES=y # # Xtables combined modules # CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_CONNMARK=m CONFIG_NETFILTER_XT_SET=m # # Xtables targets # CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_CT=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_HL=m CONFIG_NETFILTER_XT_TARGET_HMARK=m CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m # CONFIG_NETFILTER_XT_TARGET_LED is not set CONFIG_NETFILTER_XT_TARGET_LOG=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_NAT=m CONFIG_NETFILTER_XT_TARGET_NETMAP=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m CONFIG_NETFILTER_XT_TARGET_REDIRECT=m CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m # # Xtables matches # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m CONFIG_NETFILTER_XT_MATCH_BPF=m CONFIG_NETFILTER_XT_MATCH_CGROUP=m CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m CONFIG_NETFILTER_XT_MATCH_CPU=m CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ECN=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m # CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_IPVS=m # CONFIG_NETFILTER_XT_MATCH_L2TP is not set CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set CONFIG_NETFILTER_XT_MATCH_OSF=m CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set # end of Core Netfilter Configuration CONFIG_IP_SET=m CONFIG_IP_SET_MAX=256 CONFIG_IP_SET_BITMAP_IP=m CONFIG_IP_SET_BITMAP_IPMAC=m CONFIG_IP_SET_BITMAP_PORT=m CONFIG_IP_SET_HASH_IP=m CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m CONFIG_IP_SET_HASH_IPMAC=m CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m CONFIG_IP_SET_HASH_NETPORT=m CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_IP_SET_LIST_SET=m CONFIG_IP_VS=m CONFIG_IP_VS_IPV6=y # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_AH_ESP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y CONFIG_IP_VS_PROTO_SCTP=y # # IPVS scheduler # CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_FO=m CONFIG_IP_VS_OVF=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m # CONFIG_IP_VS_MH is not set CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # CONFIG_IP_VS_TWOS is not set # # IPVS SH scheduler # CONFIG_IP_VS_SH_TAB_BITS=8 # # IPVS MH scheduler # CONFIG_IP_VS_MH_TAB_INDEX=12 # # IPVS application helper # CONFIG_IP_VS_FTP=m CONFIG_IP_VS_NFCT=y CONFIG_IP_VS_PE_SIP=m # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_SOCKET_IPV4=m CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_DUP_IPV4=m CONFIG_NFT_FIB_IPV4=m CONFIG_NF_TABLES_ARP=y CONFIG_NF_FLOW_TABLE_IPV4=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_RPFILTER=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_SYNPROXY=m CONFIG_IP_NF_NAT=m CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_MANGLE=m # CONFIG_IP_NF_TARGET_CLUSTERIP is not set CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_SECURITY=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # end of IP: Netfilter Configuration # # IPv6: Netfilter Configuration # CONFIG_NF_SOCKET_IPV6=m CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_REJECT_IPV6=m CONFIG_NFT_DUP_IPV6=m CONFIG_NFT_FIB_IPV6=m CONFIG_NF_FLOW_TABLE_IPV6=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m # CONFIG_IP6_NF_MATCH_SRH is not set # CONFIG_IP6_NF_TARGET_HL is not set CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_TARGET_SYNPROXY=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m # end of IPv6: Netfilter Configuration CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_TABLES_BRIDGE=m # CONFIG_NFT_BRIDGE_META is not set CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m # CONFIG_NF_CONNTRACK_BRIDGE is not set CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m # CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_COOKIE_HMAC_MD5=y CONFIG_SCTP_COOKIE_HMAC_SHA1=y CONFIG_INET_SCTP_DIAG=m # CONFIG_RDS is not set CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y CONFIG_TIPC_CRYPTO=y CONFIG_TIPC_DIAG=m CONFIG_ATM=m CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set CONFIG_ATM_LANE=m # CONFIG_ATM_MPOA is not set CONFIG_ATM_BR2684=m # CONFIG_ATM_BR2684_IPFILTER is not set CONFIG_L2TP=m CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_V3=y CONFIG_L2TP_IP=m CONFIG_L2TP_ETH=m CONFIG_STP=y CONFIG_GARP=y CONFIG_MRP=y CONFIG_BRIDGE=y CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y # CONFIG_BRIDGE_MRP is not set # CONFIG_BRIDGE_CFM is not set CONFIG_HAVE_NET_DSA=y # CONFIG_NET_DSA is not set CONFIG_VLAN_8021Q=y CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y # CONFIG_DECNET is not set CONFIG_LLC=y # CONFIG_LLC2 is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_PHONET is not set CONFIG_6LOWPAN=m # CONFIG_6LOWPAN_DEBUGFS is not set # CONFIG_6LOWPAN_NHC is not set CONFIG_IEEE802154=m # CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set CONFIG_IEEE802154_SOCKET=m CONFIG_IEEE802154_6LOWPAN=m CONFIG_MAC802154=m CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFB=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m # CONFIG_NET_SCH_CBS is not set CONFIG_NET_SCH_ETF=m # CONFIG_NET_SCH_TAPRIO is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=y CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_MQPRIO=m # CONFIG_NET_SCH_SKBPRIO is not set CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_QFQ=m CONFIG_NET_SCH_CODEL=m CONFIG_NET_SCH_FQ_CODEL=y # CONFIG_NET_SCH_CAKE is not set CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_HHF=m CONFIG_NET_SCH_PIE=m # CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_INGRESS=y CONFIG_NET_SCH_PLUG=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_DEFAULT=y # CONFIG_DEFAULT_FQ is not set # CONFIG_DEFAULT_CODEL is not set CONFIG_DEFAULT_FQ_CODEL=y # CONFIG_DEFAULT_SFQ is not set # CONFIG_DEFAULT_PFIFO_FAST is not set CONFIG_DEFAULT_NET_SCH="fq_codel" # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_CGROUP=y CONFIG_NET_CLS_BPF=m CONFIG_NET_CLS_FLOWER=m CONFIG_NET_CLS_MATCHALL=m CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m CONFIG_NET_EMATCH_CANID=m CONFIG_NET_EMATCH_IPSET=m CONFIG_NET_EMATCH_IPT=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_SAMPLE=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_ACT_CSUM=m CONFIG_NET_ACT_MPLS=m CONFIG_NET_ACT_VLAN=m CONFIG_NET_ACT_BPF=m CONFIG_NET_ACT_CONNMARK=m CONFIG_NET_ACT_CTINFO=m CONFIG_NET_ACT_SKBMOD=m CONFIG_NET_ACT_IFE=m CONFIG_NET_ACT_TUNNEL_KEY=m CONFIG_NET_ACT_CT=m # CONFIG_NET_ACT_GATE is not set CONFIG_NET_IFE_SKBMARK=m CONFIG_NET_IFE_SKBPRIO=m CONFIG_NET_IFE_SKBTCINDEX=m # CONFIG_NET_TC_SKB_EXT is not set CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y CONFIG_DNS_RESOLVER=m # CONFIG_BATMAN_ADV is not set CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=m CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_VSOCKETS=m CONFIG_VSOCKETS_DIAG=m CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS_COMMON=m CONFIG_HYPERV_VSOCKETS=m CONFIG_NETLINK_DIAG=m CONFIG_MPLS=y CONFIG_NET_MPLS_GSO=m CONFIG_MPLS_ROUTING=m CONFIG_MPLS_IPTUNNEL=m CONFIG_NET_NSH=y # CONFIG_HSR is not set CONFIG_NET_SWITCHDEV=y CONFIG_NET_L3_MASTER_DEV=y # CONFIG_QRTR is not set # CONFIG_NET_NCSI is not set CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_XPS=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y CONFIG_BPF_JIT=y CONFIG_BPF_STREAM_PARSER=y CONFIG_NET_FLOW_LIMIT=y # # Network testing # CONFIG_NET_PKTGEN=m CONFIG_NET_DROP_MONITOR=y # end of Network testing # end of Networking options # CONFIG_HAMRADIO is not set CONFIG_CAN=m CONFIG_CAN_RAW=m CONFIG_CAN_BCM=m CONFIG_CAN_GW=m # CONFIG_CAN_J1939 is not set # CONFIG_CAN_ISOTP is not set # # CAN Device Drivers # CONFIG_CAN_VCAN=m # CONFIG_CAN_VXCAN is not set CONFIG_CAN_SLCAN=m CONFIG_CAN_DEV=m CONFIG_CAN_CALC_BITTIMING=y # CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m CONFIG_CAN_CC770=m # CONFIG_CAN_CC770_ISA is not set CONFIG_CAN_CC770_PLATFORM=m # CONFIG_CAN_IFI_CANFD is not set # CONFIG_CAN_M_CAN is not set # CONFIG_CAN_PEAK_PCIEFD is not set CONFIG_CAN_SJA1000=m CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_F81601 is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_PEAK_PCI=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PLX_PCI=m # CONFIG_CAN_SJA1000_ISA is not set CONFIG_CAN_SJA1000_PLATFORM=m CONFIG_CAN_SOFTING=m # # CAN SPI interfaces # # CONFIG_CAN_HI311X is not set # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MCP251XFD is not set # end of CAN SPI interfaces # # CAN USB interfaces # # CONFIG_CAN_8DEV_USB is not set # CONFIG_CAN_EMS_USB is not set # CONFIG_CAN_ESD_USB2 is not set # CONFIG_CAN_GS_USB is not set # CONFIG_CAN_KVASER_USB is not set # CONFIG_CAN_MCBA_USB is not set # CONFIG_CAN_PEAK_USB is not set # CONFIG_CAN_UCAN is not set # end of CAN USB interfaces # CONFIG_CAN_DEBUG_DEVICES is not set # end of CAN Device Drivers CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HIDP=m CONFIG_BT_HS=y CONFIG_BT_LE=y # CONFIG_BT_6LOWPAN is not set # CONFIG_BT_LEDS is not set # CONFIG_BT_MSFTEXT is not set CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set # # Bluetooth device drivers # # CONFIG_BT_HCIBTUSB is not set # CONFIG_BT_HCIBTSDIO is not set CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_ATH3K=y # CONFIG_BT_HCIUART_INTEL is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIBCM203X is not set # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m # CONFIG_BT_MRVL_SDIO is not set # CONFIG_BT_MTKSDIO is not set # end of Bluetooth device drivers # CONFIG_AF_RXRPC is not set # CONFIG_AF_KCM is not set CONFIG_STREAM_PARSER=y CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_CERTIFICATION_ONUS is not set CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set CONFIG_CFG80211_CRDA_SUPPORT=y # CONFIG_CFG80211_WEXT is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" # CONFIG_MAC80211_MESH is not set CONFIG_MAC80211_LEDS=y CONFIG_MAC80211_DEBUGFS=y # CONFIG_MAC80211_MESSAGE_TRACING is not set # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y # CONFIG_RFKILL_GPIO is not set CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y # CONFIG_NET_9P_XEN is not set # CONFIG_NET_9P_DEBUG is not set # CONFIG_CAIF is not set CONFIG_CEPH_LIB=m # CONFIG_CEPH_LIB_PRETTYDEBUG is not set CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y # CONFIG_NFC is not set CONFIG_PSAMPLE=m CONFIG_NET_IFE=m CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y CONFIG_HAVE_EBPF_JIT=y # # Device Drivers # CONFIG_HAVE_EISA=y # CONFIG_EISA is not set CONFIG_HAVE_PCI=y CONFIG_PCI=y CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y CONFIG_PCIEAER_INJECT=m CONFIG_PCIE_ECRC=y CONFIG_PCIEASPM=y CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set # CONFIG_PCIEASPM_PERFORMANCE is not set CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y # CONFIG_PCIE_PTM is not set # CONFIG_PCIE_EDR is not set CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y CONFIG_PCI_PF_STUB=m # CONFIG_XEN_PCIDEV_FRONTEND is not set CONFIG_PCI_ATS=y CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y # CONFIG_PCI_P2PDMA is not set CONFIG_PCI_LABEL=y CONFIG_PCI_HYPERV=m # CONFIG_PCIE_BUS_TUNE_OFF is not set CONFIG_PCIE_BUS_DEFAULT=y # CONFIG_PCIE_BUS_SAFE is not set # CONFIG_PCIE_BUS_PERFORMANCE is not set # CONFIG_PCIE_BUS_PEER2PEER is not set CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m # CONFIG_HOTPLUG_PCI_CPCI is not set CONFIG_HOTPLUG_PCI_SHPC=y # # PCI controller drivers # CONFIG_VMD=y CONFIG_PCI_HYPERV_INTERFACE=m # # DesignWare PCI Core Support # # CONFIG_PCIE_DW_PLAT_HOST is not set # CONFIG_PCI_MESON is not set # end of DesignWare PCI Core Support # # Mobiveil PCIe Core Support # # end of Mobiveil PCIe Core Support # # Cadence PCIe controllers support # # end of Cadence PCIe controllers support # end of PCI controller drivers # # PCI Endpoint # # CONFIG_PCI_ENDPOINT is not set # end of PCI Endpoint # # PCI switch controller drivers # # CONFIG_PCI_SW_SWITCHTEC is not set # end of PCI switch controller drivers # CONFIG_CXL_BUS is not set # CONFIG_PCCARD is not set # CONFIG_RAPIDIO is not set # # Generic Driver Options # # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # # Firmware loader # CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set # CONFIG_FW_LOADER_COMPRESS is not set CONFIG_FW_CACHE=y # end of Firmware loader CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set CONFIG_SYS_HYPERVISOR=y CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=m CONFIG_REGMAP_SPI=m CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set # end of Generic Driver Options # # Bus devices # # CONFIG_MHI_BUS is not set # end of Bus devices CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y # CONFIG_GNSS is not set # CONFIG_MTD is not set # CONFIG_OF is not set CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m # CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC_SUPERIO is not set # CONFIG_PARPORT_AX88796 is not set CONFIG_PARPORT_1284=y CONFIG_PNP=y # CONFIG_PNP_DEBUG_MESSAGES is not set # # Protocols # CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_NULL_BLK=m # CONFIG_BLK_DEV_FD is not set CONFIG_CDROM=m # CONFIG_PARIDE is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m CONFIG_ZRAM_DEF_COMP_LZORLE=y # CONFIG_ZRAM_DEF_COMP_LZO is not set CONFIG_ZRAM_DEF_COMP="lzo-rle" CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_DRBD is not set CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set # CONFIG_ATA_OVER_ETH is not set CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m # CONFIG_BLK_DEV_RSXX is not set # # NVME Support # CONFIG_NVME_CORE=m CONFIG_BLK_DEV_NVME=m CONFIG_NVME_MULTIPATH=y # CONFIG_NVME_HWMON is not set CONFIG_NVME_FABRICS=m CONFIG_NVME_FC=m # CONFIG_NVME_TCP is not set CONFIG_NVME_TARGET=m # CONFIG_NVME_TARGET_PASSTHRU is not set CONFIG_NVME_TARGET_LOOP=m CONFIG_NVME_TARGET_FC=m CONFIG_NVME_TARGET_FCLOOP=m # CONFIG_NVME_TARGET_TCP is not set # end of NVME Support # # Misc devices # CONFIG_SENSORS_LIS3LV02D=m # CONFIG_AD525X_DPOT is not set # CONFIG_DUMMY_IRQ is not set # CONFIG_IBM_ASM is not set # CONFIG_PHANTOM is not set CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m # CONFIG_ICS932S401 is not set CONFIG_ENCLOSURE_SERVICES=m CONFIG_SGI_XP=m CONFIG_HP_ILO=m CONFIG_SGI_GRU=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_APDS9802ALS=m CONFIG_ISL29003=m CONFIG_ISL29020=m CONFIG_SENSORS_TSL2550=m CONFIG_SENSORS_BH1770=m CONFIG_SENSORS_APDS990X=m # CONFIG_HMC6352 is not set # CONFIG_DS1682 is not set CONFIG_VMWARE_BALLOON=m # CONFIG_LATTICE_ECP3_CONFIG is not set # CONFIG_SRAM is not set # CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_XILINX_SDFEC is not set CONFIG_MISC_RTSX=m CONFIG_PVPANIC=y # CONFIG_C2PORT is not set # # EEPROM support # # CONFIG_EEPROM_AT24 is not set # CONFIG_EEPROM_AT25 is not set CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EEPROM_93CX6=m # CONFIG_EEPROM_93XX46 is not set # CONFIG_EEPROM_IDT_89HPESX is not set # CONFIG_EEPROM_EE1004 is not set # end of EEPROM support CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set CONFIG_CB710_DEBUG_ASSUMPTIONS=y # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set # end of Texas Instruments shared transport line discipline CONFIG_SENSORS_LIS3_I2C=m CONFIG_ALTERA_STAPL=m CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m # CONFIG_INTEL_MEI_TXE is not set # CONFIG_INTEL_MEI_HDCP is not set CONFIG_VMWARE_VMCI=m # CONFIG_GENWQE is not set # CONFIG_ECHO is not set # CONFIG_BCM_VK is not set # CONFIG_MISC_ALCOR_PCI is not set CONFIG_MISC_RTSX_PCI=m # CONFIG_MISC_RTSX_USB is not set # CONFIG_HABANA_AI is not set # CONFIG_UACCE is not set # end of Misc devices CONFIG_HAVE_IDE=y # CONFIG_IDE is not set # # SCSI device support # CONFIG_SCSI_MOD=y CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=m CONFIG_CHR_DEV_ST=m CONFIG_BLK_DEV_SR=m CONFIG_CHR_DEV_SG=m CONFIG_CHR_DEV_SCH=m CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=m CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=m CONFIG_SCSI_SAS_LIBSAS=m CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y CONFIG_SCSI_SRP_ATTRS=m # end of SCSI Transports CONFIG_SCSI_LOWLEVEL=y # CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set # CONFIG_SCSI_CXGB3_ISCSI is not set # CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_SCSI_BNX2_ISCSI is not set # CONFIG_BE2ISCSI is not set # CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_SCSI_HPSA is not set # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_3W_SAS is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC94XX is not set # CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_MVUMI is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_ARCMSR is not set # CONFIG_SCSI_ESAS2R is not set # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_SAS is not set CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 # CONFIG_SCSI_MPT2SAS is not set # CONFIG_SCSI_SMARTPQI is not set # CONFIG_SCSI_UFSHCD is not set # CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_MYRB is not set # CONFIG_SCSI_MYRS is not set # CONFIG_VMWARE_PVSCSI is not set # CONFIG_XEN_SCSI_FRONTEND is not set CONFIG_HYPERV_STORAGE=m # CONFIG_LIBFC is not set # CONFIG_SCSI_SNIC is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_FDOMAIN_PCI is not set CONFIG_SCSI_ISCI=m # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_IMM is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLA_FC is not set # CONFIG_SCSI_QLA_ISCSI is not set # CONFIG_SCSI_LPFC is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_WD719X is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_BFA_FC is not set # CONFIG_SCSI_VIRTIO is not set # CONFIG_SCSI_CHELSIO_FCOE is not set CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=y CONFIG_SCSI_DH_HP_SW=y CONFIG_SCSI_DH_EMC=y CONFIG_SCSI_DH_ALUA=y # end of SCSI device support CONFIG_ATA=m CONFIG_SATA_HOST=y CONFIG_PATA_TIMINGS=y CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_FORCE=y CONFIG_ATA_ACPI=y # CONFIG_SATA_ZPODD is not set CONFIG_SATA_PMP=y # # Controllers with non-SFF native interface # CONFIG_SATA_AHCI=m CONFIG_SATA_MOBILE_LPM_POLICY=0 CONFIG_SATA_AHCI_PLATFORM=m # CONFIG_SATA_INIC162X is not set # CONFIG_SATA_ACARD_AHCI is not set # CONFIG_SATA_SIL24 is not set CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # # CONFIG_PDC_ADMA is not set # CONFIG_SATA_QSTOR is not set # CONFIG_SATA_SX4 is not set CONFIG_ATA_BMDMA=y # # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=m # CONFIG_SATA_DWC is not set # CONFIG_SATA_MV is not set # CONFIG_SATA_NV is not set # CONFIG_SATA_PROMISE is not set # CONFIG_SATA_SIL is not set # CONFIG_SATA_SIS is not set # CONFIG_SATA_SVW is not set # CONFIG_SATA_ULI is not set # CONFIG_SATA_VIA is not set # CONFIG_SATA_VITESSE is not set # # PATA SFF controllers with BMDMA # # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set # CONFIG_PATA_ARTOP is not set # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_ATP867X is not set # CONFIG_PATA_CMD64X is not set # CONFIG_PATA_CYPRESS is not set # CONFIG_PATA_EFAR is not set # CONFIG_PATA_HPT366 is not set # CONFIG_PATA_HPT37X is not set # CONFIG_PATA_HPT3X2N is not set # CONFIG_PATA_HPT3X3 is not set # CONFIG_PATA_IT8213 is not set # CONFIG_PATA_IT821X is not set # CONFIG_PATA_JMICRON is not set # CONFIG_PATA_MARVELL is not set # CONFIG_PATA_NETCELL is not set # CONFIG_PATA_NINJA32 is not set # CONFIG_PATA_NS87415 is not set # CONFIG_PATA_OLDPIIX is not set # CONFIG_PATA_OPTIDMA is not set # CONFIG_PATA_PDC2027X is not set # CONFIG_PATA_PDC_OLD is not set # CONFIG_PATA_RADISYS is not set # CONFIG_PATA_RDC is not set # CONFIG_PATA_SCH is not set # CONFIG_PATA_SERVERWORKS is not set # CONFIG_PATA_SIL680 is not set # CONFIG_PATA_SIS is not set # CONFIG_PATA_TOSHIBA is not set # CONFIG_PATA_TRIFLEX is not set # CONFIG_PATA_VIA is not set # CONFIG_PATA_WINBOND is not set # # PIO-only SFF controllers # # CONFIG_PATA_CMD640_PCI is not set # CONFIG_PATA_MPIIX is not set # CONFIG_PATA_NS87410 is not set # CONFIG_PATA_OPTI is not set # CONFIG_PATA_PLATFORM is not set # CONFIG_PATA_RZ1000 is not set # # Generic fallback / legacy drivers # # CONFIG_PATA_ACPI is not set CONFIG_ATA_GENERIC=m # CONFIG_PATA_LEGACY is not set CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_AUTODETECT=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m # CONFIG_MD_MULTIPATH is not set CONFIG_MD_FAULTY=m CONFIG_MD_CLUSTER=m # CONFIG_BCACHE is not set CONFIG_BLK_DEV_DM_BUILTIN=y CONFIG_BLK_DEV_DM=m CONFIG_DM_DEBUG=y CONFIG_DM_BUFIO=m # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set CONFIG_DM_BIO_PRISON=m CONFIG_DM_PERSISTENT_DATA=m # CONFIG_DM_UNSTRIPED is not set CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m CONFIG_DM_WRITECACHE=m # CONFIG_DM_EBS is not set CONFIG_DM_ERA=m # CONFIG_DM_CLONE is not set CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m CONFIG_DM_RAID=m CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m # CONFIG_DM_MULTIPATH_HST is not set # CONFIG_DM_MULTIPATH_IOA is not set CONFIG_DM_DELAY=m # CONFIG_DM_DUST is not set CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m # CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set # CONFIG_DM_VERITY_FEC is not set CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_INTEGRITY=m CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m CONFIG_TCM_USER2=m CONFIG_LOOPBACK_TARGET=m CONFIG_ISCSI_TARGET=m # CONFIG_SBP_TARGET is not set # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # CONFIG_FIREWIRE=m CONFIG_FIREWIRE_OHCI=m CONFIG_FIREWIRE_SBP2=m CONFIG_FIREWIRE_NET=m # CONFIG_FIREWIRE_NOSY is not set # end of IEEE 1394 (FireWire) support CONFIG_MACINTOSH_DRIVERS=y CONFIG_MAC_EMUMOUSEBTN=y CONFIG_NETDEVICES=y CONFIG_MII=y CONFIG_NET_CORE=y # CONFIG_BONDING is not set CONFIG_DUMMY=y # CONFIG_WIREGUARD is not set # CONFIG_EQUALIZER is not set # CONFIG_NET_FC is not set CONFIG_IFB=y # CONFIG_NET_TEAM is not set # CONFIG_MACVLAN is not set # CONFIG_IPVLAN is not set CONFIG_VXLAN=y CONFIG_GENEVE=y CONFIG_BAREUDP=m # CONFIG_GTP is not set CONFIG_MACSEC=y CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set CONFIG_VETH=y CONFIG_VIRTIO_NET=m # CONFIG_NLMON is not set CONFIG_NET_VRF=y # CONFIG_VSOCKMON is not set # CONFIG_ARCNET is not set CONFIG_ATM_DRIVERS=y # CONFIG_ATM_DUMMY is not set # CONFIG_ATM_TCP is not set # CONFIG_ATM_LANAI is not set # CONFIG_ATM_ENI is not set # CONFIG_ATM_FIRESTREAM is not set # CONFIG_ATM_ZATM is not set # CONFIG_ATM_NICSTAR is not set # CONFIG_ATM_IDT77252 is not set # CONFIG_ATM_AMBASSADOR is not set # CONFIG_ATM_HORIZON is not set # CONFIG_ATM_IA is not set # CONFIG_ATM_FORE200E is not set # CONFIG_ATM_HE is not set # CONFIG_ATM_SOLOS is not set # # Distributed Switch Architecture drivers # # CONFIG_NET_DSA_MV88E6XXX_PTP is not set # end of Distributed Switch Architecture drivers CONFIG_ETHERNET=y CONFIG_MDIO=y CONFIG_NET_VENDOR_3COM=y # CONFIG_VORTEX is not set # CONFIG_TYPHOON is not set CONFIG_NET_VENDOR_ADAPTEC=y # CONFIG_ADAPTEC_STARFIRE is not set CONFIG_NET_VENDOR_AGERE=y # CONFIG_ET131X is not set CONFIG_NET_VENDOR_ALACRITECH=y # CONFIG_SLICOSS is not set CONFIG_NET_VENDOR_ALTEON=y # CONFIG_ACENIC is not set # CONFIG_ALTERA_TSE is not set CONFIG_NET_VENDOR_AMAZON=y # CONFIG_ENA_ETHERNET is not set CONFIG_NET_VENDOR_AMD=y # CONFIG_AMD8111_ETH is not set # CONFIG_PCNET32 is not set # CONFIG_AMD_XGBE is not set CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_AQTION is not set CONFIG_NET_VENDOR_ARC=y CONFIG_NET_VENDOR_ATHEROS=y # CONFIG_ATL2 is not set # CONFIG_ATL1 is not set # CONFIG_ATL1E is not set # CONFIG_ATL1C is not set # CONFIG_ALX is not set CONFIG_NET_VENDOR_BROADCOM=y # CONFIG_B44 is not set # CONFIG_BCMGENET is not set # CONFIG_BNX2 is not set # CONFIG_CNIC is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2X is not set # CONFIG_SYSTEMPORT is not set # CONFIG_BNXT is not set CONFIG_NET_VENDOR_BROCADE=y # CONFIG_BNA is not set CONFIG_NET_VENDOR_CADENCE=y # CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set # CONFIG_THUNDER_NIC_BGX is not set # CONFIG_THUNDER_NIC_RGX is not set CONFIG_CAVIUM_PTP=y # CONFIG_LIQUIDIO is not set # CONFIG_LIQUIDIO_VF is not set CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_CHELSIO_T1 is not set # CONFIG_CHELSIO_T3 is not set # CONFIG_CHELSIO_T4 is not set # CONFIG_CHELSIO_T4VF is not set CONFIG_NET_VENDOR_CISCO=y # CONFIG_ENIC is not set CONFIG_NET_VENDOR_CORTINA=y # CONFIG_CX_ECAT is not set # CONFIG_DNET is not set CONFIG_NET_VENDOR_DEC=y # CONFIG_NET_TULIP is not set CONFIG_NET_VENDOR_DLINK=y # CONFIG_DL2K is not set # CONFIG_SUNDANCE is not set CONFIG_NET_VENDOR_EMULEX=y # CONFIG_BE2NET is not set CONFIG_NET_VENDOR_EZCHIP=y CONFIG_NET_VENDOR_GOOGLE=y # CONFIG_GVE is not set CONFIG_NET_VENDOR_HUAWEI=y # CONFIG_HINIC is not set CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y # CONFIG_E100 is not set CONFIG_E1000=y CONFIG_E1000E=y CONFIG_E1000E_HWTS=y CONFIG_IGB=y CONFIG_IGB_HWMON=y # CONFIG_IGBVF is not set # CONFIG_IXGB is not set CONFIG_IXGBE=y CONFIG_IXGBE_HWMON=y # CONFIG_IXGBE_DCB is not set CONFIG_IXGBE_IPSEC=y # CONFIG_IXGBEVF is not set CONFIG_I40E=y # CONFIG_I40E_DCB is not set # CONFIG_I40EVF is not set # CONFIG_ICE is not set # CONFIG_FM10K is not set # CONFIG_IGC is not set # CONFIG_JME is not set CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set # CONFIG_PRESTERA is not set CONFIG_NET_VENDOR_MELLANOX=y # CONFIG_MLX4_EN is not set # CONFIG_MLX5_CORE is not set # CONFIG_MLXSW_CORE is not set # CONFIG_MLXFW is not set CONFIG_NET_VENDOR_MICREL=y # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set # CONFIG_KS8851_MLL is not set # CONFIG_KSZ884X_PCI is not set CONFIG_NET_VENDOR_MICROCHIP=y # CONFIG_ENC28J60 is not set # CONFIG_ENCX24J600 is not set # CONFIG_LAN743X is not set CONFIG_NET_VENDOR_MICROSEMI=y CONFIG_NET_VENDOR_MYRI=y # CONFIG_MYRI10GE is not set # CONFIG_FEALNX is not set CONFIG_NET_VENDOR_NATSEMI=y # CONFIG_NATSEMI is not set # CONFIG_NS83820 is not set CONFIG_NET_VENDOR_NETERION=y # CONFIG_S2IO is not set # CONFIG_VXGE is not set CONFIG_NET_VENDOR_NETRONOME=y # CONFIG_NFP is not set CONFIG_NET_VENDOR_NI=y # CONFIG_NI_XGE_MANAGEMENT_ENET is not set CONFIG_NET_VENDOR_8390=y # CONFIG_NE2K_PCI is not set CONFIG_NET_VENDOR_NVIDIA=y # CONFIG_FORCEDETH is not set CONFIG_NET_VENDOR_OKI=y # CONFIG_ETHOC is not set CONFIG_NET_VENDOR_PACKET_ENGINES=y # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set CONFIG_NET_VENDOR_PENSANDO=y # CONFIG_IONIC is not set CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_QLA3XXX is not set # CONFIG_QLCNIC is not set # CONFIG_NETXEN_NIC is not set # CONFIG_QED is not set CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set CONFIG_NET_VENDOR_RDC=y # CONFIG_R6040 is not set CONFIG_NET_VENDOR_REALTEK=y # CONFIG_ATP is not set # CONFIG_8139CP is not set # CONFIG_8139TOO is not set CONFIG_R8169=y CONFIG_NET_VENDOR_RENESAS=y CONFIG_NET_VENDOR_ROCKER=y # CONFIG_ROCKER is not set CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y CONFIG_NET_VENDOR_SOLARFLARE=y # CONFIG_SFC is not set # CONFIG_SFC_FALCON is not set CONFIG_NET_VENDOR_SILAN=y # CONFIG_SC92031 is not set CONFIG_NET_VENDOR_SIS=y # CONFIG_SIS900 is not set # CONFIG_SIS190 is not set CONFIG_NET_VENDOR_SMSC=y # CONFIG_EPIC100 is not set # CONFIG_SMSC911X is not set # CONFIG_SMSC9420 is not set CONFIG_NET_VENDOR_SOCIONEXT=y CONFIG_NET_VENDOR_STMICRO=y # CONFIG_STMMAC_ETH is not set CONFIG_NET_VENDOR_SUN=y # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set # CONFIG_NIU is not set CONFIG_NET_VENDOR_SYNOPSYS=y # CONFIG_DWC_XLGMAC is not set CONFIG_NET_VENDOR_TEHUTI=y # CONFIG_TEHUTI is not set CONFIG_NET_VENDOR_TI=y # CONFIG_TI_CPSW_PHY_SEL is not set # CONFIG_TLAN is not set CONFIG_NET_VENDOR_VIA=y # CONFIG_VIA_RHINE is not set # CONFIG_VIA_VELOCITY is not set CONFIG_NET_VENDOR_WIZNET=y # CONFIG_WIZNET_W5100 is not set # CONFIG_WIZNET_W5300 is not set CONFIG_NET_VENDOR_XILINX=y # CONFIG_XILINX_EMACLITE is not set # CONFIG_XILINX_AXI_EMAC is not set # CONFIG_XILINX_LL_TEMAC is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_NET_SB1000 is not set CONFIG_PHYLIB=y # CONFIG_LED_TRIGGER_PHY is not set # CONFIG_FIXED_PHY is not set # # MII PHY device drivers # # CONFIG_AMD_PHY is not set # CONFIG_ADIN_PHY is not set # CONFIG_AQUANTIA_PHY is not set # CONFIG_AX88796B_PHY is not set # CONFIG_BROADCOM_PHY is not set # CONFIG_BCM54140_PHY is not set # CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM84881_PHY is not set # CONFIG_BCM87XX_PHY is not set # CONFIG_CICADA_PHY is not set # CONFIG_CORTINA_PHY is not set # CONFIG_DAVICOM_PHY is not set # CONFIG_ICPLUS_PHY is not set # CONFIG_LXT_PHY is not set # CONFIG_INTEL_XWAY_PHY is not set # CONFIG_LSI_ET1011C_PHY is not set # CONFIG_MARVELL_PHY is not set # CONFIG_MARVELL_10G_PHY is not set # CONFIG_MICREL_PHY is not set # CONFIG_MICROCHIP_PHY is not set # CONFIG_MICROCHIP_T1_PHY is not set # CONFIG_MICROSEMI_PHY is not set # CONFIG_NATIONAL_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_QSEMI_PHY is not set CONFIG_REALTEK_PHY=y # CONFIG_RENESAS_PHY is not set # CONFIG_ROCKCHIP_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_STE10XP is not set # CONFIG_TERANETICS_PHY is not set # CONFIG_DP83822_PHY is not set # CONFIG_DP83TC811_PHY is not set # CONFIG_DP83848_PHY is not set # CONFIG_DP83867_PHY is not set # CONFIG_DP83869_PHY is not set # CONFIG_VITESSE_PHY is not set # CONFIG_XILINX_GMII2RGMII is not set # CONFIG_MICREL_KS8995MA is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVRES=y # CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BCM_UNIMAC is not set # CONFIG_MDIO_MVUSB is not set # CONFIG_MDIO_MSCC_MIIM is not set # CONFIG_MDIO_THUNDER is not set # # MDIO Multiplexers # # # PCS device drivers # # CONFIG_PCS_XPCS is not set # end of PCS device drivers # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set CONFIG_USB_NET_DRIVERS=y # CONFIG_USB_CATC is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_PEGASUS is not set # CONFIG_USB_RTL8150 is not set CONFIG_USB_RTL8152=y # CONFIG_USB_LAN78XX is not set CONFIG_USB_USBNET=y CONFIG_USB_NET_AX8817X=y CONFIG_USB_NET_AX88179_178A=y # CONFIG_USB_NET_CDCETHER is not set # CONFIG_USB_NET_CDC_EEM is not set # CONFIG_USB_NET_CDC_NCM is not set # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set # CONFIG_USB_NET_CDC_MBIM is not set # CONFIG_USB_NET_DM9601 is not set # CONFIG_USB_NET_SR9700 is not set # CONFIG_USB_NET_SR9800 is not set # CONFIG_USB_NET_SMSC75XX is not set # CONFIG_USB_NET_SMSC95XX is not set # CONFIG_USB_NET_GL620A is not set # CONFIG_USB_NET_NET1080 is not set # CONFIG_USB_NET_PLUSB is not set # CONFIG_USB_NET_MCS7830 is not set # CONFIG_USB_NET_RNDIS_HOST is not set # CONFIG_USB_NET_CDC_SUBSET is not set # CONFIG_USB_NET_ZAURUS is not set # CONFIG_USB_NET_CX82310_ETH is not set # CONFIG_USB_NET_KALMIA is not set # CONFIG_USB_NET_QMI_WWAN is not set # CONFIG_USB_HSO is not set # CONFIG_USB_NET_INT51X1 is not set # CONFIG_USB_IPHETH is not set # CONFIG_USB_SIERRA_NET is not set # CONFIG_USB_NET_CH9200 is not set # CONFIG_USB_NET_AQC111 is not set CONFIG_WLAN=y CONFIG_WLAN_VENDOR_ADMTEK=y # CONFIG_ADM8211 is not set CONFIG_WLAN_VENDOR_ATH=y # CONFIG_ATH_DEBUG is not set # CONFIG_ATH5K is not set # CONFIG_ATH5K_PCI is not set # CONFIG_ATH9K is not set # CONFIG_ATH9K_HTC is not set # CONFIG_CARL9170 is not set # CONFIG_ATH6KL is not set # CONFIG_AR5523 is not set # CONFIG_WIL6210 is not set # CONFIG_ATH10K is not set # CONFIG_WCN36XX is not set # CONFIG_ATH11K is not set CONFIG_WLAN_VENDOR_ATMEL=y # CONFIG_ATMEL is not set # CONFIG_AT76C50X_USB is not set CONFIG_WLAN_VENDOR_BROADCOM=y # CONFIG_B43 is not set # CONFIG_B43LEGACY is not set # CONFIG_BRCMSMAC is not set # CONFIG_BRCMFMAC is not set CONFIG_WLAN_VENDOR_CISCO=y # CONFIG_AIRO is not set CONFIG_WLAN_VENDOR_INTEL=y # CONFIG_IPW2100 is not set # CONFIG_IPW2200 is not set # CONFIG_IWL4965 is not set # CONFIG_IWL3945 is not set # CONFIG_IWLWIFI is not set CONFIG_WLAN_VENDOR_INTERSIL=y # CONFIG_HOSTAP is not set # CONFIG_HERMES is not set # CONFIG_P54_COMMON is not set # CONFIG_PRISM54 is not set CONFIG_WLAN_VENDOR_MARVELL=y # CONFIG_LIBERTAS is not set # CONFIG_LIBERTAS_THINFIRM is not set # CONFIG_MWIFIEX is not set # CONFIG_MWL8K is not set CONFIG_WLAN_VENDOR_MEDIATEK=y # CONFIG_MT7601U is not set # CONFIG_MT76x0U is not set # CONFIG_MT76x0E is not set # CONFIG_MT76x2E is not set # CONFIG_MT76x2U is not set # CONFIG_MT7603E is not set # CONFIG_MT7615E is not set # CONFIG_MT7663U is not set # CONFIG_MT7663S is not set # CONFIG_MT7915E is not set # CONFIG_MT7921E is not set CONFIG_WLAN_VENDOR_MICROCHIP=y # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set CONFIG_WLAN_VENDOR_RALINK=y # CONFIG_RT2X00 is not set CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_RTL8180 is not set # CONFIG_RTL8187 is not set CONFIG_RTL_CARDS=m # CONFIG_RTL8192CE is not set # CONFIG_RTL8192SE is not set # CONFIG_RTL8192DE is not set # CONFIG_RTL8723AE is not set # CONFIG_RTL8723BE is not set # CONFIG_RTL8188EE is not set # CONFIG_RTL8192EE is not set # CONFIG_RTL8821AE is not set # CONFIG_RTL8192CU is not set # CONFIG_RTL8XXXU is not set # CONFIG_RTW88 is not set CONFIG_WLAN_VENDOR_RSI=y # CONFIG_RSI_91X is not set CONFIG_WLAN_VENDOR_ST=y # CONFIG_CW1200 is not set CONFIG_WLAN_VENDOR_TI=y # CONFIG_WL1251 is not set # CONFIG_WL12XX is not set # CONFIG_WL18XX is not set # CONFIG_WLCORE is not set CONFIG_WLAN_VENDOR_ZYDAS=y # CONFIG_USB_ZD1201 is not set # CONFIG_ZD1211RW is not set CONFIG_WLAN_VENDOR_QUANTENNA=y # CONFIG_QTNFMAC_PCIE is not set # CONFIG_MAC80211_HWSIM is not set # CONFIG_USB_NET_RNDIS_WLAN is not set # CONFIG_VIRT_WIFI is not set # CONFIG_WAN is not set CONFIG_IEEE802154_DRIVERS=m # CONFIG_IEEE802154_FAKELB is not set # CONFIG_IEEE802154_AT86RF230 is not set # CONFIG_IEEE802154_MRF24J40 is not set # CONFIG_IEEE802154_CC2520 is not set # CONFIG_IEEE802154_ATUSB is not set # CONFIG_IEEE802154_ADF7242 is not set # CONFIG_IEEE802154_CA8210 is not set # CONFIG_IEEE802154_MCR20A is not set # CONFIG_IEEE802154_HWSIM is not set CONFIG_XEN_NETDEV_FRONTEND=y # CONFIG_VMXNET3 is not set # CONFIG_FUJITSU_ES is not set # CONFIG_HYPERV_NET is not set CONFIG_NETDEVSIM=m CONFIG_NET_FAILOVER=m # CONFIG_ISDN is not set # CONFIG_NVM is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_LEDS=y CONFIG_INPUT_FF_MEMLESS=m CONFIG_INPUT_SPARSEKMAP=m # CONFIG_INPUT_MATRIXKMAP is not set # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set # CONFIG_KEYBOARD_APPLESPI is not set CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_QT1050 is not set # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_DLINK_DIR685 is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_GPIO is not set # CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_TCA8418 is not set # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set # CONFIG_KEYBOARD_LM8333 is not set # CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_MCS is not set # CONFIG_KEYBOARD_MPR121 is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_TM2_TOUCHKEY is not set # CONFIG_KEYBOARD_XTKBD is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y # CONFIG_MOUSE_PS2_TOUCHKIT is not set CONFIG_MOUSE_PS2_FOCALTECH=y CONFIG_MOUSE_PS2_VMMOUSE=y CONFIG_MOUSE_PS2_SMBUS=y CONFIG_MOUSE_SERIAL=m # CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_BCM5974 is not set CONFIG_MOUSE_CYAPA=m CONFIG_MOUSE_ELAN_I2C=m CONFIG_MOUSE_ELAN_I2C_I2C=y CONFIG_MOUSE_ELAN_I2C_SMBUS=y CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOUSE_GPIO is not set CONFIG_MOUSE_SYNAPTICS_I2C=m # CONFIG_MOUSE_SYNAPTICS_USB is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set CONFIG_RMI4_CORE=m CONFIG_RMI4_I2C=m CONFIG_RMI4_SPI=m CONFIG_RMI4_SMB=m CONFIG_RMI4_F03=y CONFIG_RMI4_F03_SERIO=m CONFIG_RMI4_2D_SENSOR=y CONFIG_RMI4_F11=y CONFIG_RMI4_F12=y CONFIG_RMI4_F30=y CONFIG_RMI4_F34=y # CONFIG_RMI4_F3A is not set # CONFIG_RMI4_F54 is not set CONFIG_RMI4_F55=y # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_PS2MULT is not set CONFIG_SERIO_ARC_PS2=m CONFIG_HYPERV_KEYBOARD=m # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set # end of Hardware I/O ports # end of Input device support # # Character devices # CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_LDISC_AUTOLOAD=y # # Serial drivers # CONFIG_SERIAL_EARLYCON=y CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set CONFIG_SERIAL_8250_PNP=y # CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_NR_UARTS=64 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DWLIB=y CONFIG_SERIAL_8250_DW=y # CONFIG_SERIAL_8250_RT288X is not set CONFIG_SERIAL_8250_LPSS=y CONFIG_SERIAL_8250_MID=y # # Non-8250 serial port support # # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX310X is not set # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m # CONFIG_SERIAL_LANTIQ is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_BCM63XX is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_ARC=m CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_RP2 is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_SPRD is not set # end of Serial drivers CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_NONSTANDARD=y # CONFIG_ROCKETPORT is not set CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set CONFIG_SYNCLINK_GT=m # CONFIG_ISI is not set CONFIG_N_HDLC=m CONFIG_N_GSM=m CONFIG_NOZOMI=m # CONFIG_NULL_TTY is not set # CONFIG_TRACE_SINK is not set CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y # CONFIG_SERIAL_DEV_BUS is not set # CONFIG_TTY_PRINTK is not set CONFIG_PRINTER=m # CONFIG_LP_CONSOLE is not set CONFIG_PPDEV=m CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DMI_DECODE=y CONFIG_IPMI_PLAT_DATA=y CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_SSIF=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m # CONFIG_HW_RANDOM_BA431 is not set CONFIG_HW_RANDOM_VIA=m CONFIG_HW_RANDOM_VIRTIO=y # CONFIG_HW_RANDOM_XIPHERA is not set # CONFIG_APPLICOM is not set # CONFIG_MWAVE is not set CONFIG_DEVMEM=y # CONFIG_DEVKMEM is not set CONFIG_NVRAM=y CONFIG_RAW_DRIVER=y CONFIG_MAX_RAW_DEVS=8192 CONFIG_DEVPORT=y CONFIG_HPET=y CONFIG_HPET_MMAP=y # CONFIG_HPET_MMAP_DEFAULT is not set CONFIG_HANGCHECK_TIMER=m CONFIG_UV_MMTIMER=m CONFIG_TCG_TPM=y CONFIG_HW_RANDOM_TPM=y CONFIG_TCG_TIS_CORE=y CONFIG_TCG_TIS=y # CONFIG_TCG_TIS_SPI is not set # CONFIG_TCG_TIS_I2C_CR50 is not set CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m CONFIG_TCG_TIS_I2C_NUVOTON=m CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m # CONFIG_TCG_XEN is not set CONFIG_TCG_CRB=y # CONFIG_TCG_VTPM_PROXY is not set CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m # CONFIG_TCG_TIS_ST33ZP24_SPI is not set CONFIG_TELCLOCK=m # CONFIG_XILLYBUS is not set # end of Character devices # CONFIG_RANDOM_TRUST_CPU is not set # CONFIG_RANDOM_TRUST_BOOTLOADER is not set # # I2C support # CONFIG_I2C=y CONFIG_ACPI_I2C_OPREGION=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m CONFIG_I2C_MUX=m # # Multiplexer I2C Chip support # # CONFIG_I2C_MUX_GPIO is not set # CONFIG_I2C_MUX_LTC4306 is not set # CONFIG_I2C_MUX_PCA9541 is not set # CONFIG_I2C_MUX_PCA954x is not set # CONFIG_I2C_MUX_REG is not set CONFIG_I2C_MUX_MLXCPLD=m # end of Multiplexer I2C Chip support CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_SMBUS=m CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # # # PC SMBus host controller drivers # # CONFIG_I2C_ALI1535 is not set # CONFIG_I2C_ALI1563 is not set # CONFIG_I2C_ALI15X3 is not set CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m # CONFIG_I2C_AMD_MP2 is not set CONFIG_I2C_I801=m CONFIG_I2C_ISCH=m CONFIG_I2C_ISMT=m CONFIG_I2C_PIIX4=m CONFIG_I2C_NFORCE2=m CONFIG_I2C_NFORCE2_S4985=m # CONFIG_I2C_NVIDIA_GPU is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m # # ACPI drivers # CONFIG_I2C_SCMI=m # # I2C system bus drivers (mostly embedded / system-on-chip) # # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_DESIGNWARE_CORE=m # CONFIG_I2C_DESIGNWARE_SLAVE is not set CONFIG_I2C_DESIGNWARE_PLATFORM=m CONFIG_I2C_DESIGNWARE_BAYTRAIL=y # CONFIG_I2C_DESIGNWARE_PCI is not set # CONFIG_I2C_EMEV2 is not set # CONFIG_I2C_GPIO is not set # CONFIG_I2C_OCORES is not set CONFIG_I2C_PCA_PLATFORM=m CONFIG_I2C_SIMTEC=m # CONFIG_I2C_XILINX is not set # # External I2C/SMBus adapter drivers # # CONFIG_I2C_DIOLAN_U2C is not set CONFIG_I2C_PARPORT=m # CONFIG_I2C_ROBOTFUZZ_OSIF is not set # CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_TINY_USB is not set # # Other I2C/SMBus bus drivers # CONFIG_I2C_MLXCPLD=m # end of I2C Hardware Bus support CONFIG_I2C_STUB=m # CONFIG_I2C_SLAVE is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # end of I2C support # CONFIG_I3C is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y # CONFIG_SPI_MEM is not set # # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_BUTTERFLY is not set # CONFIG_SPI_CADENCE is not set # CONFIG_SPI_DESIGNWARE is not set # CONFIG_SPI_NXP_FLEXSPI is not set # CONFIG_SPI_GPIO is not set # CONFIG_SPI_LM70_LLP is not set # CONFIG_SPI_LANTIQ_SSC is not set # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PXA2XX is not set # CONFIG_SPI_ROCKCHIP is not set # CONFIG_SPI_SC18IS602 is not set # CONFIG_SPI_SIFIVE is not set # CONFIG_SPI_MXIC is not set # CONFIG_SPI_XCOMM is not set # CONFIG_SPI_XILINX is not set # CONFIG_SPI_ZYNQMP_GQSPI is not set # CONFIG_SPI_AMD is not set # # SPI Multiplexer support # # CONFIG_SPI_MUX is not set # # SPI Protocol Masters # # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_LOOPBACK_TEST is not set # CONFIG_SPI_TLE62X0 is not set # CONFIG_SPI_SLAVE is not set CONFIG_SPI_DYNAMIC=y # CONFIG_SPMI is not set # CONFIG_HSI is not set CONFIG_PPS=y # CONFIG_PPS_DEBUG is not set # # PPS clients support # # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=m CONFIG_PPS_CLIENT_PARPORT=m CONFIG_PPS_CLIENT_GPIO=m # # PPS generators support # # # PTP clock support # CONFIG_PTP_1588_CLOCK=y # CONFIG_DP83640_PHY is not set # CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m # CONFIG_PTP_1588_CLOCK_IDT82P33 is not set # CONFIG_PTP_1588_CLOCK_IDTCM is not set # CONFIG_PTP_1588_CLOCK_VMW is not set # CONFIG_PTP_1588_CLOCK_OCP is not set # end of PTP clock support CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_AMD=m # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_BAYTRAIL=y # CONFIG_PINCTRL_CHERRYVIEW is not set # CONFIG_PINCTRL_LYNXPOINT is not set CONFIG_PINCTRL_INTEL=y # CONFIG_PINCTRL_ALDERLAKE is not set CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_DENVERTON=m # CONFIG_PINCTRL_ELKHARTLAKE is not set # CONFIG_PINCTRL_EMMITSBURG is not set CONFIG_PINCTRL_GEMINILAKE=m # CONFIG_PINCTRL_ICELAKE is not set # CONFIG_PINCTRL_JASPERLAKE is not set # CONFIG_PINCTRL_LAKEFIELD is not set CONFIG_PINCTRL_LEWISBURG=m CONFIG_PINCTRL_SUNRISEPOINT=m # CONFIG_PINCTRL_TIGERLAKE is not set # # Renesas pinctrl drivers # # end of Renesas pinctrl drivers CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=m # # Memory mapped GPIO drivers # CONFIG_GPIO_AMDPT=m # CONFIG_GPIO_DWAPB is not set # CONFIG_GPIO_EXAR is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set CONFIG_GPIO_ICH=m # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_VX855 is not set # CONFIG_GPIO_AMD_FCH is not set # end of Memory mapped GPIO drivers # # Port-mapped I/O GPIO drivers # # CONFIG_GPIO_F7188X is not set # CONFIG_GPIO_IT87 is not set # CONFIG_GPIO_SCH is not set # CONFIG_GPIO_SCH311X is not set # CONFIG_GPIO_WINBOND is not set # CONFIG_GPIO_WS16C48 is not set # end of Port-mapped I/O GPIO drivers # # I2C GPIO expanders # # CONFIG_GPIO_ADP5588 is not set # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCA9570 is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set # end of I2C GPIO expanders # # MFD GPIO expanders # # end of MFD GPIO expanders # # PCI GPIO expanders # # CONFIG_GPIO_AMD8111 is not set # CONFIG_GPIO_BT8XX is not set # CONFIG_GPIO_ML_IOH is not set # CONFIG_GPIO_PCI_IDIO_16 is not set # CONFIG_GPIO_PCIE_IDIO_24 is not set # CONFIG_GPIO_RDC321X is not set # end of PCI GPIO expanders # # SPI GPIO expanders # # CONFIG_GPIO_MAX3191X is not set # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_XRA1403 is not set # end of SPI GPIO expanders # # USB GPIO expanders # # end of USB GPIO expanders # # Virtual GPIO drivers # # CONFIG_GPIO_AGGREGATOR is not set CONFIG_GPIO_MOCKUP=m # end of Virtual GPIO drivers # CONFIG_W1 is not set CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_RESTART is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_PDA_POWER is not set # CONFIG_TEST_POWER is not set # CONFIG_CHARGER_ADP5061 is not set # CONFIG_BATTERY_CW2015 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_SBS is not set # CONFIG_CHARGER_SBS is not set # CONFIG_MANAGER_SBS is not set # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_MAX17040 is not set # CONFIG_BATTERY_MAX17042 is not set # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_LTC4162L is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ2515X is not set # CONFIG_CHARGER_BQ25890 is not set # CONFIG_CHARGER_BQ25980 is not set # CONFIG_CHARGER_BQ256XX is not set CONFIG_CHARGER_SMB347=m # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set # CONFIG_CHARGER_BD99954 is not set CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set # # Native drivers # CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ABITUGURU3=m # CONFIG_SENSORS_AD7314 is not set CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m # CONFIG_SENSORS_ADM1177 is not set CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADT7X10=m # CONFIG_SENSORS_ADT7310 is not set CONFIG_SENSORS_ADT7410=m CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m # CONFIG_SENSORS_AHT10 is not set # CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m # CONFIG_SENSORS_AXI_FAN_CONTROL is not set CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m # CONFIG_SENSORS_AMD_ENERGY is not set CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m # CONFIG_SENSORS_ASPEED is not set CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_CORSAIR_CPRO is not set # CONFIG_SENSORS_CORSAIR_PSU is not set # CONFIG_SENSORS_DRIVETEMP is not set CONFIG_SENSORS_DS620=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DELL_SMM=m CONFIG_SENSORS_I5K_AMB=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m # CONFIG_SENSORS_FTSTEUTATES is not set CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_G760A=m # CONFIG_SENSORS_G762 is not set # CONFIG_SENSORS_HIH6130 is not set CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_I5500=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_JC42=m # CONFIG_SENSORS_POWR1220 is not set CONFIG_SENSORS_LINEAGE=m # CONFIG_SENSORS_LTC2945 is not set # CONFIG_SENSORS_LTC2947_I2C is not set # CONFIG_SENSORS_LTC2947_SPI is not set # CONFIG_SENSORS_LTC2990 is not set # CONFIG_SENSORS_LTC2992 is not set CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LTC4215=m # CONFIG_SENSORS_LTC4222 is not set CONFIG_SENSORS_LTC4245=m # CONFIG_SENSORS_LTC4260 is not set CONFIG_SENSORS_LTC4261=m # CONFIG_SENSORS_MAX1111 is not set # CONFIG_SENSORS_MAX127 is not set CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m # CONFIG_SENSORS_MAX31722 is not set # CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX6621 is not set CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m # CONFIG_SENSORS_MAX31790 is not set CONFIG_SENSORS_MCP3021=m # CONFIG_SENSORS_MLXREG_FAN is not set # CONFIG_SENSORS_TC654 is not set # CONFIG_SENSORS_TPS23861 is not set # CONFIG_SENSORS_MR75203 is not set # CONFIG_SENSORS_ADCXX is not set CONFIG_SENSORS_LM63=m # CONFIG_SENSORS_LM70 is not set CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_LM95234=m CONFIG_SENSORS_LM95241=m CONFIG_SENSORS_LM95245=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m # CONFIG_SENSORS_NCT6683 is not set CONFIG_SENSORS_NCT6775=m # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m # CONFIG_SENSORS_ADM1266 is not set CONFIG_SENSORS_ADM1275=m # CONFIG_SENSORS_BEL_PFE is not set # CONFIG_SENSORS_IBM_CFFPS is not set # CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set # CONFIG_SENSORS_ISL68137 is not set CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC3815 is not set CONFIG_SENSORS_MAX16064=m # CONFIG_SENSORS_MAX16601 is not set # CONFIG_SENSORS_MAX20730 is not set # CONFIG_SENSORS_MAX20751 is not set # CONFIG_SENSORS_MAX31785 is not set CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m # CONFIG_SENSORS_MP2975 is not set # CONFIG_SENSORS_PM6764TR is not set # CONFIG_SENSORS_PXE1610 is not set # CONFIG_SENSORS_Q54SJ108A2 is not set # CONFIG_SENSORS_TPS40422 is not set # CONFIG_SENSORS_TPS53679 is not set CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m # CONFIG_SENSORS_XDPE122 is not set CONFIG_SENSORS_ZL6100=m # CONFIG_SENSORS_SBTSI is not set CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m # CONFIG_SENSORS_SHT3x is not set # CONFIG_SENSORS_SHTC1 is not set CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m # CONFIG_SENSORS_EMC2103 is not set CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_SCH56XX_COMMON=m CONFIG_SENSORS_SCH5627=m CONFIG_SENSORS_SCH5636=m # CONFIG_SENSORS_STTS751 is not set # CONFIG_SENSORS_SMM665 is not set # CONFIG_SENSORS_ADC128D818 is not set CONFIG_SENSORS_ADS7828=m # CONFIG_SENSORS_ADS7871 is not set CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m # CONFIG_SENSORS_INA3221 is not set # CONFIG_SENSORS_TC74 is not set CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m # CONFIG_SENSORS_TMP103 is not set # CONFIG_SENSORS_TMP108 is not set CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m # CONFIG_SENSORS_TMP513 is not set CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m # CONFIG_SENSORS_W83773G is not set CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83795=m # CONFIG_SENSORS_W83795_FANCTRL is not set CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m CONFIG_SENSORS_W83627HF=m CONFIG_SENSORS_W83627EHF=m # CONFIG_SENSORS_XGENE is not set # # ACPI drivers # CONFIG_SENSORS_ACPI_POWER=m CONFIG_SENSORS_ATK0110=m CONFIG_THERMAL=y # CONFIG_THERMAL_NETLINK is not set # CONFIG_THERMAL_STATISTICS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y # CONFIG_THERMAL_EMULATION is not set # # Intel thermal drivers # CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_INTEL_SOC_DTS_IOSF_CORE=m # CONFIG_INTEL_SOC_DTS_THERMAL is not set # # ACPI INT340X thermal drivers # CONFIG_INT340X_THERMAL=m CONFIG_ACPI_THERMAL_REL=m # CONFIG_INT3406_THERMAL is not set CONFIG_PROC_THERMAL_MMIO_RAPL=m # end of ACPI INT340X thermal drivers CONFIG_INTEL_PCH_THERMAL=m # end of Intel thermal drivers CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y # # Watchdog Pretimeout Governors # # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m CONFIG_WDAT_WDT=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set # CONFIG_MLX_WDT is not set # CONFIG_CADENCE_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_EBC_C384_WDT is not set CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_SBC_FITPC2_WATCHDOG=m # CONFIG_EUROTECH_WDT is not set CONFIG_IB700_WDT=m CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=y CONFIG_IE6XX_WDT=m CONFIG_ITCO_WDT=y CONFIG_ITCO_VENDOR_SUPPORT=y CONFIG_IT8712F_WDT=m CONFIG_IT87_WDT=m CONFIG_HP_WATCHDOG=m CONFIG_HPWDT_NMI_DECODING=y # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set CONFIG_NV_TCO=m # CONFIG_60XX_WDT is not set # CONFIG_CPU5_WDT is not set CONFIG_SMSC_SCH311X_WDT=m # CONFIG_SMSC37B787_WDT is not set # CONFIG_TQMX86_WDT is not set CONFIG_VIA_WDT=m CONFIG_W83627HF_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m # CONFIG_SBC_EPX_C3_WATCHDOG is not set CONFIG_INTEL_MEI_WDT=m # CONFIG_NI903X_WDT is not set # CONFIG_NIC7018_WDT is not set # CONFIG_MEN_A21_WDT is not set CONFIG_XEN_WDT=m # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m # # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # CONFIG_SSB is not set CONFIG_BCMA_POSSIBLE=y CONFIG_BCMA=m CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y # CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA_DRIVER_PCI=y CONFIG_BCMA_DRIVER_GMAC_CMN=y CONFIG_BCMA_DRIVER_GPIO=y # CONFIG_BCMA_DEBUG is not set # # Multifunction device drivers # CONFIG_MFD_CORE=y # CONFIG_MFD_AS3711 is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_MFD_BCM590XX is not set # CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_MADERA is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9055 is not set # CONFIG_MFD_DA9062 is not set # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_MP2629 is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_I2CPLD is not set # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set CONFIG_LPC_ICH=m CONFIG_LPC_SCH=m # CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set CONFIG_MFD_INTEL_LPSS=y CONFIG_MFD_INTEL_LPSS_ACPI=y CONFIG_MFD_INTEL_LPSS_PCI=y # CONFIG_MFD_INTEL_PMC_BXT is not set # CONFIG_MFD_INTEL_PMT is not set # CONFIG_MFD_IQS62X is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set # CONFIG_MFD_88PM800 is not set # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77843 is not set # CONFIG_MFD_MAX8907 is not set # CONFIG_MFD_MAX8925 is not set # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_MAX8998 is not set # CONFIG_MFD_MT6360 is not set # CONFIG_MFD_MT6397 is not set # CONFIG_MFD_MENF21BMC is not set # CONFIG_EZX_PCAP is not set # CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_SKY81452 is not set # CONFIG_ABX500_CORE is not set # CONFIG_MFD_SYSCON is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP3943 is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912_SPI is not set # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_LM3533 is not set # CONFIG_MFD_TQMX86 is not set CONFIG_MFD_VX855=m # CONFIG_MFD_ARIZONA_I2C is not set # CONFIG_MFD_ARIZONA_SPI is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_INTEL_M10_BMC is not set # end of Multifunction device drivers # CONFIG_REGULATOR is not set CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_LIRC=y CONFIG_RC_DECODERS=y CONFIG_IR_NEC_DECODER=m CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SHARP_DECODER=m CONFIG_IR_MCE_KBD_DECODER=m # CONFIG_IR_XMP_DECODER is not set CONFIG_IR_IMON_DECODER=m # CONFIG_IR_RCMM_DECODER is not set CONFIG_RC_DEVICES=y # CONFIG_RC_ATI_REMOTE is not set CONFIG_IR_ENE=m # CONFIG_IR_IMON is not set # CONFIG_IR_IMON_RAW is not set # CONFIG_IR_MCEUSB is not set CONFIG_IR_ITE_CIR=m CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m # CONFIG_IR_REDRAT3 is not set # CONFIG_IR_STREAMZAP is not set CONFIG_IR_WINBOND_CIR=m # CONFIG_IR_IGORPLUGUSB is not set # CONFIG_IR_IGUANA is not set # CONFIG_IR_TTUSBIR is not set CONFIG_RC_LOOPBACK=m CONFIG_IR_SERIAL=m CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_IR_SIR=m # CONFIG_RC_XBOX_DVD is not set # CONFIG_IR_TOY is not set CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_CEC_CH7322 is not set # CONFIG_CEC_GPIO is not set # CONFIG_CEC_SECO is not set # CONFIG_USB_PULSE8_CEC is not set # CONFIG_USB_RAINSHADOW_CEC is not set CONFIG_MEDIA_SUPPORT=m # CONFIG_MEDIA_SUPPORT_FILTER is not set # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set # # Media device types # CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_MEDIA_TEST_SUPPORT=y # end of Media device types # # Media core support # CONFIG_VIDEO_DEV=m CONFIG_MEDIA_CONTROLLER=y CONFIG_DVB_CORE=m # end of Media core support # # Video4Linux options # CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_V4L2_I2C=y CONFIG_VIDEO_V4L2_SUBDEV_API=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set # end of Video4Linux options # # Media controller options # # CONFIG_MEDIA_CONTROLLER_DVB is not set # end of Media controller options # # Digital TV options # # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y CONFIG_DVB_MAX_ADAPTERS=16 CONFIG_DVB_DYNAMIC_MINORS=y # CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set # CONFIG_DVB_ULE_DEBUG is not set # end of Digital TV options # # Media drivers # # CONFIG_MEDIA_USB_SUPPORT is not set # CONFIG_MEDIA_PCI_SUPPORT is not set CONFIG_RADIO_ADAPTERS=y # CONFIG_RADIO_SI470X is not set # CONFIG_RADIO_SI4713 is not set # CONFIG_USB_MR800 is not set # CONFIG_USB_DSBR is not set # CONFIG_RADIO_MAXIRADIO is not set # CONFIG_RADIO_SHARK is not set # CONFIG_RADIO_SHARK2 is not set # CONFIG_USB_KEENE is not set # CONFIG_USB_RAREMONO is not set # CONFIG_USB_MA901 is not set # CONFIG_RADIO_TEA5764 is not set # CONFIG_RADIO_SAA7706H is not set # CONFIG_RADIO_TEF6862 is not set # CONFIG_RADIO_WL1273 is not set CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m CONFIG_VIDEOBUF2_MEMOPS=m CONFIG_VIDEOBUF2_VMALLOC=m # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_DVB_PLATFORM_DRIVERS is not set # CONFIG_SDR_PLATFORM_DRIVERS is not set # # MMC/SDIO DVB adapters # # CONFIG_SMS_SDIO_DRV is not set # CONFIG_V4L_TEST_DRIVERS is not set # CONFIG_DVB_TEST_DRIVERS is not set # # FireWire (IEEE 1394) Adapters # # CONFIG_DVB_FIREDTV is not set # end of Media drivers # # Media ancillary drivers # CONFIG_MEDIA_ATTACH=y CONFIG_VIDEO_IR_I2C=m # # Audio decoders, processors and mixers # # CONFIG_VIDEO_TVAUDIO is not set # CONFIG_VIDEO_TDA7432 is not set # CONFIG_VIDEO_TDA9840 is not set # CONFIG_VIDEO_TEA6415C is not set # CONFIG_VIDEO_TEA6420 is not set # CONFIG_VIDEO_MSP3400 is not set # CONFIG_VIDEO_CS3308 is not set # CONFIG_VIDEO_CS5345 is not set # CONFIG_VIDEO_CS53L32A is not set # CONFIG_VIDEO_TLV320AIC23B is not set # CONFIG_VIDEO_UDA1342 is not set # CONFIG_VIDEO_WM8775 is not set # CONFIG_VIDEO_WM8739 is not set # CONFIG_VIDEO_VP27SMPX is not set # CONFIG_VIDEO_SONY_BTF_MPX is not set # end of Audio decoders, processors and mixers # # RDS decoders # # CONFIG_VIDEO_SAA6588 is not set # end of RDS decoders # # Video decoders # # CONFIG_VIDEO_ADV7180 is not set # CONFIG_VIDEO_ADV7183 is not set # CONFIG_VIDEO_ADV7604 is not set # CONFIG_VIDEO_ADV7842 is not set # CONFIG_VIDEO_BT819 is not set # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set # CONFIG_VIDEO_KS0127 is not set # CONFIG_VIDEO_ML86V7667 is not set # CONFIG_VIDEO_SAA7110 is not set # CONFIG_VIDEO_SAA711X is not set # CONFIG_VIDEO_TC358743 is not set # CONFIG_VIDEO_TVP514X is not set # CONFIG_VIDEO_TVP5150 is not set # CONFIG_VIDEO_TVP7002 is not set # CONFIG_VIDEO_TW2804 is not set # CONFIG_VIDEO_TW9903 is not set # CONFIG_VIDEO_TW9906 is not set # CONFIG_VIDEO_TW9910 is not set # CONFIG_VIDEO_VPX3220 is not set # # Video and audio decoders # # CONFIG_VIDEO_SAA717X is not set # CONFIG_VIDEO_CX25840 is not set # end of Video decoders # # Video encoders # # CONFIG_VIDEO_SAA7127 is not set # CONFIG_VIDEO_SAA7185 is not set # CONFIG_VIDEO_ADV7170 is not set # CONFIG_VIDEO_ADV7175 is not set # CONFIG_VIDEO_ADV7343 is not set # CONFIG_VIDEO_ADV7393 is not set # CONFIG_VIDEO_ADV7511 is not set # CONFIG_VIDEO_AD9389B is not set # CONFIG_VIDEO_AK881X is not set # CONFIG_VIDEO_THS8200 is not set # end of Video encoders # # Video improvement chips # # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set # end of Video improvement chips # # Audio/Video compression chips # # CONFIG_VIDEO_SAA6752HS is not set # end of Audio/Video compression chips # # SDR tuner chips # # CONFIG_SDR_MAX2175 is not set # end of SDR tuner chips # # Miscellaneous helper chips # # CONFIG_VIDEO_THS7303 is not set # CONFIG_VIDEO_M52790 is not set # CONFIG_VIDEO_I2C is not set # CONFIG_VIDEO_ST_MIPID02 is not set # end of Miscellaneous helper chips # # Camera sensor devices # # CONFIG_VIDEO_HI556 is not set # CONFIG_VIDEO_IMX214 is not set # CONFIG_VIDEO_IMX219 is not set # CONFIG_VIDEO_IMX258 is not set # CONFIG_VIDEO_IMX274 is not set # CONFIG_VIDEO_IMX290 is not set # CONFIG_VIDEO_IMX319 is not set # CONFIG_VIDEO_IMX355 is not set # CONFIG_VIDEO_OV02A10 is not set # CONFIG_VIDEO_OV2640 is not set # CONFIG_VIDEO_OV2659 is not set # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set # CONFIG_VIDEO_OV2740 is not set # CONFIG_VIDEO_OV5647 is not set # CONFIG_VIDEO_OV5648 is not set # CONFIG_VIDEO_OV6650 is not set # CONFIG_VIDEO_OV5670 is not set # CONFIG_VIDEO_OV5675 is not set # CONFIG_VIDEO_OV5695 is not set # CONFIG_VIDEO_OV7251 is not set # CONFIG_VIDEO_OV772X is not set # CONFIG_VIDEO_OV7640 is not set # CONFIG_VIDEO_OV7670 is not set # CONFIG_VIDEO_OV7740 is not set # CONFIG_VIDEO_OV8856 is not set # CONFIG_VIDEO_OV8865 is not set # CONFIG_VIDEO_OV9640 is not set # CONFIG_VIDEO_OV9650 is not set # CONFIG_VIDEO_OV9734 is not set # CONFIG_VIDEO_OV13858 is not set # CONFIG_VIDEO_VS6624 is not set # CONFIG_VIDEO_MT9M001 is not set # CONFIG_VIDEO_MT9M032 is not set # CONFIG_VIDEO_MT9M111 is not set # CONFIG_VIDEO_MT9P031 is not set # CONFIG_VIDEO_MT9T001 is not set # CONFIG_VIDEO_MT9T112 is not set # CONFIG_VIDEO_MT9V011 is not set # CONFIG_VIDEO_MT9V032 is not set # CONFIG_VIDEO_MT9V111 is not set # CONFIG_VIDEO_SR030PC30 is not set # CONFIG_VIDEO_NOON010PC30 is not set # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_RDACM20 is not set # CONFIG_VIDEO_RDACM21 is not set # CONFIG_VIDEO_RJ54N1 is not set # CONFIG_VIDEO_S5K6AA is not set # CONFIG_VIDEO_S5K6A3 is not set # CONFIG_VIDEO_S5K4ECGX is not set # CONFIG_VIDEO_S5K5BAF is not set # CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_ET8EK8 is not set # CONFIG_VIDEO_S5C73M3 is not set # end of Camera sensor devices # # Lens drivers # # CONFIG_VIDEO_AD5820 is not set # CONFIG_VIDEO_AK7375 is not set # CONFIG_VIDEO_DW9714 is not set # CONFIG_VIDEO_DW9768 is not set # CONFIG_VIDEO_DW9807_VCM is not set # end of Lens drivers # # Flash devices # # CONFIG_VIDEO_ADP1653 is not set # CONFIG_VIDEO_LM3560 is not set # CONFIG_VIDEO_LM3646 is not set # end of Flash devices # # SPI helper chips # # CONFIG_VIDEO_GS1662 is not set # end of SPI helper chips # # Media SPI Adapters # CONFIG_CXD2880_SPI_DRV=m # end of Media SPI Adapters CONFIG_MEDIA_TUNER=m # # Customize TV tuners # CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA18250=m CONFIG_MEDIA_TUNER_TDA8290=m CONFIG_MEDIA_TUNER_TDA827X=m CONFIG_MEDIA_TUNER_TDA18271=m CONFIG_MEDIA_TUNER_TDA9887=m CONFIG_MEDIA_TUNER_TEA5761=m CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_MSI001=m CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=m CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_MT2131=m CONFIG_MEDIA_TUNER_QT1010=m CONFIG_MEDIA_TUNER_XC2028=m CONFIG_MEDIA_TUNER_XC5000=m CONFIG_MEDIA_TUNER_XC4000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m CONFIG_MEDIA_TUNER_MC44S803=m CONFIG_MEDIA_TUNER_MAX2165=m CONFIG_MEDIA_TUNER_TDA18218=m CONFIG_MEDIA_TUNER_FC0011=m CONFIG_MEDIA_TUNER_FC0012=m CONFIG_MEDIA_TUNER_FC0013=m CONFIG_MEDIA_TUNER_TDA18212=m CONFIG_MEDIA_TUNER_E4000=m CONFIG_MEDIA_TUNER_FC2580=m CONFIG_MEDIA_TUNER_M88RS6000T=m CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=m CONFIG_MEDIA_TUNER_QM1D1B0004=m # end of Customize TV tuners # # Customise DVB Frontends # # # Multistandard (satellite) frontends # CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV0910=m CONFIG_DVB_STV6110x=m CONFIG_DVB_STV6111=m CONFIG_DVB_MXL5XX=m CONFIG_DVB_M88DS3103=m # # Multistandard (cable + terrestrial) frontends # CONFIG_DVB_DRXK=m CONFIG_DVB_TDA18271C2DD=m CONFIG_DVB_SI2165=m CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=m CONFIG_DVB_MT312=m CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m CONFIG_DVB_S5H1420=m CONFIG_DVB_STV0288=m CONFIG_DVB_STB6000=m CONFIG_DVB_STV0299=m CONFIG_DVB_STV6110=m CONFIG_DVB_STV0900=m CONFIG_DVB_TDA8083=m CONFIG_DVB_TDA10086=m CONFIG_DVB_TDA8261=m CONFIG_DVB_VES1X93=m CONFIG_DVB_TUNER_ITD1000=m CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TDA826X=m CONFIG_DVB_TUA6100=m CONFIG_DVB_CX24116=m CONFIG_DVB_CX24117=m CONFIG_DVB_CX24120=m CONFIG_DVB_SI21XX=m CONFIG_DVB_TS2020=m CONFIG_DVB_DS3000=m CONFIG_DVB_MB86A16=m CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m CONFIG_DVB_S5H1432=m CONFIG_DVB_DRXD=m CONFIG_DVB_L64781=m CONFIG_DVB_TDA1004X=m CONFIG_DVB_NXT6000=m CONFIG_DVB_MT352=m CONFIG_DVB_ZL10353=m CONFIG_DVB_DIB3000MB=m CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m CONFIG_DVB_DIB9000=m CONFIG_DVB_TDA10048=m CONFIG_DVB_AF9013=m CONFIG_DVB_EC100=m CONFIG_DVB_STV0367=m CONFIG_DVB_CXD2820R=m CONFIG_DVB_CXD2841ER=m CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m CONFIG_DVB_SI2168=m CONFIG_DVB_ZD1301_DEMOD=m CONFIG_DVB_CXD2880=m # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=m CONFIG_DVB_TDA10021=m CONFIG_DVB_TDA10023=m CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=m CONFIG_DVB_OR51211=m CONFIG_DVB_OR51132=m CONFIG_DVB_BCM3510=m CONFIG_DVB_LGDT330X=m CONFIG_DVB_LGDT3305=m CONFIG_DVB_LGDT3306A=m CONFIG_DVB_LG2160=m CONFIG_DVB_S5H1409=m CONFIG_DVB_AU8522=m CONFIG_DVB_AU8522_DTV=m CONFIG_DVB_AU8522_V4L=m CONFIG_DVB_S5H1411=m CONFIG_DVB_MXL692=m # # ISDB-T (terrestrial) frontends # CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # CONFIG_DVB_TC90522=m CONFIG_DVB_MN88443X=m # # Digital terrestrial only tuners/PLL # CONFIG_DVB_PLL=m CONFIG_DVB_TUNER_DIB0070=m CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # CONFIG_DVB_DRX39XYJ=m CONFIG_DVB_LNBH25=m CONFIG_DVB_LNBH29=m CONFIG_DVB_LNBP21=m CONFIG_DVB_LNBP22=m CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m CONFIG_DVB_A8293=m CONFIG_DVB_LGS8GL5=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m CONFIG_DVB_IX2505V=m CONFIG_DVB_M88RS2000=m CONFIG_DVB_AF9033=m CONFIG_DVB_HORUS3A=m CONFIG_DVB_ASCOT2E=m CONFIG_DVB_HELENE=m # # Common Interface (EN50221) controller drivers # CONFIG_DVB_CXD2099=m CONFIG_DVB_SP2=m # end of Customise DVB Frontends # # Tools to develop new frontends # # CONFIG_DVB_DUMMY_FE is not set # end of Media ancillary drivers # # Graphics support # # CONFIG_AGP is not set CONFIG_INTEL_GTT=m CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=y CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DEBUG_MM is not set CONFIG_DRM_DEBUG_SELFTEST=m CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_TTM=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_GEM_SHMEM_HELPER=y # # I2C encoder or helper chips # CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set # CONFIG_DRM_I2C_NXP_TDA9950 is not set # end of I2C encoder or helper chips # # ARM devices # # end of ARM devices # CONFIG_DRM_RADEON is not set # CONFIG_DRM_AMDGPU is not set # CONFIG_DRM_NOUVEAU is not set CONFIG_DRM_I915=m CONFIG_DRM_I915_FORCE_PROBE="" CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y CONFIG_DRM_I915_USERPTR=y CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915_GVT_KVMGT=m # # drm/i915 Debugging # # CONFIG_DRM_I915_WERROR is not set # CONFIG_DRM_I915_DEBUG is not set # CONFIG_DRM_I915_DEBUG_MMIO is not set # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set # CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set # CONFIG_DRM_I915_DEBUG_GUC is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set # CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set # end of drm/i915 Debugging # # drm/i915 Profile Guided Optimisation # CONFIG_DRM_I915_FENCE_TIMEOUT=10000 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 CONFIG_DRM_I915_STOP_TIMEOUT=100 CONFIG_DRM_I915_TIMESLICE_DURATION=1 # end of drm/i915 Profile Guided Optimisation CONFIG_DRM_VGEM=y # CONFIG_DRM_VKMS is not set # CONFIG_DRM_VMWGFX is not set CONFIG_DRM_GMA500=m CONFIG_DRM_GMA600=y # CONFIG_DRM_UDL is not set CONFIG_DRM_AST=m CONFIG_DRM_MGAG200=m CONFIG_DRM_QXL=m CONFIG_DRM_BOCHS=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y # # Display Panels # # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set # end of Display Panels CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # # CONFIG_DRM_ANALOGIX_ANX78XX is not set # end of Display Interface Bridges # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_CIRRUS_QEMU=m # CONFIG_DRM_GM12U320 is not set # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set # CONFIG_TINYDRM_ILI9486 is not set # CONFIG_TINYDRM_MI0283QT is not set # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set # CONFIG_DRM_XEN is not set # CONFIG_DRM_VBOXVIDEO is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_EXPORT_FOR_TESTS=y CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y CONFIG_DRM_LIB_RANDOM=y # # Frame buffer Devices # CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_MODE_HELPERS is not set CONFIG_FB_TILEBLITTING=y # # Frame buffer hardware drivers # # CONFIG_FB_CIRRUS is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_UVESA is not set CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set # CONFIG_FB_I740 is not set # CONFIG_FB_LE80578 is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set # CONFIG_FB_S3 is not set # CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set # CONFIG_FB_VIA is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_KYRO is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_SM501 is not set # CONFIG_FB_SMSCUFX is not set # CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_XEN_FBDEV_FRONTEND is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set CONFIG_FB_HYPERV=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SM712 is not set # end of Frame buffer Devices # # Backlight & LCD device support # CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_L4F00242T03 is not set # CONFIG_LCD_LMS283GF05 is not set # CONFIG_LCD_LTV350QV is not set # CONFIG_LCD_ILI922X is not set # CONFIG_LCD_ILI9320 is not set # CONFIG_LCD_TDO24M is not set # CONFIG_LCD_VGG2432A4 is not set CONFIG_LCD_PLATFORM=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set # CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y # CONFIG_BACKLIGHT_KTD253 is not set # CONFIG_BACKLIGHT_PWM is not set CONFIG_BACKLIGHT_APPLE=m # CONFIG_BACKLIGHT_QCOM_WLED is not set # CONFIG_BACKLIGHT_SAHARA is not set # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set CONFIG_BACKLIGHT_LP855X=m # CONFIG_BACKLIGHT_GPIO is not set # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_ARCXCNN is not set # end of Backlight & LCD device support CONFIG_HDMI=y # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set # end of Console display driver support CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y # end of Graphics support # CONFIG_SOUND is not set # # HID support # CONFIG_HID=y CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=y # # Special HID drivers # CONFIG_HID_A4TECH=m # CONFIG_HID_ACCUTOUCH is not set CONFIG_HID_ACRUX=m # CONFIG_HID_ACRUX_FF is not set CONFIG_HID_APPLE=m # CONFIG_HID_APPLEIR is not set CONFIG_HID_ASUS=m CONFIG_HID_AUREAL=m CONFIG_HID_BELKIN=m # CONFIG_HID_BETOP_FF is not set # CONFIG_HID_BIGBEN_FF is not set CONFIG_HID_CHERRY=m CONFIG_HID_CHICONY=m # CONFIG_HID_CORSAIR is not set # CONFIG_HID_COUGAR is not set # CONFIG_HID_MACALLY is not set CONFIG_HID_CMEDIA=m # CONFIG_HID_CP2112 is not set # CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m # CONFIG_DRAGONRISE_FF is not set # CONFIG_HID_EMS_FF is not set # CONFIG_HID_ELAN is not set CONFIG_HID_ELECOM=m # CONFIG_HID_ELO is not set CONFIG_HID_EZKEY=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m # CONFIG_HID_GLORIOUS is not set # CONFIG_HID_HOLTEK is not set # CONFIG_HID_VIVALDI is not set # CONFIG_HID_GT683R is not set CONFIG_HID_KEYTOUCH=m CONFIG_HID_KYE=m # CONFIG_HID_UCLOGIC is not set CONFIG_HID_WALTOP=m # CONFIG_HID_VIEWSONIC is not set CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m CONFIG_HID_ITE=m CONFIG_HID_JABRA=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m CONFIG_HID_LED=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_DJ=m CONFIG_HID_LOGITECH_HIDPP=m # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set # CONFIG_LOGIG940_FF is not set # CONFIG_LOGIWHEELS_FF is not set CONFIG_HID_MAGICMOUSE=y # CONFIG_HID_MALTRON is not set # CONFIG_HID_MAYFLASH is not set # CONFIG_HID_REDRAGON is not set CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m CONFIG_HID_NTI=m # CONFIG_HID_NTRIG is not set CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m # CONFIG_PANTHERLORD_FF is not set # CONFIG_HID_PENMOUNT is not set CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m # CONFIG_HID_PLAYSTATION is not set CONFIG_HID_PRIMAX=m # CONFIG_HID_RETRODE is not set # CONFIG_HID_ROCCAT is not set CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m # CONFIG_HID_SONY is not set CONFIG_HID_SPEEDLINK=m # CONFIG_HID_STEAM is not set CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m CONFIG_HID_GREENASIA=m # CONFIG_GREENASIA_FF is not set CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_SMARTJOYPLUS=m # CONFIG_SMARTJOYPLUS_FF is not set CONFIG_HID_TIVO=m CONFIG_HID_TOPSEED=m CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m # CONFIG_THRUSTMASTER_FF is not set # CONFIG_HID_UDRAW_PS3 is not set # CONFIG_HID_U2FZERO is not set # CONFIG_HID_WACOM is not set CONFIG_HID_WIIMOTE=m CONFIG_HID_XINMO=m CONFIG_HID_ZEROPLUS=m # CONFIG_ZEROPLUS_FF is not set CONFIG_HID_ZYDACRON=m CONFIG_HID_SENSOR_HUB=y CONFIG_HID_SENSOR_CUSTOM_SENSOR=m CONFIG_HID_ALPS=m # CONFIG_HID_MCP2221 is not set # end of Special HID drivers # # USB HID support # CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # end of USB HID support # # I2C HID support # # CONFIG_I2C_HID_ACPI is not set # end of I2C HID support # # Intel ISH HID support # CONFIG_INTEL_ISH_HID=m # CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set # end of Intel ISH HID support # # AMD SFH HID Support # # CONFIG_AMD_SFH_HID is not set # end of AMD SFH HID Support # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y # CONFIG_USB_LED_TRIG is not set # CONFIG_USB_ULPI_BUS is not set # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y CONFIG_USB_PCI=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # # Miscellaneous USB options # CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_PRODUCTLIST is not set # CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set CONFIG_USB_LEDS_TRIGGER_USBPORT=y CONFIG_USB_AUTOSUSPEND_DELAY=2 CONFIG_USB_MON=y # # USB Host Controller Drivers # # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_DBGCAP is not set CONFIG_USB_XHCI_PCI=y # CONFIG_USB_XHCI_PCI_RENESAS is not set # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_PCI=y # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_FOTG210_HCD is not set # CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set CONFIG_USB_UHCI_HCD=y # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HCD_BCMA is not set # CONFIG_USB_HCD_TEST_MODE is not set # # USB Device Class drivers # # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may # # # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_REALTEK is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_ALAUDA is not set # CONFIG_USB_STORAGE_ONETOUCH is not set # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set # CONFIG_USB_UAS is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USBIP_CORE is not set # CONFIG_USB_CDNS_SUPPORT is not set # CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_DWC3 is not set # CONFIG_USB_DWC2 is not set # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_ISP1760 is not set # # USB port drivers # # CONFIG_USB_USS720 is not set CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y # CONFIG_USB_SERIAL_SIMPLE is not set # CONFIG_USB_SERIAL_AIRCABLE is not set # CONFIG_USB_SERIAL_ARK3116 is not set # CONFIG_USB_SERIAL_BELKIN is not set # CONFIG_USB_SERIAL_CH341 is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set # CONFIG_USB_SERIAL_CP210X is not set # CONFIG_USB_SERIAL_CYPRESS_M8 is not set # CONFIG_USB_SERIAL_EMPEG is not set # CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_USB_SERIAL_VISOR is not set # CONFIG_USB_SERIAL_IPAQ is not set # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set # CONFIG_USB_SERIAL_EDGEPORT_TI is not set # CONFIG_USB_SERIAL_F81232 is not set # CONFIG_USB_SERIAL_F8153X is not set # CONFIG_USB_SERIAL_GARMIN is not set # CONFIG_USB_SERIAL_IPW is not set # CONFIG_USB_SERIAL_IUU is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set # CONFIG_USB_SERIAL_KEYSPAN is not set # CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_KOBIL_SCT is not set # CONFIG_USB_SERIAL_MCT_U232 is not set # CONFIG_USB_SERIAL_METRO is not set # CONFIG_USB_SERIAL_MOS7720 is not set # CONFIG_USB_SERIAL_MOS7840 is not set # CONFIG_USB_SERIAL_MXUPORT is not set # CONFIG_USB_SERIAL_NAVMAN is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_OTI6858 is not set # CONFIG_USB_SERIAL_QCAUX is not set # CONFIG_USB_SERIAL_QUALCOMM is not set # CONFIG_USB_SERIAL_SPCP8X5 is not set # CONFIG_USB_SERIAL_SAFE is not set # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set # CONFIG_USB_SERIAL_SYMBOL is not set # CONFIG_USB_SERIAL_TI is not set # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_OPTION is not set # CONFIG_USB_SERIAL_OMNINET is not set # CONFIG_USB_SERIAL_OPTICON is not set # CONFIG_USB_SERIAL_XSENS_MT is not set # CONFIG_USB_SERIAL_WISHBONE is not set # CONFIG_USB_SERIAL_SSU100 is not set # CONFIG_USB_SERIAL_QT2 is not set # CONFIG_USB_SERIAL_UPD78F0730 is not set # CONFIG_USB_SERIAL_XR is not set CONFIG_USB_SERIAL_DEBUG=m # # USB Miscellaneous drivers # # CONFIG_USB_EMI62 is not set # CONFIG_USB_EMI26 is not set # CONFIG_USB_ADUTUX is not set # CONFIG_USB_SEVSEG is not set # CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LCD is not set # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set # CONFIG_USB_IDMOUSE is not set # CONFIG_USB_FTDI_ELAN is not set # CONFIG_USB_APPLEDISPLAY is not set # CONFIG_APPLE_MFI_FASTCHARGE is not set # CONFIG_USB_SISUSBVGA is not set # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set # CONFIG_USB_TEST is not set # CONFIG_USB_EHSET_TEST_FIXTURE is not set # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_YUREX is not set # CONFIG_USB_EZUSB_FX2 is not set # CONFIG_USB_HUB_USB251XB is not set # CONFIG_USB_HSIC_USB3503 is not set # CONFIG_USB_HSIC_USB4604 is not set # CONFIG_USB_LINK_LAYER_TEST is not set # CONFIG_USB_CHAOSKEY is not set # CONFIG_USB_ATM is not set # # USB Physical Layer drivers # # CONFIG_NOP_USB_XCEIV is not set # CONFIG_USB_GPIO_VBUS is not set # CONFIG_USB_ISP1301 is not set # end of USB Physical Layer drivers # CONFIG_USB_GADGET is not set CONFIG_TYPEC=y # CONFIG_TYPEC_TCPM is not set CONFIG_TYPEC_UCSI=y # CONFIG_UCSI_CCG is not set CONFIG_UCSI_ACPI=y # CONFIG_TYPEC_TPS6598X is not set # CONFIG_TYPEC_STUSB160X is not set # # USB Type-C Multiplexer/DeMultiplexer Switch support # # CONFIG_TYPEC_MUX_PI3USB30532 is not set # end of USB Type-C Multiplexer/DeMultiplexer Switch support # # USB Type-C Alternate Mode drivers # # CONFIG_TYPEC_DP_ALTMODE is not set # end of USB Type-C Alternate Mode drivers # CONFIG_USB_ROLE_SWITCH is not set CONFIG_MMC=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_SDIO_UART=m # CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_DEBUG is not set CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_IO_ACCESSORS=y CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_SDHCI_ACPI=m CONFIG_MMC_SDHCI_PLTFM=m # CONFIG_MMC_SDHCI_F_SDH30 is not set # CONFIG_MMC_WBSD is not set # CONFIG_MMC_TIFM_SD is not set # CONFIG_MMC_SPI is not set # CONFIG_MMC_CB710 is not set # CONFIG_MMC_VIA_SDMMC is not set # CONFIG_MMC_VUB300 is not set # CONFIG_MMC_USHC is not set # CONFIG_MMC_USDHI6ROL0 is not set # CONFIG_MMC_REALTEK_PCI is not set CONFIG_MMC_CQHCI=m # CONFIG_MMC_HSQ is not set # CONFIG_MMC_TOSHIBA_PCI is not set # CONFIG_MMC_MTK is not set # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # CONFIG_LEDS_CLASS_FLASH is not set # CONFIG_LEDS_CLASS_MULTICOLOR is not set # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # # LED drivers # # CONFIG_LEDS_APU is not set CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_LP3944=m # CONFIG_LEDS_LP3952 is not set # CONFIG_LEDS_LP50XX is not set CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set # CONFIG_LEDS_DAC124S085 is not set # CONFIG_LEDS_PWM is not set # CONFIG_LEDS_BD2802 is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_TLC591XX is not set # CONFIG_LEDS_LM355x is not set # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # CONFIG_LEDS_BLINKM=m CONFIG_LEDS_MLXCPLD=m # CONFIG_LEDS_MLXREG is not set # CONFIG_LEDS_USER is not set # CONFIG_LEDS_NIC78BX is not set # CONFIG_LEDS_TI_LMU_COMMON is not set # # Flash and Torch LED drivers # # # LED Triggers # CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_ONESHOT=m # CONFIG_LEDS_TRIGGER_DISK is not set CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m # CONFIG_LEDS_TRIGGER_CPU is not set # CONFIG_LEDS_TRIGGER_ACTIVITY is not set CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_DEFAULT_ON=m # # iptables trigger is under Netfilter config (LED target) # CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_LEDS_TRIGGER_CAMERA=m # CONFIG_LEDS_TRIGGER_PANIC is not set # CONFIG_LEDS_TRIGGER_NETDEV is not set # CONFIG_LEDS_TRIGGER_PATTERN is not set CONFIG_LEDS_TRIGGER_AUDIO=m # CONFIG_LEDS_TRIGGER_TTY is not set # # LED Blink # # CONFIG_LEDS_BLINK is not set # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_ATOMIC_SCRUB=y CONFIG_EDAC_SUPPORT=y CONFIG_EDAC=y CONFIG_EDAC_LEGACY_SYSFS=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_GHES=y CONFIG_EDAC_AMD64=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_I3000=m CONFIG_EDAC_I3200=m CONFIG_EDAC_IE31200=m CONFIG_EDAC_X38=m CONFIG_EDAC_I5400=m CONFIG_EDAC_I7CORE=m CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m CONFIG_EDAC_SBRIDGE=m CONFIG_EDAC_SKX=m # CONFIG_EDAC_I10NM is not set CONFIG_EDAC_PND2=m # CONFIG_EDAC_IGEN6 is not set CONFIG_RTC_LIB=y CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # CONFIG_RTC_SYSTOHC is not set # CONFIG_RTC_DEBUG is not set CONFIG_RTC_NVMEM=y # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # CONFIG_RTC_DRV_TEST is not set # # I2C RTC drivers # # CONFIG_RTC_DRV_ABB5ZES3 is not set # CONFIG_RTC_DRV_ABEOZ9 is not set # CONFIG_RTC_DRV_ABX80X is not set CONFIG_RTC_DRV_DS1307=m # CONFIG_RTC_DRV_DS1307_CENTURY is not set CONFIG_RTC_DRV_DS1374=m # CONFIG_RTC_DRV_DS1374_WDT is not set CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_PCF8523=m # CONFIG_RTC_DRV_PCF85063 is not set # CONFIG_RTC_DRV_PCF85363 is not set CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y CONFIG_RTC_DRV_BQ32K=m # CONFIG_RTC_DRV_S35390A is not set CONFIG_RTC_DRV_FM3130=m # CONFIG_RTC_DRV_RX8010 is not set CONFIG_RTC_DRV_RX8581=m CONFIG_RTC_DRV_RX8025=m CONFIG_RTC_DRV_EM3027=m # CONFIG_RTC_DRV_RV3028 is not set # CONFIG_RTC_DRV_RV3032 is not set # CONFIG_RTC_DRV_RV8803 is not set # CONFIG_RTC_DRV_SD3078 is not set # # SPI RTC drivers # # CONFIG_RTC_DRV_M41T93 is not set # CONFIG_RTC_DRV_M41T94 is not set # CONFIG_RTC_DRV_DS1302 is not set # CONFIG_RTC_DRV_DS1305 is not set # CONFIG_RTC_DRV_DS1343 is not set # CONFIG_RTC_DRV_DS1347 is not set # CONFIG_RTC_DRV_DS1390 is not set # CONFIG_RTC_DRV_MAX6916 is not set # CONFIG_RTC_DRV_R9701 is not set CONFIG_RTC_DRV_RX4581=m # CONFIG_RTC_DRV_RS5C348 is not set # CONFIG_RTC_DRV_MAX6902 is not set # CONFIG_RTC_DRV_PCF2123 is not set # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_I2C_AND_SPI=y # # SPI and I2C RTC drivers # CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_DS3232_HWMON=y # CONFIG_RTC_DRV_PCF2127 is not set CONFIG_RTC_DRV_RV3029C2=m # CONFIG_RTC_DRV_RV3029_HWMON is not set # CONFIG_RTC_DRV_RX6110 is not set # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m # CONFIG_RTC_DRV_DS1685_FAMILY is not set CONFIG_RTC_DRV_DS1742=m CONFIG_RTC_DRV_DS2404=m CONFIG_RTC_DRV_STK17TA8=m # CONFIG_RTC_DRV_M48T86 is not set CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_BQ4802=m CONFIG_RTC_DRV_RP5C01=m CONFIG_RTC_DRV_V3020=m # # on-CPU RTC drivers # # CONFIG_RTC_DRV_FTRTC010 is not set # # HID Sensor RTC drivers # CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set # # DMA Devices # CONFIG_DMA_ENGINE=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y # CONFIG_ALTERA_MSGDMA is not set CONFIG_INTEL_IDMA64=m # CONFIG_INTEL_IDXD is not set CONFIG_INTEL_IOATDMA=m # CONFIG_PLX_DMA is not set # CONFIG_XILINX_ZYNQMP_DPDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_HIDMA is not set CONFIG_DW_DMAC_CORE=y CONFIG_DW_DMAC=m CONFIG_DW_DMAC_PCI=y # CONFIG_DW_EDMA is not set # CONFIG_DW_EDMA_PCIE is not set CONFIG_HSU_DMA=y # CONFIG_SF_PDMA is not set # CONFIG_INTEL_LDMA is not set # # DMA Clients # CONFIG_ASYNC_TX_DMA=y CONFIG_DMATEST=m CONFIG_DMA_ENGINE_RAID=y # # DMABUF options # CONFIG_SYNC_FILE=y CONFIG_SW_SYNC=y # CONFIG_UDMABUF is not set # CONFIG_DMABUF_MOVE_NOTIFY is not set # CONFIG_DMABUF_DEBUG is not set # CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMABUF_HEAPS is not set # end of DMABUF options CONFIG_DCA=m # CONFIG_AUXDISPLAY is not set # CONFIG_PANEL is not set CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m # CONFIG_UIO_DMEM_GENIRQ is not set CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m # CONFIG_UIO_NETX is not set # CONFIG_UIO_PRUSS is not set # CONFIG_UIO_MF624 is not set CONFIG_UIO_HV_GENERIC=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_VIRQFD=m CONFIG_VFIO=m CONFIG_VFIO_NOIOMMU=y CONFIG_VFIO_PCI=m # CONFIG_VFIO_PCI_VGA is not set CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_MDEV=m CONFIG_VFIO_MDEV_DEVICE=m CONFIG_IRQ_BYPASS_MANAGER=y # CONFIG_VIRT_DRIVERS is not set CONFIG_VIRTIO=y CONFIG_VIRTIO_PCI_LIB=y CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y # CONFIG_VIRTIO_PMEM is not set CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_MEM=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_MMIO is not set CONFIG_VIRTIO_DMA_SHARED_BUFFER=m # CONFIG_VDPA is not set CONFIG_VHOST_IOTLB=m CONFIG_VHOST=m CONFIG_VHOST_MENU=y CONFIG_VHOST_NET=m # CONFIG_VHOST_SCSI is not set CONFIG_VHOST_VSOCK=m # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set # # Microsoft Hyper-V guest support # CONFIG_HYPERV=m CONFIG_HYPERV_TIMER=y CONFIG_HYPERV_UTILS=m CONFIG_HYPERV_BALLOON=m # end of Microsoft Hyper-V guest support # # Xen driver support # # CONFIG_XEN_BALLOON is not set CONFIG_XEN_DEV_EVTCHN=m # CONFIG_XEN_BACKEND is not set CONFIG_XENFS=m CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_SYS_HYPERVISOR=y CONFIG_XEN_XENBUS_FRONTEND=y # CONFIG_XEN_GNTDEV is not set # CONFIG_XEN_GRANT_DEV_ALLOC is not set # CONFIG_XEN_GRANT_DMA_ALLOC is not set CONFIG_SWIOTLB_XEN=y # CONFIG_XEN_PVCALLS_FRONTEND is not set CONFIG_XEN_PRIVCMD=m CONFIG_XEN_EFI=y CONFIG_XEN_AUTO_XLATE=y CONFIG_XEN_ACPI=y # CONFIG_XEN_UNPOPULATED_ALLOC is not set # end of Xen driver support # CONFIG_GREYBUS is not set CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set # CONFIG_RTL8192U is not set # CONFIG_RTLLIB is not set # CONFIG_RTL8723BS is not set # CONFIG_R8712U is not set # CONFIG_R8188EU is not set # CONFIG_RTS5208 is not set # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set # CONFIG_FB_SM750 is not set # CONFIG_STAGING_MEDIA is not set # # Android # # CONFIG_ASHMEM is not set # end of Android # CONFIG_LTE_GDM724X is not set # CONFIG_FIREWIRE_SERIAL is not set # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set # CONFIG_FB_TFT is not set # CONFIG_KS7010 is not set # CONFIG_PI433 is not set # # Gasket devices # # CONFIG_STAGING_GASKET_FRAMEWORK is not set # end of Gasket devices # CONFIG_FIELDBUS_DEV is not set # CONFIG_KPC2000 is not set # CONFIG_QLGE is not set # CONFIG_WIMAX is not set # CONFIG_WFX is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACPI_WMI=m CONFIG_WMI_BMOF=m # CONFIG_HUAWEI_WMI is not set # CONFIG_UV_SYSFS is not set # CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_MXM_WMI=m # CONFIG_PEAQ_WMI is not set # CONFIG_XIAOMI_WMI is not set CONFIG_ACERHDF=m # CONFIG_ACER_WIRELESS is not set CONFIG_ACER_WMI=m # CONFIG_AMD_PMC is not set CONFIG_APPLE_GMUX=m CONFIG_ASUS_LAPTOP=m # CONFIG_ASUS_WIRELESS is not set CONFIG_ASUS_WMI=m CONFIG_ASUS_NB_WMI=m CONFIG_EEEPC_LAPTOP=m CONFIG_EEEPC_WMI=m # CONFIG_X86_PLATFORM_DRIVERS_DELL is not set CONFIG_AMILO_RFKILL=m CONFIG_FUJITSU_LAPTOP=m CONFIG_FUJITSU_TABLET=m # CONFIG_GPD_POCKET_FAN is not set CONFIG_HP_ACCEL=m CONFIG_HP_WIRELESS=m CONFIG_HP_WMI=m # CONFIG_IBM_RTL is not set CONFIG_IDEAPAD_LAPTOP=m CONFIG_SENSORS_HDAPS=m CONFIG_THINKPAD_ACPI=m # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set # CONFIG_THINKPAD_ACPI_DEBUG is not set # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y # CONFIG_INTEL_ATOMISP2_PM is not set CONFIG_INTEL_HID_EVENT=m # CONFIG_INTEL_INT0002_VGPIO is not set # CONFIG_INTEL_MENLOW is not set CONFIG_INTEL_OAKTRAIL=m CONFIG_INTEL_VBTN=m CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m # CONFIG_PCENGINES_APU2 is not set CONFIG_SAMSUNG_LAPTOP=m CONFIG_SAMSUNG_Q10=m CONFIG_TOSHIBA_BT_RFKILL=m # CONFIG_TOSHIBA_HAPS is not set # CONFIG_TOSHIBA_WMI is not set CONFIG_ACPI_CMPC=m CONFIG_COMPAL_LAPTOP=m # CONFIG_LG_LAPTOP is not set CONFIG_PANASONIC_LAPTOP=m CONFIG_SONY_LAPTOP=m CONFIG_SONYPI_COMPAT=y # CONFIG_SYSTEM76_ACPI is not set CONFIG_TOPSTAR_LAPTOP=m # CONFIG_I2C_MULTI_INSTANTIATE is not set CONFIG_MLX_PLATFORM=m CONFIG_INTEL_IPS=m CONFIG_INTEL_RST=m # CONFIG_INTEL_SMARTCONNECT is not set # # Intel Speed Select Technology interface support # # CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set # end of Intel Speed Select Technology interface support CONFIG_INTEL_TURBO_MAX_3=y # CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set CONFIG_INTEL_PMC_CORE=m # CONFIG_INTEL_PUNIT_IPC is not set # CONFIG_INTEL_SCU_PCI is not set # CONFIG_INTEL_SCU_PLATFORM is not set CONFIG_PMC_ATOM=y # CONFIG_CHROME_PLATFORMS is not set CONFIG_MELLANOX_PLATFORM=y CONFIG_MLXREG_HOTPLUG=m # CONFIG_MLXREG_IO is not set CONFIG_SURFACE_PLATFORMS=y # CONFIG_SURFACE3_WMI is not set # CONFIG_SURFACE_3_POWER_OPREGION is not set # CONFIG_SURFACE_GPE is not set # CONFIG_SURFACE_HOTPLUG is not set # CONFIG_SURFACE_PRO3_BUTTON is not set CONFIG_HAVE_CLK=y CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_SI5341 is not set # CONFIG_COMMON_CLK_SI5351 is not set # CONFIG_COMMON_CLK_SI544 is not set # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set # CONFIG_COMMON_CLK_PWM is not set # CONFIG_XILINX_VCU is not set CONFIG_HWSPINLOCK=y # # Clock Source drivers # CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y # end of Clock Source drivers CONFIG_MAILBOX=y CONFIG_PCC=y # CONFIG_ALTERA_MBOX is not set CONFIG_IOMMU_IOVA=y CONFIG_IOASID=y CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y # # Generic IOMMU Pagetable Support # CONFIG_IOMMU_IO_PGTABLE=y # end of Generic IOMMU Pagetable Support # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_DMA=y CONFIG_AMD_IOMMU=y CONFIG_AMD_IOMMU_V2=m CONFIG_DMAR_TABLE=y CONFIG_INTEL_IOMMU=y # CONFIG_INTEL_IOMMU_SVM is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set CONFIG_IRQ_REMAP=y CONFIG_HYPERV_IOMMU=y # # Remoteproc drivers # # CONFIG_REMOTEPROC is not set # end of Remoteproc drivers # # Rpmsg drivers # # CONFIG_RPMSG_QCOM_GLINK_RPM is not set # CONFIG_RPMSG_VIRTIO is not set # end of Rpmsg drivers # CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers # # # Amlogic SoC drivers # # end of Amlogic SoC drivers # # Broadcom SoC drivers # # end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # # end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # # end of i.MX SoC drivers # # Enable LiteX SoC Builder specific drivers # # end of Enable LiteX SoC Builder specific drivers # # Qualcomm SoC drivers # # end of Qualcomm SoC drivers # CONFIG_SOC_TI is not set # # Xilinx SoC drivers # # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers # CONFIG_PM_DEVFREQ is not set # CONFIG_EXTCON is not set # CONFIG_MEMORY is not set # CONFIG_IIO is not set CONFIG_NTB=m # CONFIG_NTB_MSI is not set # CONFIG_NTB_AMD is not set # CONFIG_NTB_IDT is not set # CONFIG_NTB_INTEL is not set # CONFIG_NTB_EPF is not set # CONFIG_NTB_SWITCHTEC is not set # CONFIG_NTB_PINGPONG is not set # CONFIG_NTB_TOOL is not set # CONFIG_NTB_PERF is not set # CONFIG_NTB_TRANSPORT is not set # CONFIG_VME_BUS is not set CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_DEBUG is not set # CONFIG_PWM_DWC is not set CONFIG_PWM_LPSS=m CONFIG_PWM_LPSS_PCI=m CONFIG_PWM_LPSS_PLATFORM=m # CONFIG_PWM_PCA9685 is not set # # IRQ chip support # # end of IRQ chip support # CONFIG_IPACK_BUS is not set # CONFIG_RESET_CONTROLLER is not set # # PHY Subsystem # # CONFIG_GENERIC_PHY is not set # CONFIG_USB_LGM_PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_INTEL_LGM_EMMC is not set # end of PHY Subsystem CONFIG_POWERCAP=y CONFIG_INTEL_RAPL_CORE=m CONFIG_INTEL_RAPL=m # CONFIG_IDLE_INJECT is not set # CONFIG_DTPM is not set # CONFIG_MCB is not set # # Performance monitor support # # end of Performance monitor support CONFIG_RAS=y # CONFIG_RAS_CEC is not set # CONFIG_USB4 is not set # # Android # CONFIG_ANDROID=y # CONFIG_ANDROID_BINDER_IPC is not set # end of Android CONFIG_LIBNVDIMM=m CONFIG_BLK_DEV_PMEM=m CONFIG_ND_BLK=m CONFIG_ND_CLAIM=y CONFIG_ND_BTT=m CONFIG_BTT=y CONFIG_ND_PFN=m CONFIG_NVDIMM_PFN=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_KEYS=y CONFIG_DAX_DRIVER=y CONFIG_DAX=y CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m CONFIG_DEV_DAX_KMEM=m CONFIG_DEV_DAX_PMEM_COMPAT=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y # CONFIG_NVMEM_RMEM is not set # # HW tracing support # CONFIG_STM=m # CONFIG_STM_PROTO_BASIC is not set # CONFIG_STM_PROTO_SYS_T is not set CONFIG_STM_DUMMY=m CONFIG_STM_SOURCE_CONSOLE=m CONFIG_STM_SOURCE_HEARTBEAT=m CONFIG_STM_SOURCE_FTRACE=m CONFIG_INTEL_TH=m CONFIG_INTEL_TH_PCI=m CONFIG_INTEL_TH_ACPI=m CONFIG_INTEL_TH_GTH=m CONFIG_INTEL_TH_STH=m CONFIG_INTEL_TH_MSU=m CONFIG_INTEL_TH_PTI=m # CONFIG_INTEL_TH_DEBUG is not set # end of HW tracing support # CONFIG_FPGA is not set # CONFIG_TEE is not set # CONFIG_UNISYS_VISORBUS is not set # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set # CONFIG_COUNTER is not set # CONFIG_MOST is not set # end of Device Drivers # # File systems # CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_VALIDATE_FS_PARSER is not set CONFIG_FS_IOMAP=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y # CONFIG_EXT4_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set CONFIG_XFS_FS=m CONFIG_XFS_SUPPORT_V4=y CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y CONFIG_XFS_ONLINE_SCRUB=y # CONFIG_XFS_ONLINE_REPAIR is not set CONFIG_XFS_DEBUG=y CONFIG_XFS_ASSERT_FATAL=y CONFIG_GFS2_FS=m CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_OCFS2_FS=m CONFIG_OCFS2_FS_O2CB=m CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m CONFIG_OCFS2_FS_STATS=y CONFIG_OCFS2_DEBUG_MASKLOG=y # CONFIG_OCFS2_DEBUG_FS is not set CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set # CONFIG_BTRFS_DEBUG is not set # CONFIG_BTRFS_ASSERT is not set # CONFIG_BTRFS_FS_REF_VERIFY is not set # CONFIG_NILFS2_FS is not set CONFIG_F2FS_FS=m CONFIG_F2FS_STAT_FS=y CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_FS_POSIX_ACL=y # CONFIG_F2FS_FS_SECURITY is not set # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_F2FS_FS_COMPRESSION is not set CONFIG_FS_DAX=y CONFIG_FS_DAX_PMD=y CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y CONFIG_EXPORTFS_BLOCK_OPS=y CONFIG_FILE_LOCKING=y CONFIG_MANDATORY_FILE_LOCKING=y CONFIG_FS_ENCRYPTION=y CONFIG_FS_ENCRYPTION_ALGS=y # CONFIG_FS_VERITY is not set CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m # CONFIG_VIRTIO_FS is not set CONFIG_OVERLAY_FS=m # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set # CONFIG_OVERLAY_FS_INDEX is not set # CONFIG_OVERLAY_FS_XINO_AUTO is not set # CONFIG_OVERLAY_FS_METACOPY is not set # # Caches # CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set # CONFIG_FSCACHE_DEBUG is not set # CONFIG_FSCACHE_OBJECT_LIST is not set CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set # CONFIG_CACHEFILES_HISTOGRAM is not set # end of Caches # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m # end of CD-ROM/DVD Filesystems # # DOS/FAT/EXFAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" # CONFIG_FAT_DEFAULT_UTF8 is not set # CONFIG_EXFAT_FS is not set # CONFIG_NTFS_FS is not set # end of DOS/FAT/EXFAT/NT Filesystems # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y CONFIG_PROC_PID_ARCH_STATUS=y CONFIG_PROC_CPU_RESCTRL=y CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y # CONFIG_TMPFS_INODE64 is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_EFIVAR_FS=y # end of Pseudo filesystems CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_ECRYPT_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set CONFIG_CRAMFS=m CONFIG_CRAMFS_BLOCKDEV=y CONFIG_SQUASHFS=m # CONFIG_SQUASHFS_FILE_CACHE is not set CONFIG_SQUASHFS_FILE_DIRECT=y # CONFIG_SQUASHFS_DECOMP_SINGLE is not set # CONFIG_SQUASHFS_DECOMP_MULTI is not set CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y # CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y # CONFIG_SQUASHFS_ZSTD is not set # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_OMFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_PSTORE=y CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 CONFIG_PSTORE_DEFLATE_COMPRESS=y # CONFIG_PSTORE_LZO_COMPRESS is not set # CONFIG_PSTORE_LZ4_COMPRESS is not set # CONFIG_PSTORE_LZ4HC_COMPRESS is not set # CONFIG_PSTORE_842_COMPRESS is not set # CONFIG_PSTORE_ZSTD_COMPRESS is not set CONFIG_PSTORE_COMPRESS=y CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" CONFIG_PSTORE_CONSOLE=y CONFIG_PSTORE_PMSG=y # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=m # CONFIG_PSTORE_BLK is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # CONFIG_EROFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y # CONFIG_NFS_V2 is not set CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=m # CONFIG_NFS_SWAP is not set CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_PNFS_FILE_LAYOUT=m CONFIG_PNFS_BLOCK=m CONFIG_PNFS_FLEXFILE_LAYOUT=m CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" # CONFIG_NFS_V4_1_MIGRATION is not set CONFIG_NFS_V4_SECURITY_LABEL=y CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DEBUG=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y # CONFIG_NFS_V4_2_READ_PLUS is not set CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_PNFS=y # CONFIG_NFSD_BLOCKLAYOUT is not set CONFIG_NFSD_SCSILAYOUT=y # CONFIG_NFSD_FLEXFILELAYOUT is not set # CONFIG_NFSD_V4_2_INTER_SSC is not set CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_GRACE_PERIOD=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=y CONFIG_NFS_COMMON=y CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set CONFIG_SUNRPC_DEBUG=y CONFIG_CEPH_FS=m # CONFIG_CEPH_FSCACHE is not set CONFIG_CEPH_FS_POSIX_ACL=y # CONFIG_CEPH_FS_SECURITY_LABEL is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS2 is not set CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DEBUG2 is not set # CONFIG_CIFS_DEBUG_DUMP_KEYS is not set CONFIG_CIFS_DFS_UPCALL=y # CONFIG_CIFS_SWN_UPCALL is not set # CONFIG_CIFS_FSCACHE is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # CONFIG_9P_FS is not set CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_CELTIC=m CONFIG_NLS_MAC_CENTEURO=m CONFIG_NLS_MAC_CROATIAN=m CONFIG_NLS_MAC_CYRILLIC=m CONFIG_NLS_MAC_GAELIC=m CONFIG_NLS_MAC_GREEK=m CONFIG_NLS_MAC_ICELAND=m CONFIG_NLS_MAC_INUIT=m CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_DLM=m CONFIG_DLM_DEBUG=y # CONFIG_UNICODE is not set CONFIG_IO_WQ=y # end of File systems # # Security options # CONFIG_KEYS=y # CONFIG_KEYS_REQUEST_CACHE is not set CONFIG_PERSISTENT_KEYRINGS=y CONFIG_TRUSTED_KEYS=y CONFIG_ENCRYPTED_KEYS=y # CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y CONFIG_SECURITY_WRITABLE_HOOKS=y CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y CONFIG_PAGE_TABLE_ISOLATION=y CONFIG_SECURITY_NETWORK_XFRM=y # CONFIG_SECURITY_PATH is not set CONFIG_INTEL_TXT=y CONFIG_LSM_MMAP_MIN_ADDR=65535 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y CONFIG_HARDENED_USERCOPY=y CONFIG_HARDENED_USERCOPY_FALLBACK=y # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set CONFIG_FORTIFY_SOURCE=y # CONFIG_STATIC_USERMODEHELPER is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set # CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_LOADPIN is not set CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y CONFIG_INTEGRITY_TRUSTED_KEYRING=y # CONFIG_INTEGRITY_PLATFORM_KEYRING is not set CONFIG_INTEGRITY_AUDIT=y CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y # CONFIG_IMA_TEMPLATE is not set CONFIG_IMA_NG_TEMPLATE=y # CONFIG_IMA_SIG_TEMPLATE is not set CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" CONFIG_IMA_DEFAULT_HASH_SHA1=y # CONFIG_IMA_DEFAULT_HASH_SHA256 is not set # CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_WRITE_POLICY=y CONFIG_IMA_READ_POLICY=y CONFIG_IMA_APPRAISE=y CONFIG_IMA_ARCH_POLICY=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_MODSIG is not set CONFIG_IMA_TRUSTED_KEYRING=y # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_LOAD_X509 is not set CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y # CONFIG_EVM_ADD_XATTRS is not set # CONFIG_EVM_LOAD_X509 is not set CONFIG_DEFAULT_SECURITY_SELINUX=y # CONFIG_DEFAULT_SECURITY_DAC is not set CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor,bpf" # # Kernel hardening options # # # Memory initialization # CONFIG_INIT_STACK_NONE=y # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set # end of Memory initialization # end of Kernel hardening options # end of Security options CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_CORE=m CONFIG_ASYNC_MEMCPY=m CONFIG_ASYNC_XOR=m CONFIG_ASYNC_PQ=m CONFIG_ASYNC_RAID6_RECOV=m CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=m CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_USER=m CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_CRYPTD=y CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_SIMD=y # # Public-key cryptography # CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=m CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m # CONFIG_CRYPTO_ECRDSA is not set # CONFIG_CRYPTO_SM2 is not set # CONFIG_CRYPTO_CURVE25519 is not set # CONFIG_CRYPTO_CURVE25519_X86 is not set # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m # CONFIG_CRYPTO_AEGIS128 is not set # CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m # # Block modes # CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CFB=y CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=m # CONFIG_CRYPTO_OFB is not set CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set # CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set # CONFIG_CRYPTO_ADIANTUM is not set CONFIG_CRYPTO_ESSIV=m # # Hash modes # CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m CONFIG_CRYPTO_VMAC=m # # Digest # CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32C_INTEL=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRC32_PCLMUL=m CONFIG_CRYPTO_XXHASH=m CONFIG_CRYPTO_BLAKE2B=m # CONFIG_CRYPTO_BLAKE2S is not set # CONFIG_CRYPTO_BLAKE2S_X86 is not set CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m CONFIG_CRYPTO_GHASH=y CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=y CONFIG_CRYPTO_SHA256_SSSE3=y CONFIG_CRYPTO_SHA512_SSSE3=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m # CONFIG_CRYPTO_SM3 is not set # CONFIG_CRYPTO_STREEBOG is not set CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m # # Ciphers # CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_TI is not set CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_BLOWFISH_COMMON=m CONFIG_CRYPTO_BLOWFISH_X86_64=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAMELLIA_X86_64=m CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m CONFIG_CRYPTO_CAST_COMMON=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST5_AVX_X86_64=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_CAST6_AVX_X86_64=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES3_EDE_X86_64=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m # CONFIG_CRYPTO_SM4 is not set CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m CONFIG_CRYPTO_TWOFISH_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m # # Compression # CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_842 is not set # CONFIG_CRYPTO_LZ4 is not set # CONFIG_CRYPTO_LZ4HC is not set # CONFIG_CRYPTO_ZSTD is not set # # Random Number Generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_MENU=y CONFIG_CRYPTO_DRBG_HMAC=y CONFIG_CRYPTO_DRBG_HASH=y CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_USER_API=y CONFIG_CRYPTO_USER_API_HASH=y CONFIG_CRYPTO_USER_API_SKCIPHER=y CONFIG_CRYPTO_USER_API_RNG=y # CONFIG_CRYPTO_USER_API_RNG_CAVP is not set CONFIG_CRYPTO_USER_API_AEAD=y CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y # CONFIG_CRYPTO_STATS is not set CONFIG_CRYPTO_HASH_INFO=y # # Crypto library routines # CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m # CONFIG_CRYPTO_LIB_BLAKE2S is not set CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m # CONFIG_CRYPTO_LIB_CHACHA is not set # CONFIG_CRYPTO_LIB_CURVE25519 is not set CONFIG_CRYPTO_LIB_DES=m CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m # CONFIG_CRYPTO_LIB_POLY1305 is not set # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_SP_PSP=y # CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_QAT=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_C3XXX=m CONFIG_CRYPTO_DEV_QAT_C62X=m # CONFIG_CRYPTO_DEV_QAT_4XXX is not set CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_NITROX=m CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m # CONFIG_CRYPTO_DEV_VIRTIO is not set # CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y # CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE is not set CONFIG_X509_CERTIFICATE_PARSER=y # CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y # # Certificates for signature checking # CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SECONDARY_TRUSTED_KEYRING is not set CONFIG_SYSTEM_BLACKLIST_KEYRING=y CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" # end of Certificates for signature checking CONFIG_BINARY_PRINTF=y # # Library routines # CONFIG_RAID6_PQ=m CONFIG_RAID6_PQ_BENCHMARK=y # CONFIG_PACKING is not set CONFIG_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_CORDIC=m CONFIG_PRIME_NUMBERS=m CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=m CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set # CONFIG_CRC64 is not set # CONFIG_CRC4 is not set CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_CRC8=m CONFIG_XXHASH=y # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y CONFIG_ZSTD_COMPRESS=m CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y CONFIG_XZ_DEC_IA64=y CONFIG_XZ_DEC_ARM=y CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_XZ_DEC_SPARC=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_GZIP=y CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_LZ4=y CONFIG_DECOMPRESS_ZSTD=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_ENC8=y CONFIG_REED_SOLOMON_DEC8=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_INTERVAL_TREE=y CONFIG_XARRAY_MULTI=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_DMA_OPS=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y CONFIG_SWIOTLB=y CONFIG_DMA_COHERENT_POOL=y # CONFIG_DMA_API_DEBUG is not set CONFIG_DMA_MAP_BENCHMARK=y CONFIG_SGL_ALLOC=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPUMASK_OFFSTACK=y CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y CONFIG_CLZ_TAB=y CONFIG_IRQ_POLL=y CONFIG_MPILIB=y CONFIG_SIGNATURE=y CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y CONFIG_HAVE_GENERIC_VDSO=y CONFIG_GENERIC_GETTIMEOFDAY=y CONFIG_GENERIC_VDSO_TIME_NS=y CONFIG_FONT_SUPPORT=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_MEMREGION=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_ARCH_HAS_COPY_MC=y CONFIG_ARCH_STACKWALK=y CONFIG_SBITMAP=y # CONFIG_STRING_SELFTEST is not set # end of Library routines # # Kernel hacking # # # printk and dmesg options # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 CONFIG_BOOT_PRINTK_DELAY=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DYNAMIC_DEBUG_CORE=y CONFIG_SYMBOLIC_ERRNAME=y CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options # # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set CONFIG_DEBUG_INFO_DWARF4=y CONFIG_DEBUG_INFO_BTF=y CONFIG_PAHOLE_HAS_SPLIT_BTF=y CONFIG_DEBUG_INFO_BTF_MODULES=y # CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=2048 CONFIG_STRIP_ASM_SYMS=y # CONFIG_READABLE_ASM is not set # CONFIG_HEADERS_INSTALL is not set CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_SECTION_MISMATCH_WARN_ONLY=y # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set CONFIG_STACK_VALIDATION=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options # # Generic Kernel Debugging Instruments # CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS_ALLOW_ALL=y # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set # CONFIG_DEBUG_FS_ALLOW_NONE is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y # CONFIG_UBSAN is not set CONFIG_HAVE_ARCH_KCSAN=y # end of Generic Kernel Debugging Instruments CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MISC=y # # Memory Debugging # # CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_PAGE_OWNER is not set # CONFIG_PAGE_POISONING is not set # CONFIG_DEBUG_PAGE_REF is not set # CONFIG_DEBUG_RODATA_TEST is not set CONFIG_ARCH_HAS_DEBUG_WX=y # CONFIG_DEBUG_WX is not set CONFIG_GENERIC_PTDUMP=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VM_PGTABLE is not set CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y # CONFIG_DEBUG_VIRTUAL is not set CONFIG_DEBUG_MEMORY_INIT=y CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # CONFIG_KASAN is not set CONFIG_HAVE_ARCH_KFENCE=y # CONFIG_KFENCE is not set # end of Memory Debugging CONFIG_DEBUG_SHIRQ=y # # Debug Oops, Lockups and Hangs # CONFIG_PANIC_ON_OOPS=y CONFIG_PANIC_ON_OOPS_VALUE=1 CONFIG_PANIC_TIMEOUT=0 CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1 # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set # CONFIG_TEST_LOCKUP is not set # end of Debug Oops, Lockups and Hangs # # Scheduler Debugging # CONFIG_SCHED_DEBUG=y CONFIG_SCHED_INFO=y CONFIG_SCHEDSTATS=y # end of Scheduler Debugging # CONFIG_DEBUG_TIMEKEEPING is not set CONFIG_DEBUG_PREEMPT=y # # Lock Debugging (spinlocks, mutexes, etc...) # CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_PROVE_LOCKING=y # CONFIG_PROVE_RAW_LOCK_NESTING is not set # CONFIG_LOCK_STAT is not set CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y CONFIG_DEBUG_RWSEMS=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_LOCKDEP=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_LOCK_TORTURE_TEST is not set CONFIG_WW_MUTEX_SELFTEST=m # CONFIG_SCF_TORTURE_TEST is not set # CONFIG_CSD_LOCK_WAIT_DEBUG is not set # end of Lock Debugging (spinlocks, mutexes, etc...) CONFIG_TRACE_IRQFLAGS=y CONFIG_TRACE_IRQFLAGS_NMI=y # CONFIG_DEBUG_IRQFLAGS is not set CONFIG_STACKTRACE=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set # # Debug kernel data structures # CONFIG_DEBUG_LIST=y CONFIG_DEBUG_PLIST=y # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set CONFIG_BUG_ON_DATA_CORRUPTION=y # end of Debug kernel data structures # CONFIG_DEBUG_CREDENTIALS is not set # # RCU Debugging # CONFIG_PROVE_RCU=y # CONFIG_RCU_SCALE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y CONFIG_HAVE_OBJTOOL_MCOUNT=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y CONFIG_CONTEXT_SWITCH_TRACER=y CONFIG_RING_BUFFER_ALLOW_SWAP=y CONFIG_PREEMPTIRQ_TRACEPOINTS=y CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y CONFIG_FTRACE=y # CONFIG_BOOTTIME_TRACING is not set CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_FUNCTION_PROFILER=y CONFIG_STACK_TRACER=y CONFIG_TRACE_PREEMPT_TOGGLE=y CONFIG_IRQSOFF_TRACER=y CONFIG_PREEMPT_TRACER=y CONFIG_SCHED_TRACER=y CONFIG_HWLAT_TRACER=y # CONFIG_MMIOTRACE is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y # CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_FTRACE_MCOUNT_RECORD=y CONFIG_FTRACE_MCOUNT_USE_CC=y CONFIG_TRACING_MAP=y CONFIG_SYNTH_EVENTS=y CONFIG_HIST_TRIGGERS=y # CONFIG_TRACE_EVENT_INJECT is not set # CONFIG_TRACEPOINT_BENCHMARK is not set CONFIG_RING_BUFFER_BENCHMARK=m # CONFIG_TRACE_EVAL_MAP_FILE is not set # CONFIG_FTRACE_RECORD_RECURSION is not set # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set CONFIG_PREEMPTIRQ_DELAY_TEST=m # CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_HIST_TRIGGERS_DEBUG is not set CONFIG_PROVIDE_OHCI1394_DMA_INIT=y CONFIG_SAMPLES=y # CONFIG_SAMPLE_AUXDISPLAY is not set # CONFIG_SAMPLE_TRACE_EVENTS is not set CONFIG_SAMPLE_TRACE_PRINTK=m CONFIG_SAMPLE_FTRACE_DIRECT=m # CONFIG_SAMPLE_TRACE_ARRAY is not set # CONFIG_SAMPLE_KOBJECT is not set # CONFIG_SAMPLE_KPROBES is not set # CONFIG_SAMPLE_HW_BREAKPOINT is not set # CONFIG_SAMPLE_KFIFO is not set # CONFIG_SAMPLE_LIVEPATCH is not set # CONFIG_SAMPLE_CONFIGFS is not set # CONFIG_SAMPLE_VFIO_MDEV_MTTY is not set # CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set # CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set # CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set # CONFIG_SAMPLE_WATCHDOG is not set CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y CONFIG_STRICT_DEVMEM=y # CONFIG_IO_STRICT_DEVMEM is not set # # x86 Debugging # CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_EARLY_PRINTK_USB=y CONFIG_X86_VERBOSE_BOOTUP=y CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK_DBGP=y CONFIG_EARLY_PRINTK_USB_XDBC=y # CONFIG_EFI_PGT_DUMP is not set # CONFIG_DEBUG_TLBFLUSH is not set CONFIG_HAVE_MMIOTRACE_SUPPORT=y CONFIG_X86_DECODER_SELFTEST=y CONFIG_IO_DELAY_0X80=y # CONFIG_IO_DELAY_0XED is not set # CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_NONE is not set CONFIG_DEBUG_BOOT_PARAMS=y # CONFIG_CPA_DEBUG is not set # CONFIG_DEBUG_ENTRY is not set # CONFIG_DEBUG_NMI_SELFTEST is not set # CONFIG_X86_DEBUG_FPU is not set # CONFIG_PUNIT_ATOM_DEBUG is not set CONFIG_UNWINDER_ORC=y # CONFIG_UNWINDER_FRAME_POINTER is not set # CONFIG_UNWINDER_GUESS is not set # end of x86 Debugging # # Kernel Testing and Coverage # # CONFIG_KUNIT is not set CONFIG_NOTIFIER_ERROR_INJECTION=y CONFIG_PM_NOTIFIER_ERROR_INJECT=m # CONFIG_NETDEV_NOTIFIER_ERROR_INJECT is not set CONFIG_FUNCTION_ERROR_INJECTION=y # CONFIG_FAULT_INJECTION is not set CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y CONFIG_LKDTM=y # CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_SORT is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_RBTREE_TEST is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set # CONFIG_PERCPU_TEST is not set CONFIG_ATOMIC64_SELFTEST=y # CONFIG_ASYNC_RAID6_TEST is not set # CONFIG_TEST_HEXDUMP is not set # CONFIG_TEST_STRING_HELPERS is not set CONFIG_TEST_STRSCPY=m # CONFIG_TEST_KSTRTOX is not set CONFIG_TEST_PRINTF=m CONFIG_TEST_BITMAP=m # CONFIG_TEST_UUID is not set # CONFIG_TEST_XARRAY is not set # CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_IDA is not set CONFIG_TEST_LKM=m CONFIG_TEST_BITOPS=m CONFIG_TEST_VMALLOC=m CONFIG_TEST_USER_COPY=m CONFIG_TEST_BPF=m CONFIG_TEST_BLACKHOLE_DEV=m # CONFIG_FIND_BIT_BENCHMARK is not set CONFIG_TEST_FIRMWARE=m CONFIG_TEST_SYSCTL=y # CONFIG_TEST_UDELAY is not set CONFIG_TEST_STATIC_KEYS=m CONFIG_TEST_KMOD=m # CONFIG_TEST_MEMCAT_P is not set CONFIG_TEST_LIVEPATCH=m # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set CONFIG_TEST_HMM=m # CONFIG_TEST_FREE_PAGES is not set # CONFIG_TEST_FPU is not set # CONFIG_MEMTEST is not set # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage # end of Kernel hacking --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=job-script #!/bin/sh export_top_env() { export suite='kernel-selftests' export testcase='kernel-selftests' export category='functional' export kconfig='x86_64-rhel-8.3-kselftests' export job_origin='kernel-selftests-bm.yaml' export queue_cmdline_keys='branch commit queue_at_least_once' export queue='validate' export testbox='lkp-skl-d06' export tbox_group='lkp-skl-d06' export submit_id='607dc6b5b5388d5844003d9e' export job_file='/lkp/jobs/scheduled/lkp-skl-d06/kernel-selftests-net-ucode=0xe2-debian-10.4-x86_64-20200603.cgz-6628ddfec7580882f11fdc5c194a8ea781fdadfa-20210420-22596-1xcbswy-21.yaml' export id='d1ed35df109a8f60241f5f0659a359b941ceeafc' export queuer_version='/lkp-src' export model='Skylake' export nr_cpu=4 export memory='16G' export nr_ssd_partitions=1 export nr_hdd_partitions=4 export hdd_partitions='/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV5F059074-part*' export ssd_partitions='/dev/disk/by-id/ata-INTEL_SSDSC2BB012T4_BTWD422402M81P2GGN-part2' export rootfs_partition='/dev/disk/by-id/ata-INTEL_SSDSC2BB012T4_BTWD422402M81P2GGN-part1' export brand='Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz' export commit='6628ddfec7580882f11fdc5c194a8ea781fdadfa' export need_kconfig_hw='CONFIG_E1000E=y CONFIG_SATA_AHCI' export ucode='0xe2' export need_linux_headers=true export need_linux_selftests=true export need_kselftests=true export need_kconfig='CONFIG_USER_NS=y CONFIG_BPF_SYSCALL=y CONFIG_TEST_BPF=m CONFIG_NUMA=y ~ ">= v5.6-rc1" CONFIG_NET_VRF=y ~ ">= v4.3-rc1" CONFIG_NET_L3_MASTER_DEV=y ~ ">= v4.4-rc1" CONFIG_IPV6=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_VETH=y CONFIG_NET_IPVTI=m CONFIG_IPV6_VTI=m CONFIG_DUMMY=y CONFIG_BRIDGE=y CONFIG_VLAN_8021Q=y CONFIG_IFB=y CONFIG_NETFILTER=y CONFIG_NETFILTER_ADVANCED=y CONFIG_NF_CONNTRACK=m CONFIG_NF_NAT=m ~ ">= v5.1-rc1" CONFIG_IP6_NF_IPTABLES=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP6_NF_NAT=m CONFIG_IP_NF_NAT=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_IPV6=y ~ ">= v4.17-rc1" CONFIG_NF_TABLES_IPV4=y ~ ">= v4.17-rc1" CONFIG_NFT_CHAIN_NAT_IPV6=m ~ "<= v5.0" CONFIG_NFT_CHAIN_NAT_IPV4=m ~ "<= v5.0" CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_ETF=m ~ ">= v4.19-rc1" CONFIG_NET_SCH_NETEM=y CONFIG_TEST_BLACKHOLE_DEV=m ~ ">= v5.3-rc1" CONFIG_KALLSYMS=y CONFIG_BAREUDP=m ~ ">= v5.7-rc1" CONFIG_MPLS_ROUTING=m ~ ">= v4.1-rc1" CONFIG_MPLS_IPTUNNEL=m ~ ">= v4.3-rc1" CONFIG_NET_SCH_INGRESS=y ~ ">= v4.19-rc1" CONFIG_NET_CLS_FLOWER=m ~ ">= v4.2-rc1" CONFIG_NET_ACT_TUNNEL_KEY=m ~ ">= v4.9-rc1" CONFIG_NET_ACT_MIRRED=m ~ ">= v5.11-rc1"' export enqueue_time='2021-04-20 02:06:45 +0800' export _id='607dc6b5b5388d5844003d9e' export _rt='/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa' export user='lkp' export compiler='gcc-9' export LKP_SERVER='internal-lkp-server' export head_commit='e242eeab609680685a735f61f42eda2902d346fd' export base_commit='d434405aaab7d0ebc516b68a8fc4100922d7f5ef' export branch='linus/master' export rootfs='debian-10.4-x86_64-20200603.cgz' export result_root='/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/21' export scheduler_version='/lkp/lkp/.src-20210419-111420' export arch='x86_64' export max_uptime=2100 export initrd='/osimage/debian/debian-10.4-x86_64-20200603.cgz' export bootloader_append='root=/dev/ram0 user=lkp job=/lkp/jobs/scheduled/lkp-skl-d06/kernel-selftests-net-ucode=0xe2-debian-10.4-x86_64-20200603.cgz-6628ddfec7580882f11fdc5c194a8ea781fdadfa-20210420-22596-1xcbswy-21.yaml ARCH=x86_64 kconfig=x86_64-rhel-8.3-kselftests branch=linus/master commit=6628ddfec7580882f11fdc5c194a8ea781fdadfa BOOT_IMAGE=/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/vmlinuz-5.12.0-rc6-00349-g6628ddfec758 max_uptime=2100 RESULT_ROOT=/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/21 LKP_SERVER=internal-lkp-server nokaslr selinux=0 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 net.ifnames=0 printk.devkmsg=on panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 drbd.minor_count=8 systemd.log_level=err ignore_loglevel console=tty0 earlyprintk=ttyS0,115200 console=ttyS0,115200 vga=normal rw' export modules_initrd='/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/modules.cgz' export linux_headers_initrd='/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/linux-headers.cgz' export linux_selftests_initrd='/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/linux-selftests.cgz' export kselftests_initrd='/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/kselftests.cgz' export bm_initrd='/osimage/deps/debian-10.4-x86_64-20200603.cgz/run-ipconfig_20200608.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/lkp_20201211.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/rsync-rootfs_20200608.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/kernel-selftests_20210406.cgz,/osimage/pkg/debian-10.4-x86_64-20200603.cgz/kernel-selftests-x86_64-cf9ae1bd-1_20210401.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/hw_20200715.cgz' export ucode_initrd='/osimage/ucode/intel-ucode-20210222.cgz' export lkp_initrd='/osimage/user/lkp/lkp-x86_64.cgz' export site='inn' export LKP_CGI_PORT=80 export LKP_CIFS_PORT=139 export last_kernel='5.12.0-rc6-00349-g6628ddfec758' export repeat_to=22 export queue_at_least_once=1 export kernel='/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/vmlinuz-5.12.0-rc6-00349-g6628ddfec758' export dequeue_time='2021-04-20 02:09:41 +0800' export job_initrd='/lkp/jobs/scheduled/lkp-skl-d06/kernel-selftests-net-ucode=0xe2-debian-10.4-x86_64-20200603.cgz-6628ddfec7580882f11fdc5c194a8ea781fdadfa-20210420-22596-1xcbswy-21.cgz' [ -n "$LKP_SRC" ] || export LKP_SRC=/lkp/${user:-lkp}/src } run_job() { echo $$ > $TMP/run-job.pid . $LKP_SRC/lib/http.sh . $LKP_SRC/lib/job.sh . $LKP_SRC/lib/env.sh export_top_env run_monitor $LKP_SRC/monitors/wrapper kmsg run_monitor $LKP_SRC/monitors/wrapper heartbeat run_monitor $LKP_SRC/monitors/wrapper meminfo run_monitor $LKP_SRC/monitors/wrapper oom-killer run_monitor $LKP_SRC/monitors/plain/watchdog run_test group='net' $LKP_SRC/tests/wrapper kernel-selftests } extract_stats() { export stats_part_begin= export stats_part_end= env group='net' $LKP_SRC/stats/wrapper kernel-selftests $LKP_SRC/stats/wrapper kmsg $LKP_SRC/stats/wrapper meminfo $LKP_SRC/stats/wrapper time kernel-selftests.time $LKP_SRC/stats/wrapper dmesg $LKP_SRC/stats/wrapper kmsg $LKP_SRC/stats/wrapper last_state $LKP_SRC/stats/wrapper stderr $LKP_SRC/stats/wrapper time } "$@" --eqp4TxRxnD4KrmFZ Content-Type: application/x-xz Content-Disposition: attachment; filename="kmsg.xz" Content-Transfer-Encoding: base64 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 Z/sCAAAAAARZWg== --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=kernel-selftests KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-8.3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa 2021-04-19 18:11:25 mount --bind /lib/modules/5.12.0-rc6-00349-g6628ddfec758/kernel/lib /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa/lib 2021-04-19 18:11:25 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh LKP SKIP net.l2tp.sh LKP SKIP net.tls 2021-04-19 18:11:26 /kselftests/run_kselftest.sh -c net TAP version 13 1..47 # selftests: net: reuseport_bpf # ---- IPv4 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP w/ mapped IPv4 ---- # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # ---- IPv4 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP w/ mapped IPv4 ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing filter add without bind... # SUCCESS ok 1 selftests: net: reuseport_bpf # selftests: net: reuseport_bpf_cpu # ---- IPv4 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv4 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # SUCCESS ok 2 selftests: net: reuseport_bpf_cpu # selftests: net: reuseport_bpf_numa # ---- IPv4 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv4 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # SUCCESS ok 3 selftests: net: reuseport_bpf_numa # selftests: net: reuseport_dualstack # ---- UDP IPv4 created before IPv6 ---- # ---- UDP IPv6 created before IPv4 ---- # ---- UDP IPv4 created before IPv6 (large) ---- # ---- UDP IPv6 created before IPv4 (large) ---- # ---- TCP IPv4 created before IPv6 ---- # ---- TCP IPv6 created before IPv4 ---- # SUCCESS ok 4 selftests: net: reuseport_dualstack # selftests: net: reuseaddr_conflict # Opening 127.0.0.1:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening in6addr_any:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening INADDR_ANY:9999 after closing ipv6 socket # bind: Address already in use # Successok 5 selftests: net: reuseaddr_conflict # selftests: net: run_netsocktests # -------------------- # running socket test # -------------------- # [PASS] ok 6 selftests: net: run_netsocktests # selftests: net: run_afpackettests # -------------------- # running psock_fanout test # -------------------- # test: control single socket # test: control multiple sockets # test: control multiple sockets, max_num_members # test: unique ids # # test: datapath 0x0 ports 8000,8002 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (20) # # test: datapath 0x0 ports 8000,8003 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (19) # # test: datapath 0x0 ports 8000,8004 # info: count=0,0, expect=0,0 # info: count=20,0, expect=15,5 # warning: incorrect queue lengths # info: count=20,0, expect=20,5 # warning: incorrect queue lengths # info: trying alternate ports (18) # # test: datapath 0x0 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,5, expect=20,5 # # test: datapath 0x1000 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,15, expect=20,15 # # test: datapath 0x1 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=10,10, expect=10,10 # info: count=17,18, expect=18,17 # # test: datapath 0x3 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=15,5, expect=15,5 # info: count=20,15, expect=20,15 # # test: datapath 0x6 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=5,15, expect=15,5 # info: count=20,15, expect=15,20 # # test: datapath 0x7 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=5,15, expect=15,5 # info: count=20,15, expect=15,20 # # test: datapath 0x2 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=20,0, expect=20,0 # info: count=20,0, expect=20,0 # # test: datapath 0x2 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=0,20, expect=0,20 # info: count=0,20, expect=0,20 # # test: datapath 0x2000 ports 8000,8005 # info: count=0,0, expect=0,0 # info: count=20,20, expect=20,20 # info: count=20,20, expect=20,20 # OK. All tests passed # [PASS] # -------------------- # running psock_tpacket test # -------------------- # test: TPACKET_V1 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V1 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V2 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V2 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V3 with PACKET_RX_RING .................... 100 pkts (14200 bytes) # test: TPACKET_V3 with PACKET_TX_RING .................... 100 pkts (14200 bytes) # OK. All tests passed # [PASS] # -------------------- # running txring_overwrite test # -------------------- # read: a (0x61) # read: b (0x62) # [PASS] ok 7 selftests: net: run_afpackettests # selftests: net: test_bpf.sh # test_bpf: ok ok 8 selftests: net: test_bpf.sh # selftests: net: netdevice.sh # SKIP: eth0: interface already up # PASS: eth0: ethtool list features # PASS: eth0: ethtool dump # PASS: eth0: ethtool stats # SKIP: eth0: interface kept up ok 9 selftests: net: netdevice.sh # selftests: net: rtnetlink.sh # PASS: policy routing # PASS: route get # PASS: preferred_lft addresses have expired # PASS: promote_secondaries complete # PASS: tc htb hierarchy # PASS: gre tunnel endpoint # PASS: gretap # PASS: ip6gretap # PASS: erspan # PASS: ip6erspan # PASS: bridge setup # PASS: ipv6 addrlabel # PASS: set ifalias dd92e639-529c-4948-9fc7-f3f3dec29199 for test-dummy0 # PASS: vrf # PASS: vxlan # PASS: fou # PASS: macsec # PASS: ipsec # PASS: ipsec_offload # PASS: bridge fdb get # PASS: neigh get # Error: Unknown device type. # Error: argument "test-bond0" is wrong: Device does not exist # # Error: argument "test-bond0" is wrong: Device does not exist # # Cannot find device "test-bond0" # Cannot find device "test-bond0" # FAIL: bridge_parent_id not ok 10 selftests: net: rtnetlink.sh # exit=1 # selftests: net: xfrm_policy.sh # PASS: policy before exception matches # PASS: ping to .254 bypassed ipsec tunnel (exceptions) # PASS: direct policy matches (exceptions) # PASS: policy matches (exceptions) # PASS: ping to .254 bypassed ipsec tunnel (exceptions and block policies) # PASS: direct policy matches (exceptions and block policies) # PASS: policy matches (exceptions and block policies) # not ok 11 selftests: net: xfrm_policy.sh # TIMEOUT 45 seconds # selftests: net: test_blackhole_dev.sh # test_blackhole_dev: ok ok 12 selftests: net: test_blackhole_dev.sh # selftests: net: fib_tests.sh # # Single path route test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # Nexthop device deleted # TEST: IPv4 fibmatch - no route [ OK ] # TEST: IPv6 fibmatch - no route [ OK ] # # Multipath route test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # One nexthop device deleted # TEST: IPv4 - multipath route removed on delete [ OK ] # TEST: IPv6 - multipath down to single path [ OK ] # Second nexthop device deleted # TEST: IPv6 - no route [ OK ] # # Single path, admin down # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # Route deleted on down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # # Admin down multipath # Verify start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # One device down, one up # TEST: IPv4 fibmatch on down device [ OK ] # TEST: IPv6 fibmatch on down device [ OK ] # TEST: IPv4 fibmatch on up device [ OK ] # TEST: IPv6 fibmatch on up device [ OK ] # TEST: IPv4 flags on down device [ OK ] # TEST: IPv6 flags on down device [ OK ] # TEST: IPv4 flags on up device [ OK ] # TEST: IPv6 flags on up device [ OK ] # Other device down and up # TEST: IPv4 fibmatch on down device [ OK ] # TEST: IPv6 fibmatch on down device [ OK ] # TEST: IPv4 fibmatch on up device [ OK ] # TEST: IPv6 fibmatch on up device [ OK ] # TEST: IPv4 flags on down device [ OK ] # TEST: IPv6 flags on down device [ OK ] # TEST: IPv4 flags on up device [ OK ] # TEST: IPv6 flags on up device [ OK ] # Both devices down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # # Local carrier tests - single path # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 - no linkdown flag [ OK ] # TEST: IPv6 - no linkdown flag [ OK ] # Carrier off on nexthop # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 - linkdown flag set [ OK ] # TEST: IPv6 - linkdown flag set [ OK ] # Route to local address with carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # # Single path route carrier test # Start point # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 no linkdown flag [ OK ] # TEST: IPv6 no linkdown flag [ OK ] # Carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # Second address added with carrier down # TEST: IPv4 fibmatch [ OK ] # TEST: IPv6 fibmatch [ OK ] # TEST: IPv4 linkdown flag set [ OK ] # TEST: IPv6 linkdown flag set [ OK ] # # IPv4 nexthop tests # <<< write me >>> # # IPv6 nexthop tests # TEST: Directly connected nexthop, unicast address [ OK ] # TEST: Directly connected nexthop, unicast address with device [ OK ] # TEST: Gateway is linklocal address [ OK ] # TEST: Gateway is linklocal address, no device [ OK ] # TEST: Gateway can not be local unicast address [ OK ] # TEST: Gateway can not be local unicast address, with device [ OK ] # TEST: Gateway can not be a local linklocal address [ OK ] # TEST: Gateway can be local address in a VRF [ OK ] # TEST: Gateway can be local address in a VRF, with device [ OK ] # TEST: Gateway can be local linklocal address in a VRF [ OK ] # TEST: Redirect to VRF lookup [ OK ] # TEST: VRF route, gateway can be local address in default VRF [ OK ] # TEST: VRF route, gateway can not be a local address [ OK ] # TEST: VRF route, gateway can not be a local addr with device [ OK ] # # FIB rule with suppress_prefixlength # TEST: FIB rule suppress test [ OK ] # # IPv6 route add / append tests # TEST: Attempt to add duplicate route - gw [ OK ] # TEST: Attempt to add duplicate route - dev only [ OK ] # TEST: Attempt to add duplicate route - reject route [ OK ] # TEST: Append nexthop to existing route - gw [ OK ] # TEST: Add multipath route [ OK ] # TEST: Attempt to add duplicate multipath route [ OK ] # TEST: Route add with different metrics [ OK ] # TEST: Route delete with metric [ OK ] # # IPv6 route replace tests # TEST: Single path with single path [ OK ] # TEST: Single path with multipath [ OK ] # TEST: Single path with single path via multipath attribute [ OK ] # TEST: Invalid nexthop [ OK ] # TEST: Single path - replace of non-existent route [ OK ] # TEST: Multipath with multipath [ OK ] # TEST: Multipath with single path [ OK ] # TEST: Multipath with single path via multipath attribute [ OK ] # TEST: Multipath with dev-only [ OK ] # TEST: Multipath - invalid first nexthop [ OK ] # TEST: Multipath - invalid second nexthop [ OK ] # TEST: Multipath - replace of non-existent route [ OK ] # # IPv4 route add / append tests # TEST: Attempt to add duplicate route - gw [ OK ] # TEST: Attempt to add duplicate route - dev only [ OK ] # TEST: Attempt to add duplicate route - reject route [ OK ] # TEST: Add new nexthop for existing prefix [ OK ] # TEST: Append nexthop to existing route - gw [ OK ] # TEST: Append nexthop to existing route - dev only [ OK ] # TEST: Append nexthop to existing route - reject route [ OK ] # TEST: Append nexthop to existing reject route - gw [ OK ] # TEST: Append nexthop to existing reject route - dev only [ OK ] # TEST: add multipath route [ OK ] # TEST: Attempt to add duplicate multipath route [ OK ] # TEST: Route add with different metrics [ OK ] # TEST: Route delete with metric [ OK ] # # IPv4 route replace tests # TEST: Single path with single path [ OK ] # TEST: Single path with multipath [ OK ] # TEST: Single path with reject route [ OK ] # TEST: Single path with single path via multipath attribute [ OK ] # TEST: Invalid nexthop [ OK ] # TEST: Single path - replace of non-existent route [ OK ] # TEST: Multipath with multipath [ OK ] # TEST: Multipath with single path [ OK ] # TEST: Multipath with single path via multipath attribute [ OK ] # TEST: Multipath with reject route [ OK ] # TEST: Multipath - invalid first nexthop [ OK ] # TEST: Multipath - invalid second nexthop [ OK ] # TEST: Multipath - replace of non-existent route [ OK ] # # IPv6 prefix route tests # TEST: Default metric [ OK ] # TEST: User specified metric on first device [ OK ] # TEST: User specified metric on second device [ OK ] # TEST: Delete of address on first device [ OK ] # TEST: Modify metric of address [ OK ] # TEST: Prefix route removed on link down [ OK ] # TEST: Prefix route with metric on link up [ OK ] # TEST: Set metric with peer route on local side [ OK ] # TEST: Set metric with peer route on peer side [ OK ] # TEST: Modify metric and peer address on local side [ OK ] # TEST: Modify metric and peer address on peer side [ OK ] # # IPv4 prefix route tests # TEST: Default metric [ OK ] # TEST: User specified metric on first device [ OK ] # TEST: User specified metric on second device [ OK ] # TEST: Delete of address on first device [ OK ] # TEST: Modify metric of address [ OK ] # TEST: Prefix route removed on link down [ OK ] # TEST: Prefix route with metric on link up [ OK ] # TEST: Modify metric of .0/24 address [ OK ] # TEST: Set metric of address with peer route [ OK ] # TEST: Modify metric and peer address for peer route [ OK ] # # IPv6 routes with metrics # TEST: Single path route with mtu metric [ OK ] # TEST: Multipath route via 2 single routes with mtu metric on first [ OK ] # TEST: Multipath route via 2 single routes with mtu metric on 2nd [ OK ] # TEST: MTU of second leg [ OK ] # TEST: Multipath route with mtu metric [ OK ] # TEST: Using route with mtu metric [ OK ] # TEST: Invalid metric (fails metric_convert) [ OK ] # # IPv4 route add / append tests # TEST: Single path route with mtu metric [ OK ] # TEST: Multipath route with mtu metric [ OK ] # TEST: Using route with mtu metric [ OK ] # TEST: Invalid metric (fails metric_convert) [ OK ] # # IPv4 route with IPv6 gateway tests # TEST: Single path route with IPv6 gateway [ OK ] # TEST: Single path route with IPv6 gateway - ping [ OK ] # TEST: Single path route delete [ OK ] # TEST: Multipath route add - v6 nexthop then v4 [ OK ] # TEST: Multipath route delete - nexthops in wrong order [ OK ] # TEST: Multipath route delete exact match [ OK ] # TEST: Multipath route add - v4 nexthop then v6 [ OK ] # TEST: Multipath route delete - nexthops in wrong order [ OK ] # TEST: Multipath route delete exact match [ OK ] # # IPv4 rp_filter tests # TEST: rp_filter passes local packets [FAIL] # TEST: rp_filter passes loopback packets [FAIL] # # IPv4 delete address route tests # TEST: Route removed from VRF when source address deleted [ OK ] # TEST: Route in default VRF not removed [ OK ] # TEST: Route removed in default VRF when source address deleted [ OK ] # TEST: Route in VRF is not removed by address delete [ OK ] # # Tests passed: 163 # Tests failed: 2 not ok 13 selftests: net: fib_tests.sh # exit=1 # selftests: net: fib-onlink-tests.sh # Error: ipv4: FIB table does not exist. # Flush terminated # Error: ipv6: FIB table does not exist. # Flush terminated # # ######################################## # Configuring interfaces # # ###################################################################### # TEST SECTION: IPv4 onlink # ###################################################################### # # ######################################### # TEST SUBSECTION: Valid onlink commands # # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath [ OK ] # TEST: unicast recursive - multipath [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # # ###################################################################### # TEST SECTION: IPv6 onlink # ###################################################################### # # ######################################### # TEST SUBSECTION: Valid onlink commands # # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath onlink [ OK ] # TEST: unicast recursive - multipath onlink [ OK ] # TEST: v4-mapped - multipath onlink [ OK ] # TEST: unicast connected - multipath onlink both nexthops [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local linklocal address [ OK ] # TEST: Invalid gw - multicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: Invalid gw - local linklocal address, VRF [ OK ] # TEST: Invalid gw - multicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # # Tests passed: 38 # Tests failed: 0 ok 14 selftests: net: fib-onlink-tests.sh # selftests: net: pmtu.sh # TEST: ipv4: PMTU exceptions [ OK ] # TEST: ipv4: PMTU exceptions - nexthop objects [ OK ] # TEST: ipv6: PMTU exceptions [ OK ] # TEST: ipv6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve6: PMTU exceptions [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface # TEST: IPv4 over geneve6: PMTU exceptions - nexthop objects [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface # TEST: IPv6 over geneve6: PMTU exceptions [ OK ] # TEST: IPv6 over geneve6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # not ok 15 selftests: net: pmtu.sh # TIMEOUT 45 seconds # selftests: net: udpgso.sh # ipv4 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv4 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv6 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK # ipv6 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK # ipv4 connected # device mtu (orig): 65536 # device mtu (test): 1600 # route mtu (test): 1500 # path mtu (read): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv4 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 # ipv4 tx:1472 gso:0 # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 # ipv4 tx:1473 gso:1472 # ipv4 tx:2944 gso:1472 # ipv4 tx:2945 gso:1472 # ipv4 tx:64768 gso:1472 # ipv4 tx:65507 gso:1472 # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 # ipv4 tx:2 gso:1 # ipv4 tx:5 gso:2 # ipv4 tx:36 gso:1 # ipv4 tx:37 gso:1 (fail) # OK # ipv6 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 # ipv6 tx:1452 gso:0 # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 # ipv6 tx:1453 gso:1452 # ipv6 tx:2904 gso:1452 # ipv6 tx:2905 gso:1452 # ipv6 tx:65340 gso:1452 # ipv6 tx:65527 gso:1452 # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 # ipv6 tx:2 gso:1 # ipv6 tx:5 gso:2 # ipv6 tx:16 gso:1 # ipv6 tx:17 gso:1 (fail) # OK ok 16 selftests: net: udpgso.sh # selftests: net: ip_defrag.sh # ipv4 defrag # PASS # seed = 1618856025 # ipv4 defrag with overlaps # PASS # seed = 1618856025 # ipv6 defrag # PASS # seed = 1618856029 # ipv6 defrag with overlaps # PASS # seed = 1618856029 # ipv6 nf_conntrack defrag # PASS # seed = 1618856034 # ipv6 nf_conntrack defrag with overlaps # PASS # seed = 1618856034 # all tests done ok 17 selftests: net: ip_defrag.sh # selftests: net: udpgso_bench.sh # ipv4 # tcp # tcp tx: 3312 MB/s 56177 calls/s 56177 msg/s # tcp rx: 3314 MB/s 56188 calls/s # tcp tx: 3272 MB/s 55503 calls/s 55503 msg/s # tcp rx: 3275 MB/s 55546 calls/s # tcp tx: 3258 MB/s 55268 calls/s 55268 msg/s # tcp zerocopy # tcp tx: 2381 MB/s 40387 calls/s 40387 msg/s # tcp rx: 2382 MB/s 39941 calls/s # tcp tx: 2381 MB/s 40396 calls/s 40396 msg/s # tcp rx: 2384 MB/s 40313 calls/s # tcp tx: 2394 MB/s 40609 calls/s 40609 msg/s # udp # udp rx: 161 MB/s 114903 calls/s # udp tx: 161 MB/s 114912 calls/s 2736 msg/s # udp tx: 162 MB/s 115752 calls/s 2756 msg/s # udp rx: 162 MB/s 115867 calls/s # udp tx: 162 MB/s 115920 calls/s 2760 msg/s # udp gso # udp rx: 908 MB/s 646910 calls/s # udp tx: 910 MB/s 15444 calls/s 15444 msg/s # udp rx: 912 MB/s 649930 calls/s # udp tx: 911 MB/s 15461 calls/s 15461 msg/s # udp rx: 910 MB/s 648850 calls/s # udp tx: 909 MB/s 15434 calls/s 15434 msg/s # udp gso zerocopy # udp rx: 857 MB/s 611018 calls/s # udp tx: 859 MB/s 14577 calls/s 14577 msg/s # udp rx: 867 MB/s 618312 calls/s # udp tx: 866 MB/s 14703 calls/s 14703 msg/s # udp tx: 874 MB/s 14831 calls/s 14831 msg/s # udp rx: 875 MB/s 623332 calls/s # udp gso timestamp # udp rx: 833 MB/s 593744 calls/s # udp tx: 835 MB/s 14179 calls/s 14179 msg/s # udp rx: 848 MB/s 604086 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 850 MB/s 605724 calls/s # udp tx: 849 MB/s 14408 calls/s 14408 msg/s # udp gso zerocopy audit # udp rx: 859 MB/s 612362 calls/s # udp tx: 862 MB/s 14622 calls/s 14622 msg/s # udp rx: 870 MB/s 620390 calls/s # udp tx: 870 MB/s 14759 calls/s 14759 msg/s # udp rx: 870 MB/s 620208 calls/s # udp tx: 869 MB/s 14751 calls/s 14751 msg/s # Summary over 3.000 seconds... # sum udp tx: 888 MB/s 44132 calls (14710/s) 44132 msgs (14710/s) # Zerocopy acks: 44132 # udp gso timestamp audit # udp rx: 834 MB/s 594663 calls/s # udp tx: 837 MB/s 14201 calls/s 14201 msg/s # udp rx: 844 MB/s 601373 calls/s # udp tx: 843 MB/s 14305 calls/s 14305 msg/s # udp rx: 845 MB/s 602148 calls/s # udp tx: 844 MB/s 14323 calls/s 14323 msg/s # Summary over 3.000 seconds... # sum udp tx: 861 MB/s 42829 calls (14276/s) 42829 msgs (14276/s) # Tx Timestamps: 42829 received 0 errors # udp gso zerocopy timestamp audit # udp rx: 739 MB/s 526987 calls/s # udp tx: 742 MB/s 12589 calls/s 12589 msg/s # udp rx: 748 MB/s 533484 calls/s # udp tx: 748 MB/s 12690 calls/s 12690 msg/s # udp rx: 749 MB/s 534030 calls/s # udp tx: 748 MB/s 12702 calls/s 12702 msg/s # Summary over 3.000 seconds... # sum udp tx: 764 MB/s 37981 calls (12660/s) 37981 msgs (12660/s) # Tx Timestamps: 37981 received 0 errors # Zerocopy acks: 37981 # ipv6 # tcp # tcp tx: 3210 MB/s 54445 calls/s 54445 msg/s # tcp rx: 3212 MB/s 54443 calls/s # tcp tx: 3274 MB/s 55541 calls/s 55541 msg/s # tcp rx: 3279 MB/s 55592 calls/s # tcp tx: 3265 MB/s 55385 calls/s 55385 msg/s # tcp zerocopy # tcp tx: 2376 MB/s 40299 calls/s 40299 msg/s # tcp rx: 2377 MB/s 40284 calls/s # tcp tx: 2407 MB/s 40841 calls/s 40841 msg/s # tcp rx: 2410 MB/s 40861 calls/s # tcp tx: 2403 MB/s 40766 calls/s 40766 msg/s # udp # udp rx: 133 MB/s 97368 calls/s # udp tx: 133 MB/s 97481 calls/s 2267 msg/s # udp rx: 138 MB/s 100831 calls/s # udp tx: 138 MB/s 100749 calls/s 2343 msg/s # udp tx: 138 MB/s 100964 calls/s 2348 msg/s # udp gso # udp rx: 895 MB/s 652800 calls/s # udp tx: 897 MB/s 15222 calls/s 15222 msg/s # udp rx: 901 MB/s 657664 calls/s # udp tx: 901 MB/s 15283 calls/s 15283 msg/s # udp rx: 905 MB/s 660736 calls/s # udp tx: 904 MB/s 15348 calls/s 15348 msg/s # udp gso zerocopy # udp rx: 849 MB/s 619264 calls/s # udp tx: 851 MB/s 14442 calls/s 14442 msg/s # udp rx: 857 MB/s 625664 calls/s # udp tx: 857 MB/s 14539 calls/s 14539 msg/s # udp rx: 859 MB/s 626641 calls/s # udp tx: 858 MB/s 14556 calls/s 14556 msg/s # udp gso timestamp # udp rx: 836 MB/s 609998 calls/s # udp tx: 838 MB/s 14229 calls/s 14229 msg/s # udp rx: 848 MB/s 618555 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 848 MB/s 618598 calls/s # udp tx: 847 MB/s 14372 calls/s 14372 msg/s # not ok 18 selftests: net: udpgso_bench.sh # TIMEOUT 45 seconds # selftests: net: fib_rule_tests.sh # # ###################################################################### # TEST SECTION: IPv4 fib rule # ###################################################################### # # TEST: rule4 check: oif dummy0 [ OK ] # # TEST: rule4 del by pref: oif dummy0 [ OK ] # net.ipv4.ip_forward = 1 # net.ipv4.conf.dummy0.rp_filter = 0 # # TEST: rule4 check: from 192.51.100.3 iif dummy0 [ OK ] # # TEST: rule4 del by pref: from 192.51.100.3 iif dummy0 [ OK ] # net.ipv4.ip_forward = 0 # # TEST: rule4 check: tos 0x10 [ OK ] # # TEST: rule4 del by pref: tos 0x10 [ OK ] # # TEST: rule4 check: fwmark 0x64 [ OK ] # # TEST: rule4 del by pref: fwmark 0x64 [ OK ] # # TEST: rule4 check: uidrange 100-100 [ OK ] # # TEST: rule4 del by pref: uidrange 100-100 [ OK ] # # TEST: rule4 check: sport 666 dport 777 [ OK ] # # TEST: rule4 del by pref: sport 666 dport 777 [ OK ] # # TEST: rule4 check: ipproto tcp [ OK ] # # TEST: rule4 del by pref: ipproto tcp [ OK ] # # TEST: rule4 check: ipproto icmp [ OK ] # # TEST: rule4 del by pref: ipproto icmp [ OK ] # # ###################################################################### # TEST SECTION: IPv6 fib rule # ###################################################################### # # TEST: rule6 check: oif dummy0 [ OK ] # # TEST: rule6 del by pref: oif dummy0 [ OK ] # # TEST: rule6 check: from 2001:db8:1::3 iif dummy0 [ OK ] # # TEST: rule6 del by pref: from 2001:db8:1::3 iif dummy0 [ OK ] # # TEST: rule6 check: tos 0x10 [ OK ] # # TEST: rule6 del by pref: tos 0x10 [ OK ] # # TEST: rule6 check: fwmark 0x64 [ OK ] # # TEST: rule6 del by pref: fwmark 0x64 [ OK ] # # TEST: rule6 check: uidrange 100-100 [ OK ] # # TEST: rule6 del by pref: uidrange 100-100 [ OK ] # # TEST: rule6 check: sport 666 dport 777 [ OK ] # # TEST: rule6 del by pref: sport 666 dport 777 [ OK ] # # TEST: rule6 check: ipproto tcp [ OK ] # # TEST: rule6 del by pref: ipproto tcp [ OK ] # # TEST: rule6 check: ipproto ipv6-icmp [ OK ] # # TEST: rule6 del by pref: ipproto ipv6-icmp [ OK ] # # Tests passed: 32 # Tests failed: 0 ok 19 selftests: net: fib_rule_tests.sh # selftests: net: msg_zerocopy.sh # ipv4 tcp -t 1 # tx=63418 (3957 MB) txc=0 zc=n # rx=31710 (3957 MB) # ipv4 tcp -z -t 1 # tx=49828 (3109 MB) txc=49828 zc=n # rx=24915 (3109 MB) # ok # ipv6 tcp -t 1 # tx=52634 (3284 MB) txc=0 zc=n # rx=26318 (3284 MB) # ipv6 tcp -z -t 1 # tx=42575 (2656 MB) txc=42575 zc=n # rx=21289 (2656 MB) # ok # ipv4 udp -t 1 # tx=70296 (4386 MB) txc=0 zc=n # rx=70293 (4386 MB) # ipv4 udp -z -t 1 # tx=51885 (3237 MB) txc=51885 zc=n # rx=51849 (3235 MB) # ok # ipv6 udp -t 1 # tx=68014 (4244 MB) txc=0 zc=n # rx=68011 (4244 MB) # ipv6 udp -z -t 1 # tx=51422 (3208 MB) txc=51422 zc=n # rx=51422 (3208 MB) # ok # OK. All tests passed ok 20 selftests: net: msg_zerocopy.sh # selftests: net: psock_snd.sh # dgram # tx: 128 # rx: 142 # rx: 100 # OK # # dgram bind # tx: 128 # rx: 142 # rx: 100 # OK # # raw # tx: 142 # rx: 142 # rx: 100 # OK # # raw bind # tx: 142 # rx: 142 # rx: 100 # OK # # raw qdisc bypass # tx: 142 # rx: 142 # rx: 100 # OK # # raw vlan # tx: 146 # rx: 100 # OK # # raw vnet hdr # tx: 152 # rx: 142 # rx: 100 # OK # # raw csum_off # tx: 152 # rx: 142 # rx: 100 # OK # # raw csum_off with bad offset (expected to fail) # ./psock_snd: write: Invalid argument # raw min size # tx: 42 # rx: 0 # OK # # raw mtu size # tx: 1514 # rx: 1472 # OK # # raw mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw vlan mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # dgram mtu size # tx: 1500 # rx: 1472 # OK # # dgram mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw truncate hlen (expected to fail: does not arrive) # tx: 14 # ./psock_snd: recv: Resource temporarily unavailable # raw truncate hlen - 1 (expected to fail: EINVAL) # ./psock_snd: write: Invalid argument # raw gso min size # tx: 1525 # rx: 1473 # OK # # raw gso min size - 1 (expected to fail) # tx: 1524 # rx: 1472 # OK # not ok 21 selftests: net: psock_snd.sh # exit=1 # selftests: net: udpgro_bench.sh # ipv4 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # tcp tx: 312 MB/s 5303 calls/s 5303 msg/s # tcp rx: 313 MB/s 8226 calls/s # tcp tx: 419 MB/s 7122 calls/s 7122 msg/s # tcp rx: 420 MB/s 12619 calls/s # tcp tx: 330 MB/s 5613 calls/s 5613 msg/s # tcp rx: 331 MB/s 10536 calls/s # tcp tx: 412 MB/s 7004 calls/s 7004 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 185 MB/s 131787 calls/s # udp tx: 224 MB/s 3816 calls/s 3816 msg/s # udp rx: 223 MB/s 159444 calls/s # udp tx: 223 MB/s 3792 calls/s 3792 msg/s # udp rx: 222 MB/s 158432 calls/s # udp tx: 222 MB/s 3772 calls/s 3772 msg/s # udp rx: 225 MB/s 160692 calls/s # udp tx: 225 MB/s 3823 calls/s 3823 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 337 MB/s 5696 calls/s # udp tx: 398 MB/s 6766 calls/s 6766 msg/s # udp rx: 393 MB/s 6633 calls/s # udp tx: 395 MB/s 6705 calls/s 6705 msg/s # udp rx: 492 MB/s 8062 calls/s # udp tx: 482 MB/s 8189 calls/s 8189 msg/s # udp rx: 370 MB/s 6277 calls/s # udp tx: 368 MB/s 6244 calls/s 6244 msg/s # ipv6 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # tcp tx: 341 MB/s 5791 calls/s 5791 msg/s # tcp rx: 341 MB/s 4019 calls/s # tcp tx: 416 MB/s 7057 calls/s 7057 msg/s # tcp rx: 417 MB/s 13385 calls/s # tcp tx: 346 MB/s 5876 calls/s 5876 msg/s # tcp rx: 385 MB/s 4648 calls/s # tcp tx: 417 MB/s 7084 calls/s 7084 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 205 MB/s 149604 calls/s # udp tx: 251 MB/s 4268 calls/s 4268 msg/s # udp rx: 248 MB/s 181300 calls/s # udp tx: 245 MB/s 4164 calls/s 4164 msg/s # udp rx: 230 MB/s 168028 calls/s # udp tx: 230 MB/s 3903 calls/s 3903 msg/s # udp rx: 230 MB/s 167755 calls/s # udp tx: 229 MB/s 3899 calls/s 3899 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # udp rx: 321 MB/s 5459 calls/s # udp tx: 374 MB/s 6356 calls/s 6356 msg/s # udp rx: 361 MB/s 6131 calls/s # udp tx: 359 MB/s 6105 calls/s 6105 msg/s # udp rx: 356 MB/s 6052 calls/s # udp tx: 356 MB/s 6048 calls/s 6048 msg/s # udp rx: 358 MB/s 6088 calls/s # udp tx: 358 MB/s 6081 calls/s 6081 msg/s ok 22 selftests: net: udpgro_bench.sh # selftests: net: udpgro.sh # ipv4 # no GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # no GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # bad GRO lookup Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # multiple GRO socks Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # ipv6 # no GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # no GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO chk cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # GRO with custom segment size cmsg Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # bad GRO lookup Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok # multiple GRO socks Continuing without mounted eBPF fs. Too old kernel? # # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=2 # [2] STRUCT xdp_md size=24 vlen=6 # data type_id=3 bits_offset=0 # data_end type_id=3 bits_offset=32 # data_meta type_id=3 bits_offset=64 # ingress_ifindex type_id=3 bits_offset=96 # rx_queue_index type_id=3 bits_offset=128 # egress_ifindex type_id=3 bits_offset=160 # [3] TYPEDEF __u32 type_id=4 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none) # [5] FUNC_PROTO (anon) return=6 args=(1 ctx) # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED # [7] FUNC xdp_dummy_prog type_id=5 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none) # [11] VAR _license type_id=9 linkage=1 # [12] DATASEC license size=0 vlen=1 size == 0 # # ok ok 23 selftests: net: udpgro.sh # selftests: net: test_vxlan_under_vrf.sh # Checking HV connectivity [ OK ] # Check VM connectivity through VXLAN (underlay in the default VRF) [ OK ] # Check VM connectivity through VXLAN (underlay in a VRF) [FAIL] not ok 24 selftests: net: test_vxlan_under_vrf.sh # exit=1 # selftests: net: reuseport_addr_any.sh # UDP IPv4 ... pass # UDP IPv6 ... pass # UDP IPv4 mapped to IPv6 ... pass # TCP IPv4 ... pass # TCP IPv6 ... pass # TCP IPv4 mapped to IPv6 ... pass # DCCP not supported: skipping DCCP tests # SUCCESS ok 25 selftests: net: reuseport_addr_any.sh # selftests: net: test_vxlan_fdb_changelink.sh # expected two remotes after fdb append [ OK ] # expected two remotes after link set [ OK ] ok 26 selftests: net: test_vxlan_fdb_changelink.sh # selftests: net: so_txtime.sh # # SO_TXTIME ipv6 clock monotonic # payload:a delay:81 expected:0 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:54 expected:0 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:47 expected:0 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:62 expected:0 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:10065 expected:10000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:10104 expected:10000 (us) # # SO_TXTIME ipv6 clock monotonic # payload:a delay:10069 expected:10000 (us) # payload:b delay:20036 expected:20000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:a delay:10100 expected:10000 (us) # payload:b delay:20150 expected:20000 (us) # # SO_TXTIME ipv6 clock monotonic # payload:b delay:20350 expected:20000 (us) # payload:a delay:20384 expected:20000 (us) # # SO_TXTIME ipv4 clock monotonic # payload:b delay:20351 expected:20000 (us) # payload:a delay:20385 expected:20000 (us) # # SO_TXTIME ipv6 clock tai # send: pkt a at -1618856139102ms dropped: invalid txtime # ./so_txtime: recv: timeout # # SO_TXTIME ipv6 clock tai # send: pkt a at 0ms dropped: invalid txtime # ./so_txtime: recv: timeout # # SO_TXTIME ipv6 clock tai # payload:a delay:9663 expected:10000 (us) # # SO_TXTIME ipv4 clock tai # payload:a delay:9720 expected:10000 (us) # # SO_TXTIME ipv6 clock tai # payload:a delay:9806 expected:10000 (us) # payload:b delay:19756 expected:20000 (us) # # SO_TXTIME ipv4 clock tai # payload:a delay:9640 expected:10000 (us) # payload:b delay:19644 expected:20000 (us) # # SO_TXTIME ipv6 clock tai # payload:b delay:9664 expected:10000 (us) # payload:a delay:19743 expected:20000 (us) # # SO_TXTIME ipv4 clock tai # payload:b delay:9655 expected:10000 (us) # payload:a delay:19688 expected:20000 (us) # OK. All tests passed ok 27 selftests: net: so_txtime.sh # selftests: net: ipv6_flowlabel.sh # TEST management # [OK] !(flowlabel_get(fd, 1, 255, 0)) # [OK] !(flowlabel_put(fd, 1)) # [OK] !(flowlabel_get(fd, 0x1FFFFF, 255, 1)) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] flowlabel_get(fd, 1, 255, 0) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] !(flowlabel_get(fd, 1, 255, 1 | 2)) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] !(flowlabel_put(fd, 1)) # [OK] flowlabel_get(fd, 2, 1, 1) # [OK] !(flowlabel_get(fd, 2, 255, 1)) # [OK] !(flowlabel_get(fd, 2, 1, 1)) # [OK] flowlabel_put(fd, 2) # [OK] flowlabel_get(fd, 3, 3, 1) # [OK] !(flowlabel_get(fd, 3, 255, 0)) # [OK] !(flowlabel_get(fd, 3, 1, 0)) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] !(flowlabel_get(fd, 3, 3, 0)) # [OK] flowlabel_get(fd, 4, 2, 1) # [OK] flowlabel_get(fd, 4, 2, 0) # [OK] !(flowlabel_get(fd, 4, 2, 0)) # TEST datapath # send no label: recv no label (auto off) # sent without label # recv without label # send label # sent with label 1 # recv with label 1 # TEST datapath (with auto-flowlabels) # send no label: recv auto flowlabel # sent without label # recv with label 177325 # send label # sent with label 1 # recv with label 1 # OK. All tests passed ok 28 selftests: net: ipv6_flowlabel.sh # selftests: net: tcp_fastopen_backup_key.sh # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # all tests done ok 29 selftests: net: tcp_fastopen_backup_key.sh # selftests: net: fcnal-test.sh # 'nettest' command not found; skipping tests ok 30 selftests: net: fcnal-test.sh # selftests: net: traceroute.sh # SKIP: Could not run IPV6 test without traceroute6 # SKIP: Could not run IPV4 test without traceroute # # Tests passed: 0 # Tests failed: 0 ok 31 selftests: net: traceroute.sh # selftests: net: fin_ack_lat.sh # server port: 59901 # test done ok 32 selftests: net: fin_ack_lat.sh # selftests: net: fib_nexthop_multiprefix.sh # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] # # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] ok 33 selftests: net: fib_nexthop_multiprefix.sh # selftests: net: fib_nexthops.sh # # Basic functional tests # ---------------------- # TEST: List with nothing defined [ OK ] # TEST: Nexthop get on non-existent id [ OK ] # TEST: Nexthop with no device or gateway [ OK ] # TEST: Nexthop with down device [ OK ] # TEST: Nexthop with device that is linkdown [ OK ] # TEST: Nexthop with device only [ OK ] # TEST: Nexthop with duplicate id [ OK ] # TEST: Blackhole nexthop [ OK ] # TEST: Blackhole nexthop with other attributes [ OK ] # TEST: Blackhole nexthop with loopback device down [ OK ] # TEST: Create group [ OK ] # TEST: Create group with blackhole nexthop [ OK ] # TEST: Create multipath group where 1 path is a blackhole [ OK ] # TEST: Multipath group can not have a member replaced by blackhole [ OK ] # TEST: Create group with non-existent nexthop [ OK ] # TEST: Create group with same nexthop multiple times [ OK ] # TEST: Replace nexthop with nexthop group [ OK ] # TEST: Replace nexthop group with nexthop [ OK ] # TEST: Nexthop group and device [ OK ] # TEST: Test proto flush [ OK ] # TEST: Nexthop group and blackhole [ OK ] # # IPv4 functional # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # # IPv4 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 route with invalid IPv6 gateway [ OK ] # # IPv4 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Route add - scope conflict with nexthop [ OK ] # TEST: Nexthop replace with invalid scope for existing route [ OK ] # TEST: Basic ping [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - multiple default routes, nh first [ OK ] # TEST: Ping - multiple default routes, nh second [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv4 route with device only nexthop [ OK ] # TEST: IPv4 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with mixed v4-v6 multipath route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 default route with IPv6 gateway [ OK ] # TEST: IPv4 route with MPLS encap [ OK ] # TEST: IPv4 route with MPLS encap - check [ OK ] # TEST: IPv4 route with MPLS encap and v6 gateway [ OK ] # TEST: IPv4 route with MPLS encap, v6 gw - check [ OK ] # # IPv4 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv4 nexthop api compat mode # ---------------------------- # TEST: IPv4 default nexthop compat mode check [ OK ] # TEST: IPv4 compat mode on - route add notification [ OK ] # TEST: IPv4 compat mode on - route dump [ OK ] # TEST: IPv4 compat mode on - nexthop change [ OK ] # TEST: IPv4 set compat mode - 0 [ OK ] # TEST: IPv4 compat mode off - route add notification [ OK ] # TEST: IPv4 compat mode off - route dump [ OK ] # TEST: IPv4 compat mode off - nexthop change [ OK ] # TEST: IPv4 compat mode off - nexthop delete [ OK ] # TEST: IPv4 set compat mode - 1 [ OK ] # # IPv4 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv4 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # # IPv6 # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # # IPv6 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # # IPv6 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Ping with nexthop [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv6 route with device only nexthop [ OK ] # TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 route can not have a v4 gateway [ OK ] # TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] # TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after removing v4 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after replacing v4 gateways [ OK ] # TEST: Nexthop with default route and rpfilter [ OK ] # TEST: Nexthop with multipath default route and rpfilter [ OK ] # # IPv6 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # # IPv6 nexthop api compat mode test # -------------------------------- # TEST: IPv6 default nexthop compat mode check [ OK ] # TEST: IPv6 compat mode on - route add notification [ OK ] # TEST: IPv6 compat mode on - route dump [ OK ] # TEST: IPv6 compat mode on - nexthop change [ OK ] # TEST: IPv6 set compat mode - 0 [ OK ] # TEST: IPv6 compat mode off - route add notification [ OK ] # TEST: IPv6 compat mode off - route dump [ OK ] # TEST: IPv6 compat mode off - nexthop change [ OK ] # TEST: IPv6 compat mode off - nexthop delete [ OK ] # TEST: IPv6 set compat mode - 1 [ OK ] # # IPv6 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # # IPv6 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # # Tests passed: 163 # Tests failed: 0 ok 34 selftests: net: fib_nexthops.sh # selftests: net: altnames.sh # SKIP: jq not installed not ok 35 selftests: net: altnames.sh # exit=1 # selftests: net: icmp_redirect.sh # # ########################################################################### # Legacy routing # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Legacy routing with VRF # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Routing with nexthop objects # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # ########################################################################### # Routing with nexthop objects and VRF # ########################################################################### # # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # # Tests passed: 28 # Tests failed: 12 not ok 36 selftests: net: icmp_redirect.sh # exit=1 # selftests: net: ip6_gre_headroom.sh # TEST: ip6gretap headroom [PASS] # TEST: ip6erspan headroom [PASS] ok 37 selftests: net: ip6_gre_headroom.sh # selftests: net: route_localnet.sh # run arp_announce test # net.ipv4.conf.veth0.route_localnet = 1 # net.ipv4.conf.veth1.route_localnet = 1 # net.ipv4.conf.veth0.arp_announce = 2 # net.ipv4.conf.veth1.arp_announce = 2 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of data. # 64 bytes from 127.25.3.14: icmp_seq=1 ttl=64 time=0.066 ms # 64 bytes from 127.25.3.14: icmp_seq=2 ttl=64 time=0.052 ms # 64 bytes from 127.25.3.14: icmp_seq=3 ttl=64 time=0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=4 ttl=64 time=0.044 ms # 64 bytes from 127.25.3.14: icmp_seq=5 ttl=64 time=0.046 ms # # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 138ms # rtt min/avg/max/mdev = 0.044/0.050/0.066/0.011 ms # ok # run arp_ignore test # net.ipv4.conf.veth0.route_localnet = 1 # net.ipv4.conf.veth1.route_localnet = 1 # net.ipv4.conf.veth0.arp_ignore = 3 # net.ipv4.conf.veth1.arp_ignore = 3 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of data. # 64 bytes from 127.25.3.14: icmp_seq=1 ttl=64 time=0.070 ms # 64 bytes from 127.25.3.14: icmp_seq=2 ttl=64 time=0.046 ms # 64 bytes from 127.25.3.14: icmp_seq=3 ttl=64 time=0.047 ms # 64 bytes from 127.25.3.14: icmp_seq=4 ttl=64 time=0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=5 ttl=64 time=0.055 ms # # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 123ms # rtt min/avg/max/mdev = 0.045/0.052/0.070/0.012 ms # ok ok 38 selftests: net: route_localnet.sh # selftests: net: reuseaddr_ports_exhausted.sh # TAP version 13 # 1..3 # # Starting 3 tests from 1 test cases. # # RUN global.reuseaddr_ports_exhausted_unreusable ... # # OK global.reuseaddr_ports_exhausted_unreusable # ok 1 global.reuseaddr_ports_exhausted_unreusable # # RUN global.reuseaddr_ports_exhausted_reusable_same_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_same_euid # ok 2 global.reuseaddr_ports_exhausted_reusable_same_euid # # RUN global.reuseaddr_ports_exhausted_reusable_different_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_different_euid # ok 3 global.reuseaddr_ports_exhausted_reusable_different_euid # # PASSED: 3 / 3 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 # tests done ok 39 selftests: net: reuseaddr_ports_exhausted.sh # selftests: net: txtimestamp.sh # protocol: TCP # payload: 10 # server port: 9000 # # family: INET # test SND # USR: 1618856276 s 399083 us (seq=0, len=0) # SND: 1618856276 s 400550 us (seq=9, len=10) (USR +1467 us) # USR: 1618856276 s 449317 us (seq=0, len=0) # SND: 1618856276 s 450337 us (seq=19, len=10) (USR +1019 us) # USR: 1618856276 s 499478 us (seq=0, len=0) # SND: 1618856276 s 500531 us (seq=29, len=10) (USR +1053 us) # USR: 1618856276 s 549767 us (seq=0, len=0) # SND: 1618856276 s 550847 us (seq=39, len=10) (USR +1080 us) # USR-SND: count=4, avg=1155 us, min=1019 us, max=1467 us # test ENQ # USR: 1618856276 s 706738 us (seq=0, len=0) # ENQ: 1618856276 s 706796 us (seq=9, len=10) (USR +57 us) # USR: 1618856276 s 756958 us (seq=0, len=0) # ENQ: 1618856276 s 756971 us (seq=19, len=10) (USR +13 us) # USR: 1618856276 s 807197 us (seq=0, len=0) # ENQ: 1618856276 s 807222 us (seq=29, len=10) (USR +24 us) # USR: 1618856276 s 857632 us (seq=0, len=0) # ENQ: 1618856276 s 857667 us (seq=39, len=10) (USR +35 us) # USR-ENQ: count=4, avg=32 us, min=13 us, max=57 us # test ENQ + SND # USR: 1618856277 s 19202 us (seq=0, len=0) # ENQ: 1618856277 s 19231 us (seq=9, len=10) (USR +28 us) # SND: 1618856277 s 20250 us (seq=9, len=10) (USR +1047 us) # USR: 1618856277 s 69689 us (seq=0, len=0) # ENQ: 1618856277 s 69710 us (seq=19, len=10) (USR +21 us) # SND: 1618856277 s 70756 us (seq=19, len=10) (USR +1066 us) # USR: 1618856277 s 120059 us (seq=0, len=0) # ENQ: 1618856277 s 120093 us (seq=29, len=10) (USR +34 us) # SND: 1618856277 s 121105 us (seq=29, len=10) (USR +1046 us) # USR: 1618856277 s 170421 us (seq=0, len=0) # ENQ: 1618856277 s 170441 us (seq=39, len=10) (USR +19 us) # SND: 1618856277 s 171453 us (seq=39, len=10) (USR +1031 us) # USR-ENQ: count=4, avg=25 us, min=19 us, max=34 us # USR-SND: count=4, avg=1047 us, min=1031 us, max=1066 us # # test ACK # USR: 1618856277 s 327673 us (seq=0, len=0) # ACK: 1618856277 s 333850 us (seq=9, len=10) (USR +6177 us) # USR: 1618856277 s 378073 us (seq=0, len=0) # ERROR: 17264 us expected between 6000 and 6500 # ACK: 1618856277 s 395337 us (seq=19, len=10) (USR +17263 us) # USR: 1618856277 s 428489 us (seq=0, len=0) # ACK: 1618856277 s 434731 us (seq=29, len=10) (USR +6241 us) # USR: 1618856277 s 478725 us (seq=0, len=0) # ERROR: 17259 us expected between 6000 and 6500 # ACK: 1618856277 s 495984 us (seq=39, len=10) (USR +17259 us) # USR-ACK: count=4, avg=11735 us, min=6177 us, max=17263 us # # test SND + ACK # USR: 1618856277 s 635412 us (seq=0, len=0) # SND: 1618856277 s 636460 us (seq=9, len=10) (USR +1048 us) # ACK: 1618856277 s 641562 us (seq=9, len=10) (USR +6149 us) # USR: 1618856277 s 685671 us (seq=0, len=0) # SND: 1618856277 s 686747 us (seq=19, len=10) (USR +1076 us) # ACK: 1618856277 s 691931 us (seq=19, len=10) (USR +6259 us) # USR: 1618856277 s 735907 us (seq=0, len=0) # SND: 1618856277 s 736956 us (seq=29, len=10) (USR +1049 us) # ACK: 1618856277 s 742118 us (seq=29, len=10) (USR +6211 us) # USR: 1618856277 s 786360 us (seq=0, len=0) # SND: 1618856277 s 787390 us (seq=39, len=10) (USR +1030 us) # ACK: 1618856277 s 792546 us (seq=39, len=10) (USR +6185 us) # USR-SND: count=4, avg=1051 us, min=1030 us, max=1076 us # USR-ACK: count=4, avg=6201 us, min=6149 us, max=6259 us # # test ENQ + SND + ACK # USR: 1618856277 s 948662 us (seq=0, len=0) # ENQ: 1618856277 s 948683 us (seq=9, len=10) (USR +20 us) # SND: 1618856277 s 949703 us (seq=9, len=10) (USR +1040 us) # ACK: 1618856277 s 954821 us (seq=9, len=10) (USR +6158 us) # USR: 1618856277 s 999138 us (seq=0, len=0) # ENQ: 1618856277 s 999158 us (seq=19, len=10) (USR +20 us) # SND: 1618856278 s 183 us (seq=19, len=10) (USR +1045 us) # ACK: 1618856278 s 5323 us (seq=19, len=10) (USR +6185 us) # USR: 1618856278 s 49459 us (seq=0, len=0) # ENQ: 1618856278 s 49479 us (seq=29, len=10) (USR +19 us) # SND: 1618856278 s 50504 us (seq=29, len=10) (USR +1044 us) # ERROR: 18740 us expected between 6000 and 6500 # ACK: 1618856278 s 68199 us (seq=29, len=10) (USR +18740 us) # USR: 1618856278 s 99944 us (seq=0, len=0) # ENQ: 1618856278 s 99964 us (seq=39, len=10) (USR +19 us) # SND: 1618856278 s 100990 us (seq=39, len=10) (USR +1045 us) # ERROR: 18970 us expected between 6000 and 6500 # ACK: 1618856278 s 118914 us (seq=39, len=10) (USR +18969 us) # USR-ENQ: count=4, avg=20 us, min=19 us, max=20 us # USR-SND: count=4, avg=1043 us, min=1040 us, max=1045 us # USR-ACK: count=4, avg=12513 us, min=6158 us, max=18969 us not ok 40 selftests: net: txtimestamp.sh # exit=1 # selftests: net: vrf-xfrm-tests.sh # # No qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # # netem qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # # Tests passed: 10 # Tests failed: 4 not ok 41 selftests: net: vrf-xfrm-tests.sh # exit=1 # selftests: net: rxtimestamp.sh # Testing ip... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing udp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing tcp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTAMPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # PASSED. ok 42 selftests: net: rxtimestamp.sh # selftests: net: devlink_port_split.py # Traceback (most recent call last): # File "./devlink_port_split.py", line 277, in # main() # File "./devlink_port_split.py", line 242, in main # dev = list(devs.keys())[0] # IndexError: list index out of range not ok 43 selftests: net: devlink_port_split.py # exit=1 # selftests: net: drop_monitor_tests.sh # SKIP: Could not run test without tshark tool ok 44 selftests: net: drop_monitor_tests.sh # SKIP # selftests: net: vrf_route_leaking.sh # # ########################################################################### # IPv4 (sym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # # ########################################################################### # IPv4 (sym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV4 test without traceroute # # ########################################################################### # IPv4 (sym route): VRF ICMP fragmentation error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP Frag needed [ OK ] # # ########################################################################### # IPv4 (asym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # # ########################################################################### # IPv4 (asym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV4 test without traceroute # # ########################################################################### # IPv6 (sym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # # ########################################################################### # IPv6 (sym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV6 test without traceroute6 # # ########################################################################### # IPv6 (sym route): VRF ICMP fragmentation error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Packet too big [FAIL] # # ########################################################################### # IPv6 (asym route): VRF ICMP ttl error route lookup ping # ########################################################################### # # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # # ########################################################################### # IPv6 (asym route): VRF ICMP error route lookup traceroute # ########################################################################### # # SKIP: Could not run IPV6 test without traceroute6 # # Tests passed: 11 # Tests failed: 1 not ok 45 selftests: net: vrf_route_leaking.sh # exit=1 # selftests: net: bareudp.sh # TEST: IPv4 packets over UDPv4 [ OK ] # TEST: IPv4 packets over UDPv6 [ OK ] # TEST: IPv6 packets over UDPv4 [ OK ] # TEST: IPv6 packets over UDPv6 [ OK ] # TEST: IPv4 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv4 packets over UDPv6 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv6 (multiproto mode) [ OK ] # TEST: Unicast MPLS packets over UDPv4 [ OK ] # TEST: Unicast MPLS packets over UDPv6 [ OK ] ok 46 selftests: net: bareudp.sh # selftests: net: unicast_extensions.sh # ########################################################################### # Unicast address extensions tests (behavior of reserved IPv4 addresses) # ########################################################################### # TEST: assign and ping within 240/4 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 240/4 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping inside 255.255/16 (is allowed) [ OK ] # TEST: assign and ping inside 255.255.255/24 (is allowed) [ OK ] # TEST: route between 240.5.6/24 and 255.1.2/24 (is allowed) [ OK ] # TEST: route between 0.200/16 and 245.99/16 (is allowed) [ OK ] # TEST: assigning 0.0.0.0 (is forbidden) [ OK ] # TEST: assigning 255.255.255.255 (is forbidden) [ OK ] # TEST: assign and ping inside 127/8 (is forbidden) [ OK ] # TEST: assign and ping lowest address (is forbidden) [ OK ] # TEST: routing using lowest address (is forbidden) [ OK ] # TEST: assign and ping class D address (is forbidden) [ OK ] # TEST: routing using class D (is forbidden) [ OK ] # TEST: routing using 127/8 (is forbidden) [ OK ] ok 47 selftests: net: unicast_extensions.sh --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="job.yaml" --- #! jobs/kernel-selftests-bm.yaml suite: kernel-selftests testcase: kernel-selftests category: functional kconfig: x86_64-rhel-8.3-kselftests kernel-selftests: group: net job_origin: kernel-selftests-bm.yaml #! queue options queue_cmdline_keys: - branch - commit queue: bisect testbox: lkp-skl-d06 tbox_group: lkp-skl-d06 submit_id: 607bcf9bfe6df98ddd12c1b8 job_file: "/lkp/jobs/scheduled/lkp-skl-d06/kernel-selftests-net-ucode=0xe2-debian-10.4-x86_64-20200603.cgz-6628ddfec7580882f11fdc5c194a8ea781fdadfa-20210418-36317-1y3lgpp-0.yaml" id: 488bea509d29f50fa3c70340da5c9b574e9391c2 queuer_version: "/lkp-src" #! hosts/lkp-skl-d06 model: Skylake nr_cpu: 4 memory: 16G nr_ssd_partitions: 1 nr_hdd_partitions: 4 hdd_partitions: "/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV5F059074-part*" ssd_partitions: "/dev/disk/by-id/ata-INTEL_SSDSC2BB012T4_BTWD422402M81P2GGN-part2" rootfs_partition: "/dev/disk/by-id/ata-INTEL_SSDSC2BB012T4_BTWD422402M81P2GGN-part1" brand: Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz #! include/category/functional kmsg: heartbeat: meminfo: #! include/queue/cyclic commit: 6628ddfec7580882f11fdc5c194a8ea781fdadfa #! include/testbox/lkp-skl-d06 need_kconfig_hw: - CONFIG_E1000E=y - CONFIG_SATA_AHCI ucode: '0xe2' #! include/kernel-selftests need_linux_headers: true need_linux_selftests: true need_kselftests: true need_kconfig: - CONFIG_USER_NS=y - CONFIG_BPF_SYSCALL=y - CONFIG_TEST_BPF=m - CONFIG_NUMA=y ~ ">= v5.6-rc1" - CONFIG_NET_VRF=y ~ ">= v4.3-rc1" - CONFIG_NET_L3_MASTER_DEV=y ~ ">= v4.4-rc1" - CONFIG_IPV6=y - CONFIG_IPV6_MULTIPLE_TABLES=y - CONFIG_VETH=y - CONFIG_NET_IPVTI=m - CONFIG_IPV6_VTI=m - CONFIG_DUMMY=y - CONFIG_BRIDGE=y - CONFIG_VLAN_8021Q=y - CONFIG_IFB=y - CONFIG_NETFILTER=y - CONFIG_NETFILTER_ADVANCED=y - CONFIG_NF_CONNTRACK=m - CONFIG_NF_NAT=m ~ ">= v5.1-rc1" - CONFIG_IP6_NF_IPTABLES=m - CONFIG_IP_NF_IPTABLES=m - CONFIG_IP6_NF_NAT=m - CONFIG_IP_NF_NAT=m - CONFIG_NF_TABLES=m - CONFIG_NF_TABLES_IPV6=y ~ ">= v4.17-rc1" - CONFIG_NF_TABLES_IPV4=y ~ ">= v4.17-rc1" - CONFIG_NFT_CHAIN_NAT_IPV6=m ~ "<= v5.0" - CONFIG_NFT_CHAIN_NAT_IPV4=m ~ "<= v5.0" - CONFIG_NET_SCH_FQ=m - CONFIG_NET_SCH_ETF=m ~ ">= v4.19-rc1" - CONFIG_NET_SCH_NETEM=y - CONFIG_TEST_BLACKHOLE_DEV=m ~ ">= v5.3-rc1" - CONFIG_KALLSYMS=y - CONFIG_BAREUDP=m ~ ">= v5.7-rc1" - CONFIG_MPLS_ROUTING=m ~ ">= v4.1-rc1" - CONFIG_MPLS_IPTUNNEL=m ~ ">= v4.3-rc1" - CONFIG_NET_SCH_INGRESS=y ~ ">= v4.19-rc1" - CONFIG_NET_CLS_FLOWER=m ~ ">= v4.2-rc1" - CONFIG_NET_ACT_TUNNEL_KEY=m ~ ">= v4.9-rc1" - CONFIG_NET_ACT_MIRRED=m ~ ">= v5.11-rc1" enqueue_time: 2021-04-18 14:20:11.801399118 +08:00 _id: 607bcf9bfe6df98ddd12c1b8 _rt: "/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa" #! schedule options user: lkp compiler: gcc-9 LKP_SERVER: internal-lkp-server head_commit: e242eeab609680685a735f61f42eda2902d346fd base_commit: d434405aaab7d0ebc516b68a8fc4100922d7f5ef branch: linux-devel/devel-hourly-20210417-185942 rootfs: debian-10.4-x86_64-20200603.cgz result_root: "/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/0" scheduler_version: "/lkp/lkp/.src-20210417-193648" arch: x86_64 max_uptime: 2100 initrd: "/osimage/debian/debian-10.4-x86_64-20200603.cgz" bootloader_append: - root=/dev/ram0 - user=lkp - job=/lkp/jobs/scheduled/lkp-skl-d06/kernel-selftests-net-ucode=0xe2-debian-10.4-x86_64-20200603.cgz-6628ddfec7580882f11fdc5c194a8ea781fdadfa-20210418-36317-1y3lgpp-0.yaml - ARCH=x86_64 - kconfig=x86_64-rhel-8.3-kselftests - branch=linux-devel/devel-hourly-20210417-185942 - commit=6628ddfec7580882f11fdc5c194a8ea781fdadfa - BOOT_IMAGE=/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/vmlinuz-5.12.0-rc6-00349-g6628ddfec758 - max_uptime=2100 - RESULT_ROOT=/result/kernel-selftests/net-ucode=0xe2/lkp-skl-d06/debian-10.4-x86_64-20200603.cgz/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/0 - LKP_SERVER=internal-lkp-server - nokaslr - selinux=0 - debug - apic=debug - sysrq_always_enabled - rcupdate.rcu_cpu_stall_timeout=100 - net.ifnames=0 - printk.devkmsg=on - panic=-1 - softlockup_panic=1 - nmi_watchdog=panic - oops=panic - load_ramdisk=2 - prompt_ramdisk=0 - drbd.minor_count=8 - systemd.log_level=err - ignore_loglevel - console=tty0 - earlyprintk=ttyS0,115200 - console=ttyS0,115200 - vga=normal - rw modules_initrd: "/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/modules.cgz" linux_headers_initrd: "/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/linux-headers.cgz" linux_selftests_initrd: "/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/linux-selftests.cgz" kselftests_initrd: "/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/kselftests.cgz" bm_initrd: "/osimage/deps/debian-10.4-x86_64-20200603.cgz/run-ipconfig_20200608.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/lkp_20201211.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/rsync-rootfs_20200608.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/kernel-selftests_20210406.cgz,/osimage/pkg/debian-10.4-x86_64-20200603.cgz/kernel-selftests-x86_64-cf9ae1bd-1_20210401.cgz,/osimage/deps/debian-10.4-x86_64-20200603.cgz/hw_20200715.cgz" ucode_initrd: "/osimage/ucode/intel-ucode-20210222.cgz" lkp_initrd: "/osimage/user/lkp/lkp-x86_64.cgz" site: inn #! /lkp/lkp/.src-20210417-193648/include/site/inn LKP_CGI_PORT: 80 LKP_CIFS_PORT: 139 oom-killer: watchdog: #! runtime status last_kernel: 5.12.0-rc7 #! user overrides kernel: "/pkg/linux/x86_64-rhel-8.3-kselftests/gcc-9/6628ddfec7580882f11fdc5c194a8ea781fdadfa/vmlinuz-5.12.0-rc6-00349-g6628ddfec758" dequeue_time: 2021-04-18 14:50:56.431045799 +08:00 job_state: finished loadavg: 0.49 0.86 0.51 1/146 18560 start_time: '1618728755' end_time: '1618729192' version: "/lkp/lkp/.src-20210417-193744:c99f84f0:3a5ccfeea" --eqp4TxRxnD4KrmFZ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=reproduce mount --bind /lib/modules/5.12.0-rc6-00349-g6628ddfec758/kernel/lib /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa/lib sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh /kselftests/run_kselftest.sh -c net --eqp4TxRxnD4KrmFZ-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3082785961929637027==" MIME-Version: 1.0 From: kernel test robot To: lkp@lists.01.org Subject: [net] 6628ddfec7: kernel-selftests.net.pmtu.sh.IPv4_over_geneve6_PMTU_exceptions.fail Date: Wed, 21 Apr 2021 23:15:56 +0800 Message-ID: <20210421151556.GC23923@xsang-OptiPlex-9020> List-Id: --===============3082785961929637027== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Greeting, FYI, we noticed the following commit (built with gcc-9): commit: 6628ddfec7580882f11fdc5c194a8ea781fdadfa ("net: geneve: check skb i= s large enough for IPv4/IPv6 header") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master in testcase: kernel-selftests version: kernel-selftests-x86_64-cf9ae1bd-1_20210401 with following parameters: group: net ucode: 0xe2 test-description: The kernel contains a set of "self tests" under the tools= /testing/selftests/ directory. These are intended to be small unit tests to= exercise individual code paths in the kernel. test-url: https://www.kernel.org/doc/Documentation/kselftest.txt on test machine: 4 threads Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz with 1= 6G memory caused below changes (please refer to attached dmesg/kmsg for entire log/ba= cktrace): If you fix the issue, kindly add following tag Reported-by: kernel test robot KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-8= .3-kselftests-6628ddfec7580882f11fdc5c194a8ea781fdadfa 2021-04-19 18:11:25 mount --bind /lib/modules/5.12.0-rc6-00349-g6628ddfec75= 8/kernel/lib /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-6628ddfec75= 80882f11fdc5c194a8ea781fdadfa/lib 2021-04-19 18:11:25 sed -i s/default_timeout=3D45/default_timeout=3D300/ ks= elftest/runner.sh source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh LKP SKIP net.l2tp.sh LKP SKIP net.tls 2021-04-19 18:11:26 /kselftests/run_kselftest.sh -c net TAP version 13 1..47 # selftests: net: reuseport_bpf # ---- IPv4 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 UDP w/ mapped IPv4 ---- # Testing EBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 20... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 10: 10 # Socket 11: 11 # Socket 12: 12 # Socket 13: 13 # Socket 14: 14 # Socket 15: 15 # Socket 16: 16 # Socket 17: 17 # Socket 18: 18 # Socket 19: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 10: 30 # Socket 11: 31 # Socket 12: 32 # Socket 13: 33 # Socket 14: 34 # Socket 15: 35 # Socket 16: 36 # Socket 17: 37 # Socket 18: 38 # Socket 19: 39 # Reprograming, testing mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Socket 0: 20 # Socket 1: 21 # Socket 2: 22 # Socket 3: 23 # Socket 4: 24 # Socket 5: 25 # Socket 6: 26 # Socket 7: 27 # Socket 8: 28 # Socket 9: 29 # Socket 0: 30 # Socket 1: 31 # Socket 2: 32 # Socket 3: 33 # Socket 4: 34 # Socket 5: 35 # Socket 6: 36 # Socket 7: 37 # Socket 8: 38 # Socket 9: 39 # ---- IPv4 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing too many filters... # Testing filters on non-SO_REUSEPORT socket... # ---- IPv6 TCP w/ mapped IPv4 ---- # Testing EBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing CBPF mod 10... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 5: 5 # Socket 6: 6 # Socket 7: 7 # Socket 8: 8 # Socket 9: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 5: 15 # Socket 6: 16 # Socket 7: 17 # Socket 8: 18 # Socket 9: 19 # Reprograming, testing mod 5... # Socket 0: 0 # Socket 1: 1 # Socket 2: 2 # Socket 3: 3 # Socket 4: 4 # Socket 0: 5 # Socket 1: 6 # Socket 2: 7 # Socket 3: 8 # Socket 4: 9 # Socket 0: 10 # Socket 1: 11 # Socket 2: 12 # Socket 3: 13 # Socket 4: 14 # Socket 0: 15 # Socket 1: 16 # Socket 2: 17 # Socket 3: 18 # Socket 4: 19 # Testing filter add without bind... # SUCCESS ok 1 selftests: net: reuseport_bpf # selftests: net: reuseport_bpf_cpu # ---- IPv4 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 UDP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv4 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # ---- IPv6 TCP ---- # send cpu 0, receive socket 0 # send cpu 1, receive socket 1 # send cpu 2, receive socket 2 # send cpu 3, receive socket 3 # send cpu 3, receive socket 3 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 0, receive socket 0 # send cpu 0, receive socket 0 # send cpu 2, receive socket 2 # send cpu 1, receive socket 1 # send cpu 3, receive socket 3 # SUCCESS ok 2 selftests: net: reuseport_bpf_cpu # selftests: net: reuseport_bpf_numa # ---- IPv4 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 UDP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv4 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # ---- IPv6 TCP ---- # send node 0, receive socket 0 # send node 0, receive socket 0 # SUCCESS ok 3 selftests: net: reuseport_bpf_numa # selftests: net: reuseport_dualstack # ---- UDP IPv4 created before IPv6 ---- # ---- UDP IPv6 created before IPv4 ---- # ---- UDP IPv4 created before IPv6 (large) ---- # ---- UDP IPv6 created before IPv4 (large) ---- # ---- TCP IPv4 created before IPv6 ---- # ---- TCP IPv6 created before IPv4 ---- # SUCCESS ok 4 selftests: net: reuseport_dualstack # selftests: net: reuseaddr_conflict # Opening 127.0.0.1:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening in6addr_any:9999 # Opening INADDR_ANY:9999 # bind: Address already in use # Opening INADDR_ANY:9999 after closing ipv6 socket # bind: Address already in use # Successok 5 selftests: net: reuseaddr_conflict # selftests: net: run_netsocktests # -------------------- # running socket test # -------------------- # [PASS] ok 6 selftests: net: run_netsocktests # selftests: net: run_afpackettests # -------------------- # running psock_fanout test # -------------------- # test: control single socket # test: control multiple sockets # test: control multiple sockets, max_num_members # test: unique ids # = # test: datapath 0x0 ports 8000,8002 # info: count=3D0,0, expect=3D0,0 # info: count=3D20,0, expect=3D15,5 # warning: incorrect queue lengths # info: count=3D20,0, expect=3D20,5 # warning: incorrect queue lengths # info: trying alternate ports (20) # = # test: datapath 0x0 ports 8000,8003 # info: count=3D0,0, expect=3D0,0 # info: count=3D20,0, expect=3D15,5 # warning: incorrect queue lengths # info: count=3D20,0, expect=3D20,5 # warning: incorrect queue lengths # info: trying alternate ports (19) # = # test: datapath 0x0 ports 8000,8004 # info: count=3D0,0, expect=3D0,0 # info: count=3D20,0, expect=3D15,5 # warning: incorrect queue lengths # info: count=3D20,0, expect=3D20,5 # warning: incorrect queue lengths # info: trying alternate ports (18) # = # test: datapath 0x0 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D15,5, expect=3D15,5 # info: count=3D20,5, expect=3D20,5 # = # test: datapath 0x1000 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D15,5, expect=3D15,5 # info: count=3D20,15, expect=3D20,15 # = # test: datapath 0x1 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D10,10, expect=3D10,10 # info: count=3D17,18, expect=3D18,17 # = # test: datapath 0x3 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D15,5, expect=3D15,5 # info: count=3D20,15, expect=3D20,15 # = # test: datapath 0x6 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D5,15, expect=3D15,5 # info: count=3D20,15, expect=3D15,20 # = # test: datapath 0x7 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D5,15, expect=3D15,5 # info: count=3D20,15, expect=3D15,20 # = # test: datapath 0x2 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D20,0, expect=3D20,0 # info: count=3D20,0, expect=3D20,0 # = # test: datapath 0x2 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D0,20, expect=3D0,20 # info: count=3D0,20, expect=3D0,20 # = # test: datapath 0x2000 ports 8000,8005 # info: count=3D0,0, expect=3D0,0 # info: count=3D20,20, expect=3D20,20 # info: count=3D20,20, expect=3D20,20 # OK. All tests passed # [PASS] # -------------------- # running psock_tpacket test # -------------------- # test: TPACKET_V1 with PACKET_RX_RING .................... 100 pkts (14200= bytes) # test: TPACKET_V1 with PACKET_TX_RING .................... 100 pkts (14200= bytes) # test: TPACKET_V2 with PACKET_RX_RING .................... 100 pkts (14200= bytes) # test: TPACKET_V2 with PACKET_TX_RING .................... 100 pkts (14200= bytes) # test: TPACKET_V3 with PACKET_RX_RING .................... 100 pkts (14200= bytes) # test: TPACKET_V3 with PACKET_TX_RING .................... 100 pkts (14200= bytes) # OK. All tests passed # [PASS] # -------------------- # running txring_overwrite test # -------------------- # read: a (0x61) # read: b (0x62) # [PASS] ok 7 selftests: net: run_afpackettests # selftests: net: test_bpf.sh # test_bpf: ok ok 8 selftests: net: test_bpf.sh # selftests: net: netdevice.sh # SKIP: eth0: interface already up # PASS: eth0: ethtool list features # PASS: eth0: ethtool dump # PASS: eth0: ethtool stats # SKIP: eth0: interface kept up ok 9 selftests: net: netdevice.sh # selftests: net: rtnetlink.sh # PASS: policy routing # PASS: route get # PASS: preferred_lft addresses have expired # PASS: promote_secondaries complete # PASS: tc htb hierarchy # PASS: gre tunnel endpoint # PASS: gretap # PASS: ip6gretap # PASS: erspan # PASS: ip6erspan # PASS: bridge setup # PASS: ipv6 addrlabel # PASS: set ifalias dd92e639-529c-4948-9fc7-f3f3dec29199 for test-dummy0 # PASS: vrf # PASS: vxlan # PASS: fou # PASS: macsec # PASS: ipsec # PASS: ipsec_offload # PASS: bridge fdb get # PASS: neigh get # Error: Unknown device type. # Error: argument "test-bond0" is wrong: Device does not exist # = # Error: argument "test-bond0" is wrong: Device does not exist # = # Cannot find device "test-bond0" # Cannot find device "test-bond0" # FAIL: bridge_parent_id not ok 10 selftests: net: rtnetlink.sh # exit=3D1 # selftests: net: xfrm_policy.sh # PASS: policy before exception matches # PASS: ping to .254 bypassed ipsec tunnel (exceptions) # PASS: direct policy matches (exceptions) # PASS: policy matches (exceptions) # PASS: ping to .254 bypassed ipsec tunnel (exceptions and block policies) # PASS: direct policy matches (exceptions and block policies) # PASS: policy matches (exceptions and block policies) # not ok 11 selftests: net: xfrm_policy.sh # TIMEOUT 45 seconds # selftests: net: test_blackhole_dev.sh # test_blackhole_dev: ok ok 12 selftests: net: test_blackhole_dev.sh # selftests: net: fib_tests.sh # = # Single path route test # Start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # Nexthop device deleted # TEST: IPv4 fibmatch - no route [= OK ] # TEST: IPv6 fibmatch - no route [= OK ] # = # Multipath route test # Start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # One nexthop device deleted # TEST: IPv4 - multipath route removed on delete [= OK ] # TEST: IPv6 - multipath down to single path [= OK ] # Second nexthop device deleted # TEST: IPv6 - no route [= OK ] # = # Single path, admin down # Start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # Route deleted on down # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # = # Admin down multipath # Verify start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # One device down, one up # TEST: IPv4 fibmatch on down device [= OK ] # TEST: IPv6 fibmatch on down device [= OK ] # TEST: IPv4 fibmatch on up device [= OK ] # TEST: IPv6 fibmatch on up device [= OK ] # TEST: IPv4 flags on down device [= OK ] # TEST: IPv6 flags on down device [= OK ] # TEST: IPv4 flags on up device [= OK ] # TEST: IPv6 flags on up device [= OK ] # Other device down and up # TEST: IPv4 fibmatch on down device [= OK ] # TEST: IPv6 fibmatch on down device [= OK ] # TEST: IPv4 fibmatch on up device [= OK ] # TEST: IPv6 fibmatch on up device [= OK ] # TEST: IPv4 flags on down device [= OK ] # TEST: IPv6 flags on down device [= OK ] # TEST: IPv4 flags on up device [= OK ] # TEST: IPv6 flags on up device [= OK ] # Both devices down # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # = # Local carrier tests - single path # Start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 - no linkdown flag [= OK ] # TEST: IPv6 - no linkdown flag [= OK ] # Carrier off on nexthop # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 - linkdown flag set [= OK ] # TEST: IPv6 - linkdown flag set [= OK ] # Route to local address with carrier down # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 linkdown flag set [= OK ] # TEST: IPv6 linkdown flag set [= OK ] # = # Single path route carrier test # Start point # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 no linkdown flag [= OK ] # TEST: IPv6 no linkdown flag [= OK ] # Carrier down # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 linkdown flag set [= OK ] # TEST: IPv6 linkdown flag set [= OK ] # Second address added with carrier down # TEST: IPv4 fibmatch [= OK ] # TEST: IPv6 fibmatch [= OK ] # TEST: IPv4 linkdown flag set [= OK ] # TEST: IPv6 linkdown flag set [= OK ] # = # IPv4 nexthop tests # <<< write me >>> # = # IPv6 nexthop tests # TEST: Directly connected nexthop, unicast address [= OK ] # TEST: Directly connected nexthop, unicast address with device [= OK ] # TEST: Gateway is linklocal address [= OK ] # TEST: Gateway is linklocal address, no device [= OK ] # TEST: Gateway can not be local unicast address [= OK ] # TEST: Gateway can not be local unicast address, with device [= OK ] # TEST: Gateway can not be a local linklocal address [= OK ] # TEST: Gateway can be local address in a VRF [= OK ] # TEST: Gateway can be local address in a VRF, with device [= OK ] # TEST: Gateway can be local linklocal address in a VRF [= OK ] # TEST: Redirect to VRF lookup [= OK ] # TEST: VRF route, gateway can be local address in default VRF [= OK ] # TEST: VRF route, gateway can not be a local address [= OK ] # TEST: VRF route, gateway can not be a local addr with device [= OK ] # = # FIB rule with suppress_prefixlength # TEST: FIB rule suppress test [= OK ] # = # IPv6 route add / append tests # TEST: Attempt to add duplicate route - gw [= OK ] # TEST: Attempt to add duplicate route - dev only [= OK ] # TEST: Attempt to add duplicate route - reject route [= OK ] # TEST: Append nexthop to existing route - gw [= OK ] # TEST: Add multipath route [= OK ] # TEST: Attempt to add duplicate multipath route [= OK ] # TEST: Route add with different metrics [= OK ] # TEST: Route delete with metric [= OK ] # = # IPv6 route replace tests # TEST: Single path with single path [= OK ] # TEST: Single path with multipath [= OK ] # TEST: Single path with single path via multipath attribute [= OK ] # TEST: Invalid nexthop [= OK ] # TEST: Single path - replace of non-existent route [= OK ] # TEST: Multipath with multipath [= OK ] # TEST: Multipath with single path [= OK ] # TEST: Multipath with single path via multipath attribute [= OK ] # TEST: Multipath with dev-only [= OK ] # TEST: Multipath - invalid first nexthop [= OK ] # TEST: Multipath - invalid second nexthop [= OK ] # TEST: Multipath - replace of non-existent route [= OK ] # = # IPv4 route add / append tests # TEST: Attempt to add duplicate route - gw [= OK ] # TEST: Attempt to add duplicate route - dev only [= OK ] # TEST: Attempt to add duplicate route - reject route [= OK ] # TEST: Add new nexthop for existing prefix [= OK ] # TEST: Append nexthop to existing route - gw [= OK ] # TEST: Append nexthop to existing route - dev only [= OK ] # TEST: Append nexthop to existing route - reject route [= OK ] # TEST: Append nexthop to existing reject route - gw [= OK ] # TEST: Append nexthop to existing reject route - dev only [= OK ] # TEST: add multipath route [= OK ] # TEST: Attempt to add duplicate multipath route [= OK ] # TEST: Route add with different metrics [= OK ] # TEST: Route delete with metric [= OK ] # = # IPv4 route replace tests # TEST: Single path with single path [= OK ] # TEST: Single path with multipath [= OK ] # TEST: Single path with reject route [= OK ] # TEST: Single path with single path via multipath attribute [= OK ] # TEST: Invalid nexthop [= OK ] # TEST: Single path - replace of non-existent route [= OK ] # TEST: Multipath with multipath [= OK ] # TEST: Multipath with single path [= OK ] # TEST: Multipath with single path via multipath attribute [= OK ] # TEST: Multipath with reject route [= OK ] # TEST: Multipath - invalid first nexthop [= OK ] # TEST: Multipath - invalid second nexthop [= OK ] # TEST: Multipath - replace of non-existent route [= OK ] # = # IPv6 prefix route tests # TEST: Default metric [= OK ] # TEST: User specified metric on first device [= OK ] # TEST: User specified metric on second device [= OK ] # TEST: Delete of address on first device [= OK ] # TEST: Modify metric of address [= OK ] # TEST: Prefix route removed on link down [= OK ] # TEST: Prefix route with metric on link up [= OK ] # TEST: Set metric with peer route on local side [= OK ] # TEST: Set metric with peer route on peer side [= OK ] # TEST: Modify metric and peer address on local side [= OK ] # TEST: Modify metric and peer address on peer side [= OK ] # = # IPv4 prefix route tests # TEST: Default metric [= OK ] # TEST: User specified metric on first device [= OK ] # TEST: User specified metric on second device [= OK ] # TEST: Delete of address on first device [= OK ] # TEST: Modify metric of address [= OK ] # TEST: Prefix route removed on link down [= OK ] # TEST: Prefix route with metric on link up [= OK ] # TEST: Modify metric of .0/24 address [= OK ] # TEST: Set metric of address with peer route [= OK ] # TEST: Modify metric and peer address for peer route [= OK ] # = # IPv6 routes with metrics # TEST: Single path route with mtu metric [= OK ] # TEST: Multipath route via 2 single routes with mtu metric on first [= OK ] # TEST: Multipath route via 2 single routes with mtu metric on 2nd [= OK ] # TEST: MTU of second leg [= OK ] # TEST: Multipath route with mtu metric [= OK ] # TEST: Using route with mtu metric [= OK ] # TEST: Invalid metric (fails metric_convert) [= OK ] # = # IPv4 route add / append tests # TEST: Single path route with mtu metric [= OK ] # TEST: Multipath route with mtu metric [= OK ] # TEST: Using route with mtu metric [= OK ] # TEST: Invalid metric (fails metric_convert) [= OK ] # = # IPv4 route with IPv6 gateway tests # TEST: Single path route with IPv6 gateway [= OK ] # TEST: Single path route with IPv6 gateway - ping [= OK ] # TEST: Single path route delete [= OK ] # TEST: Multipath route add - v6 nexthop then v4 [= OK ] # TEST: Multipath route delete - nexthops in wrong order [= OK ] # TEST: Multipath route delete exact match [= OK ] # TEST: Multipath route add - v4 nexthop then v6 [= OK ] # TEST: Multipath route delete - nexthops in wrong order [= OK ] # TEST: Multipath route delete exact match [= OK ] # = # IPv4 rp_filter tests # TEST: rp_filter passes local packets [= FAIL] # TEST: rp_filter passes loopback packets [= FAIL] # = # IPv4 delete address route tests # TEST: Route removed from VRF when source address deleted [= OK ] # TEST: Route in default VRF not removed [= OK ] # TEST: Route removed in default VRF when source address deleted [= OK ] # TEST: Route in VRF is not removed by address delete [= OK ] # = # Tests passed: 163 # Tests failed: 2 not ok 13 selftests: net: fib_tests.sh # exit=3D1 # selftests: net: fib-onlink-tests.sh # Error: ipv4: FIB table does not exist. # Flush terminated # Error: ipv6: FIB table does not exist. # Flush terminated # = # ######################################## # Configuring interfaces # = # ###################################################################### # TEST SECTION: IPv4 onlink # ###################################################################### # = # ######################################### # TEST SUBSECTION: Valid onlink commands # = # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # = # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # = # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # = # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath [ OK ] # TEST: unicast recursive - multipath [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # = # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # = # ###################################################################### # TEST SECTION: IPv6 onlink # ###################################################################### # = # ######################################### # TEST SUBSECTION: Valid onlink commands # = # ######################################### # TEST SUBSECTION: default VRF - main table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # = # ######################################### # TEST SUBSECTION: VRF lisa # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # = # ######################################### # TEST SUBSECTION: VRF device, PBR table # TEST: unicast connected [ OK ] # TEST: unicast recursive [ OK ] # TEST: v4-mapped [ OK ] # = # ######################################### # TEST SUBSECTION: default VRF - main table - multipath # TEST: unicast connected - multipath onlink [ OK ] # TEST: unicast recursive - multipath onlink [ OK ] # TEST: v4-mapped - multipath onlink [ OK ] # TEST: unicast connected - multipath onlink both nexthops [ OK ] # TEST: unicast connected - multipath onlink first only [ OK ] # TEST: unicast connected - multipath onlink second only [ OK ] # = # ######################################### # TEST SUBSECTION: Invalid onlink commands # TEST: Invalid gw - local unicast address [ OK ] # TEST: Invalid gw - local linklocal address [ OK ] # TEST: Invalid gw - multicast address [ OK ] # TEST: Invalid gw - local unicast address, VRF [ OK ] # TEST: Invalid gw - local linklocal address, VRF [ OK ] # TEST: Invalid gw - multicast address, VRF [ OK ] # TEST: No nexthop device given [ OK ] # TEST: Gateway resolves to wrong nexthop device - VRF [ OK ] # = # Tests passed: 38 # Tests failed: 0 ok 14 selftests: net: fib-onlink-tests.sh # selftests: net: pmtu.sh # TEST: ipv4: PMTU exceptions [ OK ] # TEST: ipv4: PMTU exceptions - nexthop objects [ OK ] # TEST: ipv6: PMTU exceptions [ OK ] # TEST: ipv6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv4 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions [ OK ] # TEST: IPv6 over vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions [ OK ] # TEST: IPv4 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions [ OK ] # TEST: IPv6 over geneve4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4 over geneve6: PMTU exceptions [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve = interface # TEST: IPv4 over geneve6: PMTU exceptions - nexthop objects [FAIL] # PMTU exception wasn't created after exceeding link layer MTU on geneve = interface # TEST: IPv6 over geneve6: PMTU exceptions [ OK ] # TEST: IPv6 over geneve6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan4: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv4, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions [ OK ] # TEST: IPv6, bridged vxlan6: PMTU exceptions - nexthop objects [ OK ] # not ok 15 selftests: net: pmtu.sh # TIMEOUT 45 seconds # selftests: net: udpgso.sh # ipv4 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 = # ipv4 tx:1472 gso:0 = # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 = # ipv4 tx:1473 gso:1472 = # ipv4 tx:2944 gso:1472 = # ipv4 tx:2945 gso:1472 = # ipv4 tx:64768 gso:1472 = # ipv4 tx:65507 gso:1472 = # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 = # ipv4 tx:2 gso:1 = # ipv4 tx:5 gso:2 = # ipv4 tx:36 gso:1 = # ipv4 tx:37 gso:1 (fail) # OK # ipv4 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 = # ipv4 tx:1472 gso:0 = # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 = # ipv4 tx:1473 gso:1472 = # ipv4 tx:2944 gso:1472 = # ipv4 tx:2945 gso:1472 = # ipv4 tx:64768 gso:1472 = # ipv4 tx:65507 gso:1472 = # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 = # ipv4 tx:2 gso:1 = # ipv4 tx:5 gso:2 = # ipv4 tx:36 gso:1 = # ipv4 tx:37 gso:1 (fail) # OK # ipv6 cmsg # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 = # ipv6 tx:1452 gso:0 = # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 = # ipv6 tx:1453 gso:1452 = # ipv6 tx:2904 gso:1452 = # ipv6 tx:2905 gso:1452 = # ipv6 tx:65340 gso:1452 = # ipv6 tx:65527 gso:1452 = # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 = # ipv6 tx:2 gso:1 = # ipv6 tx:5 gso:2 = # ipv6 tx:16 gso:1 = # ipv6 tx:17 gso:1 (fail) # OK # ipv6 setsockopt # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 = # ipv6 tx:1452 gso:0 = # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 = # ipv6 tx:1453 gso:1452 = # ipv6 tx:2904 gso:1452 = # ipv6 tx:2905 gso:1452 = # ipv6 tx:65340 gso:1452 = # ipv6 tx:65527 gso:1452 = # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 = # ipv6 tx:2 gso:1 = # ipv6 tx:5 gso:2 = # ipv6 tx:16 gso:1 = # ipv6 tx:17 gso:1 (fail) # OK # ipv4 connected # device mtu (orig): 65536 # device mtu (test): 1600 # route mtu (test): 1500 # path mtu (read): 1500 # ipv4 tx:1 gso:0 = # ipv4 tx:1472 gso:0 = # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 = # ipv4 tx:1473 gso:1472 = # ipv4 tx:2944 gso:1472 = # ipv4 tx:2945 gso:1472 = # ipv4 tx:64768 gso:1472 = # ipv4 tx:65507 gso:1472 = # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 = # ipv4 tx:2 gso:1 = # ipv4 tx:5 gso:2 = # ipv4 tx:36 gso:1 = # ipv4 tx:37 gso:1 (fail) # OK # ipv4 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv4 tx:1 gso:0 = # ipv4 tx:1472 gso:0 = # ipv4 tx:1473 gso:0 (fail) # ipv4 tx:1472 gso:1472 = # ipv4 tx:1473 gso:1472 = # ipv4 tx:2944 gso:1472 = # ipv4 tx:2945 gso:1472 = # ipv4 tx:64768 gso:1472 = # ipv4 tx:65507 gso:1472 = # ipv4 tx:65508 gso:1472 (fail) # ipv4 tx:1 gso:1 = # ipv4 tx:2 gso:1 = # ipv4 tx:5 gso:2 = # ipv4 tx:36 gso:1 = # ipv4 tx:37 gso:1 (fail) # OK # ipv6 msg_more # device mtu (orig): 65536 # device mtu (test): 1500 # ipv6 tx:1 gso:0 = # ipv6 tx:1452 gso:0 = # ipv6 tx:1453 gso:0 (fail) # ipv6 tx:1452 gso:1452 = # ipv6 tx:1453 gso:1452 = # ipv6 tx:2904 gso:1452 = # ipv6 tx:2905 gso:1452 = # ipv6 tx:65340 gso:1452 = # ipv6 tx:65527 gso:1452 = # ipv6 tx:65528 gso:1452 (fail) # ipv6 tx:1 gso:1 = # ipv6 tx:2 gso:1 = # ipv6 tx:5 gso:2 = # ipv6 tx:16 gso:1 = # ipv6 tx:17 gso:1 (fail) # OK ok 16 selftests: net: udpgso.sh # selftests: net: ip_defrag.sh # ipv4 defrag # PASS # seed =3D 1618856025 # ipv4 defrag with overlaps # PASS # seed =3D 1618856025 # ipv6 defrag # PASS # seed =3D 1618856029 # ipv6 defrag with overlaps # PASS # seed =3D 1618856029 # ipv6 nf_conntrack defrag # PASS # seed =3D 1618856034 # ipv6 nf_conntrack defrag with overlaps # PASS # seed =3D 1618856034 # all tests done ok 17 selftests: net: ip_defrag.sh # selftests: net: udpgso_bench.sh # ipv4 # tcp # tcp tx: 3312 MB/s 56177 calls/s 56177 msg/s # tcp rx: 3314 MB/s 56188 calls/s # tcp tx: 3272 MB/s 55503 calls/s 55503 msg/s # tcp rx: 3275 MB/s 55546 calls/s # tcp tx: 3258 MB/s 55268 calls/s 55268 msg/s # tcp zerocopy # tcp tx: 2381 MB/s 40387 calls/s 40387 msg/s # tcp rx: 2382 MB/s 39941 calls/s # tcp tx: 2381 MB/s 40396 calls/s 40396 msg/s # tcp rx: 2384 MB/s 40313 calls/s # tcp tx: 2394 MB/s 40609 calls/s 40609 msg/s # udp # udp rx: 161 MB/s 114903 calls/s # udp tx: 161 MB/s 114912 calls/s 2736 msg/s # udp tx: 162 MB/s 115752 calls/s 2756 msg/s # udp rx: 162 MB/s 115867 calls/s # udp tx: 162 MB/s 115920 calls/s 2760 msg/s # udp gso # udp rx: 908 MB/s 646910 calls/s # udp tx: 910 MB/s 15444 calls/s 15444 msg/s # udp rx: 912 MB/s 649930 calls/s # udp tx: 911 MB/s 15461 calls/s 15461 msg/s # udp rx: 910 MB/s 648850 calls/s # udp tx: 909 MB/s 15434 calls/s 15434 msg/s # udp gso zerocopy # udp rx: 857 MB/s 611018 calls/s # udp tx: 859 MB/s 14577 calls/s 14577 msg/s # udp rx: 867 MB/s 618312 calls/s # udp tx: 866 MB/s 14703 calls/s 14703 msg/s # udp tx: 874 MB/s 14831 calls/s 14831 msg/s # udp rx: 875 MB/s 623332 calls/s # udp gso timestamp # udp rx: 833 MB/s 593744 calls/s # udp tx: 835 MB/s 14179 calls/s 14179 msg/s # udp rx: 848 MB/s 604086 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 850 MB/s 605724 calls/s # udp tx: 849 MB/s 14408 calls/s 14408 msg/s # udp gso zerocopy audit # udp rx: 859 MB/s 612362 calls/s # udp tx: 862 MB/s 14622 calls/s 14622 msg/s # udp rx: 870 MB/s 620390 calls/s # udp tx: 870 MB/s 14759 calls/s 14759 msg/s # udp rx: 870 MB/s 620208 calls/s # udp tx: 869 MB/s 14751 calls/s 14751 msg/s # Summary over 3.000 seconds... # sum udp tx: 888 MB/s 44132 calls (14710/s) 44132 msgs (14710= /s) # Zerocopy acks: 44132 # udp gso timestamp audit # udp rx: 834 MB/s 594663 calls/s # udp tx: 837 MB/s 14201 calls/s 14201 msg/s # udp rx: 844 MB/s 601373 calls/s # udp tx: 843 MB/s 14305 calls/s 14305 msg/s # udp rx: 845 MB/s 602148 calls/s # udp tx: 844 MB/s 14323 calls/s 14323 msg/s # Summary over 3.000 seconds... # sum udp tx: 861 MB/s 42829 calls (14276/s) 42829 msgs (14276= /s) # Tx Timestamps: 42829 received 0 errors # udp gso zerocopy timestamp audit # udp rx: 739 MB/s 526987 calls/s # udp tx: 742 MB/s 12589 calls/s 12589 msg/s # udp rx: 748 MB/s 533484 calls/s # udp tx: 748 MB/s 12690 calls/s 12690 msg/s # udp rx: 749 MB/s 534030 calls/s # udp tx: 748 MB/s 12702 calls/s 12702 msg/s # Summary over 3.000 seconds... # sum udp tx: 764 MB/s 37981 calls (12660/s) 37981 msgs (12660= /s) # Tx Timestamps: 37981 received 0 errors # Zerocopy acks: 37981 # ipv6 # tcp # tcp tx: 3210 MB/s 54445 calls/s 54445 msg/s # tcp rx: 3212 MB/s 54443 calls/s # tcp tx: 3274 MB/s 55541 calls/s 55541 msg/s # tcp rx: 3279 MB/s 55592 calls/s # tcp tx: 3265 MB/s 55385 calls/s 55385 msg/s # tcp zerocopy # tcp tx: 2376 MB/s 40299 calls/s 40299 msg/s # tcp rx: 2377 MB/s 40284 calls/s # tcp tx: 2407 MB/s 40841 calls/s 40841 msg/s # tcp rx: 2410 MB/s 40861 calls/s # tcp tx: 2403 MB/s 40766 calls/s 40766 msg/s # udp # udp rx: 133 MB/s 97368 calls/s # udp tx: 133 MB/s 97481 calls/s 2267 msg/s # udp rx: 138 MB/s 100831 calls/s # udp tx: 138 MB/s 100749 calls/s 2343 msg/s # udp tx: 138 MB/s 100964 calls/s 2348 msg/s # udp gso # udp rx: 895 MB/s 652800 calls/s # udp tx: 897 MB/s 15222 calls/s 15222 msg/s # udp rx: 901 MB/s 657664 calls/s # udp tx: 901 MB/s 15283 calls/s 15283 msg/s # udp rx: 905 MB/s 660736 calls/s # udp tx: 904 MB/s 15348 calls/s 15348 msg/s # udp gso zerocopy # udp rx: 849 MB/s 619264 calls/s # udp tx: 851 MB/s 14442 calls/s 14442 msg/s # udp rx: 857 MB/s 625664 calls/s # udp tx: 857 MB/s 14539 calls/s 14539 msg/s # udp rx: 859 MB/s 626641 calls/s # udp tx: 858 MB/s 14556 calls/s 14556 msg/s # udp gso timestamp # udp rx: 836 MB/s 609998 calls/s # udp tx: 838 MB/s 14229 calls/s 14229 msg/s # udp rx: 848 MB/s 618555 calls/s # udp tx: 847 MB/s 14369 calls/s 14369 msg/s # udp rx: 848 MB/s 618598 calls/s # udp tx: 847 MB/s 14372 calls/s 14372 msg/s # not ok 18 selftests: net: udpgso_bench.sh # TIMEOUT 45 seconds # selftests: net: fib_rule_tests.sh # = # ###################################################################### # TEST SECTION: IPv4 fib rule # ###################################################################### # = # TEST: rule4 check: oif dummy0 [ OK ] # = # TEST: rule4 del by pref: oif dummy0 [ OK ] # net.ipv4.ip_forward =3D 1 # net.ipv4.conf.dummy0.rp_filter =3D 0 # = # TEST: rule4 check: from 192.51.100.3 iif dummy0 [ OK ] # = # TEST: rule4 del by pref: from 192.51.100.3 iif dummy0 [ OK ] # net.ipv4.ip_forward =3D 0 # = # TEST: rule4 check: tos 0x10 [ OK ] # = # TEST: rule4 del by pref: tos 0x10 [ OK ] # = # TEST: rule4 check: fwmark 0x64 [ OK ] # = # TEST: rule4 del by pref: fwmark 0x64 [ OK ] # = # TEST: rule4 check: uidrange 100-100 [ OK ] # = # TEST: rule4 del by pref: uidrange 100-100 [ OK ] # = # TEST: rule4 check: sport 666 dport 777 [ OK ] # = # TEST: rule4 del by pref: sport 666 dport 777 [ OK ] # = # TEST: rule4 check: ipproto tcp [ OK ] # = # TEST: rule4 del by pref: ipproto tcp [ OK ] # = # TEST: rule4 check: ipproto icmp [ OK ] # = # TEST: rule4 del by pref: ipproto icmp [ OK ] # = # ###################################################################### # TEST SECTION: IPv6 fib rule # ###################################################################### # = # TEST: rule6 check: oif dummy0 [ OK ] # = # TEST: rule6 del by pref: oif dummy0 [ OK ] # = # TEST: rule6 check: from 2001:db8:1::3 iif dummy0 [ OK ] # = # TEST: rule6 del by pref: from 2001:db8:1::3 iif dummy0 [ OK ] # = # TEST: rule6 check: tos 0x10 [ OK ] # = # TEST: rule6 del by pref: tos 0x10 [ OK ] # = # TEST: rule6 check: fwmark 0x64 [ OK ] # = # TEST: rule6 del by pref: fwmark 0x64 [ OK ] # = # TEST: rule6 check: uidrange 100-100 [ OK ] # = # TEST: rule6 del by pref: uidrange 100-100 [ OK ] # = # TEST: rule6 check: sport 666 dport 777 [ OK ] # = # TEST: rule6 del by pref: sport 666 dport 777 [ OK ] # = # TEST: rule6 check: ipproto tcp [ OK ] # = # TEST: rule6 del by pref: ipproto tcp [ OK ] # = # TEST: rule6 check: ipproto ipv6-icmp [ OK ] # = # TEST: rule6 del by pref: ipproto ipv6-icmp [ OK ] # = # Tests passed: 32 # Tests failed: 0 ok 19 selftests: net: fib_rule_tests.sh # selftests: net: msg_zerocopy.sh # ipv4 tcp -t 1 # tx=3D63418 (3957 MB) txc=3D0 zc=3Dn # rx=3D31710 (3957 MB) # ipv4 tcp -z -t 1 # tx=3D49828 (3109 MB) txc=3D49828 zc=3Dn # rx=3D24915 (3109 MB) # ok # ipv6 tcp -t 1 # tx=3D52634 (3284 MB) txc=3D0 zc=3Dn # rx=3D26318 (3284 MB) # ipv6 tcp -z -t 1 # tx=3D42575 (2656 MB) txc=3D42575 zc=3Dn # rx=3D21289 (2656 MB) # ok # ipv4 udp -t 1 # tx=3D70296 (4386 MB) txc=3D0 zc=3Dn # rx=3D70293 (4386 MB) # ipv4 udp -z -t 1 # tx=3D51885 (3237 MB) txc=3D51885 zc=3Dn # rx=3D51849 (3235 MB) # ok # ipv6 udp -t 1 # tx=3D68014 (4244 MB) txc=3D0 zc=3Dn # rx=3D68011 (4244 MB) # ipv6 udp -z -t 1 # tx=3D51422 (3208 MB) txc=3D51422 zc=3Dn # rx=3D51422 (3208 MB) # ok # OK. All tests passed ok 20 selftests: net: msg_zerocopy.sh # selftests: net: psock_snd.sh # dgram # tx: 128 # rx: 142 # rx: 100 # OK # = # dgram bind # tx: 128 # rx: 142 # rx: 100 # OK # = # raw # tx: 142 # rx: 142 # rx: 100 # OK # = # raw bind # tx: 142 # rx: 142 # rx: 100 # OK # = # raw qdisc bypass # tx: 142 # rx: 142 # rx: 100 # OK # = # raw vlan # tx: 146 # rx: 100 # OK # = # raw vnet hdr # tx: 152 # rx: 142 # rx: 100 # OK # = # raw csum_off # tx: 152 # rx: 142 # rx: 100 # OK # = # raw csum_off with bad offset (expected to fail) # ./psock_snd: write: Invalid argument # raw min size # tx: 42 # rx: 0 # OK # = # raw mtu size # tx: 1514 # rx: 1472 # OK # = # raw mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw vlan mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # dgram mtu size # tx: 1500 # rx: 1472 # OK # = # dgram mtu size + 1 (expected to fail) # ./psock_snd: write: Message too long # raw truncate hlen (expected to fail: does not arrive) # tx: 14 # ./psock_snd: recv: Resource temporarily unavailable # raw truncate hlen - 1 (expected to fail: EINVAL) # ./psock_snd: write: Invalid argument # raw gso min size # tx: 1525 # rx: 1473 # OK # = # raw gso min size - 1 (expected to fail) # tx: 1524 # rx: 1472 # OK # = not ok 21 selftests: net: psock_snd.sh # exit=3D1 # selftests: net: udpgro_bench.sh # ipv4 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # tcp tx: 312 MB/s 5303 calls/s 5303 msg/s # tcp rx: 313 MB/s 8226 calls/s # tcp tx: 419 MB/s 7122 calls/s 7122 msg/s # tcp rx: 420 MB/s 12619 calls/s # tcp tx: 330 MB/s 5613 calls/s 5613 msg/s # tcp rx: 331 MB/s 10536 calls/s # tcp tx: 412 MB/s 7004 calls/s 7004 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # udp rx: 185 MB/s 131787 calls/s # udp tx: 224 MB/s 3816 calls/s 3816 msg/s # udp rx: 223 MB/s 159444 calls/s # udp tx: 223 MB/s 3792 calls/s 3792 msg/s # udp rx: 222 MB/s 158432 calls/s # udp tx: 222 MB/s 3772 calls/s 3772 msg/s # udp rx: 225 MB/s 160692 calls/s # udp tx: 225 MB/s 3823 calls/s 3823 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # udp rx: 337 MB/s 5696 calls/s # udp tx: 398 MB/s 6766 calls/s 6766 msg/s # udp rx: 393 MB/s 6633 calls/s # udp tx: 395 MB/s 6705 calls/s 6705 msg/s # udp rx: 492 MB/s 8062 calls/s # udp tx: 482 MB/s 8189 calls/s 8189 msg/s # udp rx: 370 MB/s 6277 calls/s # udp tx: 368 MB/s 6244 calls/s 6244 msg/s # ipv6 # tcp - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # tcp tx: 341 MB/s 5791 calls/s 5791 msg/s # tcp rx: 341 MB/s 4019 calls/s # tcp tx: 416 MB/s 7057 calls/s 7057 msg/s # tcp rx: 417 MB/s 13385 calls/s # tcp tx: 346 MB/s 5876 calls/s 5876 msg/s # tcp rx: 385 MB/s 4648 calls/s # tcp tx: 417 MB/s 7084 calls/s 7084 msg/s # udp gso - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # udp rx: 205 MB/s 149604 calls/s # udp tx: 251 MB/s 4268 calls/s 4268 msg/s # udp rx: 248 MB/s 181300 calls/s # udp tx: 245 MB/s 4164 calls/s 4164 msg/s # udp rx: 230 MB/s 168028 calls/s # udp tx: 230 MB/s 3903 calls/s 3903 msg/s # udp rx: 230 MB/s 167755 calls/s # udp tx: 229 MB/s 3899 calls/s 3899 msg/s # udp gso and gro - over veth touching data # Continuing without mounted eBPF fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # udp rx: 321 MB/s 5459 calls/s # udp tx: 374 MB/s 6356 calls/s 6356 msg/s # udp rx: 361 MB/s 6131 calls/s # udp tx: 359 MB/s 6105 calls/s 6105 msg/s # udp rx: 356 MB/s 6052 calls/s # udp tx: 356 MB/s 6048 calls/s 6048 msg/s # udp rx: 358 MB/s 6088 calls/s # udp tx: 358 MB/s 6081 calls/s 6081 msg/s ok 22 selftests: net: udpgro_bench.sh # selftests: net: udpgro.sh # ipv4 # no GRO Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # no GRO chk cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO chk cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO with custom segment size Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO with custom segment size cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # bad GRO lookup Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # multiple GRO socks Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # ipv6 # no GRO Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # no GRO chk cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO chk cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO with custom segment size Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # GRO with custom segment size cmsg Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # bad GRO lookup Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok # multiple GRO socks Continuing without mounted eBPF = fs. Too old kernel? # = # BTF debug data section '.BTF' rejected: Invalid argument (22)! # - Length: 549 # Verifier analysis: # = # magic: 0xeb9f # version: 1 # flags: 0x0 # hdr_len: 24 # type_off: 0 # type_len: 268 # str_off: 268 # str_len: 257 # btf_total_size: 549 # [1] PTR (anon) type_id=3D2 # [2] STRUCT xdp_md size=3D24 vlen=3D6 # data type_id=3D3 bits_offset=3D0 # data_end type_id=3D3 bits_offset=3D32 # data_meta type_id=3D3 bits_offset=3D64 # ingress_ifindex type_id=3D3 bits_offset=3D96 # rx_queue_index type_id=3D3 bits_offset=3D128 # egress_ifindex type_id=3D3 bits_offset=3D160 # [3] TYPEDEF __u32 type_id=3D4 # [4] INT unsigned int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3D(no= ne) # [5] FUNC_PROTO (anon) return=3D6 args=3D(1 ctx) # [6] INT int size=3D4 bits_offset=3D0 nr_bits=3D32 encoding=3DSIGNED # [7] FUNC xdp_dummy_prog type_id=3D5 # [8] INT char size=3D1 bits_offset=3D0 nr_bits=3D8 encoding=3DSIGNED # [9] ARRAY (anon) type_id=3D8 index_type_id=3D10 nr_elems=3D4 # [10] INT __ARRAY_SIZE_TYPE__ size=3D4 bits_offset=3D0 nr_bits=3D32 encodi= ng=3D(none) # [11] VAR _license type_id=3D9 linkage=3D1 # [12] DATASEC license size=3D0 vlen=3D1 size =3D=3D 0 # = # ok ok 23 selftests: net: udpgro.sh # selftests: net: test_vxlan_under_vrf.sh # Checking HV connectivity [ OK ] # Check VM connectivity through VXLAN (underlay in the default VRF) [ OK ] # Check VM connectivity through VXLAN (underlay in a VRF) [FAIL] not ok 24 selftests: net: test_vxlan_under_vrf.sh # exit=3D1 # selftests: net: reuseport_addr_any.sh # UDP IPv4 ... pass # UDP IPv6 ... pass # UDP IPv4 mapped to IPv6 ... pass # TCP IPv4 ... pass # TCP IPv6 ... pass # TCP IPv4 mapped to IPv6 ... pass # DCCP not supported: skipping DCCP tests # SUCCESS ok 25 selftests: net: reuseport_addr_any.sh # selftests: net: test_vxlan_fdb_changelink.sh # expected two remotes after fdb append [ OK ] # expected two remotes after link set [ OK ] ok 26 selftests: net: test_vxlan_fdb_changelink.sh # selftests: net: so_txtime.sh # = # SO_TXTIME ipv6 clock monotonic # payload:a delay:81 expected:0 (us) # = # SO_TXTIME ipv4 clock monotonic # payload:a delay:54 expected:0 (us) # = # SO_TXTIME ipv6 clock monotonic # payload:a delay:47 expected:0 (us) # = # SO_TXTIME ipv4 clock monotonic # payload:a delay:62 expected:0 (us) # = # SO_TXTIME ipv6 clock monotonic # payload:a delay:10065 expected:10000 (us) # = # SO_TXTIME ipv4 clock monotonic # payload:a delay:10104 expected:10000 (us) # = # SO_TXTIME ipv6 clock monotonic # payload:a delay:10069 expected:10000 (us) # payload:b delay:20036 expected:20000 (us) # = # SO_TXTIME ipv4 clock monotonic # payload:a delay:10100 expected:10000 (us) # payload:b delay:20150 expected:20000 (us) # = # SO_TXTIME ipv6 clock monotonic # payload:b delay:20350 expected:20000 (us) # payload:a delay:20384 expected:20000 (us) # = # SO_TXTIME ipv4 clock monotonic # payload:b delay:20351 expected:20000 (us) # payload:a delay:20385 expected:20000 (us) # = # SO_TXTIME ipv6 clock tai # send: pkt a at -1618856139102ms dropped: invalid txtime # ./so_txtime: recv: timeout # = # SO_TXTIME ipv6 clock tai # send: pkt a at 0ms dropped: invalid txtime # ./so_txtime: recv: timeout # = # SO_TXTIME ipv6 clock tai # payload:a delay:9663 expected:10000 (us) # = # SO_TXTIME ipv4 clock tai # payload:a delay:9720 expected:10000 (us) # = # SO_TXTIME ipv6 clock tai # payload:a delay:9806 expected:10000 (us) # payload:b delay:19756 expected:20000 (us) # = # SO_TXTIME ipv4 clock tai # payload:a delay:9640 expected:10000 (us) # payload:b delay:19644 expected:20000 (us) # = # SO_TXTIME ipv6 clock tai # payload:b delay:9664 expected:10000 (us) # payload:a delay:19743 expected:20000 (us) # = # SO_TXTIME ipv4 clock tai # payload:b delay:9655 expected:10000 (us) # payload:a delay:19688 expected:20000 (us) # OK. All tests passed ok 27 selftests: net: so_txtime.sh # selftests: net: ipv6_flowlabel.sh # TEST management # [OK] !(flowlabel_get(fd, 1, 255, 0)) # [OK] !(flowlabel_put(fd, 1)) # [OK] !(flowlabel_get(fd, 0x1FFFFF, 255, 1)) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] flowlabel_get(fd, 1, 255, 0) # [OK] flowlabel_get(fd, 1, 255, 1) # [OK] !(flowlabel_get(fd, 1, 255, 1 | 2)) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] flowlabel_put(fd, 1) # [OK] !(flowlabel_put(fd, 1)) # [OK] flowlabel_get(fd, 2, 1, 1) # [OK] !(flowlabel_get(fd, 2, 255, 1)) # [OK] !(flowlabel_get(fd, 2, 1, 1)) # [OK] flowlabel_put(fd, 2) # [OK] flowlabel_get(fd, 3, 3, 1) # [OK] !(flowlabel_get(fd, 3, 255, 0)) # [OK] !(flowlabel_get(fd, 3, 1, 0)) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] flowlabel_get(fd, 3, 3, 0) # [OK] !(flowlabel_get(fd, 3, 3, 0)) # [OK] flowlabel_get(fd, 4, 2, 1) # [OK] flowlabel_get(fd, 4, 2, 0) # [OK] !(flowlabel_get(fd, 4, 2, 0)) # TEST datapath # send no label: recv no label (auto off) # sent without label # recv without label # send label # sent with label 1 # recv with label 1 # TEST datapath (with auto-flowlabels) # send no label: recv auto flowlabel # sent without label # recv with label 177325 # send label # sent with label 1 # recv with label 1 # OK. All tests passed ok 28 selftests: net: ipv6_flowlabel.sh # selftests: net: tcp_fastopen_backup_key.sh # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # PASS # all tests done ok 29 selftests: net: tcp_fastopen_backup_key.sh # selftests: net: fcnal-test.sh # 'nettest' command not found; skipping tests ok 30 selftests: net: fcnal-test.sh # selftests: net: traceroute.sh # SKIP: Could not run IPV6 test without traceroute6 # SKIP: Could not run IPV4 test without traceroute # = # Tests passed: 0 # Tests failed: 0 ok 31 selftests: net: traceroute.sh # selftests: net: fin_ack_lat.sh # server port: 59901 # test done ok 32 selftests: net: fin_ack_lat.sh # selftests: net: fib_nexthop_multiprefix.sh # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # = # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # = # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] # = # TEST: IPv4: host 0 to host 1, mtu 1300 [ OK ] # TEST: IPv6: host 0 to host 1, mtu 1300 [FAIL] # = # TEST: IPv4: host 0 to host 2, mtu 1350 [ OK ] # TEST: IPv6: host 0 to host 2, mtu 1350 [FAIL] # = # TEST: IPv4: host 0 to host 3, mtu 1400 [ OK ] # TEST: IPv6: host 0 to host 3, mtu 1400 [FAIL] ok 33 selftests: net: fib_nexthop_multiprefix.sh # selftests: net: fib_nexthops.sh # = # Basic functional tests # ---------------------- # TEST: List with nothing defined [ OK ] # TEST: Nexthop get on non-existent id [ OK ] # TEST: Nexthop with no device or gateway [ OK ] # TEST: Nexthop with down device [ OK ] # TEST: Nexthop with device that is linkdown [ OK ] # TEST: Nexthop with device only [ OK ] # TEST: Nexthop with duplicate id [ OK ] # TEST: Blackhole nexthop [ OK ] # TEST: Blackhole nexthop with other attributes [ OK ] # TEST: Blackhole nexthop with loopback device down [ OK ] # TEST: Create group [ OK ] # TEST: Create group with blackhole nexthop [ OK ] # TEST: Create multipath group where 1 path is a blackhole [ OK ] # TEST: Multipath group can not have a member replaced by blackhole [ OK ] # TEST: Create group with non-existent nexthop [ OK ] # TEST: Create group with same nexthop multiple times [ OK ] # TEST: Replace nexthop with nexthop group [ OK ] # TEST: Replace nexthop group with nexthop [ OK ] # TEST: Nexthop group and device [ OK ] # TEST: Test proto flush [ OK ] # TEST: Nexthop group and blackhole [ OK ] # = # IPv4 functional # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # = # IPv4 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 route with invalid IPv6 gateway [ OK ] # = # IPv4 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Route add - scope conflict with nexthop [ OK ] # TEST: Nexthop replace with invalid scope for existing route [ OK ] # TEST: Basic ping [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - multiple default routes, nh first [ OK ] # TEST: Ping - multiple default routes, nh second [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv4 route with device only nexthop [ OK ] # TEST: IPv4 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with mixed v4-v6 multipath route [ OK ] # TEST: IPv6 nexthop with IPv4 route [ OK ] # TEST: IPv4 route with IPv6 gateway [ OK ] # TEST: IPv4 default route with IPv6 gateway [ OK ] # TEST: IPv4 route with MPLS encap [ OK ] # TEST: IPv4 route with MPLS encap - check [ OK ] # TEST: IPv4 route with MPLS encap and v6 gateway [ OK ] # TEST: IPv4 route with MPLS encap, v6 gw - check [ OK ] # = # IPv4 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # = # IPv4 nexthop api compat mode # ---------------------------- # TEST: IPv4 default nexthop compat mode check [ OK ] # TEST: IPv4 compat mode on - route add notification [ OK ] # TEST: IPv4 compat mode on - route dump [ OK ] # TEST: IPv4 compat mode on - nexthop change [ OK ] # TEST: IPv4 set compat mode - 0 [ OK ] # TEST: IPv4 compat mode off - route add notification [ OK ] # TEST: IPv4 compat mode off - route dump [ OK ] # TEST: IPv4 compat mode off - nexthop change [ OK ] # TEST: IPv4 compat mode off - nexthop delete [ OK ] # TEST: IPv4 set compat mode - 1 [ OK ] # = # IPv4 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # = # IPv4 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # = # IPv6 # ---------------------- # TEST: Create nexthop with id, gw, dev [ OK ] # TEST: Get nexthop by id [ OK ] # TEST: Delete nexthop by id [ OK ] # TEST: Create nexthop - gw only [ OK ] # TEST: Create nexthop - invalid gw+dev combination [ OK ] # TEST: Create nexthop - gw+dev and onlink [ OK ] # TEST: Nexthops removed on admin down [ OK ] # = # IPv6 groups functional # ---------------------- # TEST: Create nexthop group with single nexthop [ OK ] # TEST: Get nexthop group by id [ OK ] # TEST: Delete nexthop group by id [ OK ] # TEST: Nexthop group with multiple nexthops [ OK ] # TEST: Nexthop group updated when entry is deleted [ OK ] # TEST: Nexthop group with weighted nexthops [ OK ] # TEST: Weighted nexthop group updated when entry is deleted [ OK ] # TEST: Nexthops in groups removed on admin down [ OK ] # TEST: Multiple groups with same nexthop [ OK ] # TEST: Nexthops in group removed on admin down - mixed group [ OK ] # TEST: Nexthop group can not have a group as an entry [ OK ] # TEST: Nexthop group with a blackhole entry [ OK ] # TEST: Nexthop group can not have a blackhole and another nexthop [ OK ] # = # IPv6 functional runtime # ----------------------- # TEST: Route add [ OK ] # TEST: Route delete [ OK ] # TEST: Ping with nexthop [ OK ] # TEST: Ping - multipath [ OK ] # TEST: Ping - blackhole [ OK ] # TEST: Ping - blackhole replaced with gateway [ OK ] # TEST: Ping - gateway replaced by blackhole [ OK ] # TEST: Ping - group with blackhole [ OK ] # TEST: Ping - group blackhole replaced with gateways [ OK ] # TEST: IPv6 route with device only nexthop [ OK ] # TEST: IPv6 multipath route with nexthop mix - dev only + gw [ OK ] # TEST: IPv6 route can not have a v4 gateway [ OK ] # TEST: Nexthop replace - v6 route, v4 nexthop [ OK ] # TEST: Nexthop replace of group entry - v6 route, v4 nexthop [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after removing v4 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route can not have a group with v4 and v6 gateways [ OK ] # TEST: IPv6 route using a group after replacing v4 gateways [ OK ] # TEST: Nexthop with default route and rpfilter [ OK ] # TEST: Nexthop with multipath default route and rpfilter [ OK ] # = # IPv6 large groups (x32) # --------------------- # TEST: Dump large (x32) ecmp groups [ OK ] # = # IPv6 nexthop api compat mode test # -------------------------------- # TEST: IPv6 default nexthop compat mode check [ OK ] # TEST: IPv6 compat mode on - route add notification [ OK ] # TEST: IPv6 compat mode on - route dump [ OK ] # TEST: IPv6 compat mode on - nexthop change [ OK ] # TEST: IPv6 set compat mode - 0 [ OK ] # TEST: IPv6 compat mode off - route add notification [ OK ] # TEST: IPv6 compat mode off - route dump [ OK ] # TEST: IPv6 compat mode off - nexthop change [ OK ] # TEST: IPv6 compat mode off - nexthop delete [ OK ] # TEST: IPv6 set compat mode - 1 [ OK ] # = # IPv6 fdb groups functional # -------------------------- # TEST: Fdb Nexthop group with multiple nexthops [ OK ] # TEST: Get Fdb nexthop group by id [ OK ] # TEST: Fdb Nexthop group with non-fdb nexthops [ OK ] # TEST: Non-Fdb Nexthop group with fdb nexthops [ OK ] # TEST: Fdb Nexthop with blackhole [ OK ] # TEST: Fdb Nexthop with oif [ OK ] # TEST: Fdb Nexthop with onlink [ OK ] # TEST: Fdb Nexthop with encap [ OK ] # TEST: Fdb mac add with nexthop group [ OK ] # TEST: Fdb mac add with nexthop [ OK ] # TEST: Route add with fdb nexthop [ OK ] # TEST: Route add with fdb nexthop group [ OK ] # TEST: Fdb entry after deleting a single nexthop [ OK ] # TEST: Fdb nexthop delete [ OK ] # TEST: Fdb entry after deleting a nexthop group [ OK ] # = # IPv6 runtime torture # -------------------- # SKIP: Could not run test; need mausezahn tool # = # Tests passed: 163 # Tests failed: 0 ok 34 selftests: net: fib_nexthops.sh # selftests: net: altnames.sh # SKIP: jq not installed not ok 35 selftests: net: altnames.sh # exit=3D1 # selftests: net: icmp_redirect.sh # = # #########################################################################= ## # Legacy routing # #########################################################################= ## # = # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # = # #########################################################################= ## # Legacy routing with VRF # #########################################################################= ## # = # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # = # #########################################################################= ## # Routing with nexthop objects # #########################################################################= ## # = # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # = # #########################################################################= ## # Routing with nexthop objects and VRF # #########################################################################= ## # = # TEST: IPv4: redirect exception [ OK ] # TEST: IPv6: redirect exception [FAIL] # TEST: IPv4: redirect exception plus mtu [ OK ] # TEST: IPv6: redirect exception plus mtu [FAIL] # TEST: IPv4: routing reset [ OK ] # TEST: IPv6: routing reset [ OK ] # TEST: IPv4: mtu exception [ OK ] # TEST: IPv6: mtu exception [ OK ] # TEST: IPv4: mtu exception plus redirect [ OK ] # TEST: IPv6: mtu exception plus redirect [FAIL] # = # Tests passed: 28 # Tests failed: 12 not ok 36 selftests: net: icmp_redirect.sh # exit=3D1 # selftests: net: ip6_gre_headroom.sh # TEST: ip6gretap headroom [PASS] # TEST: ip6erspan headroom [PASS] ok 37 selftests: net: ip6_gre_headroom.sh # selftests: net: route_localnet.sh # run arp_announce test # net.ipv4.conf.veth0.route_localnet =3D 1 # net.ipv4.conf.veth1.route_localnet =3D 1 # net.ipv4.conf.veth0.arp_announce =3D 2 # net.ipv4.conf.veth1.arp_announce =3D 2 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of dat= a. # 64 bytes from 127.25.3.14: icmp_seq=3D1 ttl=3D64 time=3D0.066 ms # 64 bytes from 127.25.3.14: icmp_seq=3D2 ttl=3D64 time=3D0.052 ms # 64 bytes from 127.25.3.14: icmp_seq=3D3 ttl=3D64 time=3D0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=3D4 ttl=3D64 time=3D0.044 ms # 64 bytes from 127.25.3.14: icmp_seq=3D5 ttl=3D64 time=3D0.046 ms # = # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 138ms # rtt min/avg/max/mdev =3D 0.044/0.050/0.066/0.011 ms # ok # run arp_ignore test # net.ipv4.conf.veth0.route_localnet =3D 1 # net.ipv4.conf.veth1.route_localnet =3D 1 # net.ipv4.conf.veth0.arp_ignore =3D 3 # net.ipv4.conf.veth1.arp_ignore =3D 3 # PING 127.25.3.14 (127.25.3.14) from 127.25.3.4 veth0: 56(84) bytes of dat= a. # 64 bytes from 127.25.3.14: icmp_seq=3D1 ttl=3D64 time=3D0.070 ms # 64 bytes from 127.25.3.14: icmp_seq=3D2 ttl=3D64 time=3D0.046 ms # 64 bytes from 127.25.3.14: icmp_seq=3D3 ttl=3D64 time=3D0.047 ms # 64 bytes from 127.25.3.14: icmp_seq=3D4 ttl=3D64 time=3D0.045 ms # 64 bytes from 127.25.3.14: icmp_seq=3D5 ttl=3D64 time=3D0.055 ms # = # --- 127.25.3.14 ping statistics --- # 5 packets transmitted, 5 received, 0% packet loss, time 123ms # rtt min/avg/max/mdev =3D 0.045/0.052/0.070/0.012 ms # ok ok 38 selftests: net: route_localnet.sh # selftests: net: reuseaddr_ports_exhausted.sh # TAP version 13 # 1..3 # # Starting 3 tests from 1 test cases. # # RUN global.reuseaddr_ports_exhausted_unreusable ... # # OK global.reuseaddr_ports_exhausted_unreusable # ok 1 global.reuseaddr_ports_exhausted_unreusable # # RUN global.reuseaddr_ports_exhausted_reusable_same_euid ... # # OK global.reuseaddr_ports_exhausted_reusable_same_euid # ok 2 global.reuseaddr_ports_exhausted_reusable_same_euid # # RUN global.reuseaddr_ports_exhausted_reusable_different_euid= ... # # OK global.reuseaddr_ports_exhausted_reusable_different_euid # ok 3 global.reuseaddr_ports_exhausted_reusable_different_euid # # PASSED: 3 / 3 tests passed. # # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0 # tests done ok 39 selftests: net: reuseaddr_ports_exhausted.sh # selftests: net: txtimestamp.sh # protocol: TCP # payload: 10 # server port: 9000 # = # family: INET = # test SND # USR: 1618856276 s 399083 us (seq=3D0, len=3D0) # SND: 1618856276 s 400550 us (seq=3D9, len=3D10) (USR +1467 us) # USR: 1618856276 s 449317 us (seq=3D0, len=3D0) # SND: 1618856276 s 450337 us (seq=3D19, len=3D10) (USR +1019 us) # USR: 1618856276 s 499478 us (seq=3D0, len=3D0) # SND: 1618856276 s 500531 us (seq=3D29, len=3D10) (USR +1053 us) # USR: 1618856276 s 549767 us (seq=3D0, len=3D0) # SND: 1618856276 s 550847 us (seq=3D39, len=3D10) (USR +1080 us) # USR-SND: count=3D4, avg=3D1155 us, min=3D1019 us, max=3D1467 us # test ENQ # USR: 1618856276 s 706738 us (seq=3D0, len=3D0) # ENQ: 1618856276 s 706796 us (seq=3D9, len=3D10) (USR +57 us) # USR: 1618856276 s 756958 us (seq=3D0, len=3D0) # ENQ: 1618856276 s 756971 us (seq=3D19, len=3D10) (USR +13 us) # USR: 1618856276 s 807197 us (seq=3D0, len=3D0) # ENQ: 1618856276 s 807222 us (seq=3D29, len=3D10) (USR +24 us) # USR: 1618856276 s 857632 us (seq=3D0, len=3D0) # ENQ: 1618856276 s 857667 us (seq=3D39, len=3D10) (USR +35 us) # USR-ENQ: count=3D4, avg=3D32 us, min=3D13 us, max=3D57 us # test ENQ + SND # USR: 1618856277 s 19202 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 19231 us (seq=3D9, len=3D10) (USR +28 us) # SND: 1618856277 s 20250 us (seq=3D9, len=3D10) (USR +1047 us) # USR: 1618856277 s 69689 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 69710 us (seq=3D19, len=3D10) (USR +21 us) # SND: 1618856277 s 70756 us (seq=3D19, len=3D10) (USR +1066 us) # USR: 1618856277 s 120059 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 120093 us (seq=3D29, len=3D10) (USR +34 us) # SND: 1618856277 s 121105 us (seq=3D29, len=3D10) (USR +1046 us) # USR: 1618856277 s 170421 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 170441 us (seq=3D39, len=3D10) (USR +19 us) # SND: 1618856277 s 171453 us (seq=3D39, len=3D10) (USR +1031 us) # USR-ENQ: count=3D4, avg=3D25 us, min=3D19 us, max=3D34 us # USR-SND: count=3D4, avg=3D1047 us, min=3D1031 us, max=3D1066 us # = # test ACK # USR: 1618856277 s 327673 us (seq=3D0, len=3D0) # ACK: 1618856277 s 333850 us (seq=3D9, len=3D10) (USR +6177 us) # USR: 1618856277 s 378073 us (seq=3D0, len=3D0) # ERROR: 17264 us expected between 6000 and 6500 # ACK: 1618856277 s 395337 us (seq=3D19, len=3D10) (USR +17263 us) # USR: 1618856277 s 428489 us (seq=3D0, len=3D0) # ACK: 1618856277 s 434731 us (seq=3D29, len=3D10) (USR +6241 us) # USR: 1618856277 s 478725 us (seq=3D0, len=3D0) # ERROR: 17259 us expected between 6000 and 6500 # ACK: 1618856277 s 495984 us (seq=3D39, len=3D10) (USR +17259 us) # USR-ACK: count=3D4, avg=3D11735 us, min=3D6177 us, max=3D17263 us # = # test SND + ACK # USR: 1618856277 s 635412 us (seq=3D0, len=3D0) # SND: 1618856277 s 636460 us (seq=3D9, len=3D10) (USR +1048 us) # ACK: 1618856277 s 641562 us (seq=3D9, len=3D10) (USR +6149 us) # USR: 1618856277 s 685671 us (seq=3D0, len=3D0) # SND: 1618856277 s 686747 us (seq=3D19, len=3D10) (USR +1076 us) # ACK: 1618856277 s 691931 us (seq=3D19, len=3D10) (USR +6259 us) # USR: 1618856277 s 735907 us (seq=3D0, len=3D0) # SND: 1618856277 s 736956 us (seq=3D29, len=3D10) (USR +1049 us) # ACK: 1618856277 s 742118 us (seq=3D29, len=3D10) (USR +6211 us) # USR: 1618856277 s 786360 us (seq=3D0, len=3D0) # SND: 1618856277 s 787390 us (seq=3D39, len=3D10) (USR +1030 us) # ACK: 1618856277 s 792546 us (seq=3D39, len=3D10) (USR +6185 us) # USR-SND: count=3D4, avg=3D1051 us, min=3D1030 us, max=3D1076 us # USR-ACK: count=3D4, avg=3D6201 us, min=3D6149 us, max=3D6259 us # = # test ENQ + SND + ACK # USR: 1618856277 s 948662 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 948683 us (seq=3D9, len=3D10) (USR +20 us) # SND: 1618856277 s 949703 us (seq=3D9, len=3D10) (USR +1040 us) # ACK: 1618856277 s 954821 us (seq=3D9, len=3D10) (USR +6158 us) # USR: 1618856277 s 999138 us (seq=3D0, len=3D0) # ENQ: 1618856277 s 999158 us (seq=3D19, len=3D10) (USR +20 us) # SND: 1618856278 s 183 us (seq=3D19, len=3D10) (USR +1045 us) # ACK: 1618856278 s 5323 us (seq=3D19, len=3D10) (USR +6185 us) # USR: 1618856278 s 49459 us (seq=3D0, len=3D0) # ENQ: 1618856278 s 49479 us (seq=3D29, len=3D10) (USR +19 us) # SND: 1618856278 s 50504 us (seq=3D29, len=3D10) (USR +1044 us) # ERROR: 18740 us expected between 6000 and 6500 # ACK: 1618856278 s 68199 us (seq=3D29, len=3D10) (USR +18740 us) # USR: 1618856278 s 99944 us (seq=3D0, len=3D0) # ENQ: 1618856278 s 99964 us (seq=3D39, len=3D10) (USR +19 us) # SND: 1618856278 s 100990 us (seq=3D39, len=3D10) (USR +1045 us) # ERROR: 18970 us expected between 6000 and 6500 # ACK: 1618856278 s 118914 us (seq=3D39, len=3D10) (USR +18969 us) # USR-ENQ: count=3D4, avg=3D20 us, min=3D19 us, max=3D20 us # USR-SND: count=3D4, avg=3D1043 us, min=3D1040 us, max=3D1045 us # USR-ACK: count=3D4, avg=3D12513 us, min=3D6158 us, max=3D18969 us not ok 40 selftests: net: txtimestamp.sh # exit=3D1 # selftests: net: vrf-xfrm-tests.sh # = # No qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # = # netem qdisc on VRF device # TEST: IPv4 no xfrm policy [ OK ] # TEST: IPv6 no xfrm policy [ OK ] # TEST: IPv4 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy based on address [ OK ] # TEST: IPv6 xfrm policy with VRF in selector [ OK ] # Error: Unknown device type. # Cannot find device "xfrm0" # Cannot find device "xfrm0" # Cannot find device "xfrm0" # TEST: IPv4 xfrm policy with xfrm device [FAIL] # TEST: IPv6 xfrm policy with xfrm device [FAIL] # Cannot find device "xfrm0" # = # Tests passed: 10 # Tests failed: 4 not ok 41 selftests: net: vrf-xfrm-tests.sh # exit=3D1 # selftests: net: rxtimestamp.sh # Testing ip... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing udp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # Testing tcp... # Starting testcase 0 over ipv4... # Starting testcase 0 over ipv6... # Starting testcase 1 over ipv4... # Starting testcase 1 over ipv6... # Starting testcase 2 over ipv4... # Starting testcase 2 over ipv6... # Starting testcase 3 over ipv4... # Starting testcase 3 over ipv6... # Starting testcase 4 over ipv4... # Starting testcase 4 over ipv6... # Starting testcase 5 over ipv4... # Starting testcase 5 over ipv6... # Starting testcase 6 over ipv4... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv4 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 6 over ipv6... # ./rxtimestamp: Expected swtstamp to not be set. # FAILURE in testcase 6 over ipv6 sockopts { SO_TIMESTAMPING: { SOF_TIMESTA= MPING_SOFTWARE |}} expected cmsgs: {} # Starting testcase 7 over ipv4... # Starting testcase 7 over ipv6... # Starting testcase 8 over ipv4... # Starting testcase 8 over ipv6... # Starting testcase 9 over ipv4... # Starting testcase 9 over ipv6... # PASSED. ok 42 selftests: net: rxtimestamp.sh # selftests: net: devlink_port_split.py # Traceback (most recent call last): # File "./devlink_port_split.py", line 277, in # main() # File "./devlink_port_split.py", line 242, in main # dev =3D list(devs.keys())[0] # IndexError: list index out of range not ok 43 selftests: net: devlink_port_split.py # exit=3D1 # selftests: net: drop_monitor_tests.sh # SKIP: Could not run test without tshark tool ok 44 selftests: net: drop_monitor_tests.sh # SKIP # selftests: net: vrf_route_leaking.sh # = # #########################################################################= ## # IPv4 (sym route): VRF ICMP ttl error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # = # #########################################################################= ## # IPv4 (sym route): VRF ICMP error route lookup traceroute # #########################################################################= ## # = # SKIP: Could not run IPV4 test without traceroute # = # #########################################################################= ## # IPv4 (sym route): VRF ICMP fragmentation error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP Frag needed [ OK ] # = # #########################################################################= ## # IPv4 (asym route): VRF ICMP ttl error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv4 connectivity [ OK ] # TEST: Ping received ICMP ttl exceeded [ OK ] # = # #########################################################################= ## # IPv4 (asym route): VRF ICMP error route lookup traceroute # #########################################################################= ## # = # SKIP: Could not run IPV4 test without traceroute # = # #########################################################################= ## # IPv6 (sym route): VRF ICMP ttl error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # = # #########################################################################= ## # IPv6 (sym route): VRF ICMP error route lookup traceroute # #########################################################################= ## # = # SKIP: Could not run IPV6 test without traceroute6 # = # #########################################################################= ## # IPv6 (sym route): VRF ICMP fragmentation error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Packet too big [FAIL] # = # #########################################################################= ## # IPv6 (asym route): VRF ICMP ttl error route lookup ping # #########################################################################= ## # = # TEST: Basic IPv6 connectivity [ OK ] # TEST: Ping received ICMP Hop limit [ OK ] # = # #########################################################################= ## # IPv6 (asym route): VRF ICMP error route lookup traceroute # #########################################################################= ## # = # SKIP: Could not run IPV6 test without traceroute6 # = # Tests passed: 11 # Tests failed: 1 not ok 45 selftests: net: vrf_route_leaking.sh # exit=3D1 # selftests: net: bareudp.sh # TEST: IPv4 packets over UDPv4 [ OK ] # TEST: IPv4 packets over UDPv6 [ OK ] # TEST: IPv6 packets over UDPv4 [ OK ] # TEST: IPv6 packets over UDPv6 [ OK ] # TEST: IPv4 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv4 (multiproto mode) [ OK ] # TEST: IPv4 packets over UDPv6 (multiproto mode) [ OK ] # TEST: IPv6 packets over UDPv6 (multiproto mode) [ OK ] # TEST: Unicast MPLS packets over UDPv4 [ OK ] # TEST: Unicast MPLS packets over UDPv6 [ OK ] ok 46 selftests: net: bareudp.sh # selftests: net: unicast_extensions.sh # #########################################################################= ## # Unicast address extensions tests (behavior of reserved IPv4 addresses) # #########################################################################= ## # TEST: assign and ping within 240/4 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 240/4 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (1 of 2) (is allowed) [ OK ] # TEST: assign and ping within 0/8 (2 of 2) (is allowed) [ OK ] # TEST: assign and ping inside 255.255/16 (is allowed) [ OK ] # TEST: assign and ping inside 255.255.255/24 (is allowed) [ OK ] # TEST: route between 240.5.6/24 and 255.1.2/24 (is allowed) [ OK ] # TEST: route between 0.200/16 and 245.99/16 (is allowed) [ OK ] # TEST: assigning 0.0.0.0 (is forbidden) [ OK ] # TEST: assigning 255.255.255.255 (is forbidden) [ OK ] # TEST: assign and ping inside 127/8 (is forbidden) [ OK ] # TEST: assign and ping lowest address (is forbidden) [ OK ] # TEST: routing using lowest address (is forbidden) [ OK ] # TEST: assign and ping class D address (is forbidden) [ OK ] # TEST: routing using class D (is forbidden) [ OK ] # TEST: routing using 127/8 (is forbidden) [ OK ] ok 47 selftests: net: unicast_extensions.sh To reproduce: git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp install job.yaml # job file is attached in = this email bin/lkp split-job --compatible job.yaml bin/lkp run compatible-job.yaml --- 0DAY/LKP+ Test Infrastructure Open Source Technology Cent= er https://lists.01.org/hyperkitty/list/lkp(a)lists.01.org Intel Corpora= tion Thanks, Oliver Sang --===============3082785961929637027== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config-5.12.0-rc6-00349-g6628ddfec758" IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgojIExpbnV4L3g4 Nl82NCA1LjEyLjAtcmM2IEtlcm5lbCBDb25maWd1cmF0aW9uCiMKQ09ORklHX0NDX1ZFUlNJT05f VEVYVD0iZ2NjLTkgKERlYmlhbiA5LjMuMC0yMikgOS4zLjAiCkNPTkZJR19DQ19JU19HQ0M9eQpD T05GSUdfR0NDX1ZFUlNJT049OTAzMDAKQ09ORklHX0NMQU5HX1ZFUlNJT049MApDT05GSUdfTERf SVNfQkZEPXkKQ09ORklHX0xEX1ZFUlNJT049MjM1MDIKQ09ORklHX0xMRF9WRVJTSU9OPTAKQ09O RklHX0NDX0NBTl9MSU5LPXkKQ09ORklHX0NDX0NBTl9MSU5LX1NUQVRJQz15CkNPTkZJR19DQ19I QVNfQVNNX0dPVE89eQpDT05GSUdfQ0NfSEFTX0FTTV9JTkxJTkU9eQpDT05GSUdfSVJRX1dPUks9 eQpDT05GSUdfQlVJTERUSU1FX1RBQkxFX1NPUlQ9eQpDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFT Sz15CgojCiMgR2VuZXJhbCBzZXR1cAojCkNPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKIyBD T05GSUdfQ09NUElMRV9URVNUIGlzIG5vdCBzZXQKQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgpDT05G SUdfTE9DQUxWRVJTSU9OX0FVVE89eQpDT05GSUdfQlVJTERfU0FMVD0iIgpDT05GSUdfSEFWRV9L RVJORUxfR1pJUD15CkNPTkZJR19IQVZFX0tFUk5FTF9CWklQMj15CkNPTkZJR19IQVZFX0tFUk5F TF9MWk1BPXkKQ09ORklHX0hBVkVfS0VSTkVMX1haPXkKQ09ORklHX0hBVkVfS0VSTkVMX0xaTz15 CkNPTkZJR19IQVZFX0tFUk5FTF9MWjQ9eQpDT05GSUdfSEFWRV9LRVJORUxfWlNURD15CkNPTkZJ R19LRVJORUxfR1pJUD15CiMgQ09ORklHX0tFUk5FTF9CWklQMiBpcyBub3Qgc2V0CiMgQ09ORklH X0tFUk5FTF9MWk1BIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VSTkVMX1haIGlzIG5vdCBzZXQKIyBD T05GSUdfS0VSTkVMX0xaTyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFUk5FTF9MWjQgaXMgbm90IHNl dAojIENPTkZJR19LRVJORUxfWlNURCBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0lOSVQ9IiIK Q09ORklHX0RFRkFVTFRfSE9TVE5BTUU9Iihub25lKSIKQ09ORklHX1NXQVA9eQpDT05GSUdfU1lT VklQQz15CkNPTkZJR19TWVNWSVBDX1NZU0NUTD15CkNPTkZJR19QT1NJWF9NUVVFVUU9eQpDT05G SUdfUE9TSVhfTVFVRVVFX1NZU0NUTD15CiMgQ09ORklHX1dBVENIX1FVRVVFIGlzIG5vdCBzZXQK Q09ORklHX0NST1NTX01FTU9SWV9BVFRBQ0g9eQojIENPTkZJR19VU0VMSUIgaXMgbm90IHNldApD T05GSUdfQVVESVQ9eQpDT05GSUdfSEFWRV9BUkNIX0FVRElUU1lTQ0FMTD15CkNPTkZJR19BVURJ VFNZU0NBTEw9eQoKIwojIElSUSBzdWJzeXN0ZW0KIwpDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9 eQpDT05GSUdfR0VORVJJQ19JUlFfU0hPVz15CkNPTkZJR19HRU5FUklDX0lSUV9FRkZFQ1RJVkVf QUZGX01BU0s9eQpDT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CkNPTkZJR19HRU5FUklDX0lS UV9NSUdSQVRJT049eQpDT05GSUdfR0VORVJJQ19JUlFfSU5KRUNUSU9OPXkKQ09ORklHX0hBUkRJ UlFTX1NXX1JFU0VORD15CkNPTkZJR19JUlFfRE9NQUlOPXkKQ09ORklHX0lSUV9TSU09eQpDT05G SUdfSVJRX0RPTUFJTl9ISUVSQVJDSFk9eQpDT05GSUdfR0VORVJJQ19NU0lfSVJRPXkKQ09ORklH X0dFTkVSSUNfTVNJX0lSUV9ET01BSU49eQpDT05GSUdfSVJRX01TSV9JT01NVT15CkNPTkZJR19H RU5FUklDX0lSUV9NQVRSSVhfQUxMT0NBVE9SPXkKQ09ORklHX0dFTkVSSUNfSVJRX1JFU0VSVkFU SU9OX01PREU9eQpDT05GSUdfSVJRX0ZPUkNFRF9USFJFQURJTkc9eQpDT05GSUdfU1BBUlNFX0lS UT15CiMgQ09ORklHX0dFTkVSSUNfSVJRX0RFQlVHRlMgaXMgbm90IHNldAojIGVuZCBvZiBJUlEg c3Vic3lzdGVtCgpDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQpDT05GSUdfQVJDSF9DTE9D S1NPVVJDRV9JTklUPXkKQ09ORklHX0NMT0NLU09VUkNFX1ZBTElEQVRFX0xBU1RfQ1lDTEU9eQpD T05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9 eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQpDT05GSUdfR0VORVJJQ19D TE9DS0VWRU5UU19NSU5fQURKVVNUPXkKQ09ORklHX0dFTkVSSUNfQ01PU19VUERBVEU9eQpDT05G SUdfSEFWRV9QT1NJWF9DUFVfVElNRVJTX1RBU0tfV09SSz15CkNPTkZJR19QT1NJWF9DUFVfVElN RVJTX1RBU0tfV09SSz15CgojCiMgVGltZXJzIHN1YnN5c3RlbQojCkNPTkZJR19USUNLX09ORVNI T1Q9eQpDT05GSUdfTk9fSFpfQ09NTU9OPXkKIyBDT05GSUdfSFpfUEVSSU9ESUMgaXMgbm90IHNl dAojIENPTkZJR19OT19IWl9JRExFIGlzIG5vdCBzZXQKQ09ORklHX05PX0haX0ZVTEw9eQpDT05G SUdfQ09OVEVYVF9UUkFDS0lORz15CiMgQ09ORklHX0NPTlRFWFRfVFJBQ0tJTkdfRk9SQ0UgaXMg bm90IHNldApDT05GSUdfTk9fSFo9eQpDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKIyBlbmQgb2Yg VGltZXJzIHN1YnN5c3RlbQoKIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKIyBDT05G SUdfUFJFRU1QVF9WT0xVTlRBUlkgaXMgbm90IHNldApDT05GSUdfUFJFRU1QVD15CkNPTkZJR19Q UkVFTVBUX0NPVU5UPXkKQ09ORklHX1BSRUVNUFRJT049eQpDT05GSUdfUFJFRU1QVF9EWU5BTUlD PXkKCiMKIyBDUFUvVGFzayB0aW1lIGFuZCBzdGF0cyBhY2NvdW50aW5nCiMKQ09ORklHX1ZJUlRf Q1BVX0FDQ09VTlRJTkc9eQpDT05GSUdfVklSVF9DUFVfQUNDT1VOVElOR19HRU49eQpDT05GSUdf SVJRX1RJTUVfQUNDT1VOVElORz15CkNPTkZJR19IQVZFX1NDSEVEX0FWR19JUlE9eQpDT05GSUdf QlNEX1BST0NFU1NfQUNDVD15CkNPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzPXkKQ09ORklHX1RB U0tTVEFUUz15CkNPTkZJR19UQVNLX0RFTEFZX0FDQ1Q9eQpDT05GSUdfVEFTS19YQUNDVD15CkNP TkZJR19UQVNLX0lPX0FDQ09VTlRJTkc9eQojIENPTkZJR19QU0kgaXMgbm90IHNldAojIGVuZCBv ZiBDUFUvVGFzayB0aW1lIGFuZCBzdGF0cyBhY2NvdW50aW5nCgpDT05GSUdfQ1BVX0lTT0xBVElP Tj15CgojCiMgUkNVIFN1YnN5c3RlbQojCkNPTkZJR19UUkVFX1JDVT15CkNPTkZJR19QUkVFTVBU X1JDVT15CiMgQ09ORklHX1JDVV9FWFBFUlQgaXMgbm90IHNldApDT05GSUdfU1JDVT15CkNPTkZJ R19UUkVFX1NSQ1U9eQpDT05GSUdfVEFTS1NfUkNVX0dFTkVSSUM9eQpDT05GSUdfVEFTS1NfUkNV PXkKQ09ORklHX1RBU0tTX1JVREVfUkNVPXkKQ09ORklHX1RBU0tTX1RSQUNFX1JDVT15CkNPTkZJ R19SQ1VfU1RBTExfQ09NTU9OPXkKQ09ORklHX1JDVV9ORUVEX1NFR0NCTElTVD15CkNPTkZJR19S Q1VfTk9DQl9DUFU9eQojIGVuZCBvZiBSQ1UgU3Vic3lzdGVtCgpDT05GSUdfQlVJTERfQklOMkM9 eQpDT05GSUdfSUtDT05GSUc9eQpDT05GSUdfSUtDT05GSUdfUFJPQz15CiMgQ09ORklHX0lLSEVB REVSUyBpcyBub3Qgc2V0CkNPTkZJR19MT0dfQlVGX1NISUZUPTIwCkNPTkZJR19MT0dfQ1BVX01B WF9CVUZfU0hJRlQ9MTIKQ09ORklHX1BSSU5US19TQUZFX0xPR19CVUZfU0hJRlQ9MTMKQ09ORklH X0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9eQoKIwojIFNjaGVkdWxlciBmZWF0dXJlcwojCiMg Q09ORklHX1VDTEFNUF9UQVNLIGlzIG5vdCBzZXQKIyBlbmQgb2YgU2NoZWR1bGVyIGZlYXR1cmVz CgpDT05GSUdfQVJDSF9TVVBQT1JUU19OVU1BX0JBTEFOQ0lORz15CkNPTkZJR19BUkNIX1dBTlRf QkFUQ0hFRF9VTk1BUF9UTEJfRkxVU0g9eQpDT05GSUdfQ0NfSEFTX0lOVDEyOD15CkNPTkZJR19B UkNIX1NVUFBPUlRTX0lOVDEyOD15CkNPTkZJR19OVU1BX0JBTEFOQ0lORz15CkNPTkZJR19OVU1B X0JBTEFOQ0lOR19ERUZBVUxUX0VOQUJMRUQ9eQpDT05GSUdfQ0dST1VQUz15CkNPTkZJR19QQUdF X0NPVU5URVI9eQpDT05GSUdfTUVNQ0c9eQpDT05GSUdfTUVNQ0dfU1dBUD15CkNPTkZJR19NRU1D R19LTUVNPXkKQ09ORklHX0JMS19DR1JPVVA9eQpDT05GSUdfQ0dST1VQX1dSSVRFQkFDSz15CkNP TkZJR19DR1JPVVBfU0NIRUQ9eQpDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CkNPTkZJR19DRlNf QkFORFdJRFRIPXkKQ09ORklHX1JUX0dST1VQX1NDSEVEPXkKQ09ORklHX0NHUk9VUF9QSURTPXkK Q09ORklHX0NHUk9VUF9SRE1BPXkKQ09ORklHX0NHUk9VUF9GUkVFWkVSPXkKQ09ORklHX0NHUk9V UF9IVUdFVExCPXkKQ09ORklHX0NQVVNFVFM9eQpDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkKQ09O RklHX0NHUk9VUF9ERVZJQ0U9eQpDT05GSUdfQ0dST1VQX0NQVUFDQ1Q9eQpDT05GSUdfQ0dST1VQ X1BFUkY9eQpDT05GSUdfQ0dST1VQX0JQRj15CiMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qg c2V0CkNPTkZJR19TT0NLX0NHUk9VUF9EQVRBPXkKQ09ORklHX05BTUVTUEFDRVM9eQpDT05GSUdf VVRTX05TPXkKQ09ORklHX1RJTUVfTlM9eQpDT05GSUdfSVBDX05TPXkKQ09ORklHX1VTRVJfTlM9 eQpDT05GSUdfUElEX05TPXkKQ09ORklHX05FVF9OUz15CkNPTkZJR19DSEVDS1BPSU5UX1JFU1RP UkU9eQpDT05GSUdfU0NIRURfQVVUT0dST1VQPXkKIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBp cyBub3Qgc2V0CkNPTkZJR19SRUxBWT15CkNPTkZJR19CTEtfREVWX0lOSVRSRD15CkNPTkZJR19J TklUUkFNRlNfU09VUkNFPSIiCkNPTkZJR19SRF9HWklQPXkKQ09ORklHX1JEX0JaSVAyPXkKQ09O RklHX1JEX0xaTUE9eQpDT05GSUdfUkRfWFo9eQpDT05GSUdfUkRfTFpPPXkKQ09ORklHX1JEX0xa ND15CkNPTkZJR19SRF9aU1REPXkKIyBDT05GSUdfQk9PVF9DT05GSUcgaXMgbm90IHNldApDT05G SUdfQ0NfT1BUSU1JWkVfRk9SX1BFUkZPUk1BTkNFPXkKIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9S X1NJWkUgaXMgbm90IHNldApDT05GSUdfTERfT1JQSEFOX1dBUk49eQpDT05GSUdfU1lTQ1RMPXkK Q09ORklHX0hBVkVfVUlEMTY9eQpDT05GSUdfU1lTQ1RMX0VYQ0VQVElPTl9UUkFDRT15CkNPTkZJ R19IQVZFX1BDU1BLUl9QTEFURk9STT15CkNPTkZJR19CUEY9eQpDT05GSUdfRVhQRVJUPXkKQ09O RklHX1VJRDE2PXkKQ09ORklHX01VTFRJVVNFUj15CkNPTkZJR19TR0VUTUFTS19TWVNDQUxMPXkK Q09ORklHX1NZU0ZTX1NZU0NBTEw9eQpDT05GSUdfRkhBTkRMRT15CkNPTkZJR19QT1NJWF9USU1F UlM9eQpDT05GSUdfUFJJTlRLPXkKQ09ORklHX1BSSU5US19OTUk9eQpDT05GSUdfQlVHPXkKQ09O RklHX0VMRl9DT1JFPXkKQ09ORklHX1BDU1BLUl9QTEFURk9STT15CkNPTkZJR19CQVNFX0ZVTEw9 eQpDT05GSUdfRlVURVg9eQpDT05GSUdfRlVURVhfUEk9eQpDT05GSUdfRVBPTEw9eQpDT05GSUdf U0lHTkFMRkQ9eQpDT05GSUdfVElNRVJGRD15CkNPTkZJR19FVkVOVEZEPXkKQ09ORklHX1NITUVN PXkKQ09ORklHX0FJTz15CkNPTkZJR19JT19VUklORz15CkNPTkZJR19BRFZJU0VfU1lTQ0FMTFM9 eQpDT05GSUdfSEFWRV9BUkNIX1VTRVJGQVVMVEZEX1dQPXkKQ09ORklHX01FTUJBUlJJRVI9eQpD T05GSUdfS0FMTFNZTVM9eQpDT05GSUdfS0FMTFNZTVNfQUxMPXkKQ09ORklHX0tBTExTWU1TX0FC U09MVVRFX1BFUkNQVT15CkNPTkZJR19LQUxMU1lNU19CQVNFX1JFTEFUSVZFPXkKIyBDT05GSUdf QlBGX0xTTSBpcyBub3Qgc2V0CkNPTkZJR19CUEZfU1lTQ0FMTD15CkNPTkZJR19BUkNIX1dBTlRf REVGQVVMVF9CUEZfSklUPXkKQ09ORklHX0JQRl9KSVRfQUxXQVlTX09OPXkKQ09ORklHX0JQRl9K SVRfREVGQVVMVF9PTj15CiMgQ09ORklHX0JQRl9QUkVMT0FEIGlzIG5vdCBzZXQKQ09ORklHX1VT RVJGQVVMVEZEPXkKQ09ORklHX0FSQ0hfSEFTX01FTUJBUlJJRVJfU1lOQ19DT1JFPXkKQ09ORklH X0tDTVA9eQpDT05GSUdfUlNFUT15CiMgQ09ORklHX0RFQlVHX1JTRVEgaXMgbm90IHNldApDT05G SUdfRU1CRURERUQ9eQpDT05GSUdfSEFWRV9QRVJGX0VWRU5UUz15CiMgQ09ORklHX1BDMTA0IGlz IG5vdCBzZXQKCiMKIyBLZXJuZWwgUGVyZm9ybWFuY2UgRXZlbnRzIEFuZCBDb3VudGVycwojCkNP TkZJR19QRVJGX0VWRU5UUz15CiMgQ09ORklHX0RFQlVHX1BFUkZfVVNFX1ZNQUxMT0MgaXMgbm90 IHNldAojIGVuZCBvZiBLZXJuZWwgUGVyZm9ybWFuY2UgRXZlbnRzIEFuZCBDb3VudGVycwoKQ09O RklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKQ09ORklHX1NMVUJfREVCVUc9eQojIENPTkZJR19DT01Q QVRfQlJLIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CkNPTkZJR19TTFVCPXkK IyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CkNPTkZJR19TTEFCX01FUkdFX0RFRkFVTFQ9eQpDT05G SUdfU0xBQl9GUkVFTElTVF9SQU5ET009eQojIENPTkZJR19TTEFCX0ZSRUVMSVNUX0hBUkRFTkVE IGlzIG5vdCBzZXQKQ09ORklHX1NIVUZGTEVfUEFHRV9BTExPQ0FUT1I9eQpDT05GSUdfU0xVQl9D UFVfUEFSVElBTD15CkNPTkZJR19TWVNURU1fREFUQV9WRVJJRklDQVRJT049eQpDT05GSUdfUFJP RklMSU5HPXkKQ09ORklHX1RSQUNFUE9JTlRTPXkKIyBlbmQgb2YgR2VuZXJhbCBzZXR1cAoKQ09O RklHXzY0QklUPXkKQ09ORklHX1g4Nl82ND15CkNPTkZJR19YODY9eQpDT05GSUdfSU5TVFJVQ1RJ T05fREVDT0RFUj15CkNPTkZJR19PVVRQVVRfRk9STUFUPSJlbGY2NC14ODYtNjQiCkNPTkZJR19M T0NLREVQX1NVUFBPUlQ9eQpDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKQ09ORklHX01NVT15 CkNPTkZJR19BUkNIX01NQVBfUk5EX0JJVFNfTUlOPTI4CkNPTkZJR19BUkNIX01NQVBfUk5EX0JJ VFNfTUFYPTMyCkNPTkZJR19BUkNIX01NQVBfUk5EX0NPTVBBVF9CSVRTX01JTj04CkNPTkZJR19B UkNIX01NQVBfUk5EX0NPTVBBVF9CSVRTX01BWD0xNgpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkK Q09ORklHX0dFTkVSSUNfQlVHPXkKQ09ORklHX0dFTkVSSUNfQlVHX1JFTEFUSVZFX1BPSU5URVJT PXkKQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRF X0RFTEFZPXkKQ09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CkNPTkZJR19BUkNIX0hBU19DQUNI RV9MSU5FX1NJWkU9eQpDT05GSUdfQVJDSF9IQVNfRklMVEVSX1BHUFJPVD15CkNPTkZJR19IQVZF X1NFVFVQX1BFUl9DUFVfQVJFQT15CkNPTkZJR19ORUVEX1BFUl9DUFVfRU1CRURfRklSU1RfQ0hV Tks9eQpDT05GSUdfTkVFRF9QRVJfQ1BVX1BBR0VfRklSU1RfQ0hVTks9eQpDT05GSUdfQVJDSF9I SUJFUk5BVElPTl9QT1NTSUJMRT15CkNPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQpDT05G SUdfQVJDSF9XQU5UX0dFTkVSQUxfSFVHRVRMQj15CkNPTkZJR19aT05FX0RNQTMyPXkKQ09ORklH X0FVRElUX0FSQ0g9eQpDT05GSUdfSEFWRV9JTlRFTF9UWFQ9eQpDT05GSUdfWDg2XzY0X1NNUD15 CkNPTkZJR19BUkNIX1NVUFBPUlRTX1VQUk9CRVM9eQpDT05GSUdfRklYX0VBUkxZQ09OX01FTT15 CkNPTkZJR19EWU5BTUlDX1BIWVNJQ0FMX01BU0s9eQpDT05GSUdfUEdUQUJMRV9MRVZFTFM9NQpD T05GSUdfQ0NfSEFTX1NBTkVfU1RBQ0tQUk9URUNUT1I9eQoKIwojIFByb2Nlc3NvciB0eXBlIGFu ZCBmZWF0dXJlcwojCkNPTkZJR19aT05FX0RNQT15CkNPTkZJR19TTVA9eQpDT05GSUdfWDg2X0ZF QVRVUkVfTkFNRVM9eQpDT05GSUdfWDg2X1gyQVBJQz15CkNPTkZJR19YODZfTVBQQVJTRT15CiMg Q09ORklHX0dPTERGSVNIIGlzIG5vdCBzZXQKQ09ORklHX1JFVFBPTElORT15CkNPTkZJR19YODZf Q1BVX1JFU0NUUkw9eQpDT05GSUdfWDg2X0VYVEVOREVEX1BMQVRGT1JNPXkKIyBDT05GSUdfWDg2 X05VTUFDSElQIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldApDT05GSUdf WDg2X1VWPXkKIyBDT05GSUdfWDg2X0dPTERGSVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X0lO VEVMX01JRCBpcyBub3Qgc2V0CkNPTkZJR19YODZfSU5URUxfTFBTUz15CkNPTkZJR19YODZfQU1E X1BMQVRGT1JNX0RFVklDRT15CkNPTkZJR19JT1NGX01CST15CiMgQ09ORklHX0lPU0ZfTUJJX0RF QlVHIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9TVVBQT1JUU19NRU1PUllfRkFJTFVSRT15CiMgQ09O RklHX1NDSEVEX09NSVRfRlJBTUVfUE9JTlRFUiBpcyBub3Qgc2V0CkNPTkZJR19IWVBFUlZJU09S X0dVRVNUPXkKQ09ORklHX1BBUkFWSVJUPXkKIyBDT05GSUdfUEFSQVZJUlRfREVCVUcgaXMgbm90 IHNldApDT05GSUdfUEFSQVZJUlRfU1BJTkxPQ0tTPXkKQ09ORklHX1g4Nl9IVl9DQUxMQkFDS19W RUNUT1I9eQpDT05GSUdfWEVOPXkKIyBDT05GSUdfWEVOX1BWIGlzIG5vdCBzZXQKQ09ORklHX1hF Tl9QVkhWTT15CkNPTkZJR19YRU5fUFZIVk1fU01QPXkKQ09ORklHX1hFTl9QVkhWTV9HVUVTVD15 CkNPTkZJR19YRU5fU0FWRV9SRVNUT1JFPXkKIyBDT05GSUdfWEVOX0RFQlVHX0ZTIGlzIG5vdCBz ZXQKIyBDT05GSUdfWEVOX1BWSCBpcyBub3Qgc2V0CkNPTkZJR19LVk1fR1VFU1Q9eQpDT05GSUdf QVJDSF9DUFVJRExFX0hBTFRQT0xMPXkKIyBDT05GSUdfUFZIIGlzIG5vdCBzZXQKQ09ORklHX1BB UkFWSVJUX1RJTUVfQUNDT1VOVElORz15CkNPTkZJR19QQVJBVklSVF9DTE9DSz15CiMgQ09ORklH X0pBSUxIT1VTRV9HVUVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUk5fR1VFU1QgaXMgbm90IHNl dAojIENPTkZJR19NSzggaXMgbm90IHNldAojIENPTkZJR19NUFNDIGlzIG5vdCBzZXQKIyBDT05G SUdfTUNPUkUyIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFUT00gaXMgbm90IHNldApDT05GSUdfR0VO RVJJQ19DUFU9eQpDT05GSUdfWDg2X0lOVEVSTk9ERV9DQUNIRV9TSElGVD02CkNPTkZJR19YODZf TDFfQ0FDSEVfU0hJRlQ9NgpDT05GSUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01QWENIRzY0PXkK Q09ORklHX1g4Nl9DTU9WPXkKQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKQ09ORklH X1g4Nl9ERUJVR0NUTE1TUj15CkNPTkZJR19JQTMyX0ZFQVRfQ1RMPXkKQ09ORklHX1g4Nl9WTVhf RkVBVFVSRV9OQU1FUz15CiMgQ09ORklHX1BST0NFU1NPUl9TRUxFQ1QgaXMgbm90IHNldApDT05G SUdfQ1BVX1NVUF9JTlRFTD15CkNPTkZJR19DUFVfU1VQX0FNRD15CkNPTkZJR19DUFVfU1VQX0hZ R09OPXkKQ09ORklHX0NQVV9TVVBfQ0VOVEFVUj15CkNPTkZJR19DUFVfU1VQX1pIQU9YSU49eQpD T05GSUdfSFBFVF9USU1FUj15CkNPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKQ09ORklHX0RNST15 CiMgQ09ORklHX0dBUlRfSU9NTVUgaXMgbm90IHNldApDT05GSUdfTUFYU01QPXkKQ09ORklHX05S X0NQVVNfUkFOR0VfQkVHSU49ODE5MgpDT05GSUdfTlJfQ1BVU19SQU5HRV9FTkQ9ODE5MgpDT05G SUdfTlJfQ1BVU19ERUZBVUxUPTgxOTIKQ09ORklHX05SX0NQVVM9ODE5MgpDT05GSUdfU0NIRURf U01UPXkKQ09ORklHX1NDSEVEX01DPXkKQ09ORklHX1NDSEVEX01DX1BSSU89eQpDT05GSUdfWDg2 X0xPQ0FMX0FQSUM9eQpDT05GSUdfWDg2X0lPX0FQSUM9eQpDT05GSUdfWDg2X1JFUk9VVEVfRk9S X0JST0tFTl9CT09UX0lSUVM9eQpDT05GSUdfWDg2X01DRT15CkNPTkZJR19YODZfTUNFTE9HX0xF R0FDWT15CkNPTkZJR19YODZfTUNFX0lOVEVMPXkKQ09ORklHX1g4Nl9NQ0VfQU1EPXkKQ09ORklH X1g4Nl9NQ0VfVEhSRVNIT0xEPXkKQ09ORklHX1g4Nl9NQ0VfSU5KRUNUPW0KCiMKIyBQZXJmb3Jt YW5jZSBtb25pdG9yaW5nCiMKQ09ORklHX1BFUkZfRVZFTlRTX0lOVEVMX1VOQ09SRT1tCkNPTkZJ R19QRVJGX0VWRU5UU19JTlRFTF9SQVBMPW0KQ09ORklHX1BFUkZfRVZFTlRTX0lOVEVMX0NTVEFU RT1tCkNPTkZJR19QRVJGX0VWRU5UU19BTURfUE9XRVI9bQojIGVuZCBvZiBQZXJmb3JtYW5jZSBt b25pdG9yaW5nCgpDT05GSUdfWDg2XzE2QklUPXkKQ09ORklHX1g4Nl9FU1BGSVg2ND15CkNPTkZJ R19YODZfVlNZU0NBTExfRU1VTEFUSU9OPXkKQ09ORklHX1g4Nl9JT1BMX0lPUEVSTT15CkNPTkZJ R19JOEs9bQpDT05GSUdfTUlDUk9DT0RFPXkKQ09ORklHX01JQ1JPQ09ERV9JTlRFTD15CkNPTkZJ R19NSUNST0NPREVfQU1EPXkKQ09ORklHX01JQ1JPQ09ERV9PTERfSU5URVJGQUNFPXkKQ09ORklH X1g4Nl9NU1I9eQpDT05GSUdfWDg2X0NQVUlEPXkKQ09ORklHX1g4Nl81TEVWRUw9eQpDT05GSUdf WDg2X0RJUkVDVF9HQlBBR0VTPXkKIyBDT05GSUdfWDg2X0NQQV9TVEFUSVNUSUNTIGlzIG5vdCBz ZXQKQ09ORklHX0FNRF9NRU1fRU5DUllQVD15CiMgQ09ORklHX0FNRF9NRU1fRU5DUllQVF9BQ1RJ VkVfQllfREVGQVVMVCBpcyBub3Qgc2V0CkNPTkZJR19OVU1BPXkKQ09ORklHX0FNRF9OVU1BPXkK Q09ORklHX1g4Nl82NF9BQ1BJX05VTUE9eQpDT05GSUdfTlVNQV9FTVU9eQpDT05GSUdfTk9ERVNf U0hJRlQ9MTAKQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CkNPTkZJR19BUkNIX1NQQVJT RU1FTV9ERUZBVUxUPXkKQ09ORklHX0FSQ0hfU0VMRUNUX01FTU9SWV9NT0RFTD15CiMgQ09ORklH X0FSQ0hfTUVNT1JZX1BST0JFIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfUFJPQ19LQ09SRV9URVhU PXkKQ09ORklHX0lMTEVHQUxfUE9JTlRFUl9WQUxVRT0weGRlYWQwMDAwMDAwMDAwMDAKQ09ORklH X1g4Nl9QTUVNX0xFR0FDWV9ERVZJQ0U9eQpDT05GSUdfWDg2X1BNRU1fTEVHQUNZPW0KQ09ORklH X1g4Nl9DSEVDS19CSU9TX0NPUlJVUFRJT049eQojIENPTkZJR19YODZfQk9PVFBBUkFNX01FTU9S WV9DT1JSVVBUSU9OX0NIRUNLIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9SRVNFUlZFX0xPVz02NApD T05GSUdfTVRSUj15CkNPTkZJR19NVFJSX1NBTklUSVpFUj15CkNPTkZJR19NVFJSX1NBTklUSVpF Ul9FTkFCTEVfREVGQVVMVD0xCkNPTkZJR19NVFJSX1NBTklUSVpFUl9TUEFSRV9SRUdfTlJfREVG QVVMVD0xCkNPTkZJR19YODZfUEFUPXkKQ09ORklHX0FSQ0hfVVNFU19QR19VTkNBQ0hFRD15CkNP TkZJR19BUkNIX1JBTkRPTT15CkNPTkZJR19YODZfU01BUD15CkNPTkZJR19YODZfVU1JUD15CkNP TkZJR19YODZfSU5URUxfTUVNT1JZX1BST1RFQ1RJT05fS0VZUz15CkNPTkZJR19YODZfSU5URUxf VFNYX01PREVfT0ZGPXkKIyBDT05GSUdfWDg2X0lOVEVMX1RTWF9NT0RFX09OIGlzIG5vdCBzZXQK IyBDT05GSUdfWDg2X0lOVEVMX1RTWF9NT0RFX0FVVE8gaXMgbm90IHNldApDT05GSUdfWDg2X1NH WD15CkNPTkZJR19FRkk9eQpDT05GSUdfRUZJX1NUVUI9eQpDT05GSUdfRUZJX01JWEVEPXkKIyBD T05GSUdfSFpfMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSFpfMjUwIGlzIG5vdCBzZXQKIyBDT05G SUdfSFpfMzAwIGlzIG5vdCBzZXQKQ09ORklHX0haXzEwMDA9eQpDT05GSUdfSFo9MTAwMApDT05G SUdfU0NIRURfSFJUSUNLPXkKQ09ORklHX0tFWEVDPXkKQ09ORklHX0tFWEVDX0ZJTEU9eQpDT05G SUdfQVJDSF9IQVNfS0VYRUNfUFVSR0FUT1JZPXkKIyBDT05GSUdfS0VYRUNfU0lHIGlzIG5vdCBz ZXQKQ09ORklHX0NSQVNIX0RVTVA9eQpDT05GSUdfS0VYRUNfSlVNUD15CkNPTkZJR19QSFlTSUNB TF9TVEFSVD0weDEwMDAwMDAKQ09ORklHX1JFTE9DQVRBQkxFPXkKQ09ORklHX1JBTkRPTUlaRV9C QVNFPXkKQ09ORklHX1g4Nl9ORUVEX1JFTE9DUz15CkNPTkZJR19QSFlTSUNBTF9BTElHTj0weDIw MDAwMApDT05GSUdfRFlOQU1JQ19NRU1PUllfTEFZT1VUPXkKQ09ORklHX1JBTkRPTUlaRV9NRU1P Ulk9eQpDT05GSUdfUkFORE9NSVpFX01FTU9SWV9QSFlTSUNBTF9QQURESU5HPTB4YQpDT05GSUdf SE9UUExVR19DUFU9eQpDT05GSUdfQk9PVFBBUkFNX0hPVFBMVUdfQ1BVMD15CiMgQ09ORklHX0RF QlVHX0hPVFBMVUdfQ1BVMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NPTVBBVF9WRFNPIGlzIG5vdCBz ZXQKQ09ORklHX0xFR0FDWV9WU1lTQ0FMTF9FTVVMQVRFPXkKIyBDT05GSUdfTEVHQUNZX1ZTWVND QUxMX1hPTkxZIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVHQUNZX1ZTWVNDQUxMX05PTkUgaXMgbm90 IHNldAojIENPTkZJR19DTURMSU5FX0JPT0wgaXMgbm90IHNldApDT05GSUdfTU9ESUZZX0xEVF9T WVNDQUxMPXkKQ09ORklHX0hBVkVfTElWRVBBVENIPXkKQ09ORklHX0xJVkVQQVRDSD15CiMgZW5k IG9mIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcwoKQ09ORklHX0FSQ0hfSEFTX0FERF9QQUdF Uz15CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CkNPTkZJR19BUkNIX0VOQUJM RV9NRU1PUllfSE9UUkVNT1ZFPXkKQ09ORklHX1VTRV9QRVJDUFVfTlVNQV9OT0RFX0lEPXkKQ09O RklHX0FSQ0hfRU5BQkxFX1NQTElUX1BNRF9QVExPQ0s9eQpDT05GSUdfQVJDSF9FTkFCTEVfSFVH RVBBR0VfTUlHUkFUSU9OPXkKQ09ORklHX0FSQ0hfRU5BQkxFX1RIUF9NSUdSQVRJT049eQoKIwoj IFBvd2VyIG1hbmFnZW1lbnQgYW5kIEFDUEkgb3B0aW9ucwojCkNPTkZJR19BUkNIX0hJQkVSTkFU SU9OX0hFQURFUj15CkNPTkZJR19TVVNQRU5EPXkKQ09ORklHX1NVU1BFTkRfRlJFRVpFUj15CiMg Q09ORklHX1NVU1BFTkRfU0tJUF9TWU5DIGlzIG5vdCBzZXQKQ09ORklHX0hJQkVSTkFURV9DQUxM QkFDS1M9eQpDT05GSUdfSElCRVJOQVRJT049eQpDT05GSUdfSElCRVJOQVRJT05fU05BUFNIT1Rf REVWPXkKQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiIKQ09ORklHX1BNX1NMRUVQPXkKQ09ORklH X1BNX1NMRUVQX1NNUD15CiMgQ09ORklHX1BNX0FVVE9TTEVFUCBpcyBub3Qgc2V0CiMgQ09ORklH X1BNX1dBS0VMT0NLUyBpcyBub3Qgc2V0CkNPTkZJR19QTT15CkNPTkZJR19QTV9ERUJVRz15CiMg Q09ORklHX1BNX0FEVkFOQ0VEX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1fVEVTVF9TVVNQ RU5EIGlzIG5vdCBzZXQKQ09ORklHX1BNX1NMRUVQX0RFQlVHPXkKIyBDT05GSUdfRFBNX1dBVENI RE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1fVFJBQ0VfUlRDIGlzIG5vdCBzZXQKQ09ORklHX1BN X0NMSz15CiMgQ09ORklHX1dRX1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUIGlzIG5vdCBzZXQKIyBD T05GSUdfRU5FUkdZX01PREVMIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfU1VQUE9SVFNfQUNQST15 CkNPTkZJR19BQ1BJPXkKQ09ORklHX0FDUElfTEVHQUNZX1RBQkxFU19MT09LVVA9eQpDT05GSUdf QVJDSF9NSUdIVF9IQVZFX0FDUElfUERDPXkKQ09ORklHX0FDUElfU1lTVEVNX1BPV0VSX1NUQVRF U19TVVBQT1JUPXkKIyBDT05GSUdfQUNQSV9ERUJVR0dFUiBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJ X1NQQ1JfVEFCTEU9eQojIENPTkZJR19BQ1BJX0ZQRFQgaXMgbm90IHNldApDT05GSUdfQUNQSV9M UElUPXkKQ09ORklHX0FDUElfU0xFRVA9eQpDT05GSUdfQUNQSV9SRVZfT1ZFUlJJREVfUE9TU0lC TEU9eQpDT05GSUdfQUNQSV9FQ19ERUJVR0ZTPW0KQ09ORklHX0FDUElfQUM9eQpDT05GSUdfQUNQ SV9CQVRURVJZPXkKQ09ORklHX0FDUElfQlVUVE9OPXkKQ09ORklHX0FDUElfVklERU89bQpDT05G SUdfQUNQSV9GQU49eQpDT05GSUdfQUNQSV9UQUQ9bQpDT05GSUdfQUNQSV9ET0NLPXkKQ09ORklH X0FDUElfQ1BVX0ZSRVFfUFNTPXkKQ09ORklHX0FDUElfUFJPQ0VTU09SX0NTVEFURT15CkNPTkZJ R19BQ1BJX1BST0NFU1NPUl9JRExFPXkKQ09ORklHX0FDUElfQ1BQQ19MSUI9eQpDT05GSUdfQUNQ SV9QUk9DRVNTT1I9eQpDT05GSUdfQUNQSV9JUE1JPW0KQ09ORklHX0FDUElfSE9UUExVR19DUFU9 eQpDT05GSUdfQUNQSV9QUk9DRVNTT1JfQUdHUkVHQVRPUj1tCkNPTkZJR19BQ1BJX1RIRVJNQUw9 eQpDT05GSUdfQUNQSV9QTEFURk9STV9QUk9GSUxFPW0KQ09ORklHX0FSQ0hfSEFTX0FDUElfVEFC TEVfVVBHUkFERT15CkNPTkZJR19BQ1BJX1RBQkxFX1VQR1JBREU9eQojIENPTkZJR19BQ1BJX0RF QlVHIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfUENJX1NMT1Q9eQpDT05GSUdfQUNQSV9DT05UQUlO RVI9eQpDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWT15CkNPTkZJR19BQ1BJX0hPVFBMVUdfSU9B UElDPXkKQ09ORklHX0FDUElfU0JTPW0KQ09ORklHX0FDUElfSEVEPXkKIyBDT05GSUdfQUNQSV9D VVNUT01fTUVUSE9EIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfQkdSVD15CiMgQ09ORklHX0FDUElf UkVEVUNFRF9IQVJEV0FSRV9PTkxZIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfTkZJVD1tCiMgQ09O RklHX05GSVRfU0VDVVJJVFlfREVCVUcgaXMgbm90IHNldApDT05GSUdfQUNQSV9OVU1BPXkKIyBD T05GSUdfQUNQSV9ITUFUIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfQUNQSV9BUEVJPXkKQ09ORklH X0hBVkVfQUNQSV9BUEVJX05NST15CkNPTkZJR19BQ1BJX0FQRUk9eQpDT05GSUdfQUNQSV9BUEVJ X0dIRVM9eQpDT05GSUdfQUNQSV9BUEVJX1BDSUVBRVI9eQpDT05GSUdfQUNQSV9BUEVJX01FTU9S WV9GQUlMVVJFPXkKQ09ORklHX0FDUElfQVBFSV9FSU5KPW0KIyBDT05GSUdfQUNQSV9BUEVJX0VS U1RfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX0RQVEYgaXMgbm90IHNldApDT05GSUdf QUNQSV9XQVRDSERPRz15CkNPTkZJR19BQ1BJX0VYVExPRz1tCkNPTkZJR19BQ1BJX0FEWEw9eQoj IENPTkZJR19BQ1BJX0NPTkZJR0ZTIGlzIG5vdCBzZXQKQ09ORklHX1BNSUNfT1BSRUdJT049eQpD T05GSUdfWDg2X1BNX1RJTUVSPXkKCiMKIyBDUFUgRnJlcXVlbmN5IHNjYWxpbmcKIwpDT05GSUdf Q1BVX0ZSRVE9eQpDT05GSUdfQ1BVX0ZSRVFfR09WX0FUVFJfU0VUPXkKQ09ORklHX0NQVV9GUkVR X0dPVl9DT01NT049eQpDT05GSUdfQ1BVX0ZSRVFfU1RBVD15CkNPTkZJR19DUFVfRlJFUV9ERUZB VUxUX0dPVl9QRVJGT1JNQU5DRT15CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1BPV0VS U0FWRSBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRSBp cyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1NDSEVEVVRJTCBpcyBub3Qg c2V0CkNPTkZJR19DUFVfRlJFUV9HT1ZfUEVSRk9STUFOQ0U9eQpDT05GSUdfQ1BVX0ZSRVFfR09W X1BPV0VSU0FWRT15CkNPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKQ09ORklHX0NQVV9G UkVRX0dPVl9PTkRFTUFORD15CkNPTkZJR19DUFVfRlJFUV9HT1ZfQ09OU0VSVkFUSVZFPXkKQ09O RklHX0NQVV9GUkVRX0dPVl9TQ0hFRFVUSUw9eQoKIwojIENQVSBmcmVxdWVuY3kgc2NhbGluZyBk cml2ZXJzCiMKQ09ORklHX1g4Nl9JTlRFTF9QU1RBVEU9eQojIENPTkZJR19YODZfUENDX0NQVUZS RVEgaXMgbm90IHNldApDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT1tCkNPTkZJR19YODZfQUNQSV9D UFVGUkVRX0NQQj15CkNPTkZJR19YODZfUE9XRVJOT1dfSzg9bQpDT05GSUdfWDg2X0FNRF9GUkVR X1NFTlNJVElWSVRZPW0KIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0 CkNPTkZJR19YODZfUDRfQ0xPQ0tNT0Q9bQoKIwojIHNoYXJlZCBvcHRpb25zCiMKQ09ORklHX1g4 Nl9TUEVFRFNURVBfTElCPW0KIyBlbmQgb2YgQ1BVIEZyZXF1ZW5jeSBzY2FsaW5nCgojCiMgQ1BV IElkbGUKIwpDT05GSUdfQ1BVX0lETEU9eQojIENPTkZJR19DUFVfSURMRV9HT1ZfTEFEREVSIGlz IG5vdCBzZXQKQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIyBDT05GSUdfQ1BVX0lETEVfR09W X1RFTyBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9JRExFX0dPVl9IQUxUUE9MTCBpcyBub3Qgc2V0 CkNPTkZJR19IQUxUUE9MTF9DUFVJRExFPXkKIyBlbmQgb2YgQ1BVIElkbGUKCkNPTkZJR19JTlRF TF9JRExFPXkKIyBlbmQgb2YgUG93ZXIgbWFuYWdlbWVudCBhbmQgQUNQSSBvcHRpb25zCgojCiMg QnVzIG9wdGlvbnMgKFBDSSBldGMuKQojCkNPTkZJR19QQ0lfRElSRUNUPXkKQ09ORklHX1BDSV9N TUNPTkZJRz15CkNPTkZJR19QQ0lfWEVOPXkKQ09ORklHX01NQ09ORl9GQU0xMEg9eQojIENPTkZJ R19QQ0lfQ05CMjBMRV9RVUlSSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lTQV9CVVMgaXMgbm90IHNl dApDT05GSUdfSVNBX0RNQV9BUEk9eQpDT05GSUdfQU1EX05CPXkKIyBDT05GSUdfWDg2X1NZU0ZC IGlzIG5vdCBzZXQKIyBlbmQgb2YgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQoKIwojIEJpbmFyeSBF bXVsYXRpb25zCiMKQ09ORklHX0lBMzJfRU1VTEFUSU9OPXkKIyBDT05GSUdfWDg2X1gzMiBpcyBu b3Qgc2V0CkNPTkZJR19DT01QQVRfMzI9eQpDT05GSUdfQ09NUEFUPXkKQ09ORklHX0NPTVBBVF9G T1JfVTY0X0FMSUdOTUVOVD15CkNPTkZJR19TWVNWSVBDX0NPTVBBVD15CiMgZW5kIG9mIEJpbmFy eSBFbXVsYXRpb25zCgojCiMgRmlybXdhcmUgRHJpdmVycwojCkNPTkZJR19FREQ9bQojIENPTkZJ R19FRERfT0ZGIGlzIG5vdCBzZXQKQ09ORklHX0ZJUk1XQVJFX01FTU1BUD15CkNPTkZJR19ETUlJ RD15CkNPTkZJR19ETUlfU1lTRlM9eQpDT05GSUdfRE1JX1NDQU5fTUFDSElORV9OT05fRUZJX0ZB TExCQUNLPXkKIyBDT05GSUdfSVNDU0lfSUJGVCBpcyBub3Qgc2V0CkNPTkZJR19GV19DRkdfU1lT RlM9eQojIENPTkZJR19GV19DRkdfU1lTRlNfQ01ETElORSBpcyBub3Qgc2V0CiMgQ09ORklHX0dP T0dMRV9GSVJNV0FSRSBpcyBub3Qgc2V0CgojCiMgRUZJIChFeHRlbnNpYmxlIEZpcm13YXJlIElu dGVyZmFjZSkgU3VwcG9ydAojCkNPTkZJR19FRklfVkFSUz15CkNPTkZJR19FRklfRVNSVD15CkNP TkZJR19FRklfVkFSU19QU1RPUkU9eQpDT05GSUdfRUZJX1ZBUlNfUFNUT1JFX0RFRkFVTFRfRElT QUJMRT15CkNPTkZJR19FRklfUlVOVElNRV9NQVA9eQojIENPTkZJR19FRklfRkFLRV9NRU1NQVAg aXMgbm90IHNldApDT05GSUdfRUZJX1JVTlRJTUVfV1JBUFBFUlM9eQpDT05GSUdfRUZJX0dFTkVS SUNfU1RVQl9JTklUUkRfQ01ETElORV9MT0FERVI9eQojIENPTkZJR19FRklfQk9PVExPQURFUl9D T05UUk9MIGlzIG5vdCBzZXQKIyBDT05GSUdfRUZJX0NBUFNVTEVfTE9BREVSIGlzIG5vdCBzZXQK IyBDT05GSUdfRUZJX1RFU1QgaXMgbm90IHNldApDT05GSUdfQVBQTEVfUFJPUEVSVElFUz15CiMg Q09ORklHX1JFU0VUX0FUVEFDS19NSVRJR0FUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfRUZJX1JD STJfVEFCTEUgaXMgbm90IHNldAojIENPTkZJR19FRklfRElTQUJMRV9QQ0lfRE1BIGlzIG5vdCBz ZXQKIyBlbmQgb2YgRUZJIChFeHRlbnNpYmxlIEZpcm13YXJlIEludGVyZmFjZSkgU3VwcG9ydAoK Q09ORklHX1VFRklfQ1BFUj15CkNPTkZJR19VRUZJX0NQRVJfWDg2PXkKQ09ORklHX0VGSV9ERVZf UEFUSF9QQVJTRVI9eQpDT05GSUdfRUZJX0VBUkxZQ09OPXkKQ09ORklHX0VGSV9DVVNUT01fU1NE VF9PVkVSTEFZUz15CgojCiMgVGVncmEgZmlybXdhcmUgZHJpdmVyCiMKIyBlbmQgb2YgVGVncmEg ZmlybXdhcmUgZHJpdmVyCiMgZW5kIG9mIEZpcm13YXJlIERyaXZlcnMKCkNPTkZJR19IQVZFX0tW TT15CkNPTkZJR19IQVZFX0tWTV9JUlFDSElQPXkKQ09ORklHX0hBVkVfS1ZNX0lSUUZEPXkKQ09O RklHX0hBVkVfS1ZNX0lSUV9ST1VUSU5HPXkKQ09ORklHX0hBVkVfS1ZNX0VWRU5URkQ9eQpDT05G SUdfS1ZNX01NSU89eQpDT05GSUdfS1ZNX0FTWU5DX1BGPXkKQ09ORklHX0hBVkVfS1ZNX01TST15 CkNPTkZJR19IQVZFX0tWTV9DUFVfUkVMQVhfSU5URVJDRVBUPXkKQ09ORklHX0tWTV9WRklPPXkK Q09ORklHX0tWTV9HRU5FUklDX0RJUlRZTE9HX1JFQURfUFJPVEVDVD15CkNPTkZJR19LVk1fQ09N UEFUPXkKQ09ORklHX0hBVkVfS1ZNX0lSUV9CWVBBU1M9eQpDT05GSUdfSEFWRV9LVk1fTk9fUE9M TD15CkNPTkZJR19LVk1fWEZFUl9UT19HVUVTVF9XT1JLPXkKQ09ORklHX1ZJUlRVQUxJWkFUSU9O PXkKQ09ORklHX0tWTT15CiMgQ09ORklHX0tWTV9XRVJST1IgaXMgbm90IHNldApDT05GSUdfS1ZN X0lOVEVMPXkKIyBDT05GSUdfS1ZNX0FNRCBpcyBub3Qgc2V0CiMgQ09ORklHX0tWTV9YRU4gaXMg bm90IHNldApDT05GSUdfS1ZNX01NVV9BVURJVD15CkNPTkZJR19BU19BVlg1MTI9eQpDT05GSUdf QVNfU0hBMV9OST15CkNPTkZJR19BU19TSEEyNTZfTkk9eQpDT05GSUdfQVNfVFBBVVNFPXkKCiMK IyBHZW5lcmFsIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgb3B0aW9ucwojCkNPTkZJR19DUkFTSF9D T1JFPXkKQ09ORklHX0tFWEVDX0NPUkU9eQpDT05GSUdfSE9UUExVR19TTVQ9eQpDT05GSUdfR0VO RVJJQ19FTlRSWT15CkNPTkZJR19LUFJPQkVTPXkKQ09ORklHX0pVTVBfTEFCRUw9eQojIENPTkZJ R19TVEFUSUNfS0VZU19TRUxGVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NUQVRJQ19DQUxMX1NF TEZURVNUIGlzIG5vdCBzZXQKQ09ORklHX09QVFBST0JFUz15CkNPTkZJR19LUFJPQkVTX09OX0ZU UkFDRT15CkNPTkZJR19VUFJPQkVTPXkKQ09ORklHX0hBVkVfRUZGSUNJRU5UX1VOQUxJR05FRF9B Q0NFU1M9eQpDT05GSUdfQVJDSF9VU0VfQlVJTFRJTl9CU1dBUD15CkNPTkZJR19LUkVUUFJPQkVT PXkKQ09ORklHX1VTRVJfUkVUVVJOX05PVElGSUVSPXkKQ09ORklHX0hBVkVfSU9SRU1BUF9QUk9U PXkKQ09ORklHX0hBVkVfS1BST0JFUz15CkNPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQpDT05GSUdf SEFWRV9PUFRQUk9CRVM9eQpDT05GSUdfSEFWRV9LUFJPQkVTX09OX0ZUUkFDRT15CkNPTkZJR19I QVZFX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTj15CkNPTkZJR19IQVZFX05NST15CkNPTkZJR19I QVZFX0FSQ0hfVFJBQ0VIT09LPXkKQ09ORklHX0hBVkVfRE1BX0NPTlRJR1VPVVM9eQpDT05GSUdf R0VORVJJQ19TTVBfSURMRV9USFJFQUQ9eQpDT05GSUdfQVJDSF9IQVNfRk9SVElGWV9TT1VSQ0U9 eQpDT05GSUdfQVJDSF9IQVNfU0VUX01FTU9SWT15CkNPTkZJR19BUkNIX0hBU19TRVRfRElSRUNU X01BUD15CkNPTkZJR19IQVZFX0FSQ0hfVEhSRUFEX1NUUlVDVF9XSElURUxJU1Q9eQpDT05GSUdf QVJDSF9XQU5UU19EWU5BTUlDX1RBU0tfU1RSVUNUPXkKQ09ORklHX0hBVkVfQVNNX01PRFZFUlNJ T05TPXkKQ09ORklHX0hBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQST15CkNPTkZJR19IQVZF X1JTRVE9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9BUkdfQUNDRVNTX0FQST15CkNPTkZJR19IQVZF X0hXX0JSRUFLUE9JTlQ9eQpDT05GSUdfSEFWRV9NSVhFRF9CUkVBS1BPSU5UU19SRUdTPXkKQ09O RklHX0hBVkVfVVNFUl9SRVRVUk5fTk9USUZJRVI9eQpDT05GSUdfSEFWRV9QRVJGX0VWRU5UU19O TUk9eQpDT05GSUdfSEFWRV9IQVJETE9DS1VQX0RFVEVDVE9SX1BFUkY9eQpDT05GSUdfSEFWRV9Q RVJGX1JFR1M9eQpDT05GSUdfSEFWRV9QRVJGX1VTRVJfU1RBQ0tfRFVNUD15CkNPTkZJR19IQVZF X0FSQ0hfSlVNUF9MQUJFTD15CkNPTkZJR19IQVZFX0FSQ0hfSlVNUF9MQUJFTF9SRUxBVElWRT15 CkNPTkZJR19NTVVfR0FUSEVSX1RBQkxFX0ZSRUU9eQpDT05GSUdfTU1VX0dBVEhFUl9SQ1VfVEFC TEVfRlJFRT15CkNPTkZJR19BUkNIX0hBVkVfTk1JX1NBRkVfQ01QWENIRz15CkNPTkZJR19IQVZF X0FMSUdORURfU1RSVUNUX1BBR0U9eQpDT05GSUdfSEFWRV9DTVBYQ0hHX0xPQ0FMPXkKQ09ORklH X0hBVkVfQ01QWENIR19ET1VCTEU9eQpDT05GSUdfQVJDSF9XQU5UX0NPTVBBVF9JUENfUEFSU0Vf VkVSU0lPTj15CkNPTkZJR19BUkNIX1dBTlRfT0xEX0NPTVBBVF9JUEM9eQpDT05GSUdfSEFWRV9B UkNIX1NFQ0NPTVA9eQpDT05GSUdfSEFWRV9BUkNIX1NFQ0NPTVBfRklMVEVSPXkKQ09ORklHX1NF Q0NPTVA9eQpDT05GSUdfU0VDQ09NUF9GSUxURVI9eQojIENPTkZJR19TRUNDT01QX0NBQ0hFX0RF QlVHIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfQVJDSF9TVEFDS0xFQUs9eQpDT05GSUdfSEFWRV9T VEFDS1BST1RFQ1RPUj15CkNPTkZJR19TVEFDS1BST1RFQ1RPUj15CkNPTkZJR19TVEFDS1BST1RF Q1RPUl9TVFJPTkc9eQpDT05GSUdfQVJDSF9TVVBQT1JUU19MVE9fQ0xBTkc9eQpDT05GSUdfQVJD SF9TVVBQT1JUU19MVE9fQ0xBTkdfVEhJTj15CkNPTkZJR19MVE9fTk9ORT15CkNPTkZJR19IQVZF X0FSQ0hfV0lUSElOX1NUQUNLX0ZSQU1FUz15CkNPTkZJR19IQVZFX0NPTlRFWFRfVFJBQ0tJTkc9 eQpDT05GSUdfSEFWRV9DT05URVhUX1RSQUNLSU5HX09GRlNUQUNLPXkKQ09ORklHX0hBVkVfVklS VF9DUFVfQUNDT1VOVElOR19HRU49eQpDT05GSUdfSEFWRV9JUlFfVElNRV9BQ0NPVU5USU5HPXkK Q09ORklHX0hBVkVfTU9WRV9QVUQ9eQpDT05GSUdfSEFWRV9NT1ZFX1BNRD15CkNPTkZJR19IQVZF X0FSQ0hfVFJBTlNQQVJFTlRfSFVHRVBBR0U9eQpDT05GSUdfSEFWRV9BUkNIX1RSQU5TUEFSRU5U X0hVR0VQQUdFX1BVRD15CkNPTkZJR19IQVZFX0FSQ0hfSFVHRV9WTUFQPXkKQ09ORklHX0FSQ0hf V0FOVF9IVUdFX1BNRF9TSEFSRT15CkNPTkZJR19IQVZFX0FSQ0hfU09GVF9ESVJUWT15CkNPTkZJ R19IQVZFX01PRF9BUkNIX1NQRUNJRklDPXkKQ09ORklHX01PRFVMRVNfVVNFX0VMRl9SRUxBPXkK Q09ORklHX0hBVkVfSVJRX0VYSVRfT05fSVJRX1NUQUNLPXkKQ09ORklHX0hBVkVfU09GVElSUV9P Tl9PV05fU1RBQ0s9eQpDT05GSUdfQVJDSF9IQVNfRUxGX1JBTkRPTUlaRT15CkNPTkZJR19IQVZF X0FSQ0hfTU1BUF9STkRfQklUUz15CkNPTkZJR19IQVZFX0VYSVRfVEhSRUFEPXkKQ09ORklHX0FS Q0hfTU1BUF9STkRfQklUUz0yOApDT05GSUdfSEFWRV9BUkNIX01NQVBfUk5EX0NPTVBBVF9CSVRT PXkKQ09ORklHX0FSQ0hfTU1BUF9STkRfQ09NUEFUX0JJVFM9OApDT05GSUdfSEFWRV9BUkNIX0NP TVBBVF9NTUFQX0JBU0VTPXkKQ09ORklHX0hBVkVfU1RBQ0tfVkFMSURBVElPTj15CkNPTkZJR19I QVZFX1JFTElBQkxFX1NUQUNLVFJBQ0U9eQpDT05GSUdfT0xEX1NJR1NVU1BFTkQzPXkKQ09ORklH X0NPTVBBVF9PTERfU0lHQUNUSU9OPXkKQ09ORklHX0NPTVBBVF8zMkJJVF9USU1FPXkKQ09ORklH X0hBVkVfQVJDSF9WTUFQX1NUQUNLPXkKQ09ORklHX1ZNQVBfU1RBQ0s9eQpDT05GSUdfQVJDSF9I QVNfU1RSSUNUX0tFUk5FTF9SV1g9eQpDT05GSUdfU1RSSUNUX0tFUk5FTF9SV1g9eQpDT05GSUdf QVJDSF9IQVNfU1RSSUNUX01PRFVMRV9SV1g9eQpDT05GSUdfU1RSSUNUX01PRFVMRV9SV1g9eQpD T05GSUdfSEFWRV9BUkNIX1BSRUwzMl9SRUxPQ0FUSU9OUz15CkNPTkZJR19BUkNIX1VTRV9NRU1S RU1BUF9QUk9UPXkKIyBDT05GSUdfTE9DS19FVkVOVF9DT1VOVFMgaXMgbm90IHNldApDT05GSUdf QVJDSF9IQVNfTUVNX0VOQ1JZUFQ9eQpDT05GSUdfSEFWRV9TVEFUSUNfQ0FMTD15CkNPTkZJR19I QVZFX1NUQVRJQ19DQUxMX0lOTElORT15CkNPTkZJR19IQVZFX1BSRUVNUFRfRFlOQU1JQz15CkNP TkZJR19BUkNIX1dBTlRfTERfT1JQSEFOX1dBUk49eQpDT05GSUdfQVJDSF9TVVBQT1JUU19ERUJV R19QQUdFQUxMT0M9eQpDT05GSUdfQVJDSF9IQVNfRUxGQ09SRV9DT01QQVQ9eQoKIwojIEdDT1Yt YmFzZWQga2VybmVsIHByb2ZpbGluZwojCiMgQ09ORklHX0dDT1ZfS0VSTkVMIGlzIG5vdCBzZXQK Q09ORklHX0FSQ0hfSEFTX0dDT1ZfUFJPRklMRV9BTEw9eQojIGVuZCBvZiBHQ09WLWJhc2VkIGtl cm5lbCBwcm9maWxpbmcKCkNPTkZJR19IQVZFX0dDQ19QTFVHSU5TPXkKIyBlbmQgb2YgR2VuZXJh bCBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IG9wdGlvbnMKCkNPTkZJR19SVF9NVVRFWEVTPXkKQ09O RklHX0JBU0VfU01BTEw9MApDT05GSUdfTU9EVUxFX1NJR19GT1JNQVQ9eQpDT05GSUdfTU9EVUxF Uz15CkNPTkZJR19NT0RVTEVfRk9SQ0VfTE9BRD15CkNPTkZJR19NT0RVTEVfVU5MT0FEPXkKIyBD T05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiMgQ09ORklHX01PRFZFUlNJT05T IGlzIG5vdCBzZXQKIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKQ09O RklHX01PRFVMRV9TSUc9eQojIENPTkZJR19NT0RVTEVfU0lHX0ZPUkNFIGlzIG5vdCBzZXQKQ09O RklHX01PRFVMRV9TSUdfQUxMPXkKIyBDT05GSUdfTU9EVUxFX1NJR19TSEExIGlzIG5vdCBzZXQK IyBDT05GSUdfTU9EVUxFX1NJR19TSEEyMjQgaXMgbm90IHNldApDT05GSUdfTU9EVUxFX1NJR19T SEEyNTY9eQojIENPTkZJR19NT0RVTEVfU0lHX1NIQTM4NCBpcyBub3Qgc2V0CiMgQ09ORklHX01P RFVMRV9TSUdfU0hBNTEyIGlzIG5vdCBzZXQKQ09ORklHX01PRFVMRV9TSUdfSEFTSD0ic2hhMjU2 IgojIENPTkZJR19NT0RVTEVfQ09NUFJFU1MgaXMgbm90IHNldAojIENPTkZJR19NT0RVTEVfQUxM T1dfTUlTU0lOR19OQU1FU1BBQ0VfSU1QT1JUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RSSU1fVU5V U0VEX0tTWU1TIGlzIG5vdCBzZXQKQ09ORklHX01PRFVMRVNfVFJFRV9MT09LVVA9eQpDT05GSUdf QkxPQ0s9eQpDT05GSUdfQkxLX1NDU0lfUkVRVUVTVD15CkNPTkZJR19CTEtfQ0dST1VQX1JXU1RB VD15CkNPTkZJR19CTEtfREVWX0JTRz15CkNPTkZJR19CTEtfREVWX0JTR0xJQj15CkNPTkZJR19C TEtfREVWX0lOVEVHUklUWT15CkNPTkZJR19CTEtfREVWX0lOVEVHUklUWV9UMTA9bQojIENPTkZJ R19CTEtfREVWX1pPTkVEIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfVEhST1RUTElORz15CiMg Q09ORklHX0JMS19ERVZfVEhST1RUTElOR19MT1cgaXMgbm90IHNldAojIENPTkZJR19CTEtfQ01E TElORV9QQVJTRVIgaXMgbm90IHNldApDT05GSUdfQkxLX1dCVD15CiMgQ09ORklHX0JMS19DR1JP VVBfSU9MQVRFTkNZIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0NHUk9VUF9JT0NPU1QgaXMgbm90 IHNldApDT05GSUdfQkxLX1dCVF9NUT15CkNPTkZJR19CTEtfREVCVUdfRlM9eQojIENPTkZJR19C TEtfU0VEX09QQUwgaXMgbm90IHNldAojIENPTkZJR19CTEtfSU5MSU5FX0VOQ1JZUFRJT04gaXMg bm90IHNldAoKIwojIFBhcnRpdGlvbiBUeXBlcwojCkNPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9 eQojIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAojIENPTkZJR19BSVhfUEFSVElU SU9OIGlzIG5vdCBzZXQKQ09ORklHX09TRl9QQVJUSVRJT049eQpDT05GSUdfQU1JR0FfUEFSVElU SU9OPXkKIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX01BQ19QQVJU SVRJT049eQpDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKQ09ORklHX0JTRF9ESVNLTEFCRUw9eQpD T05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15 CkNPTkZJR19VTklYV0FSRV9ESVNLTEFCRUw9eQojIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5v dCBzZXQKQ09ORklHX1NHSV9QQVJUSVRJT049eQojIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlz IG5vdCBzZXQKQ09ORklHX1NVTl9QQVJUSVRJT049eQpDT05GSUdfS0FSTUFfUEFSVElUSU9OPXkK Q09ORklHX0VGSV9QQVJUSVRJT049eQojIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ01ETElORV9QQVJUSVRJT04gaXMgbm90IHNldAojIGVuZCBvZiBQYXJ0aXRp b24gVHlwZXMKCkNPTkZJR19CTE9DS19DT01QQVQ9eQpDT05GSUdfQkxLX01RX1BDST15CkNPTkZJ R19CTEtfTVFfVklSVElPPXkKQ09ORklHX0JMS19QTT15CgojCiMgSU8gU2NoZWR1bGVycwojCkNP TkZJR19NUV9JT1NDSEVEX0RFQURMSU5FPXkKQ09ORklHX01RX0lPU0NIRURfS1lCRVI9eQpDT05G SUdfSU9TQ0hFRF9CRlE9eQpDT05GSUdfQkZRX0dST1VQX0lPU0NIRUQ9eQojIENPTkZJR19CRlFf Q0dST1VQX0RFQlVHIGlzIG5vdCBzZXQKIyBlbmQgb2YgSU8gU2NoZWR1bGVycwoKQ09ORklHX1BS RUVNUFRfTk9USUZJRVJTPXkKQ09ORklHX1BBREFUQT15CkNPTkZJR19BU04xPXkKQ09ORklHX1VO SU5MSU5FX1NQSU5fVU5MT0NLPXkKQ09ORklHX0FSQ0hfU1VQUE9SVFNfQVRPTUlDX1JNVz15CkNP TkZJR19NVVRFWF9TUElOX09OX09XTkVSPXkKQ09ORklHX1JXU0VNX1NQSU5fT05fT1dORVI9eQpD T05GSUdfTE9DS19TUElOX09OX09XTkVSPXkKQ09ORklHX0FSQ0hfVVNFX1FVRVVFRF9TUElOTE9D S1M9eQpDT05GSUdfUVVFVUVEX1NQSU5MT0NLUz15CkNPTkZJR19BUkNIX1VTRV9RVUVVRURfUldM T0NLUz15CkNPTkZJR19RVUVVRURfUldMT0NLUz15CkNPTkZJR19BUkNIX0hBU19OT05fT1ZFUkxB UFBJTkdfQUREUkVTU19TUEFDRT15CkNPTkZJR19BUkNIX0hBU19TWU5DX0NPUkVfQkVGT1JFX1VT RVJNT0RFPXkKQ09ORklHX0FSQ0hfSEFTX1NZU0NBTExfV1JBUFBFUj15CkNPTkZJR19GUkVFWkVS PXkKCiMKIyBFeGVjdXRhYmxlIGZpbGUgZm9ybWF0cwojCkNPTkZJR19CSU5GTVRfRUxGPXkKQ09O RklHX0NPTVBBVF9CSU5GTVRfRUxGPXkKQ09ORklHX0VMRkNPUkU9eQpDT05GSUdfQ09SRV9EVU1Q X0RFRkFVTFRfRUxGX0hFQURFUlM9eQpDT05GSUdfQklORk1UX1NDUklQVD15CkNPTkZJR19CSU5G TVRfTUlTQz1tCkNPTkZJR19DT1JFRFVNUD15CiMgZW5kIG9mIEV4ZWN1dGFibGUgZmlsZSBmb3Jt YXRzCgojCiMgTWVtb3J5IE1hbmFnZW1lbnQgb3B0aW9ucwojCkNPTkZJR19TRUxFQ1RfTUVNT1JZ X01PREVMPXkKQ09ORklHX1NQQVJTRU1FTV9NQU5VQUw9eQpDT05GSUdfU1BBUlNFTUVNPXkKQ09O RklHX05FRURfTVVMVElQTEVfTk9ERVM9eQpDT05GSUdfU1BBUlNFTUVNX0VYVFJFTUU9eQpDT05G SUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFPXkKQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQPXkK Q09ORklHX0hBVkVfRkFTVF9HVVA9eQpDT05GSUdfTlVNQV9LRUVQX01FTUlORk89eQpDT05GSUdf TUVNT1JZX0lTT0xBVElPTj15CkNPTkZJR19IQVZFX0JPT1RNRU1fSU5GT19OT0RFPXkKQ09ORklH X01FTU9SWV9IT1RQTFVHPXkKQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRT15CiMgQ09ORklH X01FTU9SWV9IT1RQTFVHX0RFRkFVTFRfT05MSU5FIGlzIG5vdCBzZXQKQ09ORklHX01FTU9SWV9I T1RSRU1PVkU9eQpDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NApDT05GSUdfTUVNT1JZX0JBTExP T049eQpDT05GSUdfQkFMTE9PTl9DT01QQUNUSU9OPXkKQ09ORklHX0NPTVBBQ1RJT049eQpDT05G SUdfUEFHRV9SRVBPUlRJTkc9eQpDT05GSUdfTUlHUkFUSU9OPXkKQ09ORklHX0NPTlRJR19BTExP Qz15CkNPTkZJR19QSFlTX0FERFJfVF82NEJJVD15CkNPTkZJR19CT1VOQ0U9eQpDT05GSUdfVklS VF9UT19CVVM9eQpDT05GSUdfTU1VX05PVElGSUVSPXkKQ09ORklHX0tTTT15CkNPTkZJR19ERUZB VUxUX01NQVBfTUlOX0FERFI9NDA5NgpDT05GSUdfQVJDSF9TVVBQT1JUU19NRU1PUllfRkFJTFVS RT15CkNPTkZJR19NRU1PUllfRkFJTFVSRT15CkNPTkZJR19IV1BPSVNPTl9JTkpFQ1Q9bQpDT05G SUdfVFJBTlNQQVJFTlRfSFVHRVBBR0U9eQpDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0VfQUxX QVlTPXkKIyBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0VfTUFEVklTRSBpcyBub3Qgc2V0CkNP TkZJR19BUkNIX1dBTlRTX1RIUF9TV0FQPXkKQ09ORklHX1RIUF9TV0FQPXkKQ09ORklHX0NMRUFO Q0FDSEU9eQpDT05GSUdfRlJPTlRTV0FQPXkKIyBDT05GSUdfQ01BIGlzIG5vdCBzZXQKIyBDT05G SUdfTUVNX1NPRlRfRElSVFkgaXMgbm90IHNldApDT05GSUdfWlNXQVA9eQojIENPTkZJR19aU1dB UF9DT01QUkVTU09SX0RFRkFVTFRfREVGTEFURSBpcyBub3Qgc2V0CkNPTkZJR19aU1dBUF9DT01Q UkVTU09SX0RFRkFVTFRfTFpPPXkKIyBDT05GSUdfWlNXQVBfQ09NUFJFU1NPUl9ERUZBVUxUXzg0 MiBpcyBub3Qgc2V0CiMgQ09ORklHX1pTV0FQX0NPTVBSRVNTT1JfREVGQVVMVF9MWjQgaXMgbm90 IHNldAojIENPTkZJR19aU1dBUF9DT01QUkVTU09SX0RFRkFVTFRfTFo0SEMgaXMgbm90IHNldAoj IENPTkZJR19aU1dBUF9DT01QUkVTU09SX0RFRkFVTFRfWlNURCBpcyBub3Qgc2V0CkNPTkZJR19a U1dBUF9DT01QUkVTU09SX0RFRkFVTFQ9Imx6byIKQ09ORklHX1pTV0FQX1pQT09MX0RFRkFVTFRf WkJVRD15CiMgQ09ORklHX1pTV0FQX1pQT09MX0RFRkFVTFRfWjNGT0xEIGlzIG5vdCBzZXQKIyBD T05GSUdfWlNXQVBfWlBPT0xfREVGQVVMVF9aU01BTExPQyBpcyBub3Qgc2V0CkNPTkZJR19aU1dB UF9aUE9PTF9ERUZBVUxUPSJ6YnVkIgojIENPTkZJR19aU1dBUF9ERUZBVUxUX09OIGlzIG5vdCBz ZXQKQ09ORklHX1pQT09MPXkKQ09ORklHX1pCVUQ9eQojIENPTkZJR19aM0ZPTEQgaXMgbm90IHNl dApDT05GSUdfWlNNQUxMT0M9eQpDT05GSUdfWlNNQUxMT0NfU1RBVD15CkNPTkZJR19HRU5FUklD X0VBUkxZX0lPUkVNQVA9eQpDT05GSUdfREVGRVJSRURfU1RSVUNUX1BBR0VfSU5JVD15CkNPTkZJ R19JRExFX1BBR0VfVFJBQ0tJTkc9eQpDT05GSUdfQVJDSF9IQVNfUFRFX0RFVk1BUD15CkNPTkZJ R19aT05FX0RFVklDRT15CkNPTkZJR19ERVZfUEFHRU1BUF9PUFM9eQpDT05GSUdfSE1NX01JUlJP Uj15CkNPTkZJR19ERVZJQ0VfUFJJVkFURT15CkNPTkZJR19WTUFQX1BGTj15CkNPTkZJR19BUkNI X1VTRVNfSElHSF9WTUFfRkxBR1M9eQpDT05GSUdfQVJDSF9IQVNfUEtFWVM9eQojIENPTkZJR19Q RVJDUFVfU1RBVFMgaXMgbm90IHNldApDT05GSUdfR1VQX1RFU1Q9eQojIENPTkZJR19SRUFEX09O TFlfVEhQX0ZPUl9GUyBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0hBU19QVEVfU1BFQ0lBTD15CiMg ZW5kIG9mIE1lbW9yeSBNYW5hZ2VtZW50IG9wdGlvbnMKCkNPTkZJR19ORVQ9eQpDT05GSUdfTkVU X0lOR1JFU1M9eQpDT05GSUdfTkVUX0VHUkVTUz15CkNPTkZJR19ORVRfUkVESVJFQ1Q9eQpDT05G SUdfU0tCX0VYVEVOU0lPTlM9eQoKIwojIE5ldHdvcmtpbmcgb3B0aW9ucwojCkNPTkZJR19QQUNL RVQ9eQpDT05GSUdfUEFDS0VUX0RJQUc9bQpDT05GSUdfVU5JWD15CkNPTkZJR19VTklYX1NDTT15 CkNPTkZJR19VTklYX0RJQUc9bQpDT05GSUdfVExTPW0KQ09ORklHX1RMU19ERVZJQ0U9eQojIENP TkZJR19UTFNfVE9FIGlzIG5vdCBzZXQKQ09ORklHX1hGUk09eQpDT05GSUdfWEZSTV9PRkZMT0FE PXkKQ09ORklHX1hGUk1fQUxHTz15CkNPTkZJR19YRlJNX1VTRVI9eQojIENPTkZJR19YRlJNX1VT RVJfQ09NUEFUIGlzIG5vdCBzZXQKIyBDT05GSUdfWEZSTV9JTlRFUkZBQ0UgaXMgbm90IHNldApD T05GSUdfWEZSTV9TVUJfUE9MSUNZPXkKQ09ORklHX1hGUk1fTUlHUkFURT15CkNPTkZJR19YRlJN X1NUQVRJU1RJQ1M9eQpDT05GSUdfWEZSTV9BSD1tCkNPTkZJR19YRlJNX0VTUD1tCkNPTkZJR19Y RlJNX0lQQ09NUD1tCkNPTkZJR19ORVRfS0VZPW0KQ09ORklHX05FVF9LRVlfTUlHUkFURT15CkNP TkZJR19YRFBfU09DS0VUUz15CiMgQ09ORklHX1hEUF9TT0NLRVRTX0RJQUcgaXMgbm90IHNldApD T05GSUdfSU5FVD15CkNPTkZJR19JUF9NVUxUSUNBU1Q9eQpDT05GSUdfSVBfQURWQU5DRURfUk9V VEVSPXkKQ09ORklHX0lQX0ZJQl9UUklFX1NUQVRTPXkKQ09ORklHX0lQX01VTFRJUExFX1RBQkxF Uz15CkNPTkZJR19JUF9ST1VURV9NVUxUSVBBVEg9eQpDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15 CkNPTkZJR19JUF9ST1VURV9DTEFTU0lEPXkKQ09ORklHX0lQX1BOUD15CkNPTkZJR19JUF9QTlBf REhDUD15CiMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQX1BOUF9S QVJQIGlzIG5vdCBzZXQKQ09ORklHX05FVF9JUElQPXkKQ09ORklHX05FVF9JUEdSRV9ERU1VWD15 CkNPTkZJR19ORVRfSVBfVFVOTkVMPXkKQ09ORklHX05FVF9JUEdSRT15CkNPTkZJR19ORVRfSVBH UkVfQlJPQURDQVNUPXkKQ09ORklHX0lQX01ST1VURV9DT01NT049eQpDT05GSUdfSVBfTVJPVVRF PXkKQ09ORklHX0lQX01ST1VURV9NVUxUSVBMRV9UQUJMRVM9eQpDT05GSUdfSVBfUElNU01fVjE9 eQpDT05GSUdfSVBfUElNU01fVjI9eQpDT05GSUdfU1lOX0NPT0tJRVM9eQpDT05GSUdfTkVUX0lQ VlRJPW0KQ09ORklHX05FVF9VRFBfVFVOTkVMPXkKQ09ORklHX05FVF9GT1U9eQpDT05GSUdfTkVU X0ZPVV9JUF9UVU5ORUxTPXkKQ09ORklHX0lORVRfQUg9bQpDT05GSUdfSU5FVF9FU1A9bQpDT05G SUdfSU5FVF9FU1BfT0ZGTE9BRD1tCiMgQ09ORklHX0lORVRfRVNQSU5UQ1AgaXMgbm90IHNldApD T05GSUdfSU5FVF9JUENPTVA9bQpDT05GSUdfSU5FVF9YRlJNX1RVTk5FTD1tCkNPTkZJR19JTkVU X1RVTk5FTD15CkNPTkZJR19JTkVUX0RJQUc9bQpDT05GSUdfSU5FVF9UQ1BfRElBRz1tCkNPTkZJ R19JTkVUX1VEUF9ESUFHPW0KQ09ORklHX0lORVRfUkFXX0RJQUc9bQojIENPTkZJR19JTkVUX0RJ QUdfREVTVFJPWSBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CkNPTkZJR19U Q1BfQ09OR19CSUM9bQpDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQpDT05GSUdfVENQX0NPTkdfV0VT VFdPT0Q9bQpDT05GSUdfVENQX0NPTkdfSFRDUD1tCkNPTkZJR19UQ1BfQ09OR19IU1RDUD1tCkNP TkZJR19UQ1BfQ09OR19IWUJMQT1tCkNPTkZJR19UQ1BfQ09OR19WRUdBUz1tCkNPTkZJR19UQ1Bf Q09OR19OVj1tCkNPTkZJR19UQ1BfQ09OR19TQ0FMQUJMRT1tCkNPTkZJR19UQ1BfQ09OR19MUD1t CkNPTkZJR19UQ1BfQ09OR19WRU5PPW0KQ09ORklHX1RDUF9DT05HX1lFQUg9bQpDT05GSUdfVENQ X0NPTkdfSUxMSU5PSVM9bQpDT05GSUdfVENQX0NPTkdfRENUQ1A9bQojIENPTkZJR19UQ1BfQ09O R19DREcgaXMgbm90IHNldApDT05GSUdfVENQX0NPTkdfQkJSPW0KQ09ORklHX0RFRkFVTFRfQ1VC SUM9eQojIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9UQ1Bf Q09ORz0iY3ViaWMiCkNPTkZJR19UQ1BfTUQ1U0lHPXkKQ09ORklHX0lQVjY9eQpDT05GSUdfSVBW Nl9ST1VURVJfUFJFRj15CkNPTkZJR19JUFY2X1JPVVRFX0lORk89eQpDT05GSUdfSVBWNl9PUFRJ TUlTVElDX0RBRD15CkNPTkZJR19JTkVUNl9BSD1tCkNPTkZJR19JTkVUNl9FU1A9bQpDT05GSUdf SU5FVDZfRVNQX09GRkxPQUQ9bQojIENPTkZJR19JTkVUNl9FU1BJTlRDUCBpcyBub3Qgc2V0CkNP TkZJR19JTkVUNl9JUENPTVA9bQpDT05GSUdfSVBWNl9NSVA2PW0KIyBDT05GSUdfSVBWNl9JTEEg aXMgbm90IHNldApDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUw9bQpDT05GSUdfSU5FVDZfVFVOTkVM PXkKQ09ORklHX0lQVjZfVlRJPW0KQ09ORklHX0lQVjZfU0lUPW0KQ09ORklHX0lQVjZfU0lUXzZS RD15CkNPTkZJR19JUFY2X05ESVNDX05PREVUWVBFPXkKQ09ORklHX0lQVjZfVFVOTkVMPXkKQ09O RklHX0lQVjZfR1JFPXkKQ09ORklHX0lQVjZfRk9VPXkKQ09ORklHX0lQVjZfRk9VX1RVTk5FTD15 CkNPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUz15CiMgQ09ORklHX0lQVjZfU1VCVFJFRVMgaXMg bm90IHNldApDT05GSUdfSVBWNl9NUk9VVEU9eQpDT05GSUdfSVBWNl9NUk9VVEVfTVVMVElQTEVf VEFCTEVTPXkKQ09ORklHX0lQVjZfUElNU01fVjI9eQpDT05GSUdfSVBWNl9TRUc2X0xXVFVOTkVM PXkKIyBDT05GSUdfSVBWNl9TRUc2X0hNQUMgaXMgbm90IHNldApDT05GSUdfSVBWNl9TRUc2X0JQ Rj15CiMgQ09ORklHX0lQVjZfUlBMX0xXVFVOTkVMIGlzIG5vdCBzZXQKQ09ORklHX05FVExBQkVM PXkKQ09ORklHX01QVENQPXkKQ09ORklHX0lORVRfTVBUQ1BfRElBRz1tCkNPTkZJR19NUFRDUF9J UFY2PXkKQ09ORklHX05FVFdPUktfU0VDTUFSSz15CkNPTkZJR19ORVRfUFRQX0NMQVNTSUZZPXkK Q09ORklHX05FVFdPUktfUEhZX1RJTUVTVEFNUElORz15CkNPTkZJR19ORVRGSUxURVI9eQpDT05G SUdfTkVURklMVEVSX0FEVkFOQ0VEPXkKQ09ORklHX0JSSURHRV9ORVRGSUxURVI9bQoKIwojIENv cmUgTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KIwpDT05GSUdfTkVURklMVEVSX0lOR1JFU1M9eQpD T05GSUdfTkVURklMVEVSX05FVExJTks9bQpDT05GSUdfTkVURklMVEVSX0ZBTUlMWV9CUklER0U9 eQpDT05GSUdfTkVURklMVEVSX0ZBTUlMWV9BUlA9eQojIENPTkZJR19ORVRGSUxURVJfTkVUTElO S19BQ0NUIGlzIG5vdCBzZXQKQ09ORklHX05FVEZJTFRFUl9ORVRMSU5LX1FVRVVFPW0KQ09ORklH X05FVEZJTFRFUl9ORVRMSU5LX0xPRz1tCkNPTkZJR19ORVRGSUxURVJfTkVUTElOS19PU0Y9bQpD T05GSUdfTkZfQ09OTlRSQUNLPW0KQ09ORklHX05GX0xPR19DT01NT049bQpDT05GSUdfTkZfTE9H X05FVERFVj1tCkNPTkZJR19ORVRGSUxURVJfQ09OTkNPVU5UPW0KQ09ORklHX05GX0NPTk5UUkFD S19NQVJLPXkKQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKQ09ORklHX05GX0NPTk5UUkFD S19aT05FUz15CkNPTkZJR19ORl9DT05OVFJBQ0tfUFJPQ0ZTPXkKQ09ORklHX05GX0NPTk5UUkFD S19FVkVOVFM9eQpDT05GSUdfTkZfQ09OTlRSQUNLX1RJTUVPVVQ9eQpDT05GSUdfTkZfQ09OTlRS QUNLX1RJTUVTVEFNUD15CkNPTkZJR19ORl9DT05OVFJBQ0tfTEFCRUxTPXkKQ09ORklHX05GX0NU X1BST1RPX0RDQ1A9eQpDT05GSUdfTkZfQ1RfUFJPVE9fR1JFPXkKQ09ORklHX05GX0NUX1BST1RP X1NDVFA9eQpDT05GSUdfTkZfQ1RfUFJPVE9fVURQTElURT15CkNPTkZJR19ORl9DT05OVFJBQ0tf QU1BTkRBPW0KQ09ORklHX05GX0NPTk5UUkFDS19GVFA9bQpDT05GSUdfTkZfQ09OTlRSQUNLX0gz MjM9bQpDT05GSUdfTkZfQ09OTlRSQUNLX0lSQz1tCkNPTkZJR19ORl9DT05OVFJBQ0tfQlJPQURD QVNUPW0KQ09ORklHX05GX0NPTk5UUkFDS19ORVRCSU9TX05TPW0KQ09ORklHX05GX0NPTk5UUkFD S19TTk1QPW0KQ09ORklHX05GX0NPTk5UUkFDS19QUFRQPW0KQ09ORklHX05GX0NPTk5UUkFDS19T QU5FPW0KQ09ORklHX05GX0NPTk5UUkFDS19TSVA9bQpDT05GSUdfTkZfQ09OTlRSQUNLX1RGVFA9 bQpDT05GSUdfTkZfQ1RfTkVUTElOSz1tCkNPTkZJR19ORl9DVF9ORVRMSU5LX1RJTUVPVVQ9bQpD T05GSUdfTkZfQ1RfTkVUTElOS19IRUxQRVI9bQpDT05GSUdfTkVURklMVEVSX05FVExJTktfR0xV RV9DVD15CkNPTkZJR19ORl9OQVQ9bQpDT05GSUdfTkZfTkFUX0FNQU5EQT1tCkNPTkZJR19ORl9O QVRfRlRQPW0KQ09ORklHX05GX05BVF9JUkM9bQpDT05GSUdfTkZfTkFUX1NJUD1tCkNPTkZJR19O Rl9OQVRfVEZUUD1tCkNPTkZJR19ORl9OQVRfUkVESVJFQ1Q9eQpDT05GSUdfTkZfTkFUX01BU1FV RVJBREU9eQpDT05GSUdfTkVURklMVEVSX1NZTlBST1hZPW0KQ09ORklHX05GX1RBQkxFUz1tCkNP TkZJR19ORl9UQUJMRVNfSU5FVD15CkNPTkZJR19ORl9UQUJMRVNfTkVUREVWPXkKQ09ORklHX05G VF9OVU1HRU49bQpDT05GSUdfTkZUX0NUPW0KQ09ORklHX05GVF9GTE9XX09GRkxPQUQ9bQpDT05G SUdfTkZUX0NPVU5URVI9bQpDT05GSUdfTkZUX0NPTk5MSU1JVD1tCkNPTkZJR19ORlRfTE9HPW0K Q09ORklHX05GVF9MSU1JVD1tCkNPTkZJR19ORlRfTUFTUT1tCkNPTkZJR19ORlRfUkVESVI9bQpD T05GSUdfTkZUX05BVD1tCiMgQ09ORklHX05GVF9UVU5ORUwgaXMgbm90IHNldApDT05GSUdfTkZU X09CSlJFRj1tCkNPTkZJR19ORlRfUVVFVUU9bQpDT05GSUdfTkZUX1FVT1RBPW0KQ09ORklHX05G VF9SRUpFQ1Q9bQpDT05GSUdfTkZUX1JFSkVDVF9JTkVUPW0KQ09ORklHX05GVF9DT01QQVQ9bQpD T05GSUdfTkZUX0hBU0g9bQpDT05GSUdfTkZUX0ZJQj1tCkNPTkZJR19ORlRfRklCX0lORVQ9bQoj IENPTkZJR19ORlRfWEZSTSBpcyBub3Qgc2V0CkNPTkZJR19ORlRfU09DS0VUPW0KIyBDT05GSUdf TkZUX09TRiBpcyBub3Qgc2V0CiMgQ09ORklHX05GVF9UUFJPWFkgaXMgbm90IHNldAojIENPTkZJ R19ORlRfU1lOUFJPWFkgaXMgbm90IHNldApDT05GSUdfTkZfRFVQX05FVERFVj1tCkNPTkZJR19O RlRfRFVQX05FVERFVj1tCkNPTkZJR19ORlRfRldEX05FVERFVj1tCkNPTkZJR19ORlRfRklCX05F VERFVj1tCiMgQ09ORklHX05GVF9SRUpFQ1RfTkVUREVWIGlzIG5vdCBzZXQKQ09ORklHX05GX0ZM T1dfVEFCTEVfSU5FVD1tCkNPTkZJR19ORl9GTE9XX1RBQkxFPW0KQ09ORklHX05FVEZJTFRFUl9Y VEFCTEVTPXkKCiMKIyBYdGFibGVzIGNvbWJpbmVkIG1vZHVsZXMKIwpDT05GSUdfTkVURklMVEVS X1hUX01BUks9bQpDT05GSUdfTkVURklMVEVSX1hUX0NPTk5NQVJLPW0KQ09ORklHX05FVEZJTFRF Ul9YVF9TRVQ9bQoKIwojIFh0YWJsZXMgdGFyZ2V0cwojCkNPTkZJR19ORVRGSUxURVJfWFRfVEFS R0VUX0FVRElUPW0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ0hFQ0tTVU09bQpDT05GSUdf TkVURklMVEVSX1hUX1RBUkdFVF9DTEFTU0lGWT1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VU X0NPTk5NQVJLPW0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09OTlNFQ01BUks9bQpDT05G SUdfTkVURklMVEVSX1hUX1RBUkdFVF9DVD1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX0RT Q1A9bQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9ITD1tCkNPTkZJR19ORVRGSUxURVJfWFRf VEFSR0VUX0hNQVJLPW0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfSURMRVRJTUVSPW0KIyBD T05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9MRUQgaXMgbm90IHNldApDT05GSUdfTkVURklMVEVS X1hUX1RBUkdFVF9MT0c9bQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9NQVJLPW0KQ09ORklH X05FVEZJTFRFUl9YVF9OQVQ9bQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9ORVRNQVA9bQpD T05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9ORkxPRz1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFS R0VUX05GUVVFVUU9bQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9OT1RSQUNLPW0KQ09ORklH X05FVEZJTFRFUl9YVF9UQVJHRVRfUkFURUVTVD1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VU X1JFRElSRUNUPW0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTUFTUVVFUkFERT1tCkNPTkZJ R19ORVRGSUxURVJfWFRfVEFSR0VUX1RFRT1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RQ Uk9YWT1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RSQUNFPW0KQ09ORklHX05FVEZJTFRF Ul9YVF9UQVJHRVRfU0VDTUFSSz1tCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RDUE1TUz1t CkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1RDUE9QVFNUUklQPW0KCiMKIyBYdGFibGVzIG1h dGNoZXMKIwpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0FERFJUWVBFPW0KQ09ORklHX05FVEZJ TFRFUl9YVF9NQVRDSF9CUEY9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0NHUk9VUD1tCkNP TkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ0xVU1RFUj1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFU Q0hfQ09NTUVOVD1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTkJZVEVTPW0KQ09ORklH X05FVEZJTFRFUl9YVF9NQVRDSF9DT05OTEFCRUw9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENI X0NPTk5MSU1JVD1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTk1BUks9bQpDT05GSUdf TkVURklMVEVSX1hUX01BVENIX0NPTk5UUkFDSz1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hf Q1BVPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9EQ0NQPW0KQ09ORklHX05FVEZJTFRFUl9Y VF9NQVRDSF9ERVZHUk9VUD1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfRFNDUD1tCkNPTkZJ R19ORVRGSUxURVJfWFRfTUFUQ0hfRUNOPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9FU1A9 bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0hBU0hMSU1JVD1tCkNPTkZJR19ORVRGSUxURVJf WFRfTUFUQ0hfSEVMUEVSPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9ITD1tCiMgQ09ORklH X05FVEZJTFRFUl9YVF9NQVRDSF9JUENPTVAgaXMgbm90IHNldApDT05GSUdfTkVURklMVEVSX1hU X01BVENIX0lQUkFOR0U9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0lQVlM9bQojIENPTkZJ R19ORVRGSUxURVJfWFRfTUFUQ0hfTDJUUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRGSUxURVJfWFRf TUFUQ0hfTEVOR1RIPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9MSU1JVD1tCkNPTkZJR19O RVRGSUxURVJfWFRfTUFUQ0hfTUFDPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NQVJLPW0K Q09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9NVUxUSVBPUlQ9bQojIENPTkZJR19ORVRGSUxURVJf WFRfTUFUQ0hfTkZBQ0NUIGlzIG5vdCBzZXQKQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9PU0Y9 bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX09XTkVSPW0KQ09ORklHX05FVEZJTFRFUl9YVF9N QVRDSF9QT0xJQ1k9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1BIWVNERVY9bQpDT05GSUdf TkVURklMVEVSX1hUX01BVENIX1BLVFRZUEU9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1FV T1RBPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9SQVRFRVNUPW0KQ09ORklHX05FVEZJTFRF Ul9YVF9NQVRDSF9SRUFMTT1tCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfUkVDRU5UPW0KQ09O RklHX05FVEZJTFRFUl9YVF9NQVRDSF9TQ1RQPW0KQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9T T0NLRVQ9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPW0KQ09ORklHX05FVEZJTFRF Ul9YVF9NQVRDSF9TVEFUSVNUSUM9bQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUUklORz1t CkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfVENQTVNTPW0KIyBDT05GSUdfTkVURklMVEVSX1hU X01BVENIX1RJTUUgaXMgbm90IHNldAojIENPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfVTMyIGlz IG5vdCBzZXQKIyBlbmQgb2YgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgoKQ09ORklHX0lQ X1NFVD1tCkNPTkZJR19JUF9TRVRfTUFYPTI1NgpDT05GSUdfSVBfU0VUX0JJVE1BUF9JUD1tCkNP TkZJR19JUF9TRVRfQklUTUFQX0lQTUFDPW0KQ09ORklHX0lQX1NFVF9CSVRNQVBfUE9SVD1tCkNP TkZJR19JUF9TRVRfSEFTSF9JUD1tCkNPTkZJR19JUF9TRVRfSEFTSF9JUE1BUks9bQpDT05GSUdf SVBfU0VUX0hBU0hfSVBQT1JUPW0KQ09ORklHX0lQX1NFVF9IQVNIX0lQUE9SVElQPW0KQ09ORklH X0lQX1NFVF9IQVNIX0lQUE9SVE5FVD1tCkNPTkZJR19JUF9TRVRfSEFTSF9JUE1BQz1tCkNPTkZJ R19JUF9TRVRfSEFTSF9NQUM9bQpDT05GSUdfSVBfU0VUX0hBU0hfTkVUUE9SVE5FVD1tCkNPTkZJ R19JUF9TRVRfSEFTSF9ORVQ9bQpDT05GSUdfSVBfU0VUX0hBU0hfTkVUTkVUPW0KQ09ORklHX0lQ X1NFVF9IQVNIX05FVFBPUlQ9bQpDT05GSUdfSVBfU0VUX0hBU0hfTkVUSUZBQ0U9bQpDT05GSUdf SVBfU0VUX0xJU1RfU0VUPW0KQ09ORklHX0lQX1ZTPW0KQ09ORklHX0lQX1ZTX0lQVjY9eQojIENP TkZJR19JUF9WU19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19JUF9WU19UQUJfQklUUz0xMgoKIwoj IElQVlMgdHJhbnNwb3J0IHByb3RvY29sIGxvYWQgYmFsYW5jaW5nIHN1cHBvcnQKIwpDT05GSUdf SVBfVlNfUFJPVE9fVENQPXkKQ09ORklHX0lQX1ZTX1BST1RPX1VEUD15CkNPTkZJR19JUF9WU19Q Uk9UT19BSF9FU1A9eQpDT05GSUdfSVBfVlNfUFJPVE9fRVNQPXkKQ09ORklHX0lQX1ZTX1BST1RP X0FIPXkKQ09ORklHX0lQX1ZTX1BST1RPX1NDVFA9eQoKIwojIElQVlMgc2NoZWR1bGVyCiMKQ09O RklHX0lQX1ZTX1JSPW0KQ09ORklHX0lQX1ZTX1dSUj1tCkNPTkZJR19JUF9WU19MQz1tCkNPTkZJ R19JUF9WU19XTEM9bQpDT05GSUdfSVBfVlNfRk89bQpDT05GSUdfSVBfVlNfT1ZGPW0KQ09ORklH X0lQX1ZTX0xCTEM9bQpDT05GSUdfSVBfVlNfTEJMQ1I9bQpDT05GSUdfSVBfVlNfREg9bQpDT05G SUdfSVBfVlNfU0g9bQojIENPTkZJR19JUF9WU19NSCBpcyBub3Qgc2V0CkNPTkZJR19JUF9WU19T RUQ9bQpDT05GSUdfSVBfVlNfTlE9bQojIENPTkZJR19JUF9WU19UV09TIGlzIG5vdCBzZXQKCiMK IyBJUFZTIFNIIHNjaGVkdWxlcgojCkNPTkZJR19JUF9WU19TSF9UQUJfQklUUz04CgojCiMgSVBW UyBNSCBzY2hlZHVsZXIKIwpDT05GSUdfSVBfVlNfTUhfVEFCX0lOREVYPTEyCgojCiMgSVBWUyBh cHBsaWNhdGlvbiBoZWxwZXIKIwpDT05GSUdfSVBfVlNfRlRQPW0KQ09ORklHX0lQX1ZTX05GQ1Q9 eQpDT05GSUdfSVBfVlNfUEVfU0lQPW0KCiMKIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24K IwpDT05GSUdfTkZfREVGUkFHX0lQVjQ9bQpDT05GSUdfTkZfU09DS0VUX0lQVjQ9bQpDT05GSUdf TkZfVFBST1hZX0lQVjQ9bQpDT05GSUdfTkZfVEFCTEVTX0lQVjQ9eQpDT05GSUdfTkZUX1JFSkVD VF9JUFY0PW0KQ09ORklHX05GVF9EVVBfSVBWND1tCkNPTkZJR19ORlRfRklCX0lQVjQ9bQpDT05G SUdfTkZfVEFCTEVTX0FSUD15CkNPTkZJR19ORl9GTE9XX1RBQkxFX0lQVjQ9bQpDT05GSUdfTkZf RFVQX0lQVjQ9bQpDT05GSUdfTkZfTE9HX0FSUD1tCkNPTkZJR19ORl9MT0dfSVBWND1tCkNPTkZJ R19ORl9SRUpFQ1RfSVBWND1tCkNPTkZJR19ORl9OQVRfU05NUF9CQVNJQz1tCkNPTkZJR19ORl9O QVRfUFBUUD1tCkNPTkZJR19ORl9OQVRfSDMyMz1tCkNPTkZJR19JUF9ORl9JUFRBQkxFUz1tCkNP TkZJR19JUF9ORl9NQVRDSF9BSD1tCkNPTkZJR19JUF9ORl9NQVRDSF9FQ049bQpDT05GSUdfSVBf TkZfTUFUQ0hfUlBGSUxURVI9bQpDT05GSUdfSVBfTkZfTUFUQ0hfVFRMPW0KQ09ORklHX0lQX05G X0ZJTFRFUj1tCkNPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPW0KQ09ORklHX0lQX05GX1RBUkdF VF9TWU5QUk9YWT1tCkNPTkZJR19JUF9ORl9OQVQ9bQpDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FV RVJBREU9bQpDT05GSUdfSVBfTkZfVEFSR0VUX05FVE1BUD1tCkNPTkZJR19JUF9ORl9UQVJHRVRf UkVESVJFQ1Q9bQpDT05GSUdfSVBfTkZfTUFOR0xFPW0KIyBDT05GSUdfSVBfTkZfVEFSR0VUX0NM VVNURVJJUCBpcyBub3Qgc2V0CkNPTkZJR19JUF9ORl9UQVJHRVRfRUNOPW0KQ09ORklHX0lQX05G X1RBUkdFVF9UVEw9bQpDT05GSUdfSVBfTkZfUkFXPW0KQ09ORklHX0lQX05GX1NFQ1VSSVRZPW0K Q09ORklHX0lQX05GX0FSUFRBQkxFUz1tCkNPTkZJR19JUF9ORl9BUlBGSUxURVI9bQpDT05GSUdf SVBfTkZfQVJQX01BTkdMRT1tCiMgZW5kIG9mIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgoK IwojIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCiMKQ09ORklHX05GX1NPQ0tFVF9JUFY2 PW0KQ09ORklHX05GX1RQUk9YWV9JUFY2PW0KQ09ORklHX05GX1RBQkxFU19JUFY2PXkKQ09ORklH X05GVF9SRUpFQ1RfSVBWNj1tCkNPTkZJR19ORlRfRFVQX0lQVjY9bQpDT05GSUdfTkZUX0ZJQl9J UFY2PW0KQ09ORklHX05GX0ZMT1dfVEFCTEVfSVBWNj1tCkNPTkZJR19ORl9EVVBfSVBWNj1tCkNP TkZJR19ORl9SRUpFQ1RfSVBWNj1tCkNPTkZJR19ORl9MT0dfSVBWNj1tCkNPTkZJR19JUDZfTkZf SVBUQUJMRVM9bQpDT05GSUdfSVA2X05GX01BVENIX0FIPW0KQ09ORklHX0lQNl9ORl9NQVRDSF9F VUk2ND1tCkNPTkZJR19JUDZfTkZfTUFUQ0hfRlJBRz1tCkNPTkZJR19JUDZfTkZfTUFUQ0hfT1BU Uz1tCkNPTkZJR19JUDZfTkZfTUFUQ0hfSEw9bQpDT05GSUdfSVA2X05GX01BVENIX0lQVjZIRUFE RVI9bQpDT05GSUdfSVA2X05GX01BVENIX01IPW0KQ09ORklHX0lQNl9ORl9NQVRDSF9SUEZJTFRF Uj1tCkNPTkZJR19JUDZfTkZfTUFUQ0hfUlQ9bQojIENPTkZJR19JUDZfTkZfTUFUQ0hfU1JIIGlz IG5vdCBzZXQKIyBDT05GSUdfSVA2X05GX1RBUkdFVF9ITCBpcyBub3Qgc2V0CkNPTkZJR19JUDZf TkZfRklMVEVSPW0KQ09ORklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPW0KQ09ORklHX0lQNl9ORl9U QVJHRVRfU1lOUFJPWFk9bQpDT05GSUdfSVA2X05GX01BTkdMRT1tCkNPTkZJR19JUDZfTkZfUkFX PW0KQ09ORklHX0lQNl9ORl9TRUNVUklUWT1tCkNPTkZJR19JUDZfTkZfTkFUPW0KQ09ORklHX0lQ Nl9ORl9UQVJHRVRfTUFTUVVFUkFERT1tCkNPTkZJR19JUDZfTkZfVEFSR0VUX05QVD1tCiMgZW5k IG9mIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCgpDT05GSUdfTkZfREVGUkFHX0lQVjY9 bQpDT05GSUdfTkZfVEFCTEVTX0JSSURHRT1tCiMgQ09ORklHX05GVF9CUklER0VfTUVUQSBpcyBu b3Qgc2V0CkNPTkZJR19ORlRfQlJJREdFX1JFSkVDVD1tCkNPTkZJR19ORl9MT0dfQlJJREdFPW0K IyBDT05GSUdfTkZfQ09OTlRSQUNLX0JSSURHRSBpcyBub3Qgc2V0CkNPTkZJR19CUklER0VfTkZf RUJUQUJMRVM9bQpDT05GSUdfQlJJREdFX0VCVF9CUk9VVEU9bQpDT05GSUdfQlJJREdFX0VCVF9U X0ZJTFRFUj1tCkNPTkZJR19CUklER0VfRUJUX1RfTkFUPW0KQ09ORklHX0JSSURHRV9FQlRfODAy XzM9bQpDT05GSUdfQlJJREdFX0VCVF9BTU9ORz1tCkNPTkZJR19CUklER0VfRUJUX0FSUD1tCkNP TkZJR19CUklER0VfRUJUX0lQPW0KQ09ORklHX0JSSURHRV9FQlRfSVA2PW0KQ09ORklHX0JSSURH RV9FQlRfTElNSVQ9bQpDT05GSUdfQlJJREdFX0VCVF9NQVJLPW0KQ09ORklHX0JSSURHRV9FQlRf UEtUVFlQRT1tCkNPTkZJR19CUklER0VfRUJUX1NUUD1tCkNPTkZJR19CUklER0VfRUJUX1ZMQU49 bQpDT05GSUdfQlJJREdFX0VCVF9BUlBSRVBMWT1tCkNPTkZJR19CUklER0VfRUJUX0ROQVQ9bQpD T05GSUdfQlJJREdFX0VCVF9NQVJLX1Q9bQpDT05GSUdfQlJJREdFX0VCVF9SRURJUkVDVD1tCkNP TkZJR19CUklER0VfRUJUX1NOQVQ9bQpDT05GSUdfQlJJREdFX0VCVF9MT0c9bQpDT05GSUdfQlJJ REdFX0VCVF9ORkxPRz1tCiMgQ09ORklHX0JQRklMVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBf RENDUCBpcyBub3Qgc2V0CkNPTkZJR19JUF9TQ1RQPW0KIyBDT05GSUdfU0NUUF9EQkdfT0JKQ05U IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX01ENSBpcyBub3Qg c2V0CkNPTkZJR19TQ1RQX0RFRkFVTFRfQ09PS0lFX0hNQUNfU0hBMT15CiMgQ09ORklHX1NDVFBf REVGQVVMVF9DT09LSUVfSE1BQ19OT05FIGlzIG5vdCBzZXQKQ09ORklHX1NDVFBfQ09PS0lFX0hN QUNfTUQ1PXkKQ09ORklHX1NDVFBfQ09PS0lFX0hNQUNfU0hBMT15CkNPTkZJR19JTkVUX1NDVFBf RElBRz1tCiMgQ09ORklHX1JEUyBpcyBub3Qgc2V0CkNPTkZJR19USVBDPW0KQ09ORklHX1RJUENf TUVESUFfVURQPXkKQ09ORklHX1RJUENfQ1JZUFRPPXkKQ09ORklHX1RJUENfRElBRz1tCkNPTkZJ R19BVE09bQpDT05GSUdfQVRNX0NMSVA9bQojIENPTkZJR19BVE1fQ0xJUF9OT19JQ01QIGlzIG5v dCBzZXQKQ09ORklHX0FUTV9MQU5FPW0KIyBDT05GSUdfQVRNX01QT0EgaXMgbm90IHNldApDT05G SUdfQVRNX0JSMjY4ND1tCiMgQ09ORklHX0FUTV9CUjI2ODRfSVBGSUxURVIgaXMgbm90IHNldApD T05GSUdfTDJUUD1tCkNPTkZJR19MMlRQX0RFQlVHRlM9bQpDT05GSUdfTDJUUF9WMz15CkNPTkZJ R19MMlRQX0lQPW0KQ09ORklHX0wyVFBfRVRIPW0KQ09ORklHX1NUUD15CkNPTkZJR19HQVJQPXkK Q09ORklHX01SUD15CkNPTkZJR19CUklER0U9eQpDT05GSUdfQlJJREdFX0lHTVBfU05PT1BJTkc9 eQpDT05GSUdfQlJJREdFX1ZMQU5fRklMVEVSSU5HPXkKIyBDT05GSUdfQlJJREdFX01SUCBpcyBu b3Qgc2V0CiMgQ09ORklHX0JSSURHRV9DRk0gaXMgbm90IHNldApDT05GSUdfSEFWRV9ORVRfRFNB PXkKIyBDT05GSUdfTkVUX0RTQSBpcyBub3Qgc2V0CkNPTkZJR19WTEFOXzgwMjFRPXkKQ09ORklH X1ZMQU5fODAyMVFfR1ZSUD15CkNPTkZJR19WTEFOXzgwMjFRX01WUlA9eQojIENPTkZJR19ERUNO RVQgaXMgbm90IHNldApDT05GSUdfTExDPXkKIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CiMgQ09O RklHX0FUQUxLIGlzIG5vdCBzZXQKIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKIyBDT05GSUdfTEFQ QiBpcyBub3Qgc2V0CiMgQ09ORklHX1BIT05FVCBpcyBub3Qgc2V0CkNPTkZJR182TE9XUEFOPW0K IyBDT05GSUdfNkxPV1BBTl9ERUJVR0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfNkxPV1BBTl9OSEMg aXMgbm90IHNldApDT05GSUdfSUVFRTgwMjE1ND1tCiMgQ09ORklHX0lFRUU4MDIxNTRfTkw4MDIx NTRfRVhQRVJJTUVOVEFMIGlzIG5vdCBzZXQKQ09ORklHX0lFRUU4MDIxNTRfU09DS0VUPW0KQ09O RklHX0lFRUU4MDIxNTRfNkxPV1BBTj1tCkNPTkZJR19NQUM4MDIxNTQ9bQpDT05GSUdfTkVUX1ND SEVEPXkKCiMKIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiMKQ09ORklHX05FVF9TQ0hfQ0JRPW0KQ09O RklHX05FVF9TQ0hfSFRCPW0KQ09ORklHX05FVF9TQ0hfSEZTQz1tCkNPTkZJR19ORVRfU0NIX0FU TT1tCkNPTkZJR19ORVRfU0NIX1BSSU89bQpDT05GSUdfTkVUX1NDSF9NVUxUSVE9bQpDT05GSUdf TkVUX1NDSF9SRUQ9bQpDT05GSUdfTkVUX1NDSF9TRkI9bQpDT05GSUdfTkVUX1NDSF9TRlE9bQpD T05GSUdfTkVUX1NDSF9URVFMPW0KQ09ORklHX05FVF9TQ0hfVEJGPW0KIyBDT05GSUdfTkVUX1ND SF9DQlMgaXMgbm90IHNldApDT05GSUdfTkVUX1NDSF9FVEY9bQojIENPTkZJR19ORVRfU0NIX1RB UFJJTyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfU0NIX0dSRUQ9bQpDT05GSUdfTkVUX1NDSF9EU01B Uks9bQpDT05GSUdfTkVUX1NDSF9ORVRFTT15CkNPTkZJR19ORVRfU0NIX0RSUj1tCkNPTkZJR19O RVRfU0NIX01RUFJJTz1tCiMgQ09ORklHX05FVF9TQ0hfU0tCUFJJTyBpcyBub3Qgc2V0CkNPTkZJ R19ORVRfU0NIX0NIT0tFPW0KQ09ORklHX05FVF9TQ0hfUUZRPW0KQ09ORklHX05FVF9TQ0hfQ09E RUw9bQpDT05GSUdfTkVUX1NDSF9GUV9DT0RFTD15CiMgQ09ORklHX05FVF9TQ0hfQ0FLRSBpcyBu b3Qgc2V0CkNPTkZJR19ORVRfU0NIX0ZRPW0KQ09ORklHX05FVF9TQ0hfSEhGPW0KQ09ORklHX05F VF9TQ0hfUElFPW0KIyBDT05GSUdfTkVUX1NDSF9GUV9QSUUgaXMgbm90IHNldApDT05GSUdfTkVU X1NDSF9JTkdSRVNTPXkKQ09ORklHX05FVF9TQ0hfUExVRz1tCkNPTkZJR19ORVRfU0NIX0VUUz1t CkNPTkZJR19ORVRfU0NIX0RFRkFVTFQ9eQojIENPTkZJR19ERUZBVUxUX0ZRIGlzIG5vdCBzZXQK IyBDT05GSUdfREVGQVVMVF9DT0RFTCBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0ZRX0NPREVM PXkKIyBDT05GSUdfREVGQVVMVF9TRlEgaXMgbm90IHNldAojIENPTkZJR19ERUZBVUxUX1BGSUZP X0ZBU1QgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9ORVRfU0NIPSJmcV9jb2RlbCIKCiMKIyBD bGFzc2lmaWNhdGlvbgojCkNPTkZJR19ORVRfQ0xTPXkKQ09ORklHX05FVF9DTFNfQkFTSUM9bQpD T05GSUdfTkVUX0NMU19UQ0lOREVYPW0KQ09ORklHX05FVF9DTFNfUk9VVEU0PW0KQ09ORklHX05F VF9DTFNfRlc9bQpDT05GSUdfTkVUX0NMU19VMzI9bQpDT05GSUdfQ0xTX1UzMl9QRVJGPXkKQ09O RklHX0NMU19VMzJfTUFSSz15CkNPTkZJR19ORVRfQ0xTX1JTVlA9bQpDT05GSUdfTkVUX0NMU19S U1ZQNj1tCkNPTkZJR19ORVRfQ0xTX0ZMT1c9bQpDT05GSUdfTkVUX0NMU19DR1JPVVA9eQpDT05G SUdfTkVUX0NMU19CUEY9bQpDT05GSUdfTkVUX0NMU19GTE9XRVI9bQpDT05GSUdfTkVUX0NMU19N QVRDSEFMTD1tCkNPTkZJR19ORVRfRU1BVENIPXkKQ09ORklHX05FVF9FTUFUQ0hfU1RBQ0s9MzIK Q09ORklHX05FVF9FTUFUQ0hfQ01QPW0KQ09ORklHX05FVF9FTUFUQ0hfTkJZVEU9bQpDT05GSUdf TkVUX0VNQVRDSF9VMzI9bQpDT05GSUdfTkVUX0VNQVRDSF9NRVRBPW0KQ09ORklHX05FVF9FTUFU Q0hfVEVYVD1tCkNPTkZJR19ORVRfRU1BVENIX0NBTklEPW0KQ09ORklHX05FVF9FTUFUQ0hfSVBT RVQ9bQpDT05GSUdfTkVUX0VNQVRDSF9JUFQ9bQpDT05GSUdfTkVUX0NMU19BQ1Q9eQpDT05GSUdf TkVUX0FDVF9QT0xJQ0U9bQpDT05GSUdfTkVUX0FDVF9HQUNUPW0KQ09ORklHX0dBQ1RfUFJPQj15 CkNPTkZJR19ORVRfQUNUX01JUlJFRD1tCkNPTkZJR19ORVRfQUNUX1NBTVBMRT1tCkNPTkZJR19O RVRfQUNUX0lQVD1tCkNPTkZJR19ORVRfQUNUX05BVD1tCkNPTkZJR19ORVRfQUNUX1BFRElUPW0K Q09ORklHX05FVF9BQ1RfU0lNUD1tCkNPTkZJR19ORVRfQUNUX1NLQkVESVQ9bQpDT05GSUdfTkVU X0FDVF9DU1VNPW0KQ09ORklHX05FVF9BQ1RfTVBMUz1tCkNPTkZJR19ORVRfQUNUX1ZMQU49bQpD T05GSUdfTkVUX0FDVF9CUEY9bQpDT05GSUdfTkVUX0FDVF9DT05OTUFSSz1tCkNPTkZJR19ORVRf QUNUX0NUSU5GTz1tCkNPTkZJR19ORVRfQUNUX1NLQk1PRD1tCkNPTkZJR19ORVRfQUNUX0lGRT1t CkNPTkZJR19ORVRfQUNUX1RVTk5FTF9LRVk9bQpDT05GSUdfTkVUX0FDVF9DVD1tCiMgQ09ORklH X05FVF9BQ1RfR0FURSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfSUZFX1NLQk1BUks9bQpDT05GSUdf TkVUX0lGRV9TS0JQUklPPW0KQ09ORklHX05FVF9JRkVfU0tCVENJTkRFWD1tCiMgQ09ORklHX05F VF9UQ19TS0JfRVhUIGlzIG5vdCBzZXQKQ09ORklHX05FVF9TQ0hfRklGTz15CkNPTkZJR19EQ0I9 eQpDT05GSUdfRE5TX1JFU09MVkVSPW0KIyBDT05GSUdfQkFUTUFOX0FEViBpcyBub3Qgc2V0CkNP TkZJR19PUEVOVlNXSVRDSD1tCkNPTkZJR19PUEVOVlNXSVRDSF9HUkU9bQpDT05GSUdfT1BFTlZT V0lUQ0hfVlhMQU49bQpDT05GSUdfT1BFTlZTV0lUQ0hfR0VORVZFPW0KQ09ORklHX1ZTT0NLRVRT PW0KQ09ORklHX1ZTT0NLRVRTX0RJQUc9bQpDT05GSUdfVlNPQ0tFVFNfTE9PUEJBQ0s9bQpDT05G SUdfVk1XQVJFX1ZNQ0lfVlNPQ0tFVFM9bQpDT05GSUdfVklSVElPX1ZTT0NLRVRTPW0KQ09ORklH X1ZJUlRJT19WU09DS0VUU19DT01NT049bQpDT05GSUdfSFlQRVJWX1ZTT0NLRVRTPW0KQ09ORklH X05FVExJTktfRElBRz1tCkNPTkZJR19NUExTPXkKQ09ORklHX05FVF9NUExTX0dTTz1tCkNPTkZJ R19NUExTX1JPVVRJTkc9bQpDT05GSUdfTVBMU19JUFRVTk5FTD1tCkNPTkZJR19ORVRfTlNIPXkK IyBDT05GSUdfSFNSIGlzIG5vdCBzZXQKQ09ORklHX05FVF9TV0lUQ0hERVY9eQpDT05GSUdfTkVU X0wzX01BU1RFUl9ERVY9eQojIENPTkZJR19RUlRSIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX05D U0kgaXMgbm90IHNldApDT05GSUdfUlBTPXkKQ09ORklHX1JGU19BQ0NFTD15CkNPTkZJR19TT0NL X1JYX1FVRVVFX01BUFBJTkc9eQpDT05GSUdfWFBTPXkKQ09ORklHX0NHUk9VUF9ORVRfUFJJTz15 CkNPTkZJR19DR1JPVVBfTkVUX0NMQVNTSUQ9eQpDT05GSUdfTkVUX1JYX0JVU1lfUE9MTD15CkNP TkZJR19CUUw9eQpDT05GSUdfQlBGX0pJVD15CkNPTkZJR19CUEZfU1RSRUFNX1BBUlNFUj15CkNP TkZJR19ORVRfRkxPV19MSU1JVD15CgojCiMgTmV0d29yayB0ZXN0aW5nCiMKQ09ORklHX05FVF9Q S1RHRU49bQpDT05GSUdfTkVUX0RST1BfTU9OSVRPUj15CiMgZW5kIG9mIE5ldHdvcmsgdGVzdGlu ZwojIGVuZCBvZiBOZXR3b3JraW5nIG9wdGlvbnMKCiMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBz ZXQKQ09ORklHX0NBTj1tCkNPTkZJR19DQU5fUkFXPW0KQ09ORklHX0NBTl9CQ009bQpDT05GSUdf Q0FOX0dXPW0KIyBDT05GSUdfQ0FOX0oxOTM5IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FOX0lTT1RQ IGlzIG5vdCBzZXQKCiMKIyBDQU4gRGV2aWNlIERyaXZlcnMKIwpDT05GSUdfQ0FOX1ZDQU49bQoj IENPTkZJR19DQU5fVlhDQU4gaXMgbm90IHNldApDT05GSUdfQ0FOX1NMQ0FOPW0KQ09ORklHX0NB Tl9ERVY9bQpDT05GSUdfQ0FOX0NBTENfQklUVElNSU5HPXkKIyBDT05GSUdfQ0FOX0tWQVNFUl9Q Q0lFRkQgaXMgbm90IHNldApDT05GSUdfQ0FOX0NfQ0FOPW0KQ09ORklHX0NBTl9DX0NBTl9QTEFU Rk9STT1tCkNPTkZJR19DQU5fQ19DQU5fUENJPW0KQ09ORklHX0NBTl9DQzc3MD1tCiMgQ09ORklH X0NBTl9DQzc3MF9JU0EgaXMgbm90IHNldApDT05GSUdfQ0FOX0NDNzcwX1BMQVRGT1JNPW0KIyBD T05GSUdfQ0FOX0lGSV9DQU5GRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NBTl9NX0NBTiBpcyBub3Qg c2V0CiMgQ09ORklHX0NBTl9QRUFLX1BDSUVGRCBpcyBub3Qgc2V0CkNPTkZJR19DQU5fU0pBMTAw MD1tCkNPTkZJR19DQU5fRU1TX1BDST1tCiMgQ09ORklHX0NBTl9GODE2MDEgaXMgbm90IHNldApD T05GSUdfQ0FOX0tWQVNFUl9QQ0k9bQpDT05GSUdfQ0FOX1BFQUtfUENJPW0KQ09ORklHX0NBTl9Q RUFLX1BDSUVDPXkKQ09ORklHX0NBTl9QTFhfUENJPW0KIyBDT05GSUdfQ0FOX1NKQTEwMDBfSVNB IGlzIG5vdCBzZXQKQ09ORklHX0NBTl9TSkExMDAwX1BMQVRGT1JNPW0KQ09ORklHX0NBTl9TT0ZU SU5HPW0KCiMKIyBDQU4gU1BJIGludGVyZmFjZXMKIwojIENPTkZJR19DQU5fSEkzMTFYIGlzIG5v dCBzZXQKIyBDT05GSUdfQ0FOX01DUDI1MVggaXMgbm90IHNldAojIENPTkZJR19DQU5fTUNQMjUx WEZEIGlzIG5vdCBzZXQKIyBlbmQgb2YgQ0FOIFNQSSBpbnRlcmZhY2VzCgojCiMgQ0FOIFVTQiBp bnRlcmZhY2VzCiMKIyBDT05GSUdfQ0FOXzhERVZfVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FO X0VNU19VU0IgaXMgbm90IHNldAojIENPTkZJR19DQU5fRVNEX1VTQjIgaXMgbm90IHNldAojIENP TkZJR19DQU5fR1NfVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FOX0tWQVNFUl9VU0IgaXMgbm90 IHNldAojIENPTkZJR19DQU5fTUNCQV9VU0IgaXMgbm90IHNldAojIENPTkZJR19DQU5fUEVBS19V U0IgaXMgbm90IHNldAojIENPTkZJR19DQU5fVUNBTiBpcyBub3Qgc2V0CiMgZW5kIG9mIENBTiBV U0IgaW50ZXJmYWNlcwoKIyBDT05GSUdfQ0FOX0RFQlVHX0RFVklDRVMgaXMgbm90IHNldAojIGVu ZCBvZiBDQU4gRGV2aWNlIERyaXZlcnMKCkNPTkZJR19CVD1tCkNPTkZJR19CVF9CUkVEUj15CkNP TkZJR19CVF9SRkNPTU09bQpDT05GSUdfQlRfUkZDT01NX1RUWT15CkNPTkZJR19CVF9CTkVQPW0K Q09ORklHX0JUX0JORVBfTUNfRklMVEVSPXkKQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSPXkK Q09ORklHX0JUX0hJRFA9bQpDT05GSUdfQlRfSFM9eQpDT05GSUdfQlRfTEU9eQojIENPTkZJR19C VF82TE9XUEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfTEVEUyBpcyBub3Qgc2V0CiMgQ09ORklH X0JUX01TRlRFWFQgaXMgbm90IHNldApDT05GSUdfQlRfREVCVUdGUz15CiMgQ09ORklHX0JUX1NF TEZURVNUIGlzIG5vdCBzZXQKCiMKIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJ R19CVF9IQ0lCVFVTQiBpcyBub3Qgc2V0CiMgQ09ORklHX0JUX0hDSUJUU0RJTyBpcyBub3Qgc2V0 CkNPTkZJR19CVF9IQ0lVQVJUPW0KQ09ORklHX0JUX0hDSVVBUlRfSDQ9eQpDT05GSUdfQlRfSENJ VUFSVF9CQ1NQPXkKQ09ORklHX0JUX0hDSVVBUlRfQVRIM0s9eQojIENPTkZJR19CVF9IQ0lVQVJU X0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRfSENJVUFSVF9BRzZYWCBpcyBub3Qgc2V0CiMg Q09ORklHX0JUX0hDSUJDTTIwM1ggaXMgbm90IHNldAojIENPTkZJR19CVF9IQ0lCUEExMFggaXMg bm90IHNldAojIENPTkZJR19CVF9IQ0lCRlVTQiBpcyBub3Qgc2V0CkNPTkZJR19CVF9IQ0lWSENJ PW0KQ09ORklHX0JUX01SVkw9bQojIENPTkZJR19CVF9NUlZMX1NESU8gaXMgbm90IHNldAojIENP TkZJR19CVF9NVEtTRElPIGlzIG5vdCBzZXQKIyBlbmQgb2YgQmx1ZXRvb3RoIGRldmljZSBkcml2 ZXJzCgojIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGX0tDTSBpcyBub3Qg c2V0CkNPTkZJR19TVFJFQU1fUEFSU0VSPXkKQ09ORklHX0ZJQl9SVUxFUz15CkNPTkZJR19XSVJF TEVTUz15CkNPTkZJR19DRkc4MDIxMT1tCiMgQ09ORklHX05MODAyMTFfVEVTVE1PREUgaXMgbm90 IHNldAojIENPTkZJR19DRkc4MDIxMV9ERVZFTE9QRVJfV0FSTklOR1MgaXMgbm90IHNldAojIENP TkZJR19DRkc4MDIxMV9DRVJUSUZJQ0FUSU9OX09OVVMgaXMgbm90IHNldApDT05GSUdfQ0ZHODAy MTFfUkVRVUlSRV9TSUdORURfUkVHREI9eQpDT05GSUdfQ0ZHODAyMTFfVVNFX0tFUk5FTF9SRUdE Ql9LRVlTPXkKQ09ORklHX0NGRzgwMjExX0RFRkFVTFRfUFM9eQojIENPTkZJR19DRkc4MDIxMV9E RUJVR0ZTIGlzIG5vdCBzZXQKQ09ORklHX0NGRzgwMjExX0NSREFfU1VQUE9SVD15CiMgQ09ORklH X0NGRzgwMjExX1dFWFQgaXMgbm90IHNldApDT05GSUdfTUFDODAyMTE9bQpDT05GSUdfTUFDODAy MTFfSEFTX1JDPXkKQ09ORklHX01BQzgwMjExX1JDX01JTlNUUkVMPXkKQ09ORklHX01BQzgwMjEx X1JDX0RFRkFVTFRfTUlOU1RSRUw9eQpDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0ibWluc3Ry ZWxfaHQiCiMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldApDT05GSUdfTUFDODAyMTFf TEVEUz15CkNPTkZJR19NQUM4MDIxMV9ERUJVR0ZTPXkKIyBDT05GSUdfTUFDODAyMTFfTUVTU0FH RV9UUkFDSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFDODAyMTFfREVCVUdfTUVOVSBpcyBub3Qg c2V0CkNPTkZJR19NQUM4MDIxMV9TVEFfSEFTSF9NQVhfU0laRT0wCkNPTkZJR19SRktJTEw9bQpD T05GSUdfUkZLSUxMX0xFRFM9eQpDT05GSUdfUkZLSUxMX0lOUFVUPXkKIyBDT05GSUdfUkZLSUxM X0dQSU8gaXMgbm90IHNldApDT05GSUdfTkVUXzlQPXkKQ09ORklHX05FVF85UF9WSVJUSU89eQoj IENPTkZJR19ORVRfOVBfWEVOIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUXzlQX0RFQlVHIGlzIG5v dCBzZXQKIyBDT05GSUdfQ0FJRiBpcyBub3Qgc2V0CkNPTkZJR19DRVBIX0xJQj1tCiMgQ09ORklH X0NFUEhfTElCX1BSRVRUWURFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0NFUEhfTElCX1VTRV9ETlNf UkVTT0xWRVI9eQojIENPTkZJR19ORkMgaXMgbm90IHNldApDT05GSUdfUFNBTVBMRT1tCkNPTkZJ R19ORVRfSUZFPW0KQ09ORklHX0xXVFVOTkVMPXkKQ09ORklHX0xXVFVOTkVMX0JQRj15CkNPTkZJ R19EU1RfQ0FDSEU9eQpDT05GSUdfR1JPX0NFTExTPXkKQ09ORklHX1NPQ0tfVkFMSURBVEVfWE1J VD15CkNPTkZJR19ORVRfU09DS19NU0c9eQpDT05GSUdfTkVUX0RFVkxJTks9eQpDT05GSUdfUEFH RV9QT09MPXkKQ09ORklHX0ZBSUxPVkVSPW0KQ09ORklHX0VUSFRPT0xfTkVUTElOSz15CkNPTkZJ R19IQVZFX0VCUEZfSklUPXkKCiMKIyBEZXZpY2UgRHJpdmVycwojCkNPTkZJR19IQVZFX0VJU0E9 eQojIENPTkZJR19FSVNBIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfUENJPXkKQ09ORklHX1BDST15 CkNPTkZJR19QQ0lfRE9NQUlOUz15CkNPTkZJR19QQ0lFUE9SVEJVUz15CkNPTkZJR19IT1RQTFVH X1BDSV9QQ0lFPXkKQ09ORklHX1BDSUVBRVI9eQpDT05GSUdfUENJRUFFUl9JTkpFQ1Q9bQpDT05G SUdfUENJRV9FQ1JDPXkKQ09ORklHX1BDSUVBU1BNPXkKQ09ORklHX1BDSUVBU1BNX0RFRkFVTFQ9 eQojIENPTkZJR19QQ0lFQVNQTV9QT1dFUlNBVkUgaXMgbm90IHNldAojIENPTkZJR19QQ0lFQVNQ TV9QT1dFUl9TVVBFUlNBVkUgaXMgbm90IHNldAojIENPTkZJR19QQ0lFQVNQTV9QRVJGT1JNQU5D RSBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFX1BNRT15CkNPTkZJR19QQ0lFX0RQQz15CiMgQ09ORklH X1BDSUVfUFRNIGlzIG5vdCBzZXQKIyBDT05GSUdfUENJRV9FRFIgaXMgbm90IHNldApDT05GSUdf UENJX01TST15CkNPTkZJR19QQ0lfTVNJX0lSUV9ET01BSU49eQpDT05GSUdfUENJX1FVSVJLUz15 CiMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9SRUFMTE9DX0VOQUJM RV9BVVRPIGlzIG5vdCBzZXQKQ09ORklHX1BDSV9TVFVCPXkKQ09ORklHX1BDSV9QRl9TVFVCPW0K IyBDT05GSUdfWEVOX1BDSURFVl9GUk9OVEVORCBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfQVRTPXkK Q09ORklHX1BDSV9MT0NLTEVTU19DT05GSUc9eQpDT05GSUdfUENJX0lPVj15CkNPTkZJR19QQ0lf UFJJPXkKQ09ORklHX1BDSV9QQVNJRD15CiMgQ09ORklHX1BDSV9QMlBETUEgaXMgbm90IHNldApD T05GSUdfUENJX0xBQkVMPXkKQ09ORklHX1BDSV9IWVBFUlY9bQojIENPTkZJR19QQ0lFX0JVU19U VU5FX09GRiBpcyBub3Qgc2V0CkNPTkZJR19QQ0lFX0JVU19ERUZBVUxUPXkKIyBDT05GSUdfUENJ RV9CVVNfU0FGRSBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSUVfQlVTX1BFUkZPUk1BTkNFIGlzIG5v dCBzZXQKIyBDT05GSUdfUENJRV9CVVNfUEVFUjJQRUVSIGlzIG5vdCBzZXQKQ09ORklHX0hPVFBM VUdfUENJPXkKQ09ORklHX0hPVFBMVUdfUENJX0FDUEk9eQpDT05GSUdfSE9UUExVR19QQ0lfQUNQ SV9JQk09bQojIENPTkZJR19IT1RQTFVHX1BDSV9DUENJIGlzIG5vdCBzZXQKQ09ORklHX0hPVFBM VUdfUENJX1NIUEM9eQoKIwojIFBDSSBjb250cm9sbGVyIGRyaXZlcnMKIwpDT05GSUdfVk1EPXkK Q09ORklHX1BDSV9IWVBFUlZfSU5URVJGQUNFPW0KCiMKIyBEZXNpZ25XYXJlIFBDSSBDb3JlIFN1 cHBvcnQKIwojIENPTkZJR19QQ0lFX0RXX1BMQVRfSE9TVCBpcyBub3Qgc2V0CiMgQ09ORklHX1BD SV9NRVNPTiBpcyBub3Qgc2V0CiMgZW5kIG9mIERlc2lnbldhcmUgUENJIENvcmUgU3VwcG9ydAoK IwojIE1vYml2ZWlsIFBDSWUgQ29yZSBTdXBwb3J0CiMKIyBlbmQgb2YgTW9iaXZlaWwgUENJZSBD b3JlIFN1cHBvcnQKCiMKIyBDYWRlbmNlIFBDSWUgY29udHJvbGxlcnMgc3VwcG9ydAojCiMgZW5k IG9mIENhZGVuY2UgUENJZSBjb250cm9sbGVycyBzdXBwb3J0CiMgZW5kIG9mIFBDSSBjb250cm9s bGVyIGRyaXZlcnMKCiMKIyBQQ0kgRW5kcG9pbnQKIwojIENPTkZJR19QQ0lfRU5EUE9JTlQgaXMg bm90IHNldAojIGVuZCBvZiBQQ0kgRW5kcG9pbnQKCiMKIyBQQ0kgc3dpdGNoIGNvbnRyb2xsZXIg ZHJpdmVycwojCiMgQ09ORklHX1BDSV9TV19TV0lUQ0hURUMgaXMgbm90IHNldAojIGVuZCBvZiBQ Q0kgc3dpdGNoIGNvbnRyb2xsZXIgZHJpdmVycwoKIyBDT05GSUdfQ1hMX0JVUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX1JBUElESU8gaXMgbm90IHNldAoK IwojIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKIwojIENPTkZJR19VRVZFTlRfSEVMUEVSIGlzIG5v dCBzZXQKQ09ORklHX0RFVlRNUEZTPXkKQ09ORklHX0RFVlRNUEZTX01PVU5UPXkKQ09ORklHX1NU QU5EQUxPTkU9eQpDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CgojCiMgRmlybXdhcmUg bG9hZGVyCiMKQ09ORklHX0ZXX0xPQURFUj15CkNPTkZJR19GV19MT0FERVJfUEFHRURfQlVGPXkK Q09ORklHX0VYVFJBX0ZJUk1XQVJFPSIiCkNPTkZJR19GV19MT0FERVJfVVNFUl9IRUxQRVI9eQoj IENPTkZJR19GV19MT0FERVJfVVNFUl9IRUxQRVJfRkFMTEJBQ0sgaXMgbm90IHNldAojIENPTkZJ R19GV19MT0FERVJfQ09NUFJFU1MgaXMgbm90IHNldApDT05GSUdfRldfQ0FDSEU9eQojIGVuZCBv ZiBGaXJtd2FyZSBsb2FkZXIKCkNPTkZJR19BTExPV19ERVZfQ09SRURVTVA9eQojIENPTkZJR19E RUJVR19EUklWRVIgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAoj IENPTkZJR19ERUJVR19URVNUX0RSSVZFUl9SRU1PVkUgaXMgbm90IHNldAojIENPTkZJR19URVNU X0FTWU5DX0RSSVZFUl9QUk9CRSBpcyBub3Qgc2V0CkNPTkZJR19TWVNfSFlQRVJWSVNPUj15CkNP TkZJR19HRU5FUklDX0NQVV9BVVRPUFJPQkU9eQpDT05GSUdfR0VORVJJQ19DUFVfVlVMTkVSQUJJ TElUSUVTPXkKQ09ORklHX1JFR01BUD15CkNPTkZJR19SRUdNQVBfSTJDPW0KQ09ORklHX1JFR01B UF9TUEk9bQpDT05GSUdfRE1BX1NIQVJFRF9CVUZGRVI9eQojIENPTkZJR19ETUFfRkVOQ0VfVFJB Q0UgaXMgbm90IHNldAojIGVuZCBvZiBHZW5lcmljIERyaXZlciBPcHRpb25zCgojCiMgQnVzIGRl dmljZXMKIwojIENPTkZJR19NSElfQlVTIGlzIG5vdCBzZXQKIyBlbmQgb2YgQnVzIGRldmljZXMK CkNPTkZJR19DT05ORUNUT1I9eQpDT05GSUdfUFJPQ19FVkVOVFM9eQojIENPTkZJR19HTlNTIGlz IG5vdCBzZXQKIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKIyBDT05GSUdfT0YgaXMgbm90IHNldApD T05GSUdfQVJDSF9NSUdIVF9IQVZFX1BDX1BBUlBPUlQ9eQpDT05GSUdfUEFSUE9SVD1tCkNPTkZJ R19QQVJQT1JUX1BDPW0KQ09ORklHX1BBUlBPUlRfU0VSSUFMPW0KIyBDT05GSUdfUEFSUE9SVF9Q Q19GSUZPIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFSUE9SVF9QQ19TVVBFUklPIGlzIG5vdCBzZXQK IyBDT05GSUdfUEFSUE9SVF9BWDg4Nzk2IGlzIG5vdCBzZXQKQ09ORklHX1BBUlBPUlRfMTI4ND15 CkNPTkZJR19QTlA9eQojIENPTkZJR19QTlBfREVCVUdfTUVTU0FHRVMgaXMgbm90IHNldAoKIwoj IFByb3RvY29scwojCkNPTkZJR19QTlBBQ1BJPXkKQ09ORklHX0JMS19ERVY9eQpDT05GSUdfQkxL X0RFVl9OVUxMX0JMSz1tCiMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldApDT05GSUdfQ0RS T009bQojIENPTkZJR19QQVJJREUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BDSUVTU0Rf TVRJUDMyWFggaXMgbm90IHNldApDT05GSUdfWlJBTT1tCkNPTkZJR19aUkFNX0RFRl9DT01QX0xa T1JMRT15CiMgQ09ORklHX1pSQU1fREVGX0NPTVBfTFpPIGlzIG5vdCBzZXQKQ09ORklHX1pSQU1f REVGX0NPTVA9Imx6by1ybGUiCkNPTkZJR19aUkFNX1dSSVRFQkFDSz15CiMgQ09ORklHX1pSQU1f TUVNT1JZX1RSQUNLSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9VTUVNIGlzIG5vdCBz ZXQKQ09ORklHX0JMS19ERVZfTE9PUD1tCkNPTkZJR19CTEtfREVWX0xPT1BfTUlOX0NPVU5UPTAK IyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9E UkJEIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfTkJEPW0KIyBDT05GSUdfQkxLX0RFVl9TWDgg aXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9SQU09bQpDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9 MTYKQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTYzODQKQ09ORklHX0NEUk9NX1BLVENEVkQ9bQpD T05GSUdfQ0RST01fUEtUQ0RWRF9CVUZGRVJTPTgKIyBDT05GSUdfQ0RST01fUEtUQ0RWRF9XQ0FD SEUgaXMgbm90IHNldAojIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldApDT05GSUdfWEVO X0JMS0RFVl9GUk9OVEVORD1tCkNPTkZJR19WSVJUSU9fQkxLPW0KQ09ORklHX0JMS19ERVZfUkJE PW0KIyBDT05GSUdfQkxLX0RFVl9SU1hYIGlzIG5vdCBzZXQKCiMKIyBOVk1FIFN1cHBvcnQKIwpD T05GSUdfTlZNRV9DT1JFPW0KQ09ORklHX0JMS19ERVZfTlZNRT1tCkNPTkZJR19OVk1FX01VTFRJ UEFUSD15CiMgQ09ORklHX05WTUVfSFdNT04gaXMgbm90IHNldApDT05GSUdfTlZNRV9GQUJSSUNT PW0KQ09ORklHX05WTUVfRkM9bQojIENPTkZJR19OVk1FX1RDUCBpcyBub3Qgc2V0CkNPTkZJR19O Vk1FX1RBUkdFVD1tCiMgQ09ORklHX05WTUVfVEFSR0VUX1BBU1NUSFJVIGlzIG5vdCBzZXQKQ09O RklHX05WTUVfVEFSR0VUX0xPT1A9bQpDT05GSUdfTlZNRV9UQVJHRVRfRkM9bQpDT05GSUdfTlZN RV9UQVJHRVRfRkNMT09QPW0KIyBDT05GSUdfTlZNRV9UQVJHRVRfVENQIGlzIG5vdCBzZXQKIyBl bmQgb2YgTlZNRSBTdXBwb3J0CgojCiMgTWlzYyBkZXZpY2VzCiMKQ09ORklHX1NFTlNPUlNfTElT M0xWMDJEPW0KIyBDT05GSUdfQUQ1MjVYX0RQT1QgaXMgbm90IHNldAojIENPTkZJR19EVU1NWV9J UlEgaXMgbm90IHNldAojIENPTkZJR19JQk1fQVNNIGlzIG5vdCBzZXQKIyBDT05GSUdfUEhBTlRP TSBpcyBub3Qgc2V0CkNPTkZJR19USUZNX0NPUkU9bQpDT05GSUdfVElGTV83WFgxPW0KIyBDT05G SUdfSUNTOTMyUzQwMSBpcyBub3Qgc2V0CkNPTkZJR19FTkNMT1NVUkVfU0VSVklDRVM9bQpDT05G SUdfU0dJX1hQPW0KQ09ORklHX0hQX0lMTz1tCkNPTkZJR19TR0lfR1JVPW0KIyBDT05GSUdfU0dJ X0dSVV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19BUERTOTgwMkFMUz1tCkNPTkZJR19JU0wyOTAw Mz1tCkNPTkZJR19JU0wyOTAyMD1tCkNPTkZJR19TRU5TT1JTX1RTTDI1NTA9bQpDT05GSUdfU0VO U09SU19CSDE3NzA9bQpDT05GSUdfU0VOU09SU19BUERTOTkwWD1tCiMgQ09ORklHX0hNQzYzNTIg aXMgbm90IHNldAojIENPTkZJR19EUzE2ODIgaXMgbm90IHNldApDT05GSUdfVk1XQVJFX0JBTExP T049bQojIENPTkZJR19MQVRUSUNFX0VDUDNfQ09ORklHIGlzIG5vdCBzZXQKIyBDT05GSUdfU1JB TSBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9FTkRQT0lOVF9URVNUIGlzIG5vdCBzZXQKIyBDT05G SUdfWElMSU5YX1NERkVDIGlzIG5vdCBzZXQKQ09ORklHX01JU0NfUlRTWD1tCkNPTkZJR19QVlBB TklDPXkKIyBDT05GSUdfQzJQT1JUIGlzIG5vdCBzZXQKCiMKIyBFRVBST00gc3VwcG9ydAojCiMg Q09ORklHX0VFUFJPTV9BVDI0IGlzIG5vdCBzZXQKIyBDT05GSUdfRUVQUk9NX0FUMjUgaXMgbm90 IHNldApDT05GSUdfRUVQUk9NX0xFR0FDWT1tCkNPTkZJR19FRVBST01fTUFYNjg3NT1tCkNPTkZJ R19FRVBST01fOTNDWDY9bQojIENPTkZJR19FRVBST01fOTNYWDQ2IGlzIG5vdCBzZXQKIyBDT05G SUdfRUVQUk9NX0lEVF84OUhQRVNYIGlzIG5vdCBzZXQKIyBDT05GSUdfRUVQUk9NX0VFMTAwNCBp cyBub3Qgc2V0CiMgZW5kIG9mIEVFUFJPTSBzdXBwb3J0CgpDT05GSUdfQ0I3MTBfQ09SRT1tCiMg Q09ORklHX0NCNzEwX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0NCNzEwX0RFQlVHX0FTU1VNUFRJ T05TPXkKCiMKIyBUZXhhcyBJbnN0cnVtZW50cyBzaGFyZWQgdHJhbnNwb3J0IGxpbmUgZGlzY2lw bGluZQojCiMgQ09ORklHX1RJX1NUIGlzIG5vdCBzZXQKIyBlbmQgb2YgVGV4YXMgSW5zdHJ1bWVu dHMgc2hhcmVkIHRyYW5zcG9ydCBsaW5lIGRpc2NpcGxpbmUKCkNPTkZJR19TRU5TT1JTX0xJUzNf STJDPW0KQ09ORklHX0FMVEVSQV9TVEFQTD1tCkNPTkZJR19JTlRFTF9NRUk9bQpDT05GSUdfSU5U RUxfTUVJX01FPW0KIyBDT05GSUdfSU5URUxfTUVJX1RYRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lO VEVMX01FSV9IRENQIGlzIG5vdCBzZXQKQ09ORklHX1ZNV0FSRV9WTUNJPW0KIyBDT05GSUdfR0VO V1FFIGlzIG5vdCBzZXQKIyBDT05GSUdfRUNITyBpcyBub3Qgc2V0CiMgQ09ORklHX0JDTV9WSyBp cyBub3Qgc2V0CiMgQ09ORklHX01JU0NfQUxDT1JfUENJIGlzIG5vdCBzZXQKQ09ORklHX01JU0Nf UlRTWF9QQ0k9bQojIENPTkZJR19NSVNDX1JUU1hfVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfSEFC QU5BX0FJIGlzIG5vdCBzZXQKIyBDT05GSUdfVUFDQ0UgaXMgbm90IHNldAojIGVuZCBvZiBNaXNj IGRldmljZXMKCkNPTkZJR19IQVZFX0lERT15CiMgQ09ORklHX0lERSBpcyBub3Qgc2V0CgojCiMg U0NTSSBkZXZpY2Ugc3VwcG9ydAojCkNPTkZJR19TQ1NJX01PRD15CkNPTkZJR19SQUlEX0FUVFJT PW0KQ09ORklHX1NDU0k9eQpDT05GSUdfU0NTSV9ETUE9eQpDT05GSUdfU0NTSV9ORVRMSU5LPXkK Q09ORklHX1NDU0lfUFJPQ19GUz15CgojCiMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUs IENELVJPTSkKIwpDT05GSUdfQkxLX0RFVl9TRD1tCkNPTkZJR19DSFJfREVWX1NUPW0KQ09ORklH X0JMS19ERVZfU1I9bQpDT05GSUdfQ0hSX0RFVl9TRz1tCkNPTkZJR19DSFJfREVWX1NDSD1tCkNP TkZJR19TQ1NJX0VOQ0xPU1VSRT1tCkNPTkZJR19TQ1NJX0NPTlNUQU5UUz15CkNPTkZJR19TQ1NJ X0xPR0dJTkc9eQpDT05GSUdfU0NTSV9TQ0FOX0FTWU5DPXkKCiMKIyBTQ1NJIFRyYW5zcG9ydHMK IwpDT05GSUdfU0NTSV9TUElfQVRUUlM9bQpDT05GSUdfU0NTSV9GQ19BVFRSUz1tCkNPTkZJR19T Q1NJX0lTQ1NJX0FUVFJTPW0KQ09ORklHX1NDU0lfU0FTX0FUVFJTPW0KQ09ORklHX1NDU0lfU0FT X0xJQlNBUz1tCkNPTkZJR19TQ1NJX1NBU19BVEE9eQpDT05GSUdfU0NTSV9TQVNfSE9TVF9TTVA9 eQpDT05GSUdfU0NTSV9TUlBfQVRUUlM9bQojIGVuZCBvZiBTQ1NJIFRyYW5zcG9ydHMKCkNPTkZJ R19TQ1NJX0xPV0xFVkVMPXkKIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKIyBDT05GSUdf SVNDU0lfQk9PVF9TWVNGUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQ1hHQjNfSVNDU0kgaXMg bm90IHNldAojIENPTkZJR19TQ1NJX0NYR0I0X0lTQ1NJIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NT SV9CTlgyX0lTQ1NJIGlzIG5vdCBzZXQKIyBDT05GSUdfQkUySVNDU0kgaXMgbm90IHNldAojIENP TkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSFBTQSBp cyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf M1dfU0FTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BQ0FSRCBpcyBub3Qgc2V0CiMgQ09ORklH X1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUlDOTRYWCBp cyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01W VU1JIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKIyBDT05GSUdf U0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQK IyBDT05GSUdfU0NTSV9FU0FTMlIgaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9ORVdHRU4g aXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAojIENPTkZJR19N RUdBUkFJRF9TQVMgaXMgbm90IHNldApDT05GSUdfU0NTSV9NUFQzU0FTPW0KQ09ORklHX1NDU0lf TVBUMlNBU19NQVhfU0dFPTEyOApDT05GSUdfU0NTSV9NUFQzU0FTX01BWF9TR0U9MTI4CiMgQ09O RklHX1NDU0lfTVBUMlNBUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfU01BUlRQUUkgaXMgbm90 IHNldAojIENPTkZJR19TQ1NJX1VGU0hDRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSFBUSU9Q IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfTVlSQiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfTVlSUyBpcyBub3Qgc2V0CiMgQ09ORklH X1ZNV0FSRV9QVlNDU0kgaXMgbm90IHNldAojIENPTkZJR19YRU5fU0NTSV9GUk9OVEVORCBpcyBu b3Qgc2V0CkNPTkZJR19IWVBFUlZfU1RPUkFHRT1tCiMgQ09ORklHX0xJQkZDIGlzIG5vdCBzZXQK IyBDT05GSUdfU0NTSV9TTklDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NDU0lfRkRPTUFJTl9QQ0kgaXMgbm90IHNldApDT05GSUdfU0NTSV9J U0NJPW0KIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0lOSVRJTyBp cyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf UFBBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JTU0gaXMgbm90IHNldAojIENPTkZJR19TQ1NJ X1NURVggaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKIyBD T05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1FMT0dJQ18xMjgwIGlzIG5v dCBzZXQKIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1FMQV9J U0NTSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfTFBGQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfREMzOTV4IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BTTUzQzk3NCBpcyBub3Qgc2V0CiMg Q09ORklHX1NDU0lfV0Q3MTlYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qg c2V0CiMgQ09ORklHX1NDU0lfUE1DUkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUE04MDAx IGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9CRkFfRkMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJ X1ZJUlRJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQ0hFTFNJT19GQ09FIGlzIG5vdCBzZXQK Q09ORklHX1NDU0lfREg9eQpDT05GSUdfU0NTSV9ESF9SREFDPXkKQ09ORklHX1NDU0lfREhfSFBf U1c9eQpDT05GSUdfU0NTSV9ESF9FTUM9eQpDT05GSUdfU0NTSV9ESF9BTFVBPXkKIyBlbmQgb2Yg U0NTSSBkZXZpY2Ugc3VwcG9ydAoKQ09ORklHX0FUQT1tCkNPTkZJR19TQVRBX0hPU1Q9eQpDT05G SUdfUEFUQV9USU1JTkdTPXkKQ09ORklHX0FUQV9WRVJCT1NFX0VSUk9SPXkKQ09ORklHX0FUQV9G T1JDRT15CkNPTkZJR19BVEFfQUNQST15CiMgQ09ORklHX1NBVEFfWlBPREQgaXMgbm90IHNldApD T05GSUdfU0FUQV9QTVA9eQoKIwojIENvbnRyb2xsZXJzIHdpdGggbm9uLVNGRiBuYXRpdmUgaW50 ZXJmYWNlCiMKQ09ORklHX1NBVEFfQUhDST1tCkNPTkZJR19TQVRBX01PQklMRV9MUE1fUE9MSUNZ PTAKQ09ORklHX1NBVEFfQUhDSV9QTEFURk9STT1tCiMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMg bm90IHNldAojIENPTkZJR19TQVRBX0FDQVJEX0FIQ0kgaXMgbm90IHNldAojIENPTkZJR19TQVRB X1NJTDI0IGlzIG5vdCBzZXQKQ09ORklHX0FUQV9TRkY9eQoKIwojIFNGRiBjb250cm9sbGVycyB3 aXRoIGN1c3RvbSBETUEgaW50ZXJmYWNlCiMKIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAoj IENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNl dApDT05GSUdfQVRBX0JNRE1BPXkKCiMKIyBTQVRBIFNGRiBjb250cm9sbGVycyB3aXRoIEJNRE1B CiMKQ09ORklHX0FUQV9QSUlYPW0KIyBDT05GSUdfU0FUQV9EV0MgaXMgbm90IHNldAojIENPTkZJ R19TQVRBX01WIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CiMgQ09ORklH X1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKIyBD T05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CiMg Q09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9WSUEgaXMgbm90IHNldAoj IENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAoKIwojIFBBVEEgU0ZGIGNvbnRyb2xsZXJz IHdpdGggQk1ETUEKIwojIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf QU1EIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX1BB VEFfQVRJSVhQIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9BVFA4NjdYIGlzIG5vdCBzZXQKIyBD T05GSUdfUEFUQV9DTUQ2NFggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90 IHNldAojIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDM2NiBp cyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9I UFQzWDJOIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9IUFQzWDMgaXMgbm90IHNldAojIENPTkZJ R19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQK IyBDT05GSUdfUEFUQV9KTUlDUk9OIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlz IG5vdCBzZXQKIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9O SU5KQTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKIyBDT05G SUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUERDX09M RCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BB VEFfUkRDIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TQ0ggaXMgbm90IHNldAojIENPTkZJR19Q QVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMgbm90IHNl dAojIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVE9TSElCQSBpcyBu b3Qgc2V0CiMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVklB IGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKCiMKIyBQSU8tb25s eSBTRkYgY29udHJvbGxlcnMKIwojIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldAoj IENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5v dCBzZXQKIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9QTEFURk9S TSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKCiMKIyBHZW5lcmlj IGZhbGxiYWNrIC8gbGVnYWN5IGRyaXZlcnMKIwojIENPTkZJR19QQVRBX0FDUEkgaXMgbm90IHNl dApDT05GSUdfQVRBX0dFTkVSSUM9bQojIENPTkZJR19QQVRBX0xFR0FDWSBpcyBub3Qgc2V0CkNP TkZJR19NRD15CkNPTkZJR19CTEtfREVWX01EPXkKQ09ORklHX01EX0FVVE9ERVRFQ1Q9eQpDT05G SUdfTURfTElORUFSPW0KQ09ORklHX01EX1JBSUQwPW0KQ09ORklHX01EX1JBSUQxPW0KQ09ORklH X01EX1JBSUQxMD1tCkNPTkZJR19NRF9SQUlENDU2PW0KIyBDT05GSUdfTURfTVVMVElQQVRIIGlz IG5vdCBzZXQKQ09ORklHX01EX0ZBVUxUWT1tCkNPTkZJR19NRF9DTFVTVEVSPW0KIyBDT05GSUdf QkNBQ0hFIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfRE1fQlVJTFRJTj15CkNPTkZJR19CTEtf REVWX0RNPW0KQ09ORklHX0RNX0RFQlVHPXkKQ09ORklHX0RNX0JVRklPPW0KIyBDT05GSUdfRE1f REVCVUdfQkxPQ0tfTUFOQUdFUl9MT0NLSU5HIGlzIG5vdCBzZXQKQ09ORklHX0RNX0JJT19QUklT T049bQpDT05GSUdfRE1fUEVSU0lTVEVOVF9EQVRBPW0KIyBDT05GSUdfRE1fVU5TVFJJUEVEIGlz IG5vdCBzZXQKQ09ORklHX0RNX0NSWVBUPW0KQ09ORklHX0RNX1NOQVBTSE9UPW0KQ09ORklHX0RN X1RISU5fUFJPVklTSU9OSU5HPW0KQ09ORklHX0RNX0NBQ0hFPW0KQ09ORklHX0RNX0NBQ0hFX1NN UT1tCkNPTkZJR19ETV9XUklURUNBQ0hFPW0KIyBDT05GSUdfRE1fRUJTIGlzIG5vdCBzZXQKQ09O RklHX0RNX0VSQT1tCiMgQ09ORklHX0RNX0NMT05FIGlzIG5vdCBzZXQKQ09ORklHX0RNX01JUlJP Uj1tCkNPTkZJR19ETV9MT0dfVVNFUlNQQUNFPW0KQ09ORklHX0RNX1JBSUQ9bQpDT05GSUdfRE1f WkVSTz1tCkNPTkZJR19ETV9NVUxUSVBBVEg9bQpDT05GSUdfRE1fTVVMVElQQVRIX1FMPW0KQ09O RklHX0RNX01VTFRJUEFUSF9TVD1tCiMgQ09ORklHX0RNX01VTFRJUEFUSF9IU1QgaXMgbm90IHNl dAojIENPTkZJR19ETV9NVUxUSVBBVEhfSU9BIGlzIG5vdCBzZXQKQ09ORklHX0RNX0RFTEFZPW0K IyBDT05GSUdfRE1fRFVTVCBpcyBub3Qgc2V0CkNPTkZJR19ETV9VRVZFTlQ9eQpDT05GSUdfRE1f RkxBS0VZPW0KQ09ORklHX0RNX1ZFUklUWT1tCiMgQ09ORklHX0RNX1ZFUklUWV9WRVJJRllfUk9P VEhBU0hfU0lHIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1fVkVSSVRZX0ZFQyBpcyBub3Qgc2V0CkNP TkZJR19ETV9TV0lUQ0g9bQpDT05GSUdfRE1fTE9HX1dSSVRFUz1tCkNPTkZJR19ETV9JTlRFR1JJ VFk9bQpDT05GSUdfVEFSR0VUX0NPUkU9bQpDT05GSUdfVENNX0lCTE9DSz1tCkNPTkZJR19UQ01f RklMRUlPPW0KQ09ORklHX1RDTV9QU0NTST1tCkNPTkZJR19UQ01fVVNFUjI9bQpDT05GSUdfTE9P UEJBQ0tfVEFSR0VUPW0KQ09ORklHX0lTQ1NJX1RBUkdFVD1tCiMgQ09ORklHX1NCUF9UQVJHRVQg aXMgbm90IHNldAojIENPTkZJR19GVVNJT04gaXMgbm90IHNldAoKIwojIElFRUUgMTM5NCAoRmly ZVdpcmUpIHN1cHBvcnQKIwpDT05GSUdfRklSRVdJUkU9bQpDT05GSUdfRklSRVdJUkVfT0hDST1t CkNPTkZJR19GSVJFV0lSRV9TQlAyPW0KQ09ORklHX0ZJUkVXSVJFX05FVD1tCiMgQ09ORklHX0ZJ UkVXSVJFX05PU1kgaXMgbm90IHNldAojIGVuZCBvZiBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBw b3J0CgpDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQpDT05GSUdfTUFDX0VNVU1PVVNFQlROPXkK Q09ORklHX05FVERFVklDRVM9eQpDT05GSUdfTUlJPXkKQ09ORklHX05FVF9DT1JFPXkKIyBDT05G SUdfQk9ORElORyBpcyBub3Qgc2V0CkNPTkZJR19EVU1NWT15CiMgQ09ORklHX1dJUkVHVUFSRCBp cyBub3Qgc2V0CiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9GQyBp cyBub3Qgc2V0CkNPTkZJR19JRkI9eQojIENPTkZJR19ORVRfVEVBTSBpcyBub3Qgc2V0CiMgQ09O RklHX01BQ1ZMQU4gaXMgbm90IHNldAojIENPTkZJR19JUFZMQU4gaXMgbm90IHNldApDT05GSUdf VlhMQU49eQpDT05GSUdfR0VORVZFPXkKQ09ORklHX0JBUkVVRFA9bQojIENPTkZJR19HVFAgaXMg bm90IHNldApDT05GSUdfTUFDU0VDPXkKQ09ORklHX05FVENPTlNPTEU9bQpDT05GSUdfTkVUQ09O U09MRV9EWU5BTUlDPXkKQ09ORklHX05FVFBPTEw9eQpDT05GSUdfTkVUX1BPTExfQ09OVFJPTExF Uj15CkNPTkZJR19UVU49bQojIENPTkZJR19UVU5fVk5FVF9DUk9TU19MRSBpcyBub3Qgc2V0CkNP TkZJR19WRVRIPXkKQ09ORklHX1ZJUlRJT19ORVQ9bQojIENPTkZJR19OTE1PTiBpcyBub3Qgc2V0 CkNPTkZJR19ORVRfVlJGPXkKIyBDT05GSUdfVlNPQ0tNT04gaXMgbm90IHNldAojIENPTkZJR19B UkNORVQgaXMgbm90IHNldApDT05GSUdfQVRNX0RSSVZFUlM9eQojIENPTkZJR19BVE1fRFVNTVkg aXMgbm90IHNldAojIENPTkZJR19BVE1fVENQIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNX0xBTkFJ IGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNX0VOSSBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTV9GSVJF U1RSRUFNIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNX1pBVE0gaXMgbm90IHNldAojIENPTkZJR19B VE1fTklDU1RBUiBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTV9JRFQ3NzI1MiBpcyBub3Qgc2V0CiMg Q09ORklHX0FUTV9BTUJBU1NBRE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRNX0hPUklaT04gaXMg bm90IHNldAojIENPTkZJR19BVE1fSUEgaXMgbm90IHNldAojIENPTkZJR19BVE1fRk9SRTIwMEUg aXMgbm90IHNldAojIENPTkZJR19BVE1fSEUgaXMgbm90IHNldAojIENPTkZJR19BVE1fU09MT1Mg aXMgbm90IHNldAoKIwojIERpc3RyaWJ1dGVkIFN3aXRjaCBBcmNoaXRlY3R1cmUgZHJpdmVycwoj CiMgQ09ORklHX05FVF9EU0FfTVY4OEU2WFhYX1BUUCBpcyBub3Qgc2V0CiMgZW5kIG9mIERpc3Ry aWJ1dGVkIFN3aXRjaCBBcmNoaXRlY3R1cmUgZHJpdmVycwoKQ09ORklHX0VUSEVSTkVUPXkKQ09O RklHX01ESU89eQpDT05GSUdfTkVUX1ZFTkRPUl8zQ09NPXkKIyBDT05GSUdfVk9SVEVYIGlzIG5v dCBzZXQKIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0FEQVBU RUM9eQojIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5E T1JfQUdFUkU9eQojIENPTkZJR19FVDEzMVggaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9B TEFDUklURUNIPXkKIyBDT05GSUdfU0xJQ09TUyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9S X0FMVEVPTj15CiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0FMVEVSQV9UU0Ug aXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9BTUFaT049eQojIENPTkZJR19FTkFfRVRIRVJO RVQgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9BTUQ9eQojIENPTkZJR19BTUQ4MTExX0VU SCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAojIENPTkZJR19BTURfWEdC RSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0FRVUFOVElBPXkKIyBDT05GSUdfQVFUSU9O IGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfQVJDPXkKQ09ORklHX05FVF9WRU5ET1JfQVRI RVJPUz15CiMgQ09ORklHX0FUTDIgaXMgbm90IHNldAojIENPTkZJR19BVEwxIGlzIG5vdCBzZXQK IyBDT05GSUdfQVRMMUUgaXMgbm90IHNldAojIENPTkZJR19BVEwxQyBpcyBub3Qgc2V0CiMgQ09O RklHX0FMWCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0JST0FEQ09NPXkKIyBDT05GSUdf QjQ0IGlzIG5vdCBzZXQKIyBDT05GSUdfQkNNR0VORVQgaXMgbm90IHNldAojIENPTkZJR19CTlgy IGlzIG5vdCBzZXQKIyBDT05GSUdfQ05JQyBpcyBub3Qgc2V0CiMgQ09ORklHX1RJR09OMyBpcyBu b3Qgc2V0CiMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lTVEVNUE9SVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0JOWFQgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9CUk9DQURF PXkKIyBDT05GSUdfQk5BIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfQ0FERU5DRT15CiMg Q09ORklHX01BQ0IgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9DQVZJVU09eQojIENPTkZJ R19USFVOREVSX05JQ19QRiBpcyBub3Qgc2V0CiMgQ09ORklHX1RIVU5ERVJfTklDX1ZGIGlzIG5v dCBzZXQKIyBDT05GSUdfVEhVTkRFUl9OSUNfQkdYIGlzIG5vdCBzZXQKIyBDT05GSUdfVEhVTkRF Ul9OSUNfUkdYIGlzIG5vdCBzZXQKQ09ORklHX0NBVklVTV9QVFA9eQojIENPTkZJR19MSVFVSURJ TyBpcyBub3Qgc2V0CiMgQ09ORklHX0xJUVVJRElPX1ZGIGlzIG5vdCBzZXQKQ09ORklHX05FVF9W RU5ET1JfQ0hFTFNJTz15CiMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAojIENPTkZJR19D SEVMU0lPX1QzIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hFTFNJT19UNCBpcyBub3Qgc2V0CiMgQ09O RklHX0NIRUxTSU9fVDRWRiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0NJU0NPPXkKIyBD T05GSUdfRU5JQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0NPUlRJTkE9eQojIENPTkZJ R19DWF9FQ0FUIGlzIG5vdCBzZXQKIyBDT05GSUdfRE5FVCBpcyBub3Qgc2V0CkNPTkZJR19ORVRf VkVORE9SX0RFQz15CiMgQ09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVO RE9SX0RMSU5LPXkKIyBDT05GSUdfREwySyBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkRBTkNFIGlz IG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRU1VTEVYPXkKIyBDT05GSUdfQkUyTkVUIGlzIG5v dCBzZXQKQ09ORklHX05FVF9WRU5ET1JfRVpDSElQPXkKQ09ORklHX05FVF9WRU5ET1JfR09PR0xF PXkKIyBDT05GSUdfR1ZFIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfSFVBV0VJPXkKIyBD T05GSUdfSElOSUMgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9JODI1WFg9eQpDT05GSUdf TkVUX1ZFTkRPUl9JTlRFTD15CiMgQ09ORklHX0UxMDAgaXMgbm90IHNldApDT05GSUdfRTEwMDA9 eQpDT05GSUdfRTEwMDBFPXkKQ09ORklHX0UxMDAwRV9IV1RTPXkKQ09ORklHX0lHQj15CkNPTkZJ R19JR0JfSFdNT049eQojIENPTkZJR19JR0JWRiBpcyBub3Qgc2V0CiMgQ09ORklHX0lYR0IgaXMg bm90IHNldApDT05GSUdfSVhHQkU9eQpDT05GSUdfSVhHQkVfSFdNT049eQojIENPTkZJR19JWEdC RV9EQ0IgaXMgbm90IHNldApDT05GSUdfSVhHQkVfSVBTRUM9eQojIENPTkZJR19JWEdCRVZGIGlz IG5vdCBzZXQKQ09ORklHX0k0MEU9eQojIENPTkZJR19JNDBFX0RDQiBpcyBub3Qgc2V0CiMgQ09O RklHX0k0MEVWRiBpcyBub3Qgc2V0CiMgQ09ORklHX0lDRSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZN MTBLIGlzIG5vdCBzZXQKIyBDT05GSUdfSUdDIGlzIG5vdCBzZXQKIyBDT05GSUdfSk1FIGlzIG5v dCBzZXQKQ09ORklHX05FVF9WRU5ET1JfTUFSVkVMTD15CiMgQ09ORklHX01WTURJTyBpcyBub3Qg c2V0CiMgQ09ORklHX1NLR0UgaXMgbm90IHNldAojIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKIyBD T05GSUdfUFJFU1RFUkEgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9NRUxMQU5PWD15CiMg Q09ORklHX01MWDRfRU4gaXMgbm90IHNldAojIENPTkZJR19NTFg1X0NPUkUgaXMgbm90IHNldAoj IENPTkZJR19NTFhTV19DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUxYRlcgaXMgbm90IHNldApD T05GSUdfTkVUX1ZFTkRPUl9NSUNSRUw9eQojIENPTkZJR19LUzg4NDIgaXMgbm90IHNldAojIENP TkZJR19LUzg4NTEgaXMgbm90IHNldAojIENPTkZJR19LUzg4NTFfTUxMIGlzIG5vdCBzZXQKIyBD T05GSUdfS1NaODg0WF9QQ0kgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl9NSUNST0NISVA9 eQojIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CiMgQ09ORklHX0VOQ1gyNEo2MDAgaXMgbm90 IHNldAojIENPTkZJR19MQU43NDNYIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfTUlDUk9T RU1JPXkKQ09ORklHX05FVF9WRU5ET1JfTVlSST15CiMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBz ZXQKIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfTkFUU0VNST15 CiMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAojIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQK Q09ORklHX05FVF9WRU5ET1JfTkVURVJJT049eQojIENPTkZJR19TMklPIGlzIG5vdCBzZXQKIyBD T05GSUdfVlhHRSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX05FVFJPTk9NRT15CiMgQ09O RklHX05GUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX05JPXkKIyBDT05GSUdfTklfWEdF X01BTkFHRU1FTlRfRU5FVCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SXzgzOTA9eQojIENP TkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX05WSURJQT15CiMgQ09O RklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX09LST15CiMgQ09ORklH X0VUSE9DIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfUEFDS0VUX0VOR0lORVM9eQojIENP TkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKQ09O RklHX05FVF9WRU5ET1JfUEVOU0FORE89eQojIENPTkZJR19JT05JQyBpcyBub3Qgc2V0CkNPTkZJ R19ORVRfVkVORE9SX1FMT0dJQz15CiMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAojIENPTkZJ R19RTENOSUMgaXMgbm90IHNldAojIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKIyBDT05G SUdfUUVEIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfUVVBTENPTU09eQojIENPTkZJR19R Q09NX0VNQUMgaXMgbm90IHNldAojIENPTkZJR19STU5FVCBpcyBub3Qgc2V0CkNPTkZJR19ORVRf VkVORE9SX1JEQz15CiMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1Jf UkVBTFRFSz15CiMgQ09ORklHX0FUUCBpcyBub3Qgc2V0CiMgQ09ORklHXzgxMzlDUCBpcyBub3Qg c2V0CiMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldApDT05GSUdfUjgxNjk9eQpDT05GSUdfTkVU X1ZFTkRPUl9SRU5FU0FTPXkKQ09ORklHX05FVF9WRU5ET1JfUk9DS0VSPXkKIyBDT05GSUdfUk9D S0VSIGlzIG5vdCBzZXQKQ09ORklHX05FVF9WRU5ET1JfU0FNU1VORz15CiMgQ09ORklHX1NYR0JF X0VUSCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NFRVE9eQpDT05GSUdfTkVUX1ZFTkRP Ul9TT0xBUkZMQVJFPXkKIyBDT05GSUdfU0ZDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0ZDX0ZBTENP TiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NJTEFOPXkKIyBDT05GSUdfU0M5MjAzMSBp cyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NJUz15CiMgQ09ORklHX1NJUzkwMCBpcyBub3Qg c2V0CiMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NNU0M9eQoj IENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfU01TQzkxMVggaXMgbm90IHNldAoj IENPTkZJR19TTVNDOTQyMCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NPQ0lPTkVYVD15 CkNPTkZJR19ORVRfVkVORE9SX1NUTUlDUk89eQojIENPTkZJR19TVE1NQUNfRVRIIGlzIG5vdCBz ZXQKQ09ORklHX05FVF9WRU5ET1JfU1VOPXkKIyBDT05GSUdfSEFQUFlNRUFMIGlzIG5vdCBzZXQK IyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiMg Q09ORklHX05JVSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1NZTk9QU1lTPXkKIyBDT05G SUdfRFdDX1hMR01BQyBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1RFSFVUST15CiMgQ09O RklHX1RFSFVUSSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1RJPXkKIyBDT05GSUdfVElf Q1BTV19QSFlfU0VMIGlzIG5vdCBzZXQKIyBDT05GSUdfVExBTiBpcyBub3Qgc2V0CkNPTkZJR19O RVRfVkVORE9SX1ZJQT15CiMgQ09ORklHX1ZJQV9SSElORSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJ QV9WRUxPQ0lUWSBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX1dJWk5FVD15CiMgQ09ORklH X1dJWk5FVF9XNTEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1dJWk5FVF9XNTMwMCBpcyBub3Qgc2V0 CkNPTkZJR19ORVRfVkVORE9SX1hJTElOWD15CiMgQ09ORklHX1hJTElOWF9FTUFDTElURSBpcyBu b3Qgc2V0CiMgQ09ORklHX1hJTElOWF9BWElfRU1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX1hJTElO WF9MTF9URU1BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZEREkgaXMgbm90IHNldAojIENPTkZJR19I SVBQSSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldApDT05GSUdfUEhZ TElCPXkKIyBDT05GSUdfTEVEX1RSSUdHRVJfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfRklYRURf UEhZIGlzIG5vdCBzZXQKCiMKIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfQU1E X1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0FESU5fUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfQVFV QU5USUFfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfQVg4ODc5NkJfUEhZIGlzIG5vdCBzZXQKIyBD T05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfQkNNNTQxNDBfUEhZIGlzIG5v dCBzZXQKIyBDT05GSUdfQkNNN1hYWF9QSFkgaXMgbm90IHNldAojIENPTkZJR19CQ004NDg4MV9Q SFkgaXMgbm90IHNldAojIENPTkZJR19CQ004N1hYX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0NJ Q0FEQV9QSFkgaXMgbm90IHNldAojIENPTkZJR19DT1JUSU5BX1BIWSBpcyBub3Qgc2V0CiMgQ09O RklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0 CiMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAojIENPTkZJR19JTlRFTF9YV0FZX1BIWSBpcyBu b3Qgc2V0CiMgQ09ORklHX0xTSV9FVDEwMTFDX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX01BUlZF TExfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFSVkVMTF8xMEdfUEhZIGlzIG5vdCBzZXQKIyBD T05GSUdfTUlDUkVMX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX01JQ1JPQ0hJUF9QSFkgaXMgbm90 IHNldAojIENPTkZJR19NSUNST0NISVBfVDFfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUk9T RU1JX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX05BVElPTkFMX1BIWSBpcyBub3Qgc2V0CiMgQ09O RklHX05YUF9USkExMVhYX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qg c2V0CkNPTkZJR19SRUFMVEVLX1BIWT15CiMgQ09ORklHX1JFTkVTQVNfUEhZIGlzIG5vdCBzZXQK IyBDT05GSUdfUk9DS0NISVBfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfU01TQ19QSFkgaXMgbm90 IHNldAojIENPTkZJR19TVEUxMFhQIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVSQU5FVElDU19QSFkg aXMgbm90IHNldAojIENPTkZJR19EUDgzODIyX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0RQODNU QzgxMV9QSFkgaXMgbm90IHNldAojIENPTkZJR19EUDgzODQ4X1BIWSBpcyBub3Qgc2V0CiMgQ09O RklHX0RQODM4NjdfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfRFA4Mzg2OV9QSFkgaXMgbm90IHNl dAojIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1hJTElOWF9HTUlJMlJH TUlJIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUkVMX0tTODk5NU1BIGlzIG5vdCBzZXQKQ09ORklH X01ESU9fREVWSUNFPXkKQ09ORklHX01ESU9fQlVTPXkKQ09ORklHX01ESU9fREVWUkVTPXkKIyBD T05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfTURJT19CQ01fVU5JTUFDIGlz IG5vdCBzZXQKIyBDT05GSUdfTURJT19NVlVTQiBpcyBub3Qgc2V0CiMgQ09ORklHX01ESU9fTVND Q19NSUlNIGlzIG5vdCBzZXQKIyBDT05GSUdfTURJT19USFVOREVSIGlzIG5vdCBzZXQKCiMKIyBN RElPIE11bHRpcGxleGVycwojCgojCiMgUENTIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfUENT X1hQQ1MgaXMgbm90IHNldAojIGVuZCBvZiBQQ1MgZGV2aWNlIGRyaXZlcnMKCiMgQ09ORklHX1BM SVAgaXMgbm90IHNldAojIENPTkZJR19QUFAgaXMgbm90IHNldAojIENPTkZJR19TTElQIGlzIG5v dCBzZXQKQ09ORklHX1VTQl9ORVRfRFJJVkVSUz15CiMgQ09ORklHX1VTQl9DQVRDIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9QRUdBU1VTIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldApDT05GSUdfVVNCX1JUTDgx NTI9eQojIENPTkZJR19VU0JfTEFONzhYWCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfVVNCTkVUPXkK Q09ORklHX1VTQl9ORVRfQVg4ODE3WD15CkNPTkZJR19VU0JfTkVUX0FYODgxNzlfMTc4QT15CiMg Q09ORklHX1VTQl9ORVRfQ0RDRVRIRVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX0NEQ19F RU0gaXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX0NEQ19OQ00gaXMgbm90IHNldAojIENPTkZJ R19VU0JfTkVUX0hVQVdFSV9DRENfTkNNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9DRENf TUJJTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfRE05NjAxIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX05FVF9TUjk3MDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX1NSOTgwMCBpcyBu b3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfU01TQzc1WFggaXMgbm90IHNldAojIENPTkZJR19VU0Jf TkVUX1NNU0M5NVhYIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9HTDYyMEEgaXMgbm90IHNl dAojIENPTkZJR19VU0JfTkVUX05FVDEwODAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX1BM VVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9NQ1M3ODMwIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX05FVF9STkRJU19IT1NUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9DRENfU1VC U0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9aQVVSVVMgaXMgbm90IHNldAojIENPTkZJ R19VU0JfTkVUX0NYODIzMTBfRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9LQUxNSUEg aXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX1FNSV9XV0FOIGlzIG5vdCBzZXQKIyBDT05GSUdf VVNCX0hTTyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfSU5UNTFYMSBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9JUEhFVEggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0lFUlJBX05FVCBpcyBu b3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfQ0g5MjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05F VF9BUUMxMTEgaXMgbm90IHNldApDT05GSUdfV0xBTj15CkNPTkZJR19XTEFOX1ZFTkRPUl9BRE1U RUs9eQojIENPTkZJR19BRE04MjExIGlzIG5vdCBzZXQKQ09ORklHX1dMQU5fVkVORE9SX0FUSD15 CiMgQ09ORklHX0FUSF9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX0FUSDVLIGlzIG5vdCBzZXQK IyBDT05GSUdfQVRINUtfUENJIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRIOUsgaXMgbm90IHNldAoj IENPTkZJR19BVEg5S19IVEMgaXMgbm90IHNldAojIENPTkZJR19DQVJMOTE3MCBpcyBub3Qgc2V0 CiMgQ09ORklHX0FUSDZLTCBpcyBub3Qgc2V0CiMgQ09ORklHX0FSNTUyMyBpcyBub3Qgc2V0CiMg Q09ORklHX1dJTDYyMTAgaXMgbm90IHNldAojIENPTkZJR19BVEgxMEsgaXMgbm90IHNldAojIENP TkZJR19XQ04zNlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRIMTFLIGlzIG5vdCBzZXQKQ09ORklH X1dMQU5fVkVORE9SX0FUTUVMPXkKIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAojIENPTkZJR19B VDc2QzUwWF9VU0IgaXMgbm90IHNldApDT05GSUdfV0xBTl9WRU5ET1JfQlJPQURDT009eQojIENP TkZJR19CNDMgaXMgbm90IHNldAojIENPTkZJR19CNDNMRUdBQ1kgaXMgbm90IHNldAojIENPTkZJ R19CUkNNU01BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0JSQ01GTUFDIGlzIG5vdCBzZXQKQ09ORklH X1dMQU5fVkVORE9SX0NJU0NPPXkKIyBDT05GSUdfQUlSTyBpcyBub3Qgc2V0CkNPTkZJR19XTEFO X1ZFTkRPUl9JTlRFTD15CiMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAojIENPTkZJR19JUFcy MjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVdMNDk2NSBpcyBub3Qgc2V0CiMgQ09ORklHX0lXTDM5 NDUgaXMgbm90IHNldAojIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKQ09ORklHX1dMQU5fVkVO RE9SX0lOVEVSU0lMPXkKIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKIyBDT05GSUdfSEVSTUVT IGlzIG5vdCBzZXQKIyBDT05GSUdfUDU0X0NPTU1PTiBpcyBub3Qgc2V0CiMgQ09ORklHX1BSSVNN NTQgaXMgbm90IHNldApDT05GSUdfV0xBTl9WRU5ET1JfTUFSVkVMTD15CiMgQ09ORklHX0xJQkVS VEFTIGlzIG5vdCBzZXQKIyBDT05GSUdfTElCRVJUQVNfVEhJTkZJUk0gaXMgbm90IHNldAojIENP TkZJR19NV0lGSUVYIGlzIG5vdCBzZXQKIyBDT05GSUdfTVdMOEsgaXMgbm90IHNldApDT05GSUdf V0xBTl9WRU5ET1JfTUVESUFURUs9eQojIENPTkZJR19NVDc2MDFVIGlzIG5vdCBzZXQKIyBDT05G SUdfTVQ3NngwVSBpcyBub3Qgc2V0CiMgQ09ORklHX01UNzZ4MEUgaXMgbm90IHNldAojIENPTkZJ R19NVDc2eDJFIGlzIG5vdCBzZXQKIyBDT05GSUdfTVQ3NngyVSBpcyBub3Qgc2V0CiMgQ09ORklH X01UNzYwM0UgaXMgbm90IHNldAojIENPTkZJR19NVDc2MTVFIGlzIG5vdCBzZXQKIyBDT05GSUdf TVQ3NjYzVSBpcyBub3Qgc2V0CiMgQ09ORklHX01UNzY2M1MgaXMgbm90IHNldAojIENPTkZJR19N VDc5MTVFIGlzIG5vdCBzZXQKIyBDT05GSUdfTVQ3OTIxRSBpcyBub3Qgc2V0CkNPTkZJR19XTEFO X1ZFTkRPUl9NSUNST0NISVA9eQojIENPTkZJR19XSUxDMTAwMF9TRElPIGlzIG5vdCBzZXQKIyBD T05GSUdfV0lMQzEwMDBfU1BJIGlzIG5vdCBzZXQKQ09ORklHX1dMQU5fVkVORE9SX1JBTElOSz15 CiMgQ09ORklHX1JUMlgwMCBpcyBub3Qgc2V0CkNPTkZJR19XTEFOX1ZFTkRPUl9SRUFMVEVLPXkK IyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldApD T05GSUdfUlRMX0NBUkRTPW0KIyBDT05GSUdfUlRMODE5MkNFIGlzIG5vdCBzZXQKIyBDT05GSUdf UlRMODE5MlNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MkRFIGlzIG5vdCBzZXQKIyBDT05G SUdfUlRMODcyM0FFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODcyM0JFIGlzIG5vdCBzZXQKIyBD T05GSUdfUlRMODE4OEVFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MkVFIGlzIG5vdCBzZXQK IyBDT05GSUdfUlRMODgyMUFFIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMODE5MkNVIGlzIG5vdCBz ZXQKIyBDT05GSUdfUlRMOFhYWFUgaXMgbm90IHNldAojIENPTkZJR19SVFc4OCBpcyBub3Qgc2V0 CkNPTkZJR19XTEFOX1ZFTkRPUl9SU0k9eQojIENPTkZJR19SU0lfOTFYIGlzIG5vdCBzZXQKQ09O RklHX1dMQU5fVkVORE9SX1NUPXkKIyBDT05GSUdfQ1cxMjAwIGlzIG5vdCBzZXQKQ09ORklHX1dM QU5fVkVORE9SX1RJPXkKIyBDT05GSUdfV0wxMjUxIGlzIG5vdCBzZXQKIyBDT05GSUdfV0wxMlhY IGlzIG5vdCBzZXQKIyBDT05GSUdfV0wxOFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfV0xDT1JFIGlz IG5vdCBzZXQKQ09ORklHX1dMQU5fVkVORE9SX1pZREFTPXkKIyBDT05GSUdfVVNCX1pEMTIwMSBp cyBub3Qgc2V0CiMgQ09ORklHX1pEMTIxMVJXIGlzIG5vdCBzZXQKQ09ORklHX1dMQU5fVkVORE9S X1FVQU5URU5OQT15CiMgQ09ORklHX1FUTkZNQUNfUENJRSBpcyBub3Qgc2V0CiMgQ09ORklHX01B QzgwMjExX0hXU0lNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5v dCBzZXQKIyBDT05GSUdfVklSVF9XSUZJIGlzIG5vdCBzZXQKIyBDT05GSUdfV0FOIGlzIG5vdCBz ZXQKQ09ORklHX0lFRUU4MDIxNTRfRFJJVkVSUz1tCiMgQ09ORklHX0lFRUU4MDIxNTRfRkFLRUxC IGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTgwMjE1NF9BVDg2UkYyMzAgaXMgbm90IHNldAojIENP TkZJR19JRUVFODAyMTU0X01SRjI0SjQwIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTgwMjE1NF9D QzI1MjAgaXMgbm90IHNldAojIENPTkZJR19JRUVFODAyMTU0X0FUVVNCIGlzIG5vdCBzZXQKIyBD T05GSUdfSUVFRTgwMjE1NF9BREY3MjQyIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTgwMjE1NF9D QTgyMTAgaXMgbm90IHNldAojIENPTkZJR19JRUVFODAyMTU0X01DUjIwQSBpcyBub3Qgc2V0CiMg Q09ORklHX0lFRUU4MDIxNTRfSFdTSU0gaXMgbm90IHNldApDT05GSUdfWEVOX05FVERFVl9GUk9O VEVORD15CiMgQ09ORklHX1ZNWE5FVDMgaXMgbm90IHNldAojIENPTkZJR19GVUpJVFNVX0VTIGlz IG5vdCBzZXQKIyBDT05GSUdfSFlQRVJWX05FVCBpcyBub3Qgc2V0CkNPTkZJR19ORVRERVZTSU09 bQpDT05GSUdfTkVUX0ZBSUxPVkVSPW0KIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiMgQ09ORklH X05WTSBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfSU5QVVQ9 eQpDT05GSUdfSU5QVVRfTEVEUz15CkNPTkZJR19JTlBVVF9GRl9NRU1MRVNTPW0KQ09ORklHX0lO UFVUX1NQQVJTRUtNQVA9bQojIENPTkZJR19JTlBVVF9NQVRSSVhLTUFQIGlzIG5vdCBzZXQKCiMK IyBVc2VybGFuZCBpbnRlcmZhY2VzCiMKQ09ORklHX0lOUFVUX01PVVNFREVWPXkKIyBDT05GSUdf SU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldApDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NS RUVOX1g9MTAyNApDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CkNPTkZJR19JTlBV VF9KT1lERVY9bQpDT05GSUdfSU5QVVRfRVZERVY9eQojIENPTkZJR19JTlBVVF9FVkJVRyBpcyBu b3Qgc2V0CgojCiMgSW5wdXQgRGV2aWNlIERyaXZlcnMKIwpDT05GSUdfSU5QVVRfS0VZQk9BUkQ9 eQojIENPTkZJR19LRVlCT0FSRF9BRFA1NTg4IGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRf QURQNTU4OSBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0FQUExFU1BJIGlzIG5vdCBzZXQK Q09ORklHX0tFWUJPQVJEX0FUS0JEPXkKIyBDT05GSUdfS0VZQk9BUkRfUVQxMDUwIGlzIG5vdCBz ZXQKIyBDT05GSUdfS0VZQk9BUkRfUVQxMDcwIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRf UVQyMTYwIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfRExJTktfRElSNjg1IGlzIG5vdCBz ZXQKIyBDT05GSUdfS0VZQk9BUkRfTEtLQkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9H UElPIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfR1BJT19QT0xMRUQgaXMgbm90IHNldAoj IENPTkZJR19LRVlCT0FSRF9UQ0E2NDE2IGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfVENB ODQxOCBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX01BVFJJWCBpcyBub3Qgc2V0CiMgQ09O RklHX0tFWUJPQVJEX0xNODMyMyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0xNODMzMyBp cyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX01BWDczNTkgaXMgbm90IHNldAojIENPTkZJR19L RVlCT0FSRF9NQ1MgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9NUFIxMjEgaXMgbm90IHNl dAojIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9P UEVOQ09SRVMgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9TQU1TVU5HIGlzIG5vdCBzZXQK IyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9T VU5LQkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9UTTJfVE9VQ0hLRVkgaXMgbm90IHNl dAojIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9NT1VTRT15 CkNPTkZJR19NT1VTRV9QUzI9eQpDT05GSUdfTU9VU0VfUFMyX0FMUFM9eQpDT05GSUdfTU9VU0Vf UFMyX0JZRD15CkNPTkZJR19NT1VTRV9QUzJfTE9HSVBTMlBQPXkKQ09ORklHX01PVVNFX1BTMl9T WU5BUFRJQ1M9eQpDT05GSUdfTU9VU0VfUFMyX1NZTkFQVElDU19TTUJVUz15CkNPTkZJR19NT1VT RV9QUzJfQ1lQUkVTUz15CkNPTkZJR19NT1VTRV9QUzJfTElGRUJPT0s9eQpDT05GSUdfTU9VU0Vf UFMyX1RSQUNLUE9JTlQ9eQpDT05GSUdfTU9VU0VfUFMyX0VMQU5URUNIPXkKQ09ORklHX01PVVNF X1BTMl9FTEFOVEVDSF9TTUJVUz15CkNPTkZJR19NT1VTRV9QUzJfU0VOVEVMSUM9eQojIENPTkZJ R19NT1VTRV9QUzJfVE9VQ0hLSVQgaXMgbm90IHNldApDT05GSUdfTU9VU0VfUFMyX0ZPQ0FMVEVD SD15CkNPTkZJR19NT1VTRV9QUzJfVk1NT1VTRT15CkNPTkZJR19NT1VTRV9QUzJfU01CVVM9eQpD T05GSUdfTU9VU0VfU0VSSUFMPW0KIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0 CiMgQ09ORklHX01PVVNFX0JDTTU5NzQgaXMgbm90IHNldApDT05GSUdfTU9VU0VfQ1lBUEE9bQpD T05GSUdfTU9VU0VfRUxBTl9JMkM9bQpDT05GSUdfTU9VU0VfRUxBTl9JMkNfSTJDPXkKQ09ORklH X01PVVNFX0VMQU5fSTJDX1NNQlVTPXkKQ09ORklHX01PVVNFX1ZTWFhYQUE9bQojIENPTkZJR19N T1VTRV9HUElPIGlzIG5vdCBzZXQKQ09ORklHX01PVVNFX1NZTkFQVElDU19JMkM9bQojIENPTkZJ R19NT1VTRV9TWU5BUFRJQ1NfVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sg aXMgbm90IHNldAojIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAojIENPTkZJR19JTlBV VF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldApD T05GSUdfUk1JNF9DT1JFPW0KQ09ORklHX1JNSTRfSTJDPW0KQ09ORklHX1JNSTRfU1BJPW0KQ09O RklHX1JNSTRfU01CPW0KQ09ORklHX1JNSTRfRjAzPXkKQ09ORklHX1JNSTRfRjAzX1NFUklPPW0K Q09ORklHX1JNSTRfMkRfU0VOU09SPXkKQ09ORklHX1JNSTRfRjExPXkKQ09ORklHX1JNSTRfRjEy PXkKQ09ORklHX1JNSTRfRjMwPXkKQ09ORklHX1JNSTRfRjM0PXkKIyBDT05GSUdfUk1JNF9GM0Eg aXMgbm90IHNldAojIENPTkZJR19STUk0X0Y1NCBpcyBub3Qgc2V0CkNPTkZJR19STUk0X0Y1NT15 CgojCiMgSGFyZHdhcmUgSS9PIHBvcnRzCiMKQ09ORklHX1NFUklPPXkKQ09ORklHX0FSQ0hfTUlH SFRfSEFWRV9QQ19TRVJJTz15CkNPTkZJR19TRVJJT19JODA0Mj15CkNPTkZJR19TRVJJT19TRVJQ T1JUPXkKIyBDT05GSUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldAojIENPTkZJR19TRVJJT19Q QVJLQkQgaXMgbm90IHNldAojIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldApDT05GSUdf U0VSSU9fTElCUFMyPXkKQ09ORklHX1NFUklPX1JBVz1tCkNPTkZJR19TRVJJT19BTFRFUkFfUFMy PW0KIyBDT05GSUdfU0VSSU9fUFMyTVVMVCBpcyBub3Qgc2V0CkNPTkZJR19TRVJJT19BUkNfUFMy PW0KQ09ORklHX0hZUEVSVl9LRVlCT0FSRD1tCiMgQ09ORklHX1NFUklPX0dQSU9fUFMyIGlzIG5v dCBzZXQKIyBDT05GSUdfVVNFUklPIGlzIG5vdCBzZXQKIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90 IHNldAojIGVuZCBvZiBIYXJkd2FyZSBJL08gcG9ydHMKIyBlbmQgb2YgSW5wdXQgZGV2aWNlIHN1 cHBvcnQKCiMKIyBDaGFyYWN0ZXIgZGV2aWNlcwojCkNPTkZJR19UVFk9eQpDT05GSUdfVlQ9eQpD T05GSUdfQ09OU09MRV9UUkFOU0xBVElPTlM9eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19W VF9DT05TT0xFX1NMRUVQPXkKQ09ORklHX0hXX0NPTlNPTEU9eQpDT05GSUdfVlRfSFdfQ09OU09M RV9CSU5ESU5HPXkKQ09ORklHX1VOSVg5OF9QVFlTPXkKIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMg bm90IHNldApDT05GSUdfTERJU0NfQVVUT0xPQUQ9eQoKIwojIFNlcmlhbCBkcml2ZXJzCiMKQ09O RklHX1NFUklBTF9FQVJMWUNPTj15CkNPTkZJR19TRVJJQUxfODI1MD15CiMgQ09ORklHX1NFUklB TF84MjUwX0RFUFJFQ0FURURfT1BUSU9OUyBpcyBub3Qgc2V0CkNPTkZJR19TRVJJQUxfODI1MF9Q TlA9eQojIENPTkZJR19TRVJJQUxfODI1MF8xNjU1MEFfVkFSSUFOVFMgaXMgbm90IHNldAojIENP TkZJR19TRVJJQUxfODI1MF9GSU5URUsgaXMgbm90IHNldApDT05GSUdfU0VSSUFMXzgyNTBfQ09O U09MRT15CkNPTkZJR19TRVJJQUxfODI1MF9ETUE9eQpDT05GSUdfU0VSSUFMXzgyNTBfUENJPXkK Q09ORklHX1NFUklBTF84MjUwX0VYQVI9eQpDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NjQK Q09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NApDT05GSUdfU0VSSUFMXzgyNTBfRVhU RU5ERUQ9eQpDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15CkNPTkZJR19TRVJJQUxfODI1 MF9TSEFSRV9JUlE9eQojIENPTkZJR19TRVJJQUxfODI1MF9ERVRFQ1RfSVJRIGlzIG5vdCBzZXQK Q09ORklHX1NFUklBTF84MjUwX1JTQT15CkNPTkZJR19TRVJJQUxfODI1MF9EV0xJQj15CkNPTkZJ R19TRVJJQUxfODI1MF9EVz15CiMgQ09ORklHX1NFUklBTF84MjUwX1JUMjg4WCBpcyBub3Qgc2V0 CkNPTkZJR19TRVJJQUxfODI1MF9MUFNTPXkKQ09ORklHX1NFUklBTF84MjUwX01JRD15CgojCiMg Tm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAojCiMgQ09ORklHX1NFUklBTF9NQVgzMTAwIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX01BWDMxMFggaXMgbm90IHNldAojIENPTkZJR19TRVJJ QUxfVUFSVExJVEUgaXMgbm90IHNldApDT05GSUdfU0VSSUFMX0NPUkU9eQpDT05GSUdfU0VSSUFM X0NPUkVfQ09OU09MRT15CkNPTkZJR19TRVJJQUxfSlNNPW0KIyBDT05GSUdfU0VSSUFMX0xBTlRJ USBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklBTF9TQ0NOWFAgaXMgbm90IHNldAojIENPTkZJR19T RVJJQUxfU0MxNklTN1hYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX0JDTTYzWFggaXMgbm90 IHNldAojIENPTkZJR19TRVJJQUxfQUxURVJBX0pUQUdVQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VSSUFMX0FMVEVSQV9VQVJUIGlzIG5vdCBzZXQKQ09ORklHX1NFUklBTF9BUkM9bQpDT05GSUdf U0VSSUFMX0FSQ19OUl9QT1JUUz0xCiMgQ09ORklHX1NFUklBTF9SUDIgaXMgbm90IHNldAojIENP TkZJR19TRVJJQUxfRlNMX0xQVUFSVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklBTF9GU0xfTElO RkxFWFVBUlQgaXMgbm90IHNldAojIENPTkZJR19TRVJJQUxfU1BSRCBpcyBub3Qgc2V0CiMgZW5k IG9mIFNlcmlhbCBkcml2ZXJzCgpDT05GSUdfU0VSSUFMX01DVFJMX0dQSU89eQpDT05GSUdfU0VS SUFMX05PTlNUQU5EQVJEPXkKIyBDT05GSUdfUk9DS0VUUE9SVCBpcyBub3Qgc2V0CkNPTkZJR19D WUNMQURFUz1tCiMgQ09ORklHX0NZWl9JTlRSIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9YQV9JTlRF TExJTyBpcyBub3Qgc2V0CiMgQ09ORklHX01PWEFfU01BUlRJTyBpcyBub3Qgc2V0CkNPTkZJR19T WU5DTElOS19HVD1tCiMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CkNPTkZJR19OX0hETEM9bQpDT05G SUdfTl9HU009bQpDT05GSUdfTk9aT01JPW0KIyBDT05GSUdfTlVMTF9UVFkgaXMgbm90IHNldAoj IENPTkZJR19UUkFDRV9TSU5LIGlzIG5vdCBzZXQKQ09ORklHX0hWQ19EUklWRVI9eQpDT05GSUdf SFZDX0lSUT15CkNPTkZJR19IVkNfWEVOPXkKQ09ORklHX0hWQ19YRU5fRlJPTlRFTkQ9eQojIENP TkZJR19TRVJJQUxfREVWX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1RUWV9QUklOVEsgaXMgbm90 IHNldApDT05GSUdfUFJJTlRFUj1tCiMgQ09ORklHX0xQX0NPTlNPTEUgaXMgbm90IHNldApDT05G SUdfUFBERVY9bQpDT05GSUdfVklSVElPX0NPTlNPTEU9bQpDT05GSUdfSVBNSV9IQU5ETEVSPW0K Q09ORklHX0lQTUlfRE1JX0RFQ09ERT15CkNPTkZJR19JUE1JX1BMQVRfREFUQT15CkNPTkZJR19J UE1JX1BBTklDX0VWRU5UPXkKQ09ORklHX0lQTUlfUEFOSUNfU1RSSU5HPXkKQ09ORklHX0lQTUlf REVWSUNFX0lOVEVSRkFDRT1tCkNPTkZJR19JUE1JX1NJPW0KQ09ORklHX0lQTUlfU1NJRj1tCkNP TkZJR19JUE1JX1dBVENIRE9HPW0KQ09ORklHX0lQTUlfUE9XRVJPRkY9bQpDT05GSUdfSFdfUkFO RE9NPXkKQ09ORklHX0hXX1JBTkRPTV9USU1FUklPTUVNPW0KQ09ORklHX0hXX1JBTkRPTV9JTlRF TD1tCkNPTkZJR19IV19SQU5ET01fQU1EPW0KIyBDT05GSUdfSFdfUkFORE9NX0JBNDMxIGlzIG5v dCBzZXQKQ09ORklHX0hXX1JBTkRPTV9WSUE9bQpDT05GSUdfSFdfUkFORE9NX1ZJUlRJTz15CiMg Q09ORklHX0hXX1JBTkRPTV9YSVBIRVJBIGlzIG5vdCBzZXQKIyBDT05GSUdfQVBQTElDT00gaXMg bm90IHNldAojIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0CkNPTkZJR19ERVZNRU09eQojIENPTkZJ R19ERVZLTUVNIGlzIG5vdCBzZXQKQ09ORklHX05WUkFNPXkKQ09ORklHX1JBV19EUklWRVI9eQpD T05GSUdfTUFYX1JBV19ERVZTPTgxOTIKQ09ORklHX0RFVlBPUlQ9eQpDT05GSUdfSFBFVD15CkNP TkZJR19IUEVUX01NQVA9eQojIENPTkZJR19IUEVUX01NQVBfREVGQVVMVCBpcyBub3Qgc2V0CkNP TkZJR19IQU5HQ0hFQ0tfVElNRVI9bQpDT05GSUdfVVZfTU1USU1FUj1tCkNPTkZJR19UQ0dfVFBN PXkKQ09ORklHX0hXX1JBTkRPTV9UUE09eQpDT05GSUdfVENHX1RJU19DT1JFPXkKQ09ORklHX1RD R19USVM9eQojIENPTkZJR19UQ0dfVElTX1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1RDR19USVNf STJDX0NSNTAgaXMgbm90IHNldApDT05GSUdfVENHX1RJU19JMkNfQVRNRUw9bQpDT05GSUdfVENH X1RJU19JMkNfSU5GSU5FT049bQpDT05GSUdfVENHX1RJU19JMkNfTlVWT1RPTj1tCkNPTkZJR19U Q0dfTlNDPW0KQ09ORklHX1RDR19BVE1FTD1tCkNPTkZJR19UQ0dfSU5GSU5FT049bQojIENPTkZJ R19UQ0dfWEVOIGlzIG5vdCBzZXQKQ09ORklHX1RDR19DUkI9eQojIENPTkZJR19UQ0dfVlRQTV9Q Uk9YWSBpcyBub3Qgc2V0CkNPTkZJR19UQ0dfVElTX1NUMzNaUDI0PW0KQ09ORklHX1RDR19USVNf U1QzM1pQMjRfSTJDPW0KIyBDT05GSUdfVENHX1RJU19TVDMzWlAyNF9TUEkgaXMgbm90IHNldApD T05GSUdfVEVMQ0xPQ0s9bQojIENPTkZJR19YSUxMWUJVUyBpcyBub3Qgc2V0CiMgZW5kIG9mIENo YXJhY3RlciBkZXZpY2VzCgojIENPTkZJR19SQU5ET01fVFJVU1RfQ1BVIGlzIG5vdCBzZXQKIyBD T05GSUdfUkFORE9NX1RSVVNUX0JPT1RMT0FERVIgaXMgbm90IHNldAoKIwojIEkyQyBzdXBwb3J0 CiMKQ09ORklHX0kyQz15CkNPTkZJR19BQ1BJX0kyQ19PUFJFR0lPTj15CkNPTkZJR19JMkNfQk9B UkRJTkZPPXkKQ09ORklHX0kyQ19DT01QQVQ9eQpDT05GSUdfSTJDX0NIQVJERVY9bQpDT05GSUdf STJDX01VWD1tCgojCiMgTXVsdGlwbGV4ZXIgSTJDIENoaXAgc3VwcG9ydAojCiMgQ09ORklHX0ky Q19NVVhfR1BJTyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19NVVhfTFRDNDMwNiBpcyBub3Qgc2V0 CiMgQ09ORklHX0kyQ19NVVhfUENBOTU0MSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19NVVhfUENB OTU0eCBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19NVVhfUkVHIGlzIG5vdCBzZXQKQ09ORklHX0ky Q19NVVhfTUxYQ1BMRD1tCiMgZW5kIG9mIE11bHRpcGxleGVyIEkyQyBDaGlwIHN1cHBvcnQKCkNP TkZJR19JMkNfSEVMUEVSX0FVVE89eQpDT05GSUdfSTJDX1NNQlVTPW0KQ09ORklHX0kyQ19BTEdP QklUPXkKQ09ORklHX0kyQ19BTEdPUENBPW0KCiMKIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQK IwoKIwojIFBDIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX0FM STE1MzUgaXMgbm90IHNldAojIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CiMgQ09ORklH X0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKQ09ORklHX0kyQ19BTUQ3NTY9bQpDT05GSUdfSTJDX0FN RDc1Nl9TNDg4Mj1tCkNPTkZJR19JMkNfQU1EODExMT1tCiMgQ09ORklHX0kyQ19BTURfTVAyIGlz IG5vdCBzZXQKQ09ORklHX0kyQ19JODAxPW0KQ09ORklHX0kyQ19JU0NIPW0KQ09ORklHX0kyQ19J U01UPW0KQ09ORklHX0kyQ19QSUlYND1tCkNPTkZJR19JMkNfTkZPUkNFMj1tCkNPTkZJR19JMkNf TkZPUkNFMl9TNDk4NT1tCiMgQ09ORklHX0kyQ19OVklESUFfR1BVIGlzIG5vdCBzZXQKIyBDT05G SUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAojIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQK Q09ORklHX0kyQ19TSVM5Nlg9bQpDT05GSUdfSTJDX1ZJQT1tCkNPTkZJR19JMkNfVklBUFJPPW0K CiMKIyBBQ1BJIGRyaXZlcnMKIwpDT05GSUdfSTJDX1NDTUk9bQoKIwojIEkyQyBzeXN0ZW0gYnVz IGRyaXZlcnMgKG1vc3RseSBlbWJlZGRlZCAvIHN5c3RlbS1vbi1jaGlwKQojCiMgQ09ORklHX0ky Q19DQlVTX0dQSU8gaXMgbm90IHNldApDT05GSUdfSTJDX0RFU0lHTldBUkVfQ09SRT1tCiMgQ09O RklHX0kyQ19ERVNJR05XQVJFX1NMQVZFIGlzIG5vdCBzZXQKQ09ORklHX0kyQ19ERVNJR05XQVJF X1BMQVRGT1JNPW0KQ09ORklHX0kyQ19ERVNJR05XQVJFX0JBWVRSQUlMPXkKIyBDT05GSUdfSTJD X0RFU0lHTldBUkVfUENJIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0VNRVYyIGlzIG5vdCBzZXQK IyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAojIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBz ZXQKQ09ORklHX0kyQ19QQ0FfUExBVEZPUk09bQpDT05GSUdfSTJDX1NJTVRFQz1tCiMgQ09ORklH X0kyQ19YSUxJTlggaXMgbm90IHNldAoKIwojIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFwdGVyIGRy aXZlcnMKIwojIENPTkZJR19JMkNfRElPTEFOX1UyQyBpcyBub3Qgc2V0CkNPTkZJR19JMkNfUEFS UE9SVD1tCiMgQ09ORklHX0kyQ19ST0JPVEZVWlpfT1NJRiBpcyBub3Qgc2V0CiMgQ09ORklHX0ky Q19UQU9TX0VWTSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0Cgoj CiMgT3RoZXIgSTJDL1NNQnVzIGJ1cyBkcml2ZXJzCiMKQ09ORklHX0kyQ19NTFhDUExEPW0KIyBl bmQgb2YgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CgpDT05GSUdfSTJDX1NUVUI9bQojIENPTkZJ R19JMkNfU0xBVkUgaXMgbm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0 CiMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0JV UyBpcyBub3Qgc2V0CiMgZW5kIG9mIEkyQyBzdXBwb3J0CgojIENPTkZJR19JM0MgaXMgbm90IHNl dApDT05GSUdfU1BJPXkKIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX1NQSV9N QVNURVI9eQojIENPTkZJR19TUElfTUVNIGlzIG5vdCBzZXQKCiMKIyBTUEkgTWFzdGVyIENvbnRy b2xsZXIgRHJpdmVycwojCiMgQ09ORklHX1NQSV9BTFRFUkEgaXMgbm90IHNldAojIENPTkZJR19T UElfQVhJX1NQSV9FTkdJTkUgaXMgbm90IHNldAojIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qg c2V0CiMgQ09ORklHX1NQSV9CVVRURVJGTFkgaXMgbm90IHNldAojIENPTkZJR19TUElfQ0FERU5D RSBpcyBub3Qgc2V0CiMgQ09ORklHX1NQSV9ERVNJR05XQVJFIGlzIG5vdCBzZXQKIyBDT05GSUdf U1BJX05YUF9GTEVYU1BJIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJX0dQSU8gaXMgbm90IHNldAoj IENPTkZJR19TUElfTE03MF9MTFAgaXMgbm90IHNldAojIENPTkZJR19TUElfTEFOVElRX1NTQyBp cyBub3Qgc2V0CiMgQ09ORklHX1NQSV9PQ19USU5ZIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJX1BY QTJYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NQSV9ST0NLQ0hJUCBpcyBub3Qgc2V0CiMgQ09ORklH X1NQSV9TQzE4SVM2MDIgaXMgbm90IHNldAojIENPTkZJR19TUElfU0lGSVZFIGlzIG5vdCBzZXQK IyBDT05GSUdfU1BJX01YSUMgaXMgbm90IHNldAojIENPTkZJR19TUElfWENPTU0gaXMgbm90IHNl dAojIENPTkZJR19TUElfWElMSU5YIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJX1pZTlFNUF9HUVNQ SSBpcyBub3Qgc2V0CiMgQ09ORklHX1NQSV9BTUQgaXMgbm90IHNldAoKIwojIFNQSSBNdWx0aXBs ZXhlciBzdXBwb3J0CiMKIyBDT05GSUdfU1BJX01VWCBpcyBub3Qgc2V0CgojCiMgU1BJIFByb3Rv Y29sIE1hc3RlcnMKIwojIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKIyBDT05GSUdfU1BJ X0xPT1BCQUNLX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NQSV9TTEFWRSBpcyBub3Qgc2V0CkNPTkZJR19TUElfRFlOQU1JQz15CiMgQ09O RklHX1NQTUkgaXMgbm90IHNldAojIENPTkZJR19IU0kgaXMgbm90IHNldApDT05GSUdfUFBTPXkK IyBDT05GSUdfUFBTX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBQUFMgY2xpZW50cyBzdXBwb3J0CiMK IyBDT05GSUdfUFBTX0NMSUVOVF9LVElNRVIgaXMgbm90IHNldApDT05GSUdfUFBTX0NMSUVOVF9M RElTQz1tCkNPTkZJR19QUFNfQ0xJRU5UX1BBUlBPUlQ9bQpDT05GSUdfUFBTX0NMSUVOVF9HUElP PW0KCiMKIyBQUFMgZ2VuZXJhdG9ycyBzdXBwb3J0CiMKCiMKIyBQVFAgY2xvY2sgc3VwcG9ydAoj CkNPTkZJR19QVFBfMTU4OF9DTE9DSz15CiMgQ09ORklHX0RQODM2NDBfUEhZIGlzIG5vdCBzZXQK IyBDT05GSUdfUFRQXzE1ODhfQ0xPQ0tfSU5FUyBpcyBub3Qgc2V0CkNPTkZJR19QVFBfMTU4OF9D TE9DS19LVk09bQojIENPTkZJR19QVFBfMTU4OF9DTE9DS19JRFQ4MlAzMyBpcyBub3Qgc2V0CiMg Q09ORklHX1BUUF8xNTg4X0NMT0NLX0lEVENNIGlzIG5vdCBzZXQKIyBDT05GSUdfUFRQXzE1ODhf Q0xPQ0tfVk1XIGlzIG5vdCBzZXQKIyBDT05GSUdfUFRQXzE1ODhfQ0xPQ0tfT0NQIGlzIG5vdCBz ZXQKIyBlbmQgb2YgUFRQIGNsb2NrIHN1cHBvcnQKCkNPTkZJR19QSU5DVFJMPXkKQ09ORklHX1BJ Tk1VWD15CkNPTkZJR19QSU5DT05GPXkKQ09ORklHX0dFTkVSSUNfUElOQ09ORj15CiMgQ09ORklH X0RFQlVHX1BJTkNUUkwgaXMgbm90IHNldApDT05GSUdfUElOQ1RSTF9BTUQ9bQojIENPTkZJR19Q SU5DVFJMX01DUDIzUzA4IGlzIG5vdCBzZXQKIyBDT05GSUdfUElOQ1RSTF9TWDE1MFggaXMgbm90 IHNldApDT05GSUdfUElOQ1RSTF9CQVlUUkFJTD15CiMgQ09ORklHX1BJTkNUUkxfQ0hFUlJZVklF VyBpcyBub3Qgc2V0CiMgQ09ORklHX1BJTkNUUkxfTFlOWFBPSU5UIGlzIG5vdCBzZXQKQ09ORklH X1BJTkNUUkxfSU5URUw9eQojIENPTkZJR19QSU5DVFJMX0FMREVSTEFLRSBpcyBub3Qgc2V0CkNP TkZJR19QSU5DVFJMX0JST1hUT049bQpDT05GSUdfUElOQ1RSTF9DQU5OT05MQUtFPW0KQ09ORklH X1BJTkNUUkxfQ0VEQVJGT1JLPW0KQ09ORklHX1BJTkNUUkxfREVOVkVSVE9OPW0KIyBDT05GSUdf UElOQ1RSTF9FTEtIQVJUTEFLRSBpcyBub3Qgc2V0CiMgQ09ORklHX1BJTkNUUkxfRU1NSVRTQlVS RyBpcyBub3Qgc2V0CkNPTkZJR19QSU5DVFJMX0dFTUlOSUxBS0U9bQojIENPTkZJR19QSU5DVFJM X0lDRUxBS0UgaXMgbm90IHNldAojIENPTkZJR19QSU5DVFJMX0pBU1BFUkxBS0UgaXMgbm90IHNl dAojIENPTkZJR19QSU5DVFJMX0xBS0VGSUVMRCBpcyBub3Qgc2V0CkNPTkZJR19QSU5DVFJMX0xF V0lTQlVSRz1tCkNPTkZJR19QSU5DVFJMX1NVTlJJU0VQT0lOVD1tCiMgQ09ORklHX1BJTkNUUkxf VElHRVJMQUtFIGlzIG5vdCBzZXQKCiMKIyBSZW5lc2FzIHBpbmN0cmwgZHJpdmVycwojCiMgZW5k IG9mIFJlbmVzYXMgcGluY3RybCBkcml2ZXJzCgpDT05GSUdfR1BJT0xJQj15CkNPTkZJR19HUElP TElCX0ZBU1RQQVRIX0xJTUlUPTUxMgpDT05GSUdfR1BJT19BQ1BJPXkKQ09ORklHX0dQSU9MSUJf SVJRQ0hJUD15CiMgQ09ORklHX0RFQlVHX0dQSU8gaXMgbm90IHNldApDT05GSUdfR1BJT19TWVNG Uz15CkNPTkZJR19HUElPX0NERVY9eQpDT05GSUdfR1BJT19DREVWX1YxPXkKQ09ORklHX0dQSU9f R0VORVJJQz1tCgojCiMgTWVtb3J5IG1hcHBlZCBHUElPIGRyaXZlcnMKIwpDT05GSUdfR1BJT19B TURQVD1tCiMgQ09ORklHX0dQSU9fRFdBUEIgaXMgbm90IHNldAojIENPTkZJR19HUElPX0VYQVIg aXMgbm90IHNldAojIENPTkZJR19HUElPX0dFTkVSSUNfUExBVEZPUk0gaXMgbm90IHNldApDT05G SUdfR1BJT19JQ0g9bQojIENPTkZJR19HUElPX01CODZTN1ggaXMgbm90IHNldAojIENPTkZJR19H UElPX1ZYODU1IGlzIG5vdCBzZXQKIyBDT05GSUdfR1BJT19BTURfRkNIIGlzIG5vdCBzZXQKIyBl bmQgb2YgTWVtb3J5IG1hcHBlZCBHUElPIGRyaXZlcnMKCiMKIyBQb3J0LW1hcHBlZCBJL08gR1BJ TyBkcml2ZXJzCiMKIyBDT05GSUdfR1BJT19GNzE4OFggaXMgbm90IHNldAojIENPTkZJR19HUElP X0lUODcgaXMgbm90IHNldAojIENPTkZJR19HUElPX1NDSCBpcyBub3Qgc2V0CiMgQ09ORklHX0dQ SU9fU0NIMzExWCBpcyBub3Qgc2V0CiMgQ09ORklHX0dQSU9fV0lOQk9ORCBpcyBub3Qgc2V0CiMg Q09ORklHX0dQSU9fV1MxNkM0OCBpcyBub3Qgc2V0CiMgZW5kIG9mIFBvcnQtbWFwcGVkIEkvTyBH UElPIGRyaXZlcnMKCiMKIyBJMkMgR1BJTyBleHBhbmRlcnMKIwojIENPTkZJR19HUElPX0FEUDU1 ODggaXMgbm90IHNldAojIENPTkZJR19HUElPX01BWDczMDAgaXMgbm90IHNldAojIENPTkZJR19H UElPX01BWDczMlggaXMgbm90IHNldAojIENPTkZJR19HUElPX1BDQTk1M1ggaXMgbm90IHNldAoj IENPTkZJR19HUElPX1BDQTk1NzAgaXMgbm90IHNldAojIENPTkZJR19HUElPX1BDRjg1N1ggaXMg bm90IHNldAojIENPTkZJR19HUElPX1RQSUMyODEwIGlzIG5vdCBzZXQKIyBlbmQgb2YgSTJDIEdQ SU8gZXhwYW5kZXJzCgojCiMgTUZEIEdQSU8gZXhwYW5kZXJzCiMKIyBlbmQgb2YgTUZEIEdQSU8g ZXhwYW5kZXJzCgojCiMgUENJIEdQSU8gZXhwYW5kZXJzCiMKIyBDT05GSUdfR1BJT19BTUQ4MTEx IGlzIG5vdCBzZXQKIyBDT05GSUdfR1BJT19CVDhYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0dQSU9f TUxfSU9IIGlzIG5vdCBzZXQKIyBDT05GSUdfR1BJT19QQ0lfSURJT18xNiBpcyBub3Qgc2V0CiMg Q09ORklHX0dQSU9fUENJRV9JRElPXzI0IGlzIG5vdCBzZXQKIyBDT05GSUdfR1BJT19SREMzMjFY IGlzIG5vdCBzZXQKIyBlbmQgb2YgUENJIEdQSU8gZXhwYW5kZXJzCgojCiMgU1BJIEdQSU8gZXhw YW5kZXJzCiMKIyBDT05GSUdfR1BJT19NQVgzMTkxWCBpcyBub3Qgc2V0CiMgQ09ORklHX0dQSU9f TUFYNzMwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0dQSU9fTUMzMzg4MCBpcyBub3Qgc2V0CiMgQ09O RklHX0dQSU9fUElTT1NSIGlzIG5vdCBzZXQKIyBDT05GSUdfR1BJT19YUkExNDAzIGlzIG5vdCBz ZXQKIyBlbmQgb2YgU1BJIEdQSU8gZXhwYW5kZXJzCgojCiMgVVNCIEdQSU8gZXhwYW5kZXJzCiMK IyBlbmQgb2YgVVNCIEdQSU8gZXhwYW5kZXJzCgojCiMgVmlydHVhbCBHUElPIGRyaXZlcnMKIwoj IENPTkZJR19HUElPX0FHR1JFR0FUT1IgaXMgbm90IHNldApDT05GSUdfR1BJT19NT0NLVVA9bQoj IGVuZCBvZiBWaXJ0dWFsIEdQSU8gZHJpdmVycwoKIyBDT05GSUdfVzEgaXMgbm90IHNldApDT05G SUdfUE9XRVJfUkVTRVQ9eQojIENPTkZJR19QT1dFUl9SRVNFVF9SRVNUQVJUIGlzIG5vdCBzZXQK Q09ORklHX1BPV0VSX1NVUFBMWT15CiMgQ09ORklHX1BPV0VSX1NVUFBMWV9ERUJVRyBpcyBub3Qg c2V0CkNPTkZJR19QT1dFUl9TVVBQTFlfSFdNT049eQojIENPTkZJR19QREFfUE9XRVIgaXMgbm90 IHNldAojIENPTkZJR19URVNUX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9BRFA1 MDYxIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9DVzIwMTUgaXMgbm90IHNldAojIENPTkZJ R19CQVRURVJZX0RTMjc4MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfRFMyNzgxIGlzIG5v dCBzZXQKIyBDT05GSUdfQkFUVEVSWV9EUzI3ODIgaXMgbm90IHNldAojIENPTkZJR19CQVRURVJZ X1NCUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NIQVJHRVJfU0JTIGlzIG5vdCBzZXQKIyBDT05GSUdf TUFOQUdFUl9TQlMgaXMgbm90IHNldAojIENPTkZJR19CQVRURVJZX0JRMjdYWFggaXMgbm90IHNl dAojIENPTkZJR19CQVRURVJZX01BWDE3MDQwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFUVEVSWV9N QVgxNzA0MiBpcyBub3Qgc2V0CiMgQ09ORklHX0NIQVJHRVJfTUFYODkwMyBpcyBub3Qgc2V0CiMg Q09ORklHX0NIQVJHRVJfTFA4NzI3IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9HUElPIGlz IG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9MVDM2NTEgaXMgbm90IHNldAojIENPTkZJR19DSEFS R0VSX0xUQzQxNjJMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9CUTI0MTVYIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ0hBUkdFUl9CUTI0MjU3IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9C UTI0NzM1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9CUTI1MTVYIGlzIG5vdCBzZXQKIyBD T05GSUdfQ0hBUkdFUl9CUTI1ODkwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9CUTI1OTgw IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9CUTI1NlhYIGlzIG5vdCBzZXQKQ09ORklHX0NI QVJHRVJfU01CMzQ3PW0KIyBDT05GSUdfQkFUVEVSWV9HQVVHRV9MVEMyOTQxIGlzIG5vdCBzZXQK IyBDT05GSUdfQ0hBUkdFUl9SVDk0NTUgaXMgbm90IHNldAojIENPTkZJR19DSEFSR0VSX0JEOTk5 NTQgaXMgbm90IHNldApDT05GSUdfSFdNT049eQpDT05GSUdfSFdNT05fVklEPW0KIyBDT05GSUdf SFdNT05fREVCVUdfQ0hJUCBpcyBub3Qgc2V0CgojCiMgTmF0aXZlIGRyaXZlcnMKIwpDT05GSUdf U0VOU09SU19BQklUVUdVUlU9bQpDT05GSUdfU0VOU09SU19BQklUVUdVUlUzPW0KIyBDT05GSUdf U0VOU09SU19BRDczMTQgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19BRDc0MTQ9bQpDT05GSUdf U0VOU09SU19BRDc0MTg9bQpDT05GSUdfU0VOU09SU19BRE0xMDIxPW0KQ09ORklHX1NFTlNPUlNf QURNMTAyNT1tCkNPTkZJR19TRU5TT1JTX0FETTEwMjY9bQpDT05GSUdfU0VOU09SU19BRE0xMDI5 PW0KQ09ORklHX1NFTlNPUlNfQURNMTAzMT1tCiMgQ09ORklHX1NFTlNPUlNfQURNMTE3NyBpcyBu b3Qgc2V0CkNPTkZJR19TRU5TT1JTX0FETTkyNDA9bQpDT05GSUdfU0VOU09SU19BRFQ3WDEwPW0K IyBDT05GSUdfU0VOU09SU19BRFQ3MzEwIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfQURUNzQx MD1tCkNPTkZJR19TRU5TT1JTX0FEVDc0MTE9bQpDT05GSUdfU0VOU09SU19BRFQ3NDYyPW0KQ09O RklHX1NFTlNPUlNfQURUNzQ3MD1tCkNPTkZJR19TRU5TT1JTX0FEVDc0NzU9bQojIENPTkZJR19T RU5TT1JTX0FIVDEwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BUzM3MCBpcyBub3Qgc2V0 CkNPTkZJR19TRU5TT1JTX0FTQzc2MjE9bQojIENPTkZJR19TRU5TT1JTX0FYSV9GQU5fQ09OVFJP TCBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0s4VEVNUD1tCkNPTkZJR19TRU5TT1JTX0sxMFRF TVA9bQpDT05GSUdfU0VOU09SU19GQU0xNUhfUE9XRVI9bQojIENPTkZJR19TRU5TT1JTX0FNRF9F TkVSR1kgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19BUFBMRVNNQz1tCkNPTkZJR19TRU5TT1JT X0FTQjEwMD1tCiMgQ09ORklHX1NFTlNPUlNfQVNQRUVEIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNP UlNfQVRYUDE9bQojIENPTkZJR19TRU5TT1JTX0NPUlNBSVJfQ1BSTyBpcyBub3Qgc2V0CiMgQ09O RklHX1NFTlNPUlNfQ09SU0FJUl9QU1UgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0RSSVZF VEVNUCBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0RTNjIwPW0KQ09ORklHX1NFTlNPUlNfRFMx NjIxPW0KQ09ORklHX1NFTlNPUlNfREVMTF9TTU09bQpDT05GSUdfU0VOU09SU19JNUtfQU1CPW0K Q09ORklHX1NFTlNPUlNfRjcxODA1Rj1tCkNPTkZJR19TRU5TT1JTX0Y3MTg4MkZHPW0KQ09ORklH X1NFTlNPUlNfRjc1Mzc1Uz1tCkNPTkZJR19TRU5TT1JTX0ZTQ0hNRD1tCiMgQ09ORklHX1NFTlNP UlNfRlRTVEVVVEFURVMgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19HTDUxOFNNPW0KQ09ORklH X1NFTlNPUlNfR0w1MjBTTT1tCkNPTkZJR19TRU5TT1JTX0c3NjBBPW0KIyBDT05GSUdfU0VOU09S U19HNzYyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19ISUg2MTMwIGlzIG5vdCBzZXQKQ09O RklHX1NFTlNPUlNfSUJNQUVNPW0KQ09ORklHX1NFTlNPUlNfSUJNUEVYPW0KQ09ORklHX1NFTlNP UlNfSTU1MDA9bQpDT05GSUdfU0VOU09SU19DT1JFVEVNUD1tCkNPTkZJR19TRU5TT1JTX0lUODc9 bQpDT05GSUdfU0VOU09SU19KQzQyPW0KIyBDT05GSUdfU0VOU09SU19QT1dSMTIyMCBpcyBub3Qg c2V0CkNPTkZJR19TRU5TT1JTX0xJTkVBR0U9bQojIENPTkZJR19TRU5TT1JTX0xUQzI5NDUgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzI5NDdfSTJDIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19MVEMyOTQ3X1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTFRDMjk5MCBp cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTFRDMjk5MiBpcyBub3Qgc2V0CkNPTkZJR19TRU5T T1JTX0xUQzQxNTE9bQpDT05GSUdfU0VOU09SU19MVEM0MjE1PW0KIyBDT05GSUdfU0VOU09SU19M VEM0MjIyIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfTFRDNDI0NT1tCiMgQ09ORklHX1NFTlNP UlNfTFRDNDI2MCBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0xUQzQyNjE9bQojIENPTkZJR19T RU5TT1JTX01BWDExMTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX01BWDEyNyBpcyBub3Qg c2V0CkNPTkZJR19TRU5TT1JTX01BWDE2MDY1PW0KQ09ORklHX1NFTlNPUlNfTUFYMTYxOT1tCkNP TkZJR19TRU5TT1JTX01BWDE2Njg9bQpDT05GSUdfU0VOU09SU19NQVgxOTc9bQojIENPTkZJR19T RU5TT1JTX01BWDMxNzIyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVgzMTczMCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTUFYNjYyMSBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JT X01BWDY2Mzk9bQpDT05GSUdfU0VOU09SU19NQVg2NjQyPW0KQ09ORklHX1NFTlNPUlNfTUFYNjY1 MD1tCkNPTkZJR19TRU5TT1JTX01BWDY2OTc9bQojIENPTkZJR19TRU5TT1JTX01BWDMxNzkwIGlz IG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfTUNQMzAyMT1tCiMgQ09ORklHX1NFTlNPUlNfTUxYUkVH X0ZBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVEM2NTQgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX1RQUzIzODYxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NUjc1MjAzIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRENYWCBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JT X0xNNjM9bQojIENPTkZJR19TRU5TT1JTX0xNNzAgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19M TTczPW0KQ09ORklHX1NFTlNPUlNfTE03NT1tCkNPTkZJR19TRU5TT1JTX0xNNzc9bQpDT05GSUdf U0VOU09SU19MTTc4PW0KQ09ORklHX1NFTlNPUlNfTE04MD1tCkNPTkZJR19TRU5TT1JTX0xNODM9 bQpDT05GSUdfU0VOU09SU19MTTg1PW0KQ09ORklHX1NFTlNPUlNfTE04Nz1tCkNPTkZJR19TRU5T T1JTX0xNOTA9bQpDT05GSUdfU0VOU09SU19MTTkyPW0KQ09ORklHX1NFTlNPUlNfTE05Mz1tCkNP TkZJR19TRU5TT1JTX0xNOTUyMzQ9bQpDT05GSUdfU0VOU09SU19MTTk1MjQxPW0KQ09ORklHX1NF TlNPUlNfTE05NTI0NT1tCkNPTkZJR19TRU5TT1JTX1BDODczNjA9bQpDT05GSUdfU0VOU09SU19Q Qzg3NDI3PW0KQ09ORklHX1NFTlNPUlNfTlRDX1RIRVJNSVNUT1I9bQojIENPTkZJR19TRU5TT1JT X05DVDY2ODMgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19OQ1Q2Nzc1PW0KIyBDT05GSUdfU0VO U09SU19OQ1Q3ODAyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19OQ1Q3OTA0IGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19OUENNN1hYIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfUENG ODU5MT1tCkNPTkZJR19QTUJVUz1tCkNPTkZJR19TRU5TT1JTX1BNQlVTPW0KIyBDT05GSUdfU0VO U09SU19BRE0xMjY2IGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfQURNMTI3NT1tCiMgQ09ORklH X1NFTlNPUlNfQkVMX1BGRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSUJNX0NGRlBTIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19JTlNQVVJfSVBTUFMgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX0lSMzUyMjEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0lSMzgwNjQgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0lSUFM1NDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO U09SU19JU0w2ODEzNyBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0xNMjUwNjY9bQpDT05GSUdf U0VOU09SU19MVEMyOTc4PW0KIyBDT05GSUdfU0VOU09SU19MVEMzODE1IGlzIG5vdCBzZXQKQ09O RklHX1NFTlNPUlNfTUFYMTYwNjQ9bQojIENPTkZJR19TRU5TT1JTX01BWDE2NjAxIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19NQVgyMDczMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf TUFYMjA3NTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX01BWDMxNzg1IGlzIG5vdCBzZXQK Q09ORklHX1NFTlNPUlNfTUFYMzQ0NDA9bQpDT05GSUdfU0VOU09SU19NQVg4Njg4PW0KIyBDT05G SUdfU0VOU09SU19NUDI5NzUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1BNNjc2NFRSIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QWEUxNjEwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO U09SU19RNTRTSjEwOEEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19UUFM0MDQyMiBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVFBTNTM2NzkgaXMgbm90IHNldApDT05GSUdfU0VOU09S U19VQ0Q5MDAwPW0KQ09ORklHX1NFTlNPUlNfVUNEOTIwMD1tCiMgQ09ORklHX1NFTlNPUlNfWERQ RTEyMiBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1pMNjEwMD1tCiMgQ09ORklHX1NFTlNPUlNf U0JUU0kgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19TSFQxNT1tCkNPTkZJR19TRU5TT1JTX1NI VDIxPW0KIyBDT05GSUdfU0VOU09SU19TSFQzeCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf U0hUQzEgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19TSVM1NTk1PW0KQ09ORklHX1NFTlNPUlNf RE1FMTczNz1tCkNPTkZJR19TRU5TT1JTX0VNQzE0MDM9bQojIENPTkZJR19TRU5TT1JTX0VNQzIx MDMgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19FTUM2VzIwMT1tCkNPTkZJR19TRU5TT1JTX1NN U0M0N00xPW0KQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5Mj1tCkNPTkZJR19TRU5TT1JTX1NNU0M0 N0IzOTc9bQpDT05GSUdfU0VOU09SU19TQ0g1NlhYX0NPTU1PTj1tCkNPTkZJR19TRU5TT1JTX1ND SDU2Mjc9bQpDT05GSUdfU0VOU09SU19TQ0g1NjM2PW0KIyBDT05GSUdfU0VOU09SU19TVFRTNzUx IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19TTU02NjUgaXMgbm90IHNldAojIENPTkZJR19T RU5TT1JTX0FEQzEyOEQ4MTggaXMgbm90IHNldApDT05GSUdfU0VOU09SU19BRFM3ODI4PW0KIyBD T05GSUdfU0VOU09SU19BRFM3ODcxIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfQU1DNjgyMT1t CkNPTkZJR19TRU5TT1JTX0lOQTIwOT1tCkNPTkZJR19TRU5TT1JTX0lOQTJYWD1tCiMgQ09ORklH X1NFTlNPUlNfSU5BMzIyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVEM3NCBpcyBub3Qg c2V0CkNPTkZJR19TRU5TT1JTX1RITUM1MD1tCkNPTkZJR19TRU5TT1JTX1RNUDEwMj1tCiMgQ09O RklHX1NFTlNPUlNfVE1QMTAzIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19UTVAxMDggaXMg bm90IHNldApDT05GSUdfU0VOU09SU19UTVA0MDE9bQpDT05GSUdfU0VOU09SU19UTVA0MjE9bQoj IENPTkZJR19TRU5TT1JTX1RNUDUxMyBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1ZJQV9DUFVU RU1QPW0KQ09ORklHX1NFTlNPUlNfVklBNjg2QT1tCkNPTkZJR19TRU5TT1JTX1ZUMTIxMT1tCkNP TkZJR19TRU5TT1JTX1ZUODIzMT1tCiMgQ09ORklHX1NFTlNPUlNfVzgzNzczRyBpcyBub3Qgc2V0 CkNPTkZJR19TRU5TT1JTX1c4Mzc4MUQ9bQpDT05GSUdfU0VOU09SU19XODM3OTFEPW0KQ09ORklH X1NFTlNPUlNfVzgzNzkyRD1tCkNPTkZJR19TRU5TT1JTX1c4Mzc5Mz1tCkNPTkZJR19TRU5TT1JT X1c4Mzc5NT1tCiMgQ09ORklHX1NFTlNPUlNfVzgzNzk1X0ZBTkNUUkwgaXMgbm90IHNldApDT05G SUdfU0VOU09SU19XODNMNzg1VFM9bQpDT05GSUdfU0VOU09SU19XODNMNzg2Tkc9bQpDT05GSUdf U0VOU09SU19XODM2MjdIRj1tCkNPTkZJR19TRU5TT1JTX1c4MzYyN0VIRj1tCiMgQ09ORklHX1NF TlNPUlNfWEdFTkUgaXMgbm90IHNldAoKIwojIEFDUEkgZHJpdmVycwojCkNPTkZJR19TRU5TT1JT X0FDUElfUE9XRVI9bQpDT05GSUdfU0VOU09SU19BVEswMTEwPW0KQ09ORklHX1RIRVJNQUw9eQoj IENPTkZJR19USEVSTUFMX05FVExJTksgaXMgbm90IHNldAojIENPTkZJR19USEVSTUFMX1NUQVRJ U1RJQ1MgaXMgbm90IHNldApDT05GSUdfVEhFUk1BTF9FTUVSR0VOQ1lfUE9XRVJPRkZfREVMQVlf TVM9MApDT05GSUdfVEhFUk1BTF9IV01PTj15CkNPTkZJR19USEVSTUFMX1dSSVRBQkxFX1RSSVBT PXkKQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKIyBDT05GSUdfVEhFUk1B TF9ERUZBVUxUX0dPVl9GQUlSX1NIQVJFIGlzIG5vdCBzZXQKIyBDT05GSUdfVEhFUk1BTF9ERUZB VUxUX0dPVl9VU0VSX1NQQUNFIGlzIG5vdCBzZXQKQ09ORklHX1RIRVJNQUxfR09WX0ZBSVJfU0hB UkU9eQpDT05GSUdfVEhFUk1BTF9HT1ZfU1RFUF9XSVNFPXkKQ09ORklHX1RIRVJNQUxfR09WX0JB TkdfQkFORz15CkNPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKIyBDT05GSUdfVEhFUk1B TF9FTVVMQVRJT04gaXMgbm90IHNldAoKIwojIEludGVsIHRoZXJtYWwgZHJpdmVycwojCkNPTkZJ R19JTlRFTF9QT1dFUkNMQU1QPW0KQ09ORklHX1g4Nl9USEVSTUFMX1ZFQ1RPUj15CkNPTkZJR19Y ODZfUEtHX1RFTVBfVEhFUk1BTD1tCkNPTkZJR19JTlRFTF9TT0NfRFRTX0lPU0ZfQ09SRT1tCiMg Q09ORklHX0lOVEVMX1NPQ19EVFNfVEhFUk1BTCBpcyBub3Qgc2V0CgojCiMgQUNQSSBJTlQzNDBY IHRoZXJtYWwgZHJpdmVycwojCkNPTkZJR19JTlQzNDBYX1RIRVJNQUw9bQpDT05GSUdfQUNQSV9U SEVSTUFMX1JFTD1tCiMgQ09ORklHX0lOVDM0MDZfVEhFUk1BTCBpcyBub3Qgc2V0CkNPTkZJR19Q Uk9DX1RIRVJNQUxfTU1JT19SQVBMPW0KIyBlbmQgb2YgQUNQSSBJTlQzNDBYIHRoZXJtYWwgZHJp dmVycwoKQ09ORklHX0lOVEVMX1BDSF9USEVSTUFMPW0KIyBlbmQgb2YgSW50ZWwgdGhlcm1hbCBk cml2ZXJzCgpDT05GSUdfV0FUQ0hET0c9eQpDT05GSUdfV0FUQ0hET0dfQ09SRT15CiMgQ09ORklH X1dBVENIRE9HX05PV0FZT1VUIGlzIG5vdCBzZXQKQ09ORklHX1dBVENIRE9HX0hBTkRMRV9CT09U X0VOQUJMRUQ9eQpDT05GSUdfV0FUQ0hET0dfT1BFTl9USU1FT1VUPTAKQ09ORklHX1dBVENIRE9H X1NZU0ZTPXkKCiMKIyBXYXRjaGRvZyBQcmV0aW1lb3V0IEdvdmVybm9ycwojCiMgQ09ORklHX1dB VENIRE9HX1BSRVRJTUVPVVRfR09WIGlzIG5vdCBzZXQKCiMKIyBXYXRjaGRvZyBEZXZpY2UgRHJp dmVycwojCkNPTkZJR19TT0ZUX1dBVENIRE9HPW0KQ09ORklHX1dEQVRfV0RUPW0KIyBDT05GSUdf WElMSU5YX1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfWklJUkFWRV9XQVRDSERPRyBpcyBu b3Qgc2V0CiMgQ09ORklHX01MWF9XRFQgaXMgbm90IHNldAojIENPTkZJR19DQURFTkNFX1dBVENI RE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfRFdfV0FUQ0hET0cgaXMgbm90IHNldAojIENPTkZJR19N QVg2M1hYX1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNl dAojIENPTkZJR19BRFZBTlRFQ0hfV0RUIGlzIG5vdCBzZXQKQ09ORklHX0FMSU0xNTM1X1dEVD1t CkNPTkZJR19BTElNNzEwMV9XRFQ9bQojIENPTkZJR19FQkNfQzM4NF9XRFQgaXMgbm90IHNldApD T05GSUdfRjcxODA4RV9XRFQ9bQpDT05GSUdfU1A1MTAwX1RDTz1tCkNPTkZJR19TQkNfRklUUEMy X1dBVENIRE9HPW0KIyBDT05GSUdfRVVST1RFQ0hfV0RUIGlzIG5vdCBzZXQKQ09ORklHX0lCNzAw X1dEVD1tCkNPTkZJR19JQk1BU1I9bQojIENPTkZJR19XQUZFUl9XRFQgaXMgbm90IHNldApDT05G SUdfSTYzMDBFU0JfV0RUPXkKQ09ORklHX0lFNlhYX1dEVD1tCkNPTkZJR19JVENPX1dEVD15CkNP TkZJR19JVENPX1ZFTkRPUl9TVVBQT1JUPXkKQ09ORklHX0lUODcxMkZfV0RUPW0KQ09ORklHX0lU ODdfV0RUPW0KQ09ORklHX0hQX1dBVENIRE9HPW0KQ09ORklHX0hQV0RUX05NSV9ERUNPRElORz15 CiMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAojIENPTkZJR19QQzg3NDEzX1dEVCBpcyBu b3Qgc2V0CkNPTkZJR19OVl9UQ089bQojIENPTkZJR182MFhYX1dEVCBpcyBub3Qgc2V0CiMgQ09O RklHX0NQVTVfV0RUIGlzIG5vdCBzZXQKQ09ORklHX1NNU0NfU0NIMzExWF9XRFQ9bQojIENPTkZJ R19TTVNDMzdCNzg3X1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1RRTVg4Nl9XRFQgaXMgbm90IHNl dApDT05GSUdfVklBX1dEVD1tCkNPTkZJR19XODM2MjdIRl9XRFQ9bQpDT05GSUdfVzgzODc3Rl9X RFQ9bQpDT05GSUdfVzgzOTc3Rl9XRFQ9bQpDT05GSUdfTUFDSFpfV0RUPW0KIyBDT05GSUdfU0JD X0VQWF9DM19XQVRDSERPRyBpcyBub3Qgc2V0CkNPTkZJR19JTlRFTF9NRUlfV0RUPW0KIyBDT05G SUdfTkk5MDNYX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX05JQzcwMThfV0RUIGlzIG5vdCBzZXQK IyBDT05GSUdfTUVOX0EyMV9XRFQgaXMgbm90IHNldApDT05GSUdfWEVOX1dEVD1tCgojCiMgUENJ LWJhc2VkIFdhdGNoZG9nIENhcmRzCiMKQ09ORklHX1BDSVBDV0FUQ0hET0c9bQpDT05GSUdfV0RU UENJPW0KCiMKIyBVU0ItYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKIwojIENPTkZJR19VU0JQQ1dBVENI RE9HIGlzIG5vdCBzZXQKQ09ORklHX1NTQl9QT1NTSUJMRT15CiMgQ09ORklHX1NTQiBpcyBub3Qg c2V0CkNPTkZJR19CQ01BX1BPU1NJQkxFPXkKQ09ORklHX0JDTUE9bQpDT05GSUdfQkNNQV9IT1NU X1BDSV9QT1NTSUJMRT15CkNPTkZJR19CQ01BX0hPU1RfUENJPXkKIyBDT05GSUdfQkNNQV9IT1NU X1NPQyBpcyBub3Qgc2V0CkNPTkZJR19CQ01BX0RSSVZFUl9QQ0k9eQpDT05GSUdfQkNNQV9EUklW RVJfR01BQ19DTU49eQpDT05GSUdfQkNNQV9EUklWRVJfR1BJTz15CiMgQ09ORklHX0JDTUFfREVC VUcgaXMgbm90IHNldAoKIwojIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKIwpDT05GSUdf TUZEX0NPUkU9eQojIENPTkZJR19NRkRfQVMzNzExIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1JQ19B RFA1NTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0FBVDI4NzBfQ09SRSBpcyBub3Qgc2V0CiMg Q09ORklHX01GRF9CQ001OTBYWCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9CRDk1NzFNV1YgaXMg bm90IHNldAojIENPTkZJR19NRkRfQVhQMjBYX0kyQyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9N QURFUkEgaXMgbm90IHNldAojIENPTkZJR19QTUlDX0RBOTAzWCBpcyBub3Qgc2V0CiMgQ09ORklH X01GRF9EQTkwNTJfU1BJIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0RBOTA1Ml9JMkMgaXMgbm90 IHNldAojIENPTkZJR19NRkRfREE5MDU1IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0RBOTA2MiBp cyBub3Qgc2V0CiMgQ09ORklHX01GRF9EQTkwNjMgaXMgbm90IHNldAojIENPTkZJR19NRkRfREE5 MTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0RMTjIgaXMgbm90IHNldAojIENPTkZJR19NRkRf TUMxM1hYWF9TUEkgaXMgbm90IHNldAojIENPTkZJR19NRkRfTUMxM1hYWF9JMkMgaXMgbm90IHNl dAojIENPTkZJR19NRkRfTVAyNjI5IGlzIG5vdCBzZXQKIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBu b3Qgc2V0CiMgQ09ORklHX0hUQ19JMkNQTEQgaXMgbm90IHNldAojIENPTkZJR19NRkRfSU5URUxf UVVBUktfSTJDX0dQSU8gaXMgbm90IHNldApDT05GSUdfTFBDX0lDSD1tCkNPTkZJR19MUENfU0NI PW0KIyBDT05GSUdfSU5URUxfU09DX1BNSUNfQ0hURENfVEkgaXMgbm90IHNldApDT05GSUdfTUZE X0lOVEVMX0xQU1M9eQpDT05GSUdfTUZEX0lOVEVMX0xQU1NfQUNQST15CkNPTkZJR19NRkRfSU5U RUxfTFBTU19QQ0k9eQojIENPTkZJR19NRkRfSU5URUxfUE1DX0JYVCBpcyBub3Qgc2V0CiMgQ09O RklHX01GRF9JTlRFTF9QTVQgaXMgbm90IHNldAojIENPTkZJR19NRkRfSVFTNjJYIGlzIG5vdCBz ZXQKIyBDT05GSUdfTUZEX0pBTlpfQ01PRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0tFTVBM RCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF84OFBNODAwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE Xzg4UE04MDUgaXMgbm90IHNldAojIENPTkZJR19NRkRfODhQTTg2MFggaXMgbm90IHNldAojIENP TkZJR19NRkRfTUFYMTQ1NzcgaXMgbm90IHNldAojIENPTkZJR19NRkRfTUFYNzc2OTMgaXMgbm90 IHNldAojIENPTkZJR19NRkRfTUFYNzc4NDMgaXMgbm90IHNldAojIENPTkZJR19NRkRfTUFYODkw NyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9NQVg4OTI1IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE X01BWDg5OTcgaXMgbm90IHNldAojIENPTkZJR19NRkRfTUFYODk5OCBpcyBub3Qgc2V0CiMgQ09O RklHX01GRF9NVDYzNjAgaXMgbm90IHNldAojIENPTkZJR19NRkRfTVQ2Mzk3IGlzIG5vdCBzZXQK IyBDT05GSUdfTUZEX01FTkYyMUJNQyBpcyBub3Qgc2V0CiMgQ09ORklHX0VaWF9QQ0FQIGlzIG5v dCBzZXQKIyBDT05GSUdfTUZEX1ZJUEVSQk9BUkQgaXMgbm90IHNldAojIENPTkZJR19NRkRfUkVU VSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9QQ0Y1MDYzMyBpcyBub3Qgc2V0CiMgQ09ORklHX01G RF9SREMzMjFYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1JUNTAzMyBpcyBub3Qgc2V0CiMgQ09O RklHX01GRF9SQzVUNTgzIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NFQ19DT1JFIGlzIG5vdCBz ZXQKIyBDT05GSUdfTUZEX1NJNDc2WF9DT1JFIGlzIG5vdCBzZXQKQ09ORklHX01GRF9TTTUwMT1t CkNPTkZJR19NRkRfU001MDFfR1BJTz15CiMgQ09ORklHX01GRF9TS1k4MTQ1MiBpcyBub3Qgc2V0 CiMgQ09ORklHX0FCWDUwMF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NZU0NPTiBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9USV9BTTMzNVhfVFNDQURDIGlzIG5vdCBzZXQKIyBDT05GSUdf TUZEX0xQMzk0MyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9MUDg3ODggaXMgbm90IHNldAojIENP TkZJR19NRkRfVElfTE1VIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1BBTE1BUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1RQUzYxMDVYIGlzIG5vdCBzZXQKIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNl dAojIENPTkZJR19UUFM2NTA3WCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9UUFM2NTA4NiBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9UUFM2NTA5MCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9USV9M UDg3M1ggaXMgbm90IHNldAojIENPTkZJR19NRkRfVFBTNjU4NlggaXMgbm90IHNldAojIENPTkZJ R19NRkRfVFBTNjU5MTAgaXMgbm90IHNldAojIENPTkZJR19NRkRfVFBTNjU5MTJfSTJDIGlzIG5v dCBzZXQKIyBDT05GSUdfTUZEX1RQUzY1OTEyX1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9U UFM4MDAzMSBpcyBub3Qgc2V0CiMgQ09ORklHX1RXTDQwMzBfQ09SRSBpcyBub3Qgc2V0CiMgQ09O RklHX1RXTDYwNDBfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9XTDEyNzNfQ09SRSBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9MTTM1MzMgaXMgbm90IHNldAojIENPTkZJR19NRkRfVFFNWDg2 IGlzIG5vdCBzZXQKQ09ORklHX01GRF9WWDg1NT1tCiMgQ09ORklHX01GRF9BUklaT05BX0kyQyBp cyBub3Qgc2V0CiMgQ09ORklHX01GRF9BUklaT05BX1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX01G RF9XTTg0MDAgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004MzFYX0kyQyBpcyBub3Qgc2V0CiMg Q09ORklHX01GRF9XTTgzMVhfU1BJIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1dNODM1MF9JMkMg aXMgbm90IHNldAojIENPTkZJR19NRkRfV004OTk0IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0lO VEVMX00xMF9CTUMgaXMgbm90IHNldAojIGVuZCBvZiBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2 ZXJzCgojIENPTkZJR19SRUdVTEFUT1IgaXMgbm90IHNldApDT05GSUdfUkNfQ09SRT1tCkNPTkZJ R19SQ19NQVA9bQpDT05GSUdfTElSQz15CkNPTkZJR19SQ19ERUNPREVSUz15CkNPTkZJR19JUl9O RUNfREVDT0RFUj1tCkNPTkZJR19JUl9SQzVfREVDT0RFUj1tCkNPTkZJR19JUl9SQzZfREVDT0RF Uj1tCkNPTkZJR19JUl9KVkNfREVDT0RFUj1tCkNPTkZJR19JUl9TT05ZX0RFQ09ERVI9bQpDT05G SUdfSVJfU0FOWU9fREVDT0RFUj1tCkNPTkZJR19JUl9TSEFSUF9ERUNPREVSPW0KQ09ORklHX0lS X01DRV9LQkRfREVDT0RFUj1tCiMgQ09ORklHX0lSX1hNUF9ERUNPREVSIGlzIG5vdCBzZXQKQ09O RklHX0lSX0lNT05fREVDT0RFUj1tCiMgQ09ORklHX0lSX1JDTU1fREVDT0RFUiBpcyBub3Qgc2V0 CkNPTkZJR19SQ19ERVZJQ0VTPXkKIyBDT05GSUdfUkNfQVRJX1JFTU9URSBpcyBub3Qgc2V0CkNP TkZJR19JUl9FTkU9bQojIENPTkZJR19JUl9JTU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJfSU1P Tl9SQVcgaXMgbm90IHNldAojIENPTkZJR19JUl9NQ0VVU0IgaXMgbm90IHNldApDT05GSUdfSVJf SVRFX0NJUj1tCkNPTkZJR19JUl9GSU5URUs9bQpDT05GSUdfSVJfTlVWT1RPTj1tCiMgQ09ORklH X0lSX1JFRFJBVDMgaXMgbm90IHNldAojIENPTkZJR19JUl9TVFJFQU1aQVAgaXMgbm90IHNldApD T05GSUdfSVJfV0lOQk9ORF9DSVI9bQojIENPTkZJR19JUl9JR09SUExVR1VTQiBpcyBub3Qgc2V0 CiMgQ09ORklHX0lSX0lHVUFOQSBpcyBub3Qgc2V0CiMgQ09ORklHX0lSX1RUVVNCSVIgaXMgbm90 IHNldApDT05GSUdfUkNfTE9PUEJBQ0s9bQpDT05GSUdfSVJfU0VSSUFMPW0KQ09ORklHX0lSX1NF UklBTF9UUkFOU01JVFRFUj15CkNPTkZJR19JUl9TSVI9bQojIENPTkZJR19SQ19YQk9YX0RWRCBp cyBub3Qgc2V0CiMgQ09ORklHX0lSX1RPWSBpcyBub3Qgc2V0CkNPTkZJR19NRURJQV9DRUNfU1VQ UE9SVD15CiMgQ09ORklHX0NFQ19DSDczMjIgaXMgbm90IHNldAojIENPTkZJR19DRUNfR1BJTyBp cyBub3Qgc2V0CiMgQ09ORklHX0NFQ19TRUNPIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1BVTFNF OF9DRUMgaXMgbm90IHNldAojIENPTkZJR19VU0JfUkFJTlNIQURPV19DRUMgaXMgbm90IHNldApD T05GSUdfTUVESUFfU1VQUE9SVD1tCiMgQ09ORklHX01FRElBX1NVUFBPUlRfRklMVEVSIGlzIG5v dCBzZXQKIyBDT05GSUdfTUVESUFfU1VCRFJWX0FVVE9TRUxFQ1QgaXMgbm90IHNldAoKIwojIE1l ZGlhIGRldmljZSB0eXBlcwojCkNPTkZJR19NRURJQV9DQU1FUkFfU1VQUE9SVD15CkNPTkZJR19N RURJQV9BTkFMT0dfVFZfU1VQUE9SVD15CkNPTkZJR19NRURJQV9ESUdJVEFMX1RWX1NVUFBPUlQ9 eQpDT05GSUdfTUVESUFfUkFESU9fU1VQUE9SVD15CkNPTkZJR19NRURJQV9TRFJfU1VQUE9SVD15 CkNPTkZJR19NRURJQV9QTEFURk9STV9TVVBQT1JUPXkKQ09ORklHX01FRElBX1RFU1RfU1VQUE9S VD15CiMgZW5kIG9mIE1lZGlhIGRldmljZSB0eXBlcwoKIwojIE1lZGlhIGNvcmUgc3VwcG9ydAoj CkNPTkZJR19WSURFT19ERVY9bQpDT05GSUdfTUVESUFfQ09OVFJPTExFUj15CkNPTkZJR19EVkJf Q09SRT1tCiMgZW5kIG9mIE1lZGlhIGNvcmUgc3VwcG9ydAoKIwojIFZpZGVvNExpbnV4IG9wdGlv bnMKIwpDT05GSUdfVklERU9fVjRMMj1tCkNPTkZJR19WSURFT19WNEwyX0kyQz15CkNPTkZJR19W SURFT19WNEwyX1NVQkRFVl9BUEk9eQojIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNl dAojIENPTkZJR19WSURFT19GSVhFRF9NSU5PUl9SQU5HRVMgaXMgbm90IHNldAojIGVuZCBvZiBW aWRlbzRMaW51eCBvcHRpb25zCgojCiMgTWVkaWEgY29udHJvbGxlciBvcHRpb25zCiMKIyBDT05G SUdfTUVESUFfQ09OVFJPTExFUl9EVkIgaXMgbm90IHNldAojIGVuZCBvZiBNZWRpYSBjb250cm9s bGVyIG9wdGlvbnMKCiMKIyBEaWdpdGFsIFRWIG9wdGlvbnMKIwojIENPTkZJR19EVkJfTU1BUCBp cyBub3Qgc2V0CkNPTkZJR19EVkJfTkVUPXkKQ09ORklHX0RWQl9NQVhfQURBUFRFUlM9MTYKQ09O RklHX0RWQl9EWU5BTUlDX01JTk9SUz15CiMgQ09ORklHX0RWQl9ERU1VWF9TRUNUSU9OX0xPU1Nf TE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfRFZCX1VMRV9ERUJVRyBpcyBub3Qgc2V0CiMgZW5kIG9m IERpZ2l0YWwgVFYgb3B0aW9ucwoKIwojIE1lZGlhIGRyaXZlcnMKIwojIENPTkZJR19NRURJQV9V U0JfU1VQUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX01FRElBX1BDSV9TVVBQT1JUIGlzIG5vdCBz ZXQKQ09ORklHX1JBRElPX0FEQVBURVJTPXkKIyBDT05GSUdfUkFESU9fU0k0NzBYIGlzIG5vdCBz ZXQKIyBDT05GSUdfUkFESU9fU0k0NzEzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX01SODAwIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNldAojIENPTkZJR19SQURJT19NQVhJ UkFESU8gaXMgbm90IHNldAojIENPTkZJR19SQURJT19TSEFSSyBpcyBub3Qgc2V0CiMgQ09ORklH X1JBRElPX1NIQVJLMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9LRUVORSBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9SQVJFTU9OTyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NQTkwMSBpcyBub3Qg c2V0CiMgQ09ORklHX1JBRElPX1RFQTU3NjQgaXMgbm90IHNldAojIENPTkZJR19SQURJT19TQUE3 NzA2SCBpcyBub3Qgc2V0CiMgQ09ORklHX1JBRElPX1RFRjY4NjIgaXMgbm90IHNldAojIENPTkZJ R19SQURJT19XTDEyNzMgaXMgbm90IHNldApDT05GSUdfVklERU9CVUYyX0NPUkU9bQpDT05GSUdf VklERU9CVUYyX1Y0TDI9bQpDT05GSUdfVklERU9CVUYyX01FTU9QUz1tCkNPTkZJR19WSURFT0JV RjJfVk1BTExPQz1tCiMgQ09ORklHX1Y0TF9QTEFURk9STV9EUklWRVJTIGlzIG5vdCBzZXQKIyBD T05GSUdfVjRMX01FTTJNRU1fRFJJVkVSUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RWQl9QTEFURk9S TV9EUklWRVJTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0RSX1BMQVRGT1JNX0RSSVZFUlMgaXMgbm90 IHNldAoKIwojIE1NQy9TRElPIERWQiBhZGFwdGVycwojCiMgQ09ORklHX1NNU19TRElPX0RSViBp cyBub3Qgc2V0CiMgQ09ORklHX1Y0TF9URVNUX0RSSVZFUlMgaXMgbm90IHNldAojIENPTkZJR19E VkJfVEVTVF9EUklWRVJTIGlzIG5vdCBzZXQKCiMKIyBGaXJlV2lyZSAoSUVFRSAxMzk0KSBBZGFw dGVycwojCiMgQ09ORklHX0RWQl9GSVJFRFRWIGlzIG5vdCBzZXQKIyBlbmQgb2YgTWVkaWEgZHJp dmVycwoKIwojIE1lZGlhIGFuY2lsbGFyeSBkcml2ZXJzCiMKQ09ORklHX01FRElBX0FUVEFDSD15 CkNPTkZJR19WSURFT19JUl9JMkM9bQoKIwojIEF1ZGlvIGRlY29kZXJzLCBwcm9jZXNzb3JzIGFu ZCBtaXhlcnMKIwojIENPTkZJR19WSURFT19UVkFVRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfVklE RU9fVERBNzQzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1REQTk4NDAgaXMgbm90IHNldAoj IENPTkZJR19WSURFT19URUE2NDE1QyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1RFQTY0MjAg aXMgbm90IHNldAojIENPTkZJR19WSURFT19NU1AzNDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVklE RU9fQ1MzMzA4IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQ1M1MzQ1IGlzIG5vdCBzZXQKIyBD T05GSUdfVklERU9fQ1M1M0wzMkEgaXMgbm90IHNldAojIENPTkZJR19WSURFT19UTFYzMjBBSUMy M0IgaXMgbm90IHNldAojIENPTkZJR19WSURFT19VREExMzQyIGlzIG5vdCBzZXQKIyBDT05GSUdf VklERU9fV004Nzc1IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fV004NzM5IGlzIG5vdCBzZXQK IyBDT05GSUdfVklERU9fVlAyN1NNUFggaXMgbm90IHNldAojIENPTkZJR19WSURFT19TT05ZX0JU Rl9NUFggaXMgbm90IHNldAojIGVuZCBvZiBBdWRpbyBkZWNvZGVycywgcHJvY2Vzc29ycyBhbmQg bWl4ZXJzCgojCiMgUkRTIGRlY29kZXJzCiMKIyBDT05GSUdfVklERU9fU0FBNjU4OCBpcyBub3Qg c2V0CiMgZW5kIG9mIFJEUyBkZWNvZGVycwoKIwojIFZpZGVvIGRlY29kZXJzCiMKIyBDT05GSUdf VklERU9fQURWNzE4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0FEVjcxODMgaXMgbm90IHNl dAojIENPTkZJR19WSURFT19BRFY3NjA0IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQURWNzg0 MiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0JUODE5IGlzIG5vdCBzZXQKIyBDT05GSUdfVklE RU9fQlQ4NTYgaXMgbm90IHNldAojIENPTkZJR19WSURFT19CVDg2NiBpcyBub3Qgc2V0CiMgQ09O RklHX1ZJREVPX0tTMDEyNyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX01MODZWNzY2NyBpcyBu b3Qgc2V0CiMgQ09ORklHX1ZJREVPX1NBQTcxMTAgaXMgbm90IHNldAojIENPTkZJR19WSURFT19T QUE3MTFYIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fVEMzNTg3NDMgaXMgbm90IHNldAojIENP TkZJR19WSURFT19UVlA1MTRYIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fVFZQNTE1MCBpcyBu b3Qgc2V0CiMgQ09ORklHX1ZJREVPX1RWUDcwMDIgaXMgbm90IHNldAojIENPTkZJR19WSURFT19U VzI4MDQgaXMgbm90IHNldAojIENPTkZJR19WSURFT19UVzk5MDMgaXMgbm90IHNldAojIENPTkZJ R19WSURFT19UVzk5MDYgaXMgbm90IHNldAojIENPTkZJR19WSURFT19UVzk5MTAgaXMgbm90IHNl dAojIENPTkZJR19WSURFT19WUFgzMjIwIGlzIG5vdCBzZXQKCiMKIyBWaWRlbyBhbmQgYXVkaW8g ZGVjb2RlcnMKIwojIENPTkZJR19WSURFT19TQUE3MTdYIGlzIG5vdCBzZXQKIyBDT05GSUdfVklE RU9fQ1gyNTg0MCBpcyBub3Qgc2V0CiMgZW5kIG9mIFZpZGVvIGRlY29kZXJzCgojCiMgVmlkZW8g ZW5jb2RlcnMKIwojIENPTkZJR19WSURFT19TQUE3MTI3IGlzIG5vdCBzZXQKIyBDT05GSUdfVklE RU9fU0FBNzE4NSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0FEVjcxNzAgaXMgbm90IHNldAoj IENPTkZJR19WSURFT19BRFY3MTc1IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQURWNzM0MyBp cyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0FEVjczOTMgaXMgbm90IHNldAojIENPTkZJR19WSURF T19BRFY3NTExIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQUQ5Mzg5QiBpcyBub3Qgc2V0CiMg Q09ORklHX1ZJREVPX0FLODgxWCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1RIUzgyMDAgaXMg bm90IHNldAojIGVuZCBvZiBWaWRlbyBlbmNvZGVycwoKIwojIFZpZGVvIGltcHJvdmVtZW50IGNo aXBzCiMKIyBDT05GSUdfVklERU9fVVBENjQwMzFBIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9f VVBENjQwODMgaXMgbm90IHNldAojIGVuZCBvZiBWaWRlbyBpbXByb3ZlbWVudCBjaGlwcwoKIwoj IEF1ZGlvL1ZpZGVvIGNvbXByZXNzaW9uIGNoaXBzCiMKIyBDT05GSUdfVklERU9fU0FBNjc1MkhT IGlzIG5vdCBzZXQKIyBlbmQgb2YgQXVkaW8vVmlkZW8gY29tcHJlc3Npb24gY2hpcHMKCiMKIyBT RFIgdHVuZXIgY2hpcHMKIwojIENPTkZJR19TRFJfTUFYMjE3NSBpcyBub3Qgc2V0CiMgZW5kIG9m IFNEUiB0dW5lciBjaGlwcwoKIwojIE1pc2NlbGxhbmVvdXMgaGVscGVyIGNoaXBzCiMKIyBDT05G SUdfVklERU9fVEhTNzMwMyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX001Mjc5MCBpcyBub3Qg c2V0CiMgQ09ORklHX1ZJREVPX0kyQyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1NUX01JUElE MDIgaXMgbm90IHNldAojIGVuZCBvZiBNaXNjZWxsYW5lb3VzIGhlbHBlciBjaGlwcwoKIwojIENh bWVyYSBzZW5zb3IgZGV2aWNlcwojCiMgQ09ORklHX1ZJREVPX0hJNTU2IGlzIG5vdCBzZXQKIyBD T05GSUdfVklERU9fSU1YMjE0IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fSU1YMjE5IGlzIG5v dCBzZXQKIyBDT05GSUdfVklERU9fSU1YMjU4IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fSU1Y Mjc0IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fSU1YMjkwIGlzIG5vdCBzZXQKIyBDT05GSUdf VklERU9fSU1YMzE5IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fSU1YMzU1IGlzIG5vdCBzZXQK IyBDT05GSUdfVklERU9fT1YwMkExMCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WMjY0MCBp cyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WMjY1OSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVP X09WMjY4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WMjY4NSBpcyBub3Qgc2V0CiMgQ09O RklHX1ZJREVPX09WMjc0MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNTY0NyBpcyBub3Qg c2V0CiMgQ09ORklHX1ZJREVPX09WNTY0OCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNjY1 MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNTY3MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJ REVPX09WNTY3NSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNTY5NSBpcyBub3Qgc2V0CiMg Q09ORklHX1ZJREVPX09WNzI1MSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNzcyWCBpcyBu b3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNzY0MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09W NzY3MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WNzc0MCBpcyBub3Qgc2V0CiMgQ09ORklH X1ZJREVPX09WODg1NiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WODg2NSBpcyBub3Qgc2V0 CiMgQ09ORklHX1ZJREVPX09WOTY0MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WOTY1MCBp cyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX09WOTczNCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVP X09WMTM4NTggaXMgbm90IHNldAojIENPTkZJR19WSURFT19WUzY2MjQgaXMgbm90IHNldAojIENP TkZJR19WSURFT19NVDlNMDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fTVQ5TTAzMiBpcyBu b3Qgc2V0CiMgQ09ORklHX1ZJREVPX01UOU0xMTEgaXMgbm90IHNldAojIENPTkZJR19WSURFT19N VDlQMDMxIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fTVQ5VDAwMSBpcyBub3Qgc2V0CiMgQ09O RklHX1ZJREVPX01UOVQxMTIgaXMgbm90IHNldAojIENPTkZJR19WSURFT19NVDlWMDExIGlzIG5v dCBzZXQKIyBDT05GSUdfVklERU9fTVQ5VjAzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX01U OVYxMTEgaXMgbm90IHNldAojIENPTkZJR19WSURFT19TUjAzMFBDMzAgaXMgbm90IHNldAojIENP TkZJR19WSURFT19OT09OMDEwUEMzMCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX001TU9MUyBp cyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX1JEQUNNMjAgaXMgbm90IHNldAojIENPTkZJR19WSURF T19SREFDTTIxIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fUko1NE4xIGlzIG5vdCBzZXQKIyBD T05GSUdfVklERU9fUzVLNkFBIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fUzVLNkEzIGlzIG5v dCBzZXQKIyBDT05GSUdfVklERU9fUzVLNEVDR1ggaXMgbm90IHNldAojIENPTkZJR19WSURFT19T NUs1QkFGIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fQ0NTIGlzIG5vdCBzZXQKIyBDT05GSUdf VklERU9fRVQ4RUs4IGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fUzVDNzNNMyBpcyBub3Qgc2V0 CiMgZW5kIG9mIENhbWVyYSBzZW5zb3IgZGV2aWNlcwoKIwojIExlbnMgZHJpdmVycwojCiMgQ09O RklHX1ZJREVPX0FENTgyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0FLNzM3NSBpcyBub3Qg c2V0CiMgQ09ORklHX1ZJREVPX0RXOTcxNCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0RXOTc2 OCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0RXOTgwN19WQ00gaXMgbm90IHNldAojIGVuZCBv ZiBMZW5zIGRyaXZlcnMKCiMKIyBGbGFzaCBkZXZpY2VzCiMKIyBDT05GSUdfVklERU9fQURQMTY1 MyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJREVPX0xNMzU2MCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJ REVPX0xNMzY0NiBpcyBub3Qgc2V0CiMgZW5kIG9mIEZsYXNoIGRldmljZXMKCiMKIyBTUEkgaGVs cGVyIGNoaXBzCiMKIyBDT05GSUdfVklERU9fR1MxNjYyIGlzIG5vdCBzZXQKIyBlbmQgb2YgU1BJ IGhlbHBlciBjaGlwcwoKIwojIE1lZGlhIFNQSSBBZGFwdGVycwojCkNPTkZJR19DWEQyODgwX1NQ SV9EUlY9bQojIGVuZCBvZiBNZWRpYSBTUEkgQWRhcHRlcnMKCkNPTkZJR19NRURJQV9UVU5FUj1t CgojCiMgQ3VzdG9taXplIFRWIHR1bmVycwojCkNPTkZJR19NRURJQV9UVU5FUl9TSU1QTEU9bQpD T05GSUdfTUVESUFfVFVORVJfVERBMTgyNTA9bQpDT05GSUdfTUVESUFfVFVORVJfVERBODI5MD1t CkNPTkZJR19NRURJQV9UVU5FUl9UREE4MjdYPW0KQ09ORklHX01FRElBX1RVTkVSX1REQTE4Mjcx PW0KQ09ORklHX01FRElBX1RVTkVSX1REQTk4ODc9bQpDT05GSUdfTUVESUFfVFVORVJfVEVBNTc2 MT1tCkNPTkZJR19NRURJQV9UVU5FUl9URUE1NzY3PW0KQ09ORklHX01FRElBX1RVTkVSX01TSTAw MT1tCkNPTkZJR19NRURJQV9UVU5FUl9NVDIwWFg9bQpDT05GSUdfTUVESUFfVFVORVJfTVQyMDYw PW0KQ09ORklHX01FRElBX1RVTkVSX01UMjA2Mz1tCkNPTkZJR19NRURJQV9UVU5FUl9NVDIyNjY9 bQpDT05GSUdfTUVESUFfVFVORVJfTVQyMTMxPW0KQ09ORklHX01FRElBX1RVTkVSX1FUMTAxMD1t CkNPTkZJR19NRURJQV9UVU5FUl9YQzIwMjg9bQpDT05GSUdfTUVESUFfVFVORVJfWEM1MDAwPW0K Q09ORklHX01FRElBX1RVTkVSX1hDNDAwMD1tCkNPTkZJR19NRURJQV9UVU5FUl9NWEw1MDA1Uz1t CkNPTkZJR19NRURJQV9UVU5FUl9NWEw1MDA3VD1tCkNPTkZJR19NRURJQV9UVU5FUl9NQzQ0Uzgw Mz1tCkNPTkZJR19NRURJQV9UVU5FUl9NQVgyMTY1PW0KQ09ORklHX01FRElBX1RVTkVSX1REQTE4 MjE4PW0KQ09ORklHX01FRElBX1RVTkVSX0ZDMDAxMT1tCkNPTkZJR19NRURJQV9UVU5FUl9GQzAw MTI9bQpDT05GSUdfTUVESUFfVFVORVJfRkMwMDEzPW0KQ09ORklHX01FRElBX1RVTkVSX1REQTE4 MjEyPW0KQ09ORklHX01FRElBX1RVTkVSX0U0MDAwPW0KQ09ORklHX01FRElBX1RVTkVSX0ZDMjU4 MD1tCkNPTkZJR19NRURJQV9UVU5FUl9NODhSUzYwMDBUPW0KQ09ORklHX01FRElBX1RVTkVSX1RV QTkwMDE9bQpDT05GSUdfTUVESUFfVFVORVJfU0kyMTU3PW0KQ09ORklHX01FRElBX1RVTkVSX0lU OTEzWD1tCkNPTkZJR19NRURJQV9UVU5FUl9SODIwVD1tCkNPTkZJR19NRURJQV9UVU5FUl9NWEwz MDFSRj1tCkNPTkZJR19NRURJQV9UVU5FUl9RTTFEMUMwMDQyPW0KQ09ORklHX01FRElBX1RVTkVS X1FNMUQxQjAwMDQ9bQojIGVuZCBvZiBDdXN0b21pemUgVFYgdHVuZXJzCgojCiMgQ3VzdG9taXNl IERWQiBGcm9udGVuZHMKIwoKIwojIE11bHRpc3RhbmRhcmQgKHNhdGVsbGl0ZSkgZnJvbnRlbmRz CiMKQ09ORklHX0RWQl9TVEIwODk5PW0KQ09ORklHX0RWQl9TVEI2MTAwPW0KQ09ORklHX0RWQl9T VFYwOTB4PW0KQ09ORklHX0RWQl9TVFYwOTEwPW0KQ09ORklHX0RWQl9TVFY2MTEweD1tCkNPTkZJ R19EVkJfU1RWNjExMT1tCkNPTkZJR19EVkJfTVhMNVhYPW0KQ09ORklHX0RWQl9NODhEUzMxMDM9 bQoKIwojIE11bHRpc3RhbmRhcmQgKGNhYmxlICsgdGVycmVzdHJpYWwpIGZyb250ZW5kcwojCkNP TkZJR19EVkJfRFJYSz1tCkNPTkZJR19EVkJfVERBMTgyNzFDMkREPW0KQ09ORklHX0RWQl9TSTIx NjU9bQpDT05GSUdfRFZCX01OODg0NzI9bQpDT05GSUdfRFZCX01OODg0NzM9bQoKIwojIERWQi1T IChzYXRlbGxpdGUpIGZyb250ZW5kcwojCkNPTkZJR19EVkJfQ1gyNDExMD1tCkNPTkZJR19EVkJf Q1gyNDEyMz1tCkNPTkZJR19EVkJfTVQzMTI9bQpDT05GSUdfRFZCX1pMMTAwMzY9bQpDT05GSUdf RFZCX1pMMTAwMzk9bQpDT05GSUdfRFZCX1M1SDE0MjA9bQpDT05GSUdfRFZCX1NUVjAyODg9bQpD T05GSUdfRFZCX1NUQjYwMDA9bQpDT05GSUdfRFZCX1NUVjAyOTk9bQpDT05GSUdfRFZCX1NUVjYx MTA9bQpDT05GSUdfRFZCX1NUVjA5MDA9bQpDT05GSUdfRFZCX1REQTgwODM9bQpDT05GSUdfRFZC X1REQTEwMDg2PW0KQ09ORklHX0RWQl9UREE4MjYxPW0KQ09ORklHX0RWQl9WRVMxWDkzPW0KQ09O RklHX0RWQl9UVU5FUl9JVEQxMDAwPW0KQ09ORklHX0RWQl9UVU5FUl9DWDI0MTEzPW0KQ09ORklH X0RWQl9UREE4MjZYPW0KQ09ORklHX0RWQl9UVUE2MTAwPW0KQ09ORklHX0RWQl9DWDI0MTE2PW0K Q09ORklHX0RWQl9DWDI0MTE3PW0KQ09ORklHX0RWQl9DWDI0MTIwPW0KQ09ORklHX0RWQl9TSTIx WFg9bQpDT05GSUdfRFZCX1RTMjAyMD1tCkNPTkZJR19EVkJfRFMzMDAwPW0KQ09ORklHX0RWQl9N Qjg2QTE2PW0KQ09ORklHX0RWQl9UREExMDA3MT1tCgojCiMgRFZCLVQgKHRlcnJlc3RyaWFsKSBm cm9udGVuZHMKIwpDT05GSUdfRFZCX1NQODg3MD1tCkNPTkZJR19EVkJfU1A4ODdYPW0KQ09ORklH X0RWQl9DWDIyNzAwPW0KQ09ORklHX0RWQl9DWDIyNzAyPW0KQ09ORklHX0RWQl9TNUgxNDMyPW0K Q09ORklHX0RWQl9EUlhEPW0KQ09ORklHX0RWQl9MNjQ3ODE9bQpDT05GSUdfRFZCX1REQTEwMDRY PW0KQ09ORklHX0RWQl9OWFQ2MDAwPW0KQ09ORklHX0RWQl9NVDM1Mj1tCkNPTkZJR19EVkJfWkwx MDM1Mz1tCkNPTkZJR19EVkJfRElCMzAwME1CPW0KQ09ORklHX0RWQl9ESUIzMDAwTUM9bQpDT05G SUdfRFZCX0RJQjcwMDBNPW0KQ09ORklHX0RWQl9ESUI3MDAwUD1tCkNPTkZJR19EVkJfRElCOTAw MD1tCkNPTkZJR19EVkJfVERBMTAwNDg9bQpDT05GSUdfRFZCX0FGOTAxMz1tCkNPTkZJR19EVkJf RUMxMDA9bQpDT05GSUdfRFZCX1NUVjAzNjc9bQpDT05GSUdfRFZCX0NYRDI4MjBSPW0KQ09ORklH X0RWQl9DWEQyODQxRVI9bQpDT05GSUdfRFZCX1JUTDI4MzA9bQpDT05GSUdfRFZCX1JUTDI4MzI9 bQpDT05GSUdfRFZCX1JUTDI4MzJfU0RSPW0KQ09ORklHX0RWQl9TSTIxNjg9bQpDT05GSUdfRFZC X1pEMTMwMV9ERU1PRD1tCkNPTkZJR19EVkJfQ1hEMjg4MD1tCgojCiMgRFZCLUMgKGNhYmxlKSBm cm9udGVuZHMKIwpDT05GSUdfRFZCX1ZFUzE4MjA9bQpDT05GSUdfRFZCX1REQTEwMDIxPW0KQ09O RklHX0RWQl9UREExMDAyMz1tCkNPTkZJR19EVkJfU1RWMDI5Nz1tCgojCiMgQVRTQyAoTm9ydGgg QW1lcmljYW4vS29yZWFuIFRlcnJlc3RyaWFsL0NhYmxlIERUVikgZnJvbnRlbmRzCiMKQ09ORklH X0RWQl9OWFQyMDBYPW0KQ09ORklHX0RWQl9PUjUxMjExPW0KQ09ORklHX0RWQl9PUjUxMTMyPW0K Q09ORklHX0RWQl9CQ00zNTEwPW0KQ09ORklHX0RWQl9MR0RUMzMwWD1tCkNPTkZJR19EVkJfTEdE VDMzMDU9bQpDT05GSUdfRFZCX0xHRFQzMzA2QT1tCkNPTkZJR19EVkJfTEcyMTYwPW0KQ09ORklH X0RWQl9TNUgxNDA5PW0KQ09ORklHX0RWQl9BVTg1MjI9bQpDT05GSUdfRFZCX0FVODUyMl9EVFY9 bQpDT05GSUdfRFZCX0FVODUyMl9WNEw9bQpDT05GSUdfRFZCX1M1SDE0MTE9bQpDT05GSUdfRFZC X01YTDY5Mj1tCgojCiMgSVNEQi1UICh0ZXJyZXN0cmlhbCkgZnJvbnRlbmRzCiMKQ09ORklHX0RW Ql9TOTIxPW0KQ09ORklHX0RWQl9ESUI4MDAwPW0KQ09ORklHX0RWQl9NQjg2QTIwUz1tCgojCiMg SVNEQi1TIChzYXRlbGxpdGUpICYgSVNEQi1UICh0ZXJyZXN0cmlhbCkgZnJvbnRlbmRzCiMKQ09O RklHX0RWQl9UQzkwNTIyPW0KQ09ORklHX0RWQl9NTjg4NDQzWD1tCgojCiMgRGlnaXRhbCB0ZXJy ZXN0cmlhbCBvbmx5IHR1bmVycy9QTEwKIwpDT05GSUdfRFZCX1BMTD1tCkNPTkZJR19EVkJfVFVO RVJfRElCMDA3MD1tCkNPTkZJR19EVkJfVFVORVJfRElCMDA5MD1tCgojCiMgU0VDIGNvbnRyb2wg ZGV2aWNlcyBmb3IgRFZCLVMKIwpDT05GSUdfRFZCX0RSWDM5WFlKPW0KQ09ORklHX0RWQl9MTkJI MjU9bQpDT05GSUdfRFZCX0xOQkgyOT1tCkNPTkZJR19EVkJfTE5CUDIxPW0KQ09ORklHX0RWQl9M TkJQMjI9bQpDT05GSUdfRFZCX0lTTDY0MDU9bQpDT05GSUdfRFZCX0lTTDY0MjE9bQpDT05GSUdf RFZCX0lTTDY0MjM9bQpDT05GSUdfRFZCX0E4MjkzPW0KQ09ORklHX0RWQl9MR1M4R0w1PW0KQ09O RklHX0RWQl9MR1M4R1hYPW0KQ09ORklHX0RWQl9BVEJNODgzMD1tCkNPTkZJR19EVkJfVERBNjY1 eD1tCkNPTkZJR19EVkJfSVgyNTA1Vj1tCkNPTkZJR19EVkJfTTg4UlMyMDAwPW0KQ09ORklHX0RW Ql9BRjkwMzM9bQpDT05GSUdfRFZCX0hPUlVTM0E9bQpDT05GSUdfRFZCX0FTQ09UMkU9bQpDT05G SUdfRFZCX0hFTEVORT1tCgojCiMgQ29tbW9uIEludGVyZmFjZSAoRU41MDIyMSkgY29udHJvbGxl ciBkcml2ZXJzCiMKQ09ORklHX0RWQl9DWEQyMDk5PW0KQ09ORklHX0RWQl9TUDI9bQojIGVuZCBv ZiBDdXN0b21pc2UgRFZCIEZyb250ZW5kcwoKIwojIFRvb2xzIHRvIGRldmVsb3AgbmV3IGZyb250 ZW5kcwojCiMgQ09ORklHX0RWQl9EVU1NWV9GRSBpcyBub3Qgc2V0CiMgZW5kIG9mIE1lZGlhIGFu Y2lsbGFyeSBkcml2ZXJzCgojCiMgR3JhcGhpY3Mgc3VwcG9ydAojCiMgQ09ORklHX0FHUCBpcyBu b3Qgc2V0CkNPTkZJR19JTlRFTF9HVFQ9bQpDT05GSUdfVkdBX0FSQj15CkNPTkZJR19WR0FfQVJC X01BWF9HUFVTPTY0CkNPTkZJR19WR0FfU1dJVENIRVJPTz15CkNPTkZJR19EUk09eQpDT05GSUdf RFJNX01JUElfRFNJPXkKQ09ORklHX0RSTV9EUF9BVVhfQ0hBUkRFVj15CiMgQ09ORklHX0RSTV9E RUJVR19NTSBpcyBub3Qgc2V0CkNPTkZJR19EUk1fREVCVUdfU0VMRlRFU1Q9bQpDT05GSUdfRFJN X0tNU19IRUxQRVI9eQpDT05GSUdfRFJNX0tNU19GQl9IRUxQRVI9eQojIENPTkZJR19EUk1fREVC VUdfRFBfTVNUX1RPUE9MT0dZX1JFRlMgaXMgbm90IHNldApDT05GSUdfRFJNX0ZCREVWX0VNVUxB VElPTj15CkNPTkZJR19EUk1fRkJERVZfT1ZFUkFMTE9DPTEwMAojIENPTkZJR19EUk1fRkJERVZf TEVBS19QSFlTX1NNRU0gaXMgbm90IHNldApDT05GSUdfRFJNX0xPQURfRURJRF9GSVJNV0FSRT15 CiMgQ09ORklHX0RSTV9EUF9DRUMgaXMgbm90IHNldApDT05GSUdfRFJNX1RUTT1tCkNPTkZJR19E Uk1fVlJBTV9IRUxQRVI9bQpDT05GSUdfRFJNX1RUTV9IRUxQRVI9bQpDT05GSUdfRFJNX0dFTV9T SE1FTV9IRUxQRVI9eQoKIwojIEkyQyBlbmNvZGVyIG9yIGhlbHBlciBjaGlwcwojCkNPTkZJR19E Uk1fSTJDX0NINzAwNj1tCkNPTkZJR19EUk1fSTJDX1NJTDE2ND1tCiMgQ09ORklHX0RSTV9JMkNf TlhQX1REQTk5OFggaXMgbm90IHNldAojIENPTkZJR19EUk1fSTJDX05YUF9UREE5OTUwIGlzIG5v dCBzZXQKIyBlbmQgb2YgSTJDIGVuY29kZXIgb3IgaGVscGVyIGNoaXBzCgojCiMgQVJNIGRldmlj ZXMKIwojIGVuZCBvZiBBUk0gZGV2aWNlcwoKIyBDT05GSUdfRFJNX1JBREVPTiBpcyBub3Qgc2V0 CiMgQ09ORklHX0RSTV9BTURHUFUgaXMgbm90IHNldAojIENPTkZJR19EUk1fTk9VVkVBVSBpcyBu b3Qgc2V0CkNPTkZJR19EUk1fSTkxNT1tCkNPTkZJR19EUk1fSTkxNV9GT1JDRV9QUk9CRT0iIgpD T05GSUdfRFJNX0k5MTVfQ0FQVFVSRV9FUlJPUj15CkNPTkZJR19EUk1fSTkxNV9DT01QUkVTU19F UlJPUj15CkNPTkZJR19EUk1fSTkxNV9VU0VSUFRSPXkKQ09ORklHX0RSTV9JOTE1X0dWVD15CkNP TkZJR19EUk1fSTkxNV9HVlRfS1ZNR1Q9bQoKIwojIGRybS9pOTE1IERlYnVnZ2luZwojCiMgQ09O RklHX0RSTV9JOTE1X1dFUlJPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9JOTE1X0RFQlVHIGlz IG5vdCBzZXQKIyBDT05GSUdfRFJNX0k5MTVfREVCVUdfTU1JTyBpcyBub3Qgc2V0CiMgQ09ORklH X0RSTV9JOTE1X1NXX0ZFTkNFX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAojIENPTkZJR19EUk1f STkxNV9TV19GRU5DRV9DSEVDS19EQUcgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTkxNV9ERUJV R19HVUMgaXMgbm90IHNldAojIENPTkZJR19EUk1fSTkxNV9TRUxGVEVTVCBpcyBub3Qgc2V0CiMg Q09ORklHX0RSTV9JOTE1X0xPV19MRVZFTF9UUkFDRVBPSU5UUyBpcyBub3Qgc2V0CiMgQ09ORklH X0RSTV9JOTE1X0RFQlVHX1ZCTEFOS19FVkFERSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9JOTE1 X0RFQlVHX1JVTlRJTUVfUE0gaXMgbm90IHNldAojIGVuZCBvZiBkcm0vaTkxNSBEZWJ1Z2dpbmcK CiMKIyBkcm0vaTkxNSBQcm9maWxlIEd1aWRlZCBPcHRpbWlzYXRpb24KIwpDT05GSUdfRFJNX0k5 MTVfRkVOQ0VfVElNRU9VVD0xMDAwMApDT05GSUdfRFJNX0k5MTVfVVNFUkZBVUxUX0FVVE9TVVNQ RU5EPTI1MApDT05GSUdfRFJNX0k5MTVfSEVBUlRCRUFUX0lOVEVSVkFMPTI1MDAKQ09ORklHX0RS TV9JOTE1X1BSRUVNUFRfVElNRU9VVD02NDAKQ09ORklHX0RSTV9JOTE1X01BWF9SRVFVRVNUX0JV U1lXQUlUPTgwMDAKQ09ORklHX0RSTV9JOTE1X1NUT1BfVElNRU9VVD0xMDAKQ09ORklHX0RSTV9J OTE1X1RJTUVTTElDRV9EVVJBVElPTj0xCiMgZW5kIG9mIGRybS9pOTE1IFByb2ZpbGUgR3VpZGVk IE9wdGltaXNhdGlvbgoKQ09ORklHX0RSTV9WR0VNPXkKIyBDT05GSUdfRFJNX1ZLTVMgaXMgbm90 IHNldAojIENPTkZJR19EUk1fVk1XR0ZYIGlzIG5vdCBzZXQKQ09ORklHX0RSTV9HTUE1MDA9bQpD T05GSUdfRFJNX0dNQTYwMD15CiMgQ09ORklHX0RSTV9VREwgaXMgbm90IHNldApDT05GSUdfRFJN X0FTVD1tCkNPTkZJR19EUk1fTUdBRzIwMD1tCkNPTkZJR19EUk1fUVhMPW0KQ09ORklHX0RSTV9C T0NIUz1tCkNPTkZJR19EUk1fVklSVElPX0dQVT1tCkNPTkZJR19EUk1fUEFORUw9eQoKIwojIERp c3BsYXkgUGFuZWxzCiMKIyBDT05GSUdfRFJNX1BBTkVMX1JBU1BCRVJSWVBJX1RPVUNIU0NSRUVO IGlzIG5vdCBzZXQKIyBlbmQgb2YgRGlzcGxheSBQYW5lbHMKCkNPTkZJR19EUk1fQlJJREdFPXkK Q09ORklHX0RSTV9QQU5FTF9CUklER0U9eQoKIwojIERpc3BsYXkgSW50ZXJmYWNlIEJyaWRnZXMK IwojIENPTkZJR19EUk1fQU5BTE9HSVhfQU5YNzhYWCBpcyBub3Qgc2V0CiMgZW5kIG9mIERpc3Bs YXkgSW50ZXJmYWNlIEJyaWRnZXMKCiMgQ09ORklHX0RSTV9FVE5BVklWIGlzIG5vdCBzZXQKQ09O RklHX0RSTV9DSVJSVVNfUUVNVT1tCiMgQ09ORklHX0RSTV9HTTEyVTMyMCBpcyBub3Qgc2V0CiMg Q09ORklHX1RJTllEUk1fSFg4MzU3RCBpcyBub3Qgc2V0CiMgQ09ORklHX1RJTllEUk1fSUxJOTIy NSBpcyBub3Qgc2V0CiMgQ09ORklHX1RJTllEUk1fSUxJOTM0MSBpcyBub3Qgc2V0CiMgQ09ORklH X1RJTllEUk1fSUxJOTQ4NiBpcyBub3Qgc2V0CiMgQ09ORklHX1RJTllEUk1fTUkwMjgzUVQgaXMg bm90IHNldAojIENPTkZJR19USU5ZRFJNX1JFUEFQRVIgaXMgbm90IHNldAojIENPTkZJR19USU5Z RFJNX1NUNzU4NiBpcyBub3Qgc2V0CiMgQ09ORklHX1RJTllEUk1fU1Q3NzM1UiBpcyBub3Qgc2V0 CiMgQ09ORklHX0RSTV9YRU4gaXMgbm90IHNldAojIENPTkZJR19EUk1fVkJPWFZJREVPIGlzIG5v dCBzZXQKIyBDT05GSUdfRFJNX0xFR0FDWSBpcyBub3Qgc2V0CkNPTkZJR19EUk1fRVhQT1JUX0ZP Ul9URVNUUz15CkNPTkZJR19EUk1fUEFORUxfT1JJRU5UQVRJT05fUVVJUktTPXkKQ09ORklHX0RS TV9MSUJfUkFORE9NPXkKCiMKIyBGcmFtZSBidWZmZXIgRGV2aWNlcwojCkNPTkZJR19GQl9DTURM SU5FPXkKQ09ORklHX0ZCX05PVElGWT15CkNPTkZJR19GQj15CiMgQ09ORklHX0ZJUk1XQVJFX0VE SUQgaXMgbm90IHNldApDT05GSUdfRkJfQk9PVF9WRVNBX1NVUFBPUlQ9eQpDT05GSUdfRkJfQ0ZC X0ZJTExSRUNUPXkKQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CkNPTkZJR19GQl9DRkJfSU1BR0VC TElUPXkKQ09ORklHX0ZCX1NZU19GSUxMUkVDVD15CkNPTkZJR19GQl9TWVNfQ09QWUFSRUE9eQpD T05GSUdfRkJfU1lTX0lNQUdFQkxJVD15CiMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5v dCBzZXQKQ09ORklHX0ZCX1NZU19GT1BTPXkKQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKIyBDT05G SUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKQ09ORklHX0ZCX1RJTEVCTElUVElORz15Cgoj CiMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKIwojIENPTkZJR19GQl9DSVJSVVMgaXMg bm90IHNldAojIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAojIENPTkZJR19GQl9DWUJFUjIwMDAg aXMgbm90IHNldAojIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAojIENPTkZJR19GQl9BU0lMSUFO VCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVkdB MTYgaXMgbm90IHNldAojIENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0CkNPTkZJR19GQl9WRVNB PXkKQ09ORklHX0ZCX0VGST15CiMgQ09ORklHX0ZCX040MTEgaXMgbm90IHNldAojIENPTkZJR19G Ql9IR0EgaXMgbm90IHNldAojIENPTkZJR19GQl9PUEVOQ09SRVMgaXMgbm90IHNldAojIENPTkZJ R19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAojIENPTkZJR19GQl9JNzQwIGlzIG5vdCBzZXQKIyBD T05GSUdfRkJfTEU4MDU3OCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qg c2V0CiMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1MzIGlzIG5vdCBzZXQK IyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQK IyBDT05GSUdfRkJfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTkVPTUFHSUMgaXMgbm90IHNl dAojIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAojIENPTkZJR19GQl9WVDg2MjMgaXMgbm90 IHNldAojIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVJLIGlzIG5v dCBzZXQKIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQ0FSTUlORSBpcyBu b3Qgc2V0CiMgQ09ORklHX0ZCX1NNNTAxIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU01TQ1VGWCBp cyBub3Qgc2V0CiMgQ09ORklHX0ZCX1VETCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0lCTV9HWFQ0 NTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiMgQ09ORklHX1hF Tl9GQkRFVl9GUk9OVEVORCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX01FVFJPTk9NRSBpcyBub3Qg c2V0CiMgQ09ORklHX0ZCX01CODYyWFggaXMgbm90IHNldApDT05GSUdfRkJfSFlQRVJWPW0KIyBD T05GSUdfRkJfU0lNUExFIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU003MTIgaXMgbm90IHNldAoj IGVuZCBvZiBGcmFtZSBidWZmZXIgRGV2aWNlcwoKIwojIEJhY2tsaWdodCAmIExDRCBkZXZpY2Ug c3VwcG9ydAojCkNPTkZJR19MQ0RfQ0xBU1NfREVWSUNFPW0KIyBDT05GSUdfTENEX0w0RjAwMjQy VDAzIGlzIG5vdCBzZXQKIyBDT05GSUdfTENEX0xNUzI4M0dGMDUgaXMgbm90IHNldAojIENPTkZJ R19MQ0RfTFRWMzUwUVYgaXMgbm90IHNldAojIENPTkZJR19MQ0RfSUxJOTIyWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0xDRF9JTEk5MzIwIGlzIG5vdCBzZXQKIyBDT05GSUdfTENEX1RETzI0TSBpcyBu b3Qgc2V0CiMgQ09ORklHX0xDRF9WR0cyNDMyQTQgaXMgbm90IHNldApDT05GSUdfTENEX1BMQVRG T1JNPW0KIyBDT05GSUdfTENEX0FNUzM2OUZHMDYgaXMgbm90IHNldAojIENPTkZJR19MQ0RfTE1T NTAxS0YwMyBpcyBub3Qgc2V0CiMgQ09ORklHX0xDRF9IWDgzNTcgaXMgbm90IHNldAojIENPTkZJ R19MQ0RfT1RNMzIyNUEgaXMgbm90IHNldApDT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRT15 CiMgQ09ORklHX0JBQ0tMSUdIVF9LVEQyNTMgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRf UFdNIGlzIG5vdCBzZXQKQ09ORklHX0JBQ0tMSUdIVF9BUFBMRT1tCiMgQ09ORklHX0JBQ0tMSUdI VF9RQ09NX1dMRUQgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRfU0FIQVJBIGlzIG5vdCBz ZXQKIyBDT05GSUdfQkFDS0xJR0hUX0FEUDg4NjAgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElH SFRfQURQODg3MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9MTTM2MzBBIGlzIG5vdCBz ZXQKIyBDT05GSUdfQkFDS0xJR0hUX0xNMzYzOSBpcyBub3Qgc2V0CkNPTkZJR19CQUNLTElHSFRf TFA4NTVYPW0KIyBDT05GSUdfQkFDS0xJR0hUX0dQSU8gaXMgbm90IHNldAojIENPTkZJR19CQUNL TElHSFRfTFY1MjA3TFAgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRfQkQ2MTA3IGlzIG5v dCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX0FSQ1hDTk4gaXMgbm90IHNldAojIGVuZCBvZiBCYWNr bGlnaHQgJiBMQ0QgZGV2aWNlIHN1cHBvcnQKCkNPTkZJR19IRE1JPXkKCiMKIyBDb25zb2xlIGRp c3BsYXkgZHJpdmVyIHN1cHBvcnQKIwpDT05GSUdfVkdBX0NPTlNPTEU9eQpDT05GSUdfRFVNTVlf Q09OU09MRT15CkNPTkZJR19EVU1NWV9DT05TT0xFX0NPTFVNTlM9ODAKQ09ORklHX0RVTU1ZX0NP TlNPTEVfUk9XUz0yNQpDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CkNPTkZJR19GUkFNRUJV RkZFUl9DT05TT0xFX0RFVEVDVF9QUklNQVJZPXkKQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVf Uk9UQVRJT049eQojIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX0RFRkVSUkVEX1RBS0VPVkVS IGlzIG5vdCBzZXQKIyBlbmQgb2YgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CgpDT05G SUdfTE9HTz15CiMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CiMgQ09ORklHX0xP R09fTElOVVhfVkdBMTYgaXMgbm90IHNldApDT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIyBl bmQgb2YgR3JhcGhpY3Mgc3VwcG9ydAoKIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAoKIwojIEhJ RCBzdXBwb3J0CiMKQ09ORklHX0hJRD15CkNPTkZJR19ISURfQkFUVEVSWV9TVFJFTkdUSD15CkNP TkZJR19ISURSQVc9eQpDT05GSUdfVUhJRD1tCkNPTkZJR19ISURfR0VORVJJQz15CgojCiMgU3Bl Y2lhbCBISUQgZHJpdmVycwojCkNPTkZJR19ISURfQTRURUNIPW0KIyBDT05GSUdfSElEX0FDQ1VU T1VDSCBpcyBub3Qgc2V0CkNPTkZJR19ISURfQUNSVVg9bQojIENPTkZJR19ISURfQUNSVVhfRkYg aXMgbm90IHNldApDT05GSUdfSElEX0FQUExFPW0KIyBDT05GSUdfSElEX0FQUExFSVIgaXMgbm90 IHNldApDT05GSUdfSElEX0FTVVM9bQpDT05GSUdfSElEX0FVUkVBTD1tCkNPTkZJR19ISURfQkVM S0lOPW0KIyBDT05GSUdfSElEX0JFVE9QX0ZGIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX0JJR0JF Tl9GRiBpcyBub3Qgc2V0CkNPTkZJR19ISURfQ0hFUlJZPW0KQ09ORklHX0hJRF9DSElDT05ZPW0K IyBDT05GSUdfSElEX0NPUlNBSVIgaXMgbm90IHNldAojIENPTkZJR19ISURfQ09VR0FSIGlzIG5v dCBzZXQKIyBDT05GSUdfSElEX01BQ0FMTFkgaXMgbm90IHNldApDT05GSUdfSElEX0NNRURJQT1t CiMgQ09ORklHX0hJRF9DUDIxMTIgaXMgbm90IHNldAojIENPTkZJR19ISURfQ1JFQVRJVkVfU0Iw NTQwIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9DWVBSRVNTPW0KQ09ORklHX0hJRF9EUkFHT05SSVNF PW0KIyBDT05GSUdfRFJBR09OUklTRV9GRiBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9FTVNfRkYg aXMgbm90IHNldAojIENPTkZJR19ISURfRUxBTiBpcyBub3Qgc2V0CkNPTkZJR19ISURfRUxFQ09N PW0KIyBDT05GSUdfSElEX0VMTyBpcyBub3Qgc2V0CkNPTkZJR19ISURfRVpLRVk9bQpDT05GSUdf SElEX0dFTUJJUkQ9bQpDT05GSUdfSElEX0dGUk09bQojIENPTkZJR19ISURfR0xPUklPVVMgaXMg bm90IHNldAojIENPTkZJR19ISURfSE9MVEVLIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1ZJVkFM REkgaXMgbm90IHNldAojIENPTkZJR19ISURfR1Q2ODNSIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9L RVlUT1VDSD1tCkNPTkZJR19ISURfS1lFPW0KIyBDT05GSUdfSElEX1VDTE9HSUMgaXMgbm90IHNl dApDT05GSUdfSElEX1dBTFRPUD1tCiMgQ09ORklHX0hJRF9WSUVXU09OSUMgaXMgbm90IHNldApD T05GSUdfSElEX0dZUkFUSU9OPW0KQ09ORklHX0hJRF9JQ0FERT1tCkNPTkZJR19ISURfSVRFPW0K Q09ORklHX0hJRF9KQUJSQT1tCkNPTkZJR19ISURfVFdJTkhBTj1tCkNPTkZJR19ISURfS0VOU0lO R1RPTj1tCkNPTkZJR19ISURfTENQT1dFUj1tCkNPTkZJR19ISURfTEVEPW0KQ09ORklHX0hJRF9M RU5PVk89bQpDT05GSUdfSElEX0xPR0lURUNIPW0KQ09ORklHX0hJRF9MT0dJVEVDSF9ESj1tCkNP TkZJR19ISURfTE9HSVRFQ0hfSElEUFA9bQojIENPTkZJR19MT0dJVEVDSF9GRiBpcyBub3Qgc2V0 CiMgQ09ORklHX0xPR0lSVU1CTEVQQUQyX0ZGIGlzIG5vdCBzZXQKIyBDT05GSUdfTE9HSUc5NDBf RkYgaXMgbm90IHNldAojIENPTkZJR19MT0dJV0hFRUxTX0ZGIGlzIG5vdCBzZXQKQ09ORklHX0hJ RF9NQUdJQ01PVVNFPXkKIyBDT05GSUdfSElEX01BTFRST04gaXMgbm90IHNldAojIENPTkZJR19I SURfTUFZRkxBU0ggaXMgbm90IHNldAojIENPTkZJR19ISURfUkVEUkFHT04gaXMgbm90IHNldApD T05GSUdfSElEX01JQ1JPU09GVD1tCkNPTkZJR19ISURfTU9OVEVSRVk9bQpDT05GSUdfSElEX01V TFRJVE9VQ0g9bQpDT05GSUdfSElEX05UST1tCiMgQ09ORklHX0hJRF9OVFJJRyBpcyBub3Qgc2V0 CkNPTkZJR19ISURfT1JURUs9bQpDT05GSUdfSElEX1BBTlRIRVJMT1JEPW0KIyBDT05GSUdfUEFO VEhFUkxPUkRfRkYgaXMgbm90IHNldAojIENPTkZJR19ISURfUEVOTU9VTlQgaXMgbm90IHNldApD T05GSUdfSElEX1BFVEFMWU5YPW0KQ09ORklHX0hJRF9QSUNPTENEPW0KQ09ORklHX0hJRF9QSUNP TENEX0ZCPXkKQ09ORklHX0hJRF9QSUNPTENEX0JBQ0tMSUdIVD15CkNPTkZJR19ISURfUElDT0xD RF9MQ0Q9eQpDT05GSUdfSElEX1BJQ09MQ0RfTEVEUz15CkNPTkZJR19ISURfUElDT0xDRF9DSVI9 eQpDT05GSUdfSElEX1BMQU5UUk9OSUNTPW0KIyBDT05GSUdfSElEX1BMQVlTVEFUSU9OIGlzIG5v dCBzZXQKQ09ORklHX0hJRF9QUklNQVg9bQojIENPTkZJR19ISURfUkVUUk9ERSBpcyBub3Qgc2V0 CiMgQ09ORklHX0hJRF9ST0NDQVQgaXMgbm90IHNldApDT05GSUdfSElEX1NBSVRFSz1tCkNPTkZJ R19ISURfU0FNU1VORz1tCiMgQ09ORklHX0hJRF9TT05ZIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9T UEVFRExJTks9bQojIENPTkZJR19ISURfU1RFQU0gaXMgbm90IHNldApDT05GSUdfSElEX1NURUVM U0VSSUVTPW0KQ09ORklHX0hJRF9TVU5QTFVTPW0KQ09ORklHX0hJRF9STUk9bQpDT05GSUdfSElE X0dSRUVOQVNJQT1tCiMgQ09ORklHX0dSRUVOQVNJQV9GRiBpcyBub3Qgc2V0CkNPTkZJR19ISURf SFlQRVJWX01PVVNFPW0KQ09ORklHX0hJRF9TTUFSVEpPWVBMVVM9bQojIENPTkZJR19TTUFSVEpP WVBMVVNfRkYgaXMgbm90IHNldApDT05GSUdfSElEX1RJVk89bQpDT05GSUdfSElEX1RPUFNFRUQ9 bQpDT05GSUdfSElEX1RISU5HTT1tCkNPTkZJR19ISURfVEhSVVNUTUFTVEVSPW0KIyBDT05GSUdf VEhSVVNUTUFTVEVSX0ZGIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1VEUkFXX1BTMyBpcyBub3Qg c2V0CiMgQ09ORklHX0hJRF9VMkZaRVJPIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1dBQ09NIGlz IG5vdCBzZXQKQ09ORklHX0hJRF9XSUlNT1RFPW0KQ09ORklHX0hJRF9YSU5NTz1tCkNPTkZJR19I SURfWkVST1BMVVM9bQojIENPTkZJR19aRVJPUExVU19GRiBpcyBub3Qgc2V0CkNPTkZJR19ISURf WllEQUNST049bQpDT05GSUdfSElEX1NFTlNPUl9IVUI9eQpDT05GSUdfSElEX1NFTlNPUl9DVVNU T01fU0VOU09SPW0KQ09ORklHX0hJRF9BTFBTPW0KIyBDT05GSUdfSElEX01DUDIyMjEgaXMgbm90 IHNldAojIGVuZCBvZiBTcGVjaWFsIEhJRCBkcml2ZXJzCgojCiMgVVNCIEhJRCBzdXBwb3J0CiMK Q09ORklHX1VTQl9ISUQ9eQojIENPTkZJR19ISURfUElEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC X0hJRERFViBpcyBub3Qgc2V0CiMgZW5kIG9mIFVTQiBISUQgc3VwcG9ydAoKIwojIEkyQyBISUQg c3VwcG9ydAojCiMgQ09ORklHX0kyQ19ISURfQUNQSSBpcyBub3Qgc2V0CiMgZW5kIG9mIEkyQyBI SUQgc3VwcG9ydAoKIwojIEludGVsIElTSCBISUQgc3VwcG9ydAojCkNPTkZJR19JTlRFTF9JU0hf SElEPW0KIyBDT05GSUdfSU5URUxfSVNIX0ZJUk1XQVJFX0RPV05MT0FERVIgaXMgbm90IHNldAoj IGVuZCBvZiBJbnRlbCBJU0ggSElEIHN1cHBvcnQKCiMKIyBBTUQgU0ZIIEhJRCBTdXBwb3J0CiMK IyBDT05GSUdfQU1EX1NGSF9ISUQgaXMgbm90IHNldAojIGVuZCBvZiBBTUQgU0ZIIEhJRCBTdXBw b3J0CiMgZW5kIG9mIEhJRCBzdXBwb3J0CgpDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15 CkNPTkZJR19VU0JfU1VQUE9SVD15CkNPTkZJR19VU0JfQ09NTU9OPXkKIyBDT05GSUdfVVNCX0xF RF9UUklHIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1VMUElfQlVTIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX0NPTk5fR1BJTyBpcyBub3Qgc2V0CkNPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKQ09O RklHX1VTQj15CkNPTkZJR19VU0JfUENJPXkKQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNF Uz15CgojCiMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwojCkNPTkZJR19VU0JfREVGQVVMVF9Q RVJTSVNUPXkKIyBDT05GSUdfVVNCX0ZFV19JTklUX1JFVFJJRVMgaXMgbm90IHNldAojIENPTkZJ R19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAojIENPTkZJR19VU0JfT1RHIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX09UR19QUk9EVUNUTElTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9P VEdfRElTQUJMRV9FWFRFUk5BTF9IVUIgaXMgbm90IHNldApDT05GSUdfVVNCX0xFRFNfVFJJR0dF Ul9VU0JQT1JUPXkKQ09ORklHX1VTQl9BVVRPU1VTUEVORF9ERUxBWT0yCkNPTkZJR19VU0JfTU9O PXkKCiMKIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKIwojIENPTkZJR19VU0JfQzY3WDAw X0hDRCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfWEhDSV9IQ0Q9eQojIENPTkZJR19VU0JfWEhDSV9E QkdDQVAgaXMgbm90IHNldApDT05GSUdfVVNCX1hIQ0lfUENJPXkKIyBDT05GSUdfVVNCX1hIQ0lf UENJX1JFTkVTQVMgaXMgbm90IHNldAojIENPTkZJR19VU0JfWEhDSV9QTEFURk9STSBpcyBub3Qg c2V0CkNPTkZJR19VU0JfRUhDSV9IQ0Q9eQpDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQpD T05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQpDT05GSUdfVVNCX0VIQ0lfUENJPXkKIyBDT05G SUdfVVNCX0VIQ0lfRlNMIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfSENEX1BMQVRGT1JN IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX09YVTIxMEhQX0hDRCBpcyBub3Qgc2V0CiMgQ09ORklH X1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9GT1RHMjEwX0hDRCBpcyBu b3Qgc2V0CiMgQ09ORklHX1VTQl9NQVgzNDIxX0hDRCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfT0hD SV9IQ0Q9eQpDT05GSUdfVVNCX09IQ0lfSENEX1BDST15CiMgQ09ORklHX1VTQl9PSENJX0hDRF9Q TEFURk9STSBpcyBub3Qgc2V0CkNPTkZJR19VU0JfVUhDSV9IQ0Q9eQojIENPTkZJR19VU0JfU0w4 MTFfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9IQ0RfQkNNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9IQ0RfVEVTVF9NT0RF IGlzIG5vdCBzZXQKCiMKIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKIwojIENPTkZJR19VU0Jf QUNNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAojIENPTkZJR19V U0JfV0RNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RNQyBpcyBub3Qgc2V0CgojCiMgTk9URTog VVNCX1NUT1JBR0UgZGVwZW5kcyBvbiBTQ1NJIGJ1dCBCTEtfREVWX1NEIG1heQojCgojCiMgYWxz byBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm8KIwpDT05GSUdf VVNCX1NUT1JBR0U9bQojIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09O RklHX1VTQl9TVE9SQUdFX1JFQUxURUsgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9E QVRBRkFCIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9S QUdFX1VTQkFUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NU T1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMg bm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklH X1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVT U19BVEFDQiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0VORV9VQjYyNTAgaXMgbm90 IHNldAojIENPTkZJR19VU0JfVUFTIGlzIG5vdCBzZXQKCiMKIyBVU0IgSW1hZ2luZyBkZXZpY2Vz CiMKIyBDT05GSUdfVVNCX01EQzgwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NSUNST1RFSyBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQklQX0NPUkUgaXMgbm90IHNldAojIENPTkZJR19VU0JfQ0RO U19TVVBQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX01VU0JfSERSQyBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9EV0MzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0RXQzIgaXMgbm90IHNldAoj IENPTkZJR19VU0JfQ0hJUElERUEgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTc2MCBpcyBu b3Qgc2V0CgojCiMgVVNCIHBvcnQgZHJpdmVycwojCiMgQ09ORklHX1VTQl9VU1M3MjAgaXMgbm90 IHNldApDT05GSUdfVVNCX1NFUklBTD1tCkNPTkZJR19VU0JfU0VSSUFMX0dFTkVSSUM9eQojIENP TkZJR19VU0JfU0VSSUFMX1NJTVBMRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfQUlS Q0FCTEUgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0FSSzMxMTYgaXMgbm90IHNldAoj IENPTkZJR19VU0JfU0VSSUFMX0JFTEtJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxf Q0gzNDEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1dISVRFSEVBVCBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TRVJJQUxfRElHSV9BQ0NFTEVQT1JUIGlzIG5vdCBzZXQKIyBDT05GSUdf VVNCX1NFUklBTF9DUDIxMFggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0NZUFJFU1Nf TTggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0VNUEVHIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX1NFUklBTF9GVERJX1NJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfVklT T1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0lQQVEgaXMgbm90IHNldAojIENPTkZJ R19VU0JfU0VSSUFMX0lSIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVCBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlRfVEkgaXMgbm90IHNldAojIENP TkZJR19VU0JfU0VSSUFMX0Y4MTIzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRjgx NTNYIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9HQVJNSU4gaXMgbm90IHNldAojIENP TkZJR19VU0JfU0VSSUFMX0lQVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfSVVVIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSBpcyBub3Qgc2V0CiMgQ09O RklHX1VTQl9TRVJJQUxfS0VZU1BBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfS0xT SSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfS09CSUxfU0NUIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX1NFUklBTF9NQ1RfVTIzMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxf TUVUUk8gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX01PUzc3MjAgaXMgbm90IHNldAoj IENPTkZJR19VU0JfU0VSSUFMX01PUzc4NDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM X01YVVBPUlQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX05BVk1BTiBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TRVJJQUxfUEwyMzAzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklB TF9PVEk2ODU4IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9RQ0FVWCBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TRVJJQUxfUVVBTENPTU0gaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VS SUFMX1NQQ1A4WDUgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1NBRkUgaXMgbm90IHNl dAojIENPTkZJR19VU0JfU0VSSUFMX1NJRVJSQVdJUkVMRVNTIGlzIG5vdCBzZXQKIyBDT05GSUdf VVNCX1NFUklBTF9TWU1CT0wgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1RJIGlzIG5v dCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9DWUJFUkpBQ0sgaXMgbm90IHNldAojIENPTkZJR19V U0JfU0VSSUFMX09QVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfT01OSU5FVCBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfT1BUSUNPTiBpcyBub3Qgc2V0CiMgQ09ORklH X1VTQl9TRVJJQUxfWFNFTlNfTVQgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1dJU0hC T05FIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9TU1UxMDAgaXMgbm90IHNldAojIENP TkZJR19VU0JfU0VSSUFMX1FUMiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfVVBENzhG MDczMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfWFIgaXMgbm90IHNldApDT05GSUdf VVNCX1NFUklBTF9ERUJVRz1tCgojCiMgVVNCIE1pc2NlbGxhbmVvdXMgZHJpdmVycwojCiMgQ09O RklHX1VTQl9FTUk2MiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9FTUkyNiBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9BRFVUVVggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VWU0VHIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MQ0QgaXMg bm90IHNldAojIENPTkZJR19VU0JfQ1lQUkVTU19DWTdDNjMgaXMgbm90IHNldAojIENPTkZJR19V U0JfQ1lUSEVSTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9JRE1PVVNFIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BUFBMRURJU1BMQVkg aXMgbm90IHNldAojIENPTkZJR19BUFBMRV9NRklfRkFTVENIQVJHRSBpcyBub3Qgc2V0CiMgQ09O RklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAoj IENPTkZJR19VU0JfVFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfSU9XQVJS SU9SIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19VU0Jf RUhTRVRfVEVTVF9GSVhUVVJFIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5v dCBzZXQKIyBDT05GSUdfVVNCX1lVUkVYIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VaVVNCX0ZY MiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9IVUJfVVNCMjUxWEIgaXMgbm90IHNldAojIENPTkZJ R19VU0JfSFNJQ19VU0IzNTAzIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0hTSUNfVVNCNDYwNCBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MSU5LX0xBWUVSX1RFU1QgaXMgbm90IHNldAojIENPTkZJ R19VU0JfQ0hBT1NLRVkgaXMgbm90IHNldAojIENPTkZJR19VU0JfQVRNIGlzIG5vdCBzZXQKCiMK IyBVU0IgUGh5c2ljYWwgTGF5ZXIgZHJpdmVycwojCiMgQ09ORklHX05PUF9VU0JfWENFSVYgaXMg bm90IHNldAojIENPTkZJR19VU0JfR1BJT19WQlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lT UDEzMDEgaXMgbm90IHNldAojIGVuZCBvZiBVU0IgUGh5c2ljYWwgTGF5ZXIgZHJpdmVycwoKIyBD T05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0CkNPTkZJR19UWVBFQz15CiMgQ09ORklHX1RZUEVD X1RDUE0gaXMgbm90IHNldApDT05GSUdfVFlQRUNfVUNTST15CiMgQ09ORklHX1VDU0lfQ0NHIGlz IG5vdCBzZXQKQ09ORklHX1VDU0lfQUNQST15CiMgQ09ORklHX1RZUEVDX1RQUzY1OThYIGlzIG5v dCBzZXQKIyBDT05GSUdfVFlQRUNfU1RVU0IxNjBYIGlzIG5vdCBzZXQKCiMKIyBVU0IgVHlwZS1D IE11bHRpcGxleGVyL0RlTXVsdGlwbGV4ZXIgU3dpdGNoIHN1cHBvcnQKIwojIENPTkZJR19UWVBF Q19NVVhfUEkzVVNCMzA1MzIgaXMgbm90IHNldAojIGVuZCBvZiBVU0IgVHlwZS1DIE11bHRpcGxl eGVyL0RlTXVsdGlwbGV4ZXIgU3dpdGNoIHN1cHBvcnQKCiMKIyBVU0IgVHlwZS1DIEFsdGVybmF0 ZSBNb2RlIGRyaXZlcnMKIwojIENPTkZJR19UWVBFQ19EUF9BTFRNT0RFIGlzIG5vdCBzZXQKIyBl bmQgb2YgVVNCIFR5cGUtQyBBbHRlcm5hdGUgTW9kZSBkcml2ZXJzCgojIENPTkZJR19VU0JfUk9M RV9TV0lUQ0ggaXMgbm90IHNldApDT05GSUdfTU1DPW0KQ09ORklHX01NQ19CTE9DSz1tCkNPTkZJ R19NTUNfQkxPQ0tfTUlOT1JTPTgKQ09ORklHX1NESU9fVUFSVD1tCiMgQ09ORklHX01NQ19URVNU IGlzIG5vdCBzZXQKCiMKIyBNTUMvU0QvU0RJTyBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwojCiMg Q09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19NTUNfU0RIQ0k9bQpDT05GSUdfTU1D X1NESENJX0lPX0FDQ0VTU09SUz15CkNPTkZJR19NTUNfU0RIQ0lfUENJPW0KQ09ORklHX01NQ19S SUNPSF9NTUM9eQpDT05GSUdfTU1DX1NESENJX0FDUEk9bQpDT05GSUdfTU1DX1NESENJX1BMVEZN PW0KIyBDT05GSUdfTU1DX1NESENJX0ZfU0RIMzAgaXMgbm90IHNldAojIENPTkZJR19NTUNfV0JT RCBpcyBub3Qgc2V0CiMgQ09ORklHX01NQ19USUZNX1NEIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1D X1NQSSBpcyBub3Qgc2V0CiMgQ09ORklHX01NQ19DQjcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX01N Q19WSUFfU0RNTUMgaXMgbm90IHNldAojIENPTkZJR19NTUNfVlVCMzAwIGlzIG5vdCBzZXQKIyBD T05GSUdfTU1DX1VTSEMgaXMgbm90IHNldAojIENPTkZJR19NTUNfVVNESEk2Uk9MMCBpcyBub3Qg c2V0CiMgQ09ORklHX01NQ19SRUFMVEVLX1BDSSBpcyBub3Qgc2V0CkNPTkZJR19NTUNfQ1FIQ0k9 bQojIENPTkZJR19NTUNfSFNRIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DX1RPU0hJQkFfUENJIGlz IG5vdCBzZXQKIyBDT05GSUdfTU1DX01USyBpcyBub3Qgc2V0CiMgQ09ORklHX01NQ19TREhDSV9Y RU5PTiBpcyBub3Qgc2V0CiMgQ09ORklHX01FTVNUSUNLIGlzIG5vdCBzZXQKQ09ORklHX05FV19M RURTPXkKQ09ORklHX0xFRFNfQ0xBU1M9eQojIENPTkZJR19MRURTX0NMQVNTX0ZMQVNIIGlzIG5v dCBzZXQKIyBDT05GSUdfTEVEU19DTEFTU19NVUxUSUNPTE9SIGlzIG5vdCBzZXQKIyBDT05GSUdf TEVEU19CUklHSFRORVNTX0hXX0NIQU5HRUQgaXMgbm90IHNldAoKIwojIExFRCBkcml2ZXJzCiMK IyBDT05GSUdfTEVEU19BUFUgaXMgbm90IHNldApDT05GSUdfTEVEU19MTTM1MzA9bQojIENPTkZJ R19MRURTX0xNMzUzMiBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfTE0zNjQyIGlzIG5vdCBzZXQK IyBDT05GSUdfTEVEU19QQ0E5NTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19HUElPIGlzIG5v dCBzZXQKQ09ORklHX0xFRFNfTFAzOTQ0PW0KIyBDT05GSUdfTEVEU19MUDM5NTIgaXMgbm90IHNl dAojIENPTkZJR19MRURTX0xQNTBYWCBpcyBub3Qgc2V0CkNPTkZJR19MRURTX0NMRVZPX01BSUw9 bQojIENPTkZJR19MRURTX1BDQTk1NVggaXMgbm90IHNldAojIENPTkZJR19MRURTX1BDQTk2M1gg aXMgbm90IHNldAojIENPTkZJR19MRURTX0RBQzEyNFMwODUgaXMgbm90IHNldAojIENPTkZJR19M RURTX1BXTSBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfQkQyODAyIGlzIG5vdCBzZXQKQ09ORklH X0xFRFNfSU5URUxfU1M0MjAwPW0KIyBDT05GSUdfTEVEU19UQ0E2NTA3IGlzIG5vdCBzZXQKIyBD T05GSUdfTEVEU19UTEM1OTFYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfTE0zNTV4IGlzIG5v dCBzZXQKCiMKIyBMRUQgZHJpdmVyIGZvciBibGluaygxKSBVU0IgUkdCIExFRCBpcyB1bmRlciBT cGVjaWFsIEhJRCBkcml2ZXJzIChISURfVEhJTkdNKQojCkNPTkZJR19MRURTX0JMSU5LTT1tCkNP TkZJR19MRURTX01MWENQTEQ9bQojIENPTkZJR19MRURTX01MWFJFRyBpcyBub3Qgc2V0CiMgQ09O RklHX0xFRFNfVVNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfTklDNzhCWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0xFRFNfVElfTE1VX0NPTU1PTiBpcyBub3Qgc2V0CgojCiMgRmxhc2ggYW5kIFRv cmNoIExFRCBkcml2ZXJzCiMKCiMKIyBMRUQgVHJpZ2dlcnMKIwpDT05GSUdfTEVEU19UUklHR0VS Uz15CkNPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQpDT05GSUdfTEVEU19UUklHR0VSX09ORVNI T1Q9bQojIENPTkZJR19MRURTX1RSSUdHRVJfRElTSyBpcyBub3Qgc2V0CkNPTkZJR19MRURTX1RS SUdHRVJfSEVBUlRCRUFUPW0KQ09ORklHX0xFRFNfVFJJR0dFUl9CQUNLTElHSFQ9bQojIENPTkZJ R19MRURTX1RSSUdHRVJfQ1BVIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VSX0FDVElW SVRZIGlzIG5vdCBzZXQKQ09ORklHX0xFRFNfVFJJR0dFUl9HUElPPW0KQ09ORklHX0xFRFNfVFJJ R0dFUl9ERUZBVUxUX09OPW0KCiMKIyBpcHRhYmxlcyB0cmlnZ2VyIGlzIHVuZGVyIE5ldGZpbHRl ciBjb25maWcgKExFRCB0YXJnZXQpCiMKQ09ORklHX0xFRFNfVFJJR0dFUl9UUkFOU0lFTlQ9bQpD T05GSUdfTEVEU19UUklHR0VSX0NBTUVSQT1tCiMgQ09ORklHX0xFRFNfVFJJR0dFUl9QQU5JQyBp cyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfVFJJR0dFUl9ORVRERVYgaXMgbm90IHNldAojIENPTkZJ R19MRURTX1RSSUdHRVJfUEFUVEVSTiBpcyBub3Qgc2V0CkNPTkZJR19MRURTX1RSSUdHRVJfQVVE SU89bQojIENPTkZJR19MRURTX1RSSUdHRVJfVFRZIGlzIG5vdCBzZXQKCiMKIyBMRUQgQmxpbmsK IwojIENPTkZJR19MRURTX0JMSU5LIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNDRVNTSUJJTElUWSBp cyBub3Qgc2V0CiMgQ09ORklHX0lORklOSUJBTkQgaXMgbm90IHNldApDT05GSUdfRURBQ19BVE9N SUNfU0NSVUI9eQpDT05GSUdfRURBQ19TVVBQT1JUPXkKQ09ORklHX0VEQUM9eQpDT05GSUdfRURB Q19MRUdBQ1lfU1lTRlM9eQojIENPTkZJR19FREFDX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0VE QUNfREVDT0RFX01DRT1tCkNPTkZJR19FREFDX0dIRVM9eQpDT05GSUdfRURBQ19BTUQ2ND1tCkNP TkZJR19FREFDX0U3NTJYPW0KQ09ORklHX0VEQUNfSTgyOTc1WD1tCkNPTkZJR19FREFDX0kzMDAw PW0KQ09ORklHX0VEQUNfSTMyMDA9bQpDT05GSUdfRURBQ19JRTMxMjAwPW0KQ09ORklHX0VEQUNf WDM4PW0KQ09ORklHX0VEQUNfSTU0MDA9bQpDT05GSUdfRURBQ19JN0NPUkU9bQpDT05GSUdfRURB Q19JNTAwMD1tCkNPTkZJR19FREFDX0k1MTAwPW0KQ09ORklHX0VEQUNfSTczMDA9bQpDT05GSUdf RURBQ19TQlJJREdFPW0KQ09ORklHX0VEQUNfU0tYPW0KIyBDT05GSUdfRURBQ19JMTBOTSBpcyBu b3Qgc2V0CkNPTkZJR19FREFDX1BORDI9bQojIENPTkZJR19FREFDX0lHRU42IGlzIG5vdCBzZXQK Q09ORklHX1JUQ19MSUI9eQpDT05GSUdfUlRDX01DMTQ2ODE4X0xJQj15CkNPTkZJR19SVENfQ0xB U1M9eQpDT05GSUdfUlRDX0hDVE9TWVM9eQpDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMw IgojIENPTkZJR19SVENfU1lTVE9IQyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19ERUJVRyBpcyBu b3Qgc2V0CkNPTkZJR19SVENfTlZNRU09eQoKIwojIFJUQyBpbnRlcmZhY2VzCiMKQ09ORklHX1JU Q19JTlRGX1NZU0ZTPXkKQ09ORklHX1JUQ19JTlRGX1BST0M9eQpDT05GSUdfUlRDX0lOVEZfREVW PXkKIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRD X0RSVl9URVNUIGlzIG5vdCBzZXQKCiMKIyBJMkMgUlRDIGRyaXZlcnMKIwojIENPTkZJR19SVENf RFJWX0FCQjVaRVMzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9BQkVPWjkgaXMgbm90IHNl dAojIENPTkZJR19SVENfRFJWX0FCWDgwWCBpcyBub3Qgc2V0CkNPTkZJR19SVENfRFJWX0RTMTMw Nz1tCiMgQ09ORklHX1JUQ19EUlZfRFMxMzA3X0NFTlRVUlkgaXMgbm90IHNldApDT05GSUdfUlRD X0RSVl9EUzEzNzQ9bQojIENPTkZJR19SVENfRFJWX0RTMTM3NF9XRFQgaXMgbm90IHNldApDT05G SUdfUlRDX0RSVl9EUzE2NzI9bQpDT05GSUdfUlRDX0RSVl9NQVg2OTAwPW0KQ09ORklHX1JUQ19E UlZfUlM1QzM3Mj1tCkNPTkZJR19SVENfRFJWX0lTTDEyMDg9bQpDT05GSUdfUlRDX0RSVl9JU0wx MjAyMj1tCkNPTkZJR19SVENfRFJWX1gxMjA1PW0KQ09ORklHX1JUQ19EUlZfUENGODUyMz1tCiMg Q09ORklHX1JUQ19EUlZfUENGODUwNjMgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjg1 MzYzIGlzIG5vdCBzZXQKQ09ORklHX1JUQ19EUlZfUENGODU2Mz1tCkNPTkZJR19SVENfRFJWX1BD Rjg1ODM9bQpDT05GSUdfUlRDX0RSVl9NNDFUODA9bQpDT05GSUdfUlRDX0RSVl9NNDFUODBfV0RU PXkKQ09ORklHX1JUQ19EUlZfQlEzMks9bQojIENPTkZJR19SVENfRFJWX1MzNTM5MEEgaXMgbm90 IHNldApDT05GSUdfUlRDX0RSVl9GTTMxMzA9bQojIENPTkZJR19SVENfRFJWX1JYODAxMCBpcyBu b3Qgc2V0CkNPTkZJR19SVENfRFJWX1JYODU4MT1tCkNPTkZJR19SVENfRFJWX1JYODAyNT1tCkNP TkZJR19SVENfRFJWX0VNMzAyNz1tCiMgQ09ORklHX1JUQ19EUlZfUlYzMDI4IGlzIG5vdCBzZXQK IyBDT05GSUdfUlRDX0RSVl9SVjMwMzIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1JWODgw MyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfU0QzMDc4IGlzIG5vdCBzZXQKCiMKIyBTUEkg UlRDIGRyaXZlcnMKIwojIENPTkZJR19SVENfRFJWX000MVQ5MyBpcyBub3Qgc2V0CiMgQ09ORklH X1JUQ19EUlZfTTQxVDk0IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzEzMDIgaXMgbm90 IHNldAojIENPTkZJR19SVENfRFJWX0RTMTMwNSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZf RFMxMzQzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzEzNDcgaXMgbm90IHNldAojIENP TkZJR19SVENfRFJWX0RTMTM5MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfTUFYNjkxNiBp cyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUjk3MDEgaXMgbm90IHNldApDT05GSUdfUlRDX0RS Vl9SWDQ1ODE9bQojIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAojIENPTkZJR19S VENfRFJWX01BWDY5MDIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjIxMjMgaXMgbm90 IHNldAojIENPTkZJR19SVENfRFJWX01DUDc5NSBpcyBub3Qgc2V0CkNPTkZJR19SVENfSTJDX0FO RF9TUEk9eQoKIwojIFNQSSBhbmQgSTJDIFJUQyBkcml2ZXJzCiMKQ09ORklHX1JUQ19EUlZfRFMz MjMyPW0KQ09ORklHX1JUQ19EUlZfRFMzMjMyX0hXTU9OPXkKIyBDT05GSUdfUlRDX0RSVl9QQ0Yy MTI3IGlzIG5vdCBzZXQKQ09ORklHX1JUQ19EUlZfUlYzMDI5QzI9bQojIENPTkZJR19SVENfRFJW X1JWMzAyOV9IV01PTiBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUlg2MTEwIGlzIG5vdCBz ZXQKCiMKIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwojCkNPTkZJR19SVENfRFJWX0NNT1M9eQpDT05G SUdfUlRDX0RSVl9EUzEyODY9bQpDT05GSUdfUlRDX0RSVl9EUzE1MTE9bQpDT05GSUdfUlRDX0RS Vl9EUzE1NTM9bQojIENPTkZJR19SVENfRFJWX0RTMTY4NV9GQU1JTFkgaXMgbm90IHNldApDT05G SUdfUlRDX0RSVl9EUzE3NDI9bQpDT05GSUdfUlRDX0RSVl9EUzI0MDQ9bQpDT05GSUdfUlRDX0RS Vl9TVEsxN1RBOD1tCiMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKQ09ORklHX1JU Q19EUlZfTTQ4VDM1PW0KQ09ORklHX1JUQ19EUlZfTTQ4VDU5PW0KQ09ORklHX1JUQ19EUlZfTVNN NjI0Mj1tCkNPTkZJR19SVENfRFJWX0JRNDgwMj1tCkNPTkZJR19SVENfRFJWX1JQNUMwMT1tCkNP TkZJR19SVENfRFJWX1YzMDIwPW0KCiMKIyBvbi1DUFUgUlRDIGRyaXZlcnMKIwojIENPTkZJR19S VENfRFJWX0ZUUlRDMDEwIGlzIG5vdCBzZXQKCiMKIyBISUQgU2Vuc29yIFJUQyBkcml2ZXJzCiMK Q09ORklHX0RNQURFVklDRVM9eQojIENPTkZJR19ETUFERVZJQ0VTX0RFQlVHIGlzIG5vdCBzZXQK CiMKIyBETUEgRGV2aWNlcwojCkNPTkZJR19ETUFfRU5HSU5FPXkKQ09ORklHX0RNQV9WSVJUVUFM X0NIQU5ORUxTPXkKQ09ORklHX0RNQV9BQ1BJPXkKIyBDT05GSUdfQUxURVJBX01TR0RNQSBpcyBu b3Qgc2V0CkNPTkZJR19JTlRFTF9JRE1BNjQ9bQojIENPTkZJR19JTlRFTF9JRFhEIGlzIG5vdCBz ZXQKQ09ORklHX0lOVEVMX0lPQVRETUE9bQojIENPTkZJR19QTFhfRE1BIGlzIG5vdCBzZXQKIyBD T05GSUdfWElMSU5YX1pZTlFNUF9EUERNQSBpcyBub3Qgc2V0CiMgQ09ORklHX1FDT01fSElETUFf TUdNVCBpcyBub3Qgc2V0CiMgQ09ORklHX1FDT01fSElETUEgaXMgbm90IHNldApDT05GSUdfRFdf RE1BQ19DT1JFPXkKQ09ORklHX0RXX0RNQUM9bQpDT05GSUdfRFdfRE1BQ19QQ0k9eQojIENPTkZJ R19EV19FRE1BIGlzIG5vdCBzZXQKIyBDT05GSUdfRFdfRURNQV9QQ0lFIGlzIG5vdCBzZXQKQ09O RklHX0hTVV9ETUE9eQojIENPTkZJR19TRl9QRE1BIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5URUxf TERNQSBpcyBub3Qgc2V0CgojCiMgRE1BIENsaWVudHMKIwpDT05GSUdfQVNZTkNfVFhfRE1BPXkK Q09ORklHX0RNQVRFU1Q9bQpDT05GSUdfRE1BX0VOR0lORV9SQUlEPXkKCiMKIyBETUFCVUYgb3B0 aW9ucwojCkNPTkZJR19TWU5DX0ZJTEU9eQpDT05GSUdfU1dfU1lOQz15CiMgQ09ORklHX1VETUFC VUYgaXMgbm90IHNldAojIENPTkZJR19ETUFCVUZfTU9WRV9OT1RJRlkgaXMgbm90IHNldAojIENP TkZJR19ETUFCVUZfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19ETUFCVUZfU0VMRlRFU1RTIGlz IG5vdCBzZXQKIyBDT05GSUdfRE1BQlVGX0hFQVBTIGlzIG5vdCBzZXQKIyBlbmQgb2YgRE1BQlVG IG9wdGlvbnMKCkNPTkZJR19EQ0E9bQojIENPTkZJR19BVVhESVNQTEFZIGlzIG5vdCBzZXQKIyBD T05GSUdfUEFORUwgaXMgbm90IHNldApDT05GSUdfVUlPPW0KQ09ORklHX1VJT19DSUY9bQpDT05G SUdfVUlPX1BEUlZfR0VOSVJRPW0KIyBDT05GSUdfVUlPX0RNRU1fR0VOSVJRIGlzIG5vdCBzZXQK Q09ORklHX1VJT19BRUM9bQpDT05GSUdfVUlPX1NFUkNPUzM9bQpDT05GSUdfVUlPX1BDSV9HRU5F UklDPW0KIyBDT05GSUdfVUlPX05FVFggaXMgbm90IHNldAojIENPTkZJR19VSU9fUFJVU1MgaXMg bm90IHNldAojIENPTkZJR19VSU9fTUY2MjQgaXMgbm90IHNldApDT05GSUdfVUlPX0hWX0dFTkVS SUM9bQpDT05GSUdfVkZJT19JT01NVV9UWVBFMT1tCkNPTkZJR19WRklPX1ZJUlFGRD1tCkNPTkZJ R19WRklPPW0KQ09ORklHX1ZGSU9fTk9JT01NVT15CkNPTkZJR19WRklPX1BDST1tCiMgQ09ORklH X1ZGSU9fUENJX1ZHQSBpcyBub3Qgc2V0CkNPTkZJR19WRklPX1BDSV9NTUFQPXkKQ09ORklHX1ZG SU9fUENJX0lOVFg9eQojIENPTkZJR19WRklPX1BDSV9JR0QgaXMgbm90IHNldApDT05GSUdfVkZJ T19NREVWPW0KQ09ORklHX1ZGSU9fTURFVl9ERVZJQ0U9bQpDT05GSUdfSVJRX0JZUEFTU19NQU5B R0VSPXkKIyBDT05GSUdfVklSVF9EUklWRVJTIGlzIG5vdCBzZXQKQ09ORklHX1ZJUlRJTz15CkNP TkZJR19WSVJUSU9fUENJX0xJQj15CkNPTkZJR19WSVJUSU9fTUVOVT15CkNPTkZJR19WSVJUSU9f UENJPXkKQ09ORklHX1ZJUlRJT19QQ0lfTEVHQUNZPXkKIyBDT05GSUdfVklSVElPX1BNRU0gaXMg bm90IHNldApDT05GSUdfVklSVElPX0JBTExPT049bQpDT05GSUdfVklSVElPX01FTT1tCkNPTkZJ R19WSVJUSU9fSU5QVVQ9bQojIENPTkZJR19WSVJUSU9fTU1JTyBpcyBub3Qgc2V0CkNPTkZJR19W SVJUSU9fRE1BX1NIQVJFRF9CVUZGRVI9bQojIENPTkZJR19WRFBBIGlzIG5vdCBzZXQKQ09ORklH X1ZIT1NUX0lPVExCPW0KQ09ORklHX1ZIT1NUPW0KQ09ORklHX1ZIT1NUX01FTlU9eQpDT05GSUdf VkhPU1RfTkVUPW0KIyBDT05GSUdfVkhPU1RfU0NTSSBpcyBub3Qgc2V0CkNPTkZJR19WSE9TVF9W U09DSz1tCiMgQ09ORklHX1ZIT1NUX0NST1NTX0VORElBTl9MRUdBQ1kgaXMgbm90IHNldAoKIwoj IE1pY3Jvc29mdCBIeXBlci1WIGd1ZXN0IHN1cHBvcnQKIwpDT05GSUdfSFlQRVJWPW0KQ09ORklH X0hZUEVSVl9USU1FUj15CkNPTkZJR19IWVBFUlZfVVRJTFM9bQpDT05GSUdfSFlQRVJWX0JBTExP T049bQojIGVuZCBvZiBNaWNyb3NvZnQgSHlwZXItViBndWVzdCBzdXBwb3J0CgojCiMgWGVuIGRy aXZlciBzdXBwb3J0CiMKIyBDT05GSUdfWEVOX0JBTExPT04gaXMgbm90IHNldApDT05GSUdfWEVO X0RFVl9FVlRDSE49bQojIENPTkZJR19YRU5fQkFDS0VORCBpcyBub3Qgc2V0CkNPTkZJR19YRU5G Uz1tCkNPTkZJR19YRU5fQ09NUEFUX1hFTkZTPXkKQ09ORklHX1hFTl9TWVNfSFlQRVJWSVNPUj15 CkNPTkZJR19YRU5fWEVOQlVTX0ZST05URU5EPXkKIyBDT05GSUdfWEVOX0dOVERFViBpcyBub3Qg c2V0CiMgQ09ORklHX1hFTl9HUkFOVF9ERVZfQUxMT0MgaXMgbm90IHNldAojIENPTkZJR19YRU5f R1JBTlRfRE1BX0FMTE9DIGlzIG5vdCBzZXQKQ09ORklHX1NXSU9UTEJfWEVOPXkKIyBDT05GSUdf WEVOX1BWQ0FMTFNfRlJPTlRFTkQgaXMgbm90IHNldApDT05GSUdfWEVOX1BSSVZDTUQ9bQpDT05G SUdfWEVOX0VGST15CkNPTkZJR19YRU5fQVVUT19YTEFURT15CkNPTkZJR19YRU5fQUNQST15CiMg Q09ORklHX1hFTl9VTlBPUFVMQVRFRF9BTExPQyBpcyBub3Qgc2V0CiMgZW5kIG9mIFhlbiBkcml2 ZXIgc3VwcG9ydAoKIyBDT05GSUdfR1JFWUJVUyBpcyBub3Qgc2V0CkNPTkZJR19TVEFHSU5HPXkK IyBDT05GSUdfUFJJU00yX1VTQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NPTUVESSBpcyBub3Qgc2V0 CiMgQ09ORklHX1JUTDgxOTJVIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRMTElCIGlzIG5vdCBzZXQK IyBDT05GSUdfUlRMODcyM0JTIGlzIG5vdCBzZXQKIyBDT05GSUdfUjg3MTJVIGlzIG5vdCBzZXQK IyBDT05GSUdfUjgxODhFVSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUUzUyMDggaXMgbm90IHNldAoj IENPTkZJR19WVDY2NTUgaXMgbm90IHNldAojIENPTkZJR19WVDY2NTYgaXMgbm90IHNldAojIENP TkZJR19GQl9TTTc1MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NUQUdJTkdfTUVESUEgaXMgbm90IHNl dAoKIwojIEFuZHJvaWQKIwojIENPTkZJR19BU0hNRU0gaXMgbm90IHNldAojIGVuZCBvZiBBbmRy b2lkCgojIENPTkZJR19MVEVfR0RNNzI0WCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZJUkVXSVJFX1NF UklBTCBpcyBub3Qgc2V0CiMgQ09ORklHX0dTX0ZQR0FCT09UIGlzIG5vdCBzZXQKIyBDT05GSUdf VU5JU1lTU1BBUiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1RGVCBpcyBub3Qgc2V0CiMgQ09ORklH X0tTNzAxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1BJNDMzIGlzIG5vdCBzZXQKCiMKIyBHYXNrZXQg ZGV2aWNlcwojCiMgQ09ORklHX1NUQUdJTkdfR0FTS0VUX0ZSQU1FV09SSyBpcyBub3Qgc2V0CiMg ZW5kIG9mIEdhc2tldCBkZXZpY2VzCgojIENPTkZJR19GSUVMREJVU19ERVYgaXMgbm90IHNldAoj IENPTkZJR19LUEMyMDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfUUxHRSBpcyBub3Qgc2V0CiMgQ09O RklHX1dJTUFYIGlzIG5vdCBzZXQKIyBDT05GSUdfV0ZYIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9Q TEFURk9STV9ERVZJQ0VTPXkKQ09ORklHX0FDUElfV01JPW0KQ09ORklHX1dNSV9CTU9GPW0KIyBD T05GSUdfSFVBV0VJX1dNSSBpcyBub3Qgc2V0CiMgQ09ORklHX1VWX1NZU0ZTIGlzIG5vdCBzZXQK IyBDT05GSUdfSU5URUxfV01JX1NCTF9GV19VUERBVEUgaXMgbm90IHNldApDT05GSUdfSU5URUxf V01JX1RIVU5ERVJCT0xUPW0KQ09ORklHX01YTV9XTUk9bQojIENPTkZJR19QRUFRX1dNSSBpcyBu b3Qgc2V0CiMgQ09ORklHX1hJQU9NSV9XTUkgaXMgbm90IHNldApDT05GSUdfQUNFUkhERj1tCiMg Q09ORklHX0FDRVJfV0lSRUxFU1MgaXMgbm90IHNldApDT05GSUdfQUNFUl9XTUk9bQojIENPTkZJ R19BTURfUE1DIGlzIG5vdCBzZXQKQ09ORklHX0FQUExFX0dNVVg9bQpDT05GSUdfQVNVU19MQVBU T1A9bQojIENPTkZJR19BU1VTX1dJUkVMRVNTIGlzIG5vdCBzZXQKQ09ORklHX0FTVVNfV01JPW0K Q09ORklHX0FTVVNfTkJfV01JPW0KQ09ORklHX0VFRVBDX0xBUFRPUD1tCkNPTkZJR19FRUVQQ19X TUk9bQojIENPTkZJR19YODZfUExBVEZPUk1fRFJJVkVSU19ERUxMIGlzIG5vdCBzZXQKQ09ORklH X0FNSUxPX1JGS0lMTD1tCkNPTkZJR19GVUpJVFNVX0xBUFRPUD1tCkNPTkZJR19GVUpJVFNVX1RB QkxFVD1tCiMgQ09ORklHX0dQRF9QT0NLRVRfRkFOIGlzIG5vdCBzZXQKQ09ORklHX0hQX0FDQ0VM PW0KQ09ORklHX0hQX1dJUkVMRVNTPW0KQ09ORklHX0hQX1dNST1tCiMgQ09ORklHX0lCTV9SVEwg aXMgbm90IHNldApDT05GSUdfSURFQVBBRF9MQVBUT1A9bQpDT05GSUdfU0VOU09SU19IREFQUz1t CkNPTkZJR19USElOS1BBRF9BQ1BJPW0KIyBDT05GSUdfVEhJTktQQURfQUNQSV9ERUJVR0ZBQ0lM SVRJRVMgaXMgbm90IHNldAojIENPTkZJR19USElOS1BBRF9BQ1BJX0RFQlVHIGlzIG5vdCBzZXQK IyBDT05GSUdfVEhJTktQQURfQUNQSV9VTlNBRkVfTEVEUyBpcyBub3Qgc2V0CkNPTkZJR19USElO S1BBRF9BQ1BJX1ZJREVPPXkKQ09ORklHX1RISU5LUEFEX0FDUElfSE9US0VZX1BPTEw9eQojIENP TkZJR19JTlRFTF9BVE9NSVNQMl9QTSBpcyBub3Qgc2V0CkNPTkZJR19JTlRFTF9ISURfRVZFTlQ9 bQojIENPTkZJR19JTlRFTF9JTlQwMDAyX1ZHUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5URUxf TUVOTE9XIGlzIG5vdCBzZXQKQ09ORklHX0lOVEVMX09BS1RSQUlMPW0KQ09ORklHX0lOVEVMX1ZC VE49bQpDT05GSUdfTVNJX0xBUFRPUD1tCkNPTkZJR19NU0lfV01JPW0KIyBDT05GSUdfUENFTkdJ TkVTX0FQVTIgaXMgbm90IHNldApDT05GSUdfU0FNU1VOR19MQVBUT1A9bQpDT05GSUdfU0FNU1VO R19RMTA9bQpDT05GSUdfVE9TSElCQV9CVF9SRktJTEw9bQojIENPTkZJR19UT1NISUJBX0hBUFMg aXMgbm90IHNldAojIENPTkZJR19UT1NISUJBX1dNSSBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0NN UEM9bQpDT05GSUdfQ09NUEFMX0xBUFRPUD1tCiMgQ09ORklHX0xHX0xBUFRPUCBpcyBub3Qgc2V0 CkNPTkZJR19QQU5BU09OSUNfTEFQVE9QPW0KQ09ORklHX1NPTllfTEFQVE9QPW0KQ09ORklHX1NP TllQSV9DT01QQVQ9eQojIENPTkZJR19TWVNURU03Nl9BQ1BJIGlzIG5vdCBzZXQKQ09ORklHX1RP UFNUQVJfTEFQVE9QPW0KIyBDT05GSUdfSTJDX01VTFRJX0lOU1RBTlRJQVRFIGlzIG5vdCBzZXQK Q09ORklHX01MWF9QTEFURk9STT1tCkNPTkZJR19JTlRFTF9JUFM9bQpDT05GSUdfSU5URUxfUlNU PW0KIyBDT05GSUdfSU5URUxfU01BUlRDT05ORUNUIGlzIG5vdCBzZXQKCiMKIyBJbnRlbCBTcGVl ZCBTZWxlY3QgVGVjaG5vbG9neSBpbnRlcmZhY2Ugc3VwcG9ydAojCiMgQ09ORklHX0lOVEVMX1NQ RUVEX1NFTEVDVF9JTlRFUkZBQ0UgaXMgbm90IHNldAojIGVuZCBvZiBJbnRlbCBTcGVlZCBTZWxl Y3QgVGVjaG5vbG9neSBpbnRlcmZhY2Ugc3VwcG9ydAoKQ09ORklHX0lOVEVMX1RVUkJPX01BWF8z PXkKIyBDT05GSUdfSU5URUxfVU5DT1JFX0ZSRVFfQ09OVFJPTCBpcyBub3Qgc2V0CkNPTkZJR19J TlRFTF9QTUNfQ09SRT1tCiMgQ09ORklHX0lOVEVMX1BVTklUX0lQQyBpcyBub3Qgc2V0CiMgQ09O RklHX0lOVEVMX1NDVV9QQ0kgaXMgbm90IHNldAojIENPTkZJR19JTlRFTF9TQ1VfUExBVEZPUk0g aXMgbm90IHNldApDT05GSUdfUE1DX0FUT009eQojIENPTkZJR19DSFJPTUVfUExBVEZPUk1TIGlz IG5vdCBzZXQKQ09ORklHX01FTExBTk9YX1BMQVRGT1JNPXkKQ09ORklHX01MWFJFR19IT1RQTFVH PW0KIyBDT05GSUdfTUxYUkVHX0lPIGlzIG5vdCBzZXQKQ09ORklHX1NVUkZBQ0VfUExBVEZPUk1T PXkKIyBDT05GSUdfU1VSRkFDRTNfV01JIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VSRkFDRV8zX1BP V0VSX09QUkVHSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VSRkFDRV9HUEUgaXMgbm90IHNldAoj IENPTkZJR19TVVJGQUNFX0hPVFBMVUcgaXMgbm90IHNldAojIENPTkZJR19TVVJGQUNFX1BSTzNf QlVUVE9OIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfQ0xLPXkKQ09ORklHX0NMS0RFVl9MT09LVVA9 eQpDT05GSUdfSEFWRV9DTEtfUFJFUEFSRT15CkNPTkZJR19DT01NT05fQ0xLPXkKIyBDT05GSUdf Q09NTU9OX0NMS19NQVg5NDg1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ09NTU9OX0NMS19TSTUzNDEg aXMgbm90IHNldAojIENPTkZJR19DT01NT05fQ0xLX1NJNTM1MSBpcyBub3Qgc2V0CiMgQ09ORklH X0NPTU1PTl9DTEtfU0k1NDQgaXMgbm90IHNldAojIENPTkZJR19DT01NT05fQ0xLX0NEQ0U3MDYg aXMgbm90IHNldAojIENPTkZJR19DT01NT05fQ0xLX0NTMjAwMF9DUCBpcyBub3Qgc2V0CiMgQ09O RklHX0NPTU1PTl9DTEtfUFdNIGlzIG5vdCBzZXQKIyBDT05GSUdfWElMSU5YX1ZDVSBpcyBub3Qg c2V0CkNPTkZJR19IV1NQSU5MT0NLPXkKCiMKIyBDbG9jayBTb3VyY2UgZHJpdmVycwojCkNPTkZJ R19DTEtFVlRfSTgyNTM9eQpDT05GSUdfSTgyNTNfTE9DSz15CkNPTkZJR19DTEtCTERfSTgyNTM9 eQojIGVuZCBvZiBDbG9jayBTb3VyY2UgZHJpdmVycwoKQ09ORklHX01BSUxCT1g9eQpDT05GSUdf UENDPXkKIyBDT05GSUdfQUxURVJBX01CT1ggaXMgbm90IHNldApDT05GSUdfSU9NTVVfSU9WQT15 CkNPTkZJR19JT0FTSUQ9eQpDT05GSUdfSU9NTVVfQVBJPXkKQ09ORklHX0lPTU1VX1NVUFBPUlQ9 eQoKIwojIEdlbmVyaWMgSU9NTVUgUGFnZXRhYmxlIFN1cHBvcnQKIwpDT05GSUdfSU9NTVVfSU9f UEdUQUJMRT15CiMgZW5kIG9mIEdlbmVyaWMgSU9NTVUgUGFnZXRhYmxlIFN1cHBvcnQKCiMgQ09O RklHX0lPTU1VX0RFQlVHRlMgaXMgbm90IHNldAojIENPTkZJR19JT01NVV9ERUZBVUxUX1BBU1NU SFJPVUdIIGlzIG5vdCBzZXQKQ09ORklHX0lPTU1VX0RNQT15CkNPTkZJR19BTURfSU9NTVU9eQpD T05GSUdfQU1EX0lPTU1VX1YyPW0KQ09ORklHX0RNQVJfVEFCTEU9eQpDT05GSUdfSU5URUxfSU9N TVU9eQojIENPTkZJR19JTlRFTF9JT01NVV9TVk0gaXMgbm90IHNldAojIENPTkZJR19JTlRFTF9J T01NVV9ERUZBVUxUX09OIGlzIG5vdCBzZXQKQ09ORklHX0lOVEVMX0lPTU1VX0ZMT1BQWV9XQT15 CiMgQ09ORklHX0lOVEVMX0lPTU1VX1NDQUxBQkxFX01PREVfREVGQVVMVF9PTiBpcyBub3Qgc2V0 CkNPTkZJR19JUlFfUkVNQVA9eQpDT05GSUdfSFlQRVJWX0lPTU1VPXkKCiMKIyBSZW1vdGVwcm9j IGRyaXZlcnMKIwojIENPTkZJR19SRU1PVEVQUk9DIGlzIG5vdCBzZXQKIyBlbmQgb2YgUmVtb3Rl cHJvYyBkcml2ZXJzCgojCiMgUnBtc2cgZHJpdmVycwojCiMgQ09ORklHX1JQTVNHX1FDT01fR0xJ TktfUlBNIGlzIG5vdCBzZXQKIyBDT05GSUdfUlBNU0dfVklSVElPIGlzIG5vdCBzZXQKIyBlbmQg b2YgUnBtc2cgZHJpdmVycwoKIyBDT05GSUdfU09VTkRXSVJFIGlzIG5vdCBzZXQKCiMKIyBTT0Mg KFN5c3RlbSBPbiBDaGlwKSBzcGVjaWZpYyBEcml2ZXJzCiMKCiMKIyBBbWxvZ2ljIFNvQyBkcml2 ZXJzCiMKIyBlbmQgb2YgQW1sb2dpYyBTb0MgZHJpdmVycwoKIwojIEJyb2FkY29tIFNvQyBkcml2 ZXJzCiMKIyBlbmQgb2YgQnJvYWRjb20gU29DIGRyaXZlcnMKCiMKIyBOWFAvRnJlZXNjYWxlIFFv cklRIFNvQyBkcml2ZXJzCiMKIyBlbmQgb2YgTlhQL0ZyZWVzY2FsZSBRb3JJUSBTb0MgZHJpdmVy cwoKIwojIGkuTVggU29DIGRyaXZlcnMKIwojIGVuZCBvZiBpLk1YIFNvQyBkcml2ZXJzCgojCiMg RW5hYmxlIExpdGVYIFNvQyBCdWlsZGVyIHNwZWNpZmljIGRyaXZlcnMKIwojIGVuZCBvZiBFbmFi bGUgTGl0ZVggU29DIEJ1aWxkZXIgc3BlY2lmaWMgZHJpdmVycwoKIwojIFF1YWxjb21tIFNvQyBk cml2ZXJzCiMKIyBlbmQgb2YgUXVhbGNvbW0gU29DIGRyaXZlcnMKCiMgQ09ORklHX1NPQ19USSBp cyBub3Qgc2V0CgojCiMgWGlsaW54IFNvQyBkcml2ZXJzCiMKIyBlbmQgb2YgWGlsaW54IFNvQyBk cml2ZXJzCiMgZW5kIG9mIFNPQyAoU3lzdGVtIE9uIENoaXApIHNwZWNpZmljIERyaXZlcnMKCiMg Q09ORklHX1BNX0RFVkZSRVEgaXMgbm90IHNldAojIENPTkZJR19FWFRDT04gaXMgbm90IHNldAoj IENPTkZJR19NRU1PUlkgaXMgbm90IHNldAojIENPTkZJR19JSU8gaXMgbm90IHNldApDT05GSUdf TlRCPW0KIyBDT05GSUdfTlRCX01TSSBpcyBub3Qgc2V0CiMgQ09ORklHX05UQl9BTUQgaXMgbm90 IHNldAojIENPTkZJR19OVEJfSURUIGlzIG5vdCBzZXQKIyBDT05GSUdfTlRCX0lOVEVMIGlzIG5v dCBzZXQKIyBDT05GSUdfTlRCX0VQRiBpcyBub3Qgc2V0CiMgQ09ORklHX05UQl9TV0lUQ0hURUMg aXMgbm90IHNldAojIENPTkZJR19OVEJfUElOR1BPTkcgaXMgbm90IHNldAojIENPTkZJR19OVEJf VE9PTCBpcyBub3Qgc2V0CiMgQ09ORklHX05UQl9QRVJGIGlzIG5vdCBzZXQKIyBDT05GSUdfTlRC X1RSQU5TUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZNRV9CVVMgaXMgbm90IHNldApDT05GSUdf UFdNPXkKQ09ORklHX1BXTV9TWVNGUz15CiMgQ09ORklHX1BXTV9ERUJVRyBpcyBub3Qgc2V0CiMg Q09ORklHX1BXTV9EV0MgaXMgbm90IHNldApDT05GSUdfUFdNX0xQU1M9bQpDT05GSUdfUFdNX0xQ U1NfUENJPW0KQ09ORklHX1BXTV9MUFNTX1BMQVRGT1JNPW0KIyBDT05GSUdfUFdNX1BDQTk2ODUg aXMgbm90IHNldAoKIwojIElSUSBjaGlwIHN1cHBvcnQKIwojIGVuZCBvZiBJUlEgY2hpcCBzdXBw b3J0CgojIENPTkZJR19JUEFDS19CVVMgaXMgbm90IHNldAojIENPTkZJR19SRVNFVF9DT05UUk9M TEVSIGlzIG5vdCBzZXQKCiMKIyBQSFkgU3Vic3lzdGVtCiMKIyBDT05GSUdfR0VORVJJQ19QSFkg aXMgbm90IHNldAojIENPTkZJR19VU0JfTEdNX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0JDTV9L T05BX1VTQjJfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfUEhZX1BYQV8yOE5NX0hTSUMgaXMgbm90 IHNldAojIENPTkZJR19QSFlfUFhBXzI4Tk1fVVNCMiBpcyBub3Qgc2V0CiMgQ09ORklHX1BIWV9J TlRFTF9MR01fRU1NQyBpcyBub3Qgc2V0CiMgZW5kIG9mIFBIWSBTdWJzeXN0ZW0KCkNPTkZJR19Q T1dFUkNBUD15CkNPTkZJR19JTlRFTF9SQVBMX0NPUkU9bQpDT05GSUdfSU5URUxfUkFQTD1tCiMg Q09ORklHX0lETEVfSU5KRUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfRFRQTSBpcyBub3Qgc2V0CiMg Q09ORklHX01DQiBpcyBub3Qgc2V0CgojCiMgUGVyZm9ybWFuY2UgbW9uaXRvciBzdXBwb3J0CiMK IyBlbmQgb2YgUGVyZm9ybWFuY2UgbW9uaXRvciBzdXBwb3J0CgpDT05GSUdfUkFTPXkKIyBDT05G SUdfUkFTX0NFQyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQjQgaXMgbm90IHNldAoKIwojIEFuZHJv aWQKIwpDT05GSUdfQU5EUk9JRD15CiMgQ09ORklHX0FORFJPSURfQklOREVSX0lQQyBpcyBub3Qg c2V0CiMgZW5kIG9mIEFuZHJvaWQKCkNPTkZJR19MSUJOVkRJTU09bQpDT05GSUdfQkxLX0RFVl9Q TUVNPW0KQ09ORklHX05EX0JMSz1tCkNPTkZJR19ORF9DTEFJTT15CkNPTkZJR19ORF9CVFQ9bQpD T05GSUdfQlRUPXkKQ09ORklHX05EX1BGTj1tCkNPTkZJR19OVkRJTU1fUEZOPXkKQ09ORklHX05W RElNTV9EQVg9eQpDT05GSUdfTlZESU1NX0tFWVM9eQpDT05GSUdfREFYX0RSSVZFUj15CkNPTkZJ R19EQVg9eQpDT05GSUdfREVWX0RBWD1tCkNPTkZJR19ERVZfREFYX1BNRU09bQpDT05GSUdfREVW X0RBWF9LTUVNPW0KQ09ORklHX0RFVl9EQVhfUE1FTV9DT01QQVQ9bQpDT05GSUdfTlZNRU09eQpD T05GSUdfTlZNRU1fU1lTRlM9eQojIENPTkZJR19OVk1FTV9STUVNIGlzIG5vdCBzZXQKCiMKIyBI VyB0cmFjaW5nIHN1cHBvcnQKIwpDT05GSUdfU1RNPW0KIyBDT05GSUdfU1RNX1BST1RPX0JBU0lD IGlzIG5vdCBzZXQKIyBDT05GSUdfU1RNX1BST1RPX1NZU19UIGlzIG5vdCBzZXQKQ09ORklHX1NU TV9EVU1NWT1tCkNPTkZJR19TVE1fU09VUkNFX0NPTlNPTEU9bQpDT05GSUdfU1RNX1NPVVJDRV9I RUFSVEJFQVQ9bQpDT05GSUdfU1RNX1NPVVJDRV9GVFJBQ0U9bQpDT05GSUdfSU5URUxfVEg9bQpD T05GSUdfSU5URUxfVEhfUENJPW0KQ09ORklHX0lOVEVMX1RIX0FDUEk9bQpDT05GSUdfSU5URUxf VEhfR1RIPW0KQ09ORklHX0lOVEVMX1RIX1NUSD1tCkNPTkZJR19JTlRFTF9USF9NU1U9bQpDT05G SUdfSU5URUxfVEhfUFRJPW0KIyBDT05GSUdfSU5URUxfVEhfREVCVUcgaXMgbm90IHNldAojIGVu ZCBvZiBIVyB0cmFjaW5nIHN1cHBvcnQKCiMgQ09ORklHX0ZQR0EgaXMgbm90IHNldAojIENPTkZJ R19URUUgaXMgbm90IHNldAojIENPTkZJR19VTklTWVNfVklTT1JCVVMgaXMgbm90IHNldAojIENP TkZJR19TSU9YIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xJTUJVUyBpcyBub3Qgc2V0CiMgQ09ORklH X0lOVEVSQ09OTkVDVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NPVU5URVIgaXMgbm90IHNldAojIENP TkZJR19NT1NUIGlzIG5vdCBzZXQKIyBlbmQgb2YgRGV2aWNlIERyaXZlcnMKCiMKIyBGaWxlIHN5 c3RlbXMKIwpDT05GSUdfRENBQ0hFX1dPUkRfQUNDRVNTPXkKIyBDT05GSUdfVkFMSURBVEVfRlNf UEFSU0VSIGlzIG5vdCBzZXQKQ09ORklHX0ZTX0lPTUFQPXkKIyBDT05GSUdfRVhUMl9GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldApDT05GSUdfRVhUNF9GUz15CkNPTkZJ R19FWFQ0X1VTRV9GT1JfRVhUMj15CkNPTkZJR19FWFQ0X0ZTX1BPU0lYX0FDTD15CkNPTkZJR19F WFQ0X0ZTX1NFQ1VSSVRZPXkKIyBDT05GSUdfRVhUNF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19K QkQyPXkKIyBDT05GSUdfSkJEMl9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19GU19NQkNBQ0hFPXkK IyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19KRlNfRlMgaXMgbm90IHNl dApDT05GSUdfWEZTX0ZTPW0KQ09ORklHX1hGU19TVVBQT1JUX1Y0PXkKQ09ORklHX1hGU19RVU9U QT15CkNPTkZJR19YRlNfUE9TSVhfQUNMPXkKQ09ORklHX1hGU19SVD15CkNPTkZJR19YRlNfT05M SU5FX1NDUlVCPXkKIyBDT05GSUdfWEZTX09OTElORV9SRVBBSVIgaXMgbm90IHNldApDT05GSUdf WEZTX0RFQlVHPXkKQ09ORklHX1hGU19BU1NFUlRfRkFUQUw9eQpDT05GSUdfR0ZTMl9GUz1tCkNP TkZJR19HRlMyX0ZTX0xPQ0tJTkdfRExNPXkKQ09ORklHX09DRlMyX0ZTPW0KQ09ORklHX09DRlMy X0ZTX08yQ0I9bQpDT05GSUdfT0NGUzJfRlNfVVNFUlNQQUNFX0NMVVNURVI9bQpDT05GSUdfT0NG UzJfRlNfU1RBVFM9eQpDT05GSUdfT0NGUzJfREVCVUdfTUFTS0xPRz15CiMgQ09ORklHX09DRlMy X0RFQlVHX0ZTIGlzIG5vdCBzZXQKQ09ORklHX0JUUkZTX0ZTPW0KQ09ORklHX0JUUkZTX0ZTX1BP U0lYX0FDTD15CiMgQ09ORklHX0JUUkZTX0ZTX0NIRUNLX0lOVEVHUklUWSBpcyBub3Qgc2V0CiMg Q09ORklHX0JUUkZTX0ZTX1JVTl9TQU5JVFlfVEVTVFMgaXMgbm90IHNldAojIENPTkZJR19CVFJG U19ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX0JUUkZTX0FTU0VSVCBpcyBub3Qgc2V0CiMgQ09O RklHX0JUUkZTX0ZTX1JFRl9WRVJJRlkgaXMgbm90IHNldAojIENPTkZJR19OSUxGUzJfRlMgaXMg bm90IHNldApDT05GSUdfRjJGU19GUz1tCkNPTkZJR19GMkZTX1NUQVRfRlM9eQpDT05GSUdfRjJG U19GU19YQVRUUj15CkNPTkZJR19GMkZTX0ZTX1BPU0lYX0FDTD15CiMgQ09ORklHX0YyRlNfRlNf U0VDVVJJVFkgaXMgbm90IHNldAojIENPTkZJR19GMkZTX0NIRUNLX0ZTIGlzIG5vdCBzZXQKIyBD T05GSUdfRjJGU19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAojIENPTkZJR19GMkZTX0ZTX0NP TVBSRVNTSU9OIGlzIG5vdCBzZXQKQ09ORklHX0ZTX0RBWD15CkNPTkZJR19GU19EQVhfUE1EPXkK Q09ORklHX0ZTX1BPU0lYX0FDTD15CkNPTkZJR19FWFBPUlRGUz15CkNPTkZJR19FWFBPUlRGU19C TE9DS19PUFM9eQpDT05GSUdfRklMRV9MT0NLSU5HPXkKQ09ORklHX01BTkRBVE9SWV9GSUxFX0xP Q0tJTkc9eQpDT05GSUdfRlNfRU5DUllQVElPTj15CkNPTkZJR19GU19FTkNSWVBUSU9OX0FMR1M9 eQojIENPTkZJR19GU19WRVJJVFkgaXMgbm90IHNldApDT05GSUdfRlNOT1RJRlk9eQpDT05GSUdf RE5PVElGWT15CkNPTkZJR19JTk9USUZZX1VTRVI9eQpDT05GSUdfRkFOT1RJRlk9eQpDT05GSUdf RkFOT1RJRllfQUNDRVNTX1BFUk1JU1NJT05TPXkKQ09ORklHX1FVT1RBPXkKQ09ORklHX1FVT1RB X05FVExJTktfSU5URVJGQUNFPXkKQ09ORklHX1BSSU5UX1FVT1RBX1dBUk5JTkc9eQojIENPTkZJ R19RVU9UQV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19RVU9UQV9UUkVFPXkKIyBDT05GSUdfUUZN VF9WMSBpcyBub3Qgc2V0CkNPTkZJR19RRk1UX1YyPXkKQ09ORklHX1FVT1RBQ1RMPXkKQ09ORklH X0FVVE9GUzRfRlM9eQpDT05GSUdfQVVUT0ZTX0ZTPXkKQ09ORklHX0ZVU0VfRlM9bQpDT05GSUdf Q1VTRT1tCiMgQ09ORklHX1ZJUlRJT19GUyBpcyBub3Qgc2V0CkNPTkZJR19PVkVSTEFZX0ZTPW0K IyBDT05GSUdfT1ZFUkxBWV9GU19SRURJUkVDVF9ESVIgaXMgbm90IHNldAojIENPTkZJR19PVkVS TEFZX0ZTX1JFRElSRUNUX0FMV0FZU19GT0xMT1cgaXMgbm90IHNldAojIENPTkZJR19PVkVSTEFZ X0ZTX0lOREVYIGlzIG5vdCBzZXQKIyBDT05GSUdfT1ZFUkxBWV9GU19YSU5PX0FVVE8gaXMgbm90 IHNldAojIENPTkZJR19PVkVSTEFZX0ZTX01FVEFDT1BZIGlzIG5vdCBzZXQKCiMKIyBDYWNoZXMK IwpDT05GSUdfRlNDQUNIRT1tCkNPTkZJR19GU0NBQ0hFX1NUQVRTPXkKIyBDT05GSUdfRlNDQUNI RV9ISVNUT0dSQU0gaXMgbm90IHNldAojIENPTkZJR19GU0NBQ0hFX0RFQlVHIGlzIG5vdCBzZXQK IyBDT05GSUdfRlNDQUNIRV9PQkpFQ1RfTElTVCBpcyBub3Qgc2V0CkNPTkZJR19DQUNIRUZJTEVT PW0KIyBDT05GSUdfQ0FDSEVGSUxFU19ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX0NBQ0hFRklM RVNfSElTVE9HUkFNIGlzIG5vdCBzZXQKIyBlbmQgb2YgQ2FjaGVzCgojCiMgQ0QtUk9NL0RWRCBG aWxlc3lzdGVtcwojCkNPTkZJR19JU085NjYwX0ZTPW0KQ09ORklHX0pPTElFVD15CkNPTkZJR19a SVNPRlM9eQpDT05GSUdfVURGX0ZTPW0KIyBlbmQgb2YgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwoK IwojIERPUy9GQVQvRVhGQVQvTlQgRmlsZXN5c3RlbXMKIwpDT05GSUdfRkFUX0ZTPW0KQ09ORklH X01TRE9TX0ZTPW0KQ09ORklHX1ZGQVRfRlM9bQpDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9 NDM3CkNPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9ImFzY2lpIgojIENPTkZJR19GQVRfREVG QVVMVF9VVEY4IGlzIG5vdCBzZXQKIyBDT05GSUdfRVhGQVRfRlMgaXMgbm90IHNldAojIENPTkZJ R19OVEZTX0ZTIGlzIG5vdCBzZXQKIyBlbmQgb2YgRE9TL0ZBVC9FWEZBVC9OVCBGaWxlc3lzdGVt cwoKIwojIFBzZXVkbyBmaWxlc3lzdGVtcwojCkNPTkZJR19QUk9DX0ZTPXkKQ09ORklHX1BST0Nf S0NPUkU9eQpDT05GSUdfUFJPQ19WTUNPUkU9eQpDT05GSUdfUFJPQ19WTUNPUkVfREVWSUNFX0RV TVA9eQpDT05GSUdfUFJPQ19TWVNDVEw9eQpDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQpDT05G SUdfUFJPQ19DSElMRFJFTj15CkNPTkZJR19QUk9DX1BJRF9BUkNIX1NUQVRVUz15CkNPTkZJR19Q Uk9DX0NQVV9SRVNDVFJMPXkKQ09ORklHX0tFUk5GUz15CkNPTkZJR19TWVNGUz15CkNPTkZJR19U TVBGUz15CkNPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQpDT05GSUdfVE1QRlNfWEFUVFI9eQojIENP TkZJR19UTVBGU19JTk9ERTY0IGlzIG5vdCBzZXQKQ09ORklHX0hVR0VUTEJGUz15CkNPTkZJR19I VUdFVExCX1BBR0U9eQpDT05GSUdfTUVNRkRfQ1JFQVRFPXkKQ09ORklHX0FSQ0hfSEFTX0dJR0FO VElDX1BBR0U9eQpDT05GSUdfQ09ORklHRlNfRlM9eQpDT05GSUdfRUZJVkFSX0ZTPXkKIyBlbmQg b2YgUHNldWRvIGZpbGVzeXN0ZW1zCgpDT05GSUdfTUlTQ19GSUxFU1lTVEVNUz15CiMgQ09ORklH X09SQU5HRUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0FGRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90IHNldAojIENP TkZJR19IRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKIyBD T05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0VGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19DUkFNRlM9bQpDT05GSUdfQ1JBTUZTX0JMT0NL REVWPXkKQ09ORklHX1NRVUFTSEZTPW0KIyBDT05GSUdfU1FVQVNIRlNfRklMRV9DQUNIRSBpcyBu b3Qgc2V0CkNPTkZJR19TUVVBU0hGU19GSUxFX0RJUkVDVD15CiMgQ09ORklHX1NRVUFTSEZTX0RF Q09NUF9TSU5HTEUgaXMgbm90IHNldAojIENPTkZJR19TUVVBU0hGU19ERUNPTVBfTVVMVEkgaXMg bm90IHNldApDT05GSUdfU1FVQVNIRlNfREVDT01QX01VTFRJX1BFUkNQVT15CkNPTkZJR19TUVVB U0hGU19YQVRUUj15CkNPTkZJR19TUVVBU0hGU19aTElCPXkKIyBDT05GSUdfU1FVQVNIRlNfTFo0 IGlzIG5vdCBzZXQKQ09ORklHX1NRVUFTSEZTX0xaTz15CkNPTkZJR19TUVVBU0hGU19YWj15CiMg Q09ORklHX1NRVUFTSEZTX1pTVEQgaXMgbm90IHNldAojIENPTkZJR19TUVVBU0hGU180S19ERVZC TEtfU0laRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NRVUFTSEZTX0VNQkVEREVEIGlzIG5vdCBzZXQK Q09ORklHX1NRVUFTSEZTX0ZSQUdNRU5UX0NBQ0hFX1NJWkU9MwojIENPTkZJR19WWEZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAojIENPTkZJR19PTUZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1FOWDRGU19GUyBp cyBub3Qgc2V0CiMgQ09ORklHX1FOWDZGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JPTUZTX0ZT IGlzIG5vdCBzZXQKQ09ORklHX1BTVE9SRT15CkNPTkZJR19QU1RPUkVfREVGQVVMVF9LTVNHX0JZ VEVTPTEwMjQwCkNPTkZJR19QU1RPUkVfREVGTEFURV9DT01QUkVTUz15CiMgQ09ORklHX1BTVE9S RV9MWk9fQ09NUFJFU1MgaXMgbm90IHNldAojIENPTkZJR19QU1RPUkVfTFo0X0NPTVBSRVNTIGlz IG5vdCBzZXQKIyBDT05GSUdfUFNUT1JFX0xaNEhDX0NPTVBSRVNTIGlzIG5vdCBzZXQKIyBDT05G SUdfUFNUT1JFXzg0Ml9DT01QUkVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BTVE9SRV9aU1REX0NP TVBSRVNTIGlzIG5vdCBzZXQKQ09ORklHX1BTVE9SRV9DT01QUkVTUz15CkNPTkZJR19QU1RPUkVf REVGTEFURV9DT01QUkVTU19ERUZBVUxUPXkKQ09ORklHX1BTVE9SRV9DT01QUkVTU19ERUZBVUxU PSJkZWZsYXRlIgpDT05GSUdfUFNUT1JFX0NPTlNPTEU9eQpDT05GSUdfUFNUT1JFX1BNU0c9eQoj IENPTkZJR19QU1RPUkVfRlRSQUNFIGlzIG5vdCBzZXQKQ09ORklHX1BTVE9SRV9SQU09bQojIENP TkZJR19QU1RPUkVfQkxLIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiMg Q09ORklHX1VGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0VST0ZTX0ZTIGlzIG5vdCBzZXQKQ09O RklHX05FVFdPUktfRklMRVNZU1RFTVM9eQpDT05GSUdfTkZTX0ZTPXkKIyBDT05GSUdfTkZTX1Yy IGlzIG5vdCBzZXQKQ09ORklHX05GU19WMz15CkNPTkZJR19ORlNfVjNfQUNMPXkKQ09ORklHX05G U19WND1tCiMgQ09ORklHX05GU19TV0FQIGlzIG5vdCBzZXQKQ09ORklHX05GU19WNF8xPXkKQ09O RklHX05GU19WNF8yPXkKQ09ORklHX1BORlNfRklMRV9MQVlPVVQ9bQpDT05GSUdfUE5GU19CTE9D Sz1tCkNPTkZJR19QTkZTX0ZMRVhGSUxFX0xBWU9VVD1tCkNPTkZJR19ORlNfVjRfMV9JTVBMRU1F TlRBVElPTl9JRF9ET01BSU49Imtlcm5lbC5vcmciCiMgQ09ORklHX05GU19WNF8xX01JR1JBVElP TiBpcyBub3Qgc2V0CkNPTkZJR19ORlNfVjRfU0VDVVJJVFlfTEFCRUw9eQpDT05GSUdfUk9PVF9O RlM9eQojIENPTkZJR19ORlNfVVNFX0xFR0FDWV9ETlMgaXMgbm90IHNldApDT05GSUdfTkZTX1VT RV9LRVJORUxfRE5TPXkKQ09ORklHX05GU19ERUJVRz15CkNPTkZJR19ORlNfRElTQUJMRV9VRFBf U1VQUE9SVD15CiMgQ09ORklHX05GU19WNF8yX1JFQURfUExVUyBpcyBub3Qgc2V0CkNPTkZJR19O RlNEPW0KQ09ORklHX05GU0RfVjJfQUNMPXkKQ09ORklHX05GU0RfVjM9eQpDT05GSUdfTkZTRF9W M19BQ0w9eQpDT05GSUdfTkZTRF9WND15CkNPTkZJR19ORlNEX1BORlM9eQojIENPTkZJR19ORlNE X0JMT0NLTEFZT1VUIGlzIG5vdCBzZXQKQ09ORklHX05GU0RfU0NTSUxBWU9VVD15CiMgQ09ORklH X05GU0RfRkxFWEZJTEVMQVlPVVQgaXMgbm90IHNldAojIENPTkZJR19ORlNEX1Y0XzJfSU5URVJf U1NDIGlzIG5vdCBzZXQKQ09ORklHX05GU0RfVjRfU0VDVVJJVFlfTEFCRUw9eQpDT05GSUdfR1JB Q0VfUEVSSU9EPXkKQ09ORklHX0xPQ0tEPXkKQ09ORklHX0xPQ0tEX1Y0PXkKQ09ORklHX05GU19B Q0xfU1VQUE9SVD15CkNPTkZJR19ORlNfQ09NTU9OPXkKQ09ORklHX05GU19WNF8yX1NTQ19IRUxQ RVI9eQpDT05GSUdfU1VOUlBDPXkKQ09ORklHX1NVTlJQQ19HU1M9bQpDT05GSUdfU1VOUlBDX0JB Q0tDSEFOTkVMPXkKQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT1tCiMgQ09ORklHX1NVTlJQQ19ESVNB QkxFX0lOU0VDVVJFX0VOQ1RZUEVTIGlzIG5vdCBzZXQKQ09ORklHX1NVTlJQQ19ERUJVRz15CkNP TkZJR19DRVBIX0ZTPW0KIyBDT05GSUdfQ0VQSF9GU0NBQ0hFIGlzIG5vdCBzZXQKQ09ORklHX0NF UEhfRlNfUE9TSVhfQUNMPXkKIyBDT05GSUdfQ0VQSF9GU19TRUNVUklUWV9MQUJFTCBpcyBub3Qg c2V0CkNPTkZJR19DSUZTPW0KIyBDT05GSUdfQ0lGU19TVEFUUzIgaXMgbm90IHNldApDT05GSUdf Q0lGU19BTExPV19JTlNFQ1VSRV9MRUdBQ1k9eQpDT05GSUdfQ0lGU19XRUFLX1BXX0hBU0g9eQpD T05GSUdfQ0lGU19VUENBTEw9eQpDT05GSUdfQ0lGU19YQVRUUj15CkNPTkZJR19DSUZTX1BPU0lY PXkKQ09ORklHX0NJRlNfREVCVUc9eQojIENPTkZJR19DSUZTX0RFQlVHMiBpcyBub3Qgc2V0CiMg Q09ORklHX0NJRlNfREVCVUdfRFVNUF9LRVlTIGlzIG5vdCBzZXQKQ09ORklHX0NJRlNfREZTX1VQ Q0FMTD15CiMgQ09ORklHX0NJRlNfU1dOX1VQQ0FMTCBpcyBub3Qgc2V0CiMgQ09ORklHX0NJRlNf RlNDQUNIRSBpcyBub3Qgc2V0CiMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAojIENPTkZJR19B RlNfRlMgaXMgbm90IHNldAojIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CkNPTkZJR19OTFM9eQpD T05GSUdfTkxTX0RFRkFVTFQ9InV0ZjgiCkNPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKQ09ORklH X05MU19DT0RFUEFHRV83Mzc9bQpDT05GSUdfTkxTX0NPREVQQUdFXzc3NT1tCkNPTkZJR19OTFNf Q09ERVBBR0VfODUwPW0KQ09ORklHX05MU19DT0RFUEFHRV84NTI9bQpDT05GSUdfTkxTX0NPREVQ QUdFXzg1NT1tCkNPTkZJR19OTFNfQ09ERVBBR0VfODU3PW0KQ09ORklHX05MU19DT0RFUEFHRV84 NjA9bQpDT05GSUdfTkxTX0NPREVQQUdFXzg2MT1tCkNPTkZJR19OTFNfQ09ERVBBR0VfODYyPW0K Q09ORklHX05MU19DT0RFUEFHRV84NjM9bQpDT05GSUdfTkxTX0NPREVQQUdFXzg2ND1tCkNPTkZJ R19OTFNfQ09ERVBBR0VfODY1PW0KQ09ORklHX05MU19DT0RFUEFHRV84NjY9bQpDT05GSUdfTkxT X0NPREVQQUdFXzg2OT1tCkNPTkZJR19OTFNfQ09ERVBBR0VfOTM2PW0KQ09ORklHX05MU19DT0RF UEFHRV85NTA9bQpDT05GSUdfTkxTX0NPREVQQUdFXzkzMj1tCkNPTkZJR19OTFNfQ09ERVBBR0Vf OTQ5PW0KQ09ORklHX05MU19DT0RFUEFHRV84NzQ9bQpDT05GSUdfTkxTX0lTTzg4NTlfOD1tCkNP TkZJR19OTFNfQ09ERVBBR0VfMTI1MD1tCkNPTkZJR19OTFNfQ09ERVBBR0VfMTI1MT1tCkNPTkZJ R19OTFNfQVNDSUk9eQpDT05GSUdfTkxTX0lTTzg4NTlfMT1tCkNPTkZJR19OTFNfSVNPODg1OV8y PW0KQ09ORklHX05MU19JU084ODU5XzM9bQpDT05GSUdfTkxTX0lTTzg4NTlfND1tCkNPTkZJR19O TFNfSVNPODg1OV81PW0KQ09ORklHX05MU19JU084ODU5XzY9bQpDT05GSUdfTkxTX0lTTzg4NTlf Nz1tCkNPTkZJR19OTFNfSVNPODg1OV85PW0KQ09ORklHX05MU19JU084ODU5XzEzPW0KQ09ORklH X05MU19JU084ODU5XzE0PW0KQ09ORklHX05MU19JU084ODU5XzE1PW0KQ09ORklHX05MU19LT0k4 X1I9bQpDT05GSUdfTkxTX0tPSThfVT1tCkNPTkZJR19OTFNfTUFDX1JPTUFOPW0KQ09ORklHX05M U19NQUNfQ0VMVElDPW0KQ09ORklHX05MU19NQUNfQ0VOVEVVUk89bQpDT05GSUdfTkxTX01BQ19D Uk9BVElBTj1tCkNPTkZJR19OTFNfTUFDX0NZUklMTElDPW0KQ09ORklHX05MU19NQUNfR0FFTElD PW0KQ09ORklHX05MU19NQUNfR1JFRUs9bQpDT05GSUdfTkxTX01BQ19JQ0VMQU5EPW0KQ09ORklH X05MU19NQUNfSU5VSVQ9bQpDT05GSUdfTkxTX01BQ19ST01BTklBTj1tCkNPTkZJR19OTFNfTUFD X1RVUktJU0g9bQpDT05GSUdfTkxTX1VURjg9bQpDT05GSUdfRExNPW0KQ09ORklHX0RMTV9ERUJV Rz15CiMgQ09ORklHX1VOSUNPREUgaXMgbm90IHNldApDT05GSUdfSU9fV1E9eQojIGVuZCBvZiBG aWxlIHN5c3RlbXMKCiMKIyBTZWN1cml0eSBvcHRpb25zCiMKQ09ORklHX0tFWVM9eQojIENPTkZJ R19LRVlTX1JFUVVFU1RfQ0FDSEUgaXMgbm90IHNldApDT05GSUdfUEVSU0lTVEVOVF9LRVlSSU5H Uz15CkNPTkZJR19UUlVTVEVEX0tFWVM9eQpDT05GSUdfRU5DUllQVEVEX0tFWVM9eQojIENPTkZJ R19LRVlfREhfT1BFUkFUSU9OUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZX0RNRVNHX1JF U1RSSUNUIGlzIG5vdCBzZXQKQ09ORklHX1NFQ1VSSVRZPXkKQ09ORklHX1NFQ1VSSVRZX1dSSVRB QkxFX0hPT0tTPXkKQ09ORklHX1NFQ1VSSVRZRlM9eQpDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15 CkNPTkZJR19QQUdFX1RBQkxFX0lTT0xBVElPTj15CkNPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hG Uk09eQojIENPTkZJR19TRUNVUklUWV9QQVRIIGlzIG5vdCBzZXQKQ09ORklHX0lOVEVMX1RYVD15 CkNPTkZJR19MU01fTU1BUF9NSU5fQUREUj02NTUzNQpDT05GSUdfSEFWRV9IQVJERU5FRF9VU0VS Q09QWV9BTExPQ0FUT1I9eQpDT05GSUdfSEFSREVORURfVVNFUkNPUFk9eQpDT05GSUdfSEFSREVO RURfVVNFUkNPUFlfRkFMTEJBQ0s9eQojIENPTkZJR19IQVJERU5FRF9VU0VSQ09QWV9QQUdFU1BB TiBpcyBub3Qgc2V0CkNPTkZJR19GT1JUSUZZX1NPVVJDRT15CiMgQ09ORklHX1NUQVRJQ19VU0VS TU9ERUhFTFBFUiBpcyBub3Qgc2V0CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYPXkKQ09ORklHX1NF Q1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRElTQUJM RT15CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RFVkVMT1A9eQpDT05GSUdfU0VDVVJJVFlfU0VM SU5VWF9BVkNfU1RBVFM9eQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9DSEVDS1JFUVBST1RfVkFM VUU9MQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9TSURUQUJfSEFTSF9CSVRTPTkKQ09ORklHX1NF Q1VSSVRZX1NFTElOVVhfU0lEMlNUUl9DQUNIRV9TSVpFPTI1NgojIENPTkZJR19TRUNVUklUWV9T TUFDSyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VSSVRZX1RPTU9ZTyBpcyBub3Qgc2V0CiMgQ09O RklHX1NFQ1VSSVRZX0FQUEFSTU9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VDVVJJVFlfTE9BRFBJ TiBpcyBub3Qgc2V0CkNPTkZJR19TRUNVUklUWV9ZQU1BPXkKIyBDT05GSUdfU0VDVVJJVFlfU0FG RVNFVElEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VDVVJJVFlfTE9DS0RPV05fTFNNIGlzIG5vdCBz ZXQKQ09ORklHX0lOVEVHUklUWT15CkNPTkZJR19JTlRFR1JJVFlfU0lHTkFUVVJFPXkKQ09ORklH X0lOVEVHUklUWV9BU1lNTUVUUklDX0tFWVM9eQpDT05GSUdfSU5URUdSSVRZX1RSVVNURURfS0VZ UklORz15CiMgQ09ORklHX0lOVEVHUklUWV9QTEFURk9STV9LRVlSSU5HIGlzIG5vdCBzZXQKQ09O RklHX0lOVEVHUklUWV9BVURJVD15CkNPTkZJR19JTUE9eQpDT05GSUdfSU1BX01FQVNVUkVfUENS X0lEWD0xMApDT05GSUdfSU1BX0xTTV9SVUxFUz15CiMgQ09ORklHX0lNQV9URU1QTEFURSBpcyBu b3Qgc2V0CkNPTkZJR19JTUFfTkdfVEVNUExBVEU9eQojIENPTkZJR19JTUFfU0lHX1RFTVBMQVRF IGlzIG5vdCBzZXQKQ09ORklHX0lNQV9ERUZBVUxUX1RFTVBMQVRFPSJpbWEtbmciCkNPTkZJR19J TUFfREVGQVVMVF9IQVNIX1NIQTE9eQojIENPTkZJR19JTUFfREVGQVVMVF9IQVNIX1NIQTI1NiBp cyBub3Qgc2V0CiMgQ09ORklHX0lNQV9ERUZBVUxUX0hBU0hfU0hBNTEyIGlzIG5vdCBzZXQKQ09O RklHX0lNQV9ERUZBVUxUX0hBU0g9InNoYTEiCkNPTkZJR19JTUFfV1JJVEVfUE9MSUNZPXkKQ09O RklHX0lNQV9SRUFEX1BPTElDWT15CkNPTkZJR19JTUFfQVBQUkFJU0U9eQpDT05GSUdfSU1BX0FS Q0hfUE9MSUNZPXkKIyBDT05GSUdfSU1BX0FQUFJBSVNFX0JVSUxEX1BPTElDWSBpcyBub3Qgc2V0 CkNPTkZJR19JTUFfQVBQUkFJU0VfQk9PVFBBUkFNPXkKIyBDT05GSUdfSU1BX0FQUFJBSVNFX01P RFNJRyBpcyBub3Qgc2V0CkNPTkZJR19JTUFfVFJVU1RFRF9LRVlSSU5HPXkKIyBDT05GSUdfSU1B X0JMQUNLTElTVF9LRVlSSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfSU1BX0xPQURfWDUwOSBpcyBu b3Qgc2V0CkNPTkZJR19JTUFfTUVBU1VSRV9BU1lNTUVUUklDX0tFWVM9eQpDT05GSUdfSU1BX1FV RVVFX0VBUkxZX0JPT1RfS0VZUz15CkNPTkZJR19JTUFfU0VDVVJFX0FORF9PUl9UUlVTVEVEX0JP T1Q9eQpDT05GSUdfRVZNPXkKQ09ORklHX0VWTV9BVFRSX0ZTVVVJRD15CiMgQ09ORklHX0VWTV9B RERfWEFUVFJTIGlzIG5vdCBzZXQKIyBDT05GSUdfRVZNX0xPQURfWDUwOSBpcyBub3Qgc2V0CkNP TkZJR19ERUZBVUxUX1NFQ1VSSVRZX1NFTElOVVg9eQojIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZ X0RBQyBpcyBub3Qgc2V0CkNPTkZJR19MU009ImxvY2tkb3duLHlhbWEsbG9hZHBpbixzYWZlc2V0 aWQsaW50ZWdyaXR5LHNlbGludXgsc21hY2ssdG9tb3lvLGFwcGFybW9yLGJwZiIKCiMKIyBLZXJu ZWwgaGFyZGVuaW5nIG9wdGlvbnMKIwoKIwojIE1lbW9yeSBpbml0aWFsaXphdGlvbgojCkNPTkZJ R19JTklUX1NUQUNLX05PTkU9eQojIENPTkZJR19JTklUX09OX0FMTE9DX0RFRkFVTFRfT04gaXMg bm90IHNldAojIENPTkZJR19JTklUX09OX0ZSRUVfREVGQVVMVF9PTiBpcyBub3Qgc2V0CiMgZW5k IG9mIE1lbW9yeSBpbml0aWFsaXphdGlvbgojIGVuZCBvZiBLZXJuZWwgaGFyZGVuaW5nIG9wdGlv bnMKIyBlbmQgb2YgU2VjdXJpdHkgb3B0aW9ucwoKQ09ORklHX1hPUl9CTE9DS1M9bQpDT05GSUdf QVNZTkNfQ09SRT1tCkNPTkZJR19BU1lOQ19NRU1DUFk9bQpDT05GSUdfQVNZTkNfWE9SPW0KQ09O RklHX0FTWU5DX1BRPW0KQ09ORklHX0FTWU5DX1JBSUQ2X1JFQ09WPW0KQ09ORklHX0NSWVBUTz15 CgojCiMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiMKQ09ORklHX0NSWVBUT19BTEdBUEk9eQpDT05G SUdfQ1JZUFRPX0FMR0FQSTI9eQpDT05GSUdfQ1JZUFRPX0FFQUQ9eQpDT05GSUdfQ1JZUFRPX0FF QUQyPXkKQ09ORklHX0NSWVBUT19TS0NJUEhFUj15CkNPTkZJR19DUllQVE9fU0tDSVBIRVIyPXkK Q09ORklHX0NSWVBUT19IQVNIPXkKQ09ORklHX0NSWVBUT19IQVNIMj15CkNPTkZJR19DUllQVE9f Uk5HPXkKQ09ORklHX0NSWVBUT19STkcyPXkKQ09ORklHX0NSWVBUT19STkdfREVGQVVMVD15CkNP TkZJR19DUllQVE9fQUtDSVBIRVIyPXkKQ09ORklHX0NSWVBUT19BS0NJUEhFUj15CkNPTkZJR19D UllQVE9fS1BQMj15CkNPTkZJR19DUllQVE9fS1BQPW0KQ09ORklHX0NSWVBUT19BQ09NUDI9eQpD T05GSUdfQ1JZUFRPX01BTkFHRVI9eQpDT05GSUdfQ1JZUFRPX01BTkFHRVIyPXkKQ09ORklHX0NS WVBUT19VU0VSPW0KQ09ORklHX0NSWVBUT19NQU5BR0VSX0RJU0FCTEVfVEVTVFM9eQpDT05GSUdf Q1JZUFRPX0dGMTI4TVVMPXkKQ09ORklHX0NSWVBUT19OVUxMPXkKQ09ORklHX0NSWVBUT19OVUxM Mj15CkNPTkZJR19DUllQVE9fUENSWVBUPW0KQ09ORklHX0NSWVBUT19DUllQVEQ9eQpDT05GSUdf Q1JZUFRPX0FVVEhFTkM9bQpDT05GSUdfQ1JZUFRPX1RFU1Q9bQpDT05GSUdfQ1JZUFRPX1NJTUQ9 eQoKIwojIFB1YmxpYy1rZXkgY3J5cHRvZ3JhcGh5CiMKQ09ORklHX0NSWVBUT19SU0E9eQpDT05G SUdfQ1JZUFRPX0RIPW0KQ09ORklHX0NSWVBUT19FQ0M9bQpDT05GSUdfQ1JZUFRPX0VDREg9bQoj IENPTkZJR19DUllQVE9fRUNSRFNBIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NNMiBpcyBu b3Qgc2V0CiMgQ09ORklHX0NSWVBUT19DVVJWRTI1NTE5IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZ UFRPX0NVUlZFMjU1MTlfWDg2IGlzIG5vdCBzZXQKCiMKIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRp b24gd2l0aCBBc3NvY2lhdGVkIERhdGEKIwpDT05GSUdfQ1JZUFRPX0NDTT1tCkNPTkZJR19DUllQ VE9fR0NNPXkKQ09ORklHX0NSWVBUT19DSEFDSEEyMFBPTFkxMzA1PW0KIyBDT05GSUdfQ1JZUFRP X0FFR0lTMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FFR0lTMTI4X0FFU05JX1NTRTIg aXMgbm90IHNldApDT05GSUdfQ1JZUFRPX1NFUUlWPXkKQ09ORklHX0NSWVBUT19FQ0hBSU5JVj1t CgojCiMgQmxvY2sgbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0NCQz15CkNPTkZJR19DUllQVE9fQ0ZC PXkKQ09ORklHX0NSWVBUT19DVFI9eQpDT05GSUdfQ1JZUFRPX0NUUz15CkNPTkZJR19DUllQVE9f RUNCPXkKQ09ORklHX0NSWVBUT19MUlc9bQojIENPTkZJR19DUllQVE9fT0ZCIGlzIG5vdCBzZXQK Q09ORklHX0NSWVBUT19QQ0JDPW0KQ09ORklHX0NSWVBUT19YVFM9eQojIENPTkZJR19DUllQVE9f S0VZV1JBUCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19OSFBPTFkxMzA1X1NTRTIgaXMgbm90 IHNldAojIENPTkZJR19DUllQVE9fTkhQT0xZMTMwNV9BVlgyIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1JZUFRPX0FESUFOVFVNIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19FU1NJVj1tCgojCiMgSGFz aCBtb2RlcwojCkNPTkZJR19DUllQVE9fQ01BQz1tCkNPTkZJR19DUllQVE9fSE1BQz15CkNPTkZJ R19DUllQVE9fWENCQz1tCkNPTkZJR19DUllQVE9fVk1BQz1tCgojCiMgRGlnZXN0CiMKQ09ORklH X0NSWVBUT19DUkMzMkM9eQpDT05GSUdfQ1JZUFRPX0NSQzMyQ19JTlRFTD1tCkNPTkZJR19DUllQ VE9fQ1JDMzI9bQpDT05GSUdfQ1JZUFRPX0NSQzMyX1BDTE1VTD1tCkNPTkZJR19DUllQVE9fWFhI QVNIPW0KQ09ORklHX0NSWVBUT19CTEFLRTJCPW0KIyBDT05GSUdfQ1JZUFRPX0JMQUtFMlMgaXMg bm90IHNldAojIENPTkZJR19DUllQVE9fQkxBS0UyU19YODYgaXMgbm90IHNldApDT05GSUdfQ1JZ UFRPX0NSQ1QxMERJRj15CkNPTkZJR19DUllQVE9fQ1JDVDEwRElGX1BDTE1VTD1tCkNPTkZJR19D UllQVE9fR0hBU0g9eQpDT05GSUdfQ1JZUFRPX1BPTFkxMzA1PW0KQ09ORklHX0NSWVBUT19QT0xZ MTMwNV9YODZfNjQ9bQpDT05GSUdfQ1JZUFRPX01END1tCkNPTkZJR19DUllQVE9fTUQ1PXkKQ09O RklHX0NSWVBUT19NSUNIQUVMX01JQz1tCkNPTkZJR19DUllQVE9fUk1EMTYwPW0KQ09ORklHX0NS WVBUT19TSEExPXkKQ09ORklHX0NSWVBUT19TSEExX1NTU0UzPXkKQ09ORklHX0NSWVBUT19TSEEy NTZfU1NTRTM9eQpDT05GSUdfQ1JZUFRPX1NIQTUxMl9TU1NFMz1tCkNPTkZJR19DUllQVE9fU0hB MjU2PXkKQ09ORklHX0NSWVBUT19TSEE1MTI9eQpDT05GSUdfQ1JZUFRPX1NIQTM9bQojIENPTkZJ R19DUllQVE9fU00zIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NUUkVFQk9HIGlzIG5vdCBz ZXQKQ09ORklHX0NSWVBUT19XUDUxMj1tCkNPTkZJR19DUllQVE9fR0hBU0hfQ0xNVUxfTklfSU5U RUw9bQoKIwojIENpcGhlcnMKIwpDT05GSUdfQ1JZUFRPX0FFUz15CiMgQ09ORklHX0NSWVBUT19B RVNfVEkgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0FFU19OSV9JTlRFTD15CkNPTkZJR19DUllQ VE9fQU5VQklTPW0KQ09ORklHX0NSWVBUT19BUkM0PW0KQ09ORklHX0NSWVBUT19CTE9XRklTSD1t CkNPTkZJR19DUllQVE9fQkxPV0ZJU0hfQ09NTU9OPW0KQ09ORklHX0NSWVBUT19CTE9XRklTSF9Y ODZfNjQ9bQpDT05GSUdfQ1JZUFRPX0NBTUVMTElBPW0KQ09ORklHX0NSWVBUT19DQU1FTExJQV9Y ODZfNjQ9bQpDT05GSUdfQ1JZUFRPX0NBTUVMTElBX0FFU05JX0FWWF9YODZfNjQ9bQpDT05GSUdf Q1JZUFRPX0NBTUVMTElBX0FFU05JX0FWWDJfWDg2XzY0PW0KQ09ORklHX0NSWVBUT19DQVNUX0NP TU1PTj1tCkNPTkZJR19DUllQVE9fQ0FTVDU9bQpDT05GSUdfQ1JZUFRPX0NBU1Q1X0FWWF9YODZf NjQ9bQpDT05GSUdfQ1JZUFRPX0NBU1Q2PW0KQ09ORklHX0NSWVBUT19DQVNUNl9BVlhfWDg2XzY0 PW0KQ09ORklHX0NSWVBUT19ERVM9bQpDT05GSUdfQ1JZUFRPX0RFUzNfRURFX1g4Nl82ND1tCkNP TkZJR19DUllQVE9fRkNSWVBUPW0KQ09ORklHX0NSWVBUT19LSEFaQUQ9bQpDT05GSUdfQ1JZUFRP X0NIQUNIQTIwPW0KQ09ORklHX0NSWVBUT19DSEFDSEEyMF9YODZfNjQ9bQpDT05GSUdfQ1JZUFRP X1NFRUQ9bQpDT05GSUdfQ1JZUFRPX1NFUlBFTlQ9bQpDT05GSUdfQ1JZUFRPX1NFUlBFTlRfU1NF Ml9YODZfNjQ9bQpDT05GSUdfQ1JZUFRPX1NFUlBFTlRfQVZYX1g4Nl82ND1tCkNPTkZJR19DUllQ VE9fU0VSUEVOVF9BVlgyX1g4Nl82ND1tCiMgQ09ORklHX0NSWVBUT19TTTQgaXMgbm90IHNldApD T05GSUdfQ1JZUFRPX1RFQT1tCkNPTkZJR19DUllQVE9fVFdPRklTSD1tCkNPTkZJR19DUllQVE9f VFdPRklTSF9DT01NT049bQpDT05GSUdfQ1JZUFRPX1RXT0ZJU0hfWDg2XzY0PW0KQ09ORklHX0NS WVBUT19UV09GSVNIX1g4Nl82NF8zV0FZPW0KQ09ORklHX0NSWVBUT19UV09GSVNIX0FWWF9YODZf NjQ9bQoKIwojIENvbXByZXNzaW9uCiMKQ09ORklHX0NSWVBUT19ERUZMQVRFPXkKQ09ORklHX0NS WVBUT19MWk89eQojIENPTkZJR19DUllQVE9fODQyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRP X0xaNCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MWjRIQyBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19aU1REIGlzIG5vdCBzZXQKCiMKIyBSYW5kb20gTnVtYmVyIEdlbmVyYXRpb24KIwpD T05GSUdfQ1JZUFRPX0FOU0lfQ1BSTkc9bQpDT05GSUdfQ1JZUFRPX0RSQkdfTUVOVT15CkNPTkZJ R19DUllQVE9fRFJCR19ITUFDPXkKQ09ORklHX0NSWVBUT19EUkJHX0hBU0g9eQpDT05GSUdfQ1JZ UFRPX0RSQkdfQ1RSPXkKQ09ORklHX0NSWVBUT19EUkJHPXkKQ09ORklHX0NSWVBUT19KSVRURVJF TlRST1BZPXkKQ09ORklHX0NSWVBUT19VU0VSX0FQST15CkNPTkZJR19DUllQVE9fVVNFUl9BUElf SEFTSD15CkNPTkZJR19DUllQVE9fVVNFUl9BUElfU0tDSVBIRVI9eQpDT05GSUdfQ1JZUFRPX1VT RVJfQVBJX1JORz15CiMgQ09ORklHX0NSWVBUT19VU0VSX0FQSV9STkdfQ0FWUCBpcyBub3Qgc2V0 CkNPTkZJR19DUllQVE9fVVNFUl9BUElfQUVBRD15CkNPTkZJR19DUllQVE9fVVNFUl9BUElfRU5B QkxFX09CU09MRVRFPXkKIyBDT05GSUdfQ1JZUFRPX1NUQVRTIGlzIG5vdCBzZXQKQ09ORklHX0NS WVBUT19IQVNIX0lORk89eQoKIwojIENyeXB0byBsaWJyYXJ5IHJvdXRpbmVzCiMKQ09ORklHX0NS WVBUT19MSUJfQUVTPXkKQ09ORklHX0NSWVBUT19MSUJfQVJDND1tCiMgQ09ORklHX0NSWVBUT19M SUJfQkxBS0UyUyBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fQVJDSF9IQVZFX0xJQl9DSEFDSEE9 bQpDT05GSUdfQ1JZUFRPX0xJQl9DSEFDSEFfR0VORVJJQz1tCiMgQ09ORklHX0NSWVBUT19MSUJf Q0hBQ0hBIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0xJQl9DVVJWRTI1NTE5IGlzIG5vdCBz ZXQKQ09ORklHX0NSWVBUT19MSUJfREVTPW0KQ09ORklHX0NSWVBUT19MSUJfUE9MWTEzMDVfUlNJ WkU9MTEKQ09ORklHX0NSWVBUT19BUkNIX0hBVkVfTElCX1BPTFkxMzA1PW0KQ09ORklHX0NSWVBU T19MSUJfUE9MWTEzMDVfR0VORVJJQz1tCiMgQ09ORklHX0NSWVBUT19MSUJfUE9MWTEzMDUgaXMg bm90IHNldAojIENPTkZJR19DUllQVE9fTElCX0NIQUNIQTIwUE9MWTEzMDUgaXMgbm90IHNldApD T05GSUdfQ1JZUFRPX0xJQl9TSEEyNTY9eQpDT05GSUdfQ1JZUFRPX0hXPXkKQ09ORklHX0NSWVBU T19ERVZfUEFETE9DSz1tCkNPTkZJR19DUllQVE9fREVWX1BBRExPQ0tfQUVTPW0KQ09ORklHX0NS WVBUT19ERVZfUEFETE9DS19TSEE9bQojIENPTkZJR19DUllQVE9fREVWX0FUTUVMX0VDQyBpcyBu b3Qgc2V0CiMgQ09ORklHX0NSWVBUT19ERVZfQVRNRUxfU0hBMjA0QSBpcyBub3Qgc2V0CkNPTkZJ R19DUllQVE9fREVWX0NDUD15CkNPTkZJR19DUllQVE9fREVWX0NDUF9ERD1tCkNPTkZJR19DUllQ VE9fREVWX1NQX0NDUD15CkNPTkZJR19DUllQVE9fREVWX0NDUF9DUllQVE89bQpDT05GSUdfQ1JZ UFRPX0RFVl9TUF9QU1A9eQojIENPTkZJR19DUllQVE9fREVWX0NDUF9ERUJVR0ZTIGlzIG5vdCBz ZXQKQ09ORklHX0NSWVBUT19ERVZfUUFUPW0KQ09ORklHX0NSWVBUT19ERVZfUUFUX0RIODk1eEND PW0KQ09ORklHX0NSWVBUT19ERVZfUUFUX0MzWFhYPW0KQ09ORklHX0NSWVBUT19ERVZfUUFUX0M2 Mlg9bQojIENPTkZJR19DUllQVE9fREVWX1FBVF80WFhYIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBU T19ERVZfUUFUX0RIODk1eENDVkY9bQpDT05GSUdfQ1JZUFRPX0RFVl9RQVRfQzNYWFhWRj1tCkNP TkZJR19DUllQVE9fREVWX1FBVF9DNjJYVkY9bQpDT05GSUdfQ1JZUFRPX0RFVl9OSVRST1g9bQpD T05GSUdfQ1JZUFRPX0RFVl9OSVRST1hfQ05ONTVYWD1tCiMgQ09ORklHX0NSWVBUT19ERVZfVklS VElPIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0RFVl9TQUZFWENFTCBpcyBub3Qgc2V0CiMg Q09ORklHX0NSWVBUT19ERVZfQU1MT0dJQ19HWEwgaXMgbm90IHNldApDT05GSUdfQVNZTU1FVFJJ Q19LRVlfVFlQRT15CkNPTkZJR19BU1lNTUVUUklDX1BVQkxJQ19LRVlfU1VCVFlQRT15CiMgQ09O RklHX0FTWU1NRVRSSUNfVFBNX0tFWV9TVUJUWVBFIGlzIG5vdCBzZXQKQ09ORklHX1g1MDlfQ0VS VElGSUNBVEVfUEFSU0VSPXkKIyBDT05GSUdfUEtDUzhfUFJJVkFURV9LRVlfUEFSU0VSIGlzIG5v dCBzZXQKQ09ORklHX1BLQ1M3X01FU1NBR0VfUEFSU0VSPXkKIyBDT05GSUdfUEtDUzdfVEVTVF9L RVkgaXMgbm90IHNldApDT05GSUdfU0lHTkVEX1BFX0ZJTEVfVkVSSUZJQ0FUSU9OPXkKCiMKIyBD ZXJ0aWZpY2F0ZXMgZm9yIHNpZ25hdHVyZSBjaGVja2luZwojCkNPTkZJR19NT0RVTEVfU0lHX0tF WT0iY2VydHMvc2lnbmluZ19rZXkucGVtIgpDT05GSUdfU1lTVEVNX1RSVVNURURfS0VZUklORz15 CkNPTkZJR19TWVNURU1fVFJVU1RFRF9LRVlTPSIiCiMgQ09ORklHX1NZU1RFTV9FWFRSQV9DRVJU SUZJQ0FURSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ09OREFSWV9UUlVTVEVEX0tFWVJJTkcgaXMg bm90IHNldApDT05GSUdfU1lTVEVNX0JMQUNLTElTVF9LRVlSSU5HPXkKQ09ORklHX1NZU1RFTV9C TEFDS0xJU1RfSEFTSF9MSVNUPSIiCiMgZW5kIG9mIENlcnRpZmljYXRlcyBmb3Igc2lnbmF0dXJl IGNoZWNraW5nCgpDT05GSUdfQklOQVJZX1BSSU5URj15CgojCiMgTGlicmFyeSByb3V0aW5lcwoj CkNPTkZJR19SQUlENl9QUT1tCkNPTkZJR19SQUlENl9QUV9CRU5DSE1BUks9eQojIENPTkZJR19Q QUNLSU5HIGlzIG5vdCBzZXQKQ09ORklHX0JJVFJFVkVSU0U9eQpDT05GSUdfR0VORVJJQ19TVFJO Q1BZX0ZST01fVVNFUj15CkNPTkZJR19HRU5FUklDX1NUUk5MRU5fVVNFUj15CkNPTkZJR19HRU5F UklDX05FVF9VVElMUz15CkNPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUPXkKQ09ORklHX0NP UkRJQz1tCkNPTkZJR19QUklNRV9OVU1CRVJTPW0KQ09ORklHX1JBVElPTkFMPXkKQ09ORklHX0dF TkVSSUNfUENJX0lPTUFQPXkKQ09ORklHX0dFTkVSSUNfSU9NQVA9eQpDT05GSUdfQVJDSF9VU0Vf Q01QWENIR19MT0NLUkVGPXkKQ09ORklHX0FSQ0hfSEFTX0ZBU1RfTVVMVElQTElFUj15CkNPTkZJ R19BUkNIX1VTRV9TWU1fQU5OT1RBVElPTlM9eQpDT05GSUdfQ1JDX0NDSVRUPXkKQ09ORklHX0NS QzE2PXkKQ09ORklHX0NSQ19UMTBESUY9eQpDT05GSUdfQ1JDX0lUVV9UPW0KQ09ORklHX0NSQzMy PXkKIyBDT05GSUdfQ1JDMzJfU0VMRlRFU1QgaXMgbm90IHNldApDT05GSUdfQ1JDMzJfU0xJQ0VC WTg9eQojIENPTkZJR19DUkMzMl9TTElDRUJZNCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzMyX1NB UldBVEUgaXMgbm90IHNldAojIENPTkZJR19DUkMzMl9CSVQgaXMgbm90IHNldAojIENPTkZJR19D UkM2NCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzQgaXMgbm90IHNldApDT05GSUdfQ1JDNz1tCkNP TkZJR19MSUJDUkMzMkM9bQpDT05GSUdfQ1JDOD1tCkNPTkZJR19YWEhBU0g9eQojIENPTkZJR19S QU5ET00zMl9TRUxGVEVTVCBpcyBub3Qgc2V0CkNPTkZJR19aTElCX0lORkxBVEU9eQpDT05GSUdf WkxJQl9ERUZMQVRFPXkKQ09ORklHX0xaT19DT01QUkVTUz15CkNPTkZJR19MWk9fREVDT01QUkVT Uz15CkNPTkZJR19MWjRfREVDT01QUkVTUz15CkNPTkZJR19aU1REX0NPTVBSRVNTPW0KQ09ORklH X1pTVERfREVDT01QUkVTUz15CkNPTkZJR19YWl9ERUM9eQpDT05GSUdfWFpfREVDX1g4Nj15CkNP TkZJR19YWl9ERUNfUE9XRVJQQz15CkNPTkZJR19YWl9ERUNfSUE2ND15CkNPTkZJR19YWl9ERUNf QVJNPXkKQ09ORklHX1haX0RFQ19BUk1USFVNQj15CkNPTkZJR19YWl9ERUNfU1BBUkM9eQpDT05G SUdfWFpfREVDX0JDSj15CiMgQ09ORklHX1haX0RFQ19URVNUIGlzIG5vdCBzZXQKQ09ORklHX0RF Q09NUFJFU1NfR1pJUD15CkNPTkZJR19ERUNPTVBSRVNTX0JaSVAyPXkKQ09ORklHX0RFQ09NUFJF U1NfTFpNQT15CkNPTkZJR19ERUNPTVBSRVNTX1haPXkKQ09ORklHX0RFQ09NUFJFU1NfTFpPPXkK Q09ORklHX0RFQ09NUFJFU1NfTFo0PXkKQ09ORklHX0RFQ09NUFJFU1NfWlNURD15CkNPTkZJR19H RU5FUklDX0FMTE9DQVRPUj15CkNPTkZJR19SRUVEX1NPTE9NT049bQpDT05GSUdfUkVFRF9TT0xP TU9OX0VOQzg9eQpDT05GSUdfUkVFRF9TT0xPTU9OX0RFQzg9eQpDT05GSUdfVEVYVFNFQVJDSD15 CkNPTkZJR19URVhUU0VBUkNIX0tNUD1tCkNPTkZJR19URVhUU0VBUkNIX0JNPW0KQ09ORklHX1RF WFRTRUFSQ0hfRlNNPW0KQ09ORklHX0lOVEVSVkFMX1RSRUU9eQpDT05GSUdfWEFSUkFZX01VTFRJ PXkKQ09ORklHX0FTU09DSUFUSVZFX0FSUkFZPXkKQ09ORklHX0hBU19JT01FTT15CkNPTkZJR19I QVNfSU9QT1JUX01BUD15CkNPTkZJR19IQVNfRE1BPXkKQ09ORklHX0RNQV9PUFM9eQpDT05GSUdf TkVFRF9TR19ETUFfTEVOR1RIPXkKQ09ORklHX05FRURfRE1BX01BUF9TVEFURT15CkNPTkZJR19B UkNIX0RNQV9BRERSX1RfNjRCSVQ9eQpDT05GSUdfQVJDSF9IQVNfRk9SQ0VfRE1BX1VORU5DUllQ VEVEPXkKQ09ORklHX1NXSU9UTEI9eQpDT05GSUdfRE1BX0NPSEVSRU5UX1BPT0w9eQojIENPTkZJ R19ETUFfQVBJX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0RNQV9NQVBfQkVOQ0hNQVJLPXkKQ09O RklHX1NHTF9BTExPQz15CkNPTkZJR19DSEVDS19TSUdOQVRVUkU9eQpDT05GSUdfQ1BVTUFTS19P RkZTVEFDSz15CkNPTkZJR19DUFVfUk1BUD15CkNPTkZJR19EUUw9eQpDT05GSUdfR0xPQj15CiMg Q09ORklHX0dMT0JfU0VMRlRFU1QgaXMgbm90IHNldApDT05GSUdfTkxBVFRSPXkKQ09ORklHX0NM Wl9UQUI9eQpDT05GSUdfSVJRX1BPTEw9eQpDT05GSUdfTVBJTElCPXkKQ09ORklHX1NJR05BVFVS RT15CkNPTkZJR19PSURfUkVHSVNUUlk9eQpDT05GSUdfVUNTMl9TVFJJTkc9eQpDT05GSUdfSEFW RV9HRU5FUklDX1ZEU089eQpDT05GSUdfR0VORVJJQ19HRVRUSU1FT0ZEQVk9eQpDT05GSUdfR0VO RVJJQ19WRFNPX1RJTUVfTlM9eQpDT05GSUdfRk9OVF9TVVBQT1JUPXkKIyBDT05GSUdfRk9OVFMg aXMgbm90IHNldApDT05GSUdfRk9OVF84eDg9eQpDT05GSUdfRk9OVF84eDE2PXkKQ09ORklHX1NH X1BPT0w9eQpDT05GSUdfQVJDSF9IQVNfUE1FTV9BUEk9eQpDT05GSUdfTUVNUkVHSU9OPXkKQ09O RklHX0FSQ0hfSEFTX1VBQ0NFU1NfRkxVU0hDQUNIRT15CkNPTkZJR19BUkNIX0hBU19DT1BZX01D PXkKQ09ORklHX0FSQ0hfU1RBQ0tXQUxLPXkKQ09ORklHX1NCSVRNQVA9eQojIENPTkZJR19TVFJJ TkdfU0VMRlRFU1QgaXMgbm90IHNldAojIGVuZCBvZiBMaWJyYXJ5IHJvdXRpbmVzCgojCiMgS2Vy bmVsIGhhY2tpbmcKIwoKIwojIHByaW50ayBhbmQgZG1lc2cgb3B0aW9ucwojCkNPTkZJR19QUklO VEtfVElNRT15CiMgQ09ORklHX1BSSU5US19DQUxMRVIgaXMgbm90IHNldApDT05GSUdfQ09OU09M RV9MT0dMRVZFTF9ERUZBVUxUPTcKQ09ORklHX0NPTlNPTEVfTE9HTEVWRUxfUVVJRVQ9NApDT05G SUdfTUVTU0FHRV9MT0dMRVZFTF9ERUZBVUxUPTQKQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZPXkK Q09ORklHX0RZTkFNSUNfREVCVUc9eQpDT05GSUdfRFlOQU1JQ19ERUJVR19DT1JFPXkKQ09ORklH X1NZTUJPTElDX0VSUk5BTUU9eQpDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiMgZW5kIG9mIHBy aW50ayBhbmQgZG1lc2cgb3B0aW9ucwoKIwojIENvbXBpbGUtdGltZSBjaGVja3MgYW5kIGNvbXBp bGVyIG9wdGlvbnMKIwpDT05GSUdfREVCVUdfSU5GTz15CiMgQ09ORklHX0RFQlVHX0lORk9fUkVE VUNFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0lORk9fQ09NUFJFU1NFRCBpcyBub3Qgc2V0 CiMgQ09ORklHX0RFQlVHX0lORk9fU1BMSVQgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19JTkZP X0RXQVJGX1RPT0xDSEFJTl9ERUZBVUxUIGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX0lORk9fRFdB UkY0PXkKQ09ORklHX0RFQlVHX0lORk9fQlRGPXkKQ09ORklHX1BBSE9MRV9IQVNfU1BMSVRfQlRG PXkKQ09ORklHX0RFQlVHX0lORk9fQlRGX01PRFVMRVM9eQojIENPTkZJR19HREJfU0NSSVBUUyBp cyBub3Qgc2V0CkNPTkZJR19GUkFNRV9XQVJOPTIwNDgKQ09ORklHX1NUUklQX0FTTV9TWU1TPXkK IyBDT05GSUdfUkVBREFCTEVfQVNNIGlzIG5vdCBzZXQKIyBDT05GSUdfSEVBREVSU19JTlNUQUxM IGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX1NFQ1RJT05fTUlTTUFUQ0g9eQpDT05GSUdfU0VDVElP Tl9NSVNNQVRDSF9XQVJOX09OTFk9eQojIENPTkZJR19ERUJVR19GT1JDRV9GVU5DVElPTl9BTElH Tl8zMkIgaXMgbm90IHNldApDT05GSUdfU1RBQ0tfVkFMSURBVElPTj15CiMgQ09ORklHX0RFQlVH X0ZPUkNFX1dFQUtfUEVSX0NQVSBpcyBub3Qgc2V0CiMgZW5kIG9mIENvbXBpbGUtdGltZSBjaGVj a3MgYW5kIGNvbXBpbGVyIG9wdGlvbnMKCiMKIyBHZW5lcmljIEtlcm5lbCBEZWJ1Z2dpbmcgSW5z dHJ1bWVudHMKIwpDT05GSUdfTUFHSUNfU1lTUlE9eQpDT05GSUdfTUFHSUNfU1lTUlFfREVGQVVM VF9FTkFCTEU9MHgxCkNPTkZJR19NQUdJQ19TWVNSUV9TRVJJQUw9eQpDT05GSUdfTUFHSUNfU1lT UlFfU0VSSUFMX1NFUVVFTkNFPSIiCkNPTkZJR19ERUJVR19GUz15CkNPTkZJR19ERUJVR19GU19B TExPV19BTEw9eQojIENPTkZJR19ERUJVR19GU19ESVNBTExPV19NT1VOVCBpcyBub3Qgc2V0CiMg Q09ORklHX0RFQlVHX0ZTX0FMTE9XX05PTkUgaXMgbm90IHNldApDT05GSUdfSEFWRV9BUkNIX0tH REI9eQojIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfSEFTX1VCU0FOX1NBTklU SVpFX0FMTD15CiMgQ09ORklHX1VCU0FOIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfQVJDSF9LQ1NB Tj15CiMgZW5kIG9mIEdlbmVyaWMgS2VybmVsIERlYnVnZ2luZyBJbnN0cnVtZW50cwoKQ09ORklH X0RFQlVHX0tFUk5FTD15CkNPTkZJR19ERUJVR19NSVNDPXkKCiMKIyBNZW1vcnkgRGVidWdnaW5n CiMKIyBDT05GSUdfUEFHRV9FWFRFTlNJT04gaXMgbm90IHNldAojIENPTkZJR19ERUJVR19QQUdF QUxMT0MgaXMgbm90IHNldAojIENPTkZJR19QQUdFX09XTkVSIGlzIG5vdCBzZXQKIyBDT05GSUdf UEFHRV9QT0lTT05JTkcgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19QQUdFX1JFRiBpcyBub3Qg c2V0CiMgQ09ORklHX0RFQlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfSEFT X0RFQlVHX1dYPXkKIyBDT05GSUdfREVCVUdfV1ggaXMgbm90IHNldApDT05GSUdfR0VORVJJQ19Q VERVTVA9eQojIENPTkZJR19QVERVTVBfREVCVUdGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVH X09CSkVDVFMgaXMgbm90IHNldAojIENPTkZJR19TTFVCX0RFQlVHX09OIGlzIG5vdCBzZXQKIyBD T05GSUdfU0xVQl9TVEFUUyBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX0RFQlVHX0tNRU1MRUFLPXkK IyBDT05GSUdfREVCVUdfS01FTUxFQUsgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19TVEFDS19V U0FHRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDSEVEX1NUQUNLX0VORF9DSEVDSyBpcyBub3Qgc2V0 CkNPTkZJR19BUkNIX0hBU19ERUJVR19WTV9QR1RBQkxFPXkKIyBDT05GSUdfREVCVUdfVk0gaXMg bm90IHNldAojIENPTkZJR19ERUJVR19WTV9QR1RBQkxFIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hf SEFTX0RFQlVHX1ZJUlRVQUw9eQojIENPTkZJR19ERUJVR19WSVJUVUFMIGlzIG5vdCBzZXQKQ09O RklHX0RFQlVHX01FTU9SWV9JTklUPXkKQ09ORklHX01FTU9SWV9OT1RJRklFUl9FUlJPUl9JTkpF Q1Q9bQojIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgaXMgbm90IHNldApDT05GSUdfSEFWRV9B UkNIX0tBU0FOPXkKQ09ORklHX0hBVkVfQVJDSF9LQVNBTl9WTUFMTE9DPXkKQ09ORklHX0NDX0hB U19LQVNBTl9HRU5FUklDPXkKQ09ORklHX0NDX0hBU19XT1JLSU5HX05PU0FOSVRJWkVfQUREUkVT Uz15CiMgQ09ORklHX0tBU0FOIGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfQVJDSF9LRkVOQ0U9eQoj IENPTkZJR19LRkVOQ0UgaXMgbm90IHNldAojIGVuZCBvZiBNZW1vcnkgRGVidWdnaW5nCgpDT05G SUdfREVCVUdfU0hJUlE9eQoKIwojIERlYnVnIE9vcHMsIExvY2t1cHMgYW5kIEhhbmdzCiMKQ09O RklHX1BBTklDX09OX09PUFM9eQpDT05GSUdfUEFOSUNfT05fT09QU19WQUxVRT0xCkNPTkZJR19Q QU5JQ19USU1FT1VUPTAKQ09ORklHX0xPQ0tVUF9ERVRFQ1RPUj15CkNPTkZJR19TT0ZUTE9DS1VQ X0RFVEVDVE9SPXkKIyBDT05GSUdfQk9PVFBBUkFNX1NPRlRMT0NLVVBfUEFOSUMgaXMgbm90IHNl dApDT05GSUdfQk9PVFBBUkFNX1NPRlRMT0NLVVBfUEFOSUNfVkFMVUU9MApDT05GSUdfSEFSRExP Q0tVUF9ERVRFQ1RPUl9QRVJGPXkKQ09ORklHX0hBUkRMT0NLVVBfQ0hFQ0tfVElNRVNUQU1QPXkK Q09ORklHX0hBUkRMT0NLVVBfREVURUNUT1I9eQpDT05GSUdfQk9PVFBBUkFNX0hBUkRMT0NLVVBf UEFOSUM9eQpDT05GSUdfQk9PVFBBUkFNX0hBUkRMT0NLVVBfUEFOSUNfVkFMVUU9MQojIENPTkZJ R19ERVRFQ1RfSFVOR19UQVNLIGlzIG5vdCBzZXQKIyBDT05GSUdfV1FfV0FUQ0hET0cgaXMgbm90 IHNldAojIENPTkZJR19URVNUX0xPQ0tVUCBpcyBub3Qgc2V0CiMgZW5kIG9mIERlYnVnIE9vcHMs IExvY2t1cHMgYW5kIEhhbmdzCgojCiMgU2NoZWR1bGVyIERlYnVnZ2luZwojCkNPTkZJR19TQ0hF RF9ERUJVRz15CkNPTkZJR19TQ0hFRF9JTkZPPXkKQ09ORklHX1NDSEVEU1RBVFM9eQojIGVuZCBv ZiBTY2hlZHVsZXIgRGVidWdnaW5nCgojIENPTkZJR19ERUJVR19USU1FS0VFUElORyBpcyBub3Qg c2V0CkNPTkZJR19ERUJVR19QUkVFTVBUPXkKCiMKIyBMb2NrIERlYnVnZ2luZyAoc3BpbmxvY2tz LCBtdXRleGVzLCBldGMuLi4pCiMKQ09ORklHX0xPQ0tfREVCVUdHSU5HX1NVUFBPUlQ9eQpDT05G SUdfUFJPVkVfTE9DS0lORz15CiMgQ09ORklHX1BST1ZFX1JBV19MT0NLX05FU1RJTkcgaXMgbm90 IHNldAojIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldApDT05GSUdfREVCVUdfUlRfTVVURVhF Uz15CkNPTkZJR19ERUJVR19TUElOTE9DSz15CkNPTkZJR19ERUJVR19NVVRFWEVTPXkKQ09ORklH X0RFQlVHX1dXX01VVEVYX1NMT1dQQVRIPXkKQ09ORklHX0RFQlVHX1JXU0VNUz15CkNPTkZJR19E RUJVR19MT0NLX0FMTE9DPXkKQ09ORklHX0xPQ0tERVA9eQojIENPTkZJR19ERUJVR19MT0NLREVQ IGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX0FUT01JQ19TTEVFUD15CiMgQ09ORklHX0RFQlVHX0xP Q0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX0xPQ0tfVE9SVFVSRV9URVNU IGlzIG5vdCBzZXQKQ09ORklHX1dXX01VVEVYX1NFTEZURVNUPW0KIyBDT05GSUdfU0NGX1RPUlRV UkVfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NTRF9MT0NLX1dBSVRfREVCVUcgaXMgbm90IHNl dAojIGVuZCBvZiBMb2NrIERlYnVnZ2luZyAoc3BpbmxvY2tzLCBtdXRleGVzLCBldGMuLi4pCgpD T05GSUdfVFJBQ0VfSVJRRkxBR1M9eQpDT05GSUdfVFJBQ0VfSVJRRkxBR1NfTk1JPXkKIyBDT05G SUdfREVCVUdfSVJRRkxBR1MgaXMgbm90IHNldApDT05GSUdfU1RBQ0tUUkFDRT15CiMgQ09ORklH X1dBUk5fQUxMX1VOU0VFREVEX1JBTkRPTSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX0tPQkpF Q1QgaXMgbm90IHNldAoKIwojIERlYnVnIGtlcm5lbCBkYXRhIHN0cnVjdHVyZXMKIwpDT05GSUdf REVCVUdfTElTVD15CkNPTkZJR19ERUJVR19QTElTVD15CiMgQ09ORklHX0RFQlVHX1NHIGlzIG5v dCBzZXQKIyBDT05GSUdfREVCVUdfTk9USUZJRVJTIGlzIG5vdCBzZXQKQ09ORklHX0JVR19PTl9E QVRBX0NPUlJVUFRJT049eQojIGVuZCBvZiBEZWJ1ZyBrZXJuZWwgZGF0YSBzdHJ1Y3R1cmVzCgoj IENPTkZJR19ERUJVR19DUkVERU5USUFMUyBpcyBub3Qgc2V0CgojCiMgUkNVIERlYnVnZ2luZwoj CkNPTkZJR19QUk9WRV9SQ1U9eQojIENPTkZJR19SQ1VfU0NBTEVfVEVTVCBpcyBub3Qgc2V0CiMg Q09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19SQ1VfUkVGX1NDQUxF X1RFU1QgaXMgbm90IHNldApDT05GSUdfUkNVX0NQVV9TVEFMTF9USU1FT1VUPTYwCiMgQ09ORklH X1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX1JDVV9FUVNfREVCVUcgaXMgbm90IHNldAoj IGVuZCBvZiBSQ1UgRGVidWdnaW5nCgojIENPTkZJR19ERUJVR19XUV9GT1JDRV9SUl9DUFUgaXMg bm90IHNldAojIENPTkZJR19ERUJVR19CTE9DS19FWFRfREVWVCBpcyBub3Qgc2V0CiMgQ09ORklH X0NQVV9IT1RQTFVHX1NUQVRFX0NPTlRST0wgaXMgbm90IHNldApDT05GSUdfTEFURU5DWVRPUD15 CkNPTkZJR19VU0VSX1NUQUNLVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19OT1BfVFJBQ0VSPXkKQ09O RklHX0hBVkVfRlVOQ1RJT05fVFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhfVFJB Q0VSPXkKQ09ORklHX0hBVkVfRFlOQU1JQ19GVFJBQ0U9eQpDT05GSUdfSEFWRV9EWU5BTUlDX0ZU UkFDRV9XSVRIX1JFR1M9eQpDT05GSUdfSEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRIX0RJUkVDVF9D QUxMUz15CkNPTkZJR19IQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhfQVJHUz15CkNPTkZJR19IQVZF X0ZUUkFDRV9NQ09VTlRfUkVDT1JEPXkKQ09ORklHX0hBVkVfU1lTQ0FMTF9UUkFDRVBPSU5UUz15 CkNPTkZJR19IQVZFX0ZFTlRSWT15CkNPTkZJR19IQVZFX09CSlRPT0xfTUNPVU5UPXkKQ09ORklH X0hBVkVfQ19SRUNPUkRNQ09VTlQ9eQpDT05GSUdfVFJBQ0VSX01BWF9UUkFDRT15CkNPTkZJR19U UkFDRV9DTE9DSz15CkNPTkZJR19SSU5HX0JVRkZFUj15CkNPTkZJR19FVkVOVF9UUkFDSU5HPXkK Q09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUj15CkNPTkZJR19SSU5HX0JVRkZFUl9BTExPV19T V0FQPXkKQ09ORklHX1BSRUVNUFRJUlFfVFJBQ0VQT0lOVFM9eQpDT05GSUdfVFJBQ0lORz15CkNP TkZJR19HRU5FUklDX1RSQUNFUj15CkNPTkZJR19UUkFDSU5HX1NVUFBPUlQ9eQpDT05GSUdfRlRS QUNFPXkKIyBDT05GSUdfQk9PVFRJTUVfVFJBQ0lORyBpcyBub3Qgc2V0CkNPTkZJR19GVU5DVElP Tl9UUkFDRVI9eQpDT05GSUdfRlVOQ1RJT05fR1JBUEhfVFJBQ0VSPXkKQ09ORklHX0RZTkFNSUNf RlRSQUNFPXkKQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUz15CkNPTkZJR19EWU5BTUlD X0ZUUkFDRV9XSVRIX0RJUkVDVF9DQUxMUz15CkNPTkZJR19GVU5DVElPTl9QUk9GSUxFUj15CkNP TkZJR19TVEFDS19UUkFDRVI9eQpDT05GSUdfVFJBQ0VfUFJFRU1QVF9UT0dHTEU9eQpDT05GSUdf SVJRU09GRl9UUkFDRVI9eQpDT05GSUdfUFJFRU1QVF9UUkFDRVI9eQpDT05GSUdfU0NIRURfVFJB Q0VSPXkKQ09ORklHX0hXTEFUX1RSQUNFUj15CiMgQ09ORklHX01NSU9UUkFDRSBpcyBub3Qgc2V0 CkNPTkZJR19GVFJBQ0VfU1lTQ0FMTFM9eQpDT05GSUdfVFJBQ0VSX1NOQVBTSE9UPXkKQ09ORklH X1RSQUNFUl9TTkFQU0hPVF9QRVJfQ1BVX1NXQVA9eQpDT05GSUdfQlJBTkNIX1BST0ZJTEVfTk9O RT15CiMgQ09ORklHX1BST0ZJTEVfQU5OT1RBVEVEX0JSQU5DSEVTIGlzIG5vdCBzZXQKQ09ORklH X0JMS19ERVZfSU9fVFJBQ0U9eQpDT05GSUdfS1BST0JFX0VWRU5UUz15CiMgQ09ORklHX0tQUk9C RV9FVkVOVFNfT05fTk9UUkFDRSBpcyBub3Qgc2V0CkNPTkZJR19VUFJPQkVfRVZFTlRTPXkKQ09O RklHX0JQRl9FVkVOVFM9eQpDT05GSUdfRFlOQU1JQ19FVkVOVFM9eQpDT05GSUdfUFJPQkVfRVZF TlRTPXkKIyBDT05GSUdfQlBGX0tQUk9CRV9PVkVSUklERSBpcyBub3Qgc2V0CkNPTkZJR19GVFJB Q0VfTUNPVU5UX1JFQ09SRD15CkNPTkZJR19GVFJBQ0VfTUNPVU5UX1VTRV9DQz15CkNPTkZJR19U UkFDSU5HX01BUD15CkNPTkZJR19TWU5USF9FVkVOVFM9eQpDT05GSUdfSElTVF9UUklHR0VSUz15 CiMgQ09ORklHX1RSQUNFX0VWRU5UX0lOSkVDVCBpcyBub3Qgc2V0CiMgQ09ORklHX1RSQUNFUE9J TlRfQkVOQ0hNQVJLIGlzIG5vdCBzZXQKQ09ORklHX1JJTkdfQlVGRkVSX0JFTkNITUFSSz1tCiMg Q09ORklHX1RSQUNFX0VWQUxfTUFQX0ZJTEUgaXMgbm90IHNldAojIENPTkZJR19GVFJBQ0VfUkVD T1JEX1JFQ1VSU0lPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QgaXMg bm90IHNldAojIENPTkZJR19SSU5HX0JVRkZFUl9TVEFSVFVQX1RFU1QgaXMgbm90IHNldAojIENP TkZJR19SSU5HX0JVRkZFUl9WQUxJREFURV9USU1FX0RFTFRBUyBpcyBub3Qgc2V0CkNPTkZJR19Q UkVFTVBUSVJRX0RFTEFZX1RFU1Q9bQojIENPTkZJR19TWU5USF9FVkVOVF9HRU5fVEVTVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0tQUk9CRV9FVkVOVF9HRU5fVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklH X0hJU1RfVFJJR0dFUlNfREVCVUcgaXMgbm90IHNldApDT05GSUdfUFJPVklERV9PSENJMTM5NF9E TUFfSU5JVD15CkNPTkZJR19TQU1QTEVTPXkKIyBDT05GSUdfU0FNUExFX0FVWERJU1BMQVkgaXMg bm90IHNldAojIENPTkZJR19TQU1QTEVfVFJBQ0VfRVZFTlRTIGlzIG5vdCBzZXQKQ09ORklHX1NB TVBMRV9UUkFDRV9QUklOVEs9bQpDT05GSUdfU0FNUExFX0ZUUkFDRV9ESVJFQ1Q9bQojIENPTkZJ R19TQU1QTEVfVFJBQ0VfQVJSQVkgaXMgbm90IHNldAojIENPTkZJR19TQU1QTEVfS09CSkVDVCBp cyBub3Qgc2V0CiMgQ09ORklHX1NBTVBMRV9LUFJPQkVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FN UExFX0hXX0JSRUFLUE9JTlQgaXMgbm90IHNldAojIENPTkZJR19TQU1QTEVfS0ZJRk8gaXMgbm90 IHNldAojIENPTkZJR19TQU1QTEVfTElWRVBBVENIIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExF X0NPTkZJR0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExFX1ZGSU9fTURFVl9NVFRZIGlzIG5v dCBzZXQKIyBDT05GSUdfU0FNUExFX1ZGSU9fTURFVl9NRFBZIGlzIG5vdCBzZXQKIyBDT05GSUdf U0FNUExFX1ZGSU9fTURFVl9NRFBZX0ZCIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNUExFX1ZGSU9f TURFVl9NQk9DSFMgaXMgbm90IHNldAojIENPTkZJR19TQU1QTEVfV0FUQ0hET0cgaXMgbm90IHNl dApDT05GSUdfQVJDSF9IQVNfREVWTUVNX0lTX0FMTE9XRUQ9eQpDT05GSUdfU1RSSUNUX0RFVk1F TT15CiMgQ09ORklHX0lPX1NUUklDVF9ERVZNRU0gaXMgbm90IHNldAoKIwojIHg4NiBEZWJ1Z2dp bmcKIwpDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CkNPTkZJR19UUkFDRV9JUlFGTEFH U19OTUlfU1VQUE9SVD15CkNPTkZJR19FQVJMWV9QUklOVEtfVVNCPXkKQ09ORklHX1g4Nl9WRVJC T1NFX0JPT1RVUD15CkNPTkZJR19FQVJMWV9QUklOVEs9eQpDT05GSUdfRUFSTFlfUFJJTlRLX0RC R1A9eQpDT05GSUdfRUFSTFlfUFJJTlRLX1VTQl9YREJDPXkKIyBDT05GSUdfRUZJX1BHVF9EVU1Q IGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfVExCRkxVU0ggaXMgbm90IHNldApDT05GSUdfSEFW RV9NTUlPVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19YODZfREVDT0RFUl9TRUxGVEVTVD15CkNPTkZJ R19JT19ERUxBWV8wWDgwPXkKIyBDT05GSUdfSU9fREVMQVlfMFhFRCBpcyBub3Qgc2V0CiMgQ09O RklHX0lPX0RFTEFZX1VERUxBWSBpcyBub3Qgc2V0CiMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMg bm90IHNldApDT05GSUdfREVCVUdfQk9PVF9QQVJBTVM9eQojIENPTkZJR19DUEFfREVCVUcgaXMg bm90IHNldAojIENPTkZJR19ERUJVR19FTlRSWSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX05N SV9TRUxGVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9ERUJVR19GUFUgaXMgbm90IHNldAoj IENPTkZJR19QVU5JVF9BVE9NX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX1VOV0lOREVSX09SQz15 CiMgQ09ORklHX1VOV0lOREVSX0ZSQU1FX1BPSU5URVIgaXMgbm90IHNldAojIENPTkZJR19VTldJ TkRFUl9HVUVTUyBpcyBub3Qgc2V0CiMgZW5kIG9mIHg4NiBEZWJ1Z2dpbmcKCiMKIyBLZXJuZWwg VGVzdGluZyBhbmQgQ292ZXJhZ2UKIwojIENPTkZJR19LVU5JVCBpcyBub3Qgc2V0CkNPTkZJR19O T1RJRklFUl9FUlJPUl9JTkpFQ1RJT049eQpDT05GSUdfUE1fTk9USUZJRVJfRVJST1JfSU5KRUNU PW0KIyBDT05GSUdfTkVUREVWX05PVElGSUVSX0VSUk9SX0lOSkVDVCBpcyBub3Qgc2V0CkNPTkZJ R19GVU5DVElPTl9FUlJPUl9JTkpFQ1RJT049eQojIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMg bm90IHNldApDT05GSUdfQVJDSF9IQVNfS0NPVj15CkNPTkZJR19DQ19IQVNfU0FOQ09WX1RSQUNF X1BDPXkKIyBDT05GSUdfS0NPViBpcyBub3Qgc2V0CkNPTkZJR19SVU5USU1FX1RFU1RJTkdfTUVO VT15CkNPTkZJR19MS0RUTT15CiMgQ09ORklHX1RFU1RfTElTVF9TT1JUIGlzIG5vdCBzZXQKIyBD T05GSUdfVEVTVF9NSU5fSEVBUCBpcyBub3Qgc2V0CiMgQ09ORklHX1RFU1RfU09SVCBpcyBub3Qg c2V0CiMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19CQUNL VFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfUkJUUkVFX1RFU1QgaXMgbm90IHNl dAojIENPTkZJR19SRUVEX1NPTE9NT05fVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVSVkFM X1RSRUVfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1BFUkNQVV9URVNUIGlzIG5vdCBzZXQKQ09O RklHX0FUT01JQzY0X1NFTEZURVNUPXkKIyBDT05GSUdfQVNZTkNfUkFJRDZfVEVTVCBpcyBub3Qg c2V0CiMgQ09ORklHX1RFU1RfSEVYRFVNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1RFU1RfU1RSSU5H X0hFTFBFUlMgaXMgbm90IHNldApDT05GSUdfVEVTVF9TVFJTQ1BZPW0KIyBDT05GSUdfVEVTVF9L U1RSVE9YIGlzIG5vdCBzZXQKQ09ORklHX1RFU1RfUFJJTlRGPW0KQ09ORklHX1RFU1RfQklUTUFQ PW0KIyBDT05GSUdfVEVTVF9VVUlEIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVTVF9YQVJSQVkgaXMg bm90IHNldAojIENPTkZJR19URVNUX09WRVJGTE9XIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVTVF9S SEFTSFRBQkxFIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVTVF9IQVNIIGlzIG5vdCBzZXQKIyBDT05G SUdfVEVTVF9JREEgaXMgbm90IHNldApDT05GSUdfVEVTVF9MS009bQpDT05GSUdfVEVTVF9CSVRP UFM9bQpDT05GSUdfVEVTVF9WTUFMTE9DPW0KQ09ORklHX1RFU1RfVVNFUl9DT1BZPW0KQ09ORklH X1RFU1RfQlBGPW0KQ09ORklHX1RFU1RfQkxBQ0tIT0xFX0RFVj1tCiMgQ09ORklHX0ZJTkRfQklU X0JFTkNITUFSSyBpcyBub3Qgc2V0CkNPTkZJR19URVNUX0ZJUk1XQVJFPW0KQ09ORklHX1RFU1Rf U1lTQ1RMPXkKIyBDT05GSUdfVEVTVF9VREVMQVkgaXMgbm90IHNldApDT05GSUdfVEVTVF9TVEFU SUNfS0VZUz1tCkNPTkZJR19URVNUX0tNT0Q9bQojIENPTkZJR19URVNUX01FTUNBVF9QIGlzIG5v dCBzZXQKQ09ORklHX1RFU1RfTElWRVBBVENIPW0KIyBDT05GSUdfVEVTVF9TVEFDS0lOSVQgaXMg bm90IHNldAojIENPTkZJR19URVNUX01FTUlOSVQgaXMgbm90IHNldApDT05GSUdfVEVTVF9ITU09 bQojIENPTkZJR19URVNUX0ZSRUVfUEFHRVMgaXMgbm90IHNldAojIENPTkZJR19URVNUX0ZQVSBp cyBub3Qgc2V0CiMgQ09ORklHX01FTVRFU1QgaXMgbm90IHNldAojIENPTkZJR19IWVBFUlZfVEVT VElORyBpcyBub3Qgc2V0CiMgZW5kIG9mIEtlcm5lbCBUZXN0aW5nIGFuZCBDb3ZlcmFnZQojIGVu ZCBvZiBLZXJuZWwgaGFja2luZwo= --===============3082785961929637027== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="job-script.ksh" IyEvYmluL3NoCgpleHBvcnRfdG9wX2VudigpCnsKCWV4cG9ydCBzdWl0ZT0na2VybmVsLXNlbGZ0 ZXN0cycKCWV4cG9ydCB0ZXN0Y2FzZT0na2VybmVsLXNlbGZ0ZXN0cycKCWV4cG9ydCBjYXRlZ29y eT0nZnVuY3Rpb25hbCcKCWV4cG9ydCBrY29uZmlnPSd4ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0 cycKCWV4cG9ydCBqb2Jfb3JpZ2luPSdrZXJuZWwtc2VsZnRlc3RzLWJtLnlhbWwnCglleHBvcnQg cXVldWVfY21kbGluZV9rZXlzPSdicmFuY2gKY29tbWl0CnF1ZXVlX2F0X2xlYXN0X29uY2UnCgll eHBvcnQgcXVldWU9J3ZhbGlkYXRlJwoJZXhwb3J0IHRlc3Rib3g9J2xrcC1za2wtZDA2JwoJZXhw b3J0IHRib3hfZ3JvdXA9J2xrcC1za2wtZDA2JwoJZXhwb3J0IHN1Ym1pdF9pZD0nNjA3ZGM2YjVi NTM4OGQ1ODQ0MDAzZDllJwoJZXhwb3J0IGpvYl9maWxlPScvbGtwL2pvYnMvc2NoZWR1bGVkL2xr cC1za2wtZDA2L2tlcm5lbC1zZWxmdGVzdHMtbmV0LXVjb2RlPTB4ZTItZGViaWFuLTEwLjQteDg2 XzY0LTIwMjAwNjAzLmNnei02NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZh LTIwMjEwNDIwLTIyNTk2LTF4Y2Jzd3ktMjEueWFtbCcKCWV4cG9ydCBpZD0nZDFlZDM1ZGYxMDlh OGY2MDI0MWY1ZjA2NTlhMzU5Yjk0MWNlZWFmYycKCWV4cG9ydCBxdWV1ZXJfdmVyc2lvbj0nL2xr cC1zcmMnCglleHBvcnQgbW9kZWw9J1NreWxha2UnCglleHBvcnQgbnJfY3B1PTQKCWV4cG9ydCBt ZW1vcnk9JzE2RycKCWV4cG9ydCBucl9zc2RfcGFydGl0aW9ucz0xCglleHBvcnQgbnJfaGRkX3Bh cnRpdGlvbnM9NAoJZXhwb3J0IGhkZF9wYXJ0aXRpb25zPScvZGV2L2Rpc2svYnktaWQvYXRhLVdE Q19XRDEwRUFSUy0wMFk1QjFfV0QtV0NBVjVGMDU5MDc0LXBhcnQqJwoJZXhwb3J0IHNzZF9wYXJ0 aXRpb25zPScvZGV2L2Rpc2svYnktaWQvYXRhLUlOVEVMX1NTRFNDMkJCMDEyVDRfQlRXRDQyMjQw Mk04MVAyR0dOLXBhcnQyJwoJZXhwb3J0IHJvb3Rmc19wYXJ0aXRpb249Jy9kZXYvZGlzay9ieS1p ZC9hdGEtSU5URUxfU1NEU0MyQkIwMTJUNF9CVFdENDIyNDAyTTgxUDJHR04tcGFydDEnCglleHBv cnQgYnJhbmQ9J0ludGVsKFIpIFhlb24oUikgQ1BVIEUzLTEyMjUgdjUgQCAzLjMwR0h6JwoJZXhw b3J0IGNvbW1pdD0nNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYScKCWV4 cG9ydCBuZWVkX2tjb25maWdfaHc9J0NPTkZJR19FMTAwMEU9eQpDT05GSUdfU0FUQV9BSENJJwoJ ZXhwb3J0IHVjb2RlPScweGUyJwoJZXhwb3J0IG5lZWRfbGludXhfaGVhZGVycz10cnVlCglleHBv cnQgbmVlZF9saW51eF9zZWxmdGVzdHM9dHJ1ZQoJZXhwb3J0IG5lZWRfa3NlbGZ0ZXN0cz10cnVl CglleHBvcnQgbmVlZF9rY29uZmlnPSdDT05GSUdfVVNFUl9OUz15CkNPTkZJR19CUEZfU1lTQ0FM TD15CkNPTkZJR19URVNUX0JQRj1tCkNPTkZJR19OVU1BPXkgfiAiPj0gdjUuNi1yYzEiCkNPTkZJ R19ORVRfVlJGPXkgfiAiPj0gdjQuMy1yYzEiCkNPTkZJR19ORVRfTDNfTUFTVEVSX0RFVj15IH4g Ij49IHY0LjQtcmMxIgpDT05GSUdfSVBWNj15CkNPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUz15 CkNPTkZJR19WRVRIPXkKQ09ORklHX05FVF9JUFZUST1tCkNPTkZJR19JUFY2X1ZUST1tCkNPTkZJ R19EVU1NWT15CkNPTkZJR19CUklER0U9eQpDT05GSUdfVkxBTl84MDIxUT15CkNPTkZJR19JRkI9 eQpDT05GSUdfTkVURklMVEVSPXkKQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRD15CkNPTkZJR19O Rl9DT05OVFJBQ0s9bQpDT05GSUdfTkZfTkFUPW0gfiAiPj0gdjUuMS1yYzEiCkNPTkZJR19JUDZf TkZfSVBUQUJMRVM9bQpDT05GSUdfSVBfTkZfSVBUQUJMRVM9bQpDT05GSUdfSVA2X05GX05BVD1t CkNPTkZJR19JUF9ORl9OQVQ9bQpDT05GSUdfTkZfVEFCTEVTPW0KQ09ORklHX05GX1RBQkxFU19J UFY2PXkgfiAiPj0gdjQuMTctcmMxIgpDT05GSUdfTkZfVEFCTEVTX0lQVjQ9eSB+ICI+PSB2NC4x Ny1yYzEiCkNPTkZJR19ORlRfQ0hBSU5fTkFUX0lQVjY9bSB+ICI8PSB2NS4wIgpDT05GSUdfTkZU X0NIQUlOX05BVF9JUFY0PW0gfiAiPD0gdjUuMCIKQ09ORklHX05FVF9TQ0hfRlE9bQpDT05GSUdf TkVUX1NDSF9FVEY9bSB+ICI+PSB2NC4xOS1yYzEiCkNPTkZJR19ORVRfU0NIX05FVEVNPXkKQ09O RklHX1RFU1RfQkxBQ0tIT0xFX0RFVj1tIH4gIj49IHY1LjMtcmMxIgpDT05GSUdfS0FMTFNZTVM9 eQpDT05GSUdfQkFSRVVEUD1tIH4gIj49IHY1LjctcmMxIgpDT05GSUdfTVBMU19ST1VUSU5HPW0g fiAiPj0gdjQuMS1yYzEiCkNPTkZJR19NUExTX0lQVFVOTkVMPW0gfiAiPj0gdjQuMy1yYzEiCkNP TkZJR19ORVRfU0NIX0lOR1JFU1M9eSB+ICI+PSB2NC4xOS1yYzEiCkNPTkZJR19ORVRfQ0xTX0ZM T1dFUj1tIH4gIj49IHY0LjItcmMxIgpDT05GSUdfTkVUX0FDVF9UVU5ORUxfS0VZPW0gfiAiPj0g djQuOS1yYzEiCkNPTkZJR19ORVRfQUNUX01JUlJFRD1tIH4gIj49IHY1LjExLXJjMSInCglleHBv cnQgZW5xdWV1ZV90aW1lPScyMDIxLTA0LTIwIDAyOjA2OjQ1ICswODAwJwoJZXhwb3J0IF9pZD0n NjA3ZGM2YjViNTM4OGQ1ODQ0MDAzZDllJwoJZXhwb3J0IF9ydD0nL3Jlc3VsdC9rZXJuZWwtc2Vs ZnRlc3RzL25ldC11Y29kZT0weGUyL2xrcC1za2wtZDA2L2RlYmlhbi0xMC40LXg4Nl82NC0yMDIw MDYwMy5jZ3oveDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4 MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYScKCWV4cG9ydCB1c2VyPSdsa3AnCglleHBvcnQgY29t cGlsZXI9J2djYy05JwoJZXhwb3J0IExLUF9TRVJWRVI9J2ludGVybmFsLWxrcC1zZXJ2ZXInCgll eHBvcnQgaGVhZF9jb21taXQ9J2UyNDJlZWFiNjA5NjgwNjg1YTczNWY2MWY0MmVkYTI5MDJkMzQ2 ZmQnCglleHBvcnQgYmFzZV9jb21taXQ9J2Q0MzQ0MDVhYWFiN2QwZWJjNTE2YjY4YThmYzQxMDA5 MjJkN2Y1ZWYnCglleHBvcnQgYnJhbmNoPSdsaW51cy9tYXN0ZXInCglleHBvcnQgcm9vdGZzPSdk ZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6JwoJZXhwb3J0IHJlc3VsdF9yb290PScvcmVz dWx0L2tlcm5lbC1zZWxmdGVzdHMvbmV0LXVjb2RlPTB4ZTIvbGtwLXNrbC1kMDYvZGViaWFuLTEw LjQteDg2XzY0LTIwMjAwNjAzLmNnei94ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cy9nY2MtOS82 NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhLzIxJwoJZXhwb3J0IHNjaGVk dWxlcl92ZXJzaW9uPScvbGtwL2xrcC8uc3JjLTIwMjEwNDE5LTExMTQyMCcKCWV4cG9ydCBhcmNo PSd4ODZfNjQnCglleHBvcnQgbWF4X3VwdGltZT0yMTAwCglleHBvcnQgaW5pdHJkPScvb3NpbWFn ZS9kZWJpYW4vZGViaWFuLTEwLjQteDg2XzY0LTIwMjAwNjAzLmNneicKCWV4cG9ydCBib290bG9h ZGVyX2FwcGVuZD0ncm9vdD0vZGV2L3JhbTAKdXNlcj1sa3AKam9iPS9sa3Avam9icy9zY2hlZHVs ZWQvbGtwLXNrbC1kMDYva2VybmVsLXNlbGZ0ZXN0cy1uZXQtdWNvZGU9MHhlMi1kZWJpYW4tMTAu NC14ODZfNjQtMjAyMDA2MDMuY2d6LTY2MjhkZGZlYzc1ODA4ODJmMTFmZGM1YzE5NGE4ZWE3ODFm ZGFkZmEtMjAyMTA0MjAtMjI1OTYtMXhjYnN3eS0yMS55YW1sCkFSQ0g9eDg2XzY0Cmtjb25maWc9 eDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMKYnJhbmNoPWxpbnVzL21hc3Rlcgpjb21taXQ9NjYy OGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYQpCT09UX0lNQUdFPS9wa2cvbGlu dXgveDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZk YzVjMTk0YThlYTc4MWZkYWRmYS92bWxpbnV6LTUuMTIuMC1yYzYtMDAzNDktZzY2MjhkZGZlYzc1 OAptYXhfdXB0aW1lPTIxMDAKUkVTVUxUX1JPT1Q9L3Jlc3VsdC9rZXJuZWwtc2VsZnRlc3RzL25l dC11Y29kZT0weGUyL2xrcC1za2wtZDA2L2RlYmlhbi0xMC40LXg4Nl82NC0yMDIwMDYwMy5jZ3ov eDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVj MTk0YThlYTc4MWZkYWRmYS8yMQpMS1BfU0VSVkVSPWludGVybmFsLWxrcC1zZXJ2ZXIKbm9rYXNs cgpzZWxpbnV4PTAKZGVidWcKYXBpYz1kZWJ1ZwpzeXNycV9hbHdheXNfZW5hYmxlZApyY3VwZGF0 ZS5yY3VfY3B1X3N0YWxsX3RpbWVvdXQ9MTAwCm5ldC5pZm5hbWVzPTAKcHJpbnRrLmRldmttc2c9 b24KcGFuaWM9LTEKc29mdGxvY2t1cF9wYW5pYz0xCm5taV93YXRjaGRvZz1wYW5pYwpvb3BzPXBh bmljCmxvYWRfcmFtZGlzaz0yCnByb21wdF9yYW1kaXNrPTAKZHJiZC5taW5vcl9jb3VudD04CnN5 c3RlbWQubG9nX2xldmVsPWVycgppZ25vcmVfbG9nbGV2ZWwKY29uc29sZT10dHkwCmVhcmx5cHJp bnRrPXR0eVMwLDExNTIwMApjb25zb2xlPXR0eVMwLDExNTIwMAp2Z2E9bm9ybWFsCnJ3JwoJZXhw b3J0IG1vZHVsZXNfaW5pdHJkPScvcGtnL2xpbnV4L3g4Nl82NC1yaGVsLTguMy1rc2VsZnRlc3Rz L2djYy05LzY2MjhkZGZlYzc1ODA4ODJmMTFmZGM1YzE5NGE4ZWE3ODFmZGFkZmEvbW9kdWxlcy5j Z3onCglleHBvcnQgbGludXhfaGVhZGVyc19pbml0cmQ9Jy9wa2cvbGludXgveDg2XzY0LXJoZWwt OC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZk YWRmYS9saW51eC1oZWFkZXJzLmNneicKCWV4cG9ydCBsaW51eF9zZWxmdGVzdHNfaW5pdHJkPScv cGtnL2xpbnV4L3g4Nl82NC1yaGVsLTguMy1rc2VsZnRlc3RzL2djYy05LzY2MjhkZGZlYzc1ODA4 ODJmMTFmZGM1YzE5NGE4ZWE3ODFmZGFkZmEvbGludXgtc2VsZnRlc3RzLmNneicKCWV4cG9ydCBr c2VsZnRlc3RzX2luaXRyZD0nL3BrZy9saW51eC94ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cy9n Y2MtOS82NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhL2tzZWxmdGVzdHMu Y2d6JwoJZXhwb3J0IGJtX2luaXRyZD0nL29zaW1hZ2UvZGVwcy9kZWJpYW4tMTAuNC14ODZfNjQt MjAyMDA2MDMuY2d6L3J1bi1pcGNvbmZpZ18yMDIwMDYwOC5jZ3osL29zaW1hZ2UvZGVwcy9kZWJp YW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L2xrcF8yMDIwMTIxMS5jZ3osL29zaW1hZ2UvZGVw cy9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L3JzeW5jLXJvb3Rmc18yMDIwMDYwOC5j Z3osL29zaW1hZ2UvZGVwcy9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L2tlcm5lbC1z ZWxmdGVzdHNfMjAyMTA0MDYuY2d6LC9vc2ltYWdlL3BrZy9kZWJpYW4tMTAuNC14ODZfNjQtMjAy MDA2MDMuY2d6L2tlcm5lbC1zZWxmdGVzdHMteDg2XzY0LWNmOWFlMWJkLTFfMjAyMTA0MDEuY2d6 LC9vc2ltYWdlL2RlcHMvZGViaWFuLTEwLjQteDg2XzY0LTIwMjAwNjAzLmNnei9od18yMDIwMDcx NS5jZ3onCglleHBvcnQgdWNvZGVfaW5pdHJkPScvb3NpbWFnZS91Y29kZS9pbnRlbC11Y29kZS0y MDIxMDIyMi5jZ3onCglleHBvcnQgbGtwX2luaXRyZD0nL29zaW1hZ2UvdXNlci9sa3AvbGtwLXg4 Nl82NC5jZ3onCglleHBvcnQgc2l0ZT0naW5uJwoJZXhwb3J0IExLUF9DR0lfUE9SVD04MAoJZXhw b3J0IExLUF9DSUZTX1BPUlQ9MTM5CglleHBvcnQgbGFzdF9rZXJuZWw9JzUuMTIuMC1yYzYtMDAz NDktZzY2MjhkZGZlYzc1OCcKCWV4cG9ydCByZXBlYXRfdG89MjIKCWV4cG9ydCBxdWV1ZV9hdF9s ZWFzdF9vbmNlPTEKCWV4cG9ydCBrZXJuZWw9Jy9wa2cvbGludXgveDg2XzY0LXJoZWwtOC4zLWtz ZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYS92 bWxpbnV6LTUuMTIuMC1yYzYtMDAzNDktZzY2MjhkZGZlYzc1OCcKCWV4cG9ydCBkZXF1ZXVlX3Rp bWU9JzIwMjEtMDQtMjAgMDI6MDk6NDEgKzA4MDAnCglleHBvcnQgam9iX2luaXRyZD0nL2xrcC9q b2JzL3NjaGVkdWxlZC9sa3Atc2tsLWQwNi9rZXJuZWwtc2VsZnRlc3RzLW5ldC11Y29kZT0weGUy LWRlYmlhbi0xMC40LXg4Nl82NC0yMDIwMDYwMy5jZ3otNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVj MTk0YThlYTc4MWZkYWRmYS0yMDIxMDQyMC0yMjU5Ni0xeGNic3d5LTIxLmNneicKCglbIC1uICIk TEtQX1NSQyIgXSB8fAoJZXhwb3J0IExLUF9TUkM9L2xrcC8ke3VzZXI6LWxrcH0vc3JjCn0KCnJ1 bl9qb2IoKQp7CgllY2hvICQkID4gJFRNUC9ydW4tam9iLnBpZAoKCS4gJExLUF9TUkMvbGliL2h0 dHAuc2gKCS4gJExLUF9TUkMvbGliL2pvYi5zaAoJLiAkTEtQX1NSQy9saWIvZW52LnNoCgoJZXhw b3J0X3RvcF9lbnYKCglydW5fbW9uaXRvciAkTEtQX1NSQy9tb25pdG9ycy93cmFwcGVyIGttc2cK CXJ1bl9tb25pdG9yICRMS1BfU1JDL21vbml0b3JzL3dyYXBwZXIgaGVhcnRiZWF0CglydW5fbW9u aXRvciAkTEtQX1NSQy9tb25pdG9ycy93cmFwcGVyIG1lbWluZm8KCXJ1bl9tb25pdG9yICRMS1Bf U1JDL21vbml0b3JzL3dyYXBwZXIgb29tLWtpbGxlcgoJcnVuX21vbml0b3IgJExLUF9TUkMvbW9u aXRvcnMvcGxhaW4vd2F0Y2hkb2cKCglydW5fdGVzdCBncm91cD0nbmV0JyAkTEtQX1NSQy90ZXN0 cy93cmFwcGVyIGtlcm5lbC1zZWxmdGVzdHMKfQoKZXh0cmFjdF9zdGF0cygpCnsKCWV4cG9ydCBz dGF0c19wYXJ0X2JlZ2luPQoJZXhwb3J0IHN0YXRzX3BhcnRfZW5kPQoKCWVudiBncm91cD0nbmV0 JyAkTEtQX1NSQy9zdGF0cy93cmFwcGVyIGtlcm5lbC1zZWxmdGVzdHMKCSRMS1BfU1JDL3N0YXRz L3dyYXBwZXIga21zZwoJJExLUF9TUkMvc3RhdHMvd3JhcHBlciBtZW1pbmZvCgoJJExLUF9TUkMv c3RhdHMvd3JhcHBlciB0aW1lIGtlcm5lbC1zZWxmdGVzdHMudGltZQoJJExLUF9TUkMvc3RhdHMv d3JhcHBlciBkbWVzZwoJJExLUF9TUkMvc3RhdHMvd3JhcHBlciBrbXNnCgkkTEtQX1NSQy9zdGF0 cy93cmFwcGVyIGxhc3Rfc3RhdGUKCSRMS1BfU1JDL3N0YXRzL3dyYXBwZXIgc3RkZXJyCgkkTEtQ X1NSQy9zdGF0cy93cmFwcGVyIHRpbWUKfQoKIiRAIgo= --===============3082785961929637027== Content-Type: application/x-xz MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kmsg.xz" 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 --===============3082785961929637027== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kernel-selftests.ksh" S0VSTkVMIFNFTEZURVNUUzogbGludXhfaGVhZGVyc19kaXIgaXMgL3Vzci9zcmMvbGludXgtaGVh ZGVycy14ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cy02NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMx OTRhOGVhNzgxZmRhZGZhCjIwMjEtMDQtMTkgMTg6MTE6MjUgbW91bnQgLS1iaW5kIC9saWIvbW9k dWxlcy81LjEyLjAtcmM2LTAwMzQ5LWc2NjI4ZGRmZWM3NTgva2VybmVsL2xpYiAvdXNyL3NyYy9w ZXJmX3NlbGZ0ZXN0cy14ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cy02NjI4ZGRmZWM3NTgwODgy ZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhL2xpYgoyMDIxLTA0LTE5IDE4OjExOjI1IHNlZCAtaSBz L2RlZmF1bHRfdGltZW91dD00NS9kZWZhdWx0X3RpbWVvdXQ9MzAwLyBrc2VsZnRlc3QvcnVubmVy LnNoCnNvdXJjZSAvbGtwL2xrcC9zcmMvbGliL3Rlc3RzL2tlcm5lbC1zZWxmdGVzdHMtZXh0LnNo CkxLUCBTS0lQIG5ldC5sMnRwLnNoCkxLUCBTS0lQIG5ldC50bHMKMjAyMS0wNC0xOSAxODoxMToy NiAva3NlbGZ0ZXN0cy9ydW5fa3NlbGZ0ZXN0LnNoIC1jIG5ldApUQVAgdmVyc2lvbiAxMwoxLi40 NwojIHNlbGZ0ZXN0czogbmV0OiByZXVzZXBvcnRfYnBmCiMgLS0tLSBJUHY0IFVEUCAtLS0tCiMg VGVzdGluZyBFQlBGIG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2Nr ZXQgMjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tl dCA2OiA2CiMgU29ja2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0 IDA6IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29j a2V0IDQ6IDE0CiMgU29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMg U29ja2V0IDg6IDE4CiMgU29ja2V0IDk6IDE5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCA1 Li4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6 IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCAwOiA1CiMgU29ja2V0IDE6IDYKIyBTb2NrZXQgMjog NwojIFNvY2tldCAzOiA4CiMgU29ja2V0IDQ6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTog MTEKIyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQg MDogMTUKIyBTb2NrZXQgMTogMTYKIyBTb2NrZXQgMjogMTcKIyBTb2NrZXQgMzogMTgKIyBTb2Nr ZXQgNDogMTkKIyBUZXN0aW5nIEVCUEYgbW9kIDIwLi4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQg MTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCA1 OiA1CiMgU29ja2V0IDY6IDYKIyBTb2NrZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29ja2V0IDk6 IDkKIyBTb2NrZXQgMTA6IDEwCiMgU29ja2V0IDExOiAxMQojIFNvY2tldCAxMjogMTIKIyBTb2Nr ZXQgMTM6IDEzCiMgU29ja2V0IDE0OiAxNAojIFNvY2tldCAxNTogMTUKIyBTb2NrZXQgMTY6IDE2 CiMgU29ja2V0IDE3OiAxNwojIFNvY2tldCAxODogMTgKIyBTb2NrZXQgMTk6IDE5CiMgU29ja2V0 IDA6IDIwCiMgU29ja2V0IDE6IDIxCiMgU29ja2V0IDI6IDIyCiMgU29ja2V0IDM6IDIzCiMgU29j a2V0IDQ6IDI0CiMgU29ja2V0IDU6IDI1CiMgU29ja2V0IDY6IDI2CiMgU29ja2V0IDc6IDI3CiMg U29ja2V0IDg6IDI4CiMgU29ja2V0IDk6IDI5CiMgU29ja2V0IDEwOiAzMAojIFNvY2tldCAxMTog MzEKIyBTb2NrZXQgMTI6IDMyCiMgU29ja2V0IDEzOiAzMwojIFNvY2tldCAxNDogMzQKIyBTb2Nr ZXQgMTU6IDM1CiMgU29ja2V0IDE2OiAzNgojIFNvY2tldCAxNzogMzcKIyBTb2NrZXQgMTg6IDM4 CiMgU29ja2V0IDE5OiAzOQojIFJlcHJvZ3JhbWluZywgdGVzdGluZyBtb2QgMTAuLi4KIyBTb2Nr ZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tl dCA0OiA0CiMgU29ja2V0IDU6IDUKIyBTb2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0 IDg6IDgKIyBTb2NrZXQgOTogOQojIFNvY2tldCAwOiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tl dCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tldCA0OiAxNAojIFNvY2tldCA1OiAxNQojIFNv Y2tldCA2OiAxNgojIFNvY2tldCA3OiAxNwojIFNvY2tldCA4OiAxOAojIFNvY2tldCA5OiAxOQoj IFNvY2tldCAwOiAyMAojIFNvY2tldCAxOiAyMQojIFNvY2tldCAyOiAyMgojIFNvY2tldCAzOiAy MwojIFNvY2tldCA0OiAyNAojIFNvY2tldCA1OiAyNQojIFNvY2tldCA2OiAyNgojIFNvY2tldCA3 OiAyNwojIFNvY2tldCA4OiAyOAojIFNvY2tldCA5OiAyOQojIFNvY2tldCAwOiAzMAojIFNvY2tl dCAxOiAzMQojIFNvY2tldCAyOiAzMgojIFNvY2tldCAzOiAzMwojIFNvY2tldCA0OiAzNAojIFNv Y2tldCA1OiAzNQojIFNvY2tldCA2OiAzNgojIFNvY2tldCA3OiAzNwojIFNvY2tldCA4OiAzOAoj IFNvY2tldCA5OiAzOQojIFRlc3RpbmcgQ0JQRiBtb2QgMTAuLi4KIyBTb2NrZXQgMDogMAojIFNv Y2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29j a2V0IDU6IDUKIyBTb2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0IDg6IDgKIyBTb2Nr ZXQgOTogOQojIFNvY2tldCAwOiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNv Y2tldCAzOiAxMwojIFNvY2tldCA0OiAxNAojIFNvY2tldCA1OiAxNQojIFNvY2tldCA2OiAxNgoj IFNvY2tldCA3OiAxNwojIFNvY2tldCA4OiAxOAojIFNvY2tldCA5OiAxOQojIFJlcHJvZ3JhbWlu ZywgdGVzdGluZyBtb2QgNS4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQg MjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgMDogNQojIFNvY2tldCAx OiA2CiMgU29ja2V0IDI6IDcKIyBTb2NrZXQgMzogOAojIFNvY2tldCA0OiA5CiMgU29ja2V0IDA6 IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0 IDQ6IDE0CiMgU29ja2V0IDA6IDE1CiMgU29ja2V0IDE6IDE2CiMgU29ja2V0IDI6IDE3CiMgU29j a2V0IDM6IDE4CiMgU29ja2V0IDQ6IDE5CiMgVGVzdGluZyBDQlBGIG1vZCAyMC4uLgojIFNvY2tl dCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0 IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2OiA2CiMgU29ja2V0IDc6IDcKIyBTb2NrZXQg ODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDEwOiAxMAojIFNvY2tldCAxMTogMTEKIyBTb2Nr ZXQgMTI6IDEyCiMgU29ja2V0IDEzOiAxMwojIFNvY2tldCAxNDogMTQKIyBTb2NrZXQgMTU6IDE1 CiMgU29ja2V0IDE2OiAxNgojIFNvY2tldCAxNzogMTcKIyBTb2NrZXQgMTg6IDE4CiMgU29ja2V0 IDE5OiAxOQojIFNvY2tldCAwOiAyMAojIFNvY2tldCAxOiAyMQojIFNvY2tldCAyOiAyMgojIFNv Y2tldCAzOiAyMwojIFNvY2tldCA0OiAyNAojIFNvY2tldCA1OiAyNQojIFNvY2tldCA2OiAyNgoj IFNvY2tldCA3OiAyNwojIFNvY2tldCA4OiAyOAojIFNvY2tldCA5OiAyOQojIFNvY2tldCAxMDog MzAKIyBTb2NrZXQgMTE6IDMxCiMgU29ja2V0IDEyOiAzMgojIFNvY2tldCAxMzogMzMKIyBTb2Nr ZXQgMTQ6IDM0CiMgU29ja2V0IDE1OiAzNQojIFNvY2tldCAxNjogMzYKIyBTb2NrZXQgMTc6IDM3 CiMgU29ja2V0IDE4OiAzOAojIFNvY2tldCAxOTogMzkKIyBSZXByb2dyYW1pbmcsIHRlc3Rpbmcg bW9kIDEwLi4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29j a2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCA1OiA1CiMgU29ja2V0IDY6IDYKIyBTb2Nr ZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29ja2V0IDk6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2Nr ZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBT b2NrZXQgNTogMTUKIyBTb2NrZXQgNjogMTYKIyBTb2NrZXQgNzogMTcKIyBTb2NrZXQgODogMTgK IyBTb2NrZXQgOTogMTkKIyBTb2NrZXQgMDogMjAKIyBTb2NrZXQgMTogMjEKIyBTb2NrZXQgMjog MjIKIyBTb2NrZXQgMzogMjMKIyBTb2NrZXQgNDogMjQKIyBTb2NrZXQgNTogMjUKIyBTb2NrZXQg NjogMjYKIyBTb2NrZXQgNzogMjcKIyBTb2NrZXQgODogMjgKIyBTb2NrZXQgOTogMjkKIyBTb2Nr ZXQgMDogMzAKIyBTb2NrZXQgMTogMzEKIyBTb2NrZXQgMjogMzIKIyBTb2NrZXQgMzogMzMKIyBT b2NrZXQgNDogMzQKIyBTb2NrZXQgNTogMzUKIyBTb2NrZXQgNjogMzYKIyBTb2NrZXQgNzogMzcK IyBTb2NrZXQgODogMzgKIyBTb2NrZXQgOTogMzkKIyBUZXN0aW5nIHRvbyBtYW55IGZpbHRlcnMu Li4KIyBUZXN0aW5nIGZpbHRlcnMgb24gbm9uLVNPX1JFVVNFUE9SVCBzb2NrZXQuLi4KIyAtLS0t IElQdjYgVURQIC0tLS0KIyBUZXN0aW5nIEVCUEYgbW9kIDEwLi4uCiMgU29ja2V0IDA6IDAKIyBT b2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNv Y2tldCA1OiA1CiMgU29ja2V0IDY6IDYKIyBTb2NrZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29j a2V0IDk6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBT b2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgNTogMTUKIyBTb2NrZXQgNjogMTYK IyBTb2NrZXQgNzogMTcKIyBTb2NrZXQgODogMTgKIyBTb2NrZXQgOTogMTkKIyBSZXByb2dyYW1p bmcsIHRlc3RpbmcgbW9kIDUuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0 IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDA6IDUKIyBTb2NrZXQg MTogNgojIFNvY2tldCAyOiA3CiMgU29ja2V0IDM6IDgKIyBTb2NrZXQgNDogOQojIFNvY2tldCAw OiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tl dCA0OiAxNAojIFNvY2tldCAwOiAxNQojIFNvY2tldCAxOiAxNgojIFNvY2tldCAyOiAxNwojIFNv Y2tldCAzOiAxOAojIFNvY2tldCA0OiAxOQojIFRlc3RpbmcgRUJQRiBtb2QgMjAuLi4KIyBTb2Nr ZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tl dCA0OiA0CiMgU29ja2V0IDU6IDUKIyBTb2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0 IDg6IDgKIyBTb2NrZXQgOTogOQojIFNvY2tldCAxMDogMTAKIyBTb2NrZXQgMTE6IDExCiMgU29j a2V0IDEyOiAxMgojIFNvY2tldCAxMzogMTMKIyBTb2NrZXQgMTQ6IDE0CiMgU29ja2V0IDE1OiAx NQojIFNvY2tldCAxNjogMTYKIyBTb2NrZXQgMTc6IDE3CiMgU29ja2V0IDE4OiAxOAojIFNvY2tl dCAxOTogMTkKIyBTb2NrZXQgMDogMjAKIyBTb2NrZXQgMTogMjEKIyBTb2NrZXQgMjogMjIKIyBT b2NrZXQgMzogMjMKIyBTb2NrZXQgNDogMjQKIyBTb2NrZXQgNTogMjUKIyBTb2NrZXQgNjogMjYK IyBTb2NrZXQgNzogMjcKIyBTb2NrZXQgODogMjgKIyBTb2NrZXQgOTogMjkKIyBTb2NrZXQgMTA6 IDMwCiMgU29ja2V0IDExOiAzMQojIFNvY2tldCAxMjogMzIKIyBTb2NrZXQgMTM6IDMzCiMgU29j a2V0IDE0OiAzNAojIFNvY2tldCAxNTogMzUKIyBTb2NrZXQgMTY6IDM2CiMgU29ja2V0IDE3OiAz NwojIFNvY2tldCAxODogMzgKIyBTb2NrZXQgMTk6IDM5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5n IG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNv Y2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2OiA2CiMgU29j a2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDA6IDEwCiMgU29j a2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0IDQ6IDE0CiMg U29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMgU29ja2V0IDg6IDE4 CiMgU29ja2V0IDk6IDE5CiMgU29ja2V0IDA6IDIwCiMgU29ja2V0IDE6IDIxCiMgU29ja2V0IDI6 IDIyCiMgU29ja2V0IDM6IDIzCiMgU29ja2V0IDQ6IDI0CiMgU29ja2V0IDU6IDI1CiMgU29ja2V0 IDY6IDI2CiMgU29ja2V0IDc6IDI3CiMgU29ja2V0IDg6IDI4CiMgU29ja2V0IDk6IDI5CiMgU29j a2V0IDA6IDMwCiMgU29ja2V0IDE6IDMxCiMgU29ja2V0IDI6IDMyCiMgU29ja2V0IDM6IDMzCiMg U29ja2V0IDQ6IDM0CiMgU29ja2V0IDU6IDM1CiMgU29ja2V0IDY6IDM2CiMgU29ja2V0IDc6IDM3 CiMgU29ja2V0IDg6IDM4CiMgU29ja2V0IDk6IDM5CiMgVGVzdGluZyBDQlBGIG1vZCAxMC4uLgoj IFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMg U29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2OiA2CiMgU29ja2V0IDc6IDcKIyBT b2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDExCiMg U29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDU6IDE1 CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMgU29ja2V0IDg6IDE4CiMgU29ja2V0IDk6 IDE5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCA1Li4uCiMgU29ja2V0IDA6IDAKIyBTb2Nr ZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tl dCAwOiA1CiMgU29ja2V0IDE6IDYKIyBTb2NrZXQgMjogNwojIFNvY2tldCAzOiA4CiMgU29ja2V0 IDQ6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBTb2Nr ZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgMDogMTUKIyBTb2NrZXQgMTogMTYKIyBT b2NrZXQgMjogMTcKIyBTb2NrZXQgMzogMTgKIyBTb2NrZXQgNDogMTkKIyBUZXN0aW5nIENCUEYg bW9kIDIwLi4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29j a2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCA1OiA1CiMgU29ja2V0IDY6IDYKIyBTb2Nr ZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29ja2V0IDk6IDkKIyBTb2NrZXQgMTA6IDEwCiMgU29j a2V0IDExOiAxMQojIFNvY2tldCAxMjogMTIKIyBTb2NrZXQgMTM6IDEzCiMgU29ja2V0IDE0OiAx NAojIFNvY2tldCAxNTogMTUKIyBTb2NrZXQgMTY6IDE2CiMgU29ja2V0IDE3OiAxNwojIFNvY2tl dCAxODogMTgKIyBTb2NrZXQgMTk6IDE5CiMgU29ja2V0IDA6IDIwCiMgU29ja2V0IDE6IDIxCiMg U29ja2V0IDI6IDIyCiMgU29ja2V0IDM6IDIzCiMgU29ja2V0IDQ6IDI0CiMgU29ja2V0IDU6IDI1 CiMgU29ja2V0IDY6IDI2CiMgU29ja2V0IDc6IDI3CiMgU29ja2V0IDg6IDI4CiMgU29ja2V0IDk6 IDI5CiMgU29ja2V0IDEwOiAzMAojIFNvY2tldCAxMTogMzEKIyBTb2NrZXQgMTI6IDMyCiMgU29j a2V0IDEzOiAzMwojIFNvY2tldCAxNDogMzQKIyBTb2NrZXQgMTU6IDM1CiMgU29ja2V0IDE2OiAz NgojIFNvY2tldCAxNzogMzcKIyBTb2NrZXQgMTg6IDM4CiMgU29ja2V0IDE5OiAzOQojIFJlcHJv Z3JhbWluZywgdGVzdGluZyBtb2QgMTAuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMg U29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDU6IDUKIyBT b2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0IDg6IDgKIyBTb2NrZXQgOTogOQojIFNv Y2tldCAwOiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwoj IFNvY2tldCA0OiAxNAojIFNvY2tldCA1OiAxNQojIFNvY2tldCA2OiAxNgojIFNvY2tldCA3OiAx NwojIFNvY2tldCA4OiAxOAojIFNvY2tldCA5OiAxOQojIFNvY2tldCAwOiAyMAojIFNvY2tldCAx OiAyMQojIFNvY2tldCAyOiAyMgojIFNvY2tldCAzOiAyMwojIFNvY2tldCA0OiAyNAojIFNvY2tl dCA1OiAyNQojIFNvY2tldCA2OiAyNgojIFNvY2tldCA3OiAyNwojIFNvY2tldCA4OiAyOAojIFNv Y2tldCA5OiAyOQojIFNvY2tldCAwOiAzMAojIFNvY2tldCAxOiAzMQojIFNvY2tldCAyOiAzMgoj IFNvY2tldCAzOiAzMwojIFNvY2tldCA0OiAzNAojIFNvY2tldCA1OiAzNQojIFNvY2tldCA2OiAz NgojIFNvY2tldCA3OiAzNwojIFNvY2tldCA4OiAzOAojIFNvY2tldCA5OiAzOQojIFRlc3Rpbmcg dG9vIG1hbnkgZmlsdGVycy4uLgojIFRlc3RpbmcgZmlsdGVycyBvbiBub24tU09fUkVVU0VQT1JU IHNvY2tldC4uLgojIC0tLS0gSVB2NiBVRFAgdy8gbWFwcGVkIElQdjQgLS0tLQojIFRlc3Rpbmcg RUJQRiBtb2QgMjAuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIK IyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDU6IDUKIyBTb2NrZXQgNjogNgoj IFNvY2tldCA3OiA3CiMgU29ja2V0IDg6IDgKIyBTb2NrZXQgOTogOQojIFNvY2tldCAxMDogMTAK IyBTb2NrZXQgMTE6IDExCiMgU29ja2V0IDEyOiAxMgojIFNvY2tldCAxMzogMTMKIyBTb2NrZXQg MTQ6IDE0CiMgU29ja2V0IDE1OiAxNQojIFNvY2tldCAxNjogMTYKIyBTb2NrZXQgMTc6IDE3CiMg U29ja2V0IDE4OiAxOAojIFNvY2tldCAxOTogMTkKIyBTb2NrZXQgMDogMjAKIyBTb2NrZXQgMTog MjEKIyBTb2NrZXQgMjogMjIKIyBTb2NrZXQgMzogMjMKIyBTb2NrZXQgNDogMjQKIyBTb2NrZXQg NTogMjUKIyBTb2NrZXQgNjogMjYKIyBTb2NrZXQgNzogMjcKIyBTb2NrZXQgODogMjgKIyBTb2Nr ZXQgOTogMjkKIyBTb2NrZXQgMTA6IDMwCiMgU29ja2V0IDExOiAzMQojIFNvY2tldCAxMjogMzIK IyBTb2NrZXQgMTM6IDMzCiMgU29ja2V0IDE0OiAzNAojIFNvY2tldCAxNTogMzUKIyBTb2NrZXQg MTY6IDM2CiMgU29ja2V0IDE3OiAzNwojIFNvY2tldCAxODogMzgKIyBTb2NrZXQgMTk6IDM5CiMg UmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6 IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTog NQojIFNvY2tldCA2OiA2CiMgU29ja2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5 CiMgU29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6 IDEzCiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0 IDc6IDE3CiMgU29ja2V0IDg6IDE4CiMgU29ja2V0IDk6IDE5CiMgU29ja2V0IDA6IDIwCiMgU29j a2V0IDE6IDIxCiMgU29ja2V0IDI6IDIyCiMgU29ja2V0IDM6IDIzCiMgU29ja2V0IDQ6IDI0CiMg U29ja2V0IDU6IDI1CiMgU29ja2V0IDY6IDI2CiMgU29ja2V0IDc6IDI3CiMgU29ja2V0IDg6IDI4 CiMgU29ja2V0IDk6IDI5CiMgU29ja2V0IDA6IDMwCiMgU29ja2V0IDE6IDMxCiMgU29ja2V0IDI6 IDMyCiMgU29ja2V0IDM6IDMzCiMgU29ja2V0IDQ6IDM0CiMgU29ja2V0IDU6IDM1CiMgU29ja2V0 IDY6IDM2CiMgU29ja2V0IDc6IDM3CiMgU29ja2V0IDg6IDM4CiMgU29ja2V0IDk6IDM5CiMgVGVz dGluZyBFQlBGIG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQg MjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2 OiA2CiMgU29ja2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDA6 IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0 IDQ6IDE0CiMgU29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMgU29j a2V0IDg6IDE4CiMgU29ja2V0IDk6IDE5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCA1Li4u CiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMK IyBTb2NrZXQgNDogNAojIFNvY2tldCAwOiA1CiMgU29ja2V0IDE6IDYKIyBTb2NrZXQgMjogNwoj IFNvY2tldCAzOiA4CiMgU29ja2V0IDQ6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEK IyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgMDog MTUKIyBTb2NrZXQgMTogMTYKIyBTb2NrZXQgMjogMTcKIyBTb2NrZXQgMzogMTgKIyBTb2NrZXQg NDogMTkKIyBUZXN0aW5nIENCUEYgbW9kIDEwLi4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTog MQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCA1OiA1 CiMgU29ja2V0IDY6IDYKIyBTb2NrZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29ja2V0IDk6IDkK IyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzog MTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgNTogMTUKIyBTb2NrZXQgNjogMTYKIyBTb2NrZXQg NzogMTcKIyBTb2NrZXQgODogMTgKIyBTb2NrZXQgOTogMTkKIyBSZXByb2dyYW1pbmcsIHRlc3Rp bmcgbW9kIDUuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBT b2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDA6IDUKIyBTb2NrZXQgMTogNgojIFNv Y2tldCAyOiA3CiMgU29ja2V0IDM6IDgKIyBTb2NrZXQgNDogOQojIFNvY2tldCAwOiAxMAojIFNv Y2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tldCA0OiAxNAoj IFNvY2tldCAwOiAxNQojIFNvY2tldCAxOiAxNgojIFNvY2tldCAyOiAxNwojIFNvY2tldCAzOiAx OAojIFNvY2tldCA0OiAxOQojIFRlc3RpbmcgQ0JQRiBtb2QgMjAuLi4KIyBTb2NrZXQgMDogMAoj IFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMg U29ja2V0IDU6IDUKIyBTb2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0IDg6IDgKIyBT b2NrZXQgOTogOQojIFNvY2tldCAxMDogMTAKIyBTb2NrZXQgMTE6IDExCiMgU29ja2V0IDEyOiAx MgojIFNvY2tldCAxMzogMTMKIyBTb2NrZXQgMTQ6IDE0CiMgU29ja2V0IDE1OiAxNQojIFNvY2tl dCAxNjogMTYKIyBTb2NrZXQgMTc6IDE3CiMgU29ja2V0IDE4OiAxOAojIFNvY2tldCAxOTogMTkK IyBTb2NrZXQgMDogMjAKIyBTb2NrZXQgMTogMjEKIyBTb2NrZXQgMjogMjIKIyBTb2NrZXQgMzog MjMKIyBTb2NrZXQgNDogMjQKIyBTb2NrZXQgNTogMjUKIyBTb2NrZXQgNjogMjYKIyBTb2NrZXQg NzogMjcKIyBTb2NrZXQgODogMjgKIyBTb2NrZXQgOTogMjkKIyBTb2NrZXQgMTA6IDMwCiMgU29j a2V0IDExOiAzMQojIFNvY2tldCAxMjogMzIKIyBTb2NrZXQgMTM6IDMzCiMgU29ja2V0IDE0OiAz NAojIFNvY2tldCAxNTogMzUKIyBTb2NrZXQgMTY6IDM2CiMgU29ja2V0IDE3OiAzNwojIFNvY2tl dCAxODogMzgKIyBTb2NrZXQgMTk6IDM5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCAxMC4u LgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAz CiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2OiA2CiMgU29ja2V0IDc6IDcK IyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDEx CiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDU6 IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMgU29ja2V0IDg6IDE4CiMgU29ja2V0 IDk6IDE5CiMgU29ja2V0IDA6IDIwCiMgU29ja2V0IDE6IDIxCiMgU29ja2V0IDI6IDIyCiMgU29j a2V0IDM6IDIzCiMgU29ja2V0IDQ6IDI0CiMgU29ja2V0IDU6IDI1CiMgU29ja2V0IDY6IDI2CiMg U29ja2V0IDc6IDI3CiMgU29ja2V0IDg6IDI4CiMgU29ja2V0IDk6IDI5CiMgU29ja2V0IDA6IDMw CiMgU29ja2V0IDE6IDMxCiMgU29ja2V0IDI6IDMyCiMgU29ja2V0IDM6IDMzCiMgU29ja2V0IDQ6 IDM0CiMgU29ja2V0IDU6IDM1CiMgU29ja2V0IDY6IDM2CiMgU29ja2V0IDc6IDM3CiMgU29ja2V0 IDg6IDM4CiMgU29ja2V0IDk6IDM5CiMgLS0tLSBJUHY0IFRDUCAtLS0tCiMgVGVzdGluZyBFQlBG IG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNv Y2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQojIFNvY2tldCA2OiA2CiMgU29j a2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMgU29ja2V0IDA6IDEwCiMgU29j a2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0IDQ6IDE0CiMg U29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6IDE3CiMgU29ja2V0IDg6IDE4 CiMgU29ja2V0IDk6IDE5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5nIG1vZCA1Li4uCiMgU29ja2V0 IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQg NDogNAojIFNvY2tldCAwOiA1CiMgU29ja2V0IDE6IDYKIyBTb2NrZXQgMjogNwojIFNvY2tldCAz OiA4CiMgU29ja2V0IDQ6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQg MjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgMDogMTUKIyBTb2Nr ZXQgMTogMTYKIyBTb2NrZXQgMjogMTcKIyBTb2NrZXQgMzogMTgKIyBTb2NrZXQgNDogMTkKIyBU ZXN0aW5nIENCUEYgbW9kIDEwLi4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tl dCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCA1OiA1CiMgU29ja2V0 IDY6IDYKIyBTb2NrZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29ja2V0IDk6IDkKIyBTb2NrZXQg MDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2Nr ZXQgNDogMTQKIyBTb2NrZXQgNTogMTUKIyBTb2NrZXQgNjogMTYKIyBTb2NrZXQgNzogMTcKIyBT b2NrZXQgODogMTgKIyBTb2NrZXQgOTogMTkKIyBSZXByb2dyYW1pbmcsIHRlc3RpbmcgbW9kIDUu Li4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzog MwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDA6IDUKIyBTb2NrZXQgMTogNgojIFNvY2tldCAyOiA3 CiMgU29ja2V0IDM6IDgKIyBTb2NrZXQgNDogOQojIFNvY2tldCAwOiAxMAojIFNvY2tldCAxOiAx MQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tldCA0OiAxNAojIFNvY2tldCAw OiAxNQojIFNvY2tldCAxOiAxNgojIFNvY2tldCAyOiAxNwojIFNvY2tldCAzOiAxOAojIFNvY2tl dCA0OiAxOQojIFRlc3RpbmcgdG9vIG1hbnkgZmlsdGVycy4uLgojIFRlc3RpbmcgZmlsdGVycyBv biBub24tU09fUkVVU0VQT1JUIHNvY2tldC4uLgojIC0tLS0gSVB2NiBUQ1AgLS0tLQojIFRlc3Rp bmcgRUJQRiBtb2QgMTAuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6 IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDU6IDUKIyBTb2NrZXQgNjog NgojIFNvY2tldCA3OiA3CiMgU29ja2V0IDg6IDgKIyBTb2NrZXQgOTogOQojIFNvY2tldCAwOiAx MAojIFNvY2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tldCA0 OiAxNAojIFNvY2tldCA1OiAxNQojIFNvY2tldCA2OiAxNgojIFNvY2tldCA3OiAxNwojIFNvY2tl dCA4OiAxOAojIFNvY2tldCA5OiAxOQojIFJlcHJvZ3JhbWluZywgdGVzdGluZyBtb2QgNS4uLgoj IFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMg U29ja2V0IDQ6IDQKIyBTb2NrZXQgMDogNQojIFNvY2tldCAxOiA2CiMgU29ja2V0IDI6IDcKIyBT b2NrZXQgMzogOAojIFNvY2tldCA0OiA5CiMgU29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDExCiMg U29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEzCiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDA6IDE1 CiMgU29ja2V0IDE6IDE2CiMgU29ja2V0IDI6IDE3CiMgU29ja2V0IDM6IDE4CiMgU29ja2V0IDQ6 IDE5CiMgVGVzdGluZyBDQlBGIG1vZCAxMC4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6IDEK IyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgNTogNQoj IFNvY2tldCA2OiA2CiMgU29ja2V0IDc6IDcKIyBTb2NrZXQgODogOAojIFNvY2tldCA5OiA5CiMg U29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6IDEz CiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDU6IDE1CiMgU29ja2V0IDY6IDE2CiMgU29ja2V0IDc6 IDE3CiMgU29ja2V0IDg6IDE4CiMgU29ja2V0IDk6IDE5CiMgUmVwcm9ncmFtaW5nLCB0ZXN0aW5n IG1vZCA1Li4uCiMgU29ja2V0IDA6IDAKIyBTb2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29j a2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNvY2tldCAwOiA1CiMgU29ja2V0IDE6IDYKIyBTb2Nr ZXQgMjogNwojIFNvY2tldCAzOiA4CiMgU29ja2V0IDQ6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2Nr ZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBTb2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBT b2NrZXQgMDogMTUKIyBTb2NrZXQgMTogMTYKIyBTb2NrZXQgMjogMTcKIyBTb2NrZXQgMzogMTgK IyBTb2NrZXQgNDogMTkKIyBUZXN0aW5nIHRvbyBtYW55IGZpbHRlcnMuLi4KIyBUZXN0aW5nIGZp bHRlcnMgb24gbm9uLVNPX1JFVVNFUE9SVCBzb2NrZXQuLi4KIyAtLS0tIElQdjYgVENQIHcvIG1h cHBlZCBJUHY0IC0tLS0KIyBUZXN0aW5nIEVCUEYgbW9kIDEwLi4uCiMgU29ja2V0IDA6IDAKIyBT b2NrZXQgMTogMQojIFNvY2tldCAyOiAyCiMgU29ja2V0IDM6IDMKIyBTb2NrZXQgNDogNAojIFNv Y2tldCA1OiA1CiMgU29ja2V0IDY6IDYKIyBTb2NrZXQgNzogNwojIFNvY2tldCA4OiA4CiMgU29j a2V0IDk6IDkKIyBTb2NrZXQgMDogMTAKIyBTb2NrZXQgMTogMTEKIyBTb2NrZXQgMjogMTIKIyBT b2NrZXQgMzogMTMKIyBTb2NrZXQgNDogMTQKIyBTb2NrZXQgNTogMTUKIyBTb2NrZXQgNjogMTYK IyBTb2NrZXQgNzogMTcKIyBTb2NrZXQgODogMTgKIyBTb2NrZXQgOTogMTkKIyBSZXByb2dyYW1p bmcsIHRlc3RpbmcgbW9kIDUuLi4KIyBTb2NrZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0 IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tldCA0OiA0CiMgU29ja2V0IDA6IDUKIyBTb2NrZXQg MTogNgojIFNvY2tldCAyOiA3CiMgU29ja2V0IDM6IDgKIyBTb2NrZXQgNDogOQojIFNvY2tldCAw OiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tldCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tl dCA0OiAxNAojIFNvY2tldCAwOiAxNQojIFNvY2tldCAxOiAxNgojIFNvY2tldCAyOiAxNwojIFNv Y2tldCAzOiAxOAojIFNvY2tldCA0OiAxOQojIFRlc3RpbmcgQ0JQRiBtb2QgMTAuLi4KIyBTb2Nr ZXQgMDogMAojIFNvY2tldCAxOiAxCiMgU29ja2V0IDI6IDIKIyBTb2NrZXQgMzogMwojIFNvY2tl dCA0OiA0CiMgU29ja2V0IDU6IDUKIyBTb2NrZXQgNjogNgojIFNvY2tldCA3OiA3CiMgU29ja2V0 IDg6IDgKIyBTb2NrZXQgOTogOQojIFNvY2tldCAwOiAxMAojIFNvY2tldCAxOiAxMQojIFNvY2tl dCAyOiAxMgojIFNvY2tldCAzOiAxMwojIFNvY2tldCA0OiAxNAojIFNvY2tldCA1OiAxNQojIFNv Y2tldCA2OiAxNgojIFNvY2tldCA3OiAxNwojIFNvY2tldCA4OiAxOAojIFNvY2tldCA5OiAxOQoj IFJlcHJvZ3JhbWluZywgdGVzdGluZyBtb2QgNS4uLgojIFNvY2tldCAwOiAwCiMgU29ja2V0IDE6 IDEKIyBTb2NrZXQgMjogMgojIFNvY2tldCAzOiAzCiMgU29ja2V0IDQ6IDQKIyBTb2NrZXQgMDog NQojIFNvY2tldCAxOiA2CiMgU29ja2V0IDI6IDcKIyBTb2NrZXQgMzogOAojIFNvY2tldCA0OiA5 CiMgU29ja2V0IDA6IDEwCiMgU29ja2V0IDE6IDExCiMgU29ja2V0IDI6IDEyCiMgU29ja2V0IDM6 IDEzCiMgU29ja2V0IDQ6IDE0CiMgU29ja2V0IDA6IDE1CiMgU29ja2V0IDE6IDE2CiMgU29ja2V0 IDI6IDE3CiMgU29ja2V0IDM6IDE4CiMgU29ja2V0IDQ6IDE5CiMgVGVzdGluZyBmaWx0ZXIgYWRk IHdpdGhvdXQgYmluZC4uLgojIFNVQ0NFU1MKb2sgMSBzZWxmdGVzdHM6IG5ldDogcmV1c2Vwb3J0 X2JwZgojIHNlbGZ0ZXN0czogbmV0OiByZXVzZXBvcnRfYnBmX2NwdQojIC0tLS0gSVB2NCBVRFAg LS0tLQojIHNlbmQgY3B1IDAsIHJlY2VpdmUgc29ja2V0IDAKIyBzZW5kIGNwdSAxLCByZWNlaXZl IHNvY2tldCAxCiMgc2VuZCBjcHUgMiwgcmVjZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDMsIHJl Y2VpdmUgc29ja2V0IDMKIyBzZW5kIGNwdSAzLCByZWNlaXZlIHNvY2tldCAzCiMgc2VuZCBjcHUg MiwgcmVjZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDEsIHJlY2VpdmUgc29ja2V0IDEKIyBzZW5k IGNwdSAwLCByZWNlaXZlIHNvY2tldCAwCiMgc2VuZCBjcHUgMCwgcmVjZWl2ZSBzb2NrZXQgMAoj IHNlbmQgY3B1IDIsIHJlY2VpdmUgc29ja2V0IDIKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tl dCAxCiMgc2VuZCBjcHUgMywgcmVjZWl2ZSBzb2NrZXQgMwojIC0tLS0gSVB2NiBVRFAgLS0tLQoj IHNlbmQgY3B1IDAsIHJlY2VpdmUgc29ja2V0IDAKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tl dCAxCiMgc2VuZCBjcHUgMiwgcmVjZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDMsIHJlY2VpdmUg c29ja2V0IDMKIyBzZW5kIGNwdSAzLCByZWNlaXZlIHNvY2tldCAzCiMgc2VuZCBjcHUgMiwgcmVj ZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDEsIHJlY2VpdmUgc29ja2V0IDEKIyBzZW5kIGNwdSAw LCByZWNlaXZlIHNvY2tldCAwCiMgc2VuZCBjcHUgMCwgcmVjZWl2ZSBzb2NrZXQgMAojIHNlbmQg Y3B1IDIsIHJlY2VpdmUgc29ja2V0IDIKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tldCAxCiMg c2VuZCBjcHUgMywgcmVjZWl2ZSBzb2NrZXQgMwojIC0tLS0gSVB2NCBUQ1AgLS0tLQojIHNlbmQg Y3B1IDAsIHJlY2VpdmUgc29ja2V0IDAKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tldCAxCiMg c2VuZCBjcHUgMiwgcmVjZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDMsIHJlY2VpdmUgc29ja2V0 IDMKIyBzZW5kIGNwdSAzLCByZWNlaXZlIHNvY2tldCAzCiMgc2VuZCBjcHUgMiwgcmVjZWl2ZSBz b2NrZXQgMgojIHNlbmQgY3B1IDEsIHJlY2VpdmUgc29ja2V0IDEKIyBzZW5kIGNwdSAwLCByZWNl aXZlIHNvY2tldCAwCiMgc2VuZCBjcHUgMCwgcmVjZWl2ZSBzb2NrZXQgMAojIHNlbmQgY3B1IDIs IHJlY2VpdmUgc29ja2V0IDIKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tldCAxCiMgc2VuZCBj cHUgMywgcmVjZWl2ZSBzb2NrZXQgMwojIC0tLS0gSVB2NiBUQ1AgLS0tLQojIHNlbmQgY3B1IDAs IHJlY2VpdmUgc29ja2V0IDAKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tldCAxCiMgc2VuZCBj cHUgMiwgcmVjZWl2ZSBzb2NrZXQgMgojIHNlbmQgY3B1IDMsIHJlY2VpdmUgc29ja2V0IDMKIyBz ZW5kIGNwdSAzLCByZWNlaXZlIHNvY2tldCAzCiMgc2VuZCBjcHUgMiwgcmVjZWl2ZSBzb2NrZXQg MgojIHNlbmQgY3B1IDEsIHJlY2VpdmUgc29ja2V0IDEKIyBzZW5kIGNwdSAwLCByZWNlaXZlIHNv Y2tldCAwCiMgc2VuZCBjcHUgMCwgcmVjZWl2ZSBzb2NrZXQgMAojIHNlbmQgY3B1IDIsIHJlY2Vp dmUgc29ja2V0IDIKIyBzZW5kIGNwdSAxLCByZWNlaXZlIHNvY2tldCAxCiMgc2VuZCBjcHUgMywg cmVjZWl2ZSBzb2NrZXQgMwojIFNVQ0NFU1MKb2sgMiBzZWxmdGVzdHM6IG5ldDogcmV1c2Vwb3J0 X2JwZl9jcHUKIyBzZWxmdGVzdHM6IG5ldDogcmV1c2Vwb3J0X2JwZl9udW1hCiMgLS0tLSBJUHY0 IFVEUCAtLS0tCiMgc2VuZCBub2RlIDAsIHJlY2VpdmUgc29ja2V0IDAKIyBzZW5kIG5vZGUgMCwg cmVjZWl2ZSBzb2NrZXQgMAojIC0tLS0gSVB2NiBVRFAgLS0tLQojIHNlbmQgbm9kZSAwLCByZWNl aXZlIHNvY2tldCAwCiMgc2VuZCBub2RlIDAsIHJlY2VpdmUgc29ja2V0IDAKIyAtLS0tIElQdjQg VENQIC0tLS0KIyBzZW5kIG5vZGUgMCwgcmVjZWl2ZSBzb2NrZXQgMAojIHNlbmQgbm9kZSAwLCBy ZWNlaXZlIHNvY2tldCAwCiMgLS0tLSBJUHY2IFRDUCAtLS0tCiMgc2VuZCBub2RlIDAsIHJlY2Vp dmUgc29ja2V0IDAKIyBzZW5kIG5vZGUgMCwgcmVjZWl2ZSBzb2NrZXQgMAojIFNVQ0NFU1MKb2sg MyBzZWxmdGVzdHM6IG5ldDogcmV1c2Vwb3J0X2JwZl9udW1hCiMgc2VsZnRlc3RzOiBuZXQ6IHJl dXNlcG9ydF9kdWFsc3RhY2sKIyAtLS0tIFVEUCBJUHY0IGNyZWF0ZWQgYmVmb3JlIElQdjYgLS0t LQojIC0tLS0gVURQIElQdjYgY3JlYXRlZCBiZWZvcmUgSVB2NCAtLS0tCiMgLS0tLSBVRFAgSVB2 NCBjcmVhdGVkIGJlZm9yZSBJUHY2IChsYXJnZSkgLS0tLQojIC0tLS0gVURQIElQdjYgY3JlYXRl ZCBiZWZvcmUgSVB2NCAobGFyZ2UpIC0tLS0KIyAtLS0tIFRDUCBJUHY0IGNyZWF0ZWQgYmVmb3Jl IElQdjYgLS0tLQojIC0tLS0gVENQIElQdjYgY3JlYXRlZCBiZWZvcmUgSVB2NCAtLS0tCiMgU1VD Q0VTUwpvayA0IHNlbGZ0ZXN0czogbmV0OiByZXVzZXBvcnRfZHVhbHN0YWNrCiMgc2VsZnRlc3Rz OiBuZXQ6IHJldXNlYWRkcl9jb25mbGljdAojIE9wZW5pbmcgMTI3LjAuMC4xOjk5OTkKIyBPcGVu aW5nIElOQUREUl9BTlk6OTk5OQojIGJpbmQ6IEFkZHJlc3MgYWxyZWFkeSBpbiB1c2UKIyBPcGVu aW5nIGluNmFkZHJfYW55Ojk5OTkKIyBPcGVuaW5nIElOQUREUl9BTlk6OTk5OQojIGJpbmQ6IEFk ZHJlc3MgYWxyZWFkeSBpbiB1c2UKIyBPcGVuaW5nIElOQUREUl9BTlk6OTk5OSBhZnRlciBjbG9z aW5nIGlwdjYgc29ja2V0CiMgYmluZDogQWRkcmVzcyBhbHJlYWR5IGluIHVzZQojIFN1Y2Nlc3Nv ayA1IHNlbGZ0ZXN0czogbmV0OiByZXVzZWFkZHJfY29uZmxpY3QKIyBzZWxmdGVzdHM6IG5ldDog cnVuX25ldHNvY2t0ZXN0cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgcnVubmluZyBzb2NrZXQg dGVzdAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgW1BBU1NdCm9rIDYgc2VsZnRlc3RzOiBuZXQ6 IHJ1bl9uZXRzb2NrdGVzdHMKIyBzZWxmdGVzdHM6IG5ldDogcnVuX2FmcGFja2V0dGVzdHMKIyAt LS0tLS0tLS0tLS0tLS0tLS0tLQojIHJ1bm5pbmcgcHNvY2tfZmFub3V0IHRlc3QKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLQojIHRlc3Q6IGNvbnRyb2wgc2luZ2xlIHNvY2tldAojIHRlc3Q6IGNvbnRy b2wgbXVsdGlwbGUgc29ja2V0cwojIHRlc3Q6IGNvbnRyb2wgbXVsdGlwbGUgc29ja2V0cywgbWF4 X251bV9tZW1iZXJzCiMgdGVzdDogdW5pcXVlIGlkcwojIAojIHRlc3Q6IGRhdGFwYXRoIDB4MCBw b3J0cyA4MDAwLDgwMDIKIyBpbmZvOiBjb3VudD0wLDAsIGV4cGVjdD0wLDAKIyBpbmZvOiBjb3Vu dD0yMCwwLCBleHBlY3Q9MTUsNQojIHdhcm5pbmc6IGluY29ycmVjdCBxdWV1ZSBsZW5ndGhzCiMg aW5mbzogY291bnQ9MjAsMCwgZXhwZWN0PTIwLDUKIyB3YXJuaW5nOiBpbmNvcnJlY3QgcXVldWUg bGVuZ3RocwojIGluZm86IHRyeWluZyBhbHRlcm5hdGUgcG9ydHMgKDIwKQojIAojIHRlc3Q6IGRh dGFwYXRoIDB4MCBwb3J0cyA4MDAwLDgwMDMKIyBpbmZvOiBjb3VudD0wLDAsIGV4cGVjdD0wLDAK IyBpbmZvOiBjb3VudD0yMCwwLCBleHBlY3Q9MTUsNQojIHdhcm5pbmc6IGluY29ycmVjdCBxdWV1 ZSBsZW5ndGhzCiMgaW5mbzogY291bnQ9MjAsMCwgZXhwZWN0PTIwLDUKIyB3YXJuaW5nOiBpbmNv cnJlY3QgcXVldWUgbGVuZ3RocwojIGluZm86IHRyeWluZyBhbHRlcm5hdGUgcG9ydHMgKDE5KQoj IAojIHRlc3Q6IGRhdGFwYXRoIDB4MCBwb3J0cyA4MDAwLDgwMDQKIyBpbmZvOiBjb3VudD0wLDAs IGV4cGVjdD0wLDAKIyBpbmZvOiBjb3VudD0yMCwwLCBleHBlY3Q9MTUsNQojIHdhcm5pbmc6IGlu Y29ycmVjdCBxdWV1ZSBsZW5ndGhzCiMgaW5mbzogY291bnQ9MjAsMCwgZXhwZWN0PTIwLDUKIyB3 YXJuaW5nOiBpbmNvcnJlY3QgcXVldWUgbGVuZ3RocwojIGluZm86IHRyeWluZyBhbHRlcm5hdGUg cG9ydHMgKDE4KQojIAojIHRlc3Q6IGRhdGFwYXRoIDB4MCBwb3J0cyA4MDAwLDgwMDUKIyBpbmZv OiBjb3VudD0wLDAsIGV4cGVjdD0wLDAKIyBpbmZvOiBjb3VudD0xNSw1LCBleHBlY3Q9MTUsNQoj IGluZm86IGNvdW50PTIwLDUsIGV4cGVjdD0yMCw1CiMgCiMgdGVzdDogZGF0YXBhdGggMHgxMDAw IHBvcnRzIDgwMDAsODAwNQojIGluZm86IGNvdW50PTAsMCwgZXhwZWN0PTAsMAojIGluZm86IGNv dW50PTE1LDUsIGV4cGVjdD0xNSw1CiMgaW5mbzogY291bnQ9MjAsMTUsIGV4cGVjdD0yMCwxNQoj IAojIHRlc3Q6IGRhdGFwYXRoIDB4MSBwb3J0cyA4MDAwLDgwMDUKIyBpbmZvOiBjb3VudD0wLDAs IGV4cGVjdD0wLDAKIyBpbmZvOiBjb3VudD0xMCwxMCwgZXhwZWN0PTEwLDEwCiMgaW5mbzogY291 bnQ9MTcsMTgsIGV4cGVjdD0xOCwxNwojIAojIHRlc3Q6IGRhdGFwYXRoIDB4MyBwb3J0cyA4MDAw LDgwMDUKIyBpbmZvOiBjb3VudD0wLDAsIGV4cGVjdD0wLDAKIyBpbmZvOiBjb3VudD0xNSw1LCBl eHBlY3Q9MTUsNQojIGluZm86IGNvdW50PTIwLDE1LCBleHBlY3Q9MjAsMTUKIyAKIyB0ZXN0OiBk YXRhcGF0aCAweDYgcG9ydHMgODAwMCw4MDA1CiMgaW5mbzogY291bnQ9MCwwLCBleHBlY3Q9MCww CiMgaW5mbzogY291bnQ9NSwxNSwgZXhwZWN0PTE1LDUKIyBpbmZvOiBjb3VudD0yMCwxNSwgZXhw ZWN0PTE1LDIwCiMgCiMgdGVzdDogZGF0YXBhdGggMHg3IHBvcnRzIDgwMDAsODAwNQojIGluZm86 IGNvdW50PTAsMCwgZXhwZWN0PTAsMAojIGluZm86IGNvdW50PTUsMTUsIGV4cGVjdD0xNSw1CiMg aW5mbzogY291bnQ9MjAsMTUsIGV4cGVjdD0xNSwyMAojIAojIHRlc3Q6IGRhdGFwYXRoIDB4MiBw b3J0cyA4MDAwLDgwMDUKIyBpbmZvOiBjb3VudD0wLDAsIGV4cGVjdD0wLDAKIyBpbmZvOiBjb3Vu dD0yMCwwLCBleHBlY3Q9MjAsMAojIGluZm86IGNvdW50PTIwLDAsIGV4cGVjdD0yMCwwCiMgCiMg dGVzdDogZGF0YXBhdGggMHgyIHBvcnRzIDgwMDAsODAwNQojIGluZm86IGNvdW50PTAsMCwgZXhw ZWN0PTAsMAojIGluZm86IGNvdW50PTAsMjAsIGV4cGVjdD0wLDIwCiMgaW5mbzogY291bnQ9MCwy MCwgZXhwZWN0PTAsMjAKIyAKIyB0ZXN0OiBkYXRhcGF0aCAweDIwMDAgcG9ydHMgODAwMCw4MDA1 CiMgaW5mbzogY291bnQ9MCwwLCBleHBlY3Q9MCwwCiMgaW5mbzogY291bnQ9MjAsMjAsIGV4cGVj dD0yMCwyMAojIGluZm86IGNvdW50PTIwLDIwLCBleHBlY3Q9MjAsMjAKIyBPSy4gQWxsIHRlc3Rz IHBhc3NlZAojIFtQQVNTXQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgcnVubmluZyBwc29ja190 cGFja2V0IHRlc3QKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLQojIHRlc3Q6IFRQQUNLRVRfVjEgd2l0 aCBQQUNLRVRfUlhfUklORyAuLi4uLi4uLi4uLi4uLi4uLi4uLiAxMDAgcGt0cyAoMTQyMDAgYnl0 ZXMpCiMgdGVzdDogVFBBQ0tFVF9WMSB3aXRoIFBBQ0tFVF9UWF9SSU5HIC4uLi4uLi4uLi4uLi4u Li4uLi4uIDEwMCBwa3RzICgxNDIwMCBieXRlcykKIyB0ZXN0OiBUUEFDS0VUX1YyIHdpdGggUEFD S0VUX1JYX1JJTkcgLi4uLi4uLi4uLi4uLi4uLi4uLi4gMTAwIHBrdHMgKDE0MjAwIGJ5dGVzKQoj IHRlc3Q6IFRQQUNLRVRfVjIgd2l0aCBQQUNLRVRfVFhfUklORyAuLi4uLi4uLi4uLi4uLi4uLi4u LiAxMDAgcGt0cyAoMTQyMDAgYnl0ZXMpCiMgdGVzdDogVFBBQ0tFVF9WMyB3aXRoIFBBQ0tFVF9S WF9SSU5HIC4uLi4uLi4uLi4uLi4uLi4uLi4uIDEwMCBwa3RzICgxNDIwMCBieXRlcykKIyB0ZXN0 OiBUUEFDS0VUX1YzIHdpdGggUEFDS0VUX1RYX1JJTkcgLi4uLi4uLi4uLi4uLi4uLi4uLi4gMTAw IHBrdHMgKDE0MjAwIGJ5dGVzKQojIE9LLiBBbGwgdGVzdHMgcGFzc2VkCiMgW1BBU1NdCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0KIyBydW5uaW5nIHR4cmluZ19vdmVyd3JpdGUgdGVzdAojIC0tLS0t LS0tLS0tLS0tLS0tLS0tCiMgcmVhZDogYSAoMHg2MSkKIyByZWFkOiBiICgweDYyKQojIFtQQVNT XQpvayA3IHNlbGZ0ZXN0czogbmV0OiBydW5fYWZwYWNrZXR0ZXN0cwojIHNlbGZ0ZXN0czogbmV0 OiB0ZXN0X2JwZi5zaAojIHRlc3RfYnBmOiBvawpvayA4IHNlbGZ0ZXN0czogbmV0OiB0ZXN0X2Jw Zi5zaAojIHNlbGZ0ZXN0czogbmV0OiBuZXRkZXZpY2Uuc2gKIyBTS0lQOiBldGgwOiBpbnRlcmZh Y2UgYWxyZWFkeSB1cAojIFBBU1M6IGV0aDA6IGV0aHRvb2wgbGlzdCBmZWF0dXJlcwojIFBBU1M6 IGV0aDA6IGV0aHRvb2wgZHVtcAojIFBBU1M6IGV0aDA6IGV0aHRvb2wgc3RhdHMKIyBTS0lQOiBl dGgwOiBpbnRlcmZhY2Uga2VwdCB1cApvayA5IHNlbGZ0ZXN0czogbmV0OiBuZXRkZXZpY2Uuc2gK IyBzZWxmdGVzdHM6IG5ldDogcnRuZXRsaW5rLnNoCiMgUEFTUzogcG9saWN5IHJvdXRpbmcKIyBQ QVNTOiByb3V0ZSBnZXQKIyBQQVNTOiBwcmVmZXJyZWRfbGZ0IGFkZHJlc3NlcyBoYXZlIGV4cGly ZWQKIyBQQVNTOiBwcm9tb3RlX3NlY29uZGFyaWVzIGNvbXBsZXRlCiMgUEFTUzogdGMgaHRiIGhp ZXJhcmNoeQojIFBBU1M6IGdyZSB0dW5uZWwgZW5kcG9pbnQKIyBQQVNTOiBncmV0YXAKIyBQQVNT OiBpcDZncmV0YXAKIyBQQVNTOiBlcnNwYW4KIyBQQVNTOiBpcDZlcnNwYW4KIyBQQVNTOiBicmlk Z2Ugc2V0dXAKIyBQQVNTOiBpcHY2IGFkZHJsYWJlbAojIFBBU1M6IHNldCBpZmFsaWFzIGRkOTJl NjM5LTUyOWMtNDk0OC05ZmM3LWYzZjNkZWMyOTE5OSBmb3IgdGVzdC1kdW1teTAKIyBQQVNTOiB2 cmYKIyBQQVNTOiB2eGxhbgojIFBBU1M6IGZvdQojIFBBU1M6IG1hY3NlYwojIFBBU1M6IGlwc2Vj CiMgUEFTUzogaXBzZWNfb2ZmbG9hZAojIFBBU1M6IGJyaWRnZSBmZGIgZ2V0CiMgUEFTUzogbmVp Z2ggZ2V0CiMgRXJyb3I6IFVua25vd24gZGV2aWNlIHR5cGUuCiMgRXJyb3I6IGFyZ3VtZW50ICJ0 ZXN0LWJvbmQwIiBpcyB3cm9uZzogRGV2aWNlIGRvZXMgbm90IGV4aXN0CiMgCiMgRXJyb3I6IGFy Z3VtZW50ICJ0ZXN0LWJvbmQwIiBpcyB3cm9uZzogRGV2aWNlIGRvZXMgbm90IGV4aXN0CiMgCiMg Q2Fubm90IGZpbmQgZGV2aWNlICJ0ZXN0LWJvbmQwIgojIENhbm5vdCBmaW5kIGRldmljZSAidGVz dC1ib25kMCIKIyBGQUlMOiBicmlkZ2VfcGFyZW50X2lkCm5vdCBvayAxMCBzZWxmdGVzdHM6IG5l dDogcnRuZXRsaW5rLnNoICMgZXhpdD0xCiMgc2VsZnRlc3RzOiBuZXQ6IHhmcm1fcG9saWN5LnNo CiMgUEFTUzogcG9saWN5IGJlZm9yZSBleGNlcHRpb24gbWF0Y2hlcwojIFBBU1M6IHBpbmcgdG8g LjI1NCBieXBhc3NlZCBpcHNlYyB0dW5uZWwgKGV4Y2VwdGlvbnMpCiMgUEFTUzogZGlyZWN0IHBv bGljeSBtYXRjaGVzIChleGNlcHRpb25zKQojIFBBU1M6IHBvbGljeSBtYXRjaGVzIChleGNlcHRp b25zKQojIFBBU1M6IHBpbmcgdG8gLjI1NCBieXBhc3NlZCBpcHNlYyB0dW5uZWwgKGV4Y2VwdGlv bnMgYW5kIGJsb2NrIHBvbGljaWVzKQojIFBBU1M6IGRpcmVjdCBwb2xpY3kgbWF0Y2hlcyAoZXhj ZXB0aW9ucyBhbmQgYmxvY2sgcG9saWNpZXMpCiMgUEFTUzogcG9saWN5IG1hdGNoZXMgKGV4Y2Vw dGlvbnMgYW5kIGJsb2NrIHBvbGljaWVzKQojCm5vdCBvayAxMSBzZWxmdGVzdHM6IG5ldDogeGZy bV9wb2xpY3kuc2ggIyBUSU1FT1VUIDQ1IHNlY29uZHMKIyBzZWxmdGVzdHM6IG5ldDogdGVzdF9i bGFja2hvbGVfZGV2LnNoCiMgdGVzdF9ibGFja2hvbGVfZGV2OiBvawpvayAxMiBzZWxmdGVzdHM6 IG5ldDogdGVzdF9ibGFja2hvbGVfZGV2LnNoCiMgc2VsZnRlc3RzOiBuZXQ6IGZpYl90ZXN0cy5z aAojIAojIFNpbmdsZSBwYXRoIHJvdXRlIHRlc3QKIyAgICAgU3RhcnQgcG9pbnQKIyAgICAgVEVT VDogSVB2NCBmaWJtYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSVB2NiBmaWJtYXRjaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgTmV4dGhvcCBkZXZp Y2UgZGVsZXRlZAojICAgICBURVNUOiBJUHY0IGZpYm1hdGNoIC0gbm8gcm91dGUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZpYm1h dGNoIC0gbm8gcm91dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojIAojIE11bHRpcGF0aCByb3V0ZSB0ZXN0CiMgICAgIFN0YXJ0IHBvaW50CiMgICAgIFRFU1Q6 IElQdjQgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIE9uZSBuZXh0aG9wIGRl dmljZSBkZWxldGVkCiMgICAgIFRFU1Q6IElQdjQgLSBtdWx0aXBhdGggcm91dGUgcmVtb3ZlZCBv biBkZWxldGUgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgLSBt dWx0aXBhdGggZG93biB0byBzaW5nbGUgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgWyBP SyBdCiMgICAgIFNlY29uZCBuZXh0aG9wIGRldmljZSBkZWxldGVkCiMgICAgIFRFU1Q6IElQdjYg LSBubyByb3V0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgCiMgU2luZ2xlIHBhdGgsIGFkbWluIGRvd24KIyAgICAgU3RhcnQgcG9pbnQKIyAg ICAgVEVTVDogSVB2NCBmaWJtYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSVB2NiBmaWJtYXRjaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgUm91dGUg ZGVsZXRlZCBvbiBkb3duCiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYg ZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgCiMgQWRtaW4gZG93biBtdWx0aXBhdGgKIyAgICAgVmVyaWZ5IHN0YXJ0IHBvaW50 CiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmlibWF0Y2ggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIE9u ZSBkZXZpY2UgZG93biwgb25lIHVwCiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggb24gZG93biBk ZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6 IElQdjYgZmlibWF0Y2ggb24gZG93biBkZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggb24gdXAgZGV2aWNlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmli bWF0Y2ggb24gdXAgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBP SyBdCiMgICAgIFRFU1Q6IElQdjQgZmxhZ3Mgb24gZG93biBkZXZpY2UgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmxhZ3Mgb24gZG93 biBkZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAg IFRFU1Q6IElQdjQgZmxhZ3Mgb24gdXAgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmxhZ3Mgb24gdXAgZGV2aWNlICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIE90aGVyIGRl dmljZSBkb3duIGFuZCB1cAojICAgICBURVNUOiBJUHY0IGZpYm1hdGNoIG9uIGRvd24gZGV2aWNl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2 IGZpYm1hdGNoIG9uIGRvd24gZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsgT0sgXQojICAgICBURVNUOiBJUHY0IGZpYm1hdGNoIG9uIHVwIGRldmljZSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZpYm1hdGNo IG9uIHVwIGRldmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj ICAgICBURVNUOiBJUHY0IGZsYWdzIG9uIGRvd24gZGV2aWNlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZsYWdzIG9uIGRvd24gZGV2 aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNU OiBJUHY0IGZsYWdzIG9uIHVwIGRldmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZsYWdzIG9uIHVwIGRldmljZSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBCb3RoIGRldmljZXMg ZG93bgojICAgICBURVNUOiBJUHY0IGZpYm1hdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZpYm1hdGNoICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAoj IExvY2FsIGNhcnJpZXIgdGVzdHMgLSBzaW5nbGUgcGF0aAojICAgICBTdGFydCBwb2ludAojICAg ICBURVNUOiBJUHY0IGZpYm1hdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IGZpYm1hdGNoICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJ UHY0IC0gbm8gbGlua2Rvd24gZmxhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojICAgICBURVNUOiBJUHY2IC0gbm8gbGlua2Rvd24gZmxhZyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBDYXJyaWVyIG9mZiBvbiBu ZXh0aG9wCiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmlibWF0Y2gg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg ICAgIFRFU1Q6IElQdjQgLSBsaW5rZG93biBmbGFnIHNldCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgLSBsaW5rZG93biBmbGFnIHNl dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFJvdXRl IHRvIGxvY2FsIGFkZHJlc3Mgd2l0aCBjYXJyaWVyIGRvd24KIyAgICAgVEVTVDogSVB2NCBmaWJt YXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyAgICAgVEVTVDogSVB2NiBmaWJtYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSVB2NCBsaW5rZG93biBmbGFn IHNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAg VEVTVDogSVB2NiBsaW5rZG93biBmbGFnIHNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyAKIyBTaW5nbGUgcGF0aCByb3V0ZSBjYXJyaWVyIHRlc3QKIyAg ICAgU3RhcnQgcG9pbnQKIyAgICAgVEVTVDogSVB2NCBmaWJtYXRjaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSVB2NiBm aWJtYXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyAgICAgVEVTVDogSVB2NCBubyBsaW5rZG93biBmbGFnICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSVB2NiBubyBsaW5rZG93 biBmbGFnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAg ICAgQ2FycmllciBkb3duCiMgICAgIFRFU1Q6IElQdjQgZmlibWF0Y2ggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYg ZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgICAgIFRFU1Q6IElQdjQgbGlua2Rvd24gZmxhZyBzZXQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgbGlua2Rvd24g ZmxhZyBzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg ICAgIFNlY29uZCBhZGRyZXNzIGFkZGVkIHdpdGggY2FycmllciBkb3duCiMgICAgIFRFU1Q6IElQ djQgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjYgZmlibWF0Y2ggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElQdjQgbGlua2Rv d24gZmxhZyBzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBd CiMgICAgIFRFU1Q6IElQdjYgbGlua2Rvd24gZmxhZyBzZXQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgSVB2NCBuZXh0aG9wIHRlc3RzCiMgPDw8IHdy aXRlIG1lID4+PgojIAojIElQdjYgbmV4dGhvcCB0ZXN0cwojICAgICBURVNUOiBEaXJlY3RseSBj b25uZWN0ZWQgbmV4dGhvcCwgdW5pY2FzdCBhZGRyZXNzICAgICAgICAgICAgICAgICAgIFsgT0sg XQojICAgICBURVNUOiBEaXJlY3RseSBjb25uZWN0ZWQgbmV4dGhvcCwgdW5pY2FzdCBhZGRyZXNz IHdpdGggZGV2aWNlICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IGlzIGxpbmtsb2Nh bCBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBU RVNUOiBHYXRld2F5IGlzIGxpbmtsb2NhbCBhZGRyZXNzLCBubyBkZXZpY2UgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IGNhbiBub3QgYmUgbG9jYWwgdW5p Y2FzdCBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRl d2F5IGNhbiBub3QgYmUgbG9jYWwgdW5pY2FzdCBhZGRyZXNzLCB3aXRoIGRldmljZSAgICAgICAg IFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IGNhbiBub3QgYmUgYSBsb2NhbCBsaW5rbG9jYWwg YWRkcmVzcyAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IGNhbiBi ZSBsb2NhbCBhZGRyZXNzIGluIGEgVlJGICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj ICAgICBURVNUOiBHYXRld2F5IGNhbiBiZSBsb2NhbCBhZGRyZXNzIGluIGEgVlJGLCB3aXRoIGRl dmljZSAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IGNhbiBiZSBsb2NhbCBs aW5rbG9jYWwgYWRkcmVzcyBpbiBhIFZSRiAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNU OiBSZWRpcmVjdCB0byBWUkYgbG9va3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojICAgICBURVNUOiBWUkYgcm91dGUsIGdhdGV3YXkgY2FuIGJlIGxvY2Fs IGFkZHJlc3MgaW4gZGVmYXVsdCBWUkYgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBWUkYgcm91 dGUsIGdhdGV3YXkgY2FuIG5vdCBiZSBhIGxvY2FsIGFkZHJlc3MgICAgICAgICAgICAgICAgIFsg T0sgXQojICAgICBURVNUOiBWUkYgcm91dGUsIGdhdGV3YXkgY2FuIG5vdCBiZSBhIGxvY2FsIGFk ZHIgd2l0aCBkZXZpY2UgICAgICAgIFsgT0sgXQojIAojIEZJQiBydWxlIHdpdGggc3VwcHJlc3Nf cHJlZml4bGVuZ3RoCiMgICAgIFRFU1Q6IEZJQiBydWxlIHN1cHByZXNzIHRlc3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgSVB2NiByb3V0ZSBhZGQg LyBhcHBlbmQgdGVzdHMKIyAgICAgVEVTVDogQXR0ZW1wdCB0byBhZGQgZHVwbGljYXRlIHJvdXRl IC0gZ3cgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogQXR0ZW1w dCB0byBhZGQgZHVwbGljYXRlIHJvdXRlIC0gZGV2IG9ubHkgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyAgICAgVEVTVDogQXR0ZW1wdCB0byBhZGQgZHVwbGljYXRlIHJvdXRlIC0gcmVqZWN0 IHJvdXRlICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogQXBwZW5kIG5leHRob3Ag dG8gZXhpc3Rpbmcgcm91dGUgLSBndyAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAg ICAgVEVTVDogQWRkIG11bHRpcGF0aCByb3V0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogQXR0ZW1wdCB0byBhZGQgZHVwbGljYXRl IG11bHRpcGF0aCByb3V0ZSAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDog Um91dGUgYWRkIHdpdGggZGlmZmVyZW50IG1ldHJpY3MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAgICAgVEVTVDogUm91dGUgZGVsZXRlIHdpdGggbWV0cmljICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyBJUHY2IHJvdXRlIHJlcGxh Y2UgdGVzdHMKIyAgICAgVEVTVDogU2luZ2xlIHBhdGggd2l0aCBzaW5nbGUgcGF0aCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogU2luZ2xlIHBhdGgg d2l0aCBtdWx0aXBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyAgICAgVEVTVDogU2luZ2xlIHBhdGggd2l0aCBzaW5nbGUgcGF0aCB2aWEgbXVsdGlwYXRoIGF0 dHJpYnV0ZSAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSW52YWxpZCBuZXh0aG9wICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVT VDogU2luZ2xlIHBhdGggLSByZXBsYWNlIG9mIG5vbi1leGlzdGVudCByb3V0ZSAgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHdpdGggbXVsdGlwYXRoICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlw YXRoIHdpdGggc2luZ2xlIHBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHdpdGggc2luZ2xlIHBhdGggdmlhIG11bHRpcGF0 aCBhdHRyaWJ1dGUgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHdpdGgg ZGV2LW9ubHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAg ICAgVEVTVDogTXVsdGlwYXRoIC0gaW52YWxpZCBmaXJzdCBuZXh0aG9wICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIC0gaW52YWxpZCBzZWNv bmQgbmV4dGhvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDog TXVsdGlwYXRoIC0gcmVwbGFjZSBvZiBub24tZXhpc3RlbnQgcm91dGUgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAKIyBJUHY0IHJvdXRlIGFkZCAvIGFwcGVuZCB0ZXN0cwojICAgICBURVNU OiBBdHRlbXB0IHRvIGFkZCBkdXBsaWNhdGUgcm91dGUgLSBndyAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojICAgICBURVNUOiBBdHRlbXB0IHRvIGFkZCBkdXBsaWNhdGUgcm91dGUg LSBkZXYgb25seSAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBBdHRlbXB0 IHRvIGFkZCBkdXBsaWNhdGUgcm91dGUgLSByZWplY3Qgcm91dGUgICAgICAgICAgICAgICAgIFsg T0sgXQojICAgICBURVNUOiBBZGQgbmV3IG5leHRob3AgZm9yIGV4aXN0aW5nIHByZWZpeCAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBBcHBlbmQgbmV4dGhvcCB0 byBleGlzdGluZyByb3V0ZSAtIGd3ICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAg ICBURVNUOiBBcHBlbmQgbmV4dGhvcCB0byBleGlzdGluZyByb3V0ZSAtIGRldiBvbmx5ICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBBcHBlbmQgbmV4dGhvcCB0byBleGlzdGlu ZyByb3V0ZSAtIHJlamVjdCByb3V0ZSAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBB cHBlbmQgbmV4dGhvcCB0byBleGlzdGluZyByZWplY3Qgcm91dGUgLSBndyAgICAgICAgICAgICAg ICAgIFsgT0sgXQojICAgICBURVNUOiBBcHBlbmQgbmV4dGhvcCB0byBleGlzdGluZyByZWplY3Qg cm91dGUgLSBkZXYgb25seSAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBhZGQgbXVsdGlw YXRoIHJvdXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojICAgICBURVNUOiBBdHRlbXB0IHRvIGFkZCBkdXBsaWNhdGUgbXVsdGlwYXRoIHJvdXRlICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBSb3V0ZSBhZGQgd2l0aCBkaWZm ZXJlbnQgbWV0cmljcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBU RVNUOiBSb3V0ZSBkZWxldGUgd2l0aCBtZXRyaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIAojIElQdjQgcm91dGUgcmVwbGFjZSB0ZXN0cwojICAgICBURVNU OiBTaW5nbGUgcGF0aCB3aXRoIHNpbmdsZSBwYXRoICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojICAgICBURVNUOiBTaW5nbGUgcGF0aCB3aXRoIG11bHRpcGF0aCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBTaW5nbGUg cGF0aCB3aXRoIHJlamVjdCByb3V0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojICAgICBURVNUOiBTaW5nbGUgcGF0aCB3aXRoIHNpbmdsZSBwYXRoIHZpYSBtdWx0aXBh dGggYXR0cmlidXRlICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJbnZhbGlkIG5leHRob3Ag ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAg ICBURVNUOiBTaW5nbGUgcGF0aCAtIHJlcGxhY2Ugb2Ygbm9uLWV4aXN0ZW50IHJvdXRlICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBNdWx0aXBhdGggd2l0aCBtdWx0aXBhdGgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBN dWx0aXBhdGggd2l0aCBzaW5nbGUgcGF0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojICAgICBURVNUOiBNdWx0aXBhdGggd2l0aCBzaW5nbGUgcGF0aCB2aWEgbXVs dGlwYXRoIGF0dHJpYnV0ZSAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBNdWx0aXBhdGgg d2l0aCByZWplY3Qgcm91dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojICAgICBURVNUOiBNdWx0aXBhdGggLSBpbnZhbGlkIGZpcnN0IG5leHRob3AgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBNdWx0aXBhdGggLSBpbnZhbGlk IHNlY29uZCBuZXh0aG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBU RVNUOiBNdWx0aXBhdGggLSByZXBsYWNlIG9mIG5vbi1leGlzdGVudCByb3V0ZSAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIAojIElQdjYgcHJlZml4IHJvdXRlIHRlc3RzCiMgICAgIFRFU1Q6 IERlZmF1bHQgbWV0cmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IFVzZXIgc3BlY2lmaWVkIG1ldHJpYyBvbiBmaXJzdCBk ZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IFVzZXIgc3Bl Y2lmaWVkIG1ldHJpYyBvbiBzZWNvbmQgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgWyBP SyBdCiMgICAgIFRFU1Q6IERlbGV0ZSBvZiBhZGRyZXNzIG9uIGZpcnN0IGRldmljZSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IE1vZGlmeSBtZXRyaWMgb2Yg YWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAg IFRFU1Q6IFByZWZpeCByb3V0ZSByZW1vdmVkIG9uIGxpbmsgZG93biAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IFByZWZpeCByb3V0ZSB3aXRoIG1ldHJpYyBv biBsaW5rIHVwICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IFNl dCBtZXRyaWMgd2l0aCBwZWVyIHJvdXRlIG9uIGxvY2FsIHNpZGUgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgICAgIFRFU1Q6IFNldCBtZXRyaWMgd2l0aCBwZWVyIHJvdXRlIG9uIHBlZXIg c2lkZSAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IE1vZGlmeSBtZXRy aWMgYW5kIHBlZXIgYWRkcmVzcyBvbiBsb2NhbCBzaWRlICAgICAgICAgICAgICAgICAgWyBPSyBd CiMgICAgIFRFU1Q6IE1vZGlmeSBtZXRyaWMgYW5kIHBlZXIgYWRkcmVzcyBvbiBwZWVyIHNpZGUg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgSVB2NCBwcmVmaXggcm91dGUgdGVzdHMKIyAg ICAgVEVTVDogRGVmYXVsdCBtZXRyaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogVXNlciBzcGVjaWZpZWQgbWV0cmljIG9u IGZpcnN0IGRldmljZSAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDog VXNlciBzcGVjaWZpZWQgbWV0cmljIG9uIHNlY29uZCBkZXZpY2UgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAgICAgVEVTVDogRGVsZXRlIG9mIGFkZHJlc3Mgb24gZmlyc3QgZGV2aWNl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTW9kaWZ5IG1l dHJpYyBvZiBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyAgICAgVEVTVDogUHJlZml4IHJvdXRlIHJlbW92ZWQgb24gbGluayBkb3duICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogUHJlZml4IHJvdXRlIHdpdGgg bWV0cmljIG9uIGxpbmsgdXAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAg VEVTVDogTW9kaWZ5IG1ldHJpYyBvZiAuMC8yNCBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogU2V0IG1ldHJpYyBvZiBhZGRyZXNzIHdpdGgg cGVlciByb3V0ZSAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTW9k aWZ5IG1ldHJpYyBhbmQgcGVlciBhZGRyZXNzIGZvciBwZWVyIHJvdXRlICAgICAgICAgICAgICAg ICBbIE9LIF0KIyAKIyBJUHY2IHJvdXRlcyB3aXRoIG1ldHJpY3MKIyAgICAgVEVTVDogU2luZ2xl IHBhdGggcm91dGUgd2l0aCBtdHUgbWV0cmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHJvdXRlIHZpYSAyIHNpbmdsZSByb3V0ZXMgd2l0 aCBtdHUgbWV0cmljIG9uIGZpcnN0ICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHJvdXRl IHZpYSAyIHNpbmdsZSByb3V0ZXMgd2l0aCBtdHUgbWV0cmljIG9uIDJuZCAgICBbIE9LIF0KIyAg ICAgVEVTVDogICAgIE1UVSBvZiBzZWNvbmQgbGVnICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHJvdXRlIHdpdGggbXR1 IG1ldHJpYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDog VXNpbmcgcm91dGUgd2l0aCBtdHUgbWV0cmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAgICAgVEVTVDogSW52YWxpZCBtZXRyaWMgKGZhaWxzIG1ldHJpY19jb252 ZXJ0KSAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyBJUHY0IHJvdXRlIGFkZCAv IGFwcGVuZCB0ZXN0cwojICAgICBURVNUOiBTaW5nbGUgcGF0aCByb3V0ZSB3aXRoIG10dSBtZXRy aWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBNdWx0aXBh dGggcm91dGUgd2l0aCBtdHUgbWV0cmljICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojICAgICBURVNUOiBVc2luZyByb3V0ZSB3aXRoIG10dSBtZXRyaWMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJbnZhbGlkIG1ldHJpYyAo ZmFpbHMgbWV0cmljX2NvbnZlcnQpICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAoj IElQdjQgcm91dGUgd2l0aCBJUHY2IGdhdGV3YXkgdGVzdHMKIyAgICAgVEVTVDogU2luZ2xlIHBh dGggcm91dGUgd2l0aCBJUHY2IGdhdGV3YXkgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyAgICAgVEVTVDogU2luZ2xlIHBhdGggcm91dGUgd2l0aCBJUHY2IGdhdGV3YXkgLSBwaW5n ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogU2luZ2xlIHBhdGggcm91dGUg ZGVsZXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAg VEVTVDogTXVsdGlwYXRoIHJvdXRlIGFkZCAtIHY2IG5leHRob3AgdGhlbiB2NCAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogICAgIE11bHRpcGF0aCByb3V0ZSBkZWxldGUg LSBuZXh0aG9wcyBpbiB3cm9uZyBvcmRlciAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogICAg IE11bHRpcGF0aCByb3V0ZSBkZWxldGUgZXhhY3QgbWF0Y2ggICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyAgICAgVEVTVDogTXVsdGlwYXRoIHJvdXRlIGFkZCAtIHY0IG5leHRob3AgdGhl biB2NiAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogICAgIE11bHRpcGF0 aCByb3V0ZSBkZWxldGUgLSBuZXh0aG9wcyBpbiB3cm9uZyBvcmRlciAgICAgICAgICBbIE9LIF0K IyAgICAgVEVTVDogICAgIE11bHRpcGF0aCByb3V0ZSBkZWxldGUgZXhhY3QgbWF0Y2ggICAgICAg ICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyBJUHY0IHJwX2ZpbHRlciB0ZXN0cwojICAgICBU RVNUOiBycF9maWx0ZXIgcGFzc2VzIGxvY2FsIHBhY2tldHMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFtGQUlMXQojICAgICBURVNUOiBycF9maWx0ZXIgcGFzc2VzIGxvb3BiYWNrIHBh Y2tldHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGQUlMXQojIAojIElQdjQgZGVsZXRl IGFkZHJlc3Mgcm91dGUgdGVzdHMKIyAgICAgVEVTVDogUm91dGUgcmVtb3ZlZCBmcm9tIFZSRiB3 aGVuIHNvdXJjZSBhZGRyZXNzIGRlbGV0ZWQgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDog Um91dGUgaW4gZGVmYXVsdCBWUkYgbm90IHJlbW92ZWQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAgICAgVEVTVDogUm91dGUgcmVtb3ZlZCBpbiBkZWZhdWx0IFZSRiB3aGVu IHNvdXJjZSBhZGRyZXNzIGRlbGV0ZWQgICAgICBbIE9LIF0KIyAgICAgVEVTVDogUm91dGUgaW4g VlJGIGlzIG5vdCByZW1vdmVkIGJ5IGFkZHJlc3MgZGVsZXRlICAgICAgICAgICAgICAgICBbIE9L IF0KIyAKIyBUZXN0cyBwYXNzZWQ6IDE2MwojIFRlc3RzIGZhaWxlZDogICAyCm5vdCBvayAxMyBz ZWxmdGVzdHM6IG5ldDogZmliX3Rlc3RzLnNoICMgZXhpdD0xCiMgc2VsZnRlc3RzOiBuZXQ6IGZp Yi1vbmxpbmstdGVzdHMuc2gKIyBFcnJvcjogaXB2NDogRklCIHRhYmxlIGRvZXMgbm90IGV4aXN0 LgojIEZsdXNoIHRlcm1pbmF0ZWQKIyBFcnJvcjogaXB2NjogRklCIHRhYmxlIGRvZXMgbm90IGV4 aXN0LgojIEZsdXNoIHRlcm1pbmF0ZWQKIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCiMgQ29uZmlndXJpbmcgaW50ZXJmYWNlcwojIAojICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IyBURVNUIFNFQ1RJT046IElQdjQgb25saW5rCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIAojICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVEVTVCBTVUJTRUNUSU9OOiBWYWxp ZCBvbmxpbmsgY29tbWFuZHMKIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwojIFRFU1QgU1VCU0VDVElPTjogZGVmYXVsdCBWUkYgLSBtYWluIHRhYmxlCiMgICAg IFRFU1Q6IHVuaWNhc3QgY29ubmVjdGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyAgICAgVEVTVDogdW5pY2FzdCByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCiMgVEVTVCBTVUJTRUNUSU9OOiBWUkYgbGlzYQojICAgICBURVNUOiB1bmlj YXN0IGNvbm5lY3RlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg ICAgIFRFU1Q6IHVuaWNhc3QgcmVjdXJzaXZlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIFRFU1QgU1VCU0VDVElPTjogVlJGIGRldmljZSwgUEJSIHRhYmxlCiMgICAgIFRFU1Q6IHVu aWNhc3QgY29ubmVjdGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyAgICAgVEVTVDogdW5pY2FzdCByZWN1cnNpdmUgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgVEVTVCBTVUJTRUNUSU9OOiBkZWZhdWx0IFZSRiAtIG1haW4gdGFibGUgLSBtdWx0aXBh dGgKIyAgICAgVEVTVDogdW5pY2FzdCBjb25uZWN0ZWQgLSBtdWx0aXBhdGggICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiB1bmljYXN0IHJlY3Vyc2l2ZSAtIG11bHRpcGF0 aCAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IHVuaWNhc3QgY29ubmVj dGVkIC0gbXVsdGlwYXRoIG9ubGluayBmaXJzdCBvbmx5ICAgICBbIE9LIF0KIyAgICAgVEVTVDog dW5pY2FzdCBjb25uZWN0ZWQgLSBtdWx0aXBhdGggb25saW5rIHNlY29uZCBvbmx5ICAgIFsgT0sg XQojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVEVTVCBT VUJTRUNUSU9OOiBJbnZhbGlkIG9ubGluayBjb21tYW5kcwojICAgICBURVNUOiBJbnZhbGlkIGd3 IC0gbG9jYWwgdW5pY2FzdCBhZGRyZXNzICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRF U1Q6IEludmFsaWQgZ3cgLSBsb2NhbCB1bmljYXN0IGFkZHJlc3MsIFZSRiAgICAgICAgICAgICBb IE9LIF0KIyAgICAgVEVTVDogTm8gbmV4dGhvcCBkZXZpY2UgZ2l2ZW4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBHYXRld2F5IHJlc29sdmVzIHRvIHdyb25n IG5leHRob3AgZGV2aWNlICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IEdhdGV3YXkgcmVz b2x2ZXMgdG8gd3JvbmcgbmV4dGhvcCBkZXZpY2UgLSBWUkYgICAgICBbIE9LIF0KIyAKIyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMgVEVTVCBTRUNUSU9OOiBJUHY2IG9ubGluawojICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAK IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFRFU1QgU1VCU0VD VElPTjogVmFsaWQgb25saW5rIGNvbW1hbmRzCiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBURVNUIFNVQlNFQ1RJT046IGRlZmF1bHQgVlJGIC0gbWFpbiB0 YWJsZQojICAgICBURVNUOiB1bmljYXN0IGNvbm5lY3RlZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IHVuaWNhc3QgcmVjdXJzaXZlICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogdjQtbWFwcGVkICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVEVTVCBTVUJTRUNUSU9OOiBW UkYgbGlzYQojICAgICBURVNUOiB1bmljYXN0IGNvbm5lY3RlZCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IHVuaWNhc3QgcmVjdXJzaXZlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogdjQtbWFwcGVk ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVEVTVCBTVUJTRUNUSU9O OiBWUkYgZGV2aWNlLCBQQlIgdGFibGUKIyAgICAgVEVTVDogdW5pY2FzdCBjb25uZWN0ZWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiB1bmljYXN0 IHJlY3Vyc2l2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAg IFRFU1Q6IHY0LW1hcHBlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IFRFU1QgU1VCU0VDVElPTjogZGVmYXVsdCBWUkYgLSBtYWluIHRhYmxlIC0gbXVsdGlwYXRoCiMg ICAgIFRFU1Q6IHVuaWNhc3QgY29ubmVjdGVkIC0gbXVsdGlwYXRoIG9ubGluayAgICAgICAgICAg ICAgICBbIE9LIF0KIyAgICAgVEVTVDogdW5pY2FzdCByZWN1cnNpdmUgLSBtdWx0aXBhdGggb25s aW5rICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiB2NC1tYXBwZWQgLSBtdWx0aXBh dGggb25saW5rICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IHVuaWNh c3QgY29ubmVjdGVkIC0gbXVsdGlwYXRoIG9ubGluayBib3RoIG5leHRob3BzICBbIE9LIF0KIyAg ICAgVEVTVDogdW5pY2FzdCBjb25uZWN0ZWQgLSBtdWx0aXBhdGggb25saW5rIGZpcnN0IG9ubHkg ICAgIFsgT0sgXQojICAgICBURVNUOiB1bmljYXN0IGNvbm5lY3RlZCAtIG11bHRpcGF0aCBvbmxp bmsgc2Vjb25kIG9ubHkgICAgWyBPSyBdCiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIyBURVNUIFNVQlNFQ1RJT046IEludmFsaWQgb25saW5rIGNvbW1hbmRz CiMgICAgIFRFU1Q6IEludmFsaWQgZ3cgLSBsb2NhbCB1bmljYXN0IGFkZHJlc3MgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogSW52YWxpZCBndyAtIGxvY2FsIGxpbmtsb2NhbCBh ZGRyZXNzICAgICAgICAgICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJbnZhbGlkIGd3IC0gbXVs dGljYXN0IGFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IElu dmFsaWQgZ3cgLSBsb2NhbCB1bmljYXN0IGFkZHJlc3MsIFZSRiAgICAgICAgICAgICBbIE9LIF0K IyAgICAgVEVTVDogSW52YWxpZCBndyAtIGxvY2FsIGxpbmtsb2NhbCBhZGRyZXNzLCBWUkYgICAg ICAgICAgIFsgT0sgXQojICAgICBURVNUOiBJbnZhbGlkIGd3IC0gbXVsdGljYXN0IGFkZHJlc3Ms IFZSRiAgICAgICAgICAgICAgICAgWyBPSyBdCiMgICAgIFRFU1Q6IE5vIG5leHRob3AgZGV2aWNl IGdpdmVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAgICAgVEVTVDogR2F0 ZXdheSByZXNvbHZlcyB0byB3cm9uZyBuZXh0aG9wIGRldmljZSAtIFZSRiAgICAgIFsgT0sgXQoj IAojIFRlc3RzIHBhc3NlZDogIDM4CiMgVGVzdHMgZmFpbGVkOiAgIDAKb2sgMTQgc2VsZnRlc3Rz OiBuZXQ6IGZpYi1vbmxpbmstdGVzdHMuc2gKIyBzZWxmdGVzdHM6IG5ldDogcG10dS5zaAojIFRF U1Q6IGlwdjQ6IFBNVFUgZXhjZXB0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyBPSyBdCiMgVEVTVDogaXB2NDogUE1UVSBleGNlcHRpb25zIC0gbmV4dGhvcCBv YmplY3RzICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBpcHY2OiBQTVRVIGV4 Y2VwdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IGlwdjY6IFBNVFUgZXhjZXB0aW9ucyAtIG5leHRob3Agb2JqZWN0cyAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBvdmVyIHZ4bGFuNDogUE1UVSBleGNlcHRp b25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IG92ZXIg dnhsYW40OiBQTVRVIGV4Y2VwdGlvbnMgLSBuZXh0aG9wIG9iamVjdHMgICAgICAgICAgIFsgT0sg XQojIFRFU1Q6IElQdjYgb3ZlciB2eGxhbjQ6IFBNVFUgZXhjZXB0aW9ucyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBvdmVyIHZ4bGFuNDogUE1UVSBleGNl cHRpb25zIC0gbmV4dGhvcCBvYmplY3RzICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IG92 ZXIgdnhsYW42OiBQTVRVIGV4Y2VwdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojIFRFU1Q6IElQdjQgb3ZlciB2eGxhbjY6IFBNVFUgZXhjZXB0aW9ucyAtIG5leHRob3Ag b2JqZWN0cyAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBvdmVyIHZ4bGFuNjogUE1UVSBl eGNlcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2 IG92ZXIgdnhsYW42OiBQTVRVIGV4Y2VwdGlvbnMgLSBuZXh0aG9wIG9iamVjdHMgICAgICAgICAg IFsgT0sgXQojIFRFU1Q6IElQdjQgb3ZlciBnZW5ldmU0OiBQTVRVIGV4Y2VwdGlvbnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBvdmVyIGdlbmV2ZTQ6IFBN VFUgZXhjZXB0aW9ucyAtIG5leHRob3Agb2JqZWN0cyAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJ UHY2IG92ZXIgZ2VuZXZlNDogUE1UVSBleGNlcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgb3ZlciBnZW5ldmU0OiBQTVRVIGV4Y2VwdGlvbnMgLSBu ZXh0aG9wIG9iamVjdHMgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBvdmVyIGdlbmV2ZTY6 IFBNVFUgZXhjZXB0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRkFJTF0KIyAgIFBN VFUgZXhjZXB0aW9uIHdhc24ndCBjcmVhdGVkIGFmdGVyIGV4Y2VlZGluZyBsaW5rIGxheWVyIE1U VSBvbiBnZW5ldmUgaW50ZXJmYWNlCiMgVEVTVDogSVB2NCBvdmVyIGdlbmV2ZTY6IFBNVFUgZXhj ZXB0aW9ucyAtIG5leHRob3Agb2JqZWN0cyAgICAgICAgICBbRkFJTF0KIyAgIFBNVFUgZXhjZXB0 aW9uIHdhc24ndCBjcmVhdGVkIGFmdGVyIGV4Y2VlZGluZyBsaW5rIGxheWVyIE1UVSBvbiBnZW5l dmUgaW50ZXJmYWNlCiMgVEVTVDogSVB2NiBvdmVyIGdlbmV2ZTY6IFBNVFUgZXhjZXB0aW9ucyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2IG92ZXIgZ2VuZXZl NjogUE1UVSBleGNlcHRpb25zIC0gbmV4dGhvcCBvYmplY3RzICAgICAgICAgIFsgT0sgXQojIFRF U1Q6IElQdjQsIGJyaWRnZWQgdnhsYW40OiBQTVRVIGV4Y2VwdGlvbnMgICAgICAgICAgICAgICAg ICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCwgYnJpZGdlZCB2eGxhbjQ6IFBNVFUgZXhjZXB0 aW9ucyAtIG5leHRob3Agb2JqZWN0cyAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2LCBicmlkZ2Vk IHZ4bGFuNDogUE1UVSBleGNlcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IElQdjYsIGJyaWRnZWQgdnhsYW40OiBQTVRVIGV4Y2VwdGlvbnMgLSBuZXh0aG9wIG9i amVjdHMgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCwgYnJpZGdlZCB2eGxhbjY6IFBNVFUgZXhj ZXB0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0LCBicmlk Z2VkIHZ4bGFuNjogUE1UVSBleGNlcHRpb25zIC0gbmV4dGhvcCBvYmplY3RzICAgICAgIFsgT0sg XQojIFRFU1Q6IElQdjYsIGJyaWRnZWQgdnhsYW42OiBQTVRVIGV4Y2VwdGlvbnMgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiwgYnJpZGdlZCB2eGxhbjY6IFBNVFUg ZXhjZXB0aW9ucyAtIG5leHRob3Agb2JqZWN0cyAgICAgICBbIE9LIF0KIwpub3Qgb2sgMTUgc2Vs ZnRlc3RzOiBuZXQ6IHBtdHUuc2ggIyBUSU1FT1VUIDQ1IHNlY29uZHMKIyBzZWxmdGVzdHM6IG5l dDogdWRwZ3NvLnNoCiMgaXB2NCBjbXNnCiMgZGV2aWNlIG10dSAob3JpZyk6IDY1NTM2CiMgZGV2 aWNlIG10dSAodGVzdCk6IDE1MDAKIyBpcHY0IHR4OjEgZ3NvOjAgCiMgaXB2NCB0eDoxNDcyIGdz bzowIAojIGlwdjQgdHg6MTQ3MyBnc286MCAoZmFpbCkKIyBpcHY0IHR4OjE0NzIgZ3NvOjE0NzIg CiMgaXB2NCB0eDoxNDczIGdzbzoxNDcyIAojIGlwdjQgdHg6Mjk0NCBnc286MTQ3MiAKIyBpcHY0 IHR4OjI5NDUgZ3NvOjE0NzIgCiMgaXB2NCB0eDo2NDc2OCBnc286MTQ3MiAKIyBpcHY0IHR4OjY1 NTA3IGdzbzoxNDcyIAojIGlwdjQgdHg6NjU1MDggZ3NvOjE0NzIgKGZhaWwpCiMgaXB2NCB0eDox IGdzbzoxIAojIGlwdjQgdHg6MiBnc286MSAKIyBpcHY0IHR4OjUgZ3NvOjIgCiMgaXB2NCB0eDoz NiBnc286MSAKIyBpcHY0IHR4OjM3IGdzbzoxIChmYWlsKQojIE9LCiMgaXB2NCBzZXRzb2Nrb3B0 CiMgZGV2aWNlIG10dSAob3JpZyk6IDY1NTM2CiMgZGV2aWNlIG10dSAodGVzdCk6IDE1MDAKIyBp cHY0IHR4OjEgZ3NvOjAgCiMgaXB2NCB0eDoxNDcyIGdzbzowIAojIGlwdjQgdHg6MTQ3MyBnc286 MCAoZmFpbCkKIyBpcHY0IHR4OjE0NzIgZ3NvOjE0NzIgCiMgaXB2NCB0eDoxNDczIGdzbzoxNDcy IAojIGlwdjQgdHg6Mjk0NCBnc286MTQ3MiAKIyBpcHY0IHR4OjI5NDUgZ3NvOjE0NzIgCiMgaXB2 NCB0eDo2NDc2OCBnc286MTQ3MiAKIyBpcHY0IHR4OjY1NTA3IGdzbzoxNDcyIAojIGlwdjQgdHg6 NjU1MDggZ3NvOjE0NzIgKGZhaWwpCiMgaXB2NCB0eDoxIGdzbzoxIAojIGlwdjQgdHg6MiBnc286 MSAKIyBpcHY0IHR4OjUgZ3NvOjIgCiMgaXB2NCB0eDozNiBnc286MSAKIyBpcHY0IHR4OjM3IGdz bzoxIChmYWlsKQojIE9LCiMgaXB2NiBjbXNnCiMgZGV2aWNlIG10dSAob3JpZyk6IDY1NTM2CiMg ZGV2aWNlIG10dSAodGVzdCk6IDE1MDAKIyBpcHY2IHR4OjEgZ3NvOjAgCiMgaXB2NiB0eDoxNDUy IGdzbzowIAojIGlwdjYgdHg6MTQ1MyBnc286MCAoZmFpbCkKIyBpcHY2IHR4OjE0NTIgZ3NvOjE0 NTIgCiMgaXB2NiB0eDoxNDUzIGdzbzoxNDUyIAojIGlwdjYgdHg6MjkwNCBnc286MTQ1MiAKIyBp cHY2IHR4OjI5MDUgZ3NvOjE0NTIgCiMgaXB2NiB0eDo2NTM0MCBnc286MTQ1MiAKIyBpcHY2IHR4 OjY1NTI3IGdzbzoxNDUyIAojIGlwdjYgdHg6NjU1MjggZ3NvOjE0NTIgKGZhaWwpCiMgaXB2NiB0 eDoxIGdzbzoxIAojIGlwdjYgdHg6MiBnc286MSAKIyBpcHY2IHR4OjUgZ3NvOjIgCiMgaXB2NiB0 eDoxNiBnc286MSAKIyBpcHY2IHR4OjE3IGdzbzoxIChmYWlsKQojIE9LCiMgaXB2NiBzZXRzb2Nr b3B0CiMgZGV2aWNlIG10dSAob3JpZyk6IDY1NTM2CiMgZGV2aWNlIG10dSAodGVzdCk6IDE1MDAK IyBpcHY2IHR4OjEgZ3NvOjAgCiMgaXB2NiB0eDoxNDUyIGdzbzowIAojIGlwdjYgdHg6MTQ1MyBn c286MCAoZmFpbCkKIyBpcHY2IHR4OjE0NTIgZ3NvOjE0NTIgCiMgaXB2NiB0eDoxNDUzIGdzbzox NDUyIAojIGlwdjYgdHg6MjkwNCBnc286MTQ1MiAKIyBpcHY2IHR4OjI5MDUgZ3NvOjE0NTIgCiMg aXB2NiB0eDo2NTM0MCBnc286MTQ1MiAKIyBpcHY2IHR4OjY1NTI3IGdzbzoxNDUyIAojIGlwdjYg dHg6NjU1MjggZ3NvOjE0NTIgKGZhaWwpCiMgaXB2NiB0eDoxIGdzbzoxIAojIGlwdjYgdHg6MiBn c286MSAKIyBpcHY2IHR4OjUgZ3NvOjIgCiMgaXB2NiB0eDoxNiBnc286MSAKIyBpcHY2IHR4OjE3 IGdzbzoxIChmYWlsKQojIE9LCiMgaXB2NCBjb25uZWN0ZWQKIyBkZXZpY2UgbXR1IChvcmlnKTog NjU1MzYKIyBkZXZpY2UgbXR1ICh0ZXN0KTogMTYwMAojIHJvdXRlIG10dSAodGVzdCk6IDE1MDAK IyBwYXRoIG10dSAocmVhZCk6ICAxNTAwCiMgaXB2NCB0eDoxIGdzbzowIAojIGlwdjQgdHg6MTQ3 MiBnc286MCAKIyBpcHY0IHR4OjE0NzMgZ3NvOjAgKGZhaWwpCiMgaXB2NCB0eDoxNDcyIGdzbzox NDcyIAojIGlwdjQgdHg6MTQ3MyBnc286MTQ3MiAKIyBpcHY0IHR4OjI5NDQgZ3NvOjE0NzIgCiMg aXB2NCB0eDoyOTQ1IGdzbzoxNDcyIAojIGlwdjQgdHg6NjQ3NjggZ3NvOjE0NzIgCiMgaXB2NCB0 eDo2NTUwNyBnc286MTQ3MiAKIyBpcHY0IHR4OjY1NTA4IGdzbzoxNDcyIChmYWlsKQojIGlwdjQg dHg6MSBnc286MSAKIyBpcHY0IHR4OjIgZ3NvOjEgCiMgaXB2NCB0eDo1IGdzbzoyIAojIGlwdjQg dHg6MzYgZ3NvOjEgCiMgaXB2NCB0eDozNyBnc286MSAoZmFpbCkKIyBPSwojIGlwdjQgbXNnX21v cmUKIyBkZXZpY2UgbXR1IChvcmlnKTogNjU1MzYKIyBkZXZpY2UgbXR1ICh0ZXN0KTogMTUwMAoj IGlwdjQgdHg6MSBnc286MCAKIyBpcHY0IHR4OjE0NzIgZ3NvOjAgCiMgaXB2NCB0eDoxNDczIGdz bzowIChmYWlsKQojIGlwdjQgdHg6MTQ3MiBnc286MTQ3MiAKIyBpcHY0IHR4OjE0NzMgZ3NvOjE0 NzIgCiMgaXB2NCB0eDoyOTQ0IGdzbzoxNDcyIAojIGlwdjQgdHg6Mjk0NSBnc286MTQ3MiAKIyBp cHY0IHR4OjY0NzY4IGdzbzoxNDcyIAojIGlwdjQgdHg6NjU1MDcgZ3NvOjE0NzIgCiMgaXB2NCB0 eDo2NTUwOCBnc286MTQ3MiAoZmFpbCkKIyBpcHY0IHR4OjEgZ3NvOjEgCiMgaXB2NCB0eDoyIGdz bzoxIAojIGlwdjQgdHg6NSBnc286MiAKIyBpcHY0IHR4OjM2IGdzbzoxIAojIGlwdjQgdHg6Mzcg Z3NvOjEgKGZhaWwpCiMgT0sKIyBpcHY2IG1zZ19tb3JlCiMgZGV2aWNlIG10dSAob3JpZyk6IDY1 NTM2CiMgZGV2aWNlIG10dSAodGVzdCk6IDE1MDAKIyBpcHY2IHR4OjEgZ3NvOjAgCiMgaXB2NiB0 eDoxNDUyIGdzbzowIAojIGlwdjYgdHg6MTQ1MyBnc286MCAoZmFpbCkKIyBpcHY2IHR4OjE0NTIg Z3NvOjE0NTIgCiMgaXB2NiB0eDoxNDUzIGdzbzoxNDUyIAojIGlwdjYgdHg6MjkwNCBnc286MTQ1 MiAKIyBpcHY2IHR4OjI5MDUgZ3NvOjE0NTIgCiMgaXB2NiB0eDo2NTM0MCBnc286MTQ1MiAKIyBp cHY2IHR4OjY1NTI3IGdzbzoxNDUyIAojIGlwdjYgdHg6NjU1MjggZ3NvOjE0NTIgKGZhaWwpCiMg aXB2NiB0eDoxIGdzbzoxIAojIGlwdjYgdHg6MiBnc286MSAKIyBpcHY2IHR4OjUgZ3NvOjIgCiMg aXB2NiB0eDoxNiBnc286MSAKIyBpcHY2IHR4OjE3IGdzbzoxIChmYWlsKQojIE9LCm9rIDE2IHNl bGZ0ZXN0czogbmV0OiB1ZHBnc28uc2gKIyBzZWxmdGVzdHM6IG5ldDogaXBfZGVmcmFnLnNoCiMg aXB2NCBkZWZyYWcKIyBQQVNTCiMgc2VlZCA9IDE2MTg4NTYwMjUKIyBpcHY0IGRlZnJhZyB3aXRo IG92ZXJsYXBzCiMgUEFTUwojIHNlZWQgPSAxNjE4ODU2MDI1CiMgaXB2NiBkZWZyYWcKIyBQQVNT CiMgc2VlZCA9IDE2MTg4NTYwMjkKIyBpcHY2IGRlZnJhZyB3aXRoIG92ZXJsYXBzCiMgUEFTUwoj IHNlZWQgPSAxNjE4ODU2MDI5CiMgaXB2NiBuZl9jb25udHJhY2sgZGVmcmFnCiMgUEFTUwojIHNl ZWQgPSAxNjE4ODU2MDM0CiMgaXB2NiBuZl9jb25udHJhY2sgZGVmcmFnIHdpdGggb3ZlcmxhcHMK IyBQQVNTCiMgc2VlZCA9IDE2MTg4NTYwMzQKIyBhbGwgdGVzdHMgZG9uZQpvayAxNyBzZWxmdGVz dHM6IG5ldDogaXBfZGVmcmFnLnNoCiMgc2VsZnRlc3RzOiBuZXQ6IHVkcGdzb19iZW5jaC5zaAoj IGlwdjQKIyB0Y3AKIyB0Y3AgdHg6ICAgMzMxMiBNQi9zICAgIDU2MTc3IGNhbGxzL3MgIDU2MTc3 IG1zZy9zCiMgdGNwIHJ4OiAgIDMzMTQgTUIvcyAgICA1NjE4OCBjYWxscy9zCiMgdGNwIHR4OiAg IDMyNzIgTUIvcyAgICA1NTUwMyBjYWxscy9zICA1NTUwMyBtc2cvcwojIHRjcCByeDogICAzMjc1 IE1CL3MgICAgNTU1NDYgY2FsbHMvcwojIHRjcCB0eDogICAzMjU4IE1CL3MgICAgNTUyNjggY2Fs bHMvcyAgNTUyNjggbXNnL3MKIyB0Y3AgemVyb2NvcHkKIyB0Y3AgdHg6ICAgMjM4MSBNQi9zICAg IDQwMzg3IGNhbGxzL3MgIDQwMzg3IG1zZy9zCiMgdGNwIHJ4OiAgIDIzODIgTUIvcyAgICAzOTk0 MSBjYWxscy9zCiMgdGNwIHR4OiAgIDIzODEgTUIvcyAgICA0MDM5NiBjYWxscy9zICA0MDM5NiBt c2cvcwojIHRjcCByeDogICAyMzg0IE1CL3MgICAgNDAzMTMgY2FsbHMvcwojIHRjcCB0eDogICAy Mzk0IE1CL3MgICAgNDA2MDkgY2FsbHMvcyAgNDA2MDkgbXNnL3MKIyB1ZHAKIyB1ZHAgcng6ICAg IDE2MSBNQi9zICAgMTE0OTAzIGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDE2MSBNQi9zICAgMTE0OTEy IGNhbGxzL3MgICAyNzM2IG1zZy9zCiMgdWRwIHR4OiAgICAxNjIgTUIvcyAgIDExNTc1MiBjYWxs cy9zICAgMjc1NiBtc2cvcwojIHVkcCByeDogICAgMTYyIE1CL3MgICAxMTU4NjcgY2FsbHMvcwoj IHVkcCB0eDogICAgMTYyIE1CL3MgICAxMTU5MjAgY2FsbHMvcyAgIDI3NjAgbXNnL3MKIyB1ZHAg Z3NvCiMgdWRwIHJ4OiAgICA5MDggTUIvcyAgIDY0NjkxMCBjYWxscy9zCiMgdWRwIHR4OiAgICA5 MTAgTUIvcyAgICAxNTQ0NCBjYWxscy9zICAxNTQ0NCBtc2cvcwojIHVkcCByeDogICAgOTEyIE1C L3MgICA2NDk5MzAgY2FsbHMvcwojIHVkcCB0eDogICAgOTExIE1CL3MgICAgMTU0NjEgY2FsbHMv cyAgMTU0NjEgbXNnL3MKIyB1ZHAgcng6ICAgIDkxMCBNQi9zICAgNjQ4ODUwIGNhbGxzL3MKIyB1 ZHAgdHg6ICAgIDkwOSBNQi9zICAgIDE1NDM0IGNhbGxzL3MgIDE1NDM0IG1zZy9zCiMgdWRwIGdz byB6ZXJvY29weQojIHVkcCByeDogICAgODU3IE1CL3MgICA2MTEwMTggY2FsbHMvcwojIHVkcCB0 eDogICAgODU5IE1CL3MgICAgMTQ1NzcgY2FsbHMvcyAgMTQ1NzcgbXNnL3MKIyB1ZHAgcng6ICAg IDg2NyBNQi9zICAgNjE4MzEyIGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDg2NiBNQi9zICAgIDE0NzAz IGNhbGxzL3MgIDE0NzAzIG1zZy9zCiMgdWRwIHR4OiAgICA4NzQgTUIvcyAgICAxNDgzMSBjYWxs cy9zICAxNDgzMSBtc2cvcwojIHVkcCByeDogICAgODc1IE1CL3MgICA2MjMzMzIgY2FsbHMvcwoj IHVkcCBnc28gdGltZXN0YW1wCiMgdWRwIHJ4OiAgICA4MzMgTUIvcyAgIDU5Mzc0NCBjYWxscy9z CiMgdWRwIHR4OiAgICA4MzUgTUIvcyAgICAxNDE3OSBjYWxscy9zICAxNDE3OSBtc2cvcwojIHVk cCByeDogICAgODQ4IE1CL3MgICA2MDQwODYgY2FsbHMvcwojIHVkcCB0eDogICAgODQ3IE1CL3Mg ICAgMTQzNjkgY2FsbHMvcyAgMTQzNjkgbXNnL3MKIyB1ZHAgcng6ICAgIDg1MCBNQi9zICAgNjA1 NzI0IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDg0OSBNQi9zICAgIDE0NDA4IGNhbGxzL3MgIDE0NDA4 IG1zZy9zCiMgdWRwIGdzbyB6ZXJvY29weSBhdWRpdAojIHVkcCByeDogICAgODU5IE1CL3MgICA2 MTIzNjIgY2FsbHMvcwojIHVkcCB0eDogICAgODYyIE1CL3MgICAgMTQ2MjIgY2FsbHMvcyAgMTQ2 MjIgbXNnL3MKIyB1ZHAgcng6ICAgIDg3MCBNQi9zICAgNjIwMzkwIGNhbGxzL3MKIyB1ZHAgdHg6 ICAgIDg3MCBNQi9zICAgIDE0NzU5IGNhbGxzL3MgIDE0NzU5IG1zZy9zCiMgdWRwIHJ4OiAgICA4 NzAgTUIvcyAgIDYyMDIwOCBjYWxscy9zCiMgdWRwIHR4OiAgICA4NjkgTUIvcyAgICAxNDc1MSBj YWxscy9zICAxNDc1MSBtc2cvcwojIFN1bW1hcnkgb3ZlciAzLjAwMCBzZWNvbmRzLi4uCiMgc3Vt IHVkcCB0eDogICAgODg4IE1CL3MgICAgICA0NDEzMiBjYWxscyAoMTQ3MTAvcykgICAgICA0NDEz MiBtc2dzICgxNDcxMC9zKQojIFplcm9jb3B5IGFja3M6ICAgICAgICAgICAgICAgNDQxMzIKIyB1 ZHAgZ3NvIHRpbWVzdGFtcCBhdWRpdAojIHVkcCByeDogICAgODM0IE1CL3MgICA1OTQ2NjMgY2Fs bHMvcwojIHVkcCB0eDogICAgODM3IE1CL3MgICAgMTQyMDEgY2FsbHMvcyAgMTQyMDEgbXNnL3MK IyB1ZHAgcng6ICAgIDg0NCBNQi9zICAgNjAxMzczIGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDg0MyBN Qi9zICAgIDE0MzA1IGNhbGxzL3MgIDE0MzA1IG1zZy9zCiMgdWRwIHJ4OiAgICA4NDUgTUIvcyAg IDYwMjE0OCBjYWxscy9zCiMgdWRwIHR4OiAgICA4NDQgTUIvcyAgICAxNDMyMyBjYWxscy9zICAx NDMyMyBtc2cvcwojIFN1bW1hcnkgb3ZlciAzLjAwMCBzZWNvbmRzLi4uCiMgc3VtIHVkcCB0eDog ICAgODYxIE1CL3MgICAgICA0MjgyOSBjYWxscyAoMTQyNzYvcykgICAgICA0MjgyOSBtc2dzICgx NDI3Ni9zKQojIFR4IFRpbWVzdGFtcHM6ICAgICAgICAgICAgICAgNDI4MjkgcmVjZWl2ZWQgICAg ICAgICAgICAgICAgIDAgZXJyb3JzCiMgdWRwIGdzbyB6ZXJvY29weSB0aW1lc3RhbXAgYXVkaXQK IyB1ZHAgcng6ICAgIDczOSBNQi9zICAgNTI2OTg3IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDc0MiBN Qi9zICAgIDEyNTg5IGNhbGxzL3MgIDEyNTg5IG1zZy9zCiMgdWRwIHJ4OiAgICA3NDggTUIvcyAg IDUzMzQ4NCBjYWxscy9zCiMgdWRwIHR4OiAgICA3NDggTUIvcyAgICAxMjY5MCBjYWxscy9zICAx MjY5MCBtc2cvcwojIHVkcCByeDogICAgNzQ5IE1CL3MgICA1MzQwMzAgY2FsbHMvcwojIHVkcCB0 eDogICAgNzQ4IE1CL3MgICAgMTI3MDIgY2FsbHMvcyAgMTI3MDIgbXNnL3MKIyBTdW1tYXJ5IG92 ZXIgMy4wMDAgc2Vjb25kcy4uLgojIHN1bSB1ZHAgdHg6ICAgIDc2NCBNQi9zICAgICAgMzc5ODEg Y2FsbHMgKDEyNjYwL3MpICAgICAgMzc5ODEgbXNncyAoMTI2NjAvcykKIyBUeCBUaW1lc3RhbXBz OiAgICAgICAgICAgICAgIDM3OTgxIHJlY2VpdmVkICAgICAgICAgICAgICAgICAwIGVycm9ycwoj IFplcm9jb3B5IGFja3M6ICAgICAgICAgICAgICAgMzc5ODEKIyBpcHY2CiMgdGNwCiMgdGNwIHR4 OiAgIDMyMTAgTUIvcyAgICA1NDQ0NSBjYWxscy9zICA1NDQ0NSBtc2cvcwojIHRjcCByeDogICAz MjEyIE1CL3MgICAgNTQ0NDMgY2FsbHMvcwojIHRjcCB0eDogICAzMjc0IE1CL3MgICAgNTU1NDEg Y2FsbHMvcyAgNTU1NDEgbXNnL3MKIyB0Y3Agcng6ICAgMzI3OSBNQi9zICAgIDU1NTkyIGNhbGxz L3MKIyB0Y3AgdHg6ICAgMzI2NSBNQi9zICAgIDU1Mzg1IGNhbGxzL3MgIDU1Mzg1IG1zZy9zCiMg dGNwIHplcm9jb3B5CiMgdGNwIHR4OiAgIDIzNzYgTUIvcyAgICA0MDI5OSBjYWxscy9zICA0MDI5 OSBtc2cvcwojIHRjcCByeDogICAyMzc3IE1CL3MgICAgNDAyODQgY2FsbHMvcwojIHRjcCB0eDog ICAyNDA3IE1CL3MgICAgNDA4NDEgY2FsbHMvcyAgNDA4NDEgbXNnL3MKIyB0Y3Agcng6ICAgMjQx MCBNQi9zICAgIDQwODYxIGNhbGxzL3MKIyB0Y3AgdHg6ICAgMjQwMyBNQi9zICAgIDQwNzY2IGNh bGxzL3MgIDQwNzY2IG1zZy9zCiMgdWRwCiMgdWRwIHJ4OiAgICAxMzMgTUIvcyAgICA5NzM2OCBj YWxscy9zCiMgdWRwIHR4OiAgICAxMzMgTUIvcyAgICA5NzQ4MSBjYWxscy9zICAgMjI2NyBtc2cv cwojIHVkcCByeDogICAgMTM4IE1CL3MgICAxMDA4MzEgY2FsbHMvcwojIHVkcCB0eDogICAgMTM4 IE1CL3MgICAxMDA3NDkgY2FsbHMvcyAgIDIzNDMgbXNnL3MKIyB1ZHAgdHg6ICAgIDEzOCBNQi9z ICAgMTAwOTY0IGNhbGxzL3MgICAyMzQ4IG1zZy9zCiMgdWRwIGdzbwojIHVkcCByeDogICAgODk1 IE1CL3MgICA2NTI4MDAgY2FsbHMvcwojIHVkcCB0eDogICAgODk3IE1CL3MgICAgMTUyMjIgY2Fs bHMvcyAgMTUyMjIgbXNnL3MKIyB1ZHAgcng6ICAgIDkwMSBNQi9zICAgNjU3NjY0IGNhbGxzL3MK IyB1ZHAgdHg6ICAgIDkwMSBNQi9zICAgIDE1MjgzIGNhbGxzL3MgIDE1MjgzIG1zZy9zCiMgdWRw IHJ4OiAgICA5MDUgTUIvcyAgIDY2MDczNiBjYWxscy9zCiMgdWRwIHR4OiAgICA5MDQgTUIvcyAg ICAxNTM0OCBjYWxscy9zICAxNTM0OCBtc2cvcwojIHVkcCBnc28gemVyb2NvcHkKIyB1ZHAgcng6 ICAgIDg0OSBNQi9zICAgNjE5MjY0IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDg1MSBNQi9zICAgIDE0 NDQyIGNhbGxzL3MgIDE0NDQyIG1zZy9zCiMgdWRwIHJ4OiAgICA4NTcgTUIvcyAgIDYyNTY2NCBj YWxscy9zCiMgdWRwIHR4OiAgICA4NTcgTUIvcyAgICAxNDUzOSBjYWxscy9zICAxNDUzOSBtc2cv cwojIHVkcCByeDogICAgODU5IE1CL3MgICA2MjY2NDEgY2FsbHMvcwojIHVkcCB0eDogICAgODU4 IE1CL3MgICAgMTQ1NTYgY2FsbHMvcyAgMTQ1NTYgbXNnL3MKIyB1ZHAgZ3NvIHRpbWVzdGFtcAoj IHVkcCByeDogICAgODM2IE1CL3MgICA2MDk5OTggY2FsbHMvcwojIHVkcCB0eDogICAgODM4IE1C L3MgICAgMTQyMjkgY2FsbHMvcyAgMTQyMjkgbXNnL3MKIyB1ZHAgcng6ICAgIDg0OCBNQi9zICAg NjE4NTU1IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDg0NyBNQi9zICAgIDE0MzY5IGNhbGxzL3MgIDE0 MzY5IG1zZy9zCiMgdWRwIHJ4OiAgICA4NDggTUIvcyAgIDYxODU5OCBjYWxscy9zCiMgdWRwIHR4 OiAgICA4NDcgTUIvcyAgICAxNDM3MiBjYWxscy9zICAxNDM3MiBtc2cvcwojCm5vdCBvayAxOCBz ZWxmdGVzdHM6IG5ldDogdWRwZ3NvX2JlbmNoLnNoICMgVElNRU9VVCA0NSBzZWNvbmRzCiMgc2Vs ZnRlc3RzOiBuZXQ6IGZpYl9ydWxlX3Rlc3RzLnNoCiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFRFU1Qg U0VDVElPTjogSVB2NCBmaWIgcnVsZQojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAKIyAgICAgVEVTVDogcnVs ZTQgY2hlY2s6IG9pZiBkdW1teTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IAojICAgICBURVNUOiBydWxlNCBkZWwgYnkgcHJlZjogb2lmIGR1bW15MCAgICAgICAgICAgICAg ICAgICAgICAgWyBPSyBdCiMgbmV0LmlwdjQuaXBfZm9yd2FyZCA9IDEKIyBuZXQuaXB2NC5jb25m LmR1bW15MC5ycF9maWx0ZXIgPSAwCiMgCiMgICAgIFRFU1Q6IHJ1bGU0IGNoZWNrOiBmcm9tIDE5 Mi41MS4xMDAuMyBpaWYgZHVtbXkwICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDogcnVs ZTQgZGVsIGJ5IHByZWY6IGZyb20gMTkyLjUxLjEwMC4zIGlpZiBkdW1teTAgICAgIFsgT0sgXQoj IG5ldC5pcHY0LmlwX2ZvcndhcmQgPSAwCiMgCiMgICAgIFRFU1Q6IHJ1bGU0IGNoZWNrOiB0b3Mg MHgxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDog cnVsZTQgZGVsIGJ5IHByZWY6IHRvcyAweDEwICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojIAojICAgICBURVNUOiBydWxlNCBjaGVjazogZndtYXJrIDB4NjQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU0IGRlbCBieSBwcmVmOiBmd21h cmsgMHg2NCAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDogcnVsZTQg Y2hlY2s6IHVpZHJhbmdlIDEwMC0xMDAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAoj ICAgICBURVNUOiBydWxlNCBkZWwgYnkgcHJlZjogdWlkcmFuZ2UgMTAwLTEwMCAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU0IGNoZWNrOiBzcG9ydCA2NjYgZHBvcnQg Nzc3ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDogcnVsZTQgZGVsIGJ5 IHByZWY6IHNwb3J0IDY2NiBkcG9ydCA3NzcgICAgICAgICAgICAgIFsgT0sgXQojIAojICAgICBU RVNUOiBydWxlNCBjaGVjazogaXBwcm90byB0Y3AgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU0IGRlbCBieSBwcmVmOiBpcHByb3RvIHRjcCAgICAg ICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDogcnVsZTQgY2hlY2s6IGlwcHJv dG8gaWNtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICAgICBURVNUOiBy dWxlNCBkZWwgYnkgcHJlZjogaXBwcm90byBpY21wICAgICAgICAgICAgICAgICAgICAgWyBPSyBd CiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwojIFRFU1QgU0VDVElPTjogSVB2NiBmaWIgcnVsZQojICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyAKIyAgICAgVEVTVDogcnVsZTYgY2hlY2s6IG9pZiBkdW1teTAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICAgICBURVNUOiBydWxlNiBkZWwgYnkgcHJl Zjogb2lmIGR1bW15MCAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6 IHJ1bGU2IGNoZWNrOiBmcm9tIDIwMDE6ZGI4OjE6OjMgaWlmIGR1bW15MCAgICAgICAgICBbIE9L IF0KIyAKIyAgICAgVEVTVDogcnVsZTYgZGVsIGJ5IHByZWY6IGZyb20gMjAwMTpkYjg6MTo6MyBp aWYgZHVtbXkwICAgIFsgT0sgXQojIAojICAgICBURVNUOiBydWxlNiBjaGVjazogdG9zIDB4MTAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU2 IGRlbCBieSBwcmVmOiB0b3MgMHgxMCAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAK IyAgICAgVEVTVDogcnVsZTYgY2hlY2s6IGZ3bWFyayAweDY0ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIAojICAgICBURVNUOiBydWxlNiBkZWwgYnkgcHJlZjogZndtYXJrIDB4 NjQgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU2IGNoZWNr OiB1aWRyYW5nZSAxMDAtMTAwICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAg VEVTVDogcnVsZTYgZGVsIGJ5IHByZWY6IHVpZHJhbmdlIDEwMC0xMDAgICAgICAgICAgICAgICAg IFsgT0sgXQojIAojICAgICBURVNUOiBydWxlNiBjaGVjazogc3BvcnQgNjY2IGRwb3J0IDc3NyAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU2IGRlbCBieSBwcmVm OiBzcG9ydCA2NjYgZHBvcnQgNzc3ICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDog cnVsZTYgY2hlY2s6IGlwcHJvdG8gdGNwICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojIAojICAgICBURVNUOiBydWxlNiBkZWwgYnkgcHJlZjogaXBwcm90byB0Y3AgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgCiMgICAgIFRFU1Q6IHJ1bGU2IGNoZWNrOiBpcHByb3RvIGlw djYtaWNtcCAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAgICAgVEVTVDogcnVsZTYg ZGVsIGJ5IHByZWY6IGlwcHJvdG8gaXB2Ni1pY21wICAgICAgICAgICAgICAgIFsgT0sgXQojIAoj IFRlc3RzIHBhc3NlZDogIDMyCiMgVGVzdHMgZmFpbGVkOiAgIDAKb2sgMTkgc2VsZnRlc3RzOiBu ZXQ6IGZpYl9ydWxlX3Rlc3RzLnNoCiMgc2VsZnRlc3RzOiBuZXQ6IG1zZ196ZXJvY29weS5zaAoj IGlwdjQgdGNwIC10IDEKIyB0eD02MzQxOCAoMzk1NyBNQikgdHhjPTAgemM9bgojIHJ4PTMxNzEw ICgzOTU3IE1CKQojIGlwdjQgdGNwIC16IC10IDEKIyB0eD00OTgyOCAoMzEwOSBNQikgdHhjPTQ5 ODI4IHpjPW4KIyByeD0yNDkxNSAoMzEwOSBNQikKIyBvawojIGlwdjYgdGNwIC10IDEKIyB0eD01 MjYzNCAoMzI4NCBNQikgdHhjPTAgemM9bgojIHJ4PTI2MzE4ICgzMjg0IE1CKQojIGlwdjYgdGNw IC16IC10IDEKIyB0eD00MjU3NSAoMjY1NiBNQikgdHhjPTQyNTc1IHpjPW4KIyByeD0yMTI4OSAo MjY1NiBNQikKIyBvawojIGlwdjQgdWRwIC10IDEKIyB0eD03MDI5NiAoNDM4NiBNQikgdHhjPTAg emM9bgojIHJ4PTcwMjkzICg0Mzg2IE1CKQojIGlwdjQgdWRwIC16IC10IDEKIyB0eD01MTg4NSAo MzIzNyBNQikgdHhjPTUxODg1IHpjPW4KIyByeD01MTg0OSAoMzIzNSBNQikKIyBvawojIGlwdjYg dWRwIC10IDEKIyB0eD02ODAxNCAoNDI0NCBNQikgdHhjPTAgemM9bgojIHJ4PTY4MDExICg0MjQ0 IE1CKQojIGlwdjYgdWRwIC16IC10IDEKIyB0eD01MTQyMiAoMzIwOCBNQikgdHhjPTUxNDIyIHpj PW4KIyByeD01MTQyMiAoMzIwOCBNQikKIyBvawojIE9LLiBBbGwgdGVzdHMgcGFzc2VkCm9rIDIw IHNlbGZ0ZXN0czogbmV0OiBtc2dfemVyb2NvcHkuc2gKIyBzZWxmdGVzdHM6IG5ldDogcHNvY2tf c25kLnNoCiMgZGdyYW0KIyB0eDogMTI4CiMgcng6IDE0MgojIHJ4OiAxMDAKIyBPSwojIAojIGRn cmFtIGJpbmQKIyB0eDogMTI4CiMgcng6IDE0MgojIHJ4OiAxMDAKIyBPSwojIAojIHJhdwojIHR4 OiAxNDIKIyByeDogMTQyCiMgcng6IDEwMAojIE9LCiMgCiMgcmF3IGJpbmQKIyB0eDogMTQyCiMg cng6IDE0MgojIHJ4OiAxMDAKIyBPSwojIAojIHJhdyBxZGlzYyBieXBhc3MKIyB0eDogMTQyCiMg cng6IDE0MgojIHJ4OiAxMDAKIyBPSwojIAojIHJhdyB2bGFuCiMgdHg6IDE0NgojIHJ4OiAxMDAK IyBPSwojIAojIHJhdyB2bmV0IGhkcgojIHR4OiAxNTIKIyByeDogMTQyCiMgcng6IDEwMAojIE9L CiMgCiMgcmF3IGNzdW1fb2ZmCiMgdHg6IDE1MgojIHJ4OiAxNDIKIyByeDogMTAwCiMgT0sKIyAK IyByYXcgY3N1bV9vZmYgd2l0aCBiYWQgb2Zmc2V0IChleHBlY3RlZCB0byBmYWlsKQojIC4vcHNv Y2tfc25kOiB3cml0ZTogSW52YWxpZCBhcmd1bWVudAojIHJhdyBtaW4gc2l6ZQojIHR4OiA0Mgoj IHJ4OiAwCiMgT0sKIyAKIyByYXcgbXR1IHNpemUKIyB0eDogMTUxNAojIHJ4OiAxNDcyCiMgT0sK IyAKIyByYXcgbXR1IHNpemUgKyAxIChleHBlY3RlZCB0byBmYWlsKQojIC4vcHNvY2tfc25kOiB3 cml0ZTogTWVzc2FnZSB0b28gbG9uZwojIHJhdyB2bGFuIG10dSBzaXplICsgMSAoZXhwZWN0ZWQg dG8gZmFpbCkKIyAuL3Bzb2NrX3NuZDogd3JpdGU6IE1lc3NhZ2UgdG9vIGxvbmcKIyBkZ3JhbSBt dHUgc2l6ZQojIHR4OiAxNTAwCiMgcng6IDE0NzIKIyBPSwojIAojIGRncmFtIG10dSBzaXplICsg MSAoZXhwZWN0ZWQgdG8gZmFpbCkKIyAuL3Bzb2NrX3NuZDogd3JpdGU6IE1lc3NhZ2UgdG9vIGxv bmcKIyByYXcgdHJ1bmNhdGUgaGxlbiAoZXhwZWN0ZWQgdG8gZmFpbDogZG9lcyBub3QgYXJyaXZl KQojIHR4OiAxNAojIC4vcHNvY2tfc25kOiByZWN2OiBSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2 YWlsYWJsZQojIHJhdyB0cnVuY2F0ZSBobGVuIC0gMSAoZXhwZWN0ZWQgdG8gZmFpbDogRUlOVkFM KQojIC4vcHNvY2tfc25kOiB3cml0ZTogSW52YWxpZCBhcmd1bWVudAojIHJhdyBnc28gbWluIHNp emUKIyB0eDogMTUyNQojIHJ4OiAxNDczCiMgT0sKIyAKIyByYXcgZ3NvIG1pbiBzaXplIC0gMSAo ZXhwZWN0ZWQgdG8gZmFpbCkKIyB0eDogMTUyNAojIHJ4OiAxNDcyCiMgT0sKIyAKbm90IG9rIDIx IHNlbGZ0ZXN0czogbmV0OiBwc29ja19zbmQuc2ggIyBleGl0PTEKIyBzZWxmdGVzdHM6IG5ldDog dWRwZ3JvX2JlbmNoLnNoCiMgaXB2NAojIHRjcCAtIG92ZXIgdmV0aCB0b3VjaGluZyBkYXRhCiMg Q29udGludWluZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9vIG9sZCBrZXJuZWw/CiMgCiMg QlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6IEludmFsaWQgYXJndW1lbnQg KDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlmaWVyIGFuYWx5c2lzOgojIAojIG1h Z2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAojIGhkcl9sZW46IDI0CiMgdHlw ZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjogMjY4CiMgc3RyX2xlbjogMjU3CiMg YnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24pIHR5cGVfaWQ9MgojIFsyXSBTVFJV Q1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTAK IyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMgCWRhdGFfbWV0YSB0eXBlX2lk PTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNl dD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTI4CiMgCWVncmVz c19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAKIyBbM10gVFlQRURFRiBfX3UzMiB0 eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9i aXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1XSBGVU5DX1BST1RPIChhbm9uKSByZXR1cm49NiBh cmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMy IGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1teV9wcm9nIHR5cGVfaWQ9NQojIFs4 XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9iaXRzPTggZW5jb2Rpbmc9U0lHTkVE CiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhfdHlwZV9pZD0xMCBucl9lbGVtcz00 CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9i aXRzPTMyIGVuY29kaW5nPShub25lKQojIFsxMV0gVkFSIF9saWNlbnNlIHR5cGVfaWQ9OSBsaW5r YWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAgdmxlbj0xIHNpemUgPT0gMAojIAoj IHRjcCB0eDogICAgMzEyIE1CL3MgICAgIDUzMDMgY2FsbHMvcyAgIDUzMDMgbXNnL3MKIyB0Y3Ag cng6ICAgIDMxMyBNQi9zICAgICA4MjI2IGNhbGxzL3MKIyB0Y3AgdHg6ICAgIDQxOSBNQi9zICAg ICA3MTIyIGNhbGxzL3MgICA3MTIyIG1zZy9zCiMgdGNwIHJ4OiAgICA0MjAgTUIvcyAgICAxMjYx OSBjYWxscy9zCiMgdGNwIHR4OiAgICAzMzAgTUIvcyAgICAgNTYxMyBjYWxscy9zICAgNTYxMyBt c2cvcwojIHRjcCByeDogICAgMzMxIE1CL3MgICAgMTA1MzYgY2FsbHMvcwojIHRjcCB0eDogICAg NDEyIE1CL3MgICAgIDcwMDQgY2FsbHMvcyAgIDcwMDQgbXNnL3MKIyB1ZHAgZ3NvIC0gb3ZlciB2 ZXRoIHRvdWNoaW5nIGRhdGEKIyBDb250aW51aW5nIHdpdGhvdXQgbW91bnRlZCBlQlBGIGZzLiBU b28gb2xkIGtlcm5lbD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcuQlRGJyByZWplY3Rl ZDogSW52YWxpZCBhcmd1bWVudCAoMjIpIQojICAtIExlbmd0aDogICAgICAgNTQ5CiMgVmVyaWZp ZXIgYW5hbHlzaXM6CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEKIyBmbGFnczogMHgw CiMgaGRyX2xlbjogMjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgKIyBzdHJfb2ZmOiAy NjgKIyBzdHJfbGVuOiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFdIFBUUiAoYW5vbikg dHlwZV9pZD0yCiMgWzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYKIyAJZGF0YSB0eXBl X2lkPTMgYml0c19vZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MzIK IyAJZGF0YV9tZXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdyZXNzX2lmaW5kZXgg dHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5cGVfaWQ9MyBiaXRz X29mZnNldD0xMjgKIyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTE2MAoj IFszXSBUWVBFREVGIF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWduZWQgaW50IHNpemU9 NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzVdIEZVTkNfUFJP VE8gKGFub24pIHJldHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50IHNpemU9NCBiaXRz X29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZVTkMgeGRwX2R1bW15 X3Byb2cgdHlwZV9pZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29mZnNldD0wIG5yX2Jp dHM9OCBlbmNvZGluZz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVfaWQ9OCBpbmRleF90 eXBlX2lkPTEwIG5yX2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVfVFlQRV9fIHNpemU9 NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzExXSBWQVIgX2xp Y2Vuc2UgdHlwZV9pZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNlbnNlIHNpemU9MCB2 bGVuPTEgc2l6ZSA9PSAwCiMgCiMgdWRwIHJ4OiAgICAxODUgTUIvcyAgIDEzMTc4NyBjYWxscy9z CiMgdWRwIHR4OiAgICAyMjQgTUIvcyAgICAgMzgxNiBjYWxscy9zICAgMzgxNiBtc2cvcwojIHVk cCByeDogICAgMjIzIE1CL3MgICAxNTk0NDQgY2FsbHMvcwojIHVkcCB0eDogICAgMjIzIE1CL3Mg ICAgIDM3OTIgY2FsbHMvcyAgIDM3OTIgbXNnL3MKIyB1ZHAgcng6ICAgIDIyMiBNQi9zICAgMTU4 NDMyIGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDIyMiBNQi9zICAgICAzNzcyIGNhbGxzL3MgICAzNzcy IG1zZy9zCiMgdWRwIHJ4OiAgICAyMjUgTUIvcyAgIDE2MDY5MiBjYWxscy9zCiMgdWRwIHR4OiAg ICAyMjUgTUIvcyAgICAgMzgyMyBjYWxscy9zICAgMzgyMyBtc2cvcwojIHVkcCBnc28gYW5kIGdy byAtIG92ZXIgdmV0aCB0b3VjaGluZyBkYXRhCiMgQ29udGludWluZyB3aXRob3V0IG1vdW50ZWQg ZUJQRiBmcy4gVG9vIG9sZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJU RicgcmVqZWN0ZWQ6IEludmFsaWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0 OQojIFZlcmlmaWVyIGFuYWx5c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMg ZmxhZ3M6IDB4MAojIGhkcl9sZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMg c3RyX29mZjogMjY4CiMgc3RyX2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQ VFIgKGFub24pIHR5cGVfaWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMg CWRhdGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNf b2Zmc2V0PTMyCiMgCWRhdGFfbWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVz c19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBl X2lkPTMgYml0c19vZmZzZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29m ZnNldD0xNjAKIyBbM10gVFlQRURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVk IGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1 XSBGVU5DX1BST1RPIChhbm9uKSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBz aXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5D IHhkcF9kdW1teV9wcm9nIHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZz ZXQ9MCBucl9iaXRzPTggZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lk PTggaW5kZXhfdHlwZV9pZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZ UEVfXyBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFsx MV0gVkFSIF9saWNlbnNlIHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5z ZSBzaXplPTAgdmxlbj0xIHNpemUgPT0gMAojIAojIHVkcCByeDogICAgMzM3IE1CL3MgICAgIDU2 OTYgY2FsbHMvcwojIHVkcCB0eDogICAgMzk4IE1CL3MgICAgIDY3NjYgY2FsbHMvcyAgIDY3NjYg bXNnL3MKIyB1ZHAgcng6ICAgIDM5MyBNQi9zICAgICA2NjMzIGNhbGxzL3MKIyB1ZHAgdHg6ICAg IDM5NSBNQi9zICAgICA2NzA1IGNhbGxzL3MgICA2NzA1IG1zZy9zCiMgdWRwIHJ4OiAgICA0OTIg TUIvcyAgICAgODA2MiBjYWxscy9zCiMgdWRwIHR4OiAgICA0ODIgTUIvcyAgICAgODE4OSBjYWxs cy9zICAgODE4OSBtc2cvcwojIHVkcCByeDogICAgMzcwIE1CL3MgICAgIDYyNzcgY2FsbHMvcwoj IHVkcCB0eDogICAgMzY4IE1CL3MgICAgIDYyNDQgY2FsbHMvcyAgIDYyNDQgbXNnL3MKIyBpcHY2 CiMgdGNwIC0gb3ZlciB2ZXRoIHRvdWNoaW5nIGRhdGEKIyBDb250aW51aW5nIHdpdGhvdXQgbW91 bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5lbD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9u ICcuQlRGJyByZWplY3RlZDogSW52YWxpZCBhcmd1bWVudCAoMjIpIQojICAtIExlbmd0aDogICAg ICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246 IDEKIyBmbGFnczogMHgwCiMgaGRyX2xlbjogMjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAy NjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVuOiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMg WzFdIFBUUiAoYW5vbikgdHlwZV9pZD0yCiMgWzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVu PTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMg Yml0c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlp bmdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4 IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgKIyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJp dHNfb2Zmc2V0PTE2MAojIFszXSBUWVBFREVGIF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5z aWduZWQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUp CiMgWzVdIEZVTkNfUFJPVE8gKGFub24pIHJldHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQg aW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzdd IEZVTkMgeGRwX2R1bW15X3Byb2cgdHlwZV9pZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRz X29mZnNldD0wIG5yX2JpdHM9OCBlbmNvZGluZz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5 cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEwIG5yX2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJ WkVfVFlQRV9fIHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUp CiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9pZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBs aWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9PSAwCiMgCiMgdGNwIHR4OiAgICAzNDEgTUIvcyAg ICAgNTc5MSBjYWxscy9zICAgNTc5MSBtc2cvcwojIHRjcCByeDogICAgMzQxIE1CL3MgICAgIDQw MTkgY2FsbHMvcwojIHRjcCB0eDogICAgNDE2IE1CL3MgICAgIDcwNTcgY2FsbHMvcyAgIDcwNTcg bXNnL3MKIyB0Y3Agcng6ICAgIDQxNyBNQi9zICAgIDEzMzg1IGNhbGxzL3MKIyB0Y3AgdHg6ICAg IDM0NiBNQi9zICAgICA1ODc2IGNhbGxzL3MgICA1ODc2IG1zZy9zCiMgdGNwIHJ4OiAgICAzODUg TUIvcyAgICAgNDY0OCBjYWxscy9zCiMgdGNwIHR4OiAgICA0MTcgTUIvcyAgICAgNzA4NCBjYWxs cy9zICAgNzA4NCBtc2cvcwojIHVkcCBnc28gLSBvdmVyIHZldGggdG91Y2hpbmcgZGF0YQojIENv bnRpbnVpbmcgd2l0aG91dCBtb3VudGVkIGVCUEYgZnMuIFRvbyBvbGQga2VybmVsPwojIAojIEJU RiBkZWJ1ZyBkYXRhIHNlY3Rpb24gJy5CVEYnIHJlamVjdGVkOiBJbnZhbGlkIGFyZ3VtZW50ICgy MikhCiMgIC0gTGVuZ3RoOiAgICAgICA1NDkKIyBWZXJpZmllciBhbmFseXNpczoKIyAKIyBtYWdp YzogMHhlYjlmCiMgdmVyc2lvbjogMQojIGZsYWdzOiAweDAKIyBoZHJfbGVuOiAyNAojIHR5cGVf b2ZmOiAwCiMgdHlwZV9sZW46IDI2OAojIHN0cl9vZmY6IDI2OAojIHN0cl9sZW46IDI1NwojIGJ0 Zl90b3RhbF9zaXplOiA1NDkKIyBbMV0gUFRSIChhbm9uKSB0eXBlX2lkPTIKIyBbMl0gU1RSVUNU IHhkcF9tZCBzaXplPTI0IHZsZW49NgojIAlkYXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0wCiMg CWRhdGFfZW5kIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0zMgojIAlkYXRhX21ldGEgdHlwZV9pZD0z IGJpdHNfb2Zmc2V0PTY0CiMgCWluZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9 OTYKIyAJcnhfcXVldWVfaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTEyOAojIAllZ3Jlc3Nf aWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTYwCiMgWzNdIFRZUEVERUYgX191MzIgdHlw ZV9pZD00CiMgWzRdIElOVCB1bnNpZ25lZCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0 cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbNV0gRlVOQ19QUk9UTyAoYW5vbikgcmV0dXJuPTYgYXJn cz0oMSBjdHgpCiMgWzZdIElOVCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBl bmNvZGluZz1TSUdORUQKIyBbN10gRlVOQyB4ZHBfZHVtbXlfcHJvZyB0eXBlX2lkPTUKIyBbOF0g SU5UIGNoYXIgc2l6ZT0xIGJpdHNfb2Zmc2V0PTAgbnJfYml0cz04IGVuY29kaW5nPVNJR05FRAoj IFs5XSBBUlJBWSAoYW5vbikgdHlwZV9pZD04IGluZGV4X3R5cGVfaWQ9MTAgbnJfZWxlbXM9NAoj IFsxMF0gSU5UIF9fQVJSQVlfU0laRV9UWVBFX18gc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0 cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbMTFdIFZBUiBfbGljZW5zZSB0eXBlX2lkPTkgbGlua2Fn ZT0xCiMgWzEyXSBEQVRBU0VDIGxpY2Vuc2Ugc2l6ZT0wIHZsZW49MSBzaXplID09IDAKIyAKIyB1 ZHAgcng6ICAgIDIwNSBNQi9zICAgMTQ5NjA0IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDI1MSBNQi9z ICAgICA0MjY4IGNhbGxzL3MgICA0MjY4IG1zZy9zCiMgdWRwIHJ4OiAgICAyNDggTUIvcyAgIDE4 MTMwMCBjYWxscy9zCiMgdWRwIHR4OiAgICAyNDUgTUIvcyAgICAgNDE2NCBjYWxscy9zICAgNDE2 NCBtc2cvcwojIHVkcCByeDogICAgMjMwIE1CL3MgICAxNjgwMjggY2FsbHMvcwojIHVkcCB0eDog ICAgMjMwIE1CL3MgICAgIDM5MDMgY2FsbHMvcyAgIDM5MDMgbXNnL3MKIyB1ZHAgcng6ICAgIDIz MCBNQi9zICAgMTY3NzU1IGNhbGxzL3MKIyB1ZHAgdHg6ICAgIDIyOSBNQi9zICAgICAzODk5IGNh bGxzL3MgICAzODk5IG1zZy9zCiMgdWRwIGdzbyBhbmQgZ3JvIC0gb3ZlciB2ZXRoIHRvdWNoaW5n IGRhdGEKIyBDb250aW51aW5nIHdpdGhvdXQgbW91bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5l bD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcuQlRGJyByZWplY3RlZDogSW52YWxpZCBh cmd1bWVudCAoMjIpIQojICAtIExlbmd0aDogICAgICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6 CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEKIyBmbGFnczogMHgwCiMgaGRyX2xlbjog MjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVu OiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFdIFBUUiAoYW5vbikgdHlwZV9pZD0yCiMg WzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0c19v ZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRh IHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJp dHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgK IyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTE2MAojIFszXSBUWVBFREVG IF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWduZWQgaW50IHNpemU9NCBiaXRzX29mZnNl dD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzVdIEZVTkNfUFJPVE8gKGFub24pIHJl dHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5y X2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZVTkMgeGRwX2R1bW15X3Byb2cgdHlwZV9p ZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29mZnNldD0wIG5yX2JpdHM9OCBlbmNvZGlu Zz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEwIG5y X2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVfVFlQRV9fIHNpemU9NCBiaXRzX29mZnNl dD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9p ZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9 PSAwCiMgCiMgdWRwIHJ4OiAgICAzMjEgTUIvcyAgICAgNTQ1OSBjYWxscy9zCiMgdWRwIHR4OiAg ICAzNzQgTUIvcyAgICAgNjM1NiBjYWxscy9zICAgNjM1NiBtc2cvcwojIHVkcCByeDogICAgMzYx IE1CL3MgICAgIDYxMzEgY2FsbHMvcwojIHVkcCB0eDogICAgMzU5IE1CL3MgICAgIDYxMDUgY2Fs bHMvcyAgIDYxMDUgbXNnL3MKIyB1ZHAgcng6ICAgIDM1NiBNQi9zICAgICA2MDUyIGNhbGxzL3MK IyB1ZHAgdHg6ICAgIDM1NiBNQi9zICAgICA2MDQ4IGNhbGxzL3MgICA2MDQ4IG1zZy9zCiMgdWRw IHJ4OiAgICAzNTggTUIvcyAgICAgNjA4OCBjYWxscy9zCiMgdWRwIHR4OiAgICAzNTggTUIvcyAg ICAgNjA4MSBjYWxscy9zICAgNjA4MSBtc2cvcwpvayAyMiBzZWxmdGVzdHM6IG5ldDogdWRwZ3Jv X2JlbmNoLnNoCiMgc2VsZnRlc3RzOiBuZXQ6IHVkcGdyby5zaAojIGlwdjQKIyAgbm8gR1JPICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRpbnVpbmcgd2l0aG91dCBtb3VudGVk IGVCUEYgZnMuIFRvbyBvbGQga2VybmVsPwojIAojIEJURiBkZWJ1ZyBkYXRhIHNlY3Rpb24gJy5C VEYnIHJlamVjdGVkOiBJbnZhbGlkIGFyZ3VtZW50ICgyMikhCiMgIC0gTGVuZ3RoOiAgICAgICA1 NDkKIyBWZXJpZmllciBhbmFseXNpczoKIyAKIyBtYWdpYzogMHhlYjlmCiMgdmVyc2lvbjogMQoj IGZsYWdzOiAweDAKIyBoZHJfbGVuOiAyNAojIHR5cGVfb2ZmOiAwCiMgdHlwZV9sZW46IDI2OAoj IHN0cl9vZmY6IDI2OAojIHN0cl9sZW46IDI1NwojIGJ0Zl90b3RhbF9zaXplOiA1NDkKIyBbMV0g UFRSIChhbm9uKSB0eXBlX2lkPTIKIyBbMl0gU1RSVUNUIHhkcF9tZCBzaXplPTI0IHZsZW49Ngoj IAlkYXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0wCiMgCWRhdGFfZW5kIHR5cGVfaWQ9MyBiaXRz X29mZnNldD0zMgojIAlkYXRhX21ldGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTY0CiMgCWluZ3Jl c3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9OTYKIyAJcnhfcXVldWVfaW5kZXggdHlw ZV9pZD0zIGJpdHNfb2Zmc2V0PTEyOAojIAllZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19v ZmZzZXQ9MTYwCiMgWzNdIFRZUEVERUYgX191MzIgdHlwZV9pZD00CiMgWzRdIElOVCB1bnNpZ25l ZCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBb NV0gRlVOQ19QUk9UTyAoYW5vbikgcmV0dXJuPTYgYXJncz0oMSBjdHgpCiMgWzZdIElOVCBpbnQg c2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz1TSUdORUQKIyBbN10gRlVO QyB4ZHBfZHVtbXlfcHJvZyB0eXBlX2lkPTUKIyBbOF0gSU5UIGNoYXIgc2l6ZT0xIGJpdHNfb2Zm c2V0PTAgbnJfYml0cz04IGVuY29kaW5nPVNJR05FRAojIFs5XSBBUlJBWSAoYW5vbikgdHlwZV9p ZD04IGluZGV4X3R5cGVfaWQ9MTAgbnJfZWxlbXM9NAojIFsxMF0gSU5UIF9fQVJSQVlfU0laRV9U WVBFX18gc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBb MTFdIFZBUiBfbGljZW5zZSB0eXBlX2lkPTkgbGlua2FnZT0xCiMgWzEyXSBEQVRBU0VDIGxpY2Vu c2Ugc2l6ZT0wIHZsZW49MSBzaXplID09IDAKIyAKIyBvawojICBubyBHUk8gY2hrIGNtc2cgICAg ICAgICAgICAgICAgICAgICAgICAgQ29udGludWluZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4g VG9vIG9sZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0 ZWQ6IEludmFsaWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlm aWVyIGFuYWx5c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4 MAojIGhkcl9sZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjog MjY4CiMgc3RyX2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24p IHR5cGVfaWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlw ZV9pZD0zIGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMy CiMgCWRhdGFfbWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4 IHR5cGVfaWQ9MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0 c19vZmZzZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAK IyBbM10gVFlQRURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXpl PTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1XSBGVU5DX1BS T1RPIChhbm9uKSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0 c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1t eV9wcm9nIHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9i aXRzPTggZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhf dHlwZV9pZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXpl PTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFsxMV0gVkFSIF9s aWNlbnNlIHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAg dmxlbj0xIHNpemUgPT0gMAojIAojIG9rCiMgIEdSTyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDb250aW51aW5nIHdpdGhvdXQgbW91bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtl cm5lbD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcuQlRGJyByZWplY3RlZDogSW52YWxp ZCBhcmd1bWVudCAoMjIpIQojICAtIExlbmd0aDogICAgICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlz aXM6CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEKIyBmbGFnczogMHgwCiMgaGRyX2xl bjogMjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJf bGVuOiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFdIFBUUiAoYW5vbikgdHlwZV9pZD0y CiMgWzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0 c19vZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MzIKIyAJZGF0YV9t ZXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdyZXNzX2lmaW5kZXggdHlwZV9pZD0z IGJpdHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0x MjgKIyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTE2MAojIFszXSBUWVBF REVGIF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWduZWQgaW50IHNpemU9NCBiaXRzX29m ZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzVdIEZVTkNfUFJPVE8gKGFub24p IHJldHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50IHNpemU9NCBiaXRzX29mZnNldD0w IG5yX2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZVTkMgeGRwX2R1bW15X3Byb2cgdHlw ZV9pZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29mZnNldD0wIG5yX2JpdHM9OCBlbmNv ZGluZz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEw IG5yX2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVfVFlQRV9fIHNpemU9NCBiaXRzX29m ZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlw ZV9pZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6 ZSA9PSAwCiMgCiMgb2sKIyAgR1JPIGNoayBjbXNnICAgICAgICAgICAgICAgICAgICAgICAgICAg IENvbnRpbnVpbmcgd2l0aG91dCBtb3VudGVkIGVCUEYgZnMuIFRvbyBvbGQga2VybmVsPwojIAoj IEJURiBkZWJ1ZyBkYXRhIHNlY3Rpb24gJy5CVEYnIHJlamVjdGVkOiBJbnZhbGlkIGFyZ3VtZW50 ICgyMikhCiMgIC0gTGVuZ3RoOiAgICAgICA1NDkKIyBWZXJpZmllciBhbmFseXNpczoKIyAKIyBt YWdpYzogMHhlYjlmCiMgdmVyc2lvbjogMQojIGZsYWdzOiAweDAKIyBoZHJfbGVuOiAyNAojIHR5 cGVfb2ZmOiAwCiMgdHlwZV9sZW46IDI2OAojIHN0cl9vZmY6IDI2OAojIHN0cl9sZW46IDI1Nwoj IGJ0Zl90b3RhbF9zaXplOiA1NDkKIyBbMV0gUFRSIChhbm9uKSB0eXBlX2lkPTIKIyBbMl0gU1RS VUNUIHhkcF9tZCBzaXplPTI0IHZsZW49NgojIAlkYXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0w CiMgCWRhdGFfZW5kIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0zMgojIAlkYXRhX21ldGEgdHlwZV9p ZD0zIGJpdHNfb2Zmc2V0PTY0CiMgCWluZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZz ZXQ9OTYKIyAJcnhfcXVldWVfaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTEyOAojIAllZ3Jl c3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTYwCiMgWzNdIFRZUEVERUYgX191MzIg dHlwZV9pZD00CiMgWzRdIElOVCB1bnNpZ25lZCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJf Yml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbNV0gRlVOQ19QUk9UTyAoYW5vbikgcmV0dXJuPTYg YXJncz0oMSBjdHgpCiMgWzZdIElOVCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0z MiBlbmNvZGluZz1TSUdORUQKIyBbN10gRlVOQyB4ZHBfZHVtbXlfcHJvZyB0eXBlX2lkPTUKIyBb OF0gSU5UIGNoYXIgc2l6ZT0xIGJpdHNfb2Zmc2V0PTAgbnJfYml0cz04IGVuY29kaW5nPVNJR05F RAojIFs5XSBBUlJBWSAoYW5vbikgdHlwZV9pZD04IGluZGV4X3R5cGVfaWQ9MTAgbnJfZWxlbXM9 NAojIFsxMF0gSU5UIF9fQVJSQVlfU0laRV9UWVBFX18gc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJf Yml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbMTFdIFZBUiBfbGljZW5zZSB0eXBlX2lkPTkgbGlu a2FnZT0xCiMgWzEyXSBEQVRBU0VDIGxpY2Vuc2Ugc2l6ZT0wIHZsZW49MSBzaXplID09IDAKIyAK IyBvawojICBHUk8gd2l0aCBjdXN0b20gc2VnbWVudCBzaXplICAgICAgICAgICAgQ29udGludWlu ZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9vIG9sZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVn IGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6IEludmFsaWQgYXJndW1lbnQgKDIyKSEKIyAg LSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlmaWVyIGFuYWx5c2lzOgojIAojIG1hZ2ljOiAweGVi OWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAojIGhkcl9sZW46IDI0CiMgdHlwZV9vZmY6IDAK IyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjogMjY4CiMgc3RyX2xlbjogMjU3CiMgYnRmX3RvdGFs X3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24pIHR5cGVfaWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21k IHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9l bmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMgCWRhdGFfbWV0YSB0eXBlX2lkPTMgYml0c19v ZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD05NgojIAly eF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4 IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAKIyBbM10gVFlQRURFRiBfX3UzMiB0eXBlX2lkPTQK IyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVu Y29kaW5nPShub25lKQojIFs1XSBGVU5DX1BST1RPIChhbm9uKSByZXR1cm49NiBhcmdzPSgxIGN0 eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5n PVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1teV9wcm9nIHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hh ciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9iaXRzPTggZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFS UkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhfdHlwZV9pZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJ TlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVu Y29kaW5nPShub25lKQojIFsxMV0gVkFSIF9saWNlbnNlIHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBb MTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAgdmxlbj0xIHNpemUgPT0gMAojIAojIG9rCiMgIEdS TyB3aXRoIGN1c3RvbSBzZWdtZW50IHNpemUgY21zZyAgICAgICBDb250aW51aW5nIHdpdGhvdXQg bW91bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5lbD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0 aW9uICcuQlRGJyByZWplY3RlZDogSW52YWxpZCBhcmd1bWVudCAoMjIpIQojICAtIExlbmd0aDog ICAgICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNp b246IDEKIyBmbGFnczogMHgwCiMgaGRyX2xlbjogMjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVu OiAyNjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVuOiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5 CiMgWzFdIFBUUiAoYW5vbikgdHlwZV9pZD0yCiMgWzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2 bGVuPTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lk PTMgYml0c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAoj IAlpbmdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2lu ZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgKIyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0z IGJpdHNfb2Zmc2V0PTE2MAojIFszXSBUWVBFREVGIF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQg dW5zaWduZWQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5v bmUpCiMgWzVdIEZVTkNfUFJPVE8gKGFub24pIHJldHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJ TlQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMg WzddIEZVTkMgeGRwX2R1bW15X3Byb2cgdHlwZV9pZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBi aXRzX29mZnNldD0wIG5yX2JpdHM9OCBlbmNvZGluZz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24p IHR5cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEwIG5yX2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZ X1NJWkVfVFlQRV9fIHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5v bmUpCiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9pZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNF QyBsaWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9PSAwCiMgCiMgb2sKIyAgYmFkIEdSTyBsb29r dXAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRpbnVpbmcgd2l0aG91dCBtb3VudGVkIGVC UEYgZnMuIFRvbyBvbGQga2VybmVsPwojIAojIEJURiBkZWJ1ZyBkYXRhIHNlY3Rpb24gJy5CVEYn IHJlamVjdGVkOiBJbnZhbGlkIGFyZ3VtZW50ICgyMikhCiMgIC0gTGVuZ3RoOiAgICAgICA1NDkK IyBWZXJpZmllciBhbmFseXNpczoKIyAKIyBtYWdpYzogMHhlYjlmCiMgdmVyc2lvbjogMQojIGZs YWdzOiAweDAKIyBoZHJfbGVuOiAyNAojIHR5cGVfb2ZmOiAwCiMgdHlwZV9sZW46IDI2OAojIHN0 cl9vZmY6IDI2OAojIHN0cl9sZW46IDI1NwojIGJ0Zl90b3RhbF9zaXplOiA1NDkKIyBbMV0gUFRS IChhbm9uKSB0eXBlX2lkPTIKIyBbMl0gU1RSVUNUIHhkcF9tZCBzaXplPTI0IHZsZW49NgojIAlk YXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0wCiMgCWRhdGFfZW5kIHR5cGVfaWQ9MyBiaXRzX29m ZnNldD0zMgojIAlkYXRhX21ldGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTY0CiMgCWluZ3Jlc3Nf aWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9OTYKIyAJcnhfcXVldWVfaW5kZXggdHlwZV9p ZD0zIGJpdHNfb2Zmc2V0PTEyOAojIAllZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZz ZXQ9MTYwCiMgWzNdIFRZUEVERUYgX191MzIgdHlwZV9pZD00CiMgWzRdIElOVCB1bnNpZ25lZCBp bnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbNV0g RlVOQ19QUk9UTyAoYW5vbikgcmV0dXJuPTYgYXJncz0oMSBjdHgpCiMgWzZdIElOVCBpbnQgc2l6 ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz1TSUdORUQKIyBbN10gRlVOQyB4 ZHBfZHVtbXlfcHJvZyB0eXBlX2lkPTUKIyBbOF0gSU5UIGNoYXIgc2l6ZT0xIGJpdHNfb2Zmc2V0 PTAgbnJfYml0cz04IGVuY29kaW5nPVNJR05FRAojIFs5XSBBUlJBWSAoYW5vbikgdHlwZV9pZD04 IGluZGV4X3R5cGVfaWQ9MTAgbnJfZWxlbXM9NAojIFsxMF0gSU5UIF9fQVJSQVlfU0laRV9UWVBF X18gc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbMTFd IFZBUiBfbGljZW5zZSB0eXBlX2lkPTkgbGlua2FnZT0xCiMgWzEyXSBEQVRBU0VDIGxpY2Vuc2Ug c2l6ZT0wIHZsZW49MSBzaXplID09IDAKIyAKIyBvawojICBtdWx0aXBsZSBHUk8gc29ja3MgICAg ICAgICAgICAgICAgICAgICAgQ29udGludWluZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9v IG9sZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6 IEludmFsaWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlmaWVy IGFuYWx5c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAoj IGhkcl9sZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjogMjY4 CiMgc3RyX2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24pIHR5 cGVfaWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9p ZD0zIGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMg CWRhdGFfbWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5 cGVfaWQ9MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0c19v ZmZzZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAKIyBb M10gVFlQRURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXplPTQg Yml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1XSBGVU5DX1BST1RP IChhbm9uKSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0c19v ZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1teV9w cm9nIHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9iaXRz PTggZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhfdHlw ZV9pZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXplPTQg Yml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFsxMV0gVkFSIF9saWNl bnNlIHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAgdmxl bj0xIHNpemUgPT0gMAojIAojIG9rCiMgaXB2NgojICBubyBHUk8gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ29udGludWluZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9vIG9s ZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6IElu dmFsaWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlmaWVyIGFu YWx5c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAojIGhk cl9sZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjogMjY4CiMg c3RyX2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24pIHR5cGVf aWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9pZD0z IGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMgCWRh dGFfbWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5cGVf aWQ9MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0c19vZmZz ZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAKIyBbM10g VFlQRURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXplPTQgYml0 c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1XSBGVU5DX1BST1RPIChh bm9uKSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0c19vZmZz ZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1teV9wcm9n IHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9iaXRzPTgg ZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhfdHlwZV9p ZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXplPTQgYml0 c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFsxMV0gVkFSIF9saWNlbnNl IHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAgdmxlbj0x IHNpemUgPT0gMAojIAojIG9rCiMgIG5vIEdSTyBjaGsgY21zZyAgICAgICAgICAgICAgICAgICAg ICAgICBDb250aW51aW5nIHdpdGhvdXQgbW91bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5lbD8K IyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcuQlRGJyByZWplY3RlZDogSW52YWxpZCBhcmd1 bWVudCAoMjIpIQojICAtIExlbmd0aDogICAgICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6CiMg CiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEKIyBmbGFnczogMHgwCiMgaGRyX2xlbjogMjQK IyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVuOiAy NTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFdIFBUUiAoYW5vbikgdHlwZV9pZD0yCiMgWzJd IFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0c19vZmZz ZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRhIHR5 cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNf b2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgKIyAJ ZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTE2MAojIFszXSBUWVBFREVGIF9f dTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWduZWQgaW50IHNpemU9NCBiaXRzX29mZnNldD0w IG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzVdIEZVTkNfUFJPVE8gKGFub24pIHJldHVy bj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2Jp dHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZVTkMgeGRwX2R1bW15X3Byb2cgdHlwZV9pZD01 CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29mZnNldD0wIG5yX2JpdHM9OCBlbmNvZGluZz1T SUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEwIG5yX2Vs ZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVfVFlQRV9fIHNpemU9NCBiaXRzX29mZnNldD0w IG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9pZD05 IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9PSAw CiMgCiMgb2sKIyAgR1JPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRp bnVpbmcgd2l0aG91dCBtb3VudGVkIGVCUEYgZnMuIFRvbyBvbGQga2VybmVsPwojIAojIEJURiBk ZWJ1ZyBkYXRhIHNlY3Rpb24gJy5CVEYnIHJlamVjdGVkOiBJbnZhbGlkIGFyZ3VtZW50ICgyMikh CiMgIC0gTGVuZ3RoOiAgICAgICA1NDkKIyBWZXJpZmllciBhbmFseXNpczoKIyAKIyBtYWdpYzog MHhlYjlmCiMgdmVyc2lvbjogMQojIGZsYWdzOiAweDAKIyBoZHJfbGVuOiAyNAojIHR5cGVfb2Zm OiAwCiMgdHlwZV9sZW46IDI2OAojIHN0cl9vZmY6IDI2OAojIHN0cl9sZW46IDI1NwojIGJ0Zl90 b3RhbF9zaXplOiA1NDkKIyBbMV0gUFRSIChhbm9uKSB0eXBlX2lkPTIKIyBbMl0gU1RSVUNUIHhk cF9tZCBzaXplPTI0IHZsZW49NgojIAlkYXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0wCiMgCWRh dGFfZW5kIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0zMgojIAlkYXRhX21ldGEgdHlwZV9pZD0zIGJp dHNfb2Zmc2V0PTY0CiMgCWluZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9OTYK IyAJcnhfcXVldWVfaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTEyOAojIAllZ3Jlc3NfaWZp bmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTYwCiMgWzNdIFRZUEVERUYgX191MzIgdHlwZV9p ZD00CiMgWzRdIElOVCB1bnNpZ25lZCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0z MiBlbmNvZGluZz0obm9uZSkKIyBbNV0gRlVOQ19QUk9UTyAoYW5vbikgcmV0dXJuPTYgYXJncz0o MSBjdHgpCiMgWzZdIElOVCBpbnQgc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNv ZGluZz1TSUdORUQKIyBbN10gRlVOQyB4ZHBfZHVtbXlfcHJvZyB0eXBlX2lkPTUKIyBbOF0gSU5U IGNoYXIgc2l6ZT0xIGJpdHNfb2Zmc2V0PTAgbnJfYml0cz04IGVuY29kaW5nPVNJR05FRAojIFs5 XSBBUlJBWSAoYW5vbikgdHlwZV9pZD04IGluZGV4X3R5cGVfaWQ9MTAgbnJfZWxlbXM9NAojIFsx MF0gSU5UIF9fQVJSQVlfU0laRV9UWVBFX18gc2l6ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0z MiBlbmNvZGluZz0obm9uZSkKIyBbMTFdIFZBUiBfbGljZW5zZSB0eXBlX2lkPTkgbGlua2FnZT0x CiMgWzEyXSBEQVRBU0VDIGxpY2Vuc2Ugc2l6ZT0wIHZsZW49MSBzaXplID09IDAKIyAKIyBvawoj ICBHUk8gY2hrIGNtc2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGludWluZyB3aXRo b3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9vIG9sZCBrZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEg c2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6IEludmFsaWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5n dGg6ICAgICAgIDU0OQojIFZlcmlmaWVyIGFuYWx5c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2 ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAojIGhkcl9sZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBl X2xlbjogMjY4CiMgc3RyX29mZjogMjY4CiMgc3RyX2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6 IDU0OQojIFsxXSBQVFIgKGFub24pIHR5cGVfaWQ9MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9 MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlw ZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMgCWRhdGFfbWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9 NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1 ZV9pbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVf aWQ9MyBiaXRzX29mZnNldD0xNjAKIyBbM10gVFlQRURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0g SU5UIHVuc2lnbmVkIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5n PShub25lKQojIFs1XSBGVU5DX1BST1RPIChhbm9uKSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBb Nl0gSU5UIGludCBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05F RAojIFs3XSBGVU5DIHhkcF9kdW1teV9wcm9nIHR5cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXpl PTEgYml0c19vZmZzZXQ9MCBucl9iaXRzPTggZW5jb2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChh bm9uKSB0eXBlX2lkPTggaW5kZXhfdHlwZV9pZD0xMCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19B UlJBWV9TSVpFX1RZUEVfXyBzaXplPTQgYml0c19vZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5n PShub25lKQojIFsxMV0gVkFSIF9saWNlbnNlIHR5cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERB VEFTRUMgbGljZW5zZSBzaXplPTAgdmxlbj0xIHNpemUgPT0gMAojIAojIG9rCiMgIEdSTyB3aXRo IGN1c3RvbSBzZWdtZW50IHNpemUgICAgICAgICAgICBDb250aW51aW5nIHdpdGhvdXQgbW91bnRl ZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5lbD8KIyAKIyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcu QlRGJyByZWplY3RlZDogSW52YWxpZCBhcmd1bWVudCAoMjIpIQojICAtIExlbmd0aDogICAgICAg NTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6CiMgCiMgbWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEK IyBmbGFnczogMHgwCiMgaGRyX2xlbjogMjQKIyB0eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgK IyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVuOiAyNTcKIyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFd IFBUUiAoYW5vbikgdHlwZV9pZD0yCiMgWzJdIFNUUlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYK IyAJZGF0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0 c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRhIHR5cGVfaWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdy ZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5 cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgKIyAJZWdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNf b2Zmc2V0PTE2MAojIFszXSBUWVBFREVGIF9fdTMyIHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWdu ZWQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMg WzVdIEZVTkNfUFJPVE8gKGFub24pIHJldHVybj02IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50 IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZV TkMgeGRwX2R1bW15X3Byb2cgdHlwZV9pZD01CiMgWzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29m ZnNldD0wIG5yX2JpdHM9OCBlbmNvZGluZz1TSUdORUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVf aWQ9OCBpbmRleF90eXBlX2lkPTEwIG5yX2VsZW1zPTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVf VFlQRV9fIHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMg WzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9pZD05IGxpbmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNl bnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9PSAwCiMgCiMgb2sKIyAgR1JPIHdpdGggY3VzdG9tIHNl Z21lbnQgc2l6ZSBjbXNnICAgICAgIENvbnRpbnVpbmcgd2l0aG91dCBtb3VudGVkIGVCUEYgZnMu IFRvbyBvbGQga2VybmVsPwojIAojIEJURiBkZWJ1ZyBkYXRhIHNlY3Rpb24gJy5CVEYnIHJlamVj dGVkOiBJbnZhbGlkIGFyZ3VtZW50ICgyMikhCiMgIC0gTGVuZ3RoOiAgICAgICA1NDkKIyBWZXJp ZmllciBhbmFseXNpczoKIyAKIyBtYWdpYzogMHhlYjlmCiMgdmVyc2lvbjogMQojIGZsYWdzOiAw eDAKIyBoZHJfbGVuOiAyNAojIHR5cGVfb2ZmOiAwCiMgdHlwZV9sZW46IDI2OAojIHN0cl9vZmY6 IDI2OAojIHN0cl9sZW46IDI1NwojIGJ0Zl90b3RhbF9zaXplOiA1NDkKIyBbMV0gUFRSIChhbm9u KSB0eXBlX2lkPTIKIyBbMl0gU1RSVUNUIHhkcF9tZCBzaXplPTI0IHZsZW49NgojIAlkYXRhIHR5 cGVfaWQ9MyBiaXRzX29mZnNldD0wCiMgCWRhdGFfZW5kIHR5cGVfaWQ9MyBiaXRzX29mZnNldD0z MgojIAlkYXRhX21ldGEgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTY0CiMgCWluZ3Jlc3NfaWZpbmRl eCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9OTYKIyAJcnhfcXVldWVfaW5kZXggdHlwZV9pZD0zIGJp dHNfb2Zmc2V0PTEyOAojIAllZ3Jlc3NfaWZpbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MTYw CiMgWzNdIFRZUEVERUYgX191MzIgdHlwZV9pZD00CiMgWzRdIElOVCB1bnNpZ25lZCBpbnQgc2l6 ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbNV0gRlVOQ19Q Uk9UTyAoYW5vbikgcmV0dXJuPTYgYXJncz0oMSBjdHgpCiMgWzZdIElOVCBpbnQgc2l6ZT00IGJp dHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz1TSUdORUQKIyBbN10gRlVOQyB4ZHBfZHVt bXlfcHJvZyB0eXBlX2lkPTUKIyBbOF0gSU5UIGNoYXIgc2l6ZT0xIGJpdHNfb2Zmc2V0PTAgbnJf Yml0cz04IGVuY29kaW5nPVNJR05FRAojIFs5XSBBUlJBWSAoYW5vbikgdHlwZV9pZD04IGluZGV4 X3R5cGVfaWQ9MTAgbnJfZWxlbXM9NAojIFsxMF0gSU5UIF9fQVJSQVlfU0laRV9UWVBFX18gc2l6 ZT00IGJpdHNfb2Zmc2V0PTAgbnJfYml0cz0zMiBlbmNvZGluZz0obm9uZSkKIyBbMTFdIFZBUiBf bGljZW5zZSB0eXBlX2lkPTkgbGlua2FnZT0xCiMgWzEyXSBEQVRBU0VDIGxpY2Vuc2Ugc2l6ZT0w IHZsZW49MSBzaXplID09IDAKIyAKIyBvawojICBiYWQgR1JPIGxvb2t1cCAgICAgICAgICAgICAg ICAgICAgICAgICAgQ29udGludWluZyB3aXRob3V0IG1vdW50ZWQgZUJQRiBmcy4gVG9vIG9sZCBr ZXJuZWw/CiMgCiMgQlRGIGRlYnVnIGRhdGEgc2VjdGlvbiAnLkJURicgcmVqZWN0ZWQ6IEludmFs aWQgYXJndW1lbnQgKDIyKSEKIyAgLSBMZW5ndGg6ICAgICAgIDU0OQojIFZlcmlmaWVyIGFuYWx5 c2lzOgojIAojIG1hZ2ljOiAweGViOWYKIyB2ZXJzaW9uOiAxCiMgZmxhZ3M6IDB4MAojIGhkcl9s ZW46IDI0CiMgdHlwZV9vZmY6IDAKIyB0eXBlX2xlbjogMjY4CiMgc3RyX29mZjogMjY4CiMgc3Ry X2xlbjogMjU3CiMgYnRmX3RvdGFsX3NpemU6IDU0OQojIFsxXSBQVFIgKGFub24pIHR5cGVfaWQ9 MgojIFsyXSBTVFJVQ1QgeGRwX21kIHNpemU9MjQgdmxlbj02CiMgCWRhdGEgdHlwZV9pZD0zIGJp dHNfb2Zmc2V0PTAKIyAJZGF0YV9lbmQgdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTMyCiMgCWRhdGFf bWV0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9NjQKIyAJaW5ncmVzc19pZmluZGV4IHR5cGVfaWQ9 MyBiaXRzX29mZnNldD05NgojIAlyeF9xdWV1ZV9pbmRleCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9 MTI4CiMgCWVncmVzc19pZmluZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xNjAKIyBbM10gVFlQ RURFRiBfX3UzMiB0eXBlX2lkPTQKIyBbNF0gSU5UIHVuc2lnbmVkIGludCBzaXplPTQgYml0c19v ZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFs1XSBGVU5DX1BST1RPIChhbm9u KSByZXR1cm49NiBhcmdzPSgxIGN0eCkKIyBbNl0gSU5UIGludCBzaXplPTQgYml0c19vZmZzZXQ9 MCBucl9iaXRzPTMyIGVuY29kaW5nPVNJR05FRAojIFs3XSBGVU5DIHhkcF9kdW1teV9wcm9nIHR5 cGVfaWQ9NQojIFs4XSBJTlQgY2hhciBzaXplPTEgYml0c19vZmZzZXQ9MCBucl9iaXRzPTggZW5j b2Rpbmc9U0lHTkVECiMgWzldIEFSUkFZIChhbm9uKSB0eXBlX2lkPTggaW5kZXhfdHlwZV9pZD0x MCBucl9lbGVtcz00CiMgWzEwXSBJTlQgX19BUlJBWV9TSVpFX1RZUEVfXyBzaXplPTQgYml0c19v ZmZzZXQ9MCBucl9iaXRzPTMyIGVuY29kaW5nPShub25lKQojIFsxMV0gVkFSIF9saWNlbnNlIHR5 cGVfaWQ9OSBsaW5rYWdlPTEKIyBbMTJdIERBVEFTRUMgbGljZW5zZSBzaXplPTAgdmxlbj0xIHNp emUgPT0gMAojIAojIG9rCiMgIG11bHRpcGxlIEdSTyBzb2NrcyAgICAgICAgICAgICAgICAgICAg ICBDb250aW51aW5nIHdpdGhvdXQgbW91bnRlZCBlQlBGIGZzLiBUb28gb2xkIGtlcm5lbD8KIyAK IyBCVEYgZGVidWcgZGF0YSBzZWN0aW9uICcuQlRGJyByZWplY3RlZDogSW52YWxpZCBhcmd1bWVu dCAoMjIpIQojICAtIExlbmd0aDogICAgICAgNTQ5CiMgVmVyaWZpZXIgYW5hbHlzaXM6CiMgCiMg bWFnaWM6IDB4ZWI5ZgojIHZlcnNpb246IDEKIyBmbGFnczogMHgwCiMgaGRyX2xlbjogMjQKIyB0 eXBlX29mZjogMAojIHR5cGVfbGVuOiAyNjgKIyBzdHJfb2ZmOiAyNjgKIyBzdHJfbGVuOiAyNTcK IyBidGZfdG90YWxfc2l6ZTogNTQ5CiMgWzFdIFBUUiAoYW5vbikgdHlwZV9pZD0yCiMgWzJdIFNU UlVDVCB4ZHBfbWQgc2l6ZT0yNCB2bGVuPTYKIyAJZGF0YSB0eXBlX2lkPTMgYml0c19vZmZzZXQ9 MAojIAlkYXRhX2VuZCB0eXBlX2lkPTMgYml0c19vZmZzZXQ9MzIKIyAJZGF0YV9tZXRhIHR5cGVf aWQ9MyBiaXRzX29mZnNldD02NAojIAlpbmdyZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zm c2V0PTk2CiMgCXJ4X3F1ZXVlX2luZGV4IHR5cGVfaWQ9MyBiaXRzX29mZnNldD0xMjgKIyAJZWdy ZXNzX2lmaW5kZXggdHlwZV9pZD0zIGJpdHNfb2Zmc2V0PTE2MAojIFszXSBUWVBFREVGIF9fdTMy IHR5cGVfaWQ9NAojIFs0XSBJTlQgdW5zaWduZWQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5y X2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzVdIEZVTkNfUFJPVE8gKGFub24pIHJldHVybj02 IGFyZ3M9KDEgY3R4KQojIFs2XSBJTlQgaW50IHNpemU9NCBiaXRzX29mZnNldD0wIG5yX2JpdHM9 MzIgZW5jb2Rpbmc9U0lHTkVECiMgWzddIEZVTkMgeGRwX2R1bW15X3Byb2cgdHlwZV9pZD01CiMg WzhdIElOVCBjaGFyIHNpemU9MSBiaXRzX29mZnNldD0wIG5yX2JpdHM9OCBlbmNvZGluZz1TSUdO RUQKIyBbOV0gQVJSQVkgKGFub24pIHR5cGVfaWQ9OCBpbmRleF90eXBlX2lkPTEwIG5yX2VsZW1z PTQKIyBbMTBdIElOVCBfX0FSUkFZX1NJWkVfVFlQRV9fIHNpemU9NCBiaXRzX29mZnNldD0wIG5y X2JpdHM9MzIgZW5jb2Rpbmc9KG5vbmUpCiMgWzExXSBWQVIgX2xpY2Vuc2UgdHlwZV9pZD05IGxp bmthZ2U9MQojIFsxMl0gREFUQVNFQyBsaWNlbnNlIHNpemU9MCB2bGVuPTEgc2l6ZSA9PSAwCiMg CiMgb2sKb2sgMjMgc2VsZnRlc3RzOiBuZXQ6IHVkcGdyby5zaAojIHNlbGZ0ZXN0czogbmV0OiB0 ZXN0X3Z4bGFuX3VuZGVyX3ZyZi5zaAojIENoZWNraW5nIEhWIGNvbm5lY3Rpdml0eSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBDaGVjayBWTSBjb25u ZWN0aXZpdHkgdGhyb3VnaCBWWExBTiAodW5kZXJsYXkgaW4gdGhlIGRlZmF1bHQgVlJGKSAgWyBP SyBdCiMgQ2hlY2sgVk0gY29ubmVjdGl2aXR5IHRocm91Z2ggVlhMQU4gKHVuZGVybGF5IGluIGEg VlJGKSAgICAgICAgICAgIFtGQUlMXQpub3Qgb2sgMjQgc2VsZnRlc3RzOiBuZXQ6IHRlc3Rfdnhs YW5fdW5kZXJfdnJmLnNoICMgZXhpdD0xCiMgc2VsZnRlc3RzOiBuZXQ6IHJldXNlcG9ydF9hZGRy X2FueS5zaAojIFVEUCBJUHY0IC4uLiBwYXNzCiMgVURQIElQdjYgLi4uIHBhc3MKIyBVRFAgSVB2 NCBtYXBwZWQgdG8gSVB2NiAuLi4gcGFzcwojIFRDUCBJUHY0IC4uLiBwYXNzCiMgVENQIElQdjYg Li4uIHBhc3MKIyBUQ1AgSVB2NCBtYXBwZWQgdG8gSVB2NiAuLi4gcGFzcwojIERDQ1Agbm90IHN1 cHBvcnRlZDogc2tpcHBpbmcgRENDUCB0ZXN0cwojIFNVQ0NFU1MKb2sgMjUgc2VsZnRlc3RzOiBu ZXQ6IHJldXNlcG9ydF9hZGRyX2FueS5zaAojIHNlbGZ0ZXN0czogbmV0OiB0ZXN0X3Z4bGFuX2Zk Yl9jaGFuZ2VsaW5rLnNoCiMgZXhwZWN0ZWQgdHdvIHJlbW90ZXMgYWZ0ZXIgZmRiIGFwcGVuZAlb IE9LIF0KIyBleHBlY3RlZCB0d28gcmVtb3RlcyBhZnRlciBsaW5rIHNldAlbIE9LIF0Kb2sgMjYg c2VsZnRlc3RzOiBuZXQ6IHRlc3RfdnhsYW5fZmRiX2NoYW5nZWxpbmsuc2gKIyBzZWxmdGVzdHM6 IG5ldDogc29fdHh0aW1lLnNoCiMgCiMgU09fVFhUSU1FIGlwdjYgY2xvY2sgbW9ub3RvbmljCiMg cGF5bG9hZDphIGRlbGF5OjgxIGV4cGVjdGVkOjAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY0IGNs b2NrIG1vbm90b25pYwojIHBheWxvYWQ6YSBkZWxheTo1NCBleHBlY3RlZDowICh1cykKIyAKIyBT T19UWFRJTUUgaXB2NiBjbG9jayBtb25vdG9uaWMKIyBwYXlsb2FkOmEgZGVsYXk6NDcgZXhwZWN0 ZWQ6MCAodXMpCiMgCiMgU09fVFhUSU1FIGlwdjQgY2xvY2sgbW9ub3RvbmljCiMgcGF5bG9hZDph IGRlbGF5OjYyIGV4cGVjdGVkOjAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY2IGNsb2NrIG1vbm90 b25pYwojIHBheWxvYWQ6YSBkZWxheToxMDA2NSBleHBlY3RlZDoxMDAwMCAodXMpCiMgCiMgU09f VFhUSU1FIGlwdjQgY2xvY2sgbW9ub3RvbmljCiMgcGF5bG9hZDphIGRlbGF5OjEwMTA0IGV4cGVj dGVkOjEwMDAwICh1cykKIyAKIyBTT19UWFRJTUUgaXB2NiBjbG9jayBtb25vdG9uaWMKIyBwYXls b2FkOmEgZGVsYXk6MTAwNjkgZXhwZWN0ZWQ6MTAwMDAgKHVzKQojIHBheWxvYWQ6YiBkZWxheToy MDAzNiBleHBlY3RlZDoyMDAwMCAodXMpCiMgCiMgU09fVFhUSU1FIGlwdjQgY2xvY2sgbW9ub3Rv bmljCiMgcGF5bG9hZDphIGRlbGF5OjEwMTAwIGV4cGVjdGVkOjEwMDAwICh1cykKIyBwYXlsb2Fk OmIgZGVsYXk6MjAxNTAgZXhwZWN0ZWQ6MjAwMDAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY2IGNs b2NrIG1vbm90b25pYwojIHBheWxvYWQ6YiBkZWxheToyMDM1MCBleHBlY3RlZDoyMDAwMCAodXMp CiMgcGF5bG9hZDphIGRlbGF5OjIwMzg0IGV4cGVjdGVkOjIwMDAwICh1cykKIyAKIyBTT19UWFRJ TUUgaXB2NCBjbG9jayBtb25vdG9uaWMKIyBwYXlsb2FkOmIgZGVsYXk6MjAzNTEgZXhwZWN0ZWQ6 MjAwMDAgKHVzKQojIHBheWxvYWQ6YSBkZWxheToyMDM4NSBleHBlY3RlZDoyMDAwMCAodXMpCiMg CiMgU09fVFhUSU1FIGlwdjYgY2xvY2sgdGFpCiMgc2VuZDogcGt0IGEgYXQgLTE2MTg4NTYxMzkx MDJtcyBkcm9wcGVkOiBpbnZhbGlkIHR4dGltZQojIC4vc29fdHh0aW1lOiByZWN2OiB0aW1lb3V0 CiMgCiMgU09fVFhUSU1FIGlwdjYgY2xvY2sgdGFpCiMgc2VuZDogcGt0IGEgYXQgMG1zIGRyb3Bw ZWQ6IGludmFsaWQgdHh0aW1lCiMgLi9zb190eHRpbWU6IHJlY3Y6IHRpbWVvdXQKIyAKIyBTT19U WFRJTUUgaXB2NiBjbG9jayB0YWkKIyBwYXlsb2FkOmEgZGVsYXk6OTY2MyBleHBlY3RlZDoxMDAw MCAodXMpCiMgCiMgU09fVFhUSU1FIGlwdjQgY2xvY2sgdGFpCiMgcGF5bG9hZDphIGRlbGF5Ojk3 MjAgZXhwZWN0ZWQ6MTAwMDAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY2IGNsb2NrIHRhaQojIHBh eWxvYWQ6YSBkZWxheTo5ODA2IGV4cGVjdGVkOjEwMDAwICh1cykKIyBwYXlsb2FkOmIgZGVsYXk6 MTk3NTYgZXhwZWN0ZWQ6MjAwMDAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY0IGNsb2NrIHRhaQoj IHBheWxvYWQ6YSBkZWxheTo5NjQwIGV4cGVjdGVkOjEwMDAwICh1cykKIyBwYXlsb2FkOmIgZGVs YXk6MTk2NDQgZXhwZWN0ZWQ6MjAwMDAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY2IGNsb2NrIHRh aQojIHBheWxvYWQ6YiBkZWxheTo5NjY0IGV4cGVjdGVkOjEwMDAwICh1cykKIyBwYXlsb2FkOmEg ZGVsYXk6MTk3NDMgZXhwZWN0ZWQ6MjAwMDAgKHVzKQojIAojIFNPX1RYVElNRSBpcHY0IGNsb2Nr IHRhaQojIHBheWxvYWQ6YiBkZWxheTo5NjU1IGV4cGVjdGVkOjEwMDAwICh1cykKIyBwYXlsb2Fk OmEgZGVsYXk6MTk2ODggZXhwZWN0ZWQ6MjAwMDAgKHVzKQojIE9LLiBBbGwgdGVzdHMgcGFzc2Vk Cm9rIDI3IHNlbGZ0ZXN0czogbmV0OiBzb190eHRpbWUuc2gKIyBzZWxmdGVzdHM6IG5ldDogaXB2 Nl9mbG93bGFiZWwuc2gKIyBURVNUIG1hbmFnZW1lbnQKIyBbT0tdICAgIShmbG93bGFiZWxfZ2V0 KGZkLCAxLCAyNTUsIDApKQojIFtPS10gICAhKGZsb3dsYWJlbF9wdXQoZmQsIDEpKQojIFtPS10g ICAhKGZsb3dsYWJlbF9nZXQoZmQsIDB4MUZGRkZGLCAyNTUsIDEpKQojIFtPS10gICBmbG93bGFi ZWxfZ2V0KGZkLCAxLCAyNTUsIDEpCiMgW09LXSAgIGZsb3dsYWJlbF9nZXQoZmQsIDEsIDI1NSwg MCkKIyBbT0tdICAgZmxvd2xhYmVsX2dldChmZCwgMSwgMjU1LCAxKQojIFtPS10gICAhKGZsb3ds YWJlbF9nZXQoZmQsIDEsIDI1NSwgMSB8IDIpKQojIFtPS10gICBmbG93bGFiZWxfcHV0KGZkLCAx KQojIFtPS10gICBmbG93bGFiZWxfcHV0KGZkLCAxKQojIFtPS10gICBmbG93bGFiZWxfcHV0KGZk LCAxKQojIFtPS10gICAhKGZsb3dsYWJlbF9wdXQoZmQsIDEpKQojIFtPS10gICBmbG93bGFiZWxf Z2V0KGZkLCAyLCAxLCAxKQojIFtPS10gICAhKGZsb3dsYWJlbF9nZXQoZmQsIDIsIDI1NSwgMSkp CiMgW09LXSAgICEoZmxvd2xhYmVsX2dldChmZCwgMiwgMSwgMSkpCiMgW09LXSAgIGZsb3dsYWJl bF9wdXQoZmQsIDIpCiMgW09LXSAgIGZsb3dsYWJlbF9nZXQoZmQsIDMsIDMsIDEpCiMgW09LXSAg ICEoZmxvd2xhYmVsX2dldChmZCwgMywgMjU1LCAwKSkKIyBbT0tdICAgIShmbG93bGFiZWxfZ2V0 KGZkLCAzLCAxLCAwKSkKIyBbT0tdICAgZmxvd2xhYmVsX2dldChmZCwgMywgMywgMCkKIyBbT0td ICAgZmxvd2xhYmVsX2dldChmZCwgMywgMywgMCkKIyBbT0tdICAgIShmbG93bGFiZWxfZ2V0KGZk LCAzLCAzLCAwKSkKIyBbT0tdICAgZmxvd2xhYmVsX2dldChmZCwgNCwgMiwgMSkKIyBbT0tdICAg Zmxvd2xhYmVsX2dldChmZCwgNCwgMiwgMCkKIyBbT0tdICAgIShmbG93bGFiZWxfZ2V0KGZkLCA0 LCAyLCAwKSkKIyBURVNUIGRhdGFwYXRoCiMgc2VuZCBubyBsYWJlbDogcmVjdiBubyBsYWJlbCAo YXV0byBvZmYpCiMgc2VudCB3aXRob3V0IGxhYmVsCiMgcmVjdiB3aXRob3V0IGxhYmVsCiMgc2Vu ZCBsYWJlbAojIHNlbnQgd2l0aCBsYWJlbCAxCiMgcmVjdiB3aXRoIGxhYmVsIDEKIyBURVNUIGRh dGFwYXRoICh3aXRoIGF1dG8tZmxvd2xhYmVscykKIyBzZW5kIG5vIGxhYmVsOiByZWN2IGF1dG8g Zmxvd2xhYmVsCiMgc2VudCB3aXRob3V0IGxhYmVsCiMgcmVjdiB3aXRoIGxhYmVsIDE3NzMyNQoj IHNlbmQgbGFiZWwKIyBzZW50IHdpdGggbGFiZWwgMQojIHJlY3Ygd2l0aCBsYWJlbCAxCiMgT0su IEFsbCB0ZXN0cyBwYXNzZWQKb2sgMjggc2VsZnRlc3RzOiBuZXQ6IGlwdjZfZmxvd2xhYmVsLnNo CiMgc2VsZnRlc3RzOiBuZXQ6IHRjcF9mYXN0b3Blbl9iYWNrdXBfa2V5LnNoCiMgUEFTUwojIFBB U1MKIyBQQVNTCiMgUEFTUwojIFBBU1MKIyBQQVNTCiMgUEFTUwojIFBBU1MKIyBQQVNTCiMgUEFT UwojIFBBU1MKIyBQQVNTCiMgUEFTUwojIFBBU1MKIyBQQVNTCiMgUEFTUwojIGFsbCB0ZXN0cyBk b25lCm9rIDI5IHNlbGZ0ZXN0czogbmV0OiB0Y3BfZmFzdG9wZW5fYmFja3VwX2tleS5zaAojIHNl bGZ0ZXN0czogbmV0OiBmY25hbC10ZXN0LnNoCiMgJ25ldHRlc3QnIGNvbW1hbmQgbm90IGZvdW5k OyBza2lwcGluZyB0ZXN0cwpvayAzMCBzZWxmdGVzdHM6IG5ldDogZmNuYWwtdGVzdC5zaAojIHNl bGZ0ZXN0czogbmV0OiB0cmFjZXJvdXRlLnNoCiMgU0tJUDogQ291bGQgbm90IHJ1biBJUFY2IHRl c3Qgd2l0aG91dCB0cmFjZXJvdXRlNgojIFNLSVA6IENvdWxkIG5vdCBydW4gSVBWNCB0ZXN0IHdp dGhvdXQgdHJhY2Vyb3V0ZQojIAojIFRlc3RzIHBhc3NlZDogICAwCiMgVGVzdHMgZmFpbGVkOiAg IDAKb2sgMzEgc2VsZnRlc3RzOiBuZXQ6IHRyYWNlcm91dGUuc2gKIyBzZWxmdGVzdHM6IG5ldDog ZmluX2Fja19sYXQuc2gKIyBzZXJ2ZXIgcG9ydDogNTk5MDEKIyB0ZXN0IGRvbmUKb2sgMzIgc2Vs ZnRlc3RzOiBuZXQ6IGZpbl9hY2tfbGF0LnNoCiMgc2VsZnRlc3RzOiBuZXQ6IGZpYl9uZXh0aG9w X211bHRpcHJlZml4LnNoCiMgVEVTVDogSVB2NDogaG9zdCAwIHRvIGhvc3QgMSwgbXR1IDEzMDAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2OiBob3N0IDAg dG8gaG9zdCAxLCBtdHUgMTMwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGQUlMXQoj IAojIFRFU1Q6IElQdjQ6IGhvc3QgMCB0byBob3N0IDIsIG10dSAxMzUwICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NjogaG9zdCAwIHRvIGhvc3QgMiwgbXR1 IDEzNTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRkFJTF0KIyAKIyBURVNUOiBJUHY0 OiBob3N0IDAgdG8gaG9zdCAzLCBtdHUgMTQwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsgT0sgXQojIFRFU1Q6IElQdjY6IGhvc3QgMCB0byBob3N0IDMsIG10dSAxNDAwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgCiMgVEVTVDogSVB2NDogaG9zdCAwIHRvIGhv c3QgMSwgbXR1IDEzMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNU OiBJUHY2OiBob3N0IDAgdG8gaG9zdCAxLCBtdHUgMTMwMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFtGQUlMXQojIAojIFRFU1Q6IElQdjQ6IGhvc3QgMCB0byBob3N0IDIsIG10dSAxMzUw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NjogaG9zdCAw IHRvIGhvc3QgMiwgbXR1IDEzNTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRkFJTF0K IyAKIyBURVNUOiBJUHY0OiBob3N0IDAgdG8gaG9zdCAzLCBtdHUgMTQwMCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IGhvc3QgMCB0byBob3N0IDMsIG10 dSAxNDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCm9rIDMzIHNlbGZ0ZXN0 czogbmV0OiBmaWJfbmV4dGhvcF9tdWx0aXByZWZpeC5zaAojIHNlbGZ0ZXN0czogbmV0OiBmaWJf bmV4dGhvcHMuc2gKIyAKIyBCYXNpYyBmdW5jdGlvbmFsIHRlc3RzCiMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIFRFU1Q6IExpc3Qgd2l0aCBub3RoaW5nIGRlZmluZWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogTmV4dGhvcCBnZXQgb24gbm9uLWV4 aXN0ZW50IGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBO ZXh0aG9wIHdpdGggbm8gZGV2aWNlIG9yIGdhdGV3YXkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3Agd2l0aCBkb3duIGRldmljZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogTmV4dGhvcCB3aXRoIGRldmlj ZSB0aGF0IGlzIGxpbmtkb3duICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNU OiBOZXh0aG9wIHdpdGggZGV2aWNlIG9ubHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3Agd2l0aCBkdXBsaWNhdGUgaWQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogQmxhY2tob2xlIG5leHRo b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBU RVNUOiBCbGFja2hvbGUgbmV4dGhvcCB3aXRoIG90aGVyIGF0dHJpYnV0ZXMgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEJsYWNraG9sZSBuZXh0aG9wIHdpdGggbG9vcGJhY2sg ZGV2aWNlIGRvd24gICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogQ3JlYXRlIGdyb3Vw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyBURVNUOiBDcmVhdGUgZ3JvdXAgd2l0aCBibGFja2hvbGUgbmV4dGhvcCAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IENyZWF0ZSBtdWx0aXBhdGggZ3JvdXAgd2hlcmUg MSBwYXRoIGlzIGEgYmxhY2tob2xlICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogTXVsdGlwYXRo IGdyb3VwIGNhbiBub3QgaGF2ZSBhIG1lbWJlciByZXBsYWNlZCBieSBibGFja2hvbGUgICBbIE9L IF0KIyBURVNUOiBDcmVhdGUgZ3JvdXAgd2l0aCBub24tZXhpc3RlbnQgbmV4dGhvcCAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IENyZWF0ZSBncm91cCB3aXRoIHNhbWUgbmV4 dGhvcCBtdWx0aXBsZSB0aW1lcyAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUmVwbGFj ZSBuZXh0aG9wIHdpdGggbmV4dGhvcCBncm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBSZXBsYWNlIG5leHRob3AgZ3JvdXAgd2l0aCBuZXh0aG9wICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3AgZ3JvdXAgYW5kIGRldmlj ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogVGVz dCBwcm90byBmbHVzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wIGdyb3VwIGFuZCBibGFja2hvbGUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojIElQdjQgZnVuY3Rpb25hbAojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBDcmVhdGUgbmV4dGhvcCB3aXRoIGlkLCBndywgZGV2 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEdldCBuZXh0aG9w IGJ5IGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBd CiMgVEVTVDogRGVsZXRlIG5leHRob3AgYnkgaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBDcmVhdGUgbmV4dGhvcCAtIGd3IG9ubHkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IENyZWF0ZSBu ZXh0aG9wIC0gaW52YWxpZCBndytkZXYgY29tYmluYXRpb24gICAgICAgICAgICAgICAgICAgWyBP SyBdCiMgVEVTVDogQ3JlYXRlIG5leHRob3AgLSBndytkZXYgYW5kIG9ubGluayAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wcyByZW1vdmVkIG9uIGFkbWlu IGRvd24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojIElQdjQgZ3Jv dXBzIGZ1bmN0aW9uYWwKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVEVTVDogQ3JlYXRlIG5l eHRob3AgZ3JvdXAgd2l0aCBzaW5nbGUgbmV4dGhvcCAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyBURVNUOiBHZXQgbmV4dGhvcCBncm91cCBieSBpZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IERlbGV0ZSBuZXh0aG9wIGdyb3VwIGJ5IGlk ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogTmV4dGhv cCBncm91cCB3aXRoIG11bHRpcGxlIG5leHRob3BzICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBOZXh0aG9wIGdyb3VwIHVwZGF0ZWQgd2hlbiBlbnRyeSBpcyBkZWxldGVk ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3AgZ3JvdXAgd2l0aCB3ZWln aHRlZCBuZXh0aG9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogV2Vp Z2h0ZWQgbmV4dGhvcCBncm91cCB1cGRhdGVkIHdoZW4gZW50cnkgaXMgZGVsZXRlZCAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wcyBpbiBncm91cHMgcmVtb3ZlZCBvbiBhZG1pbiBkb3du ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE11bHRpcGxlIGdyb3VwcyB3aXRo IHNhbWUgbmV4dGhvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDog TmV4dGhvcHMgaW4gZ3JvdXAgcmVtb3ZlZCBvbiBhZG1pbiBkb3duIC0gbWl4ZWQgZ3JvdXAgICAg ICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wIGdyb3VwIGNhbiBub3QgaGF2ZSBhIGdyb3VwIGFz IGFuIGVudHJ5ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3AgZ3JvdXAgd2l0 aCBhIGJsYWNraG9sZSBlbnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVT VDogTmV4dGhvcCBncm91cCBjYW4gbm90IGhhdmUgYSBibGFja2hvbGUgYW5kIGFub3RoZXIgbmV4 dGhvcCAgICBbIE9LIF0KIyBURVNUOiBJUHY2IG5leHRob3Agd2l0aCBJUHY0IHJvdXRlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgbmV4dGhvcCB3 aXRoIElQdjQgcm91dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg VEVTVDogSVB2NCByb3V0ZSB3aXRoIElQdjYgZ2F0ZXdheSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IHJvdXRlIHdpdGggaW52YWxpZCBJUHY2IGdh dGV3YXkgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojIElQdjQgZnVuY3Rpb25h bCBydW50aW1lCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBSb3V0ZSBhZGQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IFJvdXRlIGRlbGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUm91dGUgYWRkIC0gc2NvcGUgY29uZmxpY3Qgd2l0 aCBuZXh0aG9wICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wIHJl cGxhY2Ugd2l0aCBpbnZhbGlkIHNjb3BlIGZvciBleGlzdGluZyByb3V0ZSAgICAgICAgIFsgT0sg XQojIFRFU1Q6IEJhc2ljIHBpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyAtIG11bHRpcGF0aCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBQaW5nIC0g bXVsdGlwbGUgZGVmYXVsdCByb3V0ZXMsIG5oIGZpcnN0ICAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojIFRFU1Q6IFBpbmcgLSBtdWx0aXBsZSBkZWZhdWx0IHJvdXRlcywgbmggc2Vjb25kICAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyAtIGJsYWNraG9sZSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBQaW5n IC0gYmxhY2tob2xlIHJlcGxhY2VkIHdpdGggZ2F0ZXdheSAgICAgICAgICAgICAgICAgICAgICAg IFsgT0sgXQojIFRFU1Q6IFBpbmcgLSBnYXRld2F5IHJlcGxhY2VkIGJ5IGJsYWNraG9sZSAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyAtIGdyb3VwIHdpdGggYmxh Y2tob2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBQ aW5nIC0gZ3JvdXAgYmxhY2tob2xlIHJlcGxhY2VkIHdpdGggZ2F0ZXdheXMgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IElQdjQgcm91dGUgd2l0aCBkZXZpY2Ugb25seSBuZXh0aG9wICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBtdWx0aXBhdGggcm91 dGUgd2l0aCBuZXh0aG9wIG1peCAtIGRldiBvbmx5ICsgZ3cgICAgICAgICBbIE9LIF0KIyBURVNU OiBJUHY2IG5leHRob3Agd2l0aCBJUHY0IHJvdXRlICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjQgcm91dGUgd2l0aCBtaXhlZCB2NC12NiBtdWx0aXBh dGggcm91dGUgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBuZXh0aG9wIHdp dGggSVB2NCByb3V0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBU RVNUOiBJUHY0IHJvdXRlIHdpdGggSVB2NiBnYXRld2F5ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjQgZGVmYXVsdCByb3V0ZSB3aXRoIElQdjYgZ2F0 ZXdheSAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCByb3V0ZSB3 aXRoIE1QTFMgZW5jYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyBURVNUOiBJUHY0IHJvdXRlIHdpdGggTVBMUyBlbmNhcCAtIGNoZWNrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjQgcm91dGUgd2l0aCBNUExTIGVuY2FwIGFu ZCB2NiBnYXRld2F5ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCByb3V0 ZSB3aXRoIE1QTFMgZW5jYXAsIHY2IGd3IC0gY2hlY2sgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyAKIyBJUHY0IGxhcmdlIGdyb3VwcyAoeDMyKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IFRFU1Q6IER1bXAgbGFyZ2UgKHgzMikgZWNtcCBncm91cHMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgCiMgSVB2NCBuZXh0aG9wIGFwaSBjb21wYXQgbW9kZQojIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBJUHY0IGRlZmF1bHQgbmV4dGhvcCBj b21wYXQgbW9kZSBjaGVjayAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQ djQgY29tcGF0IG1vZGUgb24gLSByb3V0ZSBhZGQgbm90aWZpY2F0aW9uICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgVEVTVDogSVB2NCBjb21wYXQgbW9kZSBvbiAtIHJvdXRlIGR1bXAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IGNvbXBhdCBtb2RlIG9u IC0gbmV4dGhvcCBjaGFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6 IElQdjQgc2V0IGNvbXBhdCBtb2RlIC0gMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBjb21wYXQgbW9kZSBvZmYgLSByb3V0ZSBhZGQgbm90 aWZpY2F0aW9uICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IGNvbXBhdCBtb2Rl IG9mZiAtIHJvdXRlIGR1bXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRF U1Q6IElQdjQgY29tcGF0IG1vZGUgb2ZmIC0gbmV4dGhvcCBjaGFuZ2UgICAgICAgICAgICAgICAg ICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NCBjb21wYXQgbW9kZSBvZmYgLSBuZXh0aG9wIGRl bGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IHNldCBjb21w YXQgbW9kZSAtIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IAojIElQdjQgZmRiIGdyb3VwcyBmdW5jdGlvbmFsCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIyBURVNUOiBGZGIgTmV4dGhvcCBncm91cCB3aXRoIG11bHRpcGxlIG5leHRob3BzICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEdldCBGZGIgbmV4dGhvcCBncm91cCBieSBp ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogRmRiIE5l eHRob3AgZ3JvdXAgd2l0aCBub24tZmRiIG5leHRob3BzICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBOb24tRmRiIE5leHRob3AgZ3JvdXAgd2l0aCBmZGIgbmV4dGhvcHMgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEZkYiBOZXh0aG9wIHdpdGggYmxhY2to b2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogRmRi IE5leHRob3Agd2l0aCBvaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBGZGIgTmV4dGhvcCB3aXRoIG9ubGluayAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEZkYiBOZXh0aG9wIHdpdGggZW5j YXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDog RmRiIG1hYyBhZGQgd2l0aCBuZXh0aG9wIGdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyBURVNUOiBGZGIgbWFjIGFkZCB3aXRoIG5leHRob3AgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFJvdXRlIGFkZCB3aXRoIGZk YiBuZXh0aG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVT VDogUm91dGUgYWRkIHdpdGggZmRiIG5leHRob3AgZ3JvdXAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyBURVNUOiBGZGIgZW50cnkgYWZ0ZXIgZGVsZXRpbmcgYSBzaW5nbGUg bmV4dGhvcCAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEZkYiBuZXh0aG9wIGRl bGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg VEVTVDogRmRiIGVudHJ5IGFmdGVyIGRlbGV0aW5nIGEgbmV4dGhvcCBncm91cCAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyAKIyBJUHY0IHJ1bnRpbWUgdG9ydHVyZQojIC0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgU0tJUDogQ291bGQgbm90IHJ1biB0ZXN0OyBuZWVkIG1hdXNlemFobiB0b29s CiMgCiMgSVB2NgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBDcmVhdGUgbmV4dGhv cCB3aXRoIGlkLCBndywgZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IEdldCBuZXh0aG9wIGJ5IGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogRGVsZXRlIG5leHRob3AgYnkgaWQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBDcmVhdGUgbmV4 dGhvcCAtIGd3IG9ubHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojIFRFU1Q6IENyZWF0ZSBuZXh0aG9wIC0gaW52YWxpZCBndytkZXYgY29tYmluYXRpb24gICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogQ3JlYXRlIG5leHRob3AgLSBndytkZXYgYW5k IG9ubGluayAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9w cyByZW1vdmVkIG9uIGFkbWluIGRvd24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojIAojIElQdjYgZ3JvdXBzIGZ1bmN0aW9uYWwKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiMgVEVTVDogQ3JlYXRlIG5leHRob3AgZ3JvdXAgd2l0aCBzaW5nbGUgbmV4dGhvcCAgICAgICAg ICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBHZXQgbmV4dGhvcCBncm91cCBieSBpZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IERlbGV0ZSBu ZXh0aG9wIGdyb3VwIGJ5IGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBP SyBdCiMgVEVTVDogTmV4dGhvcCBncm91cCB3aXRoIG11bHRpcGxlIG5leHRob3BzICAgICAgICAg ICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wIGdyb3VwIHVwZGF0ZWQgd2hl biBlbnRyeSBpcyBkZWxldGVkICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRo b3AgZ3JvdXAgd2l0aCB3ZWlnaHRlZCBuZXh0aG9wcyAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgVEVTVDogV2VpZ2h0ZWQgbmV4dGhvcCBncm91cCB1cGRhdGVkIHdoZW4gZW50cnkg aXMgZGVsZXRlZCAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wcyBpbiBncm91cHMgcmVt b3ZlZCBvbiBhZG1pbiBkb3duICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE11 bHRpcGxlIGdyb3VwcyB3aXRoIHNhbWUgbmV4dGhvcCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgVEVTVDogTmV4dGhvcHMgaW4gZ3JvdXAgcmVtb3ZlZCBvbiBhZG1pbiBkb3du IC0gbWl4ZWQgZ3JvdXAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOZXh0aG9wIGdyb3VwIGNhbiBu b3QgaGF2ZSBhIGdyb3VwIGFzIGFuIGVudHJ5ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6 IE5leHRob3AgZ3JvdXAgd2l0aCBhIGJsYWNraG9sZSBlbnRyeSAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgVEVTVDogTmV4dGhvcCBncm91cCBjYW4gbm90IGhhdmUgYSBibGFja2hv bGUgYW5kIGFub3RoZXIgbmV4dGhvcCAgICBbIE9LIF0KIyAKIyBJUHY2IGZ1bmN0aW9uYWwgcnVu dGltZQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVEVTVDogUm91dGUgYWRkICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNU OiBSb3V0ZSBkZWxldGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IFBpbmcgd2l0aCBuZXh0aG9wICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyAtIG11bHRpcGF0 aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBU RVNUOiBQaW5nIC0gYmxhY2tob2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFBpbmcgLSBibGFja2hvbGUgcmVwbGFjZWQgd2l0aCBn YXRld2F5ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyAtIGdhdGV3 YXkgcmVwbGFjZWQgYnkgYmxhY2tob2xlICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyBURVNUOiBQaW5nIC0gZ3JvdXAgd2l0aCBibGFja2hvbGUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFBpbmcgLSBncm91cCBibGFja2hvbGUgcmVwbGFj ZWQgd2l0aCBnYXRld2F5cyAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiByb3V0 ZSB3aXRoIGRldmljZSBvbmx5IG5leHRob3AgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyBURVNUOiBJUHY2IG11bHRpcGF0aCByb3V0ZSB3aXRoIG5leHRob3AgbWl4IC0gZGV2IG9u bHkgKyBndyAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgcm91dGUgY2FuIG5vdCBoYXZlIGEg djQgZ2F0ZXdheSAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogTmV4dGhv cCByZXBsYWNlIC0gdjYgcm91dGUsIHY0IG5leHRob3AgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBOZXh0aG9wIHJlcGxhY2Ugb2YgZ3JvdXAgZW50cnkgLSB2NiByb3V0ZSwg djQgbmV4dGhvcCAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgcm91dGUgY2FuIG5vdCBoYXZl IGEgZ3JvdXAgd2l0aCB2NCBhbmQgdjYgZ2F0ZXdheXMgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2 NiByb3V0ZSBjYW4gbm90IGhhdmUgYSBncm91cCB3aXRoIHY0IGFuZCB2NiBnYXRld2F5cyAgICAg ICBbIE9LIF0KIyBURVNUOiBJUHY2IHJvdXRlIHVzaW5nIGEgZ3JvdXAgYWZ0ZXIgcmVtb3Zpbmcg djQgZ2F0ZXdheXMgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgcm91dGUgY2FuIG5vdCBo YXZlIGEgZ3JvdXAgd2l0aCB2NCBhbmQgdjYgZ2F0ZXdheXMgICAgICAgWyBPSyBdCiMgVEVTVDog SVB2NiByb3V0ZSBjYW4gbm90IGhhdmUgYSBncm91cCB3aXRoIHY0IGFuZCB2NiBnYXRld2F5cyAg ICAgICBbIE9LIF0KIyBURVNUOiBJUHY2IHJvdXRlIHVzaW5nIGEgZ3JvdXAgYWZ0ZXIgcmVwbGFj aW5nIHY0IGdhdGV3YXlzICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IE5leHRob3Agd2l0aCBkZWZh dWx0IHJvdXRlIGFuZCBycGZpbHRlciAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVT VDogTmV4dGhvcCB3aXRoIG11bHRpcGF0aCBkZWZhdWx0IHJvdXRlIGFuZCBycGZpbHRlciAgICAg ICAgICAgICBbIE9LIF0KIyAKIyBJUHY2IGxhcmdlIGdyb3VwcyAoeDMyKQojIC0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIFRFU1Q6IER1bXAgbGFyZ2UgKHgzMikgZWNtcCBncm91cHMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgCiMgSVB2NiBuZXh0aG9wIGFwaSBjb21w YXQgbW9kZSB0ZXN0CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBJ UHY2IGRlZmF1bHQgbmV4dGhvcCBjb21wYXQgbW9kZSBjaGVjayAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgY29tcGF0IG1vZGUgb24gLSByb3V0ZSBhZGQgbm90aWZp Y2F0aW9uICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBjb21wYXQgbW9kZSBv biAtIHJvdXRlIGR1bXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNU OiBJUHY2IGNvbXBhdCBtb2RlIG9uIC0gbmV4dGhvcCBjaGFuZ2UgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgc2V0IGNvbXBhdCBtb2RlIC0gMCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBjb21wYXQgbW9k ZSBvZmYgLSByb3V0ZSBhZGQgbm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICBbIE9LIF0KIyBU RVNUOiBJUHY2IGNvbXBhdCBtb2RlIG9mZiAtIHJvdXRlIGR1bXAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgY29tcGF0IG1vZGUgb2ZmIC0gbmV4dGhvcCBj aGFuZ2UgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBjb21wYXQg bW9kZSBvZmYgLSBuZXh0aG9wIGRlbGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyBURVNUOiBJUHY2IHNldCBjb21wYXQgbW9kZSAtIDEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsgT0sgXQojIAojIElQdjYgZmRiIGdyb3VwcyBmdW5jdGlvbmFsCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBURVNUOiBGZGIgTmV4dGhvcCBncm91cCB3aXRoIG11 bHRpcGxlIG5leHRob3BzICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEdldCBG ZGIgbmV4dGhvcCBncm91cCBieSBpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgVEVTVDogRmRiIE5leHRob3AgZ3JvdXAgd2l0aCBub24tZmRiIG5leHRob3BzICAg ICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBOb24tRmRiIE5leHRob3AgZ3JvdXAg d2l0aCBmZGIgbmV4dGhvcHMgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IEZk YiBOZXh0aG9wIHdpdGggYmxhY2tob2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgVEVTVDogRmRiIE5leHRob3Agd2l0aCBvaWYgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBGZGIgTmV4dGhvcCB3aXRoIG9u bGluayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6 IEZkYiBOZXh0aG9wIHdpdGggZW5jYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgVEVTVDogRmRiIG1hYyBhZGQgd2l0aCBuZXh0aG9wIGdyb3VwICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBGZGIgbWFjIGFkZCB3aXRo IG5leHRob3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRF U1Q6IFJvdXRlIGFkZCB3aXRoIGZkYiBuZXh0aG9wICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyBPSyBdCiMgVEVTVDogUm91dGUgYWRkIHdpdGggZmRiIG5leHRob3AgZ3JvdXAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBGZGIgZW50cnkgYWZ0 ZXIgZGVsZXRpbmcgYSBzaW5nbGUgbmV4dGhvcCAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IEZkYiBuZXh0aG9wIGRlbGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogRmRiIGVudHJ5IGFmdGVyIGRlbGV0aW5nIGEgbmV4 dGhvcCBncm91cCAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyBJUHY2IHJ1bnRpbWUg dG9ydHVyZQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU0tJUDogQ291bGQgbm90IHJ1biB0ZXN0 OyBuZWVkIG1hdXNlemFobiB0b29sCiMgCiMgVGVzdHMgcGFzc2VkOiAxNjMKIyBUZXN0cyBmYWls ZWQ6ICAgMApvayAzNCBzZWxmdGVzdHM6IG5ldDogZmliX25leHRob3BzLnNoCiMgc2VsZnRlc3Rz OiBuZXQ6IGFsdG5hbWVzLnNoCiMgU0tJUDoganEgbm90IGluc3RhbGxlZApub3Qgb2sgMzUgc2Vs ZnRlc3RzOiBuZXQ6IGFsdG5hbWVzLnNoICMgZXhpdD0xCiMgc2VsZnRlc3RzOiBuZXQ6IGljbXBf cmVkaXJlY3Quc2gKIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBMZWdhY3kgcm91dGluZwojICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIAojIFRFU1Q6IElQdjQ6IHJlZGlyZWN0IGV4Y2VwdGlvbiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NjogcmVk aXJlY3QgZXhjZXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRkFJ TF0KIyBURVNUOiBJUHY0OiByZWRpcmVjdCBleGNlcHRpb24gcGx1cyBtdHUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IHJlZGlyZWN0IGV4Y2VwdGlvbiBw bHVzIG10dSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgVEVTVDogSVB2NDog cm91dGluZyByZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBJUHY2OiByb3V0aW5nIHJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjQ6IG10dSBleGNlcHRpb24gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2 NjogbXR1IGV4Y2VwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBJUHY0OiBtdHUgZXhjZXB0aW9uIHBsdXMgcmVkaXJlY3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IG10dSBleGNlcHRpb24g cGx1cyByZWRpcmVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgCiMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiMgTGVnYWN5IHJvdXRpbmcgd2l0aCBWUkYKIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyAKIyBURVNUOiBJUHY0OiByZWRpcmVjdCBleGNlcHRpb24gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IHJlZGlyZWN0IGV4Y2Vw dGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgVEVTVDog SVB2NDogcmVkaXJlY3QgZXhjZXB0aW9uIHBsdXMgbXR1ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyBURVNUOiBJUHY2OiByZWRpcmVjdCBleGNlcHRpb24gcGx1cyBtdHUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFtGQUlMXQojIFRFU1Q6IElQdjQ6IHJvdXRpbmcgcmVz ZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVT VDogSVB2Njogcm91dGluZyByZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0OiBtdHUgZXhjZXB0aW9uICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IG10dSBleGNl cHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMg VEVTVDogSVB2NDogbXR1IGV4Y2VwdGlvbiBwbHVzIHJlZGlyZWN0ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2OiBtdHUgZXhjZXB0aW9uIHBsdXMgcmVkaXJl Y3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtGQUlMXQojIAojICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwojIFJvdXRpbmcgd2l0aCBuZXh0aG9wIG9iamVjdHMKIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IyAKIyBURVNUOiBJUHY0OiByZWRpcmVjdCBleGNlcHRpb24gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IHJlZGlyZWN0IGV4Y2VwdGlvbiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgVEVTVDogSVB2NDog cmVkaXJlY3QgZXhjZXB0aW9uIHBsdXMgbXR1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBJUHY2OiByZWRpcmVjdCBleGNlcHRpb24gcGx1cyBtdHUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFtGQUlMXQojIFRFU1Q6IElQdjQ6IHJvdXRpbmcgcmVzZXQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2 Njogcm91dGluZyByZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBJUHY0OiBtdHUgZXhjZXB0aW9uICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IG10dSBleGNlcHRpb24g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDog SVB2NDogbXR1IGV4Y2VwdGlvbiBwbHVzIHJlZGlyZWN0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbIE9LIF0KIyBURVNUOiBJUHY2OiBtdHUgZXhjZXB0aW9uIHBsdXMgcmVkaXJlY3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFtGQUlMXQojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IFJvdXRpbmcgd2l0aCBuZXh0aG9wIG9iamVjdHMgYW5kIFZSRgojICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIAojIFRFU1Q6IElQdjQ6IHJlZGlyZWN0IGV4Y2VwdGlvbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NjogcmVkaXJlY3QgZXhjZXB0aW9u ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbRkFJTF0KIyBURVNUOiBJUHY0 OiByZWRpcmVjdCBleGNlcHRpb24gcGx1cyBtdHUgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsgT0sgXQojIFRFU1Q6IElQdjY6IHJlZGlyZWN0IGV4Y2VwdGlvbiBwbHVzIG10dSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgVEVTVDogSVB2NDogcm91dGluZyByZXNldCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJ UHY2OiByb3V0aW5nIHJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IElQdjQ6IG10dSBleGNlcHRpb24gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NjogbXR1IGV4Y2VwdGlv biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNU OiBJUHY0OiBtdHUgZXhjZXB0aW9uIHBsdXMgcmVkaXJlY3QgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjY6IG10dSBleGNlcHRpb24gcGx1cyByZWRpcmVjdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgCiMgVGVzdHMgcGFzc2VkOiAgMjgK IyBUZXN0cyBmYWlsZWQ6ICAxMgpub3Qgb2sgMzYgc2VsZnRlc3RzOiBuZXQ6IGljbXBfcmVkaXJl Y3Quc2ggIyBleGl0PTEKIyBzZWxmdGVzdHM6IG5ldDogaXA2X2dyZV9oZWFkcm9vbS5zaAojIFRF U1Q6IGlwNmdyZXRhcCBoZWFkcm9vbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgW1BBU1NdCiMgVEVTVDogaXA2ZXJzcGFuIGhlYWRyb29tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbUEFTU10Kb2sgMzcgc2VsZnRlc3RzOiBuZXQ6 IGlwNl9ncmVfaGVhZHJvb20uc2gKIyBzZWxmdGVzdHM6IG5ldDogcm91dGVfbG9jYWxuZXQuc2gK IyBydW4gYXJwX2Fubm91bmNlIHRlc3QKIyBuZXQuaXB2NC5jb25mLnZldGgwLnJvdXRlX2xvY2Fs bmV0ID0gMQojIG5ldC5pcHY0LmNvbmYudmV0aDEucm91dGVfbG9jYWxuZXQgPSAxCiMgbmV0Lmlw djQuY29uZi52ZXRoMC5hcnBfYW5ub3VuY2UgPSAyCiMgbmV0LmlwdjQuY29uZi52ZXRoMS5hcnBf YW5ub3VuY2UgPSAyCiMgUElORyAxMjcuMjUuMy4xNCAoMTI3LjI1LjMuMTQpIGZyb20gMTI3LjI1 LjMuNCB2ZXRoMDogNTYoODQpIGJ5dGVzIG9mIGRhdGEuCiMgNjQgYnl0ZXMgZnJvbSAxMjcuMjUu My4xNDogaWNtcF9zZXE9MSB0dGw9NjQgdGltZT0wLjA2NiBtcwojIDY0IGJ5dGVzIGZyb20gMTI3 LjI1LjMuMTQ6IGljbXBfc2VxPTIgdHRsPTY0IHRpbWU9MC4wNTIgbXMKIyA2NCBieXRlcyBmcm9t IDEyNy4yNS4zLjE0OiBpY21wX3NlcT0zIHR0bD02NCB0aW1lPTAuMDQ1IG1zCiMgNjQgYnl0ZXMg ZnJvbSAxMjcuMjUuMy4xNDogaWNtcF9zZXE9NCB0dGw9NjQgdGltZT0wLjA0NCBtcwojIDY0IGJ5 dGVzIGZyb20gMTI3LjI1LjMuMTQ6IGljbXBfc2VxPTUgdHRsPTY0IHRpbWU9MC4wNDYgbXMKIyAK IyAtLS0gMTI3LjI1LjMuMTQgcGluZyBzdGF0aXN0aWNzIC0tLQojIDUgcGFja2V0cyB0cmFuc21p dHRlZCwgNSByZWNlaXZlZCwgMCUgcGFja2V0IGxvc3MsIHRpbWUgMTM4bXMKIyBydHQgbWluL2F2 Zy9tYXgvbWRldiA9IDAuMDQ0LzAuMDUwLzAuMDY2LzAuMDExIG1zCiMgb2sKIyBydW4gYXJwX2ln bm9yZSB0ZXN0CiMgbmV0LmlwdjQuY29uZi52ZXRoMC5yb3V0ZV9sb2NhbG5ldCA9IDEKIyBuZXQu aXB2NC5jb25mLnZldGgxLnJvdXRlX2xvY2FsbmV0ID0gMQojIG5ldC5pcHY0LmNvbmYudmV0aDAu YXJwX2lnbm9yZSA9IDMKIyBuZXQuaXB2NC5jb25mLnZldGgxLmFycF9pZ25vcmUgPSAzCiMgUElO RyAxMjcuMjUuMy4xNCAoMTI3LjI1LjMuMTQpIGZyb20gMTI3LjI1LjMuNCB2ZXRoMDogNTYoODQp IGJ5dGVzIG9mIGRhdGEuCiMgNjQgYnl0ZXMgZnJvbSAxMjcuMjUuMy4xNDogaWNtcF9zZXE9MSB0 dGw9NjQgdGltZT0wLjA3MCBtcwojIDY0IGJ5dGVzIGZyb20gMTI3LjI1LjMuMTQ6IGljbXBfc2Vx PTIgdHRsPTY0IHRpbWU9MC4wNDYgbXMKIyA2NCBieXRlcyBmcm9tIDEyNy4yNS4zLjE0OiBpY21w X3NlcT0zIHR0bD02NCB0aW1lPTAuMDQ3IG1zCiMgNjQgYnl0ZXMgZnJvbSAxMjcuMjUuMy4xNDog aWNtcF9zZXE9NCB0dGw9NjQgdGltZT0wLjA0NSBtcwojIDY0IGJ5dGVzIGZyb20gMTI3LjI1LjMu MTQ6IGljbXBfc2VxPTUgdHRsPTY0IHRpbWU9MC4wNTUgbXMKIyAKIyAtLS0gMTI3LjI1LjMuMTQg cGluZyBzdGF0aXN0aWNzIC0tLQojIDUgcGFja2V0cyB0cmFuc21pdHRlZCwgNSByZWNlaXZlZCwg MCUgcGFja2V0IGxvc3MsIHRpbWUgMTIzbXMKIyBydHQgbWluL2F2Zy9tYXgvbWRldiA9IDAuMDQ1 LzAuMDUyLzAuMDcwLzAuMDEyIG1zCiMgb2sKb2sgMzggc2VsZnRlc3RzOiBuZXQ6IHJvdXRlX2xv Y2FsbmV0LnNoCiMgc2VsZnRlc3RzOiBuZXQ6IHJldXNlYWRkcl9wb3J0c19leGhhdXN0ZWQuc2gK IyBUQVAgdmVyc2lvbiAxMwojIDEuLjMKIyAjIFN0YXJ0aW5nIDMgdGVzdHMgZnJvbSAxIHRlc3Qg Y2FzZXMuCiMgIyAgUlVOICAgICAgICAgICBnbG9iYWwucmV1c2VhZGRyX3BvcnRzX2V4aGF1c3Rl ZF91bnJldXNhYmxlIC4uLgojICMgICAgICAgICAgICBPSyAgZ2xvYmFsLnJldXNlYWRkcl9wb3J0 c19leGhhdXN0ZWRfdW5yZXVzYWJsZQojIG9rIDEgZ2xvYmFsLnJldXNlYWRkcl9wb3J0c19leGhh dXN0ZWRfdW5yZXVzYWJsZQojICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLnJldXNlYWRkcl9wb3J0 c19leGhhdXN0ZWRfcmV1c2FibGVfc2FtZV9ldWlkIC4uLgojICMgICAgICAgICAgICBPSyAgZ2xv YmFsLnJldXNlYWRkcl9wb3J0c19leGhhdXN0ZWRfcmV1c2FibGVfc2FtZV9ldWlkCiMgb2sgMiBn bG9iYWwucmV1c2VhZGRyX3BvcnRzX2V4aGF1c3RlZF9yZXVzYWJsZV9zYW1lX2V1aWQKIyAjICBS VU4gICAgICAgICAgIGdsb2JhbC5yZXVzZWFkZHJfcG9ydHNfZXhoYXVzdGVkX3JldXNhYmxlX2Rp ZmZlcmVudF9ldWlkIC4uLgojICMgICAgICAgICAgICBPSyAgZ2xvYmFsLnJldXNlYWRkcl9wb3J0 c19leGhhdXN0ZWRfcmV1c2FibGVfZGlmZmVyZW50X2V1aWQKIyBvayAzIGdsb2JhbC5yZXVzZWFk ZHJfcG9ydHNfZXhoYXVzdGVkX3JldXNhYmxlX2RpZmZlcmVudF9ldWlkCiMgIyBQQVNTRUQ6IDMg LyAzIHRlc3RzIHBhc3NlZC4KIyAjIFRvdGFsczogcGFzczozIGZhaWw6MCB4ZmFpbDowIHhwYXNz OjAgc2tpcDowIGVycm9yOjAKIyB0ZXN0cyBkb25lCm9rIDM5IHNlbGZ0ZXN0czogbmV0OiByZXVz ZWFkZHJfcG9ydHNfZXhoYXVzdGVkLnNoCiMgc2VsZnRlc3RzOiBuZXQ6IHR4dGltZXN0YW1wLnNo CiMgcHJvdG9jb2w6ICAgICBUQ1AKIyBwYXlsb2FkOiAgICAgIDEwCiMgc2VydmVyIHBvcnQ6ICA5 MDAwCiMgCiMgZmFtaWx5OiAgICAgICBJTkVUIAojIHRlc3QgU05ECiMgICAgIFVTUjogMTYxODg1 NjI3NiBzIDM5OTA4MyB1cyAoc2VxPTAsIGxlbj0wKQojICAgICBTTkQ6IDE2MTg4NTYyNzYgcyA0 MDA1NTAgdXMgKHNlcT05LCBsZW49MTApICAoVVNSICsxNDY3IHVzKQojICAgICBVU1I6IDE2MTg4 NTYyNzYgcyA0NDkzMTcgdXMgKHNlcT0wLCBsZW49MCkKIyAgICAgU05EOiAxNjE4ODU2Mjc2IHMg NDUwMzM3IHVzIChzZXE9MTksIGxlbj0xMCkgIChVU1IgKzEwMTkgdXMpCiMgICAgIFVTUjogMTYx ODg1NjI3NiBzIDQ5OTQ3OCB1cyAoc2VxPTAsIGxlbj0wKQojICAgICBTTkQ6IDE2MTg4NTYyNzYg cyA1MDA1MzEgdXMgKHNlcT0yOSwgbGVuPTEwKSAgKFVTUiArMTA1MyB1cykKIyAgICAgVVNSOiAx NjE4ODU2Mjc2IHMgNTQ5NzY3IHVzIChzZXE9MCwgbGVuPTApCiMgICAgIFNORDogMTYxODg1NjI3 NiBzIDU1MDg0NyB1cyAoc2VxPTM5LCBsZW49MTApICAoVVNSICsxMDgwIHVzKQojICAgICBVU1It U05EOiBjb3VudD00LCBhdmc9MTE1NSB1cywgbWluPTEwMTkgdXMsIG1heD0xNDY3IHVzCiMgdGVz dCBFTlEKIyAgICAgVVNSOiAxNjE4ODU2Mjc2IHMgNzA2NzM4IHVzIChzZXE9MCwgbGVuPTApCiMg ICAgIEVOUTogMTYxODg1NjI3NiBzIDcwNjc5NiB1cyAoc2VxPTksIGxlbj0xMCkgIChVU1IgKzU3 IHVzKQojICAgICBVU1I6IDE2MTg4NTYyNzYgcyA3NTY5NTggdXMgKHNlcT0wLCBsZW49MCkKIyAg ICAgRU5ROiAxNjE4ODU2Mjc2IHMgNzU2OTcxIHVzIChzZXE9MTksIGxlbj0xMCkgIChVU1IgKzEz IHVzKQojICAgICBVU1I6IDE2MTg4NTYyNzYgcyA4MDcxOTcgdXMgKHNlcT0wLCBsZW49MCkKIyAg ICAgRU5ROiAxNjE4ODU2Mjc2IHMgODA3MjIyIHVzIChzZXE9MjksIGxlbj0xMCkgIChVU1IgKzI0 IHVzKQojICAgICBVU1I6IDE2MTg4NTYyNzYgcyA4NTc2MzIgdXMgKHNlcT0wLCBsZW49MCkKIyAg ICAgRU5ROiAxNjE4ODU2Mjc2IHMgODU3NjY3IHVzIChzZXE9MzksIGxlbj0xMCkgIChVU1IgKzM1 IHVzKQojICAgICBVU1ItRU5ROiBjb3VudD00LCBhdmc9MzIgdXMsIG1pbj0xMyB1cywgbWF4PTU3 IHVzCiMgdGVzdCBFTlEgKyBTTkQKIyAgICAgVVNSOiAxNjE4ODU2Mjc3IHMgMTkyMDIgdXMgKHNl cT0wLCBsZW49MCkKIyAgICAgRU5ROiAxNjE4ODU2Mjc3IHMgMTkyMzEgdXMgKHNlcT05LCBsZW49 MTApICAoVVNSICsyOCB1cykKIyAgICAgU05EOiAxNjE4ODU2Mjc3IHMgMjAyNTAgdXMgKHNlcT05 LCBsZW49MTApICAoVVNSICsxMDQ3IHVzKQojICAgICBVU1I6IDE2MTg4NTYyNzcgcyA2OTY4OSB1 cyAoc2VxPTAsIGxlbj0wKQojICAgICBFTlE6IDE2MTg4NTYyNzcgcyA2OTcxMCB1cyAoc2VxPTE5 LCBsZW49MTApICAoVVNSICsyMSB1cykKIyAgICAgU05EOiAxNjE4ODU2Mjc3IHMgNzA3NTYgdXMg KHNlcT0xOSwgbGVuPTEwKSAgKFVTUiArMTA2NiB1cykKIyAgICAgVVNSOiAxNjE4ODU2Mjc3IHMg MTIwMDU5IHVzIChzZXE9MCwgbGVuPTApCiMgICAgIEVOUTogMTYxODg1NjI3NyBzIDEyMDA5MyB1 cyAoc2VxPTI5LCBsZW49MTApICAoVVNSICszNCB1cykKIyAgICAgU05EOiAxNjE4ODU2Mjc3IHMg MTIxMTA1IHVzIChzZXE9MjksIGxlbj0xMCkgIChVU1IgKzEwNDYgdXMpCiMgICAgIFVTUjogMTYx ODg1NjI3NyBzIDE3MDQyMSB1cyAoc2VxPTAsIGxlbj0wKQojICAgICBFTlE6IDE2MTg4NTYyNzcg cyAxNzA0NDEgdXMgKHNlcT0zOSwgbGVuPTEwKSAgKFVTUiArMTkgdXMpCiMgICAgIFNORDogMTYx ODg1NjI3NyBzIDE3MTQ1MyB1cyAoc2VxPTM5LCBsZW49MTApICAoVVNSICsxMDMxIHVzKQojICAg ICBVU1ItRU5ROiBjb3VudD00LCBhdmc9MjUgdXMsIG1pbj0xOSB1cywgbWF4PTM0IHVzCiMgICAg IFVTUi1TTkQ6IGNvdW50PTQsIGF2Zz0xMDQ3IHVzLCBtaW49MTAzMSB1cywgbWF4PTEwNjYgdXMK IyAKIyB0ZXN0IEFDSwojICAgICBVU1I6IDE2MTg4NTYyNzcgcyAzMjc2NzMgdXMgKHNlcT0wLCBs ZW49MCkKIyAgICAgQUNLOiAxNjE4ODU2Mjc3IHMgMzMzODUwIHVzIChzZXE9OSwgbGVuPTEwKSAg KFVTUiArNjE3NyB1cykKIyAgICAgVVNSOiAxNjE4ODU2Mjc3IHMgMzc4MDczIHVzIChzZXE9MCwg bGVuPTApCiMgRVJST1I6IDE3MjY0IHVzIGV4cGVjdGVkIGJldHdlZW4gNjAwMCBhbmQgNjUwMAoj ICAgICBBQ0s6IDE2MTg4NTYyNzcgcyAzOTUzMzcgdXMgKHNlcT0xOSwgbGVuPTEwKSAgKFVTUiAr MTcyNjMgdXMpCiMgICAgIFVTUjogMTYxODg1NjI3NyBzIDQyODQ4OSB1cyAoc2VxPTAsIGxlbj0w KQojICAgICBBQ0s6IDE2MTg4NTYyNzcgcyA0MzQ3MzEgdXMgKHNlcT0yOSwgbGVuPTEwKSAgKFVT UiArNjI0MSB1cykKIyAgICAgVVNSOiAxNjE4ODU2Mjc3IHMgNDc4NzI1IHVzIChzZXE9MCwgbGVu PTApCiMgRVJST1I6IDE3MjU5IHVzIGV4cGVjdGVkIGJldHdlZW4gNjAwMCBhbmQgNjUwMAojICAg ICBBQ0s6IDE2MTg4NTYyNzcgcyA0OTU5ODQgdXMgKHNlcT0zOSwgbGVuPTEwKSAgKFVTUiArMTcy NTkgdXMpCiMgICAgIFVTUi1BQ0s6IGNvdW50PTQsIGF2Zz0xMTczNSB1cywgbWluPTYxNzcgdXMs IG1heD0xNzI2MyB1cwojIAojIHRlc3QgU05EICsgQUNLCiMgICAgIFVTUjogMTYxODg1NjI3NyBz IDYzNTQxMiB1cyAoc2VxPTAsIGxlbj0wKQojICAgICBTTkQ6IDE2MTg4NTYyNzcgcyA2MzY0NjAg dXMgKHNlcT05LCBsZW49MTApICAoVVNSICsxMDQ4IHVzKQojICAgICBBQ0s6IDE2MTg4NTYyNzcg cyA2NDE1NjIgdXMgKHNlcT05LCBsZW49MTApICAoVVNSICs2MTQ5IHVzKQojICAgICBVU1I6IDE2 MTg4NTYyNzcgcyA2ODU2NzEgdXMgKHNlcT0wLCBsZW49MCkKIyAgICAgU05EOiAxNjE4ODU2Mjc3 IHMgNjg2NzQ3IHVzIChzZXE9MTksIGxlbj0xMCkgIChVU1IgKzEwNzYgdXMpCiMgICAgIEFDSzog MTYxODg1NjI3NyBzIDY5MTkzMSB1cyAoc2VxPTE5LCBsZW49MTApICAoVVNSICs2MjU5IHVzKQoj ICAgICBVU1I6IDE2MTg4NTYyNzcgcyA3MzU5MDcgdXMgKHNlcT0wLCBsZW49MCkKIyAgICAgU05E OiAxNjE4ODU2Mjc3IHMgNzM2OTU2IHVzIChzZXE9MjksIGxlbj0xMCkgIChVU1IgKzEwNDkgdXMp CiMgICAgIEFDSzogMTYxODg1NjI3NyBzIDc0MjExOCB1cyAoc2VxPTI5LCBsZW49MTApICAoVVNS ICs2MjExIHVzKQojICAgICBVU1I6IDE2MTg4NTYyNzcgcyA3ODYzNjAgdXMgKHNlcT0wLCBsZW49 MCkKIyAgICAgU05EOiAxNjE4ODU2Mjc3IHMgNzg3MzkwIHVzIChzZXE9MzksIGxlbj0xMCkgIChV U1IgKzEwMzAgdXMpCiMgICAgIEFDSzogMTYxODg1NjI3NyBzIDc5MjU0NiB1cyAoc2VxPTM5LCBs ZW49MTApICAoVVNSICs2MTg1IHVzKQojICAgICBVU1ItU05EOiBjb3VudD00LCBhdmc9MTA1MSB1 cywgbWluPTEwMzAgdXMsIG1heD0xMDc2IHVzCiMgICAgIFVTUi1BQ0s6IGNvdW50PTQsIGF2Zz02 MjAxIHVzLCBtaW49NjE0OSB1cywgbWF4PTYyNTkgdXMKIyAKIyB0ZXN0IEVOUSArIFNORCArIEFD SwojICAgICBVU1I6IDE2MTg4NTYyNzcgcyA5NDg2NjIgdXMgKHNlcT0wLCBsZW49MCkKIyAgICAg RU5ROiAxNjE4ODU2Mjc3IHMgOTQ4NjgzIHVzIChzZXE9OSwgbGVuPTEwKSAgKFVTUiArMjAgdXMp CiMgICAgIFNORDogMTYxODg1NjI3NyBzIDk0OTcwMyB1cyAoc2VxPTksIGxlbj0xMCkgIChVU1Ig KzEwNDAgdXMpCiMgICAgIEFDSzogMTYxODg1NjI3NyBzIDk1NDgyMSB1cyAoc2VxPTksIGxlbj0x MCkgIChVU1IgKzYxNTggdXMpCiMgICAgIFVTUjogMTYxODg1NjI3NyBzIDk5OTEzOCB1cyAoc2Vx PTAsIGxlbj0wKQojICAgICBFTlE6IDE2MTg4NTYyNzcgcyA5OTkxNTggdXMgKHNlcT0xOSwgbGVu PTEwKSAgKFVTUiArMjAgdXMpCiMgICAgIFNORDogMTYxODg1NjI3OCBzIDE4MyB1cyAoc2VxPTE5 LCBsZW49MTApICAoVVNSICsxMDQ1IHVzKQojICAgICBBQ0s6IDE2MTg4NTYyNzggcyA1MzIzIHVz IChzZXE9MTksIGxlbj0xMCkgIChVU1IgKzYxODUgdXMpCiMgICAgIFVTUjogMTYxODg1NjI3OCBz IDQ5NDU5IHVzIChzZXE9MCwgbGVuPTApCiMgICAgIEVOUTogMTYxODg1NjI3OCBzIDQ5NDc5IHVz IChzZXE9MjksIGxlbj0xMCkgIChVU1IgKzE5IHVzKQojICAgICBTTkQ6IDE2MTg4NTYyNzggcyA1 MDUwNCB1cyAoc2VxPTI5LCBsZW49MTApICAoVVNSICsxMDQ0IHVzKQojIEVSUk9SOiAxODc0MCB1 cyBleHBlY3RlZCBiZXR3ZWVuIDYwMDAgYW5kIDY1MDAKIyAgICAgQUNLOiAxNjE4ODU2Mjc4IHMg NjgxOTkgdXMgKHNlcT0yOSwgbGVuPTEwKSAgKFVTUiArMTg3NDAgdXMpCiMgICAgIFVTUjogMTYx ODg1NjI3OCBzIDk5OTQ0IHVzIChzZXE9MCwgbGVuPTApCiMgICAgIEVOUTogMTYxODg1NjI3OCBz IDk5OTY0IHVzIChzZXE9MzksIGxlbj0xMCkgIChVU1IgKzE5IHVzKQojICAgICBTTkQ6IDE2MTg4 NTYyNzggcyAxMDA5OTAgdXMgKHNlcT0zOSwgbGVuPTEwKSAgKFVTUiArMTA0NSB1cykKIyBFUlJP UjogMTg5NzAgdXMgZXhwZWN0ZWQgYmV0d2VlbiA2MDAwIGFuZCA2NTAwCiMgICAgIEFDSzogMTYx ODg1NjI3OCBzIDExODkxNCB1cyAoc2VxPTM5LCBsZW49MTApICAoVVNSICsxODk2OSB1cykKIyAg ICAgVVNSLUVOUTogY291bnQ9NCwgYXZnPTIwIHVzLCBtaW49MTkgdXMsIG1heD0yMCB1cwojICAg ICBVU1ItU05EOiBjb3VudD00LCBhdmc9MTA0MyB1cywgbWluPTEwNDAgdXMsIG1heD0xMDQ1IHVz CiMgICAgIFVTUi1BQ0s6IGNvdW50PTQsIGF2Zz0xMjUxMyB1cywgbWluPTYxNTggdXMsIG1heD0x ODk2OSB1cwpub3Qgb2sgNDAgc2VsZnRlc3RzOiBuZXQ6IHR4dGltZXN0YW1wLnNoICMgZXhpdD0x CiMgc2VsZnRlc3RzOiBuZXQ6IHZyZi14ZnJtLXRlc3RzLnNoCiMgCiMgTm8gcWRpc2Mgb24gVlJG IGRldmljZQojIFRFU1Q6IElQdjQgbm8geGZybSBwb2xpY3kgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBubyB4ZnJtIHBvbGljeSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJ UHY0IHhmcm0gcG9saWN5IGJhc2VkIG9uIGFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IElQdjYgeGZybSBwb2xpY3kgYmFzZWQgb24gYWRkcmVzcyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiB4ZnJtIHBvbGljeSB3 aXRoIFZSRiBpbiBzZWxlY3RvciAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBFcnJv cjogVW5rbm93biBkZXZpY2UgdHlwZS4KIyBDYW5ub3QgZmluZCBkZXZpY2UgInhmcm0wIgojIENh bm5vdCBmaW5kIGRldmljZSAieGZybTAiCiMgQ2Fubm90IGZpbmQgZGV2aWNlICJ4ZnJtMCIKIyBU RVNUOiBJUHY0IHhmcm0gcG9saWN5IHdpdGggeGZybSBkZXZpY2UgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFtGQUlMXQojIFRFU1Q6IElQdjYgeGZybSBwb2xpY3kgd2l0aCB4ZnJtIGRldmlj ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgQ2Fubm90IGZpbmQgZGV2aWNl ICJ4ZnJtMCIKIyAKIyBuZXRlbSBxZGlzYyBvbiBWUkYgZGV2aWNlCiMgVEVTVDogSVB2NCBubyB4 ZnJtIHBvbGljeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0KIyBURVNUOiBJUHY2IG5vIHhmcm0gcG9saWN5ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IElQdjQgeGZybSBwb2xpY3kgYmFzZWQgb24g YWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiB4 ZnJtIHBvbGljeSBiYXNlZCBvbiBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb IE9LIF0KIyBURVNUOiBJUHY2IHhmcm0gcG9saWN5IHdpdGggVlJGIGluIHNlbGVjdG9yICAgICAg ICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIEVycm9yOiBVbmtub3duIGRldmljZSB0eXBlLgoj IENhbm5vdCBmaW5kIGRldmljZSAieGZybTAiCiMgQ2Fubm90IGZpbmQgZGV2aWNlICJ4ZnJtMCIK IyBDYW5ub3QgZmluZCBkZXZpY2UgInhmcm0wIgojIFRFU1Q6IElQdjQgeGZybSBwb2xpY3kgd2l0 aCB4ZnJtIGRldmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxdCiMgVEVTVDog SVB2NiB4ZnJtIHBvbGljeSB3aXRoIHhmcm0gZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbRkFJTF0KIyBDYW5ub3QgZmluZCBkZXZpY2UgInhmcm0wIgojIAojIFRlc3RzIHBhc3Nl ZDogIDEwCiMgVGVzdHMgZmFpbGVkOiAgIDQKbm90IG9rIDQxIHNlbGZ0ZXN0czogbmV0OiB2cmYt eGZybS10ZXN0cy5zaCAjIGV4aXQ9MQojIHNlbGZ0ZXN0czogbmV0OiByeHRpbWVzdGFtcC5zaAoj IFRlc3RpbmcgaXAuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAwIG92ZXIgaXB2NC4uLgojIFN0YXJ0 aW5nIHRlc3RjYXNlIDAgb3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgMSBvdmVyIGlw djQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAxIG92ZXIgaXB2Ni4uLgojIFN0YXJ0aW5nIHRlc3Rj YXNlIDIgb3ZlciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgMiBvdmVyIGlwdjYuLi4KIyBT dGFydGluZyB0ZXN0Y2FzZSAzIG92ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDMgb3Zl ciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgNCBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0 ZXN0Y2FzZSA0IG92ZXIgaXB2Ni4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDUgb3ZlciBpcHY0Li4u CiMgU3RhcnRpbmcgdGVzdGNhc2UgNSBvdmVyIGlwdjYuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA2 IG92ZXIgaXB2NC4uLgojIC4vcnh0aW1lc3RhbXA6IEV4cGVjdGVkIHN3dHN0YW1wIHRvIG5vdCBi ZSBzZXQuCiMgRkFJTFVSRSBpbiB0ZXN0Y2FzZSA2IG92ZXIgaXB2NCBzb2Nrb3B0cyB7IFNPX1RJ TUVTVEFNUElORzogeyBTT0ZfVElNRVNUQU1QSU5HX1NPRlRXQVJFIHx9fSBleHBlY3RlZCBjbXNn czoge30KIyBTdGFydGluZyB0ZXN0Y2FzZSA2IG92ZXIgaXB2Ni4uLgojIC4vcnh0aW1lc3RhbXA6 IEV4cGVjdGVkIHN3dHN0YW1wIHRvIG5vdCBiZSBzZXQuCiMgRkFJTFVSRSBpbiB0ZXN0Y2FzZSA2 IG92ZXIgaXB2NiBzb2Nrb3B0cyB7IFNPX1RJTUVTVEFNUElORzogeyBTT0ZfVElNRVNUQU1QSU5H X1NPRlRXQVJFIHx9fSBleHBlY3RlZCBjbXNnczoge30KIyBTdGFydGluZyB0ZXN0Y2FzZSA3IG92 ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDcgb3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcg dGVzdGNhc2UgOCBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA4IG92ZXIgaXB2Ni4u LgojIFN0YXJ0aW5nIHRlc3RjYXNlIDkgb3ZlciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2Ug OSBvdmVyIGlwdjYuLi4KIyBUZXN0aW5nIHVkcC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDAgb3Zl ciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgMCBvdmVyIGlwdjYuLi4KIyBTdGFydGluZyB0 ZXN0Y2FzZSAxIG92ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDEgb3ZlciBpcHY2Li4u CiMgU3RhcnRpbmcgdGVzdGNhc2UgMiBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAy IG92ZXIgaXB2Ni4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDMgb3ZlciBpcHY0Li4uCiMgU3RhcnRp bmcgdGVzdGNhc2UgMyBvdmVyIGlwdjYuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA0IG92ZXIgaXB2 NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDQgb3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNh c2UgNSBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA1IG92ZXIgaXB2Ni4uLgojIFN0 YXJ0aW5nIHRlc3RjYXNlIDYgb3ZlciBpcHY0Li4uCiMgLi9yeHRpbWVzdGFtcDogRXhwZWN0ZWQg c3d0c3RhbXAgdG8gbm90IGJlIHNldC4KIyBGQUlMVVJFIGluIHRlc3RjYXNlIDYgb3ZlciBpcHY0 IHNvY2tvcHRzIHsgU09fVElNRVNUQU1QSU5HOiB7IFNPRl9USU1FU1RBTVBJTkdfU09GVFdBUkUg fH19IGV4cGVjdGVkIGNtc2dzOiB7fQojIFN0YXJ0aW5nIHRlc3RjYXNlIDYgb3ZlciBpcHY2Li4u CiMgLi9yeHRpbWVzdGFtcDogRXhwZWN0ZWQgc3d0c3RhbXAgdG8gbm90IGJlIHNldC4KIyBGQUlM VVJFIGluIHRlc3RjYXNlIDYgb3ZlciBpcHY2IHNvY2tvcHRzIHsgU09fVElNRVNUQU1QSU5HOiB7 IFNPRl9USU1FU1RBTVBJTkdfU09GVFdBUkUgfH19IGV4cGVjdGVkIGNtc2dzOiB7fQojIFN0YXJ0 aW5nIHRlc3RjYXNlIDcgb3ZlciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgNyBvdmVyIGlw djYuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA4IG92ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3Rj YXNlIDggb3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgOSBvdmVyIGlwdjQuLi4KIyBT dGFydGluZyB0ZXN0Y2FzZSA5IG92ZXIgaXB2Ni4uLgojIFRlc3RpbmcgdGNwLi4uCiMgU3RhcnRp bmcgdGVzdGNhc2UgMCBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAwIG92ZXIgaXB2 Ni4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDEgb3ZlciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNh c2UgMSBvdmVyIGlwdjYuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAyIG92ZXIgaXB2NC4uLgojIFN0 YXJ0aW5nIHRlc3RjYXNlIDIgb3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgMyBvdmVy IGlwdjQuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSAzIG92ZXIgaXB2Ni4uLgojIFN0YXJ0aW5nIHRl c3RjYXNlIDQgb3ZlciBpcHY0Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgNCBvdmVyIGlwdjYuLi4K IyBTdGFydGluZyB0ZXN0Y2FzZSA1IG92ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDUg b3ZlciBpcHY2Li4uCiMgU3RhcnRpbmcgdGVzdGNhc2UgNiBvdmVyIGlwdjQuLi4KIyAuL3J4dGlt ZXN0YW1wOiBFeHBlY3RlZCBzd3RzdGFtcCB0byBub3QgYmUgc2V0LgojIEZBSUxVUkUgaW4gdGVz dGNhc2UgNiBvdmVyIGlwdjQgc29ja29wdHMgeyBTT19USU1FU1RBTVBJTkc6IHsgU09GX1RJTUVT VEFNUElOR19TT0ZUV0FSRSB8fX0gZXhwZWN0ZWQgY21zZ3M6IHt9CiMgU3RhcnRpbmcgdGVzdGNh c2UgNiBvdmVyIGlwdjYuLi4KIyAuL3J4dGltZXN0YW1wOiBFeHBlY3RlZCBzd3RzdGFtcCB0byBu b3QgYmUgc2V0LgojIEZBSUxVUkUgaW4gdGVzdGNhc2UgNiBvdmVyIGlwdjYgc29ja29wdHMgeyBT T19USU1FU1RBTVBJTkc6IHsgU09GX1RJTUVTVEFNUElOR19TT0ZUV0FSRSB8fX0gZXhwZWN0ZWQg Y21zZ3M6IHt9CiMgU3RhcnRpbmcgdGVzdGNhc2UgNyBvdmVyIGlwdjQuLi4KIyBTdGFydGluZyB0 ZXN0Y2FzZSA3IG92ZXIgaXB2Ni4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDggb3ZlciBpcHY0Li4u CiMgU3RhcnRpbmcgdGVzdGNhc2UgOCBvdmVyIGlwdjYuLi4KIyBTdGFydGluZyB0ZXN0Y2FzZSA5 IG92ZXIgaXB2NC4uLgojIFN0YXJ0aW5nIHRlc3RjYXNlIDkgb3ZlciBpcHY2Li4uCiMgUEFTU0VE LgpvayA0MiBzZWxmdGVzdHM6IG5ldDogcnh0aW1lc3RhbXAuc2gKIyBzZWxmdGVzdHM6IG5ldDog ZGV2bGlua19wb3J0X3NwbGl0LnB5CiMgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3Qp OgojICAgRmlsZSAiLi9kZXZsaW5rX3BvcnRfc3BsaXQucHkiLCBsaW5lIDI3NywgaW4gPG1vZHVs ZT4KIyAgICAgbWFpbigpCiMgICBGaWxlICIuL2RldmxpbmtfcG9ydF9zcGxpdC5weSIsIGxpbmUg MjQyLCBpbiBtYWluCiMgICAgIGRldiA9IGxpc3QoZGV2cy5rZXlzKCkpWzBdCiMgSW5kZXhFcnJv cjogbGlzdCBpbmRleCBvdXQgb2YgcmFuZ2UKbm90IG9rIDQzIHNlbGZ0ZXN0czogbmV0OiBkZXZs aW5rX3BvcnRfc3BsaXQucHkgIyBleGl0PTEKIyBzZWxmdGVzdHM6IG5ldDogZHJvcF9tb25pdG9y X3Rlc3RzLnNoCiMgU0tJUDogQ291bGQgbm90IHJ1biB0ZXN0IHdpdGhvdXQgdHNoYXJrIHRvb2wK b2sgNDQgc2VsZnRlc3RzOiBuZXQ6IGRyb3BfbW9uaXRvcl90ZXN0cy5zaCAjIFNLSVAKIyBzZWxm dGVzdHM6IG5ldDogdnJmX3JvdXRlX2xlYWtpbmcuc2gKIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IyBJUHY0IChzeW0gcm91dGUpOiBWUkYgSUNNUCB0dGwgZXJyb3Igcm91dGUgbG9va3VwIHBpbmcK IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAKIyBURVNUOiBCYXNpYyBJUHY0IGNvbm5lY3Rpdml0eSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFBpbmcg cmVjZWl2ZWQgSUNNUCB0dGwgZXhjZWVkZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WyBPSyBdCiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSVB2NCAoc3ltIHJvdXRlKTogVlJGIElD TVAgZXJyb3Igcm91dGUgbG9va3VwIHRyYWNlcm91dGUKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAK IyBTS0lQOiBDb3VsZCBub3QgcnVuIElQVjQgdGVzdCB3aXRob3V0IHRyYWNlcm91dGUKIyAKIyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBJUHY0IChzeW0gcm91dGUpOiBWUkYgSUNNUCBmcmFnbWVudGF0 aW9uIGVycm9yIHJvdXRlIGxvb2t1cCBwaW5nCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgCiMgVEVT VDogQmFzaWMgSVB2NCBjb25uZWN0aXZpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbIE9LIF0KIyBURVNUOiBQaW5nIHJlY2VpdmVkIElDTVAgRnJhZyBuZWVkZWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIElQdjQgKGFzeW0gcm91dGUpOiBWUkYgSUNNUCB0dGwgZXJyb3Igcm91dGUgbG9va3VwIHBp bmcKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAKIyBURVNUOiBCYXNpYyBJUHY0IGNvbm5lY3Rpdml0 eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFBp bmcgcmVjZWl2ZWQgSUNNUCB0dGwgZXhjZWVkZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyBPSyBdCiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSVB2NCAoYXN5bSByb3V0ZSk6IFZS RiBJQ01QIGVycm9yIHJvdXRlIGxvb2t1cCB0cmFjZXJvdXRlCiMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiMgCiMgU0tJUDogQ291bGQgbm90IHJ1biBJUFY0IHRlc3Qgd2l0aG91dCB0cmFjZXJvdXRlCiMg CiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSVB2NiAoc3ltIHJvdXRlKTogVlJGIElDTVAgdHRsIGVy cm9yIHJvdXRlIGxvb2t1cCBwaW5nCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgCiMgVEVTVDogQmFz aWMgSVB2NiBjb25uZWN0aXZpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbIE9LIF0KIyBURVNUOiBQaW5nIHJlY2VpdmVkIElDTVAgSG9wIGxpbWl0ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIElQ djYgKHN5bSByb3V0ZSk6IFZSRiBJQ01QIGVycm9yIHJvdXRlIGxvb2t1cCB0cmFjZXJvdXRlCiMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiMgCiMgU0tJUDogQ291bGQgbm90IHJ1biBJUFY2IHRlc3Qgd2l0 aG91dCB0cmFjZXJvdXRlNgojIAojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIElQdjYgKHN5bSByb3V0 ZSk6IFZSRiBJQ01QIGZyYWdtZW50YXRpb24gZXJyb3Igcm91dGUgbG9va3VwIHBpbmcKIyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIyAKIyBURVNUOiBCYXNpYyBJUHY2IGNvbm5lY3Rpdml0eSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IFBpbmcgcmVjZWl2 ZWQgSUNNUCBQYWNrZXQgdG9vIGJpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0ZBSUxd CiMgCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSVB2NiAoYXN5bSByb3V0ZSk6IFZSRiBJQ01QIHR0 bCBlcnJvciByb3V0ZSBsb29rdXAgcGluZwojICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIAojIFRFU1Q6 IEJhc2ljIElQdjYgY29ubmVjdGl2aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyBPSyBdCiMgVEVTVDogUGluZyByZWNlaXZlZCBJQ01QIEhvcCBsaW1pdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyAKIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK IyBJUHY2IChhc3ltIHJvdXRlKTogVlJGIElDTVAgZXJyb3Igcm91dGUgbG9va3VwIHRyYWNlcm91 dGUKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAKIyBTS0lQOiBDb3VsZCBub3QgcnVuIElQVjYgdGVz dCB3aXRob3V0IHRyYWNlcm91dGU2CiMgCiMgVGVzdHMgcGFzc2VkOiAgMTEKIyBUZXN0cyBmYWls ZWQ6ICAgMQpub3Qgb2sgNDUgc2VsZnRlc3RzOiBuZXQ6IHZyZl9yb3V0ZV9sZWFraW5nLnNoICMg ZXhpdD0xCiMgc2VsZnRlc3RzOiBuZXQ6IGJhcmV1ZHAuc2gKIyBURVNUOiBJUHY0IHBhY2tldHMg b3ZlciBVRFB2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sgXQoj IFRFU1Q6IElQdjQgcGFja2V0cyBvdmVyIFVEUHY2ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBwYWNrZXRzIG92ZXIgVURQdjQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY2IHBhY2tl dHMgb3ZlciBVRFB2NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgT0sg XQojIFRFU1Q6IElQdjQgcGFja2V0cyBvdmVyIFVEUHY0IChtdWx0aXByb3RvIG1vZGUpICAgICAg ICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogSVB2NiBwYWNrZXRzIG92ZXIgVURQdjQgKG11 bHRpcHJvdG8gbW9kZSkgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBJUHY0IHBh Y2tldHMgb3ZlciBVRFB2NiAobXVsdGlwcm90byBtb2RlKSAgICAgICAgICAgICAgICAgICAgIFsg T0sgXQojIFRFU1Q6IElQdjYgcGFja2V0cyBvdmVyIFVEUHY2IChtdWx0aXByb3RvIG1vZGUpICAg ICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogVW5pY2FzdCBNUExTIHBhY2tldHMgb3Zl ciBVRFB2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBVbmlj YXN0IE1QTFMgcGFja2V0cyBvdmVyIFVEUHY2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsgT0sgXQpvayA0NiBzZWxmdGVzdHM6IG5ldDogYmFyZXVkcC5zaAojIHNlbGZ0ZXN0czogbmV0 OiB1bmljYXN0X2V4dGVuc2lvbnMuc2gKIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBVbmljYXN0IGFk ZHJlc3MgZXh0ZW5zaW9ucyB0ZXN0cyAoYmVoYXZpb3Igb2YgcmVzZXJ2ZWQgSVB2NCBhZGRyZXNz ZXMpCiMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVEVTVDogYXNzaWduIGFuZCBwaW5nIHdpdGhpbiAy NDAvNCAoMSBvZiAyKSAoaXMgYWxsb3dlZCkgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBhc3Np Z24gYW5kIHBpbmcgd2l0aGluIDI0MC80ICgyIG9mIDIpIChpcyBhbGxvd2VkKSAgICAgICAgICAg IFsgT0sgXQojIFRFU1Q6IGFzc2lnbiBhbmQgcGluZyB3aXRoaW4gMC84ICgxIG9mIDIpIChpcyBh bGxvd2VkKSAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogYXNzaWduIGFuZCBwaW5nIHdpdGhp biAwLzggKDIgb2YgMikgKGlzIGFsbG93ZWQpICAgICAgICAgICAgICBbIE9LIF0KIyBURVNUOiBh c3NpZ24gYW5kIHBpbmcgaW5zaWRlIDI1NS4yNTUvMTYgKGlzIGFsbG93ZWQpICAgICAgICAgICAg ICAgIFsgT0sgXQojIFRFU1Q6IGFzc2lnbiBhbmQgcGluZyBpbnNpZGUgMjU1LjI1NS4yNTUvMjQg KGlzIGFsbG93ZWQpICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogcm91dGUgYmV0d2VlbiAyNDAu NS42LzI0IGFuZCAyNTUuMS4yLzI0IChpcyBhbGxvd2VkKSAgICAgICAgICBbIE9LIF0KIyBURVNU OiByb3V0ZSBiZXR3ZWVuIDAuMjAwLzE2IGFuZCAyNDUuOTkvMTYgKGlzIGFsbG93ZWQpICAgICAg ICAgICAgIFsgT0sgXQojIFRFU1Q6IGFzc2lnbmluZyAwLjAuMC4wIChpcyBmb3JiaWRkZW4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogYXNzaWduaW5nIDI1NS4y NTUuMjU1LjI1NSAoaXMgZm9yYmlkZGVuKSAgICAgICAgICAgICAgICAgICAgICBbIE9LIF0KIyBU RVNUOiBhc3NpZ24gYW5kIHBpbmcgaW5zaWRlIDEyNy84IChpcyBmb3JiaWRkZW4pICAgICAgICAg ICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IGFzc2lnbiBhbmQgcGluZyBsb3dlc3QgYWRkcmVzcyAo aXMgZm9yYmlkZGVuKSAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogcm91dGluZyB1c2lu ZyBsb3dlc3QgYWRkcmVzcyAoaXMgZm9yYmlkZGVuKSAgICAgICAgICAgICAgICAgICBbIE9LIF0K IyBURVNUOiBhc3NpZ24gYW5kIHBpbmcgY2xhc3MgRCBhZGRyZXNzIChpcyBmb3JiaWRkZW4pICAg ICAgICAgICAgICAgIFsgT0sgXQojIFRFU1Q6IHJvdXRpbmcgdXNpbmcgY2xhc3MgRCAoaXMgZm9y YmlkZGVuKSAgICAgICAgICAgICAgICAgICAgICAgICAgWyBPSyBdCiMgVEVTVDogcm91dGluZyB1 c2luZyAxMjcvOCAoaXMgZm9yYmlkZGVuKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIE9L IF0Kb2sgNDcgc2VsZnRlc3RzOiBuZXQ6IHVuaWNhc3RfZXh0ZW5zaW9ucy5zaAo= --===============3082785961929637027== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="job.yaml" LS0tCgojISBqb2JzL2tlcm5lbC1zZWxmdGVzdHMtYm0ueWFtbApzdWl0ZToga2VybmVsLXNlbGZ0 ZXN0cwp0ZXN0Y2FzZToga2VybmVsLXNlbGZ0ZXN0cwpjYXRlZ29yeTogZnVuY3Rpb25hbAprY29u ZmlnOiB4ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cwprZXJuZWwtc2VsZnRlc3RzOgogIGdyb3Vw OiBuZXQKam9iX29yaWdpbjoga2VybmVsLXNlbGZ0ZXN0cy1ibS55YW1sCgojISBxdWV1ZSBvcHRp b25zCnF1ZXVlX2NtZGxpbmVfa2V5czoKLSBicmFuY2gKLSBjb21taXQKcXVldWU6IGJpc2VjdAp0 ZXN0Ym94OiBsa3Atc2tsLWQwNgp0Ym94X2dyb3VwOiBsa3Atc2tsLWQwNgpzdWJtaXRfaWQ6IDYw N2JjZjliZmU2ZGY5OGRkZDEyYzFiOApqb2JfZmlsZTogIi9sa3Avam9icy9zY2hlZHVsZWQvbGtw LXNrbC1kMDYva2VybmVsLXNlbGZ0ZXN0cy1uZXQtdWNvZGU9MHhlMi1kZWJpYW4tMTAuNC14ODZf NjQtMjAyMDA2MDMuY2d6LTY2MjhkZGZlYzc1ODA4ODJmMTFmZGM1YzE5NGE4ZWE3ODFmZGFkZmEt MjAyMTA0MTgtMzYzMTctMXkzbGdwcC0wLnlhbWwiCmlkOiA0ODhiZWE1MDlkMjlmNTBmYTNjNzAz NDBkYTVjOWI1NzRlOTM5MWMyCnF1ZXVlcl92ZXJzaW9uOiAiL2xrcC1zcmMiCgojISBob3N0cy9s a3Atc2tsLWQwNgptb2RlbDogU2t5bGFrZQpucl9jcHU6IDQKbWVtb3J5OiAxNkcKbnJfc3NkX3Bh cnRpdGlvbnM6IDEKbnJfaGRkX3BhcnRpdGlvbnM6IDQKaGRkX3BhcnRpdGlvbnM6ICIvZGV2L2Rp c2svYnktaWQvYXRhLVdEQ19XRDEwRUFSUy0wMFk1QjFfV0QtV0NBVjVGMDU5MDc0LXBhcnQqIgpz c2RfcGFydGl0aW9uczogIi9kZXYvZGlzay9ieS1pZC9hdGEtSU5URUxfU1NEU0MyQkIwMTJUNF9C VFdENDIyNDAyTTgxUDJHR04tcGFydDIiCnJvb3Rmc19wYXJ0aXRpb246ICIvZGV2L2Rpc2svYnkt aWQvYXRhLUlOVEVMX1NTRFNDMkJCMDEyVDRfQlRXRDQyMjQwMk04MVAyR0dOLXBhcnQxIgpicmFu ZDogSW50ZWwoUikgWGVvbihSKSBDUFUgRTMtMTIyNSB2NSBAIDMuMzBHSHoKCiMhIGluY2x1ZGUv Y2F0ZWdvcnkvZnVuY3Rpb25hbAprbXNnOiAKaGVhcnRiZWF0OiAKbWVtaW5mbzogCgojISBpbmNs dWRlL3F1ZXVlL2N5Y2xpYwpjb21taXQ6IDY2MjhkZGZlYzc1ODA4ODJmMTFmZGM1YzE5NGE4ZWE3 ODFmZGFkZmEKCiMhIGluY2x1ZGUvdGVzdGJveC9sa3Atc2tsLWQwNgpuZWVkX2tjb25maWdfaHc6 Ci0gQ09ORklHX0UxMDAwRT15Ci0gQ09ORklHX1NBVEFfQUhDSQp1Y29kZTogJzB4ZTInCgojISBp bmNsdWRlL2tlcm5lbC1zZWxmdGVzdHMKbmVlZF9saW51eF9oZWFkZXJzOiB0cnVlCm5lZWRfbGlu dXhfc2VsZnRlc3RzOiB0cnVlCm5lZWRfa3NlbGZ0ZXN0czogdHJ1ZQpuZWVkX2tjb25maWc6Ci0g Q09ORklHX1VTRVJfTlM9eQotIENPTkZJR19CUEZfU1lTQ0FMTD15Ci0gQ09ORklHX1RFU1RfQlBG PW0KLSBDT05GSUdfTlVNQT15IH4gIj49IHY1LjYtcmMxIgotIENPTkZJR19ORVRfVlJGPXkgfiAi Pj0gdjQuMy1yYzEiCi0gQ09ORklHX05FVF9MM19NQVNURVJfREVWPXkgfiAiPj0gdjQuNC1yYzEi Ci0gQ09ORklHX0lQVjY9eQotIENPTkZJR19JUFY2X01VTFRJUExFX1RBQkxFUz15Ci0gQ09ORklH X1ZFVEg9eQotIENPTkZJR19ORVRfSVBWVEk9bQotIENPTkZJR19JUFY2X1ZUST1tCi0gQ09ORklH X0RVTU1ZPXkKLSBDT05GSUdfQlJJREdFPXkKLSBDT05GSUdfVkxBTl84MDIxUT15Ci0gQ09ORklH X0lGQj15Ci0gQ09ORklHX05FVEZJTFRFUj15Ci0gQ09ORklHX05FVEZJTFRFUl9BRFZBTkNFRD15 Ci0gQ09ORklHX05GX0NPTk5UUkFDSz1tCi0gQ09ORklHX05GX05BVD1tIH4gIj49IHY1LjEtcmMx IgotIENPTkZJR19JUDZfTkZfSVBUQUJMRVM9bQotIENPTkZJR19JUF9ORl9JUFRBQkxFUz1tCi0g Q09ORklHX0lQNl9ORl9OQVQ9bQotIENPTkZJR19JUF9ORl9OQVQ9bQotIENPTkZJR19ORl9UQUJM RVM9bQotIENPTkZJR19ORl9UQUJMRVNfSVBWNj15IH4gIj49IHY0LjE3LXJjMSIKLSBDT05GSUdf TkZfVEFCTEVTX0lQVjQ9eSB+ICI+PSB2NC4xNy1yYzEiCi0gQ09ORklHX05GVF9DSEFJTl9OQVRf SVBWNj1tIH4gIjw9IHY1LjAiCi0gQ09ORklHX05GVF9DSEFJTl9OQVRfSVBWND1tIH4gIjw9IHY1 LjAiCi0gQ09ORklHX05FVF9TQ0hfRlE9bQotIENPTkZJR19ORVRfU0NIX0VURj1tIH4gIj49IHY0 LjE5LXJjMSIKLSBDT05GSUdfTkVUX1NDSF9ORVRFTT15Ci0gQ09ORklHX1RFU1RfQkxBQ0tIT0xF X0RFVj1tIH4gIj49IHY1LjMtcmMxIgotIENPTkZJR19LQUxMU1lNUz15Ci0gQ09ORklHX0JBUkVV RFA9bSB+ICI+PSB2NS43LXJjMSIKLSBDT05GSUdfTVBMU19ST1VUSU5HPW0gfiAiPj0gdjQuMS1y YzEiCi0gQ09ORklHX01QTFNfSVBUVU5ORUw9bSB+ICI+PSB2NC4zLXJjMSIKLSBDT05GSUdfTkVU X1NDSF9JTkdSRVNTPXkgfiAiPj0gdjQuMTktcmMxIgotIENPTkZJR19ORVRfQ0xTX0ZMT1dFUj1t IH4gIj49IHY0LjItcmMxIgotIENPTkZJR19ORVRfQUNUX1RVTk5FTF9LRVk9bSB+ICI+PSB2NC45 LXJjMSIKLSBDT05GSUdfTkVUX0FDVF9NSVJSRUQ9bSB+ICI+PSB2NS4xMS1yYzEiCmVucXVldWVf dGltZTogMjAyMS0wNC0xOCAxNDoyMDoxMS44MDEzOTkxMTggKzA4OjAwCl9pZDogNjA3YmNmOWJm ZTZkZjk4ZGRkMTJjMWI4Cl9ydDogIi9yZXN1bHQva2VybmVsLXNlbGZ0ZXN0cy9uZXQtdWNvZGU9 MHhlMi9sa3Atc2tsLWQwNi9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L3g4Nl82NC1y aGVsLTguMy1rc2VsZnRlc3RzL2djYy05LzY2MjhkZGZlYzc1ODA4ODJmMTFmZGM1YzE5NGE4ZWE3 ODFmZGFkZmEiCgojISBzY2hlZHVsZSBvcHRpb25zCnVzZXI6IGxrcApjb21waWxlcjogZ2NjLTkK TEtQX1NFUlZFUjogaW50ZXJuYWwtbGtwLXNlcnZlcgpoZWFkX2NvbW1pdDogZTI0MmVlYWI2MDk2 ODA2ODVhNzM1ZjYxZjQyZWRhMjkwMmQzNDZmZApiYXNlX2NvbW1pdDogZDQzNDQwNWFhYWI3ZDBl YmM1MTZiNjhhOGZjNDEwMDkyMmQ3ZjVlZgpicmFuY2g6IGxpbnV4LWRldmVsL2RldmVsLWhvdXJs eS0yMDIxMDQxNy0xODU5NDIKcm9vdGZzOiBkZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6 CnJlc3VsdF9yb290OiAiL3Jlc3VsdC9rZXJuZWwtc2VsZnRlc3RzL25ldC11Y29kZT0weGUyL2xr cC1za2wtZDA2L2RlYmlhbi0xMC40LXg4Nl82NC0yMDIwMDYwMy5jZ3oveDg2XzY0LXJoZWwtOC4z LWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRm YS8wIgpzY2hlZHVsZXJfdmVyc2lvbjogIi9sa3AvbGtwLy5zcmMtMjAyMTA0MTctMTkzNjQ4Igph cmNoOiB4ODZfNjQKbWF4X3VwdGltZTogMjEwMAppbml0cmQ6ICIvb3NpbWFnZS9kZWJpYW4vZGVi aWFuLTEwLjQteDg2XzY0LTIwMjAwNjAzLmNneiIKYm9vdGxvYWRlcl9hcHBlbmQ6Ci0gcm9vdD0v ZGV2L3JhbTAKLSB1c2VyPWxrcAotIGpvYj0vbGtwL2pvYnMvc2NoZWR1bGVkL2xrcC1za2wtZDA2 L2tlcm5lbC1zZWxmdGVzdHMtbmV0LXVjb2RlPTB4ZTItZGViaWFuLTEwLjQteDg2XzY0LTIwMjAw NjAzLmNnei02NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhLTIwMjEwNDE4 LTM2MzE3LTF5M2xncHAtMC55YW1sCi0gQVJDSD14ODZfNjQKLSBrY29uZmlnPXg4Nl82NC1yaGVs LTguMy1rc2VsZnRlc3RzCi0gYnJhbmNoPWxpbnV4LWRldmVsL2RldmVsLWhvdXJseS0yMDIxMDQx Ny0xODU5NDIKLSBjb21taXQ9NjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRm YQotIEJPT1RfSU1BR0U9L3BrZy9saW51eC94ODZfNjQtcmhlbC04LjMta3NlbGZ0ZXN0cy9nY2Mt OS82NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhL3ZtbGludXotNS4xMi4w LXJjNi0wMDM0OS1nNjYyOGRkZmVjNzU4Ci0gbWF4X3VwdGltZT0yMTAwCi0gUkVTVUxUX1JPT1Q9 L3Jlc3VsdC9rZXJuZWwtc2VsZnRlc3RzL25ldC11Y29kZT0weGUyL2xrcC1za2wtZDA2L2RlYmlh bi0xMC40LXg4Nl82NC0yMDIwMDYwMy5jZ3oveDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2Nj LTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYS8wCi0gTEtQX1NFUlZF Uj1pbnRlcm5hbC1sa3Atc2VydmVyCi0gbm9rYXNscgotIHNlbGludXg9MAotIGRlYnVnCi0gYXBp Yz1kZWJ1ZwotIHN5c3JxX2Fsd2F5c19lbmFibGVkCi0gcmN1cGRhdGUucmN1X2NwdV9zdGFsbF90 aW1lb3V0PTEwMAotIG5ldC5pZm5hbWVzPTAKLSBwcmludGsuZGV2a21zZz1vbgotIHBhbmljPS0x Ci0gc29mdGxvY2t1cF9wYW5pYz0xCi0gbm1pX3dhdGNoZG9nPXBhbmljCi0gb29wcz1wYW5pYwot IGxvYWRfcmFtZGlzaz0yCi0gcHJvbXB0X3JhbWRpc2s9MAotIGRyYmQubWlub3JfY291bnQ9OAot IHN5c3RlbWQubG9nX2xldmVsPWVycgotIGlnbm9yZV9sb2dsZXZlbAotIGNvbnNvbGU9dHR5MAot IGVhcmx5cHJpbnRrPXR0eVMwLDExNTIwMAotIGNvbnNvbGU9dHR5UzAsMTE1MjAwCi0gdmdhPW5v cm1hbAotIHJ3Cm1vZHVsZXNfaW5pdHJkOiAiL3BrZy9saW51eC94ODZfNjQtcmhlbC04LjMta3Nl bGZ0ZXN0cy9nY2MtOS82NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhL21v ZHVsZXMuY2d6IgpsaW51eF9oZWFkZXJzX2luaXRyZDogIi9wa2cvbGludXgveDg2XzY0LXJoZWwt OC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZk YWRmYS9saW51eC1oZWFkZXJzLmNneiIKbGludXhfc2VsZnRlc3RzX2luaXRyZDogIi9wa2cvbGlu dXgveDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVjNzU4MDg4MmYxMWZk YzVjMTk0YThlYTc4MWZkYWRmYS9saW51eC1zZWxmdGVzdHMuY2d6Igprc2VsZnRlc3RzX2luaXRy ZDogIi9wa2cvbGludXgveDg2XzY0LXJoZWwtOC4zLWtzZWxmdGVzdHMvZ2NjLTkvNjYyOGRkZmVj NzU4MDg4MmYxMWZkYzVjMTk0YThlYTc4MWZkYWRmYS9rc2VsZnRlc3RzLmNneiIKYm1faW5pdHJk OiAiL29zaW1hZ2UvZGVwcy9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L3J1bi1pcGNv bmZpZ18yMDIwMDYwOC5jZ3osL29zaW1hZ2UvZGVwcy9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2 MDMuY2d6L2xrcF8yMDIwMTIxMS5jZ3osL29zaW1hZ2UvZGVwcy9kZWJpYW4tMTAuNC14ODZfNjQt MjAyMDA2MDMuY2d6L3JzeW5jLXJvb3Rmc18yMDIwMDYwOC5jZ3osL29zaW1hZ2UvZGVwcy9kZWJp YW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L2tlcm5lbC1zZWxmdGVzdHNfMjAyMTA0MDYuY2d6 LC9vc2ltYWdlL3BrZy9kZWJpYW4tMTAuNC14ODZfNjQtMjAyMDA2MDMuY2d6L2tlcm5lbC1zZWxm dGVzdHMteDg2XzY0LWNmOWFlMWJkLTFfMjAyMTA0MDEuY2d6LC9vc2ltYWdlL2RlcHMvZGViaWFu LTEwLjQteDg2XzY0LTIwMjAwNjAzLmNnei9od18yMDIwMDcxNS5jZ3oiCnVjb2RlX2luaXRyZDog Ii9vc2ltYWdlL3Vjb2RlL2ludGVsLXVjb2RlLTIwMjEwMjIyLmNneiIKbGtwX2luaXRyZDogIi9v c2ltYWdlL3VzZXIvbGtwL2xrcC14ODZfNjQuY2d6IgpzaXRlOiBpbm4KCiMhIC9sa3AvbGtwLy5z cmMtMjAyMTA0MTctMTkzNjQ4L2luY2x1ZGUvc2l0ZS9pbm4KTEtQX0NHSV9QT1JUOiA4MApMS1Bf Q0lGU19QT1JUOiAxMzkKb29tLWtpbGxlcjogCndhdGNoZG9nOiAKCiMhIHJ1bnRpbWUgc3RhdHVz Cmxhc3Rfa2VybmVsOiA1LjEyLjAtcmM3CgojISB1c2VyIG92ZXJyaWRlcwprZXJuZWw6ICIvcGtn L2xpbnV4L3g4Nl82NC1yaGVsLTguMy1rc2VsZnRlc3RzL2djYy05LzY2MjhkZGZlYzc1ODA4ODJm MTFmZGM1YzE5NGE4ZWE3ODFmZGFkZmEvdm1saW51ei01LjEyLjAtcmM2LTAwMzQ5LWc2NjI4ZGRm ZWM3NTgiCmRlcXVldWVfdGltZTogMjAyMS0wNC0xOCAxNDo1MDo1Ni40MzEwNDU3OTkgKzA4OjAw CmpvYl9zdGF0ZTogZmluaXNoZWQKbG9hZGF2ZzogMC40OSAwLjg2IDAuNTEgMS8xNDYgMTg1NjAK c3RhcnRfdGltZTogJzE2MTg3Mjg3NTUnCmVuZF90aW1lOiAnMTYxODcyOTE5MicKdmVyc2lvbjog Ii9sa3AvbGtwLy5zcmMtMjAyMTA0MTctMTkzNzQ0OmM5OWY4NGYwOjNhNWNjZmVlYSIK --===============3082785961929637027== Content-Type: text/plain MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="reproduce.ksh" bW91bnQgLS1iaW5kIC9saWIvbW9kdWxlcy81LjEyLjAtcmM2LTAwMzQ5LWc2NjI4ZGRmZWM3NTgv a2VybmVsL2xpYiAvdXNyL3NyYy9wZXJmX3NlbGZ0ZXN0cy14ODZfNjQtcmhlbC04LjMta3NlbGZ0 ZXN0cy02NjI4ZGRmZWM3NTgwODgyZjExZmRjNWMxOTRhOGVhNzgxZmRhZGZhL2xpYgpzZWQgLWkg cy9kZWZhdWx0X3RpbWVvdXQ9NDUvZGVmYXVsdF90aW1lb3V0PTMwMC8ga3NlbGZ0ZXN0L3J1bm5l ci5zaAova3NlbGZ0ZXN0cy9ydW5fa3NlbGZ0ZXN0LnNoIC1jIG5ldAo= --===============3082785961929637027==--