Received: by 2002:a05:7412:8d1c:b0:fa:4c10:6cad with SMTP id bj28csp236731rdb; Tue, 16 Jan 2024 23:38:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IFbCf+scbEdujLlPx850y+D3Nr9fz6LRGHmKmmMd0ofAck+v+84EBtDGi15qnAIx15GyNPB X-Received: by 2002:a62:c186:0:b0:6da:ed17:bfa7 with SMTP id i128-20020a62c186000000b006daed17bfa7mr532824pfg.6.1705477103705; Tue, 16 Jan 2024 23:38:23 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705477103; cv=pass; d=google.com; s=arc-20160816; b=EZEbOf6iQNsTmdWLI9/9nTvpujfjg+A/EQcfYAoP1UuV7E8yoBX88fYaF7k8nAt/q/ w6+XmzZLf6Mj+2U+LJxdv4aZm3wmXkzKfJ6MwRalFfjRNFVRnmhzoJFDHD1CWxG0D2VB tdIrtP8x0CBNS9O/DPpGinh3bXXlJUeyLC46AU5tUF0e0meozV9XapiSKuKVsh4ZGQWR 8WV060+/guUodFeY8eMXkJ73RTH9M6UDHCzn0oiOjTAWEjJJYMQxBRFbLxXgUGVZLfFf zjY6+2AcxasDW7wNmB3/ubQJbYvUjdaGCbF0IvdgypqaDZVH65D6e4ksh6mz+2DL2Q7b xnyQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:message-id:reply-to:cc:to:from:date; bh=C8QpDCgR/yyLxpfCLdZumeJ0YoFx/BlT5zJXNoaaJ/E=; fh=vRzCL8r7H2PFADIF20al99B6Z7x1zI8GwPuMVU6fC8s=; b=xBxxpGAfZGpGQurqRh892ncrQManQ/6pR0CiVZkNrUHbhVrD/rDDvkkSHNL0vCPs+4 6K6koUul6JR+FJ0kWf6hw81No6Dt9oYZXFAsS04EZaGyOaGi9AOhY+u0+MfdxngoN9KX yBkmoyax/ISe+xPOSGNOdMyUZ7+rVtrhaiLO/0rgkFjFUh7egiRCE8EMA/qTjkxWM9r3 sEkqt1zBgZHPp2riZGFptENwnUlHtPj0qsTnhbpauNusB0Ip9+7YoYJBFJZTw+9Y5wi/ ocuV3mmpnwUxS0Jqsr2T+O4dlOxk07BGiOStDHpYuXp5rFmHoT+Gxd0lhHuPjkkcwumY puFA== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=ubisectech.com); spf=pass (google.com: domain of linux-kernel+bounces-28603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-28603-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id l7-20020a635707000000b0056da0ae25d1si12367026pgb.831.2024.01.16.23.38.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jan 2024 23:38:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-28603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=ubisectech.com); spf=pass (google.com: domain of linux-kernel+bounces-28603-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-28603-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 42335287760 for ; Wed, 17 Jan 2024 07:38:23 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 090A8BA27; Wed, 17 Jan 2024 07:38:19 +0000 (UTC) Received: from out198-4.us.a.mail.aliyun.com (out198-4.us.a.mail.aliyun.com [47.90.198.4]) (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 3B6C979CD; Wed, 17 Jan 2024 07:38:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=47.90.198.4 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705477092; cv=none; b=aSolYuepRBSCVBm9k1AnzS4NyBbZRJFsQHQ5A3nrrLuSICkOC7kcH0bDTK1gjErks6trTnPAcjY0azExgBnDDCn3TamX5ZvYf9LydW7v9HyDTWWi9TPhU1eJA6XmI8Q8FgkHRJ7sFnTIQi3ZfLB1xDTmrKoyH6eAo38lkkCIHK8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705477092; c=relaxed/simple; bh=EHMZ9jmMncJ14suuUBmlGQ7umEiK/q9FFr3+tAUX7Y4=; h=X-Alimail-AntiSpam:Received:Date:From:To:Cc:Reply-To:Message-ID: Subject:X-Mailer:MIME-Version:x-aliyun-mail-creator:Content-Type; b=sUP1BB1e8k8r0L34jcWIrWORMltvHtrN1G84IsbQACxWs3xAlBO+qgWm5NReEzCT3DBFh6297CMX9P9yYvZYD4kPCL7sUBeeLnT4W9hs8/Efd7Wyswu6pI3CGK+dZjY8GtOeWaTZAqY0z0SRXEEp4VmuNIrBHPx1RBvSJOCY+/4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ubisectech.com; spf=pass smtp.mailfrom=ubisectech.com; arc=none smtp.client-ip=47.90.198.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ubisectech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ubisectech.com X-Alimail-AntiSpam:AC=CONTINUE;BC=0.08540842|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_regular_dialog|0.0492045-0.00718139-0.943614;FP=0|0|0|0|0|0|0|0;HT=ay29a033018047204;MF=bugreport@ubisectech.com;NM=1;PH=DW;RN=7;RT=7;SR=0;TI=W4_0.2.3_v5_212510C5_1705476693083_o7001c78s; Received: from WS-web (bugreport@ubisectech.com[W4_0.2.3_v5_212510C5_1705476693083_o7001c78s]) at Wed, 17 Jan 2024 15:32:28 +0800 Date: Wed, 17 Jan 2024 15:32:28 +0800 From: "Ubisectech Sirius" To: "linux-kernel" , "linux-trace-kernel" Cc: "ast" , "daniel" , "andrii" , "davem" , "dsahern" Reply-To: "Ubisectech Sirius" Message-ID: <2c5794fb-c7cd-405a-8c63-f1820b8dbfaa.bugreport@ubisectech.com> Subject: =?UTF-8?B?QlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBpbiBfX3NrYl9m?= =?UTF-8?B?bG93X2Rpc3NlY3Q=?= X-Mailer: [Alimail-Mailagent revision 79][W4_0.2.3][v5][Chrome] Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 x-aliyun-mail-creator: W4_0.2.3_v5_M3LTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2vN Content-Type: multipart/mixed; boundary="----=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a258" This is a multi-part message in MIME format. ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a258 Content-Type: multipart/related; boundary="----=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a259" ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a259 Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a25a" ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a25a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGVsbG8uCldlIGFyZSBVYmlzZWN0ZWNoIFNpcml1cyBUZWFtLCB0aGUgdnVsbmVyYWJpbGl0eSBs YWIgb2YgQ2hpbmEgVmFsaWFudFNlYy4gUmVjZW50bHksIG91ciB0ZWFtIGhhcyBkaXNjb3ZlcmVk IGEgaXNzdWUgaW4gTGludXgga2VybmVsIDYuNy4wLWcwNTJkNTM0MzczYjcuIEF0dGFjaGVkIHRv IHRoZSBlbWFpbCB3ZXJlIGEgUE9DIGZpbGUgb2YgdGhlIGlzc3VlLgpTdGFjayBkdW1wOgpbIDE4 NS42NjQxNjddWyBUODMzMl0gQlVHOiB1bmFibGUgdG8gaGFuZGxlIHBhZ2UgZmF1bHQgZm9yIGFk ZHJlc3M6IGZmZmZlZDEwMjljNDAwMDEKWyAxODUuNjY1MTM0XVsgVDgzMzJdICNQRjogc3VwZXJ2 aXNvciByZWFkIGFjY2VzcyBpbiBrZXJuZWwgbW9kZQpbIDE4NS42NjU4NzddWyBUODMzMl0gI1BG OiBlcnJvcl9jb2RlKDB4MDAwMCkgLSBub3QtcHJlc2VudCBwYWdlClsgMTg1LjY2NjQ4MV1bIFQ4 MzMyXSBQR0QgN2ZmZDAwNjcgUDREIDdmZmQwMDY3IFBVRCAzZmZmNTA2NyBQTUQgMApbIDE4NS42 NjcxMjldWyBUODMzMl0gT29wczogMDAwMCBbIzFdIFBSRUVNUFQgU01QIEtBU0FOClsgMTg1LjY2 NzcxOV1bIFQ4MzMyXSBDUFU6IDEgUElEOiA4MzMyIENvbW06IHBvYyBOb3QgdGFpbnRlZCA2Ljcu MC1nMDUyZDUzNDM3M2I3ICMxOQpbIDE4NS42Njg2NDFdWyBUODMzMl0gSGFyZHdhcmUgbmFtZTog UUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4xNS4wLTEgMDQv MDEvMjAxNApbIDE4NS42Njk2MzldWyBUODMzMl0gUklQOiAwMDEwOl9fc2tiX2Zsb3dfZGlzc2Vj dCAobmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYzoxMTcwIChkaXNjcmltaW5hdG9yIDEpKQpbIDE4 NS42ODIyMTBdWyBUODMzMl0gQ2FsbCBUcmFjZToKWyAxODUuNjgyNTk1XVsgVDgzMzJdIDxUQVNL PgpbIDE4NS43MTcyNTZdWyBUODMzMl0gX19za2JfZ2V0X2hhc2ggKG5ldC9jb3JlL2Zsb3dfZGlz c2VjdG9yLmM6MTczNyBuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jOjE3NzAgbmV0L2NvcmUvZmxv d19kaXNzZWN0b3IuYzoxNzk0IG5ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmM6MTg1NikKWyAxODUu NzIxOTc4XVsgVDgzMzJdIGlwX3R1bm5lbF94bWl0ICguL2luY2x1ZGUvbGludXgvc2tidWZmLmg6 MTU2NiBuZXQvaXB2NC9pcF90dW5uZWwuYzo3NDgpClsgMTg1LjcyNzc4OF1bIFQ4MzMyXSBpcGlw X3R1bm5lbF94bWl0IChuZXQvaXB2NC9pcGlwLmM6MzA4KQpbIDE4NS43MjgzOTZdWyBUODMzMl0g ZGV2X2hhcmRfc3RhcnRfeG1pdCAoLi9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjUwMDQgbmV0 L2NvcmUvZGV2LmM6MzU0NyBuZXQvY29yZS9kZXYuYzozNTYzKQpbIDE4NS43MjkwODJdWyBUODMz Ml0gX19kZXZfcXVldWVfeG1pdCAoLi9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjMzNjcgbmV0 L2NvcmUvZGV2LmM6NDM1MikKWyAxODUuNzM2ODE0XVsgVDgzMzJdIG5laWdoX2Nvbm5lY3RlZF9v dXRwdXQgKC4vaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaDozMTcxIG5ldC9jb3JlL25laWdoYm91 ci5jOjE1OTIpClsgMTg1LjczNzUzNl1bIFQ4MzMyXSBpcF9maW5pc2hfb3V0cHV0MiAoLi9pbmNs dWRlL25ldC9uZWlnaGJvdXIuaDo1NDIgbmV0L2lwdjQvaXBfb3V0cHV0LmM6MjM1KQpbIDE4NS43 NDIyMzldWyBUODMzMl0gX19pcF9maW5pc2hfb3V0cHV0IChuZXQvaXB2NC9pcF9vdXRwdXQuYzoz MTMgbmV0L2lwdjQvaXBfb3V0cHV0LmM6Mjk1KQpbIDE4NS43NDI5NDNdWyBUODMzMl0gaXBfZmlu aXNoX291dHB1dCAobmV0L2lwdjQvaXBfb3V0cHV0LmM6MzIzKQpbIDE4NS43NDM1NTZdWyBUODMz Ml0gaXBfbWNfb3V0cHV0ICguL2luY2x1ZGUvbGludXgvbmV0ZmlsdGVyLmg6MzAzIG5ldC9pcHY0 L2lwX291dHB1dC5jOjQyMCkKWyAxODUuNzQ0MTM3XVsgVDgzMzJdIGlwX2xvY2FsX291dCAoLi9p bmNsdWRlL25ldC9kc3QuaDo0NTEgbmV0L2lwdjQvaXBfb3V0cHV0LmM6MTI5KQpbIDE4NS43NDQ3 NDZdWyBUODMzMl0gaXB0dW5uZWxfeG1pdCAobmV0L2lwdjQvaXBfdHVubmVsX2NvcmUuYzo4NCAo ZGlzY3JpbWluYXRvciA0KSkKWyAxODUuNzQ1MzkwXVsgVDgzMzJdIGlwX3R1bm5lbF94bWl0IChu ZXQvaXB2NC9pcF90dW5uZWwuYzo4MzMpClsgMTg1Ljc1MDQzMF1bIFQ4MzMyXSBkZXZfaGFyZF9z dGFydF94bWl0ICguL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NTAwNCBuZXQvY29yZS9kZXYu YzozNTQ3IG5ldC9jb3JlL2Rldi5jOjM1NjMpClsgMTg1Ljc1MTExNF1bIFQ4MzMyXSBfX2Rldl9x dWV1ZV94bWl0ICguL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6MzM2NyBuZXQvY29yZS9kZXYu Yzo0MzUyKQpbIDE4NS43NTkxMzhdWyBUODMzMl0gX19icGZfcmVkaXJlY3QgKC4vaW5jbHVkZS9s aW51eC9uZXRkZXZpY2UuaDozMzY3IG5ldC9jb3JlL2ZpbHRlci5jOjIxMzYgbmV0L2NvcmUvZmls dGVyLmM6MjE2NSBuZXQvY29yZS9maWx0ZXIuYzoyMTg4KQpbIDE4NS43NTk3NTddWyBUODMzMl0g YnBmX2Nsb25lX3JlZGlyZWN0IChuZXQvY29yZS9maWx0ZXIuYzoyNDU5IG5ldC9jb3JlL2ZpbHRl ci5jOjI0MzEpClsgMTg1Ljc2MTA4OF1bIFQ4MzMyXSBfX19icGZfcHJvZ19ydW4gKGtlcm5lbC9i cGYvY29yZS5jOjE5ODYpClsgMTg1Ljc2MjQ5OV1bIFQ4MzMyXSBfX2JwZl9wcm9nX3J1bjUxMiAo a2VybmVsL2JwZi9jb3JlLmM6MjIyNykKWyAxODUuNzc4NDc4XVsgVDgzMzJdIGJwZl90ZXN0X3J1 biAoLi9pbmNsdWRlL2xpbnV4L2JwZi5oOjEyMzEgLi9pbmNsdWRlL2xpbnV4L2ZpbHRlci5oOjY1 MSAuL2luY2x1ZGUvbGludXgvZmlsdGVyLmg6NjU4IG5ldC9icGYvdGVzdF9ydW4uYzo0MjMpClsg MTg1Ljc4MzcxNV1bIFQ4MzMyXSBicGZfcHJvZ190ZXN0X3J1bl9za2IgKG5ldC9icGYvdGVzdF9y dW4uYzoxMDU3KQpbIDE4NS43ODY1MzhdWyBUODMzMl0gX19zeXNfYnBmIChrZXJuZWwvYnBmL3N5 c2NhbGwuYzo0MTA3IGtlcm5lbC9icGYvc3lzY2FsbC5jOjU0NzUpClsgMTg1Ljc5MzQ1NF1bIFQ4 MzMyXSBfX3g2NF9zeXNfYnBmIChrZXJuZWwvYnBmL3N5c2NhbGwuYzo1NTU5KQpbIDE4NS43OTQ4 MTBdWyBUODMzMl0gZG9fc3lzY2FsbF82NCAoYXJjaC94ODYvZW50cnkvY29tbW9uLmM6NTIgYXJj aC94ODYvZW50cnkvY29tbW9uLmM6ODMpClsgMTg1Ljc5NTM5OV1bIFQ4MzMyXSBlbnRyeV9TWVND QUxMXzY0X2FmdGVyX2h3ZnJhbWUgKGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlM6MTI5KQpbIDE4 NS43OTYxODJdWyBUODMzMl0gUklQOiAwMDMzOjB4N2Y0Zjg5NTVkZjI5CkFuYWx5emUgb2YgdGhl IGlzc3VlOgpUaGUgaXNzdWUgY29kZSBpbiB0aGUgX19za2JfZmxvd19kaXNzZWN0IGZ1bmN0aW9u KG5ldC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmM6MTE3MCkuIFRoZSBjb2RlIGFyZSBibG93OgppcGgg PSBfX3NrYl9oZWFkZXJfcG9pbnRlcihza2IsIG5ob2ZmLCBzaXplb2YoX2lwaCksIGRhdGEsIGhs ZW4sICZfaXBoKTsKaWYgKCFpcGggfHwgaXBoLT5paGwgPCA1KSB7CmZkcmV0ID0gRkxPV19ESVNT RUNUX1JFVF9PVVRfQkFEOwpicmVhazsKfQpJdCBsb29rcyBsaWtlIHRoZSBmdW5jdGlvbiBfX3Nr Yl9oZWFkZXJfcG9pbnRlciB3aWxsIHJldHVybiBhIGludmFsaWQgYWRkcmVzcywgYW5kIGlwaC0+ aWhsIHdpbGwgcmVhZCB0aGUgaW52YWxpZCBhZGRyZXNzIHRvIGdldCB2YWx1ZS4gU28sIEkgdGhp bmsgdGhlIGlzc3VlIGlzIGxhY2sgb2YgY2hlY2sgdGhlIGlwaCBpcyB2YWxpZCBvciBuby4KVGhh bmsgeW91IGZvciB0YWtpbmcgdGhlIHRpbWUgdG8gcmVhZCB0aGlzIGVtYWlsIGFuZCB3ZSBsb29r IGZvcndhcmQgdG8gd29ya2luZyB3aXRoIHlvdSBmdXJ0aGVyLgogVWJpc2VjdGVjaCBTaXJpdXMg VGVhbQogV2ViOiB3d3cudWJpc2VjdGVjaC5jb20KIEVtYWlsOiBidWdyZXBvcnRAdWJpc2VjdGVj aC5jb20K ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a25a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBjbGFzcz0iX19hbGl5dW5fZW1haWxfYm9keV9ibG9jayI+PGRpdiAgc3R5bGU9ImxpbmUt aGVpZ2h0OjEuNztmb250LWZhbWlseTpUYWhvbWEsQXJpYWwsU1RIZWl0aSxTaW1TdW47Zm9udC1z aXplOjE0LjBweDtjb2xvcjojMDAwMDAwOyI+PGRpdiAgc3R5bGU9ImNsZWFyOmJvdGg7Ij48cCAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWdu Omp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0 eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5IZWxsby48L3NwYW4+ PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3Rl eHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7dGV4 dC1pbmRlbnQ6MjguMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQt c2l6ZToxNC4wcHg7Ij5XZSBhcmUgVWJpc2VjdGVjaCBTaXJpdXMgVGVhbSwgdGhlIHZ1bG5lcmFi aWxpdHkgbGFiIG9mIENoaW5hIFZhbGlhbnRTZWMuPC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1m YW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJzcDs8L3NwYW4+PHNwYW4gIHN0eWxl PSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5SPC9zcGFuPjxzcGFuICBz dHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+ZWNlbnRseSwgb3Vy IHRlYW0gaGFzIGRpc2NvdmVyZWQgYSA8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5pc3N1ZTwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQt ZmFtaWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0eWxlPSJmb250 LWZhbWlseTpDYWxpYnJpOyI+aW4gTGludXg8L3NwYW4+PC9zcGFuPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4wcHg7Ij4mbmJzcDs8c3BhbiAgc3R5bGU9ImZv bnQtZmFtaWx5OkNhbGlicmk7Ij5rZXJuZWwgPC9zcGFuPjwvc3Bhbj48c3BhbiAgc3R5bGU9ImZv bnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjYuNy4wLWcwNTJkNTM0MzczYjc8 L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij4uIEF0dGFjaGVkIHRvIHRoZSBlbWFpbCB3ZXJlIGEgUE9DIGZpbGUgb2YgdGhlIGlzc3VlLjwv c3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4w cHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBw eDt0ZXh0LWluZGVudDoyOC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7 Zm9udC1zaXplOjE0LjBweDsiPiZuYnNwOzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFt aWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC13ZWlnaHQ6 NzAwO2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlN0YWNrIGR1bXA8L3Nw YW4+PHNwYW4gIHN0eWxlPSJmb250LXdlaWdodDo3MDA7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+Ojwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+WyAmbmJzcDsxODUuNjY0MTY3XVsgVDgzMzJdIEJVRzogdW5hYmxl IHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiBmZmZmZWQxMDI5YzQwMDAxPC9zcGFu PjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0 ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+ PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bICZu YnNwOzE4NS42NjUxMzRdWyBUODMzMl0gI1BGOiBzdXBlcnZpc29yIHJlYWQgYWNjZXNzIGluIGtl cm5lbCBtb2RlPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjou MHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6 ZToxNC4wcHg7Ij5bICZuYnNwOzE4NS42NjU4NzddWyBUODMzMl0gI1BGOiBlcnJvcl9jb2RlKDB4 MDAwMCkgLSBub3QtcHJlc2VudCBwYWdlPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1p bHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bICZuYnNwOzE4NS42NjY0ODFdWyBUODMzMl0gUEdE IDdmZmQwMDY3IFA0RCA3ZmZkMDA2NyBQVUQgM2ZmZjUwNjcgUE1EIDA8L3NwYW4+PC9wPjxwICBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246 anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5 bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgJm5ic3A7MTg1LjY2 NzEyOV1bIFQ4MzMyXSBPb3BzOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU48L3NwYW4+PC9w PjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQt YWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3Bh biAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgJm5ic3A7 MTg1LjY2NzcxOV1bIFQ4MzMyXSBDUFU6IDEgUElEOiA4MzMyIENvbW06IHBvYyBOb3QgdGFpbnRl ZCA2LjcuMC1nMDUyZDUzNDM3M2I3ICMxOTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFt aWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6 Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAmbmJzcDsxODUuNjY4NjQxXVsgVDgzMzJdIEhh cmR3YXJlIG5hbWU6IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9T IDEuMTUuMC0xIDA0LzAxLzIwMTQ8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1LjY2OTYzOV1bIFQ4MzMyXSBSSVA6IDAwMTA6X19z a2JfZmxvd19kaXNzZWN0IChuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jOjExNzAgKGRpc2NyaW1p bmF0b3IgMSkpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjou MHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6 ZToxNC4wcHg7Ij5bICZuYnNwOzE4NS42ODIyMTBdWyBUODMzMl0gQ2FsbCBUcmFjZTo8L3NwYW4+ PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3Rl eHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48 c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgJm5i c3A7MTg1LjY4MjU5NV1bIFQ4MzMyXSAmbmJzcDsmbHQ7VEFTSyZndDs8L3NwYW4+PC9wPjxwICBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246 anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5 bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1LjcxNzI1Nl1b IFQ4MzMyXSBfX3NrYl9nZXRfaGFzaCAobmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYzoxNzM3IG5l dC9jb3JlL2Zsb3dfZGlzc2VjdG9yLmM6MTc3MCBuZXQvY29yZS9mbG93X2Rpc3NlY3Rvci5jOjE3 OTQgbmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYzoxODU2KTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5 O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAxODUuNzIxOTc4XVsgVDgzMzJd IGlwX3R1bm5lbF94bWl0ICguL2luY2x1ZGUvbGludXgvc2tidWZmLmg6MTU2NiBuZXQvaXB2NC9p cF90dW5uZWwuYzo3NDgpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1h cmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJy aTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2Zv bnQtc2l6ZToxNC4wcHg7Ij5bIDE4NS43Mjc3ODhdWyBUODMzMl0gaXBpcF90dW5uZWxfeG1pdCAo bmV0L2lwdjQvaXBpcC5jOjMwOCk8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1LjcyODM5Nl1bIFQ4MzMyXSBkZXZfaGFyZF9zdGFy dF94bWl0ICguL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NTAwNCBuZXQvY29yZS9kZXYuYzoz NTQ3IG5ldC9jb3JlL2Rldi5jOjM1NjMpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1p bHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bIDE4NS43MjkwODJdWyBUODMzMl0gX19kZXZfcXVl dWVfeG1pdCAoLi9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjMzNjcgbmV0L2NvcmUvZGV2LmM6 NDM1Mik8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHgg LjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6 ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0 LjBweDsiPlsgMTg1LjczNjgxNF1bIFQ4MzMyXSBuZWlnaF9jb25uZWN0ZWRfb3V0cHV0ICguL2lu Y2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6MzE3MSBuZXQvY29yZS9uZWlnaGJvdXIuYzoxNTkyKTwv c3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4w cHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBw eDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+ WyAxODUuNzM3NTM2XVsgVDgzMzJdIGlwX2ZpbmlzaF9vdXRwdXQyICguL2luY2x1ZGUvbmV0L25l aWdoYm91ci5oOjU0MiBuZXQvaXB2NC9pcF9vdXRwdXQuYzoyMzUpPC9zcGFuPjwvcD48cCAgY2xh c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1 c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxl PSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bIDE4NS43NDIyMzldWyBU ODMzMl0gX19pcF9maW5pc2hfb3V0cHV0IChuZXQvaXB2NC9pcF9vdXRwdXQuYzozMTMgbmV0L2lw djQvaXBfb3V0cHV0LmM6Mjk1KTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNh bGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJy aTtmb250LXNpemU6MTQuMHB4OyI+WyAxODUuNzQyOTQzXVsgVDgzMzJdIGlwX2ZpbmlzaF9vdXRw dXQgKG5ldC9pcHY0L2lwX291dHB1dC5jOjMyMyk8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9y bWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250 LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1Ljc0MzU1Nl1bIFQ4MzMyXSBpcF9t Y19vdXRwdXQgKC4vaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaDozMDMgbmV0L2lwdjQvaXBfb3V0 cHV0LmM6NDIwKTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46 LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9u dC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNp emU6MTQuMHB4OyI+WyAxODUuNzQ0MTM3XVsgVDgzMzJdIGlwX2xvY2FsX291dCAoLi9pbmNsdWRl L25ldC9kc3QuaDo0NTEgbmV0L2lwdjQvaXBfb3V0cHV0LmM6MTI5KTwvc3Bhbj48L3A+PHAgIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpq dXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHls ZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAxODUuNzQ0NzQ2XVsg VDgzMzJdIGlwdHVubmVsX3htaXQgKG5ldC9pcHY0L2lwX3R1bm5lbF9jb3JlLmM6ODQgKGRpc2Ny aW1pbmF0b3IgNCkpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdp bjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQt c2l6ZToxNC4wcHg7Ij5bIDE4NS43NDUzOTBdWyBUODMzMl0gaXBfdHVubmVsX3htaXQgKG5ldC9p cHY0L2lwX3R1bm5lbC5jOjgzMyk8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHls ZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1Ljc1MDQzMF1bIFQ4MzMyXSBkZXZfaGFyZF9zdGFy dF94bWl0ICguL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmg6NTAwNCBuZXQvY29yZS9kZXYuYzoz NTQ3IG5ldC9jb3JlL2Rldi5jOjM1NjMpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1p bHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bIDE4NS43NTExMTRdWyBUODMzMl0gX19kZXZfcXVl dWVfeG1pdCAoLi9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oOjMzNjcgbmV0L2NvcmUvZGV2LmM6 NDM1Mik8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHgg LjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6 ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0 LjBweDsiPlsgMTg1Ljc1OTEzOF1bIFQ4MzMyXSBfX2JwZl9yZWRpcmVjdCAoLi9pbmNsdWRlL2xp bnV4L25ldGRldmljZS5oOjMzNjcgbmV0L2NvcmUvZmlsdGVyLmM6MjEzNiBuZXQvY29yZS9maWx0 ZXIuYzoyMTY1IG5ldC9jb3JlL2ZpbHRlci5jOjIxODgpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7 Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250 LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5bIDE4NS43NTk3NTddWyBUODMzMl0g YnBmX2Nsb25lX3JlZGlyZWN0IChuZXQvY29yZS9maWx0ZXIuYzoyNDU5IG5ldC9jb3JlL2ZpbHRl ci5jOjI0MzEpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjou MHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250 LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6 ZToxNC4wcHg7Ij5bIDE4NS43NjEwODhdWyBUODMzMl0gX19fYnBmX3Byb2dfcnVuIChrZXJuZWwv YnBmL2NvcmUuYzoxOTg2KTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt YXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+WyAxODUuNzYyNDk5XVsgVDgzMzJdIF9fYnBmX3Byb2dfcnVuNTEy IChrZXJuZWwvYnBmL2NvcmUuYzoyMjI3KTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwi IHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFt aWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6 Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAxODUuNzc4NDc4XVsgVDgzMzJdIGJwZl90ZXN0 X3J1biAoLi9pbmNsdWRlL2xpbnV4L2JwZi5oOjEyMzEgLi9pbmNsdWRlL2xpbnV4L2ZpbHRlci5o OjY1MSAuL2luY2x1ZGUvbGludXgvZmlsdGVyLmg6NjU4IG5ldC9icGYvdGVzdF9ydW4uYzo0MjMp PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHgg LjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQu MHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij5bIDE4NS43ODM3MTVdWyBUODMzMl0gYnBmX3Byb2dfdGVzdF9ydW5fc2tiIChuZXQvYnBmL3Rl c3RfcnVuLmM6MTA1Nyk8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFy Z2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJp O2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9u dC1zaXplOjE0LjBweDsiPlsgMTg1Ljc4NjUzOF1bIFQ4MzMyXSBfX3N5c19icGYgKGtlcm5lbC9i cGYvc3lzY2FsbC5jOjQxMDcga2VybmVsL2JwZi9zeXNjYWxsLmM6NTQ3NSk8L3NwYW4+PC9wPjxw ICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxp Z246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAg c3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPlsgMTg1Ljc5MzQ1 NF1bIFQ4MzMyXSBfX3g2NF9zeXNfYnBmIChrZXJuZWwvYnBmL3N5c2NhbGwuYzo1NTU5KTwvc3Bh bj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7 dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsi PjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAx ODUuNzk0ODEwXVsgVDgzMzJdIGRvX3N5c2NhbGxfNjQgKGFyY2gveDg2L2VudHJ5L2NvbW1vbi5j OjUyIGFyY2gveDg2L2VudHJ5L2NvbW1vbi5jOjgzKTwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29O b3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2Zv bnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1m YW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+WyAxODUuNzk1Mzk5XVsgVDgzMzJdIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSAoYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUzox MjkpPC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4w cHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6 MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4w cHg7Ij5bICZuYnNwOzE4NS43OTYxODJdWyBUODMzMl0gUklQOiAwMDMzOjB4N2Y0Zjg5NTVkZjI5 PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHgg LjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQu MHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTrlrovkvZM7Zm9udC1zaXplOjE0LjBweDsi PiZuYnNwOzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBw eCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1z aXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OkNh bGlicmk7Zm9udC1zaXplOjE0LjBweDsiPkFuYWx5emUgb2YgdGhlIGlzc3VlPC9zcGFuPjxzcGFu ICBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0 LjBweDsiPjo8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4w cHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQt c2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXpl OjE0LjBweDsiPlRoZSBpc3N1ZSBjb2RlIGluIHRoZSBfX3NrYl9mbG93X2Rpc3NlY3QgZnVuY3Rp b24obmV0L2NvcmUvZmxvd19kaXNzZWN0b3IuYzoxMTcwKS4gVGhlIGNvZGUgYXJlIGJsb3c6PC9z cGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBw eDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4 OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij4J PC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4 OyI+CTwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0 LjBweDsiPmlwaCA9IF9fc2tiX2hlYWRlcl9wb2ludGVyKHNrYiwgbmhvZmYsIHNpemVvZihfaXBo KSwgZGF0YSwgaGxlbiwgJmFtcDtfaXBoKTs8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZh bWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5 OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPgk8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij4JPC9zcGFuPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+aWYgKCFpcGggfHwgaXBoLSZndDtp aGwgJmx0OyA1KSB7PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdp bjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7Zm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQt c2l6ZToxNC4wcHg7Ij4JPC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtm b250LXNpemU6MTQuMHB4OyI+CTwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGli cmk7Zm9udC1zaXplOjE0LjBweDsiPgk8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpD YWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5mZHJldCA9IEZMT1dfRElTU0VDVF9SRVRfT1VUX0JB RDs8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBw eCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZTox NC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBw eDsiPgk8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZTox NC4wcHg7Ij4JPC9zcGFuPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNp emU6MTQuMHB4OyI+CTwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9u dC1zaXplOjE0LjBweDsiPmJyZWFrOzwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtYXJnaW46LjBweCAuMHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5 OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6Q2Fs aWJyaTtmb250LXNpemU6MTQuMHB4OyI+CTwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5 OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPgk8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij59PC9zcGFuPjwvcD48cCAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1hcmdpbjouMHB4IC4wcHggLjBweDt0ZXh0LWFsaWduOmp1c3RpZnk7 Zm9udC1mYW1pbHk6Q2FsaWJyaTtmb250LXNpemU6MTQuMHB4OyI+PHNwYW4gIHN0eWxlPSJmb250 LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7Ij5JdCBsb29rcyBsaWtlIHRoZSBmdW5j dGlvbiA8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZTox NC4wcHg7Ij5fX3NrYl9oZWFkZXJfcG9pbnRlcjwvc3Bhbj48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OuWui+S9kztmb250LXNpemU6MTQuMHB4OyI+Jm5ic3A7PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTpDYWxpYnJpOyI+d2lsbCByZXR1cm4gYSBpbnZhbGlkIGFkZHJlc3MsIGFuZCBpcGgtJmd0 O2lobCB3aWxsIHJlYWQgdGhlIGludmFsaWQgYWRkcmVzcyB0byBnZXQgdmFsdWUuIFNvLCBJIHRo aW5rIHRoZSBpc3N1ZSBpcyBsYWNrIG9mIGNoZWNrIHRoZSBpcGggaXMgdmFsaWQgb3Igbm8uPC9z cGFuPjwvc3Bhbj48L3A+PHAgIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46LjBweCAu MHB4IC4wcHg7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXpl OjE0LjBweDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk65a6L5L2TO2ZvbnQtc2l6ZToxNC4w cHg7Ij4mbmJzcDs8L3NwYW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu Oi4wcHggLjBweCAuMHB4O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2Zv bnQtc2l6ZToxNC4wcHg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1z aXplOjE0LjBweDsiPlRoYW5rIHlvdSBmb3IgdGFraW5nIHRoZSB0aW1lIHRvIHJlYWQgdGhpcyBl bWFpbCBhbmQgd2UgbG9vayBmb3J3YXJkIHRvIHdvcmtpbmcgd2l0aCB5b3UgZnVydGhlci48L3Nw YW4+PC9wPjxwICBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOi4wcHggLjBweCAuMHB4 O3RleHQtYWxpZ246anVzdGlmeTtmb250LWZhbWlseTpDYWxpYnJpO2ZvbnQtc2l6ZToxNC4wcHg7 Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjE0LjBweDsiPiZu YnNwOzwvc3Bhbj48L3A+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOmJvdGg7Ij48YnIgPjwvZGl2 PjxkaXYgIHN0eWxlPSJjbGVhcjpib3RoOyI+PGJyID48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6 Ym90aDsiPjxkaXYgIGNsYXNzPSIgX19hbGl5dW5fbm9kZV9oYXNfY29sb3IiIHN0eWxlPSJtYXJn aW46LjBweDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2NvbG9yOiMwMDAw MDA7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLFRhaG9tYSxBcmlhbDtmb250LXNpemU6MTQuMHB4O2Zv bnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFu dC1jYXBzOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQt YWxpZ246c3RhcnQ7dGV4dC1pbmRlbnQ6LjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNw YWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6LjBweDt0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOmlu aXRpYWw7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOmluaXRpYWw7dGV4dC1kZWNvcmF0aW9uLWNvbG9y OmluaXRpYWw7Y2xlYXI6Ym90aDsiPjxzcGFuICBzdHlsZT0ibWFyZ2luOi4wcHg7cGFkZGluZzou MHB4O2JvcmRlcjouMHB4O291dGxpbmU6LjBweDtmb250LXNpemU6MTguMHB4O2ZvbnQtZmFtaWx5 OmFyaWFsOyI+PGJyID48L3NwYW4+PGRpdiAgc3R5bGU9Im1hcmdpbjouMHB4O3BhZGRpbmc6LjBw eDtib3JkZXI6LjBweDtvdXRsaW5lOi4wcHg7Y2xlYXI6Ym90aDsiPjxociAgY2xhc3M9IiBfX2Fs aXl1bl9ub2RlX2hhc19iZ2NvbG9yIiBzdHlsZT0iaGVpZ2h0OjIuMHB4O292ZXJmbG93OmhpZGRl bjtwYWRkaW5nOi4wcHg7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3O2JvcmRlcjpub25lO21hcmdp bjoxMi4wcHggLjBweDsiPjwvZGl2PjxkaXYgIHN0eWxlPSJtYXJnaW46LjBweDtwYWRkaW5nOi4w cHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2NsZWFyOmJvdGg7Ij48c3BhbiAgc3R5bGU9Im1h cmdpbjouMHB4O3BhZGRpbmc6LjBweDtib3JkZXI6LjBweDtvdXRsaW5lOi4wcHg7Zm9udC1zaXpl OjE4LjBweDtmb250LWZhbWlseTphcmlhbDsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7VWJpc2VjdGVjaCBTaXJpdXMgVGVhbTwvc3Bhbj48L2Rpdj48ZGl2ICBz dHlsZT0ibWFyZ2luOi4wcHg7cGFkZGluZzouMHB4O2JvcmRlcjouMHB4O291dGxpbmU6LjBweDtj bGVhcjpib3RoOyI+PHNwYW4gIHN0eWxlPSJtYXJnaW46LjBweDtwYWRkaW5nOi4wcHg7Ym9yZGVy Oi4wcHg7b3V0bGluZTouMHB4O2ZvbnQtc2l6ZToxOC4wcHg7Zm9udC1mYW1pbHk6YXJpYWw7Ij4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFdlYjxzcGFuICBjbGFzcz0iIF9f YWxpeXVuX25vZGVfaGFzX2NvbG9yIF9fYWxpeXVuX25vZGVfaGFzX2JnY29sb3IiIHN0eWxlPSJt YXJnaW46LjBweDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2ZvbnQtZmFt aWx5OmFyaWFsO2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjE4LjBweDtmb250LXN0eWxlOm5vcm1h bDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7 Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt0ZXh0LWFsaWduOnN0YXJ0O3Rl eHQtaW5kZW50Oi4wcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3b3JkLXNwYWNpbmc6LjBweDt3aGl0 ZS1zcGFjZTpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO3RleHQtZGVjb3JhdGlvbi10 aGlja25lc3M6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29y YXRpb24tY29sb3I6aW5pdGlhbDtkaXNwbGF5OmlubGluZTtmbG9hdDpub25lOyI+OiZuYnNwOzwv c3Bhbj53d3cudWJpc2VjdGVjaC5jb208L3NwYW4+PC9kaXY+PHNwYW4gIHN0eWxlPSJtYXJnaW46 LjBweDtwYWRkaW5nOi4wcHg7Ym9yZGVyOi4wcHg7b3V0bGluZTouMHB4O2ZvbnQtc2l6ZToxOC4w cHg7Zm9udC1mYW1pbHk6YXJpYWw7Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtFbWFp bDombmJzcDtidWdyZXBvcnRAdWJpc2VjdGVjaC5jb208L3NwYW4+PC9kaXY+PGRpdiAgY2xhc3M9 IiBfX2FsaXl1bl9ub2RlX2hhc19jb2xvciIgc3R5bGU9Im1hcmdpbjouMHB4O3BhZGRpbmc6LjBw eDtib3JkZXI6LjBweDtvdXRsaW5lOi4wcHg7Y29sb3I6IzAwMDAwMDtmb250LWZhbWlseTpIZWx2 ZXRpY2EsVGFob21hLEFyaWFsO2ZvbnQtc2l6ZToxNC4wcHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQt d2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWlu ZGVudDouMHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtc3Bh Y2luZzouMHB4O3RleHQtZGVjb3JhdGlvbi10aGlja25lc3M6aW5pdGlhbDt0ZXh0LWRlY29yYXRp b24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24tY29sb3I6aW5pdGlhbDtjbGVhcjpib3Ro OyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxpbWcg IGhlaWdodD0iOTciIHNyYz0iY2lkOl9fYWxpeXVuMTcwNTQ3Njc0ODIyMTk1NjUxIiB3aWR0aD0i Mjg1IiBzdHlsZT0idmVydGljYWwtYWxpZ246Ym90dG9tOyI+PC9kaXY+PC9kaXY+PGRpdiAgc3R5 bGU9ImNsZWFyOmJvdGg7Ij48YnIgPjwvZGl2PjwvZGl2PjwvZGl2Pg== ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a25a-- ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a259 Content-Type: application/octet-stream Content-ID: <__aliyun170547674822195651> Content-Disposition: inline; filename="=?UTF-8?B?5qiq5p2/56uW54mI57uE5ZCITE9HT1/nlLvmnb8gMS5wbmc=?=" Content-Transfer-Encoding: base64 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 ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a259-- ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a258 Content-Type: application/octet-stream Content-Disposition: attachment; filename="=?UTF-8?B?cG9jLmM=?=" Content-Transfer-Encoding: base64 Ly8gYXV0b2dlbmVyYXRlZCBieSBzeXprYWxsZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUv c3l6a2FsbGVyKQoKI2RlZmluZSBfR05VX1NPVVJDRQoKI2luY2x1ZGUgPGFycGEvaW5ldC5oPgoj aW5jbHVkZSA8ZGlyZW50Lmg+CiNpbmNsdWRlIDxlbmRpYW4uaD4KI2luY2x1ZGUgPGVycm5vLmg+ CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8bmV0L2lmLmg+CiNpbmNsdWRlIDxuZXQvaWZf YXJwLmg+CiNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiNpbmNsdWRlIDxzY2hlZC5oPgojaW5jbHVk ZSA8c2lnbmFsLmg+CiNpbmNsdWRlIDxzdGRhcmcuaD4KI2luY2x1ZGUgPHN0ZGJvb2wuaD4KI2lu Y2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoj aW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KI2luY2x1ZGUgPHN5cy9t b3VudC5oPgojaW5jbHVkZSA8c3lzL3ByY3RsLmg+CiNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4K I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiNpbmNsdWRlIDxz eXMvc3lzY2FsbC5oPgojaW5jbHVkZSA8c3lzL3RpbWUuaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5o PgojaW5jbHVkZSA8c3lzL3Vpby5oPgojaW5jbHVkZSA8c3lzL3dhaXQuaD4KI2luY2x1ZGUgPHRp bWUuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4K I2luY2x1ZGUgPGxpbnV4L2dlbmV0bGluay5oPgojaW5jbHVkZSA8bGludXgvaWZfYWRkci5oPgoj aW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KI2luY2x1ZGUgPGxpbnV4L2lmX2xpbmsuaD4KI2lu Y2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgojaW5jbHVkZSA8bGludXgvaW42Lmg+CiNpbmNsdWRlIDxs aW51eC9pcC5oPgojaW5jbHVkZSA8bGludXgvbmVpZ2hib3VyLmg+CiNpbmNsdWRlIDxsaW51eC9u ZXQuaD4KI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGlu ay5oPgojaW5jbHVkZSA8bGludXgvdGNwLmg+CiNpbmNsdWRlIDxsaW51eC92ZXRoLmg+CgojaWZu ZGVmIF9fTlJfYnBmCiNkZWZpbmUgX19OUl9icGYgMzIxCiNlbmRpZgoKc3RhdGljIHVuc2lnbmVk IGxvbmcgbG9uZyBwcm9jaWQ7CgpzdGF0aWMgdm9pZCBzbGVlcF9tcyh1aW50NjRfdCBtcykKewog IHVzbGVlcChtcyAqIDEwMDApOwp9CgpzdGF0aWMgdWludDY0X3QgY3VycmVudF90aW1lX21zKHZv aWQpCnsKICBzdHJ1Y3QgdGltZXNwZWMgdHM7CiAgaWYgKGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9O T1RPTklDLCAmdHMpKQogICAgZXhpdCgxKTsKICByZXR1cm4gKHVpbnQ2NF90KXRzLnR2X3NlYyAq IDEwMDAgKyAodWludDY0X3QpdHMudHZfbnNlYyAvIDEwMDAwMDA7Cn0KCnN0YXRpYyBib29sIHdy aXRlX2ZpbGUoY29uc3QgY2hhciogZmlsZSwgY29uc3QgY2hhciogd2hhdCwgLi4uKQp7CiAgY2hh ciBidWZbMTAyNF07CiAgdmFfbGlzdCBhcmdzOwogIHZhX3N0YXJ0KGFyZ3MsIHdoYXQpOwogIHZz bnByaW50ZihidWYsIHNpemVvZihidWYpLCB3aGF0LCBhcmdzKTsKICB2YV9lbmQoYXJncyk7CiAg YnVmW3NpemVvZihidWYpIC0gMV0gPSAwOwogIGludCBsZW4gPSBzdHJsZW4oYnVmKTsKICBpbnQg ZmQgPSBvcGVuKGZpbGUsIE9fV1JPTkxZIHwgT19DTE9FWEVDKTsKICBpZiAoZmQgPT0gLTEpCiAg ICByZXR1cm4gZmFsc2U7CiAgaWYgKHdyaXRlKGZkLCBidWYsIGxlbikgIT0gbGVuKSB7CiAgICBp bnQgZXJyID0gZXJybm87CiAgICBjbG9zZShmZCk7CiAgICBlcnJubyA9IGVycjsKICAgIHJldHVy biBmYWxzZTsKICB9CiAgY2xvc2UoZmQpOwogIHJldHVybiB0cnVlOwp9CgpzdHJ1Y3Qgbmxtc2cg ewogIGNoYXIqIHBvczsKICBpbnQgbmVzdGluZzsKICBzdHJ1Y3QgbmxhdHRyKiBuZXN0ZWRbOF07 CiAgY2hhciBidWZbNDA5Nl07Cn07CgpzdGF0aWMgdm9pZCBuZXRsaW5rX2luaXQoc3RydWN0IG5s bXNnKiBubG1zZywgaW50IHR5cCwgaW50IGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgdm9pZCogZGF0YSwgaW50IHNpemUpCnsKICBtZW1zZXQobmxtc2csIDAsIHNpemVvZigq bmxtc2cpKTsKICBzdHJ1Y3Qgbmxtc2doZHIqIGhkciA9IChzdHJ1Y3Qgbmxtc2doZHIqKW5sbXNn LT5idWY7CiAgaGRyLT5ubG1zZ190eXBlID0gdHlwOwogIGhkci0+bmxtc2dfZmxhZ3MgPSBOTE1f Rl9SRVFVRVNUIHwgTkxNX0ZfQUNLIHwgZmxhZ3M7CiAgbWVtY3B5KGhkciArIDEsIGRhdGEsIHNp emUpOwogIG5sbXNnLT5wb3MgPSAoY2hhciopKGhkciArIDEpICsgTkxNU0dfQUxJR04oc2l6ZSk7 Cn0KCnN0YXRpYyB2b2lkIG5ldGxpbmtfYXR0cihzdHJ1Y3Qgbmxtc2cqIG5sbXNnLCBpbnQgdHlw LCBjb25zdCB2b2lkKiBkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpemUpCnsK ICBzdHJ1Y3QgbmxhdHRyKiBhdHRyID0gKHN0cnVjdCBubGF0dHIqKW5sbXNnLT5wb3M7CiAgYXR0 ci0+bmxhX2xlbiA9IHNpemVvZigqYXR0cikgKyBzaXplOwogIGF0dHItPm5sYV90eXBlID0gdHlw OwogIGlmIChzaXplID4gMCkKICAgIG1lbWNweShhdHRyICsgMSwgZGF0YSwgc2l6ZSk7CiAgbmxt c2ctPnBvcyArPSBOTE1TR19BTElHTihhdHRyLT5ubGFfbGVuKTsKfQoKc3RhdGljIHZvaWQgbmV0 bGlua19uZXN0KHN0cnVjdCBubG1zZyogbmxtc2csIGludCB0eXApCnsKICBzdHJ1Y3QgbmxhdHRy KiBhdHRyID0gKHN0cnVjdCBubGF0dHIqKW5sbXNnLT5wb3M7CiAgYXR0ci0+bmxhX3R5cGUgPSB0 eXA7CiAgbmxtc2ctPnBvcyArPSBzaXplb2YoKmF0dHIpOwogIG5sbXNnLT5uZXN0ZWRbbmxtc2ct Pm5lc3RpbmcrK10gPSBhdHRyOwp9CgpzdGF0aWMgdm9pZCBuZXRsaW5rX2RvbmUoc3RydWN0IG5s bXNnKiBubG1zZykKewogIHN0cnVjdCBubGF0dHIqIGF0dHIgPSBubG1zZy0+bmVzdGVkWy0tbmxt c2ctPm5lc3RpbmddOwogIGF0dHItPm5sYV9sZW4gPSBubG1zZy0+cG9zIC0gKGNoYXIqKWF0dHI7 Cn0KCnN0YXRpYyBpbnQgbmV0bGlua19zZW5kX2V4dChzdHJ1Y3Qgbmxtc2cqIG5sbXNnLCBpbnQg c29jaywgdWludDE2X3QgcmVwbHlfdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCogcmVwbHlfbGVuLCBib29sIGRvZmFpbCkKewogIGlmIChubG1zZy0+cG9zID4gbmxtc2ctPmJ1 ZiArIHNpemVvZihubG1zZy0+YnVmKSB8fCBubG1zZy0+bmVzdGluZykKICAgIGV4aXQoMSk7CiAg c3RydWN0IG5sbXNnaGRyKiBoZHIgPSAoc3RydWN0IG5sbXNnaGRyKilubG1zZy0+YnVmOwogIGhk ci0+bmxtc2dfbGVuID0gbmxtc2ctPnBvcyAtIG5sbXNnLT5idWY7CiAgc3RydWN0IHNvY2thZGRy X25sIGFkZHI7CiAgbWVtc2V0KCZhZGRyLCAwLCBzaXplb2YoYWRkcikpOwogIGFkZHIubmxfZmFt aWx5ID0gQUZfTkVUTElOSzsKICBzc2l6ZV90IG4gPSBzZW5kdG8oc29jaywgbmxtc2ctPmJ1Ziwg aGRyLT5ubG1zZ19sZW4sIDAsCiAgICAgICAgICAgICAgICAgICAgIChzdHJ1Y3Qgc29ja2FkZHIq KSZhZGRyLCBzaXplb2YoYWRkcikpOwogIGlmIChuICE9IChzc2l6ZV90KWhkci0+bmxtc2dfbGVu KSB7CiAgICBpZiAoZG9mYWlsKQogICAgICBleGl0KDEpOwogICAgcmV0dXJuIC0xOwogIH0KICBu ID0gcmVjdihzb2NrLCBubG1zZy0+YnVmLCBzaXplb2Yobmxtc2ctPmJ1ZiksIDApOwogIGlmIChy ZXBseV9sZW4pCiAgICAqcmVwbHlfbGVuID0gMDsKICBpZiAobiA8IDApIHsKICAgIGlmIChkb2Zh aWwpCiAgICAgIGV4aXQoMSk7CiAgICByZXR1cm4gLTE7CiAgfQogIGlmIChuIDwgKHNzaXplX3Qp c2l6ZW9mKHN0cnVjdCBubG1zZ2hkcikpIHsKICAgIGVycm5vID0gRUlOVkFMOwogICAgaWYgKGRv ZmFpbCkKICAgICAgZXhpdCgxKTsKICAgIHJldHVybiAtMTsKICB9CiAgaWYgKGhkci0+bmxtc2df dHlwZSA9PSBOTE1TR19ET05FKQogICAgcmV0dXJuIDA7CiAgaWYgKHJlcGx5X2xlbiAmJiBoZHIt Pm5sbXNnX3R5cGUgPT0gcmVwbHlfdHlwZSkgewogICAgKnJlcGx5X2xlbiA9IG47CiAgICByZXR1 cm4gMDsKICB9CiAgaWYgKG4gPCAoc3NpemVfdCkoc2l6ZW9mKHN0cnVjdCBubG1zZ2hkcikgKyBz aXplb2Yoc3RydWN0IG5sbXNnZXJyKSkpIHsKICAgIGVycm5vID0gRUlOVkFMOwogICAgaWYgKGRv ZmFpbCkKICAgICAgZXhpdCgxKTsKICAgIHJldHVybiAtMTsKICB9CiAgaWYgKGhkci0+bmxtc2df dHlwZSAhPSBOTE1TR19FUlJPUikgewogICAgZXJybm8gPSBFSU5WQUw7CiAgICBpZiAoZG9mYWls KQogICAgICBleGl0KDEpOwogICAgcmV0dXJuIC0xOwogIH0KICBlcnJubyA9IC0oKHN0cnVjdCBu bG1zZ2VyciopKGhkciArIDEpKS0+ZXJyb3I7CiAgcmV0dXJuIC1lcnJubzsKfQoKc3RhdGljIGlu dCBuZXRsaW5rX3NlbmQoc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNvY2spCnsKICByZXR1cm4g bmV0bGlua19zZW5kX2V4dChubG1zZywgc29jaywgMCwgTlVMTCwgdHJ1ZSk7Cn0KCnN0YXRpYyBp bnQgbmV0bGlua19xdWVyeV9mYW1pbHlfaWQoc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNvY2ss CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogZmFtaWx5X25h bWUsIGJvb2wgZG9mYWlsKQp7CiAgc3RydWN0IGdlbmxtc2doZHIgZ2VubGhkcjsKICBtZW1zZXQo JmdlbmxoZHIsIDAsIHNpemVvZihnZW5saGRyKSk7CiAgZ2VubGhkci5jbWQgPSBDVFJMX0NNRF9H RVRGQU1JTFk7CiAgbmV0bGlua19pbml0KG5sbXNnLCBHRU5MX0lEX0NUUkwsIDAsICZnZW5saGRy LCBzaXplb2YoZ2VubGhkcikpOwogIG5ldGxpbmtfYXR0cihubG1zZywgQ1RSTF9BVFRSX0ZBTUlM WV9OQU1FLCBmYW1pbHlfbmFtZSwKICAgICAgICAgICAgICAgc3RybmxlbihmYW1pbHlfbmFtZSwg R0VOTF9OQU1TSVogLSAxKSArIDEpOwogIGludCBuID0gMDsKICBpbnQgZXJyID0gbmV0bGlua19z ZW5kX2V4dChubG1zZywgc29jaywgR0VOTF9JRF9DVFJMLCAmbiwgZG9mYWlsKTsKICBpZiAoZXJy IDwgMCkgewogICAgcmV0dXJuIC0xOwogIH0KICB1aW50MTZfdCBpZCA9IDA7CiAgc3RydWN0IG5s YXR0ciogYXR0ciA9IChzdHJ1Y3QgbmxhdHRyKikobmxtc2ctPmJ1ZiArIE5MTVNHX0hEUkxFTiAr CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkxNU0dfQUxJR04oc2l6 ZW9mKGdlbmxoZHIpKSk7CiAgZm9yICg7IChjaGFyKilhdHRyIDwgbmxtc2ctPmJ1ZiArIG47CiAg ICAgICBhdHRyID0gKHN0cnVjdCBubGF0dHIqKSgoY2hhciopYXR0ciArIE5MTVNHX0FMSUdOKGF0 dHItPm5sYV9sZW4pKSkgewogICAgaWYgKGF0dHItPm5sYV90eXBlID09IENUUkxfQVRUUl9GQU1J TFlfSUQpIHsKICAgICAgaWQgPSAqKHVpbnQxNl90KikoYXR0ciArIDEpOwogICAgICBicmVhazsK ICAgIH0KICB9CiAgaWYgKCFpZCkgewogICAgZXJybm8gPSBFSU5WQUw7CiAgICByZXR1cm4gLTE7 CiAgfQogIHJlY3Yoc29jaywgbmxtc2ctPmJ1Ziwgc2l6ZW9mKG5sbXNnLT5idWYpLCAwKTsKICBy ZXR1cm4gaWQ7Cn0KCnN0YXRpYyBpbnQgbmV0bGlua19uZXh0X21zZyhzdHJ1Y3Qgbmxtc2cqIG5s bXNnLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IHRvdGFsX2xlbikKewogIHN0cnVjdCBubG1zZ2hkciogaGRyID0gKHN0cnVjdCBu bG1zZ2hkciopKG5sbXNnLT5idWYgKyBvZmZzZXQpOwogIGlmIChvZmZzZXQgPT0gdG90YWxfbGVu IHx8IG9mZnNldCArIGhkci0+bmxtc2dfbGVuID4gdG90YWxfbGVuKQogICAgcmV0dXJuIC0xOwog IHJldHVybiBoZHItPm5sbXNnX2xlbjsKfQoKc3RhdGljIHZvaWQgbmV0bGlua19hZGRfZGV2aWNl X2ltcGwoc3RydWN0IG5sbXNnKiBubG1zZywgY29uc3QgY2hhciogdHlwZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbmFtZSwgYm9vbCB1cCkKewogIHN0 cnVjdCBpZmluZm9tc2cgaGRyOwogIG1lbXNldCgmaGRyLCAwLCBzaXplb2YoaGRyKSk7CiAgaWYg KHVwKQogICAgaGRyLmlmaV9mbGFncyA9IGhkci5pZmlfY2hhbmdlID0gSUZGX1VQOwogIG5ldGxp bmtfaW5pdChubG1zZywgUlRNX05FV0xJTkssIE5MTV9GX0VYQ0wgfCBOTE1fRl9DUkVBVEUsICZo ZHIsCiAgICAgICAgICAgICAgIHNpemVvZihoZHIpKTsKICBpZiAobmFtZSkKICAgIG5ldGxpbmtf YXR0cihubG1zZywgSUZMQV9JRk5BTUUsIG5hbWUsIHN0cmxlbihuYW1lKSk7CiAgbmV0bGlua19u ZXN0KG5sbXNnLCBJRkxBX0xJTktJTkZPKTsKICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfSU5G T19LSU5ELCB0eXBlLCBzdHJsZW4odHlwZSkpOwp9CgpzdGF0aWMgdm9pZCBuZXRsaW5rX2FkZF9k ZXZpY2Uoc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNvY2ssIGNvbnN0IGNoYXIqIHR5cGUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lKQp7CiAgbmV0bGlu a19hZGRfZGV2aWNlX2ltcGwobmxtc2csIHR5cGUsIG5hbWUsIGZhbHNlKTsKICBuZXRsaW5rX2Rv bmUobmxtc2cpOwogIGludCBlcnIgPSBuZXRsaW5rX3NlbmQobmxtc2csIHNvY2spOwogIGlmIChl cnIgPCAwKSB7CiAgfQp9CgpzdGF0aWMgdm9pZCBuZXRsaW5rX2FkZF92ZXRoKHN0cnVjdCBubG1z Zyogbmxtc2csIGludCBzb2NrLCBjb25zdCBjaGFyKiBuYW1lLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIqIHBlZXIpCnsKICBuZXRsaW5rX2FkZF9kZXZpY2VfaW1wbChu bG1zZywgInZldGgiLCBuYW1lLCBmYWxzZSk7CiAgbmV0bGlua19uZXN0KG5sbXNnLCBJRkxBX0lO Rk9fREFUQSk7CiAgbmV0bGlua19uZXN0KG5sbXNnLCBWRVRIX0lORk9fUEVFUik7CiAgbmxtc2ct PnBvcyArPSBzaXplb2Yoc3RydWN0IGlmaW5mb21zZyk7CiAgbmV0bGlua19hdHRyKG5sbXNnLCBJ RkxBX0lGTkFNRSwgcGVlciwgc3RybGVuKHBlZXIpKTsKICBuZXRsaW5rX2RvbmUobmxtc2cpOwog IG5ldGxpbmtfZG9uZShubG1zZyk7CiAgbmV0bGlua19kb25lKG5sbXNnKTsKICBpbnQgZXJyID0g bmV0bGlua19zZW5kKG5sbXNnLCBzb2NrKTsKICBpZiAoZXJyIDwgMCkgewogIH0KfQoKc3RhdGlj IHZvaWQgbmV0bGlua19hZGRfeGZybShzdHJ1Y3Qgbmxtc2cqIG5sbXNnLCBpbnQgc29jaywgY29u c3QgY2hhciogbmFtZSkKewogIG5ldGxpbmtfYWRkX2RldmljZV9pbXBsKG5sbXNnLCAieGZybSIs IG5hbWUsIHRydWUpOwogIG5ldGxpbmtfbmVzdChubG1zZywgSUZMQV9JTkZPX0RBVEEpOwogIGlu dCBpZl9pZCA9IDE7CiAgbmV0bGlua19hdHRyKG5sbXNnLCAyLCAmaWZfaWQsIHNpemVvZihpZl9p ZCkpOwogIG5ldGxpbmtfZG9uZShubG1zZyk7CiAgbmV0bGlua19kb25lKG5sbXNnKTsKICBpbnQg ZXJyID0gbmV0bGlua19zZW5kKG5sbXNnLCBzb2NrKTsKICBpZiAoZXJyIDwgMCkgewogIH0KfQoK c3RhdGljIHZvaWQgbmV0bGlua19hZGRfaHNyKHN0cnVjdCBubG1zZyogbmxtc2csIGludCBzb2Nr LCBjb25zdCBjaGFyKiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciogc2xhdmUxLCBjb25zdCBjaGFyKiBzbGF2ZTIpCnsKICBuZXRsaW5rX2FkZF9kZXZpY2VfaW1w bChubG1zZywgImhzciIsIG5hbWUsIGZhbHNlKTsKICBuZXRsaW5rX25lc3Qobmxtc2csIElGTEFf SU5GT19EQVRBKTsKICBpbnQgaWZpbmRleDEgPSBpZl9uYW1ldG9pbmRleChzbGF2ZTEpOwogIG5l dGxpbmtfYXR0cihubG1zZywgSUZMQV9IU1JfU0xBVkUxLCAmaWZpbmRleDEsIHNpemVvZihpZmlu ZGV4MSkpOwogIGludCBpZmluZGV4MiA9IGlmX25hbWV0b2luZGV4KHNsYXZlMik7CiAgbmV0bGlu a19hdHRyKG5sbXNnLCBJRkxBX0hTUl9TTEFWRTIsICZpZmluZGV4Miwgc2l6ZW9mKGlmaW5kZXgy KSk7CiAgbmV0bGlua19kb25lKG5sbXNnKTsKICBuZXRsaW5rX2RvbmUobmxtc2cpOwogIGludCBl cnIgPSBuZXRsaW5rX3NlbmQobmxtc2csIHNvY2spOwogIGlmIChlcnIgPCAwKSB7CiAgfQp9Cgpz dGF0aWMgdm9pZCBuZXRsaW5rX2FkZF9saW5rZWQoc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNv Y2ssIGNvbnN0IGNoYXIqIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyKiBuYW1lLCBjb25zdCBjaGFyKiBsaW5rKQp7CiAgbmV0bGlua19hZGRfZGV2aWNlX2lt cGwobmxtc2csIHR5cGUsIG5hbWUsIGZhbHNlKTsKICBuZXRsaW5rX2RvbmUobmxtc2cpOwogIGlu dCBpZmluZGV4ID0gaWZfbmFtZXRvaW5kZXgobGluayk7CiAgbmV0bGlua19hdHRyKG5sbXNnLCBJ RkxBX0xJTkssICZpZmluZGV4LCBzaXplb2YoaWZpbmRleCkpOwogIGludCBlcnIgPSBuZXRsaW5r X3NlbmQobmxtc2csIHNvY2spOwogIGlmIChlcnIgPCAwKSB7CiAgfQp9CgpzdGF0aWMgdm9pZCBu ZXRsaW5rX2FkZF92bGFuKHN0cnVjdCBubG1zZyogbmxtc2csIGludCBzb2NrLCBjb25zdCBjaGFy KiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGxpbmssIHVp bnQxNl90IGlkLCB1aW50MTZfdCBwcm90bykKewogIG5ldGxpbmtfYWRkX2RldmljZV9pbXBsKG5s bXNnLCAidmxhbiIsIG5hbWUsIGZhbHNlKTsKICBuZXRsaW5rX25lc3Qobmxtc2csIElGTEFfSU5G T19EQVRBKTsKICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfVkxBTl9JRCwgJmlkLCBzaXplb2Yo aWQpKTsKICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfVkxBTl9QUk9UT0NPTCwgJnByb3RvLCBz aXplb2YocHJvdG8pKTsKICBuZXRsaW5rX2RvbmUobmxtc2cpOwogIG5ldGxpbmtfZG9uZShubG1z Zyk7CiAgaW50IGlmaW5kZXggPSBpZl9uYW1ldG9pbmRleChsaW5rKTsKICBuZXRsaW5rX2F0dHIo bmxtc2csIElGTEFfTElOSywgJmlmaW5kZXgsIHNpemVvZihpZmluZGV4KSk7CiAgaW50IGVyciA9 IG5ldGxpbmtfc2VuZChubG1zZywgc29jayk7CiAgaWYgKGVyciA8IDApIHsKICB9Cn0KCnN0YXRp YyB2b2lkIG5ldGxpbmtfYWRkX21hY3ZsYW4oc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNvY2ss IGNvbnN0IGNoYXIqIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciogbGluaykKewogIG5ldGxpbmtfYWRkX2RldmljZV9pbXBsKG5sbXNnLCAibWFjdmxhbiIs IG5hbWUsIGZhbHNlKTsKICBuZXRsaW5rX25lc3Qobmxtc2csIElGTEFfSU5GT19EQVRBKTsKICB1 aW50MzJfdCBtb2RlID0gTUFDVkxBTl9NT0RFX0JSSURHRTsKICBuZXRsaW5rX2F0dHIobmxtc2cs IElGTEFfTUFDVkxBTl9NT0RFLCAmbW9kZSwgc2l6ZW9mKG1vZGUpKTsKICBuZXRsaW5rX2RvbmUo bmxtc2cpOwogIG5ldGxpbmtfZG9uZShubG1zZyk7CiAgaW50IGlmaW5kZXggPSBpZl9uYW1ldG9p bmRleChsaW5rKTsKICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfTElOSywgJmlmaW5kZXgsIHNp emVvZihpZmluZGV4KSk7CiAgaW50IGVyciA9IG5ldGxpbmtfc2VuZChubG1zZywgc29jayk7CiAg aWYgKGVyciA8IDApIHsKICB9Cn0KCnN0YXRpYyB2b2lkIG5ldGxpbmtfYWRkX2dlbmV2ZShzdHJ1 Y3Qgbmxtc2cqIG5sbXNnLCBpbnQgc29jaywgY29uc3QgY2hhciogbmFtZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZuaSwgc3RydWN0IGluX2FkZHIqIGFkZHI0LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGluNl9hZGRyKiBhZGRyNikKewog IG5ldGxpbmtfYWRkX2RldmljZV9pbXBsKG5sbXNnLCAiZ2VuZXZlIiwgbmFtZSwgZmFsc2UpOwog IG5ldGxpbmtfbmVzdChubG1zZywgSUZMQV9JTkZPX0RBVEEpOwogIG5ldGxpbmtfYXR0cihubG1z ZywgSUZMQV9HRU5FVkVfSUQsICZ2bmksIHNpemVvZih2bmkpKTsKICBpZiAoYWRkcjQpCiAgICBu ZXRsaW5rX2F0dHIobmxtc2csIElGTEFfR0VORVZFX1JFTU9URSwgYWRkcjQsIHNpemVvZigqYWRk cjQpKTsKICBpZiAoYWRkcjYpCiAgICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfR0VORVZFX1JF TU9URTYsIGFkZHI2LCBzaXplb2YoKmFkZHI2KSk7CiAgbmV0bGlua19kb25lKG5sbXNnKTsKICBu ZXRsaW5rX2RvbmUobmxtc2cpOwogIGludCBlcnIgPSBuZXRsaW5rX3NlbmQobmxtc2csIHNvY2sp OwogIGlmIChlcnIgPCAwKSB7CiAgfQp9CgojZGVmaW5lIElGTEFfSVBWTEFOX0ZMQUdTIDIKI2Rl ZmluZSBJUFZMQU5fTU9ERV9MM1MgMgojdW5kZWYgSVBWTEFOX0ZfVkVQQQojZGVmaW5lIElQVkxB Tl9GX1ZFUEEgMgoKc3RhdGljIHZvaWQgbmV0bGlua19hZGRfaXB2bGFuKHN0cnVjdCBubG1zZyog bmxtc2csIGludCBzb2NrLCBjb25zdCBjaGFyKiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciogbGluaywgdWludDE2X3QgbW9kZSwgdWludDE2X3QgZmxhZ3Mp CnsKICBuZXRsaW5rX2FkZF9kZXZpY2VfaW1wbChubG1zZywgImlwdmxhbiIsIG5hbWUsIGZhbHNl KTsKICBuZXRsaW5rX25lc3Qobmxtc2csIElGTEFfSU5GT19EQVRBKTsKICBuZXRsaW5rX2F0dHIo bmxtc2csIElGTEFfSVBWTEFOX01PREUsICZtb2RlLCBzaXplb2YobW9kZSkpOwogIG5ldGxpbmtf YXR0cihubG1zZywgSUZMQV9JUFZMQU5fRkxBR1MsICZmbGFncywgc2l6ZW9mKGZsYWdzKSk7CiAg bmV0bGlua19kb25lKG5sbXNnKTsKICBuZXRsaW5rX2RvbmUobmxtc2cpOwogIGludCBpZmluZGV4 ID0gaWZfbmFtZXRvaW5kZXgobGluayk7CiAgbmV0bGlua19hdHRyKG5sbXNnLCBJRkxBX0xJTkss ICZpZmluZGV4LCBzaXplb2YoaWZpbmRleCkpOwogIGludCBlcnIgPSBuZXRsaW5rX3NlbmQobmxt c2csIHNvY2spOwogIGlmIChlcnIgPCAwKSB7CiAgfQp9CgpzdGF0aWMgdm9pZCBuZXRsaW5rX2Rl dmljZV9jaGFuZ2Uoc3RydWN0IG5sbXNnKiBubG1zZywgaW50IHNvY2ssCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLCBib29sIHVwLCBjb25zdCBjaGFy KiBtYXN0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkKiBt YWMsIGludCBtYWNzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciogbmV3X25hbWUpCnsKICBzdHJ1Y3QgaWZpbmZvbXNnIGhkcjsKICBtZW1zZXQoJmhkciwg MCwgc2l6ZW9mKGhkcikpOwogIGlmICh1cCkKICAgIGhkci5pZmlfZmxhZ3MgPSBoZHIuaWZpX2No YW5nZSA9IElGRl9VUDsKICBoZHIuaWZpX2luZGV4ID0gaWZfbmFtZXRvaW5kZXgobmFtZSk7CiAg bmV0bGlua19pbml0KG5sbXNnLCBSVE1fTkVXTElOSywgMCwgJmhkciwgc2l6ZW9mKGhkcikpOwog IGlmIChuZXdfbmFtZSkKICAgIG5ldGxpbmtfYXR0cihubG1zZywgSUZMQV9JRk5BTUUsIG5ld19u YW1lLCBzdHJsZW4obmV3X25hbWUpKTsKICBpZiAobWFzdGVyKSB7CiAgICBpbnQgaWZpbmRleCA9 IGlmX25hbWV0b2luZGV4KG1hc3Rlcik7CiAgICBuZXRsaW5rX2F0dHIobmxtc2csIElGTEFfTUFT VEVSLCAmaWZpbmRleCwgc2l6ZW9mKGlmaW5kZXgpKTsKICB9CiAgaWYgKG1hY3NpemUpCiAgICBu ZXRsaW5rX2F0dHIobmxtc2csIElGTEFfQUREUkVTUywgbWFjLCBtYWNzaXplKTsKICBpbnQgZXJy ID0gbmV0bGlua19zZW5kKG5sbXNnLCBzb2NrKTsKICBpZiAoZXJyIDwgMCkgewogIH0KfQoKc3Rh dGljIGludCBuZXRsaW5rX2FkZF9hZGRyKHN0cnVjdCBubG1zZyogbmxtc2csIGludCBzb2NrLCBj b25zdCBjaGFyKiBkZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkKiBh ZGRyLCBpbnQgYWRkcnNpemUpCnsKICBzdHJ1Y3QgaWZhZGRybXNnIGhkcjsKICBtZW1zZXQoJmhk ciwgMCwgc2l6ZW9mKGhkcikpOwogIGhkci5pZmFfZmFtaWx5ID0gYWRkcnNpemUgPT0gNCA/IEFG X0lORVQgOiBBRl9JTkVUNjsKICBoZHIuaWZhX3ByZWZpeGxlbiA9IGFkZHJzaXplID09IDQgPyAy NCA6IDEyMDsKICBoZHIuaWZhX3Njb3BlID0gUlRfU0NPUEVfVU5JVkVSU0U7CiAgaGRyLmlmYV9p bmRleCA9IGlmX25hbWV0b2luZGV4KGRldik7CiAgbmV0bGlua19pbml0KG5sbXNnLCBSVE1fTkVX QUREUiwgTkxNX0ZfQ1JFQVRFIHwgTkxNX0ZfUkVQTEFDRSwgJmhkciwKICAgICAgICAgICAgICAg c2l6ZW9mKGhkcikpOwogIG5ldGxpbmtfYXR0cihubG1zZywgSUZBX0xPQ0FMLCBhZGRyLCBhZGRy c2l6ZSk7CiAgbmV0bGlua19hdHRyKG5sbXNnLCBJRkFfQUREUkVTUywgYWRkciwgYWRkcnNpemUp OwogIHJldHVybiBuZXRsaW5rX3NlbmQobmxtc2csIHNvY2spOwp9CgpzdGF0aWMgdm9pZCBuZXRs aW5rX2FkZF9hZGRyNChzdHJ1Y3Qgbmxtc2cqIG5sbXNnLCBpbnQgc29jaywgY29uc3QgY2hhciog ZGV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBhZGRyKQp7CiAg c3RydWN0IGluX2FkZHIgaW5fYWRkcjsKICBpbmV0X3B0b24oQUZfSU5FVCwgYWRkciwgJmluX2Fk ZHIpOwogIGludCBlcnIgPSBuZXRsaW5rX2FkZF9hZGRyKG5sbXNnLCBzb2NrLCBkZXYsICZpbl9h ZGRyLCBzaXplb2YoaW5fYWRkcikpOwogIGlmIChlcnIgPCAwKSB7CiAgfQp9CgpzdGF0aWMgdm9p ZCBuZXRsaW5rX2FkZF9hZGRyNihzdHJ1Y3Qgbmxtc2cqIG5sbXNnLCBpbnQgc29jaywgY29uc3Qg Y2hhciogZGV2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBhZGRy KQp7CiAgc3RydWN0IGluNl9hZGRyIGluNl9hZGRyOwogIGluZXRfcHRvbihBRl9JTkVUNiwgYWRk ciwgJmluNl9hZGRyKTsKICBpbnQgZXJyID0gbmV0bGlua19hZGRfYWRkcihubG1zZywgc29jaywg ZGV2LCAmaW42X2FkZHIsIHNpemVvZihpbjZfYWRkcikpOwogIGlmIChlcnIgPCAwKSB7CiAgfQp9 CgpzdGF0aWMgc3RydWN0IG5sbXNnIG5sbXNnOwoKI2RlZmluZSBERVZMSU5LX0ZBTUlMWV9OQU1F ICJkZXZsaW5rIgoKI2RlZmluZSBERVZMSU5LX0NNRF9QT1JUX0dFVCA1CiNkZWZpbmUgREVWTElO S19BVFRSX0JVU19OQU1FIDEKI2RlZmluZSBERVZMSU5LX0FUVFJfREVWX05BTUUgMgojZGVmaW5l IERFVkxJTktfQVRUUl9ORVRERVZfTkFNRSA3CgpzdGF0aWMgc3RydWN0IG5sbXNnIG5sbXNnMjsK CnN0YXRpYyB2b2lkIGluaXRpYWxpemVfZGV2bGlua19wb3J0cyhjb25zdCBjaGFyKiBidXNfbmFt ZSwgY29uc3QgY2hhciogZGV2X25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyKiBuZXRkZXZfcHJlZml4KQp7CiAgc3RydWN0IGdlbmxtc2doZHIgZ2Vu bGhkcjsKICBpbnQgbGVuLCB0b3RhbF9sZW4sIGlkLCBlcnIsIG9mZnNldDsKICB1aW50MTZfdCBu ZXRkZXZfaW5kZXg7CiAgaW50IHNvY2sgPSBzb2NrZXQoQUZfTkVUTElOSywgU09DS19SQVcsIE5F VExJTktfR0VORVJJQyk7CiAgaWYgKHNvY2sgPT0gLTEpCiAgICBleGl0KDEpOwogIGludCBydHNv Y2sgPSBzb2NrZXQoQUZfTkVUTElOSywgU09DS19SQVcsIE5FVExJTktfUk9VVEUpOwogIGlmIChy dHNvY2sgPT0gLTEpCiAgICBleGl0KDEpOwogIGlkID0gbmV0bGlua19xdWVyeV9mYW1pbHlfaWQo Jm5sbXNnLCBzb2NrLCBERVZMSU5LX0ZBTUlMWV9OQU1FLCB0cnVlKTsKICBpZiAoaWQgPT0gLTEp CiAgICBnb3RvIGVycm9yOwogIG1lbXNldCgmZ2VubGhkciwgMCwgc2l6ZW9mKGdlbmxoZHIpKTsK ICBnZW5saGRyLmNtZCA9IERFVkxJTktfQ01EX1BPUlRfR0VUOwogIG5ldGxpbmtfaW5pdCgmbmxt c2csIGlkLCBOTE1fRl9EVU1QLCAmZ2VubGhkciwgc2l6ZW9mKGdlbmxoZHIpKTsKICBuZXRsaW5r X2F0dHIoJm5sbXNnLCBERVZMSU5LX0FUVFJfQlVTX05BTUUsIGJ1c19uYW1lLCBzdHJsZW4oYnVz X25hbWUpICsgMSk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgREVWTElOS19BVFRSX0RFVl9OQU1F LCBkZXZfbmFtZSwgc3RybGVuKGRldl9uYW1lKSArIDEpOwogIGVyciA9IG5ldGxpbmtfc2VuZF9l eHQoJm5sbXNnLCBzb2NrLCBpZCwgJnRvdGFsX2xlbiwgdHJ1ZSk7CiAgaWYgKGVyciA8IDApIHsK ICAgIGdvdG8gZXJyb3I7CiAgfQogIG9mZnNldCA9IDA7CiAgbmV0ZGV2X2luZGV4ID0gMDsKICB3 aGlsZSAoKGxlbiA9IG5ldGxpbmtfbmV4dF9tc2coJm5sbXNnLCBvZmZzZXQsIHRvdGFsX2xlbikp ICE9IC0xKSB7CiAgICBzdHJ1Y3QgbmxhdHRyKiBhdHRyID0gKHN0cnVjdCBubGF0dHIqKShubG1z Zy5idWYgKyBvZmZzZXQgKyBOTE1TR19IRFJMRU4gKwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTkxNU0dfQUxJR04oc2l6ZW9mKGdlbmxoZHIpKSk7CiAgICBmb3Ig KDsgKGNoYXIqKWF0dHIgPCBubG1zZy5idWYgKyBvZmZzZXQgKyBsZW47CiAgICAgICAgIGF0dHIg PSAoc3RydWN0IG5sYXR0ciopKChjaGFyKilhdHRyICsgTkxNU0dfQUxJR04oYXR0ci0+bmxhX2xl bikpKSB7CiAgICAgIGlmIChhdHRyLT5ubGFfdHlwZSA9PSBERVZMSU5LX0FUVFJfTkVUREVWX05B TUUpIHsKICAgICAgICBjaGFyKiBwb3J0X25hbWU7CiAgICAgICAgY2hhciBuZXRkZXZfbmFtZVtJ Rk5BTVNJWl07CiAgICAgICAgcG9ydF9uYW1lID0gKGNoYXIqKShhdHRyICsgMSk7CiAgICAgICAg c25wcmludGYobmV0ZGV2X25hbWUsIHNpemVvZihuZXRkZXZfbmFtZSksICIlcyVkIiwgbmV0ZGV2 X3ByZWZpeCwKICAgICAgICAgICAgICAgICBuZXRkZXZfaW5kZXgpOwogICAgICAgIG5ldGxpbmtf ZGV2aWNlX2NoYW5nZSgmbmxtc2cyLCBydHNvY2ssIHBvcnRfbmFtZSwgdHJ1ZSwgMCwgMCwgMCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0ZGV2X25hbWUpOwogICAgICAgIGJyZWFr OwogICAgICB9CiAgICB9CiAgICBvZmZzZXQgKz0gbGVuOwogICAgbmV0ZGV2X2luZGV4Kys7CiAg fQplcnJvcjoKICBjbG9zZShydHNvY2spOwogIGNsb3NlKHNvY2spOwp9CgojZGVmaW5lIERFVl9J UFY0ICIxNzIuMjAuMjAuJWQiCiNkZWZpbmUgREVWX0lQVjYgImZlODA6OiUwMngiCiNkZWZpbmUg REVWX01BQyAweDAwYWFhYWFhYWFhYQoKc3RhdGljIHZvaWQgbmV0ZGV2c2ltX2FkZCh1bnNpZ25l ZCBpbnQgYWRkciwgdW5zaWduZWQgaW50IHBvcnRfY291bnQpCnsKICB3cml0ZV9maWxlKCIvc3lz L2J1cy9uZXRkZXZzaW0vZGVsX2RldmljZSIsICIldSIsIGFkZHIpOwogIGlmICh3cml0ZV9maWxl KCIvc3lzL2J1cy9uZXRkZXZzaW0vbmV3X2RldmljZSIsICIldSAldSIsIGFkZHIsIHBvcnRfY291 bnQpKSB7CiAgICBjaGFyIGJ1ZlszMl07CiAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAi bmV0ZGV2c2ltJWQiLCBhZGRyKTsKICAgIGluaXRpYWxpemVfZGV2bGlua19wb3J0cygibmV0ZGV2 c2ltIiwgYnVmLCAibmV0ZGV2c2ltIik7CiAgfQp9CgojZGVmaW5lIFdHX0dFTkxfTkFNRSAid2ly ZWd1YXJkIgplbnVtIHdnX2NtZCB7CiAgV0dfQ01EX0dFVF9ERVZJQ0UsCiAgV0dfQ01EX1NFVF9E RVZJQ0UsCn07CmVudW0gd2dkZXZpY2VfYXR0cmlidXRlIHsKICBXR0RFVklDRV9BX1VOU1BFQywK ICBXR0RFVklDRV9BX0lGSU5ERVgsCiAgV0dERVZJQ0VfQV9JRk5BTUUsCiAgV0dERVZJQ0VfQV9Q UklWQVRFX0tFWSwKICBXR0RFVklDRV9BX1BVQkxJQ19LRVksCiAgV0dERVZJQ0VfQV9GTEFHUywK ICBXR0RFVklDRV9BX0xJU1RFTl9QT1JULAogIFdHREVWSUNFX0FfRldNQVJLLAogIFdHREVWSUNF X0FfUEVFUlMsCn07CmVudW0gd2dwZWVyX2F0dHJpYnV0ZSB7CiAgV0dQRUVSX0FfVU5TUEVDLAog IFdHUEVFUl9BX1BVQkxJQ19LRVksCiAgV0dQRUVSX0FfUFJFU0hBUkVEX0tFWSwKICBXR1BFRVJf QV9GTEFHUywKICBXR1BFRVJfQV9FTkRQT0lOVCwKICBXR1BFRVJfQV9QRVJTSVNURU5UX0tFRVBB TElWRV9JTlRFUlZBTCwKICBXR1BFRVJfQV9MQVNUX0hBTkRTSEFLRV9USU1FLAogIFdHUEVFUl9B X1JYX0JZVEVTLAogIFdHUEVFUl9BX1RYX0JZVEVTLAogIFdHUEVFUl9BX0FMTE9XRURJUFMsCiAg V0dQRUVSX0FfUFJPVE9DT0xfVkVSU0lPTiwKfTsKZW51bSB3Z2FsbG93ZWRpcF9hdHRyaWJ1dGUg ewogIFdHQUxMT1dFRElQX0FfVU5TUEVDLAogIFdHQUxMT1dFRElQX0FfRkFNSUxZLAogIFdHQUxM T1dFRElQX0FfSVBBRERSLAogIFdHQUxMT1dFRElQX0FfQ0lEUl9NQVNLLAp9OwoKc3RhdGljIHZv aWQgbmV0bGlua193aXJlZ3VhcmRfc2V0dXAodm9pZCkKewogIGNvbnN0IGNoYXIgaWZuYW1lX2Fb XSA9ICJ3ZzAiOwogIGNvbnN0IGNoYXIgaWZuYW1lX2JbXSA9ICJ3ZzEiOwogIGNvbnN0IGNoYXIg aWZuYW1lX2NbXSA9ICJ3ZzIiOwogIGNvbnN0IGNoYXIgcHJpdmF0ZV9hW10gPQogICAgICAiXHhh MFx4NWNceGE4XHg0Zlx4NmNceDljXHg4ZVx4MzhceDUzXHhlMlx4ZmRceDdhXHg3MFx4YWVceDBm XHhiMlx4MGZceGExIgogICAgICAiXHg1Mlx4NjBceDBjXHhiMFx4MDhceDQ1XHgxN1x4NGZceDA4 XHgwN1x4NmZceDhkXHg3OFx4NDMiOwogIGNvbnN0IGNoYXIgcHJpdmF0ZV9iW10gPQogICAgICAi XHhiMFx4ODBceDczXHhlOFx4ZDRceDRlXHg5MVx4ZTNceGRhXHg5Mlx4MmNceDIyXHg0M1x4ODJc eDQ0XHhiYlx4ODhceDVjIgogICAgICAiXHg2OVx4ZTJceDY5XHhjOFx4ZTlceGQ4XHgzNVx4YjFc eDE0XHgyOVx4M2FceDRkXHhkY1x4NmUiOwogIGNvbnN0IGNoYXIgcHJpdmF0ZV9jW10gPQogICAg ICAiXHhhMFx4Y2JceDg3XHg5YVx4NDdceGY1XHhiY1x4NjRceDRjXHgwZVx4NjlceDNmXHhhNlx4 ZDBceDMxXHhjN1x4NGFceDE1IgogICAgICAiXHg1M1x4YjZceGU5XHgwMVx4YjlceGZmXHgyZlx4 NTFceDhjXHg3OFx4MDRceDJmXHhiNVx4NDIiOwogIGNvbnN0IGNoYXIgcHVibGljX2FbXSA9CiAg ICAgICJceDk3XHg1Y1x4OWRceDgxXHhjOVx4ODNceGM4XHgyMFx4OWVceGU3XHg4MVx4MjVceDRi XHg4OVx4OWZceDhlXHhkOVx4MjUiCiAgICAgICJceGFlXHg5Zlx4MDlceDIzXHhjMlx4M2NceDYy XHhmNVx4M2NceDU3XHhjZFx4YmZceDY5XHgxYyI7CiAgY29uc3QgY2hhciBwdWJsaWNfYltdID0K ICAgICAgIlx4ZDFceDczXHgyOFx4OTlceGY2XHgxMVx4Y2RceDg5XHg5NFx4MDNceDRkXHg3Zlx4 NDFceDNkXHhjOVx4NTdceDYzXHgwZSIKICAgICAgIlx4NTRceDkzXHhjMlx4ODVceGFjXHhhNFx4 MDBceDY1XHhjYlx4NjNceDExXHhiZVx4NjlceDZiIjsKICBjb25zdCBjaGFyIHB1YmxpY19jW10g PQogICAgICAiXHhmNFx4NGRceGEzXHg2N1x4YThceDhlXHhlNlx4NTZceDRmXHgwMlx4MDJceDEx XHg0NVx4NjdceDI3XHgwOFx4MmZceDVjIgogICAgICAiXHhlYlx4ZWVceDhiXHgxYlx4ZjVceGVi XHg3M1x4MzdceDM0XHgxYlx4NDVceDliXHgzOVx4MjIiOwogIGNvbnN0IHVpbnQxNl90IGxpc3Rl bl9hID0gMjAwMDE7CiAgY29uc3QgdWludDE2X3QgbGlzdGVuX2IgPSAyMDAwMjsKICBjb25zdCB1 aW50MTZfdCBsaXN0ZW5fYyA9IDIwMDAzOwogIGNvbnN0IHVpbnQxNl90IGFmX2luZXQgPSBBRl9J TkVUOwogIGNvbnN0IHVpbnQxNl90IGFmX2luZXQ2ID0gQUZfSU5FVDY7CiAgY29uc3Qgc3RydWN0 IHNvY2thZGRyX2luIGVuZHBvaW50X2JfdjQgPSB7CiAgICAgIC5zaW5fZmFtaWx5ID0gQUZfSU5F VCwKICAgICAgLnNpbl9wb3J0ID0gaHRvbnMobGlzdGVuX2IpLAogICAgICAuc2luX2FkZHIgPSB7 aHRvbmwoSU5BRERSX0xPT1BCQUNLKX19OwogIGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbiBlbmRw b2ludF9jX3Y0ID0gewogICAgICAuc2luX2ZhbWlseSA9IEFGX0lORVQsCiAgICAgIC5zaW5fcG9y dCA9IGh0b25zKGxpc3Rlbl9jKSwKICAgICAgLnNpbl9hZGRyID0ge2h0b25sKElOQUREUl9MT09Q QkFDSyl9fTsKICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGVuZHBvaW50X2FfdjYgPSB7LnNpbjZfZmFt aWx5ID0gQUZfSU5FVDYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5z aW42X3BvcnQgPSBodG9ucyhsaXN0ZW5fYSl9OwogIGVuZHBvaW50X2FfdjYuc2luNl9hZGRyID0g aW42YWRkcl9sb29wYmFjazsKICBzdHJ1Y3Qgc29ja2FkZHJfaW42IGVuZHBvaW50X2NfdjYgPSB7 LnNpbjZfZmFtaWx5ID0gQUZfSU5FVDYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC5zaW42X3BvcnQgPSBodG9ucyhsaXN0ZW5fYyl9OwogIGVuZHBvaW50X2NfdjYuc2lu Nl9hZGRyID0gaW42YWRkcl9sb29wYmFjazsKICBjb25zdCBzdHJ1Y3QgaW5fYWRkciBmaXJzdF9o YWxmX3Y0ID0gezB9OwogIGNvbnN0IHN0cnVjdCBpbl9hZGRyIHNlY29uZF9oYWxmX3Y0ID0geyh1 aW50MzJfdClodG9ubCgxMjggPDwgMjQpfTsKICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgZmlyc3Rf aGFsZl92NiA9IHt7ezB9fX07CiAgY29uc3Qgc3RydWN0IGluNl9hZGRyIHNlY29uZF9oYWxmX3Y2 ID0ge3t7MHg4MH19fTsKICBjb25zdCB1aW50OF90IGhhbGZfY2lkciA9IDE7CiAgY29uc3QgdWlu dDE2X3QgcGVyc2lzdGVudF9rZWVwYWxpdmVzW10gPSB7MSwgMywgNywgOSwgMTQsIDE5fTsKICBz dHJ1Y3QgZ2VubG1zZ2hkciBnZW5saGRyID0gey5jbWQgPSBXR19DTURfU0VUX0RFVklDRSwgLnZl cnNpb24gPSAxfTsKICBpbnQgc29jazsKICBpbnQgaWQsIGVycjsKICBzb2NrID0gc29ja2V0KEFG X05FVExJTkssIFNPQ0tfUkFXLCBORVRMSU5LX0dFTkVSSUMpOwogIGlmIChzb2NrID09IC0xKSB7 CiAgICByZXR1cm47CiAgfQogIGlkID0gbmV0bGlua19xdWVyeV9mYW1pbHlfaWQoJm5sbXNnLCBz b2NrLCBXR19HRU5MX05BTUUsIHRydWUpOwogIGlmIChpZCA9PSAtMSkKICAgIGdvdG8gZXJyb3I7 CiAgbmV0bGlua19pbml0KCZubG1zZywgaWQsIDAsICZnZW5saGRyLCBzaXplb2YoZ2VubGhkcikp OwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfSUZOQU1FLCBpZm5hbWVfYSwgc3Ry bGVuKGlmbmFtZV9hKSArIDEpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfUFJJ VkFURV9LRVksIHByaXZhdGVfYSwgMzIpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNF X0FfTElTVEVOX1BPUlQsICZsaXN0ZW5fYSwgMik7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxB X0ZfTkVTVEVEIHwgV0dERVZJQ0VfQV9QRUVSUyk7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxB X0ZfTkVTVEVEIHwgMCk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dQRUVSX0FfUFVCTElDX0tF WSwgcHVibGljX2IsIDMyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR1BFRVJfQV9FTkRQT0lO VCwgJmVuZHBvaW50X2JfdjQsCiAgICAgICAgICAgICAgIHNpemVvZihlbmRwb2ludF9iX3Y0KSk7 CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dQRUVSX0FfUEVSU0lTVEVOVF9LRUVQQUxJVkVfSU5U RVJWQUwsCiAgICAgICAgICAgICAgICZwZXJzaXN0ZW50X2tlZXBhbGl2ZXNbMF0sIDIpOwogIG5l dGxpbmtfbmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IFdHUEVFUl9BX0FMTE9XRURJUFMpOwog IG5ldGxpbmtfbmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigm bmxtc2csIFdHQUxMT1dFRElQX0FfRkFNSUxZLCAmYWZfaW5ldCwgMik7CiAgbmV0bGlua19hdHRy KCZubG1zZywgV0dBTExPV0VESVBfQV9JUEFERFIsICZmaXJzdF9oYWxmX3Y0LAogICAgICAgICAg ICAgICBzaXplb2YoZmlyc3RfaGFsZl92NCkpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxM T1dFRElQX0FfQ0lEUl9NQVNLLCAmaGFsZl9jaWRyLCAxKTsKICBuZXRsaW5rX2RvbmUoJm5sbXNn KTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAwKTsKICBuZXRsaW5rX2F0 dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQ2LCAyKTsKICBuZXRsaW5r X2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0lQQUREUiwgJmZpcnN0X2hhbGZfdjYsCiAgICAg ICAgICAgICAgIHNpemVvZihmaXJzdF9oYWxmX3Y2KSk7CiAgbmV0bGlua19hdHRyKCZubG1zZywg V0dBTExPV0VESVBfQV9DSURSX01BU0ssICZoYWxmX2NpZHIsIDEpOwogIG5ldGxpbmtfZG9uZSgm bmxtc2cpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwog IG5ldGxpbmtfbmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigm bmxtc2csIFdHUEVFUl9BX1BVQkxJQ19LRVksIHB1YmxpY19jLCAzMik7CiAgbmV0bGlua19hdHRy KCZubG1zZywgV0dQRUVSX0FfRU5EUE9JTlQsICZlbmRwb2ludF9jX3Y2LAogICAgICAgICAgICAg ICBzaXplb2YoZW5kcG9pbnRfY192NikpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHUEVFUl9B X1BFUlNJU1RFTlRfS0VFUEFMSVZFX0lOVEVSVkFMLAogICAgICAgICAgICAgICAmcGVyc2lzdGVu dF9rZWVwYWxpdmVzWzFdLCAyKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQg fCBXR1BFRVJfQV9BTExPV0VESVBTKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNU RUQgfCAwKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFm X2luZXQsIDIpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfSVBBRERSLCAm c2Vjb25kX2hhbGZfdjQsCiAgICAgICAgICAgICAgIHNpemVvZihzZWNvbmRfaGFsZl92NCkpOwog IG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfQ0lEUl9NQVNLLCAmaGFsZl9jaWRy LCAxKTsKICBuZXRsaW5rX2RvbmUoJm5sbXNnKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFf Rl9ORVNURUQgfCAwKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlM WSwgJmFmX2luZXQ2LCAyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0lQ QUREUiwgJnNlY29uZF9oYWxmX3Y2LAogICAgICAgICAgICAgICBzaXplb2Yoc2Vjb25kX2hhbGZf djYpKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0NJRFJfTUFTSywgJmhh bGZfY2lkciwgMSk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1z Zyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgZXJy ID0gbmV0bGlua19zZW5kKCZubG1zZywgc29jayk7CiAgaWYgKGVyciA8IDApIHsKICB9CiAgbmV0 bGlua19pbml0KCZubG1zZywgaWQsIDAsICZnZW5saGRyLCBzaXplb2YoZ2VubGhkcikpOwogIG5l dGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfSUZOQU1FLCBpZm5hbWVfYiwgc3RybGVuKGlm bmFtZV9iKSArIDEpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfUFJJVkFURV9L RVksIHByaXZhdGVfYiwgMzIpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfTElT VEVOX1BPUlQsICZsaXN0ZW5fYiwgMik7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxBX0ZfTkVT VEVEIHwgV0dERVZJQ0VfQV9QRUVSUyk7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxBX0ZfTkVT VEVEIHwgMCk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dQRUVSX0FfUFVCTElDX0tFWSwgcHVi bGljX2EsIDMyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR1BFRVJfQV9FTkRQT0lOVCwgJmVu ZHBvaW50X2FfdjYsCiAgICAgICAgICAgICAgIHNpemVvZihlbmRwb2ludF9hX3Y2KSk7CiAgbmV0 bGlua19hdHRyKCZubG1zZywgV0dQRUVSX0FfUEVSU0lTVEVOVF9LRUVQQUxJVkVfSU5URVJWQUws CiAgICAgICAgICAgICAgICZwZXJzaXN0ZW50X2tlZXBhbGl2ZXNbMl0sIDIpOwogIG5ldGxpbmtf bmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IFdHUEVFUl9BX0FMTE9XRURJUFMpOwogIG5ldGxp bmtfbmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigmbmxtc2cs IFdHQUxMT1dFRElQX0FfRkFNSUxZLCAmYWZfaW5ldCwgMik7CiAgbmV0bGlua19hdHRyKCZubG1z ZywgV0dBTExPV0VESVBfQV9JUEFERFIsICZmaXJzdF9oYWxmX3Y0LAogICAgICAgICAgICAgICBz aXplb2YoZmlyc3RfaGFsZl92NCkpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQ X0FfQ0lEUl9NQVNLLCAmaGFsZl9jaWRyLCAxKTsKICBuZXRsaW5rX2RvbmUoJm5sbXNnKTsKICBu ZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAwKTsKICBuZXRsaW5rX2F0dHIoJm5s bXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQ2LCAyKTsKICBuZXRsaW5rX2F0dHIo Jm5sbXNnLCBXR0FMTE9XRURJUF9BX0lQQUREUiwgJmZpcnN0X2hhbGZfdjYsCiAgICAgICAgICAg ICAgIHNpemVvZihmaXJzdF9oYWxmX3Y2KSk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dBTExP V0VESVBfQV9DSURSX01BU0ssICZoYWxmX2NpZHIsIDEpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cp OwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwogIG5ldGxp bmtfbmVzdCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigmbmxtc2cs IFdHUEVFUl9BX1BVQkxJQ19LRVksIHB1YmxpY19jLCAzMik7CiAgbmV0bGlua19hdHRyKCZubG1z ZywgV0dQRUVSX0FfRU5EUE9JTlQsICZlbmRwb2ludF9jX3Y0LAogICAgICAgICAgICAgICBzaXpl b2YoZW5kcG9pbnRfY192NCkpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHUEVFUl9BX1BFUlNJ U1RFTlRfS0VFUEFMSVZFX0lOVEVSVkFMLAogICAgICAgICAgICAgICAmcGVyc2lzdGVudF9rZWVw YWxpdmVzWzNdLCAyKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCBXR1BF RVJfQV9BTExPV0VESVBTKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAw KTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQs IDIpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfSVBBRERSLCAmc2Vjb25k X2hhbGZfdjQsCiAgICAgICAgICAgICAgIHNpemVvZihzZWNvbmRfaGFsZl92NCkpOwogIG5ldGxp bmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfQ0lEUl9NQVNLLCAmaGFsZl9jaWRyLCAxKTsK ICBuZXRsaW5rX2RvbmUoJm5sbXNnKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNU RUQgfCAwKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFm X2luZXQ2LCAyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0lQQUREUiwg JnNlY29uZF9oYWxmX3Y2LAogICAgICAgICAgICAgICBzaXplb2Yoc2Vjb25kX2hhbGZfdjYpKTsK ICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0NJRFJfTUFTSywgJmhhbGZfY2lk ciwgMSk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAg bmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgZXJyID0gbmV0 bGlua19zZW5kKCZubG1zZywgc29jayk7CiAgaWYgKGVyciA8IDApIHsKICB9CiAgbmV0bGlua19p bml0KCZubG1zZywgaWQsIDAsICZnZW5saGRyLCBzaXplb2YoZ2VubGhkcikpOwogIG5ldGxpbmtf YXR0cigmbmxtc2csIFdHREVWSUNFX0FfSUZOQU1FLCBpZm5hbWVfYywgc3RybGVuKGlmbmFtZV9j KSArIDEpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfUFJJVkFURV9LRVksIHBy aXZhdGVfYywgMzIpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHREVWSUNFX0FfTElTVEVOX1BP UlQsICZsaXN0ZW5fYywgMik7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxBX0ZfTkVTVEVEIHwg V0dERVZJQ0VfQV9QRUVSUyk7CiAgbmV0bGlua19uZXN0KCZubG1zZywgTkxBX0ZfTkVTVEVEIHwg MCk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dQRUVSX0FfUFVCTElDX0tFWSwgcHVibGljX2Es IDMyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR1BFRVJfQV9FTkRQT0lOVCwgJmVuZHBvaW50 X2FfdjYsCiAgICAgICAgICAgICAgIHNpemVvZihlbmRwb2ludF9hX3Y2KSk7CiAgbmV0bGlua19h dHRyKCZubG1zZywgV0dQRUVSX0FfUEVSU0lTVEVOVF9LRUVQQUxJVkVfSU5URVJWQUwsCiAgICAg ICAgICAgICAgICZwZXJzaXN0ZW50X2tlZXBhbGl2ZXNbNF0sIDIpOwogIG5ldGxpbmtfbmVzdCgm bmxtc2csIE5MQV9GX05FU1RFRCB8IFdHUEVFUl9BX0FMTE9XRURJUFMpOwogIG5ldGxpbmtfbmVz dCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxM T1dFRElQX0FfRkFNSUxZLCAmYWZfaW5ldCwgMik7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dB TExPV0VESVBfQV9JUEFERFIsICZmaXJzdF9oYWxmX3Y0LAogICAgICAgICAgICAgICBzaXplb2Yo Zmlyc3RfaGFsZl92NCkpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfQ0lE Ul9NQVNLLCAmaGFsZl9jaWRyLCAxKTsKICBuZXRsaW5rX2RvbmUoJm5sbXNnKTsKICBuZXRsaW5r X25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAwKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBX R0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQ2LCAyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNn LCBXR0FMTE9XRURJUF9BX0lQQUREUiwgJmZpcnN0X2hhbGZfdjYsCiAgICAgICAgICAgICAgIHNp emVvZihmaXJzdF9oYWxmX3Y2KSk7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dBTExPV0VESVBf QV9DSURSX01BU0ssICZoYWxmX2NpZHIsIDEpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwogIG5l dGxpbmtfZG9uZSgmbmxtc2cpOwogIG5ldGxpbmtfZG9uZSgmbmxtc2cpOwogIG5ldGxpbmtfbmVz dCgmbmxtc2csIE5MQV9GX05FU1RFRCB8IDApOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHUEVF Ul9BX1BVQkxJQ19LRVksIHB1YmxpY19iLCAzMik7CiAgbmV0bGlua19hdHRyKCZubG1zZywgV0dQ RUVSX0FfRU5EUE9JTlQsICZlbmRwb2ludF9iX3Y0LAogICAgICAgICAgICAgICBzaXplb2YoZW5k cG9pbnRfYl92NCkpOwogIG5ldGxpbmtfYXR0cigmbmxtc2csIFdHUEVFUl9BX1BFUlNJU1RFTlRf S0VFUEFMSVZFX0lOVEVSVkFMLAogICAgICAgICAgICAgICAmcGVyc2lzdGVudF9rZWVwYWxpdmVz WzVdLCAyKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCBXR1BFRVJfQV9B TExPV0VESVBTKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAwKTsKICBu ZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQsIDIpOwog IG5ldGxpbmtfYXR0cigmbmxtc2csIFdHQUxMT1dFRElQX0FfSVBBRERSLCAmc2Vjb25kX2hhbGZf djQsCiAgICAgICAgICAgICAgIHNpemVvZihzZWNvbmRfaGFsZl92NCkpOwogIG5ldGxpbmtfYXR0 cigmbmxtc2csIFdHQUxMT1dFRElQX0FfQ0lEUl9NQVNLLCAmaGFsZl9jaWRyLCAxKTsKICBuZXRs aW5rX2RvbmUoJm5sbXNnKTsKICBuZXRsaW5rX25lc3QoJm5sbXNnLCBOTEFfRl9ORVNURUQgfCAw KTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0ZBTUlMWSwgJmFmX2luZXQ2 LCAyKTsKICBuZXRsaW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0lQQUREUiwgJnNlY29u ZF9oYWxmX3Y2LAogICAgICAgICAgICAgICBzaXplb2Yoc2Vjb25kX2hhbGZfdjYpKTsKICBuZXRs aW5rX2F0dHIoJm5sbXNnLCBXR0FMTE9XRURJUF9BX0NJRFJfTUFTSywgJmhhbGZfY2lkciwgMSk7 CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgbmV0bGlu a19kb25lKCZubG1zZyk7CiAgbmV0bGlua19kb25lKCZubG1zZyk7CiAgZXJyID0gbmV0bGlua19z ZW5kKCZubG1zZywgc29jayk7CiAgaWYgKGVyciA8IDApIHsKICB9CgplcnJvcjoKICBjbG9zZShz b2NrKTsKfQoKc3RhdGljIHZvaWQgaW5pdGlhbGl6ZV9uZXRkZXZpY2VzKHZvaWQpCnsKICBjaGFy IG5ldGRldnNpbVsxNl07CiAgc3ByaW50ZihuZXRkZXZzaW0sICJuZXRkZXZzaW0lZCIsIChpbnQp cHJvY2lkKTsKICBzdHJ1Y3QgewogICAgY29uc3QgY2hhciogdHlwZTsKICAgIGNvbnN0IGNoYXIq IGRldjsKICB9IGRldnR5cGVzW10gPSB7CiAgICAgIHsiaXA2Z3JldGFwIiwgImlwNmdyZXRhcDAi fSwgeyJicmlkZ2UiLCAiYnJpZGdlMCJ9LCB7InZjYW4iLCAidmNhbjAifSwKICAgICAgeyJib25k IiwgImJvbmQwIn0sICAgICAgICAgICB7InRlYW0iLCAidGVhbTAifSwgICAgIHsiZHVtbXkiLCAi ZHVtbXkwIn0sCiAgICAgIHsibmxtb24iLCAibmxtb24wIn0sICAgICAgICAgeyJjYWlmIiwgImNh aWYwIn0sICAgICB7ImJhdGFkdiIsICJiYXRhZHYwIn0sCiAgICAgIHsidnhjYW4iLCAidnhjYW4x In0sICAgICAgICAgeyJ2ZXRoIiwgMH0sICAgICAgICAgICB7IndpcmVndWFyZCIsICJ3ZzAifSwK ICAgICAgeyJ3aXJlZ3VhcmQiLCAid2cxIn0sICAgICAgICB7IndpcmVndWFyZCIsICJ3ZzIifSwK ICB9OwogIGNvbnN0IGNoYXIqIGRldm1hc3RlcnNbXSA9IHsiYnJpZGdlIiwgImJvbmQiLCAidGVh bSIsICJiYXRhZHYifTsKICBzdHJ1Y3QgewogICAgY29uc3QgY2hhciogbmFtZTsKICAgIGludCBt YWNzaXplOwogICAgYm9vbCBub2lwdjY7CiAgfSBkZXZpY2VzW10gPSB7CiAgICAgIHsibG8iLCBF VEhfQUxFTn0sCiAgICAgIHsic2l0MCIsIDB9LAogICAgICB7ImJyaWRnZTAiLCBFVEhfQUxFTn0s CiAgICAgIHsidmNhbjAiLCAwLCB0cnVlfSwKICAgICAgeyJ0dW5sMCIsIDB9LAogICAgICB7Imdy ZTAiLCAwfSwKICAgICAgeyJncmV0YXAwIiwgRVRIX0FMRU59LAogICAgICB7ImlwX3Z0aTAiLCAw fSwKICAgICAgeyJpcDZfdnRpMCIsIDB9LAogICAgICB7ImlwNnRubDAiLCAwfSwKICAgICAgeyJp cDZncmUwIiwgMH0sCiAgICAgIHsiaXA2Z3JldGFwMCIsIEVUSF9BTEVOfSwKICAgICAgeyJlcnNw YW4wIiwgRVRIX0FMRU59LAogICAgICB7ImJvbmQwIiwgRVRIX0FMRU59LAogICAgICB7InZldGgw IiwgRVRIX0FMRU59LAogICAgICB7InZldGgxIiwgRVRIX0FMRU59LAogICAgICB7InRlYW0wIiwg RVRIX0FMRU59LAogICAgICB7InZldGgwX3RvX2JyaWRnZSIsIEVUSF9BTEVOfSwKICAgICAgeyJ2 ZXRoMV90b19icmlkZ2UiLCBFVEhfQUxFTn0sCiAgICAgIHsidmV0aDBfdG9fYm9uZCIsIEVUSF9B TEVOfSwKICAgICAgeyJ2ZXRoMV90b19ib25kIiwgRVRIX0FMRU59LAogICAgICB7InZldGgwX3Rv X3RlYW0iLCBFVEhfQUxFTn0sCiAgICAgIHsidmV0aDFfdG9fdGVhbSIsIEVUSF9BTEVOfSwKICAg ICAgeyJ2ZXRoMF90b19oc3IiLCBFVEhfQUxFTn0sCiAgICAgIHsidmV0aDFfdG9faHNyIiwgRVRI X0FMRU59LAogICAgICB7ImhzcjAiLCAwfSwKICAgICAgeyJkdW1teTAiLCBFVEhfQUxFTn0sCiAg ICAgIHsibmxtb24wIiwgMH0sCiAgICAgIHsidnhjYW4wIiwgMCwgdHJ1ZX0sCiAgICAgIHsidnhj YW4xIiwgMCwgdHJ1ZX0sCiAgICAgIHsiY2FpZjAiLCBFVEhfQUxFTn0sCiAgICAgIHsiYmF0YWR2 MCIsIEVUSF9BTEVOfSwKICAgICAge25ldGRldnNpbSwgRVRIX0FMRU59LAogICAgICB7Inhmcm0w IiwgRVRIX0FMRU59LAogICAgICB7InZldGgwX3ZpcnRfd2lmaSIsIEVUSF9BTEVOfSwKICAgICAg eyJ2ZXRoMV92aXJ0X3dpZmkiLCBFVEhfQUxFTn0sCiAgICAgIHsidmlydF93aWZpMCIsIEVUSF9B TEVOfSwKICAgICAgeyJ2ZXRoMF92bGFuIiwgRVRIX0FMRU59LAogICAgICB7InZldGgxX3ZsYW4i LCBFVEhfQUxFTn0sCiAgICAgIHsidmxhbjAiLCBFVEhfQUxFTn0sCiAgICAgIHsidmxhbjEiLCBF VEhfQUxFTn0sCiAgICAgIHsibWFjdmxhbjAiLCBFVEhfQUxFTn0sCiAgICAgIHsibWFjdmxhbjEi LCBFVEhfQUxFTn0sCiAgICAgIHsiaXB2bGFuMCIsIEVUSF9BTEVOfSwKICAgICAgeyJpcHZsYW4x IiwgRVRIX0FMRU59LAogICAgICB7InZldGgwX21hY3Z0YXAiLCBFVEhfQUxFTn0sCiAgICAgIHsi dmV0aDFfbWFjdnRhcCIsIEVUSF9BTEVOfSwKICAgICAgeyJtYWN2dGFwMCIsIEVUSF9BTEVOfSwK ICAgICAgeyJtYWNzZWMwIiwgRVRIX0FMRU59LAogICAgICB7InZldGgwX3RvX2JhdGFkdiIsIEVU SF9BTEVOfSwKICAgICAgeyJ2ZXRoMV90b19iYXRhZHYiLCBFVEhfQUxFTn0sCiAgICAgIHsiYmF0 YWR2X3NsYXZlXzAiLCBFVEhfQUxFTn0sCiAgICAgIHsiYmF0YWR2X3NsYXZlXzEiLCBFVEhfQUxF Tn0sCiAgICAgIHsiZ2VuZXZlMCIsIEVUSF9BTEVOfSwKICAgICAgeyJnZW5ldmUxIiwgRVRIX0FM RU59LAogICAgICB7IndnMCIsIDB9LAogICAgICB7IndnMSIsIDB9LAogICAgICB7IndnMiIsIDB9 LAogIH07CiAgaW50IHNvY2sgPSBzb2NrZXQoQUZfTkVUTElOSywgU09DS19SQVcsIE5FVExJTktf Uk9VVEUpOwogIGlmIChzb2NrID09IC0xKQogICAgZXhpdCgxKTsKICB1bnNpZ25lZCBpOwogIGZv ciAoaSA9IDA7IGkgPCBzaXplb2YoZGV2dHlwZXMpIC8gc2l6ZW9mKGRldnR5cGVzWzBdKTsgaSsr KQogICAgbmV0bGlua19hZGRfZGV2aWNlKCZubG1zZywgc29jaywgZGV2dHlwZXNbaV0udHlwZSwg ZGV2dHlwZXNbaV0uZGV2KTsKICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGRldm1hc3RlcnMpIC8g KHNpemVvZihkZXZtYXN0ZXJzWzBdKSk7IGkrKykgewogICAgY2hhciBtYXN0ZXJbMzJdLCBzbGF2 ZTBbMzJdLCB2ZXRoMFszMl0sIHNsYXZlMVszMl0sIHZldGgxWzMyXTsKICAgIHNwcmludGYoc2xh dmUwLCAiJXNfc2xhdmVfMCIsIGRldm1hc3RlcnNbaV0pOwogICAgc3ByaW50Zih2ZXRoMCwgInZl dGgwX3RvXyVzIiwgZGV2bWFzdGVyc1tpXSk7CiAgICBuZXRsaW5rX2FkZF92ZXRoKCZubG1zZywg c29jaywgc2xhdmUwLCB2ZXRoMCk7CiAgICBzcHJpbnRmKHNsYXZlMSwgIiVzX3NsYXZlXzEiLCBk ZXZtYXN0ZXJzW2ldKTsKICAgIHNwcmludGYodmV0aDEsICJ2ZXRoMV90b18lcyIsIGRldm1hc3Rl cnNbaV0pOwogICAgbmV0bGlua19hZGRfdmV0aCgmbmxtc2csIHNvY2ssIHNsYXZlMSwgdmV0aDEp OwogICAgc3ByaW50ZihtYXN0ZXIsICIlczAiLCBkZXZtYXN0ZXJzW2ldKTsKICAgIG5ldGxpbmtf ZGV2aWNlX2NoYW5nZSgmbmxtc2csIHNvY2ssIHNsYXZlMCwgZmFsc2UsIG1hc3RlciwgMCwgMCwg TlVMTCk7CiAgICBuZXRsaW5rX2RldmljZV9jaGFuZ2UoJm5sbXNnLCBzb2NrLCBzbGF2ZTEsIGZh bHNlLCBtYXN0ZXIsIDAsIDAsIE5VTEwpOwogIH0KICBuZXRsaW5rX2FkZF94ZnJtKCZubG1zZywg c29jaywgInhmcm0wIik7CiAgbmV0bGlua19kZXZpY2VfY2hhbmdlKCZubG1zZywgc29jaywgImJy aWRnZV9zbGF2ZV8wIiwgdHJ1ZSwgMCwgMCwgMCwgTlVMTCk7CiAgbmV0bGlua19kZXZpY2VfY2hh bmdlKCZubG1zZywgc29jaywgImJyaWRnZV9zbGF2ZV8xIiwgdHJ1ZSwgMCwgMCwgMCwgTlVMTCk7 CiAgbmV0bGlua19hZGRfdmV0aCgmbmxtc2csIHNvY2ssICJoc3Jfc2xhdmVfMCIsICJ2ZXRoMF90 b19oc3IiKTsKICBuZXRsaW5rX2FkZF92ZXRoKCZubG1zZywgc29jaywgImhzcl9zbGF2ZV8xIiwg InZldGgxX3RvX2hzciIpOwogIG5ldGxpbmtfYWRkX2hzcigmbmxtc2csIHNvY2ssICJoc3IwIiwg Imhzcl9zbGF2ZV8wIiwgImhzcl9zbGF2ZV8xIik7CiAgbmV0bGlua19kZXZpY2VfY2hhbmdlKCZu bG1zZywgc29jaywgImhzcl9zbGF2ZV8wIiwgdHJ1ZSwgMCwgMCwgMCwgTlVMTCk7CiAgbmV0bGlu a19kZXZpY2VfY2hhbmdlKCZubG1zZywgc29jaywgImhzcl9zbGF2ZV8xIiwgdHJ1ZSwgMCwgMCwg MCwgTlVMTCk7CiAgbmV0bGlua19hZGRfdmV0aCgmbmxtc2csIHNvY2ssICJ2ZXRoMF92aXJ0X3dp ZmkiLCAidmV0aDFfdmlydF93aWZpIik7CiAgbmV0bGlua19hZGRfbGlua2VkKCZubG1zZywgc29j aywgInZpcnRfd2lmaSIsICJ2aXJ0X3dpZmkwIiwKICAgICAgICAgICAgICAgICAgICAgInZldGgx X3ZpcnRfd2lmaSIpOwogIG5ldGxpbmtfYWRkX3ZldGgoJm5sbXNnLCBzb2NrLCAidmV0aDBfdmxh biIsICJ2ZXRoMV92bGFuIik7CiAgbmV0bGlua19hZGRfdmxhbigmbmxtc2csIHNvY2ssICJ2bGFu MCIsICJ2ZXRoMF92bGFuIiwgMCwgaHRvbnMoRVRIX1BfODAyMVEpKTsKICBuZXRsaW5rX2FkZF92 bGFuKCZubG1zZywgc29jaywgInZsYW4xIiwgInZldGgwX3ZsYW4iLCAxLCBodG9ucyhFVEhfUF84 MDIxQUQpKTsKICBuZXRsaW5rX2FkZF9tYWN2bGFuKCZubG1zZywgc29jaywgIm1hY3ZsYW4wIiwg InZldGgxX3ZsYW4iKTsKICBuZXRsaW5rX2FkZF9tYWN2bGFuKCZubG1zZywgc29jaywgIm1hY3Zs YW4xIiwgInZldGgxX3ZsYW4iKTsKICBuZXRsaW5rX2FkZF9pcHZsYW4oJm5sbXNnLCBzb2NrLCAi aXB2bGFuMCIsICJ2ZXRoMF92bGFuIiwgSVBWTEFOX01PREVfTDIsIDApOwogIG5ldGxpbmtfYWRk X2lwdmxhbigmbmxtc2csIHNvY2ssICJpcHZsYW4xIiwgInZldGgwX3ZsYW4iLCBJUFZMQU5fTU9E RV9MM1MsCiAgICAgICAgICAgICAgICAgICAgIElQVkxBTl9GX1ZFUEEpOwogIG5ldGxpbmtfYWRk X3ZldGgoJm5sbXNnLCBzb2NrLCAidmV0aDBfbWFjdnRhcCIsICJ2ZXRoMV9tYWN2dGFwIik7CiAg bmV0bGlua19hZGRfbGlua2VkKCZubG1zZywgc29jaywgIm1hY3Z0YXAiLCAibWFjdnRhcDAiLCAi dmV0aDBfbWFjdnRhcCIpOwogIG5ldGxpbmtfYWRkX2xpbmtlZCgmbmxtc2csIHNvY2ssICJtYWNz ZWMiLCAibWFjc2VjMCIsICJ2ZXRoMV9tYWN2dGFwIik7CiAgY2hhciBhZGRyWzMyXTsKICBzcHJp bnRmKGFkZHIsIERFVl9JUFY0LCAxNCArIDEwKTsKICBzdHJ1Y3QgaW5fYWRkciBnZW5ldmVfYWRk cjQ7CiAgaWYgKGluZXRfcHRvbihBRl9JTkVULCBhZGRyLCAmZ2VuZXZlX2FkZHI0KSA8PSAwKQog ICAgZXhpdCgxKTsKICBzdHJ1Y3QgaW42X2FkZHIgZ2VuZXZlX2FkZHI2OwogIGlmIChpbmV0X3B0 b24oQUZfSU5FVDYsICJmYzAwOjowMSIsICZnZW5ldmVfYWRkcjYpIDw9IDApCiAgICBleGl0KDEp OwogIG5ldGxpbmtfYWRkX2dlbmV2ZSgmbmxtc2csIHNvY2ssICJnZW5ldmUwIiwgMCwgJmdlbmV2 ZV9hZGRyNCwgMCk7CiAgbmV0bGlua19hZGRfZ2VuZXZlKCZubG1zZywgc29jaywgImdlbmV2ZTEi LCAxLCAwLCAmZ2VuZXZlX2FkZHI2KTsKICBuZXRkZXZzaW1fYWRkKChpbnQpcHJvY2lkLCA0KTsK ICBuZXRsaW5rX3dpcmVndWFyZF9zZXR1cCgpOwogIGZvciAoaSA9IDA7IGkgPCBzaXplb2YoZGV2 aWNlcykgLyAoc2l6ZW9mKGRldmljZXNbMF0pKTsgaSsrKSB7CiAgICBjaGFyIGFkZHJbMzJdOwog ICAgc3ByaW50ZihhZGRyLCBERVZfSVBWNCwgaSArIDEwKTsKICAgIG5ldGxpbmtfYWRkX2FkZHI0 KCZubG1zZywgc29jaywgZGV2aWNlc1tpXS5uYW1lLCBhZGRyKTsKICAgIGlmICghZGV2aWNlc1tp XS5ub2lwdjYpIHsKICAgICAgc3ByaW50ZihhZGRyLCBERVZfSVBWNiwgaSArIDEwKTsKICAgICAg bmV0bGlua19hZGRfYWRkcjYoJm5sbXNnLCBzb2NrLCBkZXZpY2VzW2ldLm5hbWUsIGFkZHIpOwog ICAgfQogICAgdWludDY0X3QgbWFjYWRkciA9IERFVl9NQUMgKyAoKGkgKyAxMHVsbCkgPDwgNDAp OwogICAgbmV0bGlua19kZXZpY2VfY2hhbmdlKCZubG1zZywgc29jaywgZGV2aWNlc1tpXS5uYW1l LCB0cnVlLCAwLCAmbWFjYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VzW2ld Lm1hY3NpemUsIE5VTEwpOwogIH0KICBjbG9zZShzb2NrKTsKfQpzdGF0aWMgdm9pZCBpbml0aWFs aXplX25ldGRldmljZXNfaW5pdCh2b2lkKQp7CiAgaW50IHNvY2sgPSBzb2NrZXQoQUZfTkVUTElO SywgU09DS19SQVcsIE5FVExJTktfUk9VVEUpOwogIGlmIChzb2NrID09IC0xKQogICAgZXhpdCgx KTsKICBzdHJ1Y3QgewogICAgY29uc3QgY2hhciogdHlwZTsKICAgIGludCBtYWNzaXplOwogICAg Ym9vbCBub2lwdjY7CiAgICBib29sIG5vdXA7CiAgfSBkZXZ0eXBlc1tdID0gewogICAgICB7Im5y IiwgNywgdHJ1ZX0sCiAgICAgIHsicm9zZSIsIDUsIHRydWUsIHRydWV9LAogIH07CiAgdW5zaWdu ZWQgaTsKICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGRldnR5cGVzKSAvIHNpemVvZihkZXZ0eXBl c1swXSk7IGkrKykgewogICAgY2hhciBkZXZbMzJdLCBhZGRyWzMyXTsKICAgIHNwcmludGYoZGV2 LCAiJXMlZCIsIGRldnR5cGVzW2ldLnR5cGUsIChpbnQpcHJvY2lkKTsKICAgIHNwcmludGYoYWRk ciwgIjE3Mi4zMC4lZC4lZCIsIGksIChpbnQpcHJvY2lkICsgMSk7CiAgICBuZXRsaW5rX2FkZF9h ZGRyNCgmbmxtc2csIHNvY2ssIGRldiwgYWRkcik7CiAgICBpZiAoIWRldnR5cGVzW2ldLm5vaXB2 NikgewogICAgICBzcHJpbnRmKGFkZHIsICJmZTg4OjolMDJ4OiUwMngiLCBpLCAoaW50KXByb2Np ZCArIDEpOwogICAgICBuZXRsaW5rX2FkZF9hZGRyNigmbmxtc2csIHNvY2ssIGRldiwgYWRkcik7 CiAgICB9CiAgICBpbnQgbWFjc2l6ZSA9IGRldnR5cGVzW2ldLm1hY3NpemU7CiAgICB1aW50NjRf dCBtYWNhZGRyID0gMHhiYmJiYmIgKwogICAgICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQg bG9uZyBsb25nKWkgPDwgKDggKiAobWFjc2l6ZSAtIDIpKSkgKwogICAgICAgICAgICAgICAgICAg ICAgIChwcm9jaWQgPDwgKDggKiAobWFjc2l6ZSAtIDEpKSk7CiAgICBuZXRsaW5rX2RldmljZV9j aGFuZ2UoJm5sbXNnLCBzb2NrLCBkZXYsICFkZXZ0eXBlc1tpXS5ub3VwLCAwLCAmbWFjYWRkciwK ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNzaXplLCBOVUxMKTsKICB9CiAgY2xvc2Uoc29j ayk7Cn0KCiNkZWZpbmUgTUFYX0ZEUyAzMAoKc3RhdGljIHZvaWQgc2V0dXBfY29tbW9uKCkKewog IGlmIChtb3VudCgwLCAiL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zIiwgImZ1c2VjdGwiLCAwLCAw KSkgewogIH0KfQoKc3RhdGljIHZvaWQgc2V0dXBfYmluZGVyZnMoKQp7CiAgaWYgKG1rZGlyKCIv ZGV2L2JpbmRlcmZzIiwgMDc3NykpIHsKICB9CiAgaWYgKG1vdW50KCJiaW5kZXIiLCAiL2Rldi9i aW5kZXJmcyIsICJiaW5kZXIiLCAwLCBOVUxMKSkgewogIH0KICBpZiAoc3ltbGluaygiL2Rldi9i aW5kZXJmcyIsICIuL2JpbmRlcmZzIikpIHsKICB9Cn0KCnN0YXRpYyB2b2lkIGxvb3AoKTsKCnN0 YXRpYyB2b2lkIHNhbmRib3hfY29tbW9uKCkKewogIHByY3RsKFBSX1NFVF9QREVBVEhTSUcsIFNJ R0tJTEwsIDAsIDAsIDApOwogIHNldHNpZCgpOwogIHN0cnVjdCBybGltaXQgcmxpbTsKICBybGlt LnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9ICgyMDAgPDwgMjApOwogIHNldHJsaW1pdChSTElN SVRfQVMsICZybGltKTsKICBybGltLnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9IDMyIDw8IDIw OwogIHNldHJsaW1pdChSTElNSVRfTUVNTE9DSywgJnJsaW0pOwogIHJsaW0ucmxpbV9jdXIgPSBy bGltLnJsaW1fbWF4ID0gMTM2IDw8IDIwOwogIHNldHJsaW1pdChSTElNSVRfRlNJWkUsICZybGlt KTsKICBybGltLnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9IDEgPDwgMjA7CiAgc2V0cmxpbWl0 KFJMSU1JVF9TVEFDSywgJnJsaW0pOwogIHJsaW0ucmxpbV9jdXIgPSBybGltLnJsaW1fbWF4ID0g MTI4IDw8IDIwOwogIHNldHJsaW1pdChSTElNSVRfQ09SRSwgJnJsaW0pOwogIHJsaW0ucmxpbV9j dXIgPSBybGltLnJsaW1fbWF4ID0gMjU2OwogIHNldHJsaW1pdChSTElNSVRfTk9GSUxFLCAmcmxp bSk7CiAgaWYgKHVuc2hhcmUoQ0xPTkVfTkVXTlMpKSB7CiAgfQogIGlmIChtb3VudChOVUxMLCAi LyIsIE5VTEwsIE1TX1JFQyB8IE1TX1BSSVZBVEUsIE5VTEwpKSB7CiAgfQogIGlmICh1bnNoYXJl KENMT05FX05FV0lQQykpIHsKICB9CiAgaWYgKHVuc2hhcmUoMHgwMjAwMDAwMCkpIHsKICB9CiAg aWYgKHVuc2hhcmUoQ0xPTkVfTkVXVVRTKSkgewogIH0KICBpZiAodW5zaGFyZShDTE9ORV9TWVNW U0VNKSkgewogIH0KICB0eXBlZGVmIHN0cnVjdCB7CiAgICBjb25zdCBjaGFyKiBuYW1lOwogICAg Y29uc3QgY2hhciogdmFsdWU7CiAgfSBzeXNjdGxfdDsKICBzdGF0aWMgY29uc3Qgc3lzY3RsX3Qg c3lzY3Rsc1tdID0gewogICAgICB7Ii9wcm9jL3N5cy9rZXJuZWwvc2htbWF4IiwgIjE2Nzc3MjE2 In0sCiAgICAgIHsiL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwiLCAiNTM2ODcwOTEyIn0sCiAgICAg IHsiL3Byb2Mvc3lzL2tlcm5lbC9zaG1tbmkiLCAiMTAyNCJ9LAogICAgICB7Ii9wcm9jL3N5cy9r ZXJuZWwvbXNnbWF4IiwgIjgxOTIifSwKICAgICAgeyIvcHJvYy9zeXMva2VybmVsL21zZ21uaSIs ICIxMDI0In0sCiAgICAgIHsiL3Byb2Mvc3lzL2tlcm5lbC9tc2dtbmIiLCAiMTAyNCJ9LAogICAg ICB7Ii9wcm9jL3N5cy9rZXJuZWwvc2VtIiwgIjEwMjQgMTA0ODU3NiA1MDAgMTAyNCJ9LAogIH07 CiAgdW5zaWduZWQgaTsKICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN5c2N0bHMpIC8gc2l6ZW9m KHN5c2N0bHNbMF0pOyBpKyspCiAgICB3cml0ZV9maWxlKHN5c2N0bHNbaV0ubmFtZSwgc3lzY3Rs c1tpXS52YWx1ZSk7Cn0KCnN0YXRpYyBpbnQgd2FpdF9mb3JfbG9vcChpbnQgcGlkKQp7CiAgaWYg KHBpZCA8IDApCiAgICBleGl0KDEpOwogIGludCBzdGF0dXMgPSAwOwogIHdoaWxlICh3YWl0cGlk KC0xLCAmc3RhdHVzLCBfX1dBTEwpICE9IHBpZCkgewogIH0KICByZXR1cm4gV0VYSVRTVEFUVVMo c3RhdHVzKTsKfQoKc3RhdGljIHZvaWQgZHJvcF9jYXBzKHZvaWQpCnsKICBzdHJ1Y3QgX191c2Vy X2NhcF9oZWFkZXJfc3RydWN0IGNhcF9oZHIgPSB7fTsKICBzdHJ1Y3QgX191c2VyX2NhcF9kYXRh X3N0cnVjdCBjYXBfZGF0YVsyXSA9IHt9OwogIGNhcF9oZHIudmVyc2lvbiA9IF9MSU5VWF9DQVBB QklMSVRZX1ZFUlNJT05fMzsKICBjYXBfaGRyLnBpZCA9IGdldHBpZCgpOwogIGlmIChzeXNjYWxs KFNZU19jYXBnZXQsICZjYXBfaGRyLCAmY2FwX2RhdGEpKQogICAgZXhpdCgxKTsKICBjb25zdCBp bnQgZHJvcCA9ICgxIDw8IENBUF9TWVNfUFRSQUNFKSB8ICgxIDw8IENBUF9TWVNfTklDRSk7CiAg Y2FwX2RhdGFbMF0uZWZmZWN0aXZlICY9IH5kcm9wOwogIGNhcF9kYXRhWzBdLnBlcm1pdHRlZCAm PSB+ZHJvcDsKICBjYXBfZGF0YVswXS5pbmhlcml0YWJsZSAmPSB+ZHJvcDsKICBpZiAoc3lzY2Fs bChTWVNfY2Fwc2V0LCAmY2FwX2hkciwgJmNhcF9kYXRhKSkKICAgIGV4aXQoMSk7Cn0KCnN0YXRp YyBpbnQgZG9fc2FuZGJveF9ub25lKHZvaWQpCnsKICBpZiAodW5zaGFyZShDTE9ORV9ORVdQSUQp KSB7CiAgfQogIGludCBwaWQgPSBmb3JrKCk7CiAgaWYgKHBpZCAhPSAwKQogICAgcmV0dXJuIHdh aXRfZm9yX2xvb3AocGlkKTsKICBzZXR1cF9jb21tb24oKTsKICBzYW5kYm94X2NvbW1vbigpOwog IGRyb3BfY2FwcygpOwogIGluaXRpYWxpemVfbmV0ZGV2aWNlc19pbml0KCk7CiAgaWYgKHVuc2hh cmUoQ0xPTkVfTkVXTkVUKSkgewogIH0KICB3cml0ZV9maWxlKCIvcHJvYy9zeXMvbmV0L2lwdjQv cGluZ19ncm91cF9yYW5nZSIsICIwIDY1NTM1Iik7CiAgaW5pdGlhbGl6ZV9uZXRkZXZpY2VzKCk7 CiAgc2V0dXBfYmluZGVyZnMoKTsKICBsb29wKCk7CiAgZXhpdCgxKTsKfQoKc3RhdGljIHZvaWQg a2lsbF9hbmRfd2FpdChpbnQgcGlkLCBpbnQqIHN0YXR1cykKewogIGtpbGwoLXBpZCwgU0lHS0lM TCk7CiAga2lsbChwaWQsIFNJR0tJTEwpOwogIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwOyBpKysp IHsKICAgIGlmICh3YWl0cGlkKC0xLCBzdGF0dXMsIFdOT0hBTkcgfCBfX1dBTEwpID09IHBpZCkK ICAgICAgcmV0dXJuOwogICAgdXNsZWVwKDEwMDApOwogIH0KICBESVIqIGRpciA9IG9wZW5kaXIo Ii9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyIpOwogIGlmIChkaXIpIHsKICAgIGZvciAoOzspIHsK ICAgICAgc3RydWN0IGRpcmVudCogZW50ID0gcmVhZGRpcihkaXIpOwogICAgICBpZiAoIWVudCkK ICAgICAgICBicmVhazsKICAgICAgaWYgKHN0cmNtcChlbnQtPmRfbmFtZSwgIi4iKSA9PSAwIHx8 IHN0cmNtcChlbnQtPmRfbmFtZSwgIi4uIikgPT0gMCkKICAgICAgICBjb250aW51ZTsKICAgICAg Y2hhciBhYm9ydFszMDBdOwogICAgICBzbnByaW50ZihhYm9ydCwgc2l6ZW9mKGFib3J0KSwgIi9z eXMvZnMvZnVzZS9jb25uZWN0aW9ucy8lcy9hYm9ydCIsCiAgICAgICAgICAgICAgIGVudC0+ZF9u YW1lKTsKICAgICAgaW50IGZkID0gb3BlbihhYm9ydCwgT19XUk9OTFkpOwogICAgICBpZiAoZmQg PT0gLTEpIHsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBpZiAod3JpdGUoZmQsIGFi b3J0LCAxKSA8IDApIHsKICAgICAgfQogICAgICBjbG9zZShmZCk7CiAgICB9CiAgICBjbG9zZWRp cihkaXIpOwogIH0gZWxzZSB7CiAgfQogIHdoaWxlICh3YWl0cGlkKC0xLCBzdGF0dXMsIF9fV0FM TCkgIT0gcGlkKSB7CiAgfQp9CgpzdGF0aWMgdm9pZCBzZXR1cF90ZXN0KCkKewogIHByY3RsKFBS X1NFVF9QREVBVEhTSUcsIFNJR0tJTEwsIDAsIDAsIDApOwogIHNldHBncnAoKTsKICB3cml0ZV9m aWxlKCIvcHJvYy9zZWxmL29vbV9zY29yZV9hZGoiLCAiMTAwMCIpOwp9CgpzdGF0aWMgdm9pZCBj bG9zZV9mZHMoKQp7CiAgZm9yIChpbnQgZmQgPSAzOyBmZCA8IE1BWF9GRFM7IGZkKyspCiAgICBj bG9zZShmZCk7Cn0KCnN0YXRpYyB2b2lkIGV4ZWN1dGVfb25lKHZvaWQpOwoKI2RlZmluZSBXQUlU X0ZMQUdTIF9fV0FMTAoKc3RhdGljIHZvaWQgbG9vcCh2b2lkKQp7CiAgaW50IGl0ZXIgPSAwOwog IGZvciAoOzsgaXRlcisrKSB7CiAgICBpbnQgcGlkID0gZm9yaygpOwogICAgaWYgKHBpZCA8IDAp CiAgICAgIGV4aXQoMSk7CiAgICBpZiAocGlkID09IDApIHsKICAgICAgc2V0dXBfdGVzdCgpOwog ICAgICBleGVjdXRlX29uZSgpOwogICAgICBjbG9zZV9mZHMoKTsKICAgICAgZXhpdCgwKTsKICAg IH0KICAgIGludCBzdGF0dXMgPSAwOwogICAgdWludDY0X3Qgc3RhcnQgPSBjdXJyZW50X3RpbWVf bXMoKTsKICAgIGZvciAoOzspIHsKICAgICAgaWYgKHdhaXRwaWQoLTEsICZzdGF0dXMsIFdOT0hB TkcgfCBXQUlUX0ZMQUdTKSA9PSBwaWQpCiAgICAgICAgYnJlYWs7CiAgICAgIHNsZWVwX21zKDEp OwogICAgICBpZiAoY3VycmVudF90aW1lX21zKCkgLSBzdGFydCA8IDUwMDApCiAgICAgICAgY29u dGludWU7CiAgICAgIGtpbGxfYW5kX3dhaXQocGlkLCAmc3RhdHVzKTsKICAgICAgYnJlYWs7CiAg ICB9CiAgfQp9Cgp1aW50NjRfdCByWzJdID0gezB4ZmZmZmZmZmZmZmZmZmZmZiwgMHhmZmZmZmZm ZmZmZmZmZmZmfTsKCnZvaWQgZXhlY3V0ZV9vbmUodm9pZCkKewogIGludHB0cl90IHJlcyA9IDA7 CiAgcmVzID0gc3lzY2FsbChfX05SX3NvY2tldCwgLypkb21haW49Ki8ydWwsIC8qdHlwZT0qLzF1 bCwgLypwcm90bz0qLzApOwogIGlmIChyZXMgIT0gLTEpCiAgICByWzBdID0gcmVzOwogICoodWlu dDY0X3QqKTB4MjAwMDAwYzAgPSAwOwogICoodWludDE2X3QqKTB4MjAwMDAwYzggPSAyOwogICoo dWludDE2X3QqKTB4MjAwMDAwY2EgPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAwY2MgPSBodG9i ZTMyKDB4ZTAwMDAwMDEpOwogICoodWludDMyX3QqKTB4MjAwMDAwZDAgPSAwOwogICoodWludDMy X3QqKTB4MjAwMDAwZDQgPSAwOwogICoodWludDE2X3QqKTB4MjAwMDAwZDggPSAweDEwOwogICoo dWludDE2X3QqKTB4MjAwMDAwZGEgPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAwZGMgPSAwOwog ICoodWludDMyX3QqKTB4MjAwMDAwZTAgPSAwOwogICoodWludDE2X3QqKTB4MjAwMDAwZTggPSAz OwogICoodWludDhfdCopMHgyMDAwMDBlYSA9IDB4YTI7CiAgKih1aW50OF90KikweDIwMDAwMGVi ID0gMHhhNjsKICAqKHVpbnQ4X3QqKTB4MjAwMDAwZWMgPSAweGE4OwogICoodWludDhfdCopMHgy MDAwMDBlZCA9IDB4NDA7CiAgKih1aW50OF90KikweDIwMDAwMGVlID0gMHg0MDsKICAqKHVpbnQ4 X3QqKTB4MjAwMDAwZWYgPSAweDQwOwogICoodWludDhfdCopMHgyMDAwMDBmMCA9IDA7CiAgKih1 aW50MzJfdCopMHgyMDAwMDBmNCA9IDA7CiAgKih1aW50MTZfdCopMHgyMDAwMDBmOCA9IDB4ODdj OwogICoodWludDE2X3QqKTB4MjAwMDAwZmEgPSAwOwogICoodWludDY0X3QqKTB4MjAwMDAxMDAg PSAwOwogICoodWludDY0X3QqKTB4MjAwMDAxMDggPSAwOwogICoodWludDE2X3QqKTB4MjAwMDAx MTAgPSAweDQwMDsKICAqKHVpbnQ2NF90KikweDIwMDAwMTE4ID0gMHgyMDAwMDAwMDsKICBtZW1j cHkoKHZvaWQqKTB4MjAwMDAwMDAsCiAgICAgICAgICJncmUwXDAwMFwwMDBcMDAwXDAwMFwwMDBc MDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIiwgMTYpOwogICoodWludDY0X3QqKTB4MjAwMDAx MjAgPSAwOwogICoodWludDY0X3QqKTB4MjAwMDAxMjggPSAwOwogICoodWludDE2X3QqKTB4MjAw MDAxMzAgPSAwOwogIHN5c2NhbGwoX19OUl9pb2N0bCwgLypmZD0qL3JbMF0sIC8qY21kPSovMHg4 OTBiLCAvKmFyZz0qLzB4MjAwMDAwYzB1bCk7CiAgKih1aW50MzJfdCopMHgyMDAwMDIwMCA9IDB4 YzsKICAqKHVpbnQzMl90KikweDIwMDAwMjA0ID0gMHhlOwogICoodWludDY0X3QqKTB4MjAwMDAy MDggPSAweDIwMDAwYjQwOwogIG1lbWNweSgKICAgICAgKHZvaWQqKTB4MjAwMDBiNDAsCiAgICAg ICJceGI3XHgwMlx4MDBceDAwXHgwM1x4MDBceDAwXHgwMFx4YmZceGEzXHgwMFx4MDBceDAwXHgw MFx4MDBceDAwXHgwN1x4MDMiCiAgICAgICJceDAwXHgwMFx4MDBceGZlXHhmZlx4ZmZceDdhXHgw YVx4ZjBceGZmXHhmOFx4ZmZceGZmXHhmZlx4NzlceGE0XHhmMFx4ZmYiCiAgICAgICJceDAwXHgw MFx4MDBceDAwXHhiN1x4MDZceDAwXHgwMFx4ZmZceGZmXHhmZlx4ZmZceDJkXHg2NFx4MDVceDAw XHgwMFx4MDAiCiAgICAgICJceDAwXHgwMFx4NjVceDA0XHgwNFx4MDBceDAxXHgwMFx4MWZceDAw XHgwNFx4MDRceDAwXHgwMFx4MDFceDAwXHg3ZFx4NjAiCiAgICAgICJceGI3XHgwM1x4MDBceDAw XHgwMFx4MDBceDAwXHgwMFx4NmFceDBhXHgwMFx4ZmVceDAwXHgwMFx4MDBceDAwXHg4NVx4MDAi CiAgICAgICJceDAwXHgwMFx4MGRceDAwXHgwMFx4MDBceGI3XHgwMFx4MDBceDAwXHgwMFx4MDBc eDAwXHgwMFx4OTVceDAwXHgwMFx4MDAiCiAgICAgICJceDAwXHgwMFx4MDBceDAwXHhjN1x4NDNc eDk2XHhjOFx4ZTNceGViXHhiYVx4ZGNceDIwXHhlNVx4YTdceGVmXHg4Y1x4OWEiCiAgICAgICJc eGMxXHg0Nlx4NWNceDRkXHg0MFx4YzlceGZjXHg1Nlx4NGVceDBiXHhiZlx4YzdceDU1XHgzM1x4 NThceDM4XHgwYlx4M2EiCiAgICAgICJceDFmXHg1OVx4OTFceDZmXHhmY1x4OWJceGYwXHhiZFx4 ZjhceDE1XHgyNFx4ZjBceDdmXHhiMlx4ODFceDliXHhmNVx4NzciCiAgICAgICJceDRmXHhlZFx4 ZGFceDUyXHhlM1x4OWNceDkwXHhhZlx4MjdceGRiXHg1Ylx4NTZceDAyXHg0ZFx4ZjlceDZiXHg0 Nlx4NzMiCiAgICAgICJceGI0XHhlOFx4ZDVceDQ2XHg3ZVx4MTFceDQ2XHgwNFx4ZWFceDA5XHhi Mlx4OTBceGEyXHg0OFx4YTFceDIwXHhjOVx4YzYiCiAgICAgICJceGU2XHg1OFx4NDNceDNmXHhm MFx4ZThceDA2XHg3N1x4ZWVceGJhXHg2OFx4NTZceDdhXHg1Mlx4NjZceDFkXHhjMlx4ZDciCiAg ICAgICJceGNlXHg2NFx4ZTZceGE1XHg1N1x4MjlceGE4XHhiZVx4MmVceGI4XHhhZVx4MmJceGNk XHg4N1x4Y2VceGY5XHgwMFx4MDAiCiAgICAgICJceDAwXHhhM1x4OWNceDE1XHhhN1x4ZWZceDM2 XHg1Y1x4YzJceDdkXHhmZVx4YWNceDdiXHhiNFx4MGVceDkwXHg0OFx4NTEiCiAgICAgICJceDcz XHg1NFx4YjBceGNhXHg0Zlx4OWNceGY4XHhiNVx4OWVceGU2XHhmYVx4MDBceDNmXHhlMVx4ZjJc eGM0XHhjMVx4NWYiCiAgICAgICJceDIwXHhhMFx4N2RceGI0XHg1OFx4M2FceDQ2XHgyZFx4OGJc eGU2XHg2MFx4MjFceDg2XHhmZFx4NjhceGVlXHgxNFx4YTEiCiAgICAgICJceDllXHg5Ylx4NTNc eDgxXHg3OVx4MWNceGJmXHgwY1x4ZWJceDQyXHgxMlx4MmJceDg2XHgzNVx4YTZceDZjXHhlNlx4 YjUiCiAgICAgICJceGI5XHgyM1x4NTZceDA4XHgxYlx4YzBceGYxXHg4YVx4MGNceGE4XHgzZFx4 YmNceDA4XHhjMlx4ZGFceGEyXHgzNVx4MTkiCiAgICAgICJceDdmXHgxNFx4OTZceDY3XHg5YVx4 OThceDEzXHhjMVx4ZWZceGEyXHg2MFx4MDFceGIzXHhmNFx4ODZceGViXHhmYVx4YWUiCiAgICAg ICJceDg1XHhjNFx4ZDBceGI5XHg2N1x4NzhceDQ3XHg4YVx4ZTVceDM1XHg1ZVx4NmZceDkyXHgz Ylx4MTFceDA1XHg2OVx4NjkiCiAgICAgICJceDA0XHhmYVx4OTNceGZhXHg5MVx4NWFceGI4XHhl MVx4ZTBceGQ3XHhmM1x4MWVceGJkXHgxOVx4NDVceDVlXHg2OFx4MjciCiAgICAgICJceGNkXHg0 OVx4Y2NceDY4XHhjNVx4ZTJceGY5XHhmN1x4NThceDM5XHgwN1x4MTBceDQ1XHg1Nlx4MzFceDA2 XHg0NVx4N2MiCiAgICAgICJceDlkXHhhY1x4MWFceGNjXHhjN1x4NmJceDZhXHhiOVx4NmNceDc5 XHgzZVx4MzFceGI2XHg1Zlx4ODFceDAzXHhlZFx4M2MiCiAgICAgICJceDRjXHgzOFx4NzBceDJi XHhhZFx4MDBceDQ3XHg5Y1x4OGFceGM3XHg2MVx4NjNceGJhXHg4ZFx4MWRceGYwXHhlNVx4OGYi CiAgICAgICJceDM1XHhlOFx4NzZceDc2XHgxNlx4NjZceDBkXHhiOFx4N2VceDdjXHhjN1x4NjRc eGIyXHg5Mlx4OGNceDM4XHhhYVx4MmQiCiAgICAgICJceGQ4XHhhMVx4YjlceDNiXHg5YVx4NGJc eDkzXHgxOVx4OTdceDI5XHg4Zlx4ZmZceGQxXHgyN1x4YTJceDlkXHhkYVx4NTAiCiAgICAgICJc eGYzXHg5Mlx4NmVceDkwXHg1M1x4MmVceGMwXHhhN1x4MWFceGQ5XHgyYlx4YTNceDU0XHgxMlx4 ZGNceGMwXHgyZVx4ZjgiCiAgICAgICJceGY0XHgyM1x4YjdceDBjXHhjYVx4NjFceGNhXHhiZlx4 MmFceDA2XHhiNVx4MDFceDU1XHgwYlx4YjlceDFlXHhlNlx4NTUiCiAgICAgICJceGYwXHgxM1x4 MTFceGUwXHg0MFx4MDFceGYxXHhkZlx4ZGRceDlkXHg0MFx4NWRceDM1XHg0N1x4YTNceGVjXHg2 NVx4N2YiCiAgICAgICJceGFlXHgyMFx4OTZceDk5XHhiOFx4MGJceDljXHgwOVx4MDBceDAwXHgw MFx4OTVceDNlXHhjMVx4ZjdceGI4XHgyN1x4OWUiCiAgICAgICJceGVhXHhjOFx4ZThceDQzXHhi Ylx4MDRceDM4XHg3OFx4NDhceGFlXHgzNlx4NzRceGZmXHg2Zlx4ZGNceGZhXHhmNVx4NTYiCiAg ICAgICJceDVhXHhkOVx4OGJceDdhXHgxOVx4OTlceDM2XHg4MVx4ZTRceDc5XHg2Zlx4NDNceDU1 XHhkN1x4YjVceGUzXHhmMVx4MzkiCiAgICAgICJceGM2XHg2YVx4NWVceDZmXHgyOFx4MDhceDhl XHhiNVx4ODNceDUxXHhlMlx4YmNceDBhXHhkZFx4MmZceDc5XHg1Ylx4MTMiCiAgICAgICJceGQy XHhjYVx4ZTlceDE5XHhjZVx4NWJceDU5XHg0MVx4ZDhceGMzXHg4NVx4OWVceGEzXHhkNlx4YWZc eDg3XHg2M1x4NjAiCiAgICAgICJceDNhXHg5ZFx4MjFceDcwXHgyNFx4ZjdceGIzXHg3OVx4NjVc eDk3XHhkOFx4Y2VceDNiXHhiNFx4ODJceDYxXHgwZVx4NDUiCiAgICAgICJceGZjXHg5Y1x4OThc eGNhXHg2Mlx4NzJceDAzXHhiN1x4ZGJceDFjXHg4ZFx4OTlceDVjIiwKICAgICAgNjQzKTsKICAq KHVpbnQ2NF90KikweDIwMDAwMjEwID0gMHgyMDAwMDM0MDsKICBtZW1jcHkoKHZvaWQqKTB4MjAw MDAzNDAsICJzeXprYWxsZXJcMDAwIiwgMTApOwogICoodWludDMyX3QqKTB4MjAwMDAyMTggPSAw OwogICoodWludDMyX3QqKTB4MjAwMDAyMWMgPSAwOwogICoodWludDY0X3QqKTB4MjAwMDAyMjAg PSAwOwogICoodWludDMyX3QqKTB4MjAwMDAyMjggPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAy MmMgPSAwOwogIG1lbXNldCgodm9pZCopMHgyMDAwMDIzMCwgMCwgMTYpOwogICoodWludDMyX3Qq KTB4MjAwMDAyNDAgPSAwOwogICoodWludDMyX3QqKTB4MjAwMDAyNDQgPSAwOwogICoodWludDMy X3QqKTB4MjAwMDAyNDggPSAtMTsKICAqKHVpbnQzMl90KikweDIwMDAwMjRjID0gODsKICAqKHVp bnQ2NF90KikweDIwMDAwMjUwID0gMHgyMDAwMDAwMDsKICAqKHVpbnQzMl90KikweDIwMDAwMDAw ID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAwMDA0ID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAw MjU4ID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAwMjVjID0gMHgxMDsKICAqKHVpbnQ2NF90Kikw eDIwMDAwMjYwID0gMHgyMDAwMDAwMDsKICAqKHVpbnQzMl90KikweDIwMDAwMDAwID0gMDsKICAq KHVpbnQzMl90KikweDIwMDAwMDA0ID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAwMDA4ID0gMDsK ICAqKHVpbnQzMl90KikweDIwMDAwMDBjID0gMDsKICAqKHVpbnQzMl90KikweDIwMDAwMjY4ID0g MHgyY2E7CiAgKih1aW50MzJfdCopMHgyMDAwMDI2YyA9IDA7CiAgKih1aW50MzJfdCopMHgyMDAw MDI3MCA9IC0xOwogICoodWludDMyX3QqKTB4MjAwMDAyNzQgPSAwOwogICoodWludDY0X3QqKTB4 MjAwMDAyNzggPSAwOwogICoodWludDY0X3QqKTB4MjAwMDAyODAgPSAwOwogICoodWludDMyX3Qq KTB4MjAwMDAyODggPSAweDEwOwogICoodWludDMyX3QqKTB4MjAwMDAyOGMgPSAwOwogIHJlcyA9 IHN5c2NhbGwoX19OUl9icGYsIC8qY21kPSovNXVsLCAvKmFyZz0qLzB4MjAwMDAyMDB1bCwgLypz aXplPSovMHg0OHVsKTsKICBpZiAocmVzICE9IC0xKQogICAgclsxXSA9IHJlczsKICAqKHVpbnQz Ml90KikweDIwMDAwMDgwID0gclsxXTsKICAqKHVpbnQzMl90KikweDIwMDAwMDg0ID0gMHgyYTA7 CiAgKih1aW50MzJfdCopMHgyMDAwMDA4OCA9IDB4MmY5OwogICoodWludDMyX3QqKTB4MjAwMDAw OGMgPSAweDMwNDsKICAqKHVpbnQ2NF90KikweDIwMDAwMDkwID0gMHgyMDAwMDA0MDsKICBtZW1j cHkoKHZvaWQqKTB4MjAwMDAwNDAsCiAgICAgICAgICJceGI5XHgwMVx4MDNceDYwXHgwMFx4NDBc eGYwXHgwMFx4MDBceDllXHgwZlx4ZjBceDA4XHgwN1x4MWZceGZmXHhmZiIKICAgICAgICAgIlx4 ZTFceDAwXHgwMFx4NDBceDAwXHg2M1x4MjFceDc3XHhmYlx4YWNceDE0XHgxNFx4MGVceGUwXHgw MFx4MDBceDAxIgogICAgICAgICAiXHhiZVx4M2VceDdkXHgyYVx4MThceDJmXHhmZiIsCiAgICAg ICAgIDQxKTsKICAqKHVpbnQ2NF90KikweDIwMDAwMDk4ID0gMDsKICAqKHVpbnQzMl90KikweDIw MDAwMGEwID0gMHgxMDQ7CiAgKih1aW50MzJfdCopMHgyMDAwMDBhNCA9IDA7CiAgKih1aW50MzJf dCopMHgyMDAwMDBhOCA9IDA7CiAgKih1aW50MzJfdCopMHgyMDAwMDBhYyA9IDB4ZmViOTsKICAq KHVpbnQ2NF90KikweDIwMDAwMGIwID0gMHgyMDAwMDQwMDsKICBtZW1jcHkoCiAgICAgICh2b2lk KikweDIwMDAwNDAwLAogICAgICAiXHg5Mlx4MDlceDU1XHg4Zlx4MGNceDVmXHhiMlx4NWNceGQ1 XHg3Zlx4OThceDExXHgzMVx4MzVceGMzXHgxN1x4MWJceDhiIgogICAgICAiXHgzM1x4MWZceGJj XHgwNFx4ZjBceGU2XHg5NVx4NWFceDc5XHg2Zlx4ZjhceGUzXHhhYVx4ZTNceGNhXHhjNFx4NmNc eGVjIgogICAgICAiXHgzMFx4MzBceGRmXHhjOVx4OTlceDA1XHg4YVx4ZWFceDAxXHhmMFx4ZTZc eGRjXHhmMlx4ZjlceGQ0XHg4MFx4ZDNceDI4IgogICAgICAiXHg2NVx4NWFceGNhXHgwMFx4Mzlc eDI3XHhiZFx4NTBceGVkXHg0OVx4ZDRceDg0XHgzY1x4OGFceDBhXHgyYVx4NGJceDI2IgogICAg ICAiXHhjZVx4YjdceDQ3XHg5NFx4NzJceDAwXHhiZFx4NjRceDRjXHg4NVx4ZTdceGE4XHhhN1x4 ZDdceGNmXHhjZVx4ODRceDBjIgogICAgICAiXHgwMlx4YTdceGQ2XHg5Y1x4OWVceDBiXHhjYVx4 NDFceDBmXHg2NFx4ZDRceDMyXHg5MFx4YWJceGJiXHhmM1x4MTNceDFlIgogICAgICAiXHgxZlx4 YThceGJkXHg4Y1x4M2VceDVmXHgxOVx4ZDVceGE0XHg5MVx4ZDNceGQ0XHhjMVx4YTBceGZlXHg0 N1x4ZGVceDllIgogICAgICAiXHhlYlx4YWZceDA3XHgzYVx4YzNceGRhXHg2Mlx4NTZceGJkXHhi Nlx4ODFceGQxXHg4Zlx4YmRceDYwXHg3Y1x4OWJceDBkIgogICAgICAiXHg3MVx4MDRceDQyXHhi Y1x4ZjdceDhiXHhjM1x4NmZceGQzXHhjMFx4MzVceDgxXHgyYlx4ZGVceDU4XHgyYVx4MjZceDJi IgogICAgICAiXHhmZlx4MGVceDRkXHg2MVx4ODFceGM4XHgxOFx4ZmNceGNmXHg1NFx4MjhceDY4 XHhjNlx4ZTZceDAyXHhkOVx4N2JceGVhIgogICAgICAiXHgyM1x4YTFceDAxXHg5NVx4NWRceGM3 XHg2Ylx4Y2NceDk4XHg0MVx4NDJceGFiXHgzMFx4NTNceDg3XHhhYVx4MzRceDg1IgogICAgICAi XHg2Nlx4ZDZceDg4XHhlZFx4ZDJceDkxXHhhM1x4ZTlceGQwXHg4OVx4NTJceGFkXHhiZFx4ZjZc eDA0XHg2Mlx4YmJceDdmIgogICAgICAiXHg3Zlx4YWVceGJjXHhkZlx4Y2NceGYxXHg3MVx4MTVc eDcwXHg4Ylx4MGRceDczXHhkMFx4ZjNceGE0XHg2OVx4Y2VceDdkIgogICAgICAiXHg4M1x4NzRc eDIxXHg5Ylx4M2ZceDkyXHhjOVx4MmJceGNlXHhjNFx4OTVceDhkXHg0N1x4NGJceGIyXHg4MVx4 YzJceDY2IgogICAgICAiXHg5MVx4OTRceDlkXHgwNVx4NGJceDc4XHg0YVx4NThceDY2XHhmMFx4 ODFceGU1XHgzZVx4YjlceGNmXHhkNyIsCiAgICAgIDI2OCk7CiAgKih1aW50NjRfdCopMHgyMDAw MDBiOCA9IDB4MjAwMDAwMDA7CiAgKih1aW50MzJfdCopMHgyMDAwMDBjMCA9IDA7CiAgKih1aW50 MzJfdCopMHgyMDAwMDBjNCA9IDA7CiAgKih1aW50MzJfdCopMHgyMDAwMDBjOCA9IDA7CiAgc3lz Y2FsbChfX05SX2JwZiwgLypjbWQ9Ki8weGF1bCwgLyphcmc9Ki8weDIwMDAwMDgwdWwsIC8qc2l6 ZT0qLzB4Mjh1bCk7Cn0KaW50IG1haW4odm9pZCkKewogIHN5c2NhbGwoX19OUl9tbWFwLCAvKmFk ZHI9Ki8weDFmZmZmMDAwdWwsIC8qbGVuPSovMHgxMDAwdWwsIC8qcHJvdD0qLzB1bCwKICAgICAg ICAgIC8qZmxhZ3M9Ki8weDMydWwsIC8qZmQ9Ki8tMSwgLypvZmZzZXQ9Ki8wdWwpOwogIHN5c2Nh bGwoX19OUl9tbWFwLCAvKmFkZHI9Ki8weDIwMDAwMDAwdWwsIC8qbGVuPSovMHgxMDAwMDAwdWws IC8qcHJvdD0qLzd1bCwKICAgICAgICAgIC8qZmxhZ3M9Ki8weDMydWwsIC8qZmQ9Ki8tMSwgLypv ZmZzZXQ9Ki8wdWwpOwogIHN5c2NhbGwoX19OUl9tbWFwLCAvKmFkZHI9Ki8weDIxMDAwMDAwdWws IC8qbGVuPSovMHgxMDAwdWwsIC8qcHJvdD0qLzB1bCwKICAgICAgICAgIC8qZmxhZ3M9Ki8weDMy dWwsIC8qZmQ9Ki8tMSwgLypvZmZzZXQ9Ki8wdWwpOwogIGRvX3NhbmRib3hfbm9uZSgpOwogIHJl dHVybiAwOwp9Cg== ------=ALIBOUNDARY_9099_7f51428e5700_65a7828c_38a258--