From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABCF725A2AE; Mon, 12 May 2025 08:32:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747038756; cv=none; b=KDpyTVhqYMHAW830BYoYwW+5HFqSd6SmWGD6ass8VPgtdVogqaUKLB+6c25hjqnXpJBmUKaOVpvlQLH7NRrsshBUSgCEoILv4C2V0GJyDDiBTStx9B01XrzD1d255S/pfH0l+UMUzm3I9mkbGDJOomjEj2KClc3R6CLw+nExbcs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747038756; c=relaxed/simple; bh=ADK2OK+ChL7DrngabZZFHdRVILAcBiI1snBCJx8n6FU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=ddzHaeHv2GBedV26hA7veBK+Ln6zE8CtLMdY0Gk0sXs5BI80/frPVkGK/Vz7U0Df+A0rWapKn3aucUoQdxuNzsaiQGXBDr+1cFHfDV7LamLYto6JAy3Kk70smfW/Om79AcTNGUZG4de0Mr5RUhwf/AHV823Rwy81Ns+DC9InzCU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=A7It7FKp; arc=none smtp.client-ip=217.70.183.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="A7It7FKp" Received: by mail.gandi.net (Postfix) with ESMTPSA id 8B04343159; Mon, 12 May 2025 08:32:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1747038745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=25cSWVOEKZ1VP77Jx5jaMaLaHYR9JlnvU1JHD3mwYw8=; b=A7It7FKpj3JBU9iHEedfI0AtnqV5K5aUOigplK8DMO6OtHlxL8DtqxNhP9SjQXFyF8LsmD iayCCKqUUGA3CvMJ4/j6AzPjT4uuNHnG0fYuRQElk2uX+wbDJLvR/qec/zIadkI/8GQwdQ N+jI4XHw5Sgv0mOk+ZOpT5gTJ1YtYFUl6ut4AWu4rp5Iywb6vArZTyKzb1aEW6ZoO+j8FT N8VCBlq3nGw7Ch7JJXuKkxVxh7wkDPpKiIj+GV0iXBZFPsV4ENOWgv/Y3jBUKxAwui9uEw t5u30FQcL4qQc62SQYBgAa3D1+1y2lRdZi10LXNfgYncIKu3jhSBy3SXz+nswA== From: Miquel Raynal To: Gabor Juhos Cc: Md Sadre Alam , Mark Brown , Manivannan Sadhasivam , Richard Weinberger , Vignesh Raghavendra , Varadarajan Narayanan , Sricharan Ramabadhran , linux-spi@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH next 2/2] spi: spi-qpic-snand: add support for 8 bits ECC strength In-Reply-To: (Gabor Juhos's message of "Mon, 5 May 2025 15:21:52 +0200") References: <20250502-qpic-snand-8bit-ecc-v1-0-95f3cd08bbc5@gmail.com> <20250502-qpic-snand-8bit-ecc-v1-2-95f3cd08bbc5@gmail.com> <8aa3d4da-da3e-2af4-e0f9-cd56d6259d8f@quicinc.com> User-Agent: mu4e 1.12.7; emacs 29.4 Date: Mon, 12 May 2025 10:32:23 +0200 Message-ID: <878qn2nsa0.fsf@bootlin.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeftddtjeelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjfhgffffkgggtgfesthhqredttderjeenucfhrhhomhepofhiqhhuvghlucftrgihnhgrlhcuoehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeffgefhjedtfeeigeduudekudejkedtiefhleelueeiueevheekvdeludehiedvfeenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeduvddprhgtphhtthhopehjgehgkeihjeesghhmrghilhdrtghomhdprhgtphhtthhopehquhhitggpmhgurghlrghmsehquhhitghinhgtrdgtohhmpdhrtghpthhtohepsghrohhonhhivgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrnhhivhgrnhhnrghnrdhsrgguhhgrshhivhgrmheslhhinhgrrhhordhorhhgpdhrtghpthhtoheprhhitghhrghrugesnhhougdrrghtpdhrtghpthhto hepvhhighhnvghshhhrsehtihdrtghomhdprhgtphhtthhopehquhhitggpvhgrrhgruggrsehquhhitghinhgtrdgtohhmpdhrtghpthhtohepqhhuihgtpghsrhhitghhrghrrgesqhhuihgtihhntgdrtghomh X-GND-Sasl: miquel.raynal@bootlin.com On 05/05/2025 at 15:21:52 +02, Gabor Juhos wrote: > 2025. 05. 05. 13:17 keltez=C3=A9ssel, Md Sadre Alam =C3=ADrta: >>=20 >>=20 > > [...] > >>> =C2=A0=C2=A0 [ 2720.344163] mtd_stresstest: 8192 operations done >>> =C2=A0=C2=A0 [ 2761.645640] mtd_stresstest: 9216 operations done >>> =C2=A0=C2=A0 [ 2791.760534] mtd_stresstest: finished, 10000 operations = done >>> =C2=A0=C2=A0 [ 2791.760817] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>> =C2=A0=C2=A0 # >> Could you please run biterror test "mtd_nandbiterrs" with the same devic= e, since >> you are adding 8-bit ECC support. > > Sure, here is the result: > > # insmod mtd_test > # for i in $(seq 0 4); do insmod mtd_nandbiterrs; done > [ 45.405610] > [ 45.405638] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 45.406164] mtd_nandbiterrs: MTD device: 0 > [ 45.411807] mtd_nandbiterrs: MTD device size 268435456, eraseblock=3D1= 31072, > page=3D2048, oob=3D128 > [ 45.415990] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes > [ 45.424495] mtd_nandbiterrs: Using page=3D0, offset=3D0, eraseblock=3D0 > [ 45.434686] mtd_nandbiterrs: incremental biterrors test > [ 45.436653] mtd_nandbiterrs: write_page > [ 45.442634] mtd_nandbiterrs: rewrite page > [ 45.446408] mtd_nandbiterrs: read_page > [ 45.450346] mtd_nandbiterrs: verify_page > [ 45.453320] mtd_nandbiterrs: Successfully corrected 0 bit errors per s= ubpage > [ 45.457405] mtd_nandbiterrs: Inserted biterror @ 0/5 > [ 45.464431] mtd_nandbiterrs: rewrite page > [ 45.470216] mtd_nandbiterrs: read_page > [ 45.473852] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 45.476909] mtd_nandbiterrs: verify_page > [ 45.483090] mtd_nandbiterrs: Successfully corrected 1 bit errors per s= ubpage > [ 45.487098] mtd_nandbiterrs: Inserted biterror @ 0/2 > [ 45.494111] mtd_nandbiterrs: rewrite page > [ 45.499850] mtd_nandbiterrs: read_page > [ 45.503557] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 45.506597] mtd_nandbiterrs: verify_page > [ 45.512777] mtd_nandbiterrs: Successfully corrected 2 bit errors per s= ubpage > [ 45.516768] mtd_nandbiterrs: Inserted biterror @ 0/0 > [ 45.523810] mtd_nandbiterrs: rewrite page > [ 45.529586] mtd_nandbiterrs: read_page > [ 45.533224] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 45.536305] mtd_nandbiterrs: verify_page > [ 45.542464] mtd_nandbiterrs: Successfully corrected 3 bit errors per s= ubpage > [ 45.546457] mtd_nandbiterrs: Inserted biterror @ 1/7 > [ 45.553470] mtd_nandbiterrs: rewrite page > [ 45.559244] mtd_nandbiterrs: read_page > [ 45.562914] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 45.565991] mtd_nandbiterrs: verify_page > [ 45.572153] mtd_nandbiterrs: Successfully corrected 4 bit errors per s= ubpage > [ 45.576142] mtd_nandbiterrs: Inserted biterror @ 1/5 > [ 45.583158] mtd_nandbiterrs: rewrite page > [ 45.588927] mtd_nandbiterrs: read_page > [ 45.592599] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 45.595680] mtd_nandbiterrs: verify_page > [ 45.601840] mtd_nandbiterrs: Successfully corrected 5 bit errors per s= ubpage > [ 45.605831] mtd_nandbiterrs: Inserted biterror @ 1/2 > [ 45.612846] mtd_nandbiterrs: rewrite page > [ 45.618618] mtd_nandbiterrs: read_page > [ 45.622286] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 45.625434] mtd_nandbiterrs: verify_page > [ 45.631528] mtd_nandbiterrs: Successfully corrected 6 bit errors per s= ubpage > [ 45.635517] mtd_nandbiterrs: Inserted biterror @ 1/0 > [ 45.642533] mtd_nandbiterrs: rewrite page > [ 45.648303] mtd_nandbiterrs: read_page > [ 45.651975] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 45.655055] mtd_nandbiterrs: verify_page > [ 45.661215] mtd_nandbiterrs: Successfully corrected 7 bit errors per s= ubpage > [ 45.665207] mtd_nandbiterrs: Inserted biterror @ 2/6 > [ 45.672221] mtd_nandbiterrs: rewrite page > [ 45.677987] mtd_nandbiterrs: read_page > [ 45.681663] mtd_nandbiterrs: Read reported 3 corrected bit errors > [ 45.684741] mtd_nandbiterrs: verify_page > [ 45.690902] mtd_nandbiterrs: Successfully corrected 8 bit errors per s= ubpage > [ 45.694892] mtd_nandbiterrs: Inserted biterror @ 2/5 > [ 45.701908] mtd_nandbiterrs: rewrite page > [ 45.707678] mtd_nandbiterrs: read_page > [ 45.711351] mtd_nandbiterrs: error: read failed at 0x0 > [ 45.714431] mtd_nandbiterrs: After 9 biterrors per subpage, read repor= ted > error -74 > [ 45.722975] mtd_nandbiterrs: finished successfully. > [ 45.727101] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 46.200485] > [ 46.200512] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 46.201039] mtd_nandbiterrs: MTD device: 0 > [ 46.206751] mtd_nandbiterrs: MTD device size 268435456, eraseblock=3D1= 31072, > page=3D2048, oob=3D128 > [ 46.210763] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes > [ 46.219377] mtd_nandbiterrs: Using page=3D0, offset=3D0, eraseblock=3D0 > [ 46.228941] mtd_nandbiterrs: incremental biterrors test > [ 46.231522] mtd_nandbiterrs: write_page > [ 46.237524] mtd_nandbiterrs: rewrite page > [ 46.241199] mtd_nandbiterrs: read_page > [ 46.245175] mtd_nandbiterrs: verify_page > [ 46.248195] mtd_nandbiterrs: Successfully corrected 0 bit errors per s= ubpage > [ 46.252254] mtd_nandbiterrs: Inserted biterror @ 0/5 > [ 46.259317] mtd_nandbiterrs: rewrite page > [ 46.265230] mtd_nandbiterrs: read_page > [ 46.268955] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 46.271784] mtd_nandbiterrs: verify_page > [ 46.277987] mtd_nandbiterrs: Successfully corrected 1 bit errors per s= ubpage > [ 46.281941] mtd_nandbiterrs: Inserted biterror @ 0/2 > [ 46.288985] mtd_nandbiterrs: rewrite page > [ 46.294803] mtd_nandbiterrs: read_page > [ 46.298414] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 46.301472] mtd_nandbiterrs: verify_page > [ 46.307677] mtd_nandbiterrs: Successfully corrected 2 bit errors per s= ubpage > [ 46.311629] mtd_nandbiterrs: Inserted biterror @ 0/0 > [ 46.318686] mtd_nandbiterrs: rewrite page > [ 46.324470] mtd_nandbiterrs: read_page > [ 46.328100] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 46.331159] mtd_nandbiterrs: verify_page > [ 46.337371] mtd_nandbiterrs: Successfully corrected 3 bit errors per s= ubpage > [ 46.341316] mtd_nandbiterrs: Inserted biterror @ 1/7 > [ 46.348365] mtd_nandbiterrs: rewrite page > [ 46.354123] mtd_nandbiterrs: read_page > [ 46.357787] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 46.360846] mtd_nandbiterrs: verify_page > [ 46.367047] mtd_nandbiterrs: Successfully corrected 4 bit errors per s= ubpage > [ 46.371003] mtd_nandbiterrs: Inserted biterror @ 1/5 > [ 46.378046] mtd_nandbiterrs: rewrite page > [ 46.383794] mtd_nandbiterrs: read_page > [ 46.387475] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 46.390534] mtd_nandbiterrs: verify_page > [ 46.396747] mtd_nandbiterrs: Successfully corrected 5 bit errors per s= ubpage > [ 46.400691] mtd_nandbiterrs: Inserted biterror @ 1/2 > [ 46.407733] mtd_nandbiterrs: rewrite page > [ 46.413483] mtd_nandbiterrs: read_page > [ 46.417190] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 46.420222] mtd_nandbiterrs: verify_page > [ 46.426419] mtd_nandbiterrs: Successfully corrected 6 bit errors per s= ubpage > [ 46.430379] mtd_nandbiterrs: Inserted biterror @ 1/0 > [ 46.437423] mtd_nandbiterrs: rewrite page > [ 46.443168] mtd_nandbiterrs: read_page > [ 46.446875] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 46.449908] mtd_nandbiterrs: verify_page > [ 46.456109] mtd_nandbiterrs: Successfully corrected 7 bit errors per s= ubpage > [ 46.460066] mtd_nandbiterrs: Inserted biterror @ 2/6 > [ 46.467109] mtd_nandbiterrs: rewrite page > [ 46.472888] mtd_nandbiterrs: read_page > [ 46.476569] mtd_nandbiterrs: Read reported 3 corrected bit errors > [ 46.479597] mtd_nandbiterrs: verify_page > [ 46.485796] mtd_nandbiterrs: Successfully corrected 8 bit errors per s= ubpage > [ 46.489753] mtd_nandbiterrs: Inserted biterror @ 2/5 > [ 46.496797] mtd_nandbiterrs: rewrite page > [ 46.502540] mtd_nandbiterrs: read_page > [ 46.506249] mtd_nandbiterrs: error: read failed at 0x0 > [ 46.509284] mtd_nandbiterrs: After 9 biterrors per subpage, read repor= ted > error -74 > [ 46.517867] mtd_nandbiterrs: finished successfully. > [ 46.521956] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 47.150313] > [ 47.150341] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 47.150867] mtd_nandbiterrs: MTD device: 0 > [ 47.156564] mtd_nandbiterrs: MTD device size 268435456, eraseblock=3D1= 31072, > page=3D2048, oob=3D128 > [ 47.160591] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes > [ 47.169201] mtd_nandbiterrs: Using page=3D0, offset=3D0, eraseblock=3D0 > [ 47.178778] mtd_nandbiterrs: incremental biterrors test > [ 47.181350] mtd_nandbiterrs: write_page > [ 47.187334] mtd_nandbiterrs: rewrite page > [ 47.191016] mtd_nandbiterrs: read_page > [ 47.194997] mtd_nandbiterrs: verify_page > [ 47.198019] mtd_nandbiterrs: Successfully corrected 0 bit errors per s= ubpage > [ 47.202081] mtd_nandbiterrs: Inserted biterror @ 0/5 > [ 47.209132] mtd_nandbiterrs: rewrite page > [ 47.214962] mtd_nandbiterrs: read_page > [ 47.218554] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 47.221612] mtd_nandbiterrs: verify_page > [ 47.227814] mtd_nandbiterrs: Successfully corrected 1 bit errors per s= ubpage > [ 47.231769] mtd_nandbiterrs: Inserted biterror @ 0/2 > [ 47.238816] mtd_nandbiterrs: rewrite page > [ 47.244574] mtd_nandbiterrs: read_page > [ 47.248242] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 47.251300] mtd_nandbiterrs: verify_page > [ 47.257499] mtd_nandbiterrs: Successfully corrected 2 bit errors per s= ubpage > [ 47.261457] mtd_nandbiterrs: Inserted biterror @ 0/0 > [ 47.268504] mtd_nandbiterrs: rewrite page > [ 47.274301] mtd_nandbiterrs: read_page > [ 47.277930] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 47.280987] mtd_nandbiterrs: verify_page > [ 47.287187] mtd_nandbiterrs: Successfully corrected 3 bit errors per s= ubpage > [ 47.291145] mtd_nandbiterrs: Inserted biterror @ 1/7 > [ 47.298191] mtd_nandbiterrs: rewrite page > [ 47.303951] mtd_nandbiterrs: read_page > [ 47.307619] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 47.310675] mtd_nandbiterrs: verify_page > [ 47.316876] mtd_nandbiterrs: Successfully corrected 4 bit errors per s= ubpage > [ 47.320832] mtd_nandbiterrs: Inserted biterror @ 1/5 > [ 47.327875] mtd_nandbiterrs: rewrite page > [ 47.333629] mtd_nandbiterrs: read_page > [ 47.337305] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 47.340362] mtd_nandbiterrs: verify_page > [ 47.346563] mtd_nandbiterrs: Successfully corrected 5 bit errors per s= ubpage > [ 47.350519] mtd_nandbiterrs: Inserted biterror @ 1/2 > [ 47.357561] mtd_nandbiterrs: rewrite page > [ 47.363310] mtd_nandbiterrs: read_page > [ 47.367021] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 47.370050] mtd_nandbiterrs: verify_page > [ 47.376248] mtd_nandbiterrs: Successfully corrected 6 bit errors per s= ubpage > [ 47.380207] mtd_nandbiterrs: Inserted biterror @ 1/0 > [ 47.387250] mtd_nandbiterrs: rewrite page > [ 47.392996] mtd_nandbiterrs: read_page > [ 47.396703] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 47.399737] mtd_nandbiterrs: verify_page > [ 47.405936] mtd_nandbiterrs: Successfully corrected 7 bit errors per s= ubpage > [ 47.409894] mtd_nandbiterrs: Inserted biterror @ 2/6 > [ 47.416938] mtd_nandbiterrs: rewrite page > [ 47.422685] mtd_nandbiterrs: read_page > [ 47.426387] mtd_nandbiterrs: Read reported 3 corrected bit errors > [ 47.429424] mtd_nandbiterrs: verify_page > [ 47.435637] mtd_nandbiterrs: Successfully corrected 8 bit errors per s= ubpage > [ 47.439582] mtd_nandbiterrs: Inserted biterror @ 2/5 > [ 47.446624] mtd_nandbiterrs: rewrite page > [ 47.452369] mtd_nandbiterrs: read_page > [ 47.456080] mtd_nandbiterrs: error: read failed at 0x0 > [ 47.459111] mtd_nandbiterrs: After 9 biterrors per subpage, read repor= ted > error -74 > [ 47.467699] mtd_nandbiterrs: finished successfully. > [ 47.471784] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 48.080311] > [ 48.080339] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 48.080866] mtd_nandbiterrs: MTD device: 0 > [ 48.086560] mtd_nandbiterrs: MTD device size 268435456, eraseblock=3D1= 31072, > page=3D2048, oob=3D128 > [ 48.090590] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes > [ 48.099204] mtd_nandbiterrs: Using page=3D0, offset=3D0, eraseblock=3D0 > [ 48.108765] mtd_nandbiterrs: incremental biterrors test > [ 48.111353] mtd_nandbiterrs: write_page > [ 48.117325] mtd_nandbiterrs: rewrite page > [ 48.121017] mtd_nandbiterrs: read_page > [ 48.124996] mtd_nandbiterrs: verify_page > [ 48.128017] mtd_nandbiterrs: Successfully corrected 0 bit errors per s= ubpage > [ 48.132080] mtd_nandbiterrs: Inserted biterror @ 0/5 > [ 48.139131] mtd_nandbiterrs: rewrite page > [ 48.144881] mtd_nandbiterrs: read_page > [ 48.148552] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 48.151611] mtd_nandbiterrs: verify_page > [ 48.157816] mtd_nandbiterrs: Successfully corrected 1 bit errors per s= ubpage > [ 48.161768] mtd_nandbiterrs: Inserted biterror @ 0/2 > [ 48.168891] mtd_nandbiterrs: rewrite page > [ 48.174571] mtd_nandbiterrs: read_page > [ 48.178241] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 48.181299] mtd_nandbiterrs: verify_page > [ 48.187500] mtd_nandbiterrs: Successfully corrected 2 bit errors per s= ubpage > [ 48.191455] mtd_nandbiterrs: Inserted biterror @ 0/0 > [ 48.198506] mtd_nandbiterrs: rewrite page > [ 48.204299] mtd_nandbiterrs: read_page > [ 48.207931] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 48.210985] mtd_nandbiterrs: verify_page > [ 48.217187] mtd_nandbiterrs: Successfully corrected 3 bit errors per s= ubpage > [ 48.221142] mtd_nandbiterrs: Inserted biterror @ 1/7 > [ 48.228188] mtd_nandbiterrs: rewrite page > [ 48.233950] mtd_nandbiterrs: read_page > [ 48.237617] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 48.240673] mtd_nandbiterrs: verify_page > [ 48.246872] mtd_nandbiterrs: Successfully corrected 4 bit errors per s= ubpage > [ 48.250831] mtd_nandbiterrs: Inserted biterror @ 1/5 > [ 48.257875] mtd_nandbiterrs: rewrite page > [ 48.263631] mtd_nandbiterrs: read_page > [ 48.267303] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 48.270361] mtd_nandbiterrs: verify_page > [ 48.276560] mtd_nandbiterrs: Successfully corrected 5 bit errors per s= ubpage > [ 48.280531] mtd_nandbiterrs: Inserted biterror @ 1/2 > [ 48.287592] mtd_nandbiterrs: rewrite page > [ 48.293338] mtd_nandbiterrs: read_page > [ 48.297030] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 48.300049] mtd_nandbiterrs: verify_page > [ 48.306247] mtd_nandbiterrs: Successfully corrected 6 bit errors per s= ubpage > [ 48.310205] mtd_nandbiterrs: Inserted biterror @ 1/0 > [ 48.317250] mtd_nandbiterrs: rewrite page > [ 48.322994] mtd_nandbiterrs: read_page > [ 48.326705] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 48.329736] mtd_nandbiterrs: verify_page > [ 48.335935] mtd_nandbiterrs: Successfully corrected 7 bit errors per s= ubpage > [ 48.339892] mtd_nandbiterrs: Inserted biterror @ 2/6 > [ 48.346936] mtd_nandbiterrs: rewrite page > [ 48.352633] mtd_nandbiterrs: read_page > [ 48.356391] mtd_nandbiterrs: Read reported 3 corrected bit errors > [ 48.359423] mtd_nandbiterrs: verify_page > [ 48.365626] mtd_nandbiterrs: Successfully corrected 8 bit errors per s= ubpage > [ 48.369581] mtd_nandbiterrs: Inserted biterror @ 2/5 > [ 48.376627] mtd_nandbiterrs: rewrite page > [ 48.382322] mtd_nandbiterrs: read_page > [ 48.386077] mtd_nandbiterrs: error: read failed at 0x0 > [ 48.389110] mtd_nandbiterrs: After 9 biterrors per subpage, read repor= ted > error -74 > [ 48.397695] mtd_nandbiterrs: finished successfully. > [ 48.401783] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 48.940558] > [ 48.940586] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > [ 48.941112] mtd_nandbiterrs: MTD device: 0 > [ 48.946811] mtd_nandbiterrs: MTD device size 268435456, eraseblock=3D1= 31072, > page=3D2048, oob=3D128 > [ 48.950837] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes > [ 48.959448] mtd_nandbiterrs: Using page=3D0, offset=3D0, eraseblock=3D0 > [ 48.969014] mtd_nandbiterrs: incremental biterrors test > [ 48.971596] mtd_nandbiterrs: write_page > [ 48.977594] mtd_nandbiterrs: rewrite page > [ 48.981277] mtd_nandbiterrs: read_page > [ 48.985247] mtd_nandbiterrs: verify_page > [ 48.988269] mtd_nandbiterrs: Successfully corrected 0 bit errors per s= ubpage > [ 48.992327] mtd_nandbiterrs: Inserted biterror @ 0/5 > [ 48.999428] mtd_nandbiterrs: rewrite page > [ 49.005508] mtd_nandbiterrs: read_page > [ 49.008836] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 49.011858] mtd_nandbiterrs: verify_page > [ 49.018061] mtd_nandbiterrs: Successfully corrected 1 bit errors per s= ubpage > [ 49.022015] mtd_nandbiterrs: Inserted biterror @ 0/2 > [ 49.029058] mtd_nandbiterrs: rewrite page > [ 49.034848] mtd_nandbiterrs: read_page > [ 49.038516] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 49.041545] mtd_nandbiterrs: verify_page > [ 49.047755] mtd_nandbiterrs: Successfully corrected 2 bit errors per s= ubpage > [ 49.051702] mtd_nandbiterrs: Inserted biterror @ 0/0 > [ 49.058760] mtd_nandbiterrs: rewrite page > [ 49.064565] mtd_nandbiterrs: read_page > [ 49.068203] mtd_nandbiterrs: Read reported 1 corrected bit errors > [ 49.071232] mtd_nandbiterrs: verify_page > [ 49.077432] mtd_nandbiterrs: Successfully corrected 3 bit errors per s= ubpage > [ 49.081389] mtd_nandbiterrs: Inserted biterror @ 1/7 > [ 49.088432] mtd_nandbiterrs: rewrite page > [ 49.094197] mtd_nandbiterrs: read_page > [ 49.097889] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 49.100919] mtd_nandbiterrs: verify_page > [ 49.107121] mtd_nandbiterrs: Successfully corrected 4 bit errors per s= ubpage > [ 49.111077] mtd_nandbiterrs: Inserted biterror @ 1/5 > [ 49.118137] mtd_nandbiterrs: rewrite page > [ 49.123892] mtd_nandbiterrs: read_page > [ 49.127576] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 49.130608] mtd_nandbiterrs: verify_page > [ 49.136808] mtd_nandbiterrs: Successfully corrected 5 bit errors per s= ubpage > [ 49.140764] mtd_nandbiterrs: Inserted biterror @ 1/2 > [ 49.147807] mtd_nandbiterrs: rewrite page > [ 49.153607] mtd_nandbiterrs: read_page > [ 49.157268] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 49.160294] mtd_nandbiterrs: verify_page > [ 49.166496] mtd_nandbiterrs: Successfully corrected 6 bit errors per s= ubpage > [ 49.170452] mtd_nandbiterrs: Inserted biterror @ 1/0 > [ 49.177498] mtd_nandbiterrs: rewrite page > [ 49.183253] mtd_nandbiterrs: read_page > [ 49.186974] mtd_nandbiterrs: Read reported 2 corrected bit errors > [ 49.189983] mtd_nandbiterrs: verify_page > [ 49.196194] mtd_nandbiterrs: Successfully corrected 7 bit errors per s= ubpage > [ 49.200140] mtd_nandbiterrs: Inserted biterror @ 2/6 > [ 49.207182] mtd_nandbiterrs: rewrite page > [ 49.212895] mtd_nandbiterrs: read_page > [ 49.216671] mtd_nandbiterrs: Read reported 3 corrected bit errors > [ 49.219670] mtd_nandbiterrs: verify_page > [ 49.225872] mtd_nandbiterrs: Successfully corrected 8 bit errors per s= ubpage > [ 49.229827] mtd_nandbiterrs: Inserted biterror @ 2/5 > [ 49.236871] mtd_nandbiterrs: rewrite page > [ 49.242629] mtd_nandbiterrs: read_page > [ 49.246348] mtd_nandbiterrs: error: read failed at 0x0 > [ 49.249356] mtd_nandbiterrs: After 9 biterrors per subpage, read repor= ted > error -74 > [ 49.257958] mtd_nandbiterrs: finished successfully. > [ 49.262029] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > # This is not the intended behavior. The reporting is wrong and should report an increasing number of bitflips instead of 1, 1, 1, 2, 2, 2, 2, 3. With this behavior, wear levelling will not work correctly. This is not related to Gabor's changes, but I believe this should be updated otherwise it does not make much sense to increase the strength. Gabor, can you look into it? Both patches look fine otherwise, thanks a lot! Miqu=C3=A8l From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6A3CEC3ABBC for ; Mon, 12 May 2025 08:37:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EDGbClVB9ZJH17/UkArlAiVEvlHXZ097KX5gMI7tpSo=; b=xiMp8k4WyL4/ry amUkicEY1YyRwprBC0F0qCKIIlUqNTL1cVzbgHlxtGeu7SElwAiSzqFrKtLtM+EVA0e48HoyOJyV+ 0lgF3Q0wH7rBys3IJjP95P+6PQBjxLFGIhQTep6EVmFo8R8bo8aNOHZPTQR4clqBgRQiLA42oSYOx OCvoehJ+klpaCLyXLRYM0xzr0wYXljRJnG9BahZNxX4ojuDb/gS1QE/ujV5QmMEbdSV4/erPl6OrR 0A2ARUAEdsw+plrAg1LttGGF15zqHOzTt5kk623zA8leAcs7/ciqhNi2RMrYtZEhfqL2Tpr5Vl1bN ozjzGFwmhAJTmFFvsP3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uEOf0-00000008m5l-3Dvd; Mon, 12 May 2025 08:37:18 +0000 Received: from relay2-d.mail.gandi.net ([2001:4b98:dc4:8::222]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uEOaK-00000008lKq-314k for linux-mtd@lists.infradead.org; Mon, 12 May 2025 08:32:30 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 8B04343159; Mon, 12 May 2025 08:32:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1747038745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=25cSWVOEKZ1VP77Jx5jaMaLaHYR9JlnvU1JHD3mwYw8=; b=A7It7FKpj3JBU9iHEedfI0AtnqV5K5aUOigplK8DMO6OtHlxL8DtqxNhP9SjQXFyF8LsmD iayCCKqUUGA3CvMJ4/j6AzPjT4uuNHnG0fYuRQElk2uX+wbDJLvR/qec/zIadkI/8GQwdQ N+jI4XHw5Sgv0mOk+ZOpT5gTJ1YtYFUl6ut4AWu4rp5Iywb6vArZTyKzb1aEW6ZoO+j8FT N8VCBlq3nGw7Ch7JJXuKkxVxh7wkDPpKiIj+GV0iXBZFPsV4ENOWgv/Y3jBUKxAwui9uEw t5u30FQcL4qQc62SQYBgAa3D1+1y2lRdZi10LXNfgYncIKu3jhSBy3SXz+nswA== From: Miquel Raynal To: Gabor Juhos Cc: Md Sadre Alam , Mark Brown , Manivannan Sadhasivam , Richard Weinberger , Vignesh Raghavendra , Varadarajan Narayanan , Sricharan Ramabadhran , linux-spi@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH next 2/2] spi: spi-qpic-snand: add support for 8 bits ECC strength In-Reply-To: (Gabor Juhos's message of "Mon, 5 May 2025 15:21:52 +0200") References: <20250502-qpic-snand-8bit-ecc-v1-0-95f3cd08bbc5@gmail.com> <20250502-qpic-snand-8bit-ecc-v1-2-95f3cd08bbc5@gmail.com> <8aa3d4da-da3e-2af4-e0f9-cd56d6259d8f@quicinc.com> User-Agent: mu4e 1.12.7; emacs 29.4 Date: Mon, 12 May 2025 10:32:23 +0200 Message-ID: <878qn2nsa0.fsf@bootlin.com> MIME-Version: 1.0 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeftddtjeelucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjfhgffffkgggtgfesthhqredttderjeenucfhrhhomhepofhiqhhuvghlucftrgihnhgrlhcuoehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmqeenucggtffrrghtthgvrhhnpeffgefhjedtfeeigeduudekudejkedtiefhleelueeiueevheekvdeludehiedvfeenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihhquhgvlhdrrhgrhihnrghlsegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopeduvddprhgtphhtthhopehjgehgkeihjeesghhmrghilhdrtghomhdprhgtphhtthhopehquhhitggpmhgurghlrghmsehquhhitghinhgtrdgtohhmpdhrtghpthhtohepsghrohhonhhivgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrnhhivhgrnhhnrghnrdhsrgguhhgrshhivhgrmheslhhinhgrrhhordhorhhgpdhrtghpthhtoheprhhitghhrghrugesnhhougdrrghtpdhrtghpthhto hepvhhighhnvghshhhrsehtihdrtghomhdprhgtphhtthhopehquhhitggpvhgrrhgruggrsehquhhitghinhgtrdgtohhmpdhrtghpthhtohepqhhuihgtpghsrhhitghhrghrrgesqhhuihgtihhntgdrtghomh X-GND-Sasl: miquel.raynal@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250512_013229_059558_46B81836 X-CRM114-Status: UNSURE ( 7.02 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gMDUvMDUvMjAyNSBhdCAxNToyMTo1MiArMDIsIEdhYm9yIEp1aG9zIDxqNGc4eTdAZ21haWwu Y29tPiB3cm90ZToKCj4gMjAyNS4gMDUuIDA1LiAxMzoxNyBrZWx0ZXrDqXNzZWwsIE1kIFNhZHJl IEFsYW0gw61ydGE6Cj4+IAo+PiAKPgo+IFsuLi5dCj4KPj4+IMKgwqAgWyAyNzIwLjM0NDE2M10g bXRkX3N0cmVzc3Rlc3Q6IDgxOTIgb3BlcmF0aW9ucyBkb25lCj4+PiDCoMKgIFsgMjc2MS42NDU2 NDBdIG10ZF9zdHJlc3N0ZXN0OiA5MjE2IG9wZXJhdGlvbnMgZG9uZQo+Pj4gwqDCoCBbIDI3OTEu NzYwNTM0XSBtdGRfc3RyZXNzdGVzdDogZmluaXNoZWQsIDEwMDAwIG9wZXJhdGlvbnMgZG9uZQo+ Pj4gwqDCoCBbIDI3OTEuNzYwODE3XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4+PiDCoMKgICMKPj4gQ291bGQgeW91IHBsZWFzZSBydW4gYml0ZXJy b3IgdGVzdCAibXRkX25hbmRiaXRlcnJzIiB3aXRoIHRoZSBzYW1lIGRldmljZSwgc2luY2UKPj4g eW91IGFyZSBhZGRpbmcgOC1iaXQgRUNDIHN1cHBvcnQuCj4KPiBTdXJlLCBoZXJlIGlzIHRoZSBy ZXN1bHQ6Cj4KPiAjIGluc21vZCBtdGRfdGVzdAo+ICMgZm9yIGkgaW4gJChzZXEgMCA0KTsgZG8g aW5zbW9kIG10ZF9uYW5kYml0ZXJyczsgZG9uZQo+IFsgICA0NS40MDU2MTBdCj4gWyAgIDQ1LjQw NTYzOF0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K PiBbICAgNDUuNDA2MTY0XSBtdGRfbmFuZGJpdGVycnM6IE1URCBkZXZpY2U6IDAKPiBbICAgNDUu NDExODA3XSBtdGRfbmFuZGJpdGVycnM6IE1URCBkZXZpY2Ugc2l6ZSAyNjg0MzU0NTYsIGVyYXNl YmxvY2s9MTMxMDcyLAo+IHBhZ2U9MjA0OCwgb29iPTEyOAo+IFsgICA0NS40MTU5OTBdIG10ZF9u YW5kYml0ZXJyczogRGV2aWNlIHVzZXMgMSBzdWJwYWdlcyBvZiAyMDQ4IGJ5dGVzCj4gWyAgIDQ1 LjQyNDQ5NV0gbXRkX25hbmRiaXRlcnJzOiBVc2luZyBwYWdlPTAsIG9mZnNldD0wLCBlcmFzZWJs b2NrPTAKPiBbICAgNDUuNDM0Njg2XSBtdGRfbmFuZGJpdGVycnM6IGluY3JlbWVudGFsIGJpdGVy cm9ycyB0ZXN0Cj4gWyAgIDQ1LjQzNjY1M10gbXRkX25hbmRiaXRlcnJzOiB3cml0ZV9wYWdlCj4g WyAgIDQ1LjQ0MjYzNF0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDUuNDQ2 NDA4XSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0NS40NTAzNDZdIG10ZF9uYW5k Yml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDUuNDUzMzIwXSBtdGRfbmFuZGJpdGVycnM6IFN1 Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMCBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ1LjQ1 NzQwNV0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAvNQo+IFsgICA0NS40 NjQ0MzFdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1LjQ3MDIxNl0gbXRk X25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDUuNDczODUyXSBtdGRfbmFuZGJpdGVycnM6 IFJlYWQgcmVwb3J0ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0NS40NzY5MDldIG10 ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDUuNDgzMDkwXSBtdGRfbmFuZGJpdGVy cnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMSBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAg IDQ1LjQ4NzA5OF0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAvMgo+IFsg ICA0NS40OTQxMTFdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1LjQ5OTg1 MF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDUuNTAzNTU3XSBtdGRfbmFuZGJp dGVycnM6IFJlYWQgcmVwb3J0ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0NS41MDY1 OTddIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDUuNTEyNzc3XSBtdGRfbmFu ZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMiBiaXQgZXJyb3JzIHBlciBzdWJwYWdl Cj4gWyAgIDQ1LjUxNjc2OF0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAv MAo+IFsgICA0NS41MjM4MTBdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1 LjUyOTU4Nl0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDUuNTMzMjI0XSBtdGRf bmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0 NS41MzYzMDVdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDUuNTQyNDY0XSBt dGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMyBiaXQgZXJyb3JzIHBlciBz dWJwYWdlCj4gWyAgIDQ1LjU0NjQ1N10gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJv ciBAIDEvNwo+IFsgICA0NS41NTM0NzBdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4g WyAgIDQ1LjU1OTI0NF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDUuNTYyOTE0 XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVycm9ycwo+ IFsgICA0NS41NjU5OTFdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDUuNTcy MTUzXSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNCBiaXQgZXJyb3Jz IHBlciBzdWJwYWdlCj4gWyAgIDQ1LjU3NjE0Ml0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBi aXRlcnJvciBAIDEvNQo+IFsgICA0NS41ODMxNThdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBw YWdlCj4gWyAgIDQ1LjU4ODkyN10gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDUu NTkyNTk5XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVy cm9ycwo+IFsgICA0NS41OTU2ODBdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAg NDUuNjAxODQwXSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNSBiaXQg ZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ1LjYwNTgzMV0gbXRkX25hbmRiaXRlcnJzOiBJbnNl cnRlZCBiaXRlcnJvciBAIDEvMgo+IFsgICA0NS42MTI4NDZdIG10ZF9uYW5kYml0ZXJyczogcmV3 cml0ZSBwYWdlCj4gWyAgIDQ1LjYxODYxOF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBb ICAgNDUuNjIyMjg2XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQg Yml0IGVycm9ycwo+IFsgICA0NS42MjU0MzRdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UK PiBbICAgNDUuNjMxNTI4XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQg NiBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ1LjYzNTUxN10gbXRkX25hbmRiaXRlcnJz OiBJbnNlcnRlZCBiaXRlcnJvciBAIDEvMAo+IFsgICA0NS42NDI1MzNdIG10ZF9uYW5kYml0ZXJy czogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1LjY0ODMwM10gbXRkX25hbmRiaXRlcnJzOiByZWFkX3Bh Z2UKPiBbICAgNDUuNjUxOTc1XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3Jy ZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0NS42NTUwNTVdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5 X3BhZ2UKPiBbICAgNDUuNjYxMjE1XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3Jy ZWN0ZWQgNyBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ1LjY2NTIwN10gbXRkX25hbmRi aXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDIvNgo+IFsgICA0NS42NzIyMjFdIG10ZF9uYW5k Yml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1LjY3Nzk4N10gbXRkX25hbmRiaXRlcnJzOiBy ZWFkX3BhZ2UKPiBbICAgNDUuNjgxNjYzXSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQg MyBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0NS42ODQ3NDFdIG10ZF9uYW5kYml0ZXJyczog dmVyaWZ5X3BhZ2UKPiBbICAgNDUuNjkwOTAyXSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxs eSBjb3JyZWN0ZWQgOCBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ1LjY5NDg5Ml0gbXRk X25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDIvNQo+IFsgICA0NS43MDE5MDhdIG10 ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ1LjcwNzY3OF0gbXRkX25hbmRiaXRl cnJzOiByZWFkX3BhZ2UKPiBbICAgNDUuNzExMzUxXSBtdGRfbmFuZGJpdGVycnM6IGVycm9yOiBy ZWFkIGZhaWxlZCBhdCAweDAKPiBbICAgNDUuNzE0NDMxXSBtdGRfbmFuZGJpdGVycnM6IEFmdGVy IDkgYml0ZXJyb3JzIHBlciBzdWJwYWdlLCByZWFkIHJlcG9ydGVkCj4gZXJyb3IgLTc0Cj4gWyAg IDQ1LjcyMjk3NV0gbXRkX25hbmRiaXRlcnJzOiBmaW5pc2hlZCBzdWNjZXNzZnVsbHkuCj4gWyAg IDQ1LjcyNzEwMV0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KPiBbICAgNDYuMjAwNDg1XQo+IFsgICA0Ni4yMDA1MTJdID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gWyAgIDQ2LjIwMTAzOV0gbXRkX25h bmRiaXRlcnJzOiBNVEQgZGV2aWNlOiAwCj4gWyAgIDQ2LjIwNjc1MV0gbXRkX25hbmRiaXRlcnJz OiBNVEQgZGV2aWNlIHNpemUgMjY4NDM1NDU2LCBlcmFzZWJsb2NrPTEzMTA3MiwKPiBwYWdlPTIw NDgsIG9vYj0xMjgKPiBbICAgNDYuMjEwNzYzXSBtdGRfbmFuZGJpdGVycnM6IERldmljZSB1c2Vz IDEgc3VicGFnZXMgb2YgMjA0OCBieXRlcwo+IFsgICA0Ni4yMTkzNzddIG10ZF9uYW5kYml0ZXJy czogVXNpbmcgcGFnZT0wLCBvZmZzZXQ9MCwgZXJhc2VibG9jaz0wCj4gWyAgIDQ2LjIyODk0MV0g bXRkX25hbmRiaXRlcnJzOiBpbmNyZW1lbnRhbCBiaXRlcnJvcnMgdGVzdAo+IFsgICA0Ni4yMzE1 MjJdIG10ZF9uYW5kYml0ZXJyczogd3JpdGVfcGFnZQo+IFsgICA0Ni4yMzc1MjRdIG10ZF9uYW5k Yml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ2LjI0MTE5OV0gbXRkX25hbmRiaXRlcnJzOiBy ZWFkX3BhZ2UKPiBbICAgNDYuMjQ1MTc1XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4g WyAgIDQ2LjI0ODE5NV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDAg Yml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0Ni4yNTIyNTRdIG10ZF9uYW5kYml0ZXJyczog SW5zZXJ0ZWQgYml0ZXJyb3IgQCAwLzUKPiBbICAgNDYuMjU5MzE3XSBtdGRfbmFuZGJpdGVycnM6 IHJld3JpdGUgcGFnZQo+IFsgICA0Ni4yNjUyMzBdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdl Cj4gWyAgIDQ2LjI2ODk1NV0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDEgY29ycmVj dGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuMjcxNzg0XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9w YWdlCj4gWyAgIDQ2LjI3Nzk4N10gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVj dGVkIDEgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0Ni4yODE5NDFdIG10ZF9uYW5kYml0 ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAwLzIKPiBbICAgNDYuMjg4OTg1XSBtdGRfbmFuZGJp dGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0Ni4yOTQ4MDNdIG10ZF9uYW5kYml0ZXJyczogcmVh ZF9wYWdlCj4gWyAgIDQ2LjI5ODQxNF0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDEg Y29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuMzAxNDcyXSBtdGRfbmFuZGJpdGVycnM6IHZl cmlmeV9wYWdlCj4gWyAgIDQ2LjMwNzY3N10gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkg Y29ycmVjdGVkIDIgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0Ni4zMTE2MjldIG10ZF9u YW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAwLzAKPiBbICAgNDYuMzE4Njg2XSBtdGRf bmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0Ni4zMjQ0NzBdIG10ZF9uYW5kYml0ZXJy czogcmVhZF9wYWdlCj4gWyAgIDQ2LjMyODEwMF0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9y dGVkIDEgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuMzMxMTU5XSBtdGRfbmFuZGJpdGVy cnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjMzNzM3MV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNz ZnVsbHkgY29ycmVjdGVkIDMgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0Ni4zNDEzMTZd IG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzcKPiBbICAgNDYuMzQ4MzY1 XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0Ni4zNTQxMjNdIG10ZF9uYW5k Yml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2LjM1Nzc4N10gbXRkX25hbmRiaXRlcnJzOiBSZWFk IHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuMzYwODQ2XSBtdGRfbmFu ZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjM2NzA0N10gbXRkX25hbmRiaXRlcnJzOiBT dWNjZXNzZnVsbHkgY29ycmVjdGVkIDQgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0Ni4z NzEwMDNdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzUKPiBbICAgNDYu Mzc4MDQ2XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0Ni4zODM3OTRdIG10 ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2LjM4NzQ3NV0gbXRkX25hbmRiaXRlcnJz OiBSZWFkIHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuMzkwNTM0XSBt dGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjM5Njc0N10gbXRkX25hbmRiaXRl cnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDUgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsg ICA0Ni40MDA2OTFdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzIKPiBb ICAgNDYuNDA3NzMzXSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0Ni40MTM0 ODNdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2LjQxNzE5MF0gbXRkX25hbmRi aXRlcnJzOiBSZWFkIHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDYuNDIw MjIyXSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjQyNjQxOV0gbXRkX25h bmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDYgYml0IGVycm9ycyBwZXIgc3VicGFn ZQo+IFsgICA0Ni40MzAzNzldIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAx LzAKPiBbICAgNDYuNDM3NDIzXSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0 Ni40NDMxNjhdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2LjQ0Njg3NV0gbXRk X25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAg NDYuNDQ5OTA4XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjQ1NjEwOV0g bXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDcgYml0IGVycm9ycyBwZXIg c3VicGFnZQo+IFsgICA0Ni40NjAwNjZdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJy b3IgQCAyLzYKPiBbICAgNDYuNDY3MTA5XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+ IFsgICA0Ni40NzI4ODhdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2LjQ3NjU2 OV0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDMgY29ycmVjdGVkIGJpdCBlcnJvcnMK PiBbICAgNDYuNDc5NTk3XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ2LjQ4 NTc5Nl0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDggYml0IGVycm9y cyBwZXIgc3VicGFnZQo+IFsgICA0Ni40ODk3NTNdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQg Yml0ZXJyb3IgQCAyLzUKPiBbICAgNDYuNDk2Nzk3XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUg cGFnZQo+IFsgICA0Ni41MDI1NDBdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ2 LjUwNjI0OV0gbXRkX25hbmRiaXRlcnJzOiBlcnJvcjogcmVhZCBmYWlsZWQgYXQgMHgwCj4gWyAg IDQ2LjUwOTI4NF0gbXRkX25hbmRiaXRlcnJzOiBBZnRlciA5IGJpdGVycm9ycyBwZXIgc3VicGFn ZSwgcmVhZCByZXBvcnRlZAo+IGVycm9yIC03NAo+IFsgICA0Ni41MTc4NjddIG10ZF9uYW5kYml0 ZXJyczogZmluaXNoZWQgc3VjY2Vzc2Z1bGx5Lgo+IFsgICA0Ni41MjE5NTZdID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gWyAgIDQ3LjE1MDMxM10K PiBbICAgNDcuMTUwMzQxXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQo+IFsgICA0Ny4xNTA4NjddIG10ZF9uYW5kYml0ZXJyczogTVREIGRldmljZTog MAo+IFsgICA0Ny4xNTY1NjRdIG10ZF9uYW5kYml0ZXJyczogTVREIGRldmljZSBzaXplIDI2ODQz NTQ1NiwgZXJhc2VibG9jaz0xMzEwNzIsCj4gcGFnZT0yMDQ4LCBvb2I9MTI4Cj4gWyAgIDQ3LjE2 MDU5MV0gbXRkX25hbmRiaXRlcnJzOiBEZXZpY2UgdXNlcyAxIHN1YnBhZ2VzIG9mIDIwNDggYnl0 ZXMKPiBbICAgNDcuMTY5MjAxXSBtdGRfbmFuZGJpdGVycnM6IFVzaW5nIHBhZ2U9MCwgb2Zmc2V0 PTAsIGVyYXNlYmxvY2s9MAo+IFsgICA0Ny4xNzg3NzhdIG10ZF9uYW5kYml0ZXJyczogaW5jcmVt ZW50YWwgYml0ZXJyb3JzIHRlc3QKPiBbICAgNDcuMTgxMzUwXSBtdGRfbmFuZGJpdGVycnM6IHdy aXRlX3BhZ2UKPiBbICAgNDcuMTg3MzM0XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+ IFsgICA0Ny4xOTEwMTZdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ3LjE5NDk5 N10gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0Ny4xOTgwMTldIG10ZF9uYW5k Yml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCAwIGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UK PiBbICAgNDcuMjAyMDgxXSBtdGRfbmFuZGJpdGVycnM6IEluc2VydGVkIGJpdGVycm9yIEAgMC81 Cj4gWyAgIDQ3LjIwOTEzMl0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDcu MjE0OTYyXSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0Ny4yMTg1NTRdIG10ZF9u YW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAxIGNvcnJlY3RlZCBiaXQgZXJyb3JzCj4gWyAgIDQ3 LjIyMTYxMl0gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0Ny4yMjc4MTRdIG10 ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCAxIGJpdCBlcnJvcnMgcGVyIHN1 YnBhZ2UKPiBbICAgNDcuMjMxNzY5XSBtdGRfbmFuZGJpdGVycnM6IEluc2VydGVkIGJpdGVycm9y IEAgMC8yCj4gWyAgIDQ3LjIzODgxNl0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBb ICAgNDcuMjQ0NTc0XSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0Ny4yNDgyNDJd IG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAxIGNvcnJlY3RlZCBiaXQgZXJyb3JzCj4g WyAgIDQ3LjI1MTMwMF0gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0Ny4yNTc0 OTldIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCAyIGJpdCBlcnJvcnMg cGVyIHN1YnBhZ2UKPiBbICAgNDcuMjYxNDU3XSBtdGRfbmFuZGJpdGVycnM6IEluc2VydGVkIGJp dGVycm9yIEAgMC8wCj4gWyAgIDQ3LjI2ODUwNF0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBh Z2UKPiBbICAgNDcuMjc0MzAxXSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0Ny4y Nzc5MzBdIG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAxIGNvcnJlY3RlZCBiaXQgZXJy b3JzCj4gWyAgIDQ3LjI4MDk4N10gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0 Ny4yODcxODddIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCAzIGJpdCBl cnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcuMjkxMTQ1XSBtdGRfbmFuZGJpdGVycnM6IEluc2Vy dGVkIGJpdGVycm9yIEAgMS83Cj4gWyAgIDQ3LjI5ODE5MV0gbXRkX25hbmRiaXRlcnJzOiByZXdy aXRlIHBhZ2UKPiBbICAgNDcuMzAzOTUxXSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsg ICA0Ny4zMDc2MTldIG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAyIGNvcnJlY3RlZCBi aXQgZXJyb3JzCj4gWyAgIDQ3LjMxMDY3NV0gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+ IFsgICA0Ny4zMTY4NzZdIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCA0 IGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcuMzIwODMyXSBtdGRfbmFuZGJpdGVycnM6 IEluc2VydGVkIGJpdGVycm9yIEAgMS81Cj4gWyAgIDQ3LjMyNzg3NV0gbXRkX25hbmRiaXRlcnJz OiByZXdyaXRlIHBhZ2UKPiBbICAgNDcuMzMzNjI5XSBtdGRfbmFuZGJpdGVycnM6IHJlYWRfcGFn ZQo+IFsgICA0Ny4zMzczMDVdIG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAyIGNvcnJl Y3RlZCBiaXQgZXJyb3JzCj4gWyAgIDQ3LjM0MDM2Ml0gbXRkX25hbmRiaXRlcnJzOiB2ZXJpZnlf cGFnZQo+IFsgICA0Ny4zNDY1NjNdIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5IGNvcnJl Y3RlZCA1IGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcuMzUwNTE5XSBtdGRfbmFuZGJp dGVycnM6IEluc2VydGVkIGJpdGVycm9yIEAgMS8yCj4gWyAgIDQ3LjM1NzU2MV0gbXRkX25hbmRi aXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDcuMzYzMzEwXSBtdGRfbmFuZGJpdGVycnM6IHJl YWRfcGFnZQo+IFsgICA0Ny4zNjcwMjFdIG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBvcnRlZCAy IGNvcnJlY3RlZCBiaXQgZXJyb3JzCj4gWyAgIDQ3LjM3MDA1MF0gbXRkX25hbmRiaXRlcnJzOiB2 ZXJpZnlfcGFnZQo+IFsgICA0Ny4zNzYyNDhdIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vzc2Z1bGx5 IGNvcnJlY3RlZCA2IGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcuMzgwMjA3XSBtdGRf bmFuZGJpdGVycnM6IEluc2VydGVkIGJpdGVycm9yIEAgMS8wCj4gWyAgIDQ3LjM4NzI1MF0gbXRk X25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDcuMzkyOTk2XSBtdGRfbmFuZGJpdGVy cnM6IHJlYWRfcGFnZQo+IFsgICA0Ny4zOTY3MDNdIG10ZF9uYW5kYml0ZXJyczogUmVhZCByZXBv cnRlZCAyIGNvcnJlY3RlZCBiaXQgZXJyb3JzCj4gWyAgIDQ3LjM5OTczN10gbXRkX25hbmRiaXRl cnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0Ny40MDU5MzZdIG10ZF9uYW5kYml0ZXJyczogU3VjY2Vz c2Z1bGx5IGNvcnJlY3RlZCA3IGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcuNDA5ODk0 XSBtdGRfbmFuZGJpdGVycnM6IEluc2VydGVkIGJpdGVycm9yIEAgMi82Cj4gWyAgIDQ3LjQxNjkz OF0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDcuNDIyNjg1XSBtdGRfbmFu ZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0Ny40MjYzODddIG10ZF9uYW5kYml0ZXJyczogUmVh ZCByZXBvcnRlZCAzIGNvcnJlY3RlZCBiaXQgZXJyb3JzCj4gWyAgIDQ3LjQyOTQyNF0gbXRkX25h bmRiaXRlcnJzOiB2ZXJpZnlfcGFnZQo+IFsgICA0Ny40MzU2MzddIG10ZF9uYW5kYml0ZXJyczog U3VjY2Vzc2Z1bGx5IGNvcnJlY3RlZCA4IGJpdCBlcnJvcnMgcGVyIHN1YnBhZ2UKPiBbICAgNDcu NDM5NTgyXSBtdGRfbmFuZGJpdGVycnM6IEluc2VydGVkIGJpdGVycm9yIEAgMi81Cj4gWyAgIDQ3 LjQ0NjYyNF0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDcuNDUyMzY5XSBt dGRfbmFuZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0Ny40NTYwODBdIG10ZF9uYW5kYml0ZXJy czogZXJyb3I6IHJlYWQgZmFpbGVkIGF0IDB4MAo+IFsgICA0Ny40NTkxMTFdIG10ZF9uYW5kYml0 ZXJyczogQWZ0ZXIgOSBiaXRlcnJvcnMgcGVyIHN1YnBhZ2UsIHJlYWQgcmVwb3J0ZWQKPiBlcnJv ciAtNzQKPiBbICAgNDcuNDY3Njk5XSBtdGRfbmFuZGJpdGVycnM6IGZpbmlzaGVkIHN1Y2Nlc3Nm dWxseS4KPiBbICAgNDcuNDcxNzg0XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+IFsgICA0OC4wODAzMTFdCj4gWyAgIDQ4LjA4MDMzOV0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBbICAgNDguMDgw ODY2XSBtdGRfbmFuZGJpdGVycnM6IE1URCBkZXZpY2U6IDAKPiBbICAgNDguMDg2NTYwXSBtdGRf bmFuZGJpdGVycnM6IE1URCBkZXZpY2Ugc2l6ZSAyNjg0MzU0NTYsIGVyYXNlYmxvY2s9MTMxMDcy LAo+IHBhZ2U9MjA0OCwgb29iPTEyOAo+IFsgICA0OC4wOTA1OTBdIG10ZF9uYW5kYml0ZXJyczog RGV2aWNlIHVzZXMgMSBzdWJwYWdlcyBvZiAyMDQ4IGJ5dGVzCj4gWyAgIDQ4LjA5OTIwNF0gbXRk X25hbmRiaXRlcnJzOiBVc2luZyBwYWdlPTAsIG9mZnNldD0wLCBlcmFzZWJsb2NrPTAKPiBbICAg NDguMTA4NzY1XSBtdGRfbmFuZGJpdGVycnM6IGluY3JlbWVudGFsIGJpdGVycm9ycyB0ZXN0Cj4g WyAgIDQ4LjExMTM1M10gbXRkX25hbmRiaXRlcnJzOiB3cml0ZV9wYWdlCj4gWyAgIDQ4LjExNzMy NV0gbXRkX25hbmRiaXRlcnJzOiByZXdyaXRlIHBhZ2UKPiBbICAgNDguMTIxMDE3XSBtdGRfbmFu ZGJpdGVycnM6IHJlYWRfcGFnZQo+IFsgICA0OC4xMjQ5OTZdIG10ZF9uYW5kYml0ZXJyczogdmVy aWZ5X3BhZ2UKPiBbICAgNDguMTI4MDE3XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBj b3JyZWN0ZWQgMCBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ4LjEzMjA4MF0gbXRkX25h bmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAvNQo+IFsgICA0OC4xMzkxMzFdIG10ZF9u YW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4LjE0NDg4MV0gbXRkX25hbmRiaXRlcnJz OiByZWFkX3BhZ2UKPiBbICAgNDguMTQ4NTUyXSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0 ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0OC4xNTE2MTFdIG10ZF9uYW5kYml0ZXJy czogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMTU3ODE2XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3Nm dWxseSBjb3JyZWN0ZWQgMSBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ4LjE2MTc2OF0g bXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAvMgo+IFsgICA0OC4xNjg4OTFd IG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4LjE3NDU3MV0gbXRkX25hbmRi aXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDguMTc4MjQxXSBtdGRfbmFuZGJpdGVycnM6IFJlYWQg cmVwb3J0ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0OC4xODEyOTldIG10ZF9uYW5k Yml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMTg3NTAwXSBtdGRfbmFuZGJpdGVycnM6IFN1 Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMiBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ4LjE5 MTQ1NV0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDAvMAo+IFsgICA0OC4x OTg1MDZdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4LjIwNDI5OV0gbXRk X25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDguMjA3OTMxXSBtdGRfbmFuZGJpdGVycnM6 IFJlYWQgcmVwb3J0ZWQgMSBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0OC4yMTA5ODVdIG10 ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMjE3MTg3XSBtdGRfbmFuZGJpdGVy cnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgMyBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAg IDQ4LjIyMTE0Ml0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDEvNwo+IFsg ICA0OC4yMjgxODhdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4LjIzMzk1 MF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDguMjM3NjE3XSBtdGRfbmFuZGJp dGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0OC4yNDA2 NzNdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMjQ2ODcyXSBtdGRfbmFu ZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNCBiaXQgZXJyb3JzIHBlciBzdWJwYWdl Cj4gWyAgIDQ4LjI1MDgzMV0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJvciBAIDEv NQo+IFsgICA0OC4yNTc4NzVdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4 LjI2MzYzMV0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDguMjY3MzAzXSBtdGRf bmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVycm9ycwo+IFsgICA0 OC4yNzAzNjFdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMjc2NTYwXSBt dGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNSBiaXQgZXJyb3JzIHBlciBz dWJwYWdlCj4gWyAgIDQ4LjI4MDUzMV0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBiaXRlcnJv ciBAIDEvMgo+IFsgICA0OC4yODc1OTJdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBwYWdlCj4g WyAgIDQ4LjI5MzMzOF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDguMjk3MDMw XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVycm9ycwo+ IFsgICA0OC4zMDAwNDldIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAgNDguMzA2 MjQ3XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNiBiaXQgZXJyb3Jz IHBlciBzdWJwYWdlCj4gWyAgIDQ4LjMxMDIwNV0gbXRkX25hbmRiaXRlcnJzOiBJbnNlcnRlZCBi aXRlcnJvciBAIDEvMAo+IFsgICA0OC4zMTcyNTBdIG10ZF9uYW5kYml0ZXJyczogcmV3cml0ZSBw YWdlCj4gWyAgIDQ4LjMyMjk5NF0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBbICAgNDgu MzI2NzA1XSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMiBjb3JyZWN0ZWQgYml0IGVy cm9ycwo+IFsgICA0OC4zMjk3MzZdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UKPiBbICAg NDguMzM1OTM1XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgNyBiaXQg ZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ4LjMzOTg5Ml0gbXRkX25hbmRiaXRlcnJzOiBJbnNl cnRlZCBiaXRlcnJvciBAIDIvNgo+IFsgICA0OC4zNDY5MzZdIG10ZF9uYW5kYml0ZXJyczogcmV3 cml0ZSBwYWdlCj4gWyAgIDQ4LjM1MjYzM10gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBb ICAgNDguMzU2MzkxXSBtdGRfbmFuZGJpdGVycnM6IFJlYWQgcmVwb3J0ZWQgMyBjb3JyZWN0ZWQg Yml0IGVycm9ycwo+IFsgICA0OC4zNTk0MjNdIG10ZF9uYW5kYml0ZXJyczogdmVyaWZ5X3BhZ2UK PiBbICAgNDguMzY1NjI2XSBtdGRfbmFuZGJpdGVycnM6IFN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQg OCBiaXQgZXJyb3JzIHBlciBzdWJwYWdlCj4gWyAgIDQ4LjM2OTU4MV0gbXRkX25hbmRiaXRlcnJz OiBJbnNlcnRlZCBiaXRlcnJvciBAIDIvNQo+IFsgICA0OC4zNzY2MjddIG10ZF9uYW5kYml0ZXJy czogcmV3cml0ZSBwYWdlCj4gWyAgIDQ4LjM4MjMyMl0gbXRkX25hbmRiaXRlcnJzOiByZWFkX3Bh Z2UKPiBbICAgNDguMzg2MDc3XSBtdGRfbmFuZGJpdGVycnM6IGVycm9yOiByZWFkIGZhaWxlZCBh dCAweDAKPiBbICAgNDguMzg5MTEwXSBtdGRfbmFuZGJpdGVycnM6IEFmdGVyIDkgYml0ZXJyb3Jz IHBlciBzdWJwYWdlLCByZWFkIHJlcG9ydGVkCj4gZXJyb3IgLTc0Cj4gWyAgIDQ4LjM5NzY5NV0g bXRkX25hbmRiaXRlcnJzOiBmaW5pc2hlZCBzdWNjZXNzZnVsbHkuCj4gWyAgIDQ4LjQwMTc4M10g PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBbICAg NDguOTQwNTU4XQo+IFsgICA0OC45NDA1ODZdID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Cj4gWyAgIDQ4Ljk0MTExMl0gbXRkX25hbmRiaXRlcnJzOiBN VEQgZGV2aWNlOiAwCj4gWyAgIDQ4Ljk0NjgxMV0gbXRkX25hbmRiaXRlcnJzOiBNVEQgZGV2aWNl IHNpemUgMjY4NDM1NDU2LCBlcmFzZWJsb2NrPTEzMTA3MiwKPiBwYWdlPTIwNDgsIG9vYj0xMjgK PiBbICAgNDguOTUwODM3XSBtdGRfbmFuZGJpdGVycnM6IERldmljZSB1c2VzIDEgc3VicGFnZXMg b2YgMjA0OCBieXRlcwo+IFsgICA0OC45NTk0NDhdIG10ZF9uYW5kYml0ZXJyczogVXNpbmcgcGFn ZT0wLCBvZmZzZXQ9MCwgZXJhc2VibG9jaz0wCj4gWyAgIDQ4Ljk2OTAxNF0gbXRkX25hbmRiaXRl cnJzOiBpbmNyZW1lbnRhbCBiaXRlcnJvcnMgdGVzdAo+IFsgICA0OC45NzE1OTZdIG10ZF9uYW5k Yml0ZXJyczogd3JpdGVfcGFnZQo+IFsgICA0OC45Nzc1OTRdIG10ZF9uYW5kYml0ZXJyczogcmV3 cml0ZSBwYWdlCj4gWyAgIDQ4Ljk4MTI3N10gbXRkX25hbmRiaXRlcnJzOiByZWFkX3BhZ2UKPiBb ICAgNDguOTg1MjQ3XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ4Ljk4ODI2 OV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDAgYml0IGVycm9ycyBw ZXIgc3VicGFnZQo+IFsgICA0OC45OTIzMjddIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0 ZXJyb3IgQCAwLzUKPiBbICAgNDguOTk5NDI4XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFn ZQo+IFsgICA0OS4wMDU1MDhdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ5LjAw ODgzNl0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDEgY29ycmVjdGVkIGJpdCBlcnJv cnMKPiBbICAgNDkuMDExODU4XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ5 LjAxODA2MV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDEgYml0IGVy cm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4wMjIwMTVdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0 ZWQgYml0ZXJyb3IgQCAwLzIKPiBbICAgNDkuMDI5MDU4XSBtdGRfbmFuZGJpdGVycnM6IHJld3Jp dGUgcGFnZQo+IFsgICA0OS4wMzQ4NDhdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAg IDQ5LjAzODUxNl0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDEgY29ycmVjdGVkIGJp dCBlcnJvcnMKPiBbICAgNDkuMDQxNTQ1XSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4g WyAgIDQ5LjA0Nzc1NV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDIg Yml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4wNTE3MDJdIG10ZF9uYW5kYml0ZXJyczog SW5zZXJ0ZWQgYml0ZXJyb3IgQCAwLzAKPiBbICAgNDkuMDU4NzYwXSBtdGRfbmFuZGJpdGVycnM6 IHJld3JpdGUgcGFnZQo+IFsgICA0OS4wNjQ1NjVdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdl Cj4gWyAgIDQ5LjA2ODIwM10gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDEgY29ycmVj dGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMDcxMjMyXSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9w YWdlCj4gWyAgIDQ5LjA3NzQzMl0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVj dGVkIDMgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4wODEzODldIG10ZF9uYW5kYml0 ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzcKPiBbICAgNDkuMDg4NDMyXSBtdGRfbmFuZGJp dGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0OS4wOTQxOTddIG10ZF9uYW5kYml0ZXJyczogcmVh ZF9wYWdlCj4gWyAgIDQ5LjA5Nzg4OV0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9ydGVkIDIg Y29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMTAwOTE5XSBtdGRfbmFuZGJpdGVycnM6IHZl cmlmeV9wYWdlCj4gWyAgIDQ5LjEwNzEyMV0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkg Y29ycmVjdGVkIDQgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4xMTEwNzddIG10ZF9u YW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzUKPiBbICAgNDkuMTE4MTM3XSBtdGRf bmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0OS4xMjM4OTJdIG10ZF9uYW5kYml0ZXJy czogcmVhZF9wYWdlCj4gWyAgIDQ5LjEyNzU3Nl0gbXRkX25hbmRiaXRlcnJzOiBSZWFkIHJlcG9y dGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMTMwNjA4XSBtdGRfbmFuZGJpdGVy cnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ5LjEzNjgwOF0gbXRkX25hbmRiaXRlcnJzOiBTdWNjZXNz ZnVsbHkgY29ycmVjdGVkIDUgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4xNDA3NjRd IG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzIKPiBbICAgNDkuMTQ3ODA3 XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0OS4xNTM2MDddIG10ZF9uYW5k Yml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ5LjE1NzI2OF0gbXRkX25hbmRiaXRlcnJzOiBSZWFk IHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMTYwMjk0XSBtdGRfbmFu ZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ5LjE2NjQ5Nl0gbXRkX25hbmRiaXRlcnJzOiBT dWNjZXNzZnVsbHkgY29ycmVjdGVkIDYgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsgICA0OS4x NzA0NTJdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAxLzAKPiBbICAgNDku MTc3NDk4XSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0OS4xODMyNTNdIG10 ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ5LjE4Njk3NF0gbXRkX25hbmRiaXRlcnJz OiBSZWFkIHJlcG9ydGVkIDIgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMTg5OTgzXSBt dGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ5LjE5NjE5NF0gbXRkX25hbmRiaXRl cnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDcgYml0IGVycm9ycyBwZXIgc3VicGFnZQo+IFsg ICA0OS4yMDAxNDBdIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAyLzYKPiBb ICAgNDkuMjA3MTgyXSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0OS4yMTI4 OTVdIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ5LjIxNjY3MV0gbXRkX25hbmRi aXRlcnJzOiBSZWFkIHJlcG9ydGVkIDMgY29ycmVjdGVkIGJpdCBlcnJvcnMKPiBbICAgNDkuMjE5 NjcwXSBtdGRfbmFuZGJpdGVycnM6IHZlcmlmeV9wYWdlCj4gWyAgIDQ5LjIyNTg3Ml0gbXRkX25h bmRiaXRlcnJzOiBTdWNjZXNzZnVsbHkgY29ycmVjdGVkIDggYml0IGVycm9ycyBwZXIgc3VicGFn ZQo+IFsgICA0OS4yMjk4MjddIG10ZF9uYW5kYml0ZXJyczogSW5zZXJ0ZWQgYml0ZXJyb3IgQCAy LzUKPiBbICAgNDkuMjM2ODcxXSBtdGRfbmFuZGJpdGVycnM6IHJld3JpdGUgcGFnZQo+IFsgICA0 OS4yNDI2MjldIG10ZF9uYW5kYml0ZXJyczogcmVhZF9wYWdlCj4gWyAgIDQ5LjI0NjM0OF0gbXRk X25hbmRiaXRlcnJzOiBlcnJvcjogcmVhZCBmYWlsZWQgYXQgMHgwCj4gWyAgIDQ5LjI0OTM1Nl0g bXRkX25hbmRiaXRlcnJzOiBBZnRlciA5IGJpdGVycm9ycyBwZXIgc3VicGFnZSwgcmVhZCByZXBv cnRlZAo+IGVycm9yIC03NAo+IFsgICA0OS4yNTc5NThdIG10ZF9uYW5kYml0ZXJyczogZmluaXNo ZWQgc3VjY2Vzc2Z1bGx5Lgo+IFsgICA0OS4yNjIwMjldID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gIwoKVGhpcyBpcyBub3QgdGhlIGludGVuZGVk IGJlaGF2aW9yLiBUaGUgcmVwb3J0aW5nIGlzIHdyb25nIGFuZCBzaG91bGQKcmVwb3J0IGFuIGlu Y3JlYXNpbmcgbnVtYmVyIG9mIGJpdGZsaXBzIGluc3RlYWQgb2YgMSwgMSwgMSwgMiwgMiwgMiwg MiwKMy4KCldpdGggdGhpcyBiZWhhdmlvciwgd2VhciBsZXZlbGxpbmcgd2lsbCBub3Qgd29yayBj b3JyZWN0bHkuCgpUaGlzIGlzIG5vdCByZWxhdGVkIHRvIEdhYm9yJ3MgY2hhbmdlcywgYnV0IEkg YmVsaWV2ZSB0aGlzIHNob3VsZCBiZQp1cGRhdGVkIG90aGVyd2lzZSBpdCBkb2VzIG5vdCBtYWtl IG11Y2ggc2Vuc2UgdG8gaW5jcmVhc2UgdGhlIHN0cmVuZ3RoLgoKR2Fib3IsIGNhbiB5b3UgbG9v ayBpbnRvIGl0PyBCb3RoIHBhdGNoZXMgbG9vayBmaW5lIG90aGVyd2lzZSwgdGhhbmtzIGEKbG90 IQoKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K