Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1F3A0200BB4 for ; Tue, 1 Nov 2016 10:11:25 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 1DB64160AF7; Tue, 1 Nov 2016 09:11:25 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id F1C2B160AE5 for ; Tue, 1 Nov 2016 10:11:21 +0100 (CET) Received: (qmail 98696 invoked by uid 500); 1 Nov 2016 09:11:20 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 98686 invoked by uid 99); 1 Nov 2016 09:11:19 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2016 09:11:19 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 3921DC07CC for ; Tue, 1 Nov 2016 09:11:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.801 X-Spam-Level: X-Spam-Status: No, score=-1.801 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-2.999, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=hotmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id iL97aW-vWE8g for ; Tue, 1 Nov 2016 09:11:15 +0000 (UTC) Received: from COL004-OMC3S2.hotmail.com (col004-omc3s2.hotmail.com [65.55.34.140]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 8C86E5FC80 for ; Tue, 1 Nov 2016 09:11:13 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com ([65.55.34.137]) by COL004-OMC3S2.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Tue, 1 Nov 2016 02:11:05 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=FAh79sb4Lz6uFXG2/hUnz61N4gBCNa7tA28gUpWMnPM=; b=ROcqsANbpZyjcdkQbELjZrmeOUaSDKp3nwbYHElNQsNwIqScXKfZPQ3V9leCnudzWFyuhuOfr8U6DxDgF21F9STWXf9ZLxiL3LM6xrm4+AuTQwbrHY+26ZkfWEDZGJkqHhvRHkf/SODdx6M66NgRaOyPoAyhS2Xlvv/GkTDbBMcz1REUW5mRYfobB/rJ84+R7s1emc1abM0c0CYp2Q93NRwDbUW27lX/3yHgqL+cXNcnuovZ5of7gh3tskr8MbDCYlIfrFzOtEhobcP10Ax8iCjNTYzlEmfPf3110VbxkCh1x4cgvkG8KxRypIWe3YBmxnFHB73QR9XtNIRjw5F6DQ== Received: from HE1EUR01FT031.eop-EUR01.prod.protection.outlook.com (10.152.0.57) by HE1EUR01HT115.eop-EUR01.prod.protection.outlook.com (10.152.1.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.6; Tue, 1 Nov 2016 09:10:59 +0000 Received: from AM4PR10MB0130.EURPRD10.PROD.OUTLOOK.COM (10.152.0.58) by HE1EUR01FT031.mail.protection.outlook.com (10.152.0.177) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.6 via Frontend Transport; Tue, 1 Nov 2016 09:10:58 +0000 Received: from AM4PR10MB0130.EURPRD10.PROD.OUTLOOK.COM ([10.166.135.10]) by AM4PR10MB0130.EURPRD10.PROD.OUTLOOK.COM ([10.166.135.10]) with mapi id 15.01.0693.009; Tue, 1 Nov 2016 09:10:58 +0000 From: _ _ To: "user@cassandra.apache.org" Subject: Cassandra Poor Read Performance Response Time Thread-Topic: Cassandra Poor Read Performance Response Time Thread-Index: AQHSNB8Q8PIBBg7MVku22wK4luFuZg== Date: Tue, 1 Nov 2016 09:10:57 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: cassandra.apache.org; dkim=none (message not signed) header.d=none;cassandra.apache.org; dmarc=none action=none header.from=hotmail.com; x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [BuSDI8VdqLtpcBzzOW1VPwWIVutDIdM2] x-eopattributedmessage: 0 x-microsoft-exchange-diagnostics: 1;HE1EUR01HT115;5:4M2a6GI04iiB6inZqhRBV2Wh4SGYSxfRpCx/aaAxOYBC0Bw6T3xYf94WVLz/10JeT3LSzpYwEtLfrzSKNLCtCV/k7kizIbTqKbvCuF3shWo2sMMyCFakH9i9HnVMuxo2EuTEVd6nqh4BUy1H8LjvPA==;24:MaKvsTFAelMxIGMTE27ENu4zLmLo7ssZUCXF0xGGxz3eXvQQ0EsBtNfHGR20lrxlEZA0qsUdYGdv/ClgLZhsSlJMoiUM8eVw+7n+fCheguM=;7:1Su3r1NhVB6eUPV22eNsGlOuQFLbqdal/PtMfQfUBZBtGuMjo0ojqp7vYBK1C22Bx1YjRERyzkvEeTiV0nN28FMCQRu9Ydp8Xez9G7yljPSTtItjWPCIJfN2lAYu5X/gWSGVdof89tWY+/kPtDs+UOJ6V8QCxTHwUTrW1tHsGzX59ZczhS0lcedUciVPg+tNPZAn7w3kg88oLClf8PGFyijoRNrrUN9wrD6Wo4Pr8h+UDE3fl285FaQuzSKbX1vhS5ocX/daaV2zC57HW/KFzHoQAHszPRrdT67QbbCpF5Rf65/SdsIXvsfA1HezrLT0v96y/GNlChfPpTYACBGq3aW9xW4QNho4DUE/HL/SbBo= x-forefront-antispam-report: EFV:NLI;SFV:NSPM;SFS:(10019020)(98900003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1EUR01HT115;H:AM4PR10MB0130.EURPRD10.PROD.OUTLOOK.COM;FPR:;SPF:None;LANG:en; x-ms-office365-filtering-correlation-id: cd9734b6-45d6-49df-f6e7-08d40236fe2a x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(1601124038)(1603103081)(1601125047);SRVR:HE1EUR01HT115; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(432015012)(102415321)(82015046);SRVR:HE1EUR01HT115;BCL:0;PCL:0;RULEID:;SRVR:HE1EUR01HT115; x-forefront-prvs: 01136D2D90 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_" MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2016 09:10:57.9969 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR01HT115 X-OriginalArrivalTime: 01 Nov 2016 09:11:05.0388 (UTC) FILETIME=[DFFFCEC0:01D2341F] archived-at: Tue, 01 Nov 2016 09:11:25 -0000 --_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: multipart/alternative; boundary="_000_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_" --_000_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Currently i am running a cassandra cluster of 3 nodes (with it replicating = to both nodes) and am experiencing poor performance, usually getting second= response times when running queries when i am expecting/needing millisecon= d response times. Currently i have a table which looks like: CREATE TABLE tracker.all_ad_impressions_counter_1d ( time_bucket bigint, ad_id text, uc text, count counter, PRIMARY KEY ((time_bucket, ad_id), uc) ) WITH CLUSTERING ORDER BY (uc ASC) AND bloom_filter_fp_chance =3D 0.01 AND caching =3D {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND comment =3D '' AND compaction =3D {'base_time_seconds': '3600', 'class': 'org.apache.c= assandra.db.compaction.DateTieredCompactionStrategy', 'max_sstable_age_days= ': '30', 'max_threshold': '32', 'min_threshold': '4', 'timestamp_resolution= ': 'MILLISECONDS'} AND compression =3D {'chunk_length_in_kb': '64', 'class': 'org.apache.c= assandra.io.compress.LZ4Compressor'} AND crc_check_chance =3D 1.0 AND dclocal_read_repair_chance =3D 0.1 AND default_time_to_live =3D 0 AND gc_grace_seconds =3D 864000 AND max_index_interval =3D 2048 AND memtable_flush_period_in_ms =3D 0 AND min_index_interval =3D 128 AND read_repair_chance =3D 0.0 AND speculative_retry =3D '99PERCENTILE'; and queries which look like: SELECT time_bucket, uc, count FROM all_ad_impressions_counter_1d WHERE ad_id =3D ? AND time_bucket =3D ? the cluster is running on servers with 16 GB RAM, and 4 CPU cores and 3 100= GB datastores, the storage is not local and these VMs are being managed thr= ough openstack. There are roughly 200 million records being written per day= (1 time_bucket) and maybe a few thousand records per partition (time_bucke= t, ad_id) at most. The amount of writes is not having a significant effect = on our read performance as when writes are stopped, the read response time = does not improve noticeably. I have attached a trace of one query i ran whi= ch took around 3 seconds which i would expect to take well below a second. = I have also included the cassandra.yaml file and jvm options file. We do in= tend to change the storage to local storage and expect this will have a sig= nificant impact but i was wondering if there's anything else which could be= changed which will also have a significant impact on read performance? Thanks Ian --_000_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi


Currently i am running a cassandra cluster of 3 nodes (with it replicating = to both nodes) and am experiencing poor performance, usually getting s= econd response times when running queries when i am expecting/nee= ding millisecond response times. Currently i have a table which looks like:

CREATE TABLE tracker.al= l_ad_impressions_counter_1d (
    time_buck= et bigint,
    ad_id tex= t,
    uc text,<= /font>
    count cou= nter,
    PRIMARY K= EY ((time_bucket, ad_id), uc)
) WITH CLUSTERING ORDER= BY (uc ASC)
    AND bloom= _filter_fp_chance =3D 0.01
    AND cachi= ng =3D {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comme= nt =3D ''
    AND compa= ction =3D {'base_time_seconds': '3600', 'class': 'org.apache.cassandra.db.<= wbr>compaction.DateTieredCompactionStrategy', 'max_sstable_age_days': = '30', 'max_threshold': '32', 'min_threshold': '4', 'timestamp_resolution': 'MILLISECONDS'}
    AND compr= ession =3D {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.<= wbr>compress.LZ4Compressor'}
    AND crc_c= heck_chance =3D 1.0
    AND dcloc= al_read_repair_chance =3D 0.1
    AND defau= lt_time_to_live =3D 0
    AND gc_gr= ace_seconds =3D 864000
    AND max_i= ndex_interval =3D 2048
    AND memta= ble_flush_period_in_ms =3D 0
    AND min_i= ndex_interval =3D 128
    AND read_= repair_chance =3D 0.0
    AND specu= lative_retry =3D '99PERCENTILE';


and queries which look like:

        SELECT
      &n= bsp;     time_bucket,
      &n= bsp;     uc,
      &n= bsp;     count
      &n= bsp; FROM
      &n= bsp;     all_ad_impressions_counter_1d

      &n= bsp; WHERE ad_id =3D ?
      &n= bsp;     AND time_bucket =3D ?

the cluster is running on servers with 16 GB RAM, and 4 CPU cores and 3 100= GB datastores, the storage is not local and these VMs are being managed thr= ough openstack. There are roughly 200 million records being = written per day (1 time_bucket) and maybe a few thousand records per partition (time_bucket, ad_id) at most. The amou= nt of writes is not having a significant effect on our read performance as = when writes are stopped, the read response time does not improve noticeably= . I have attached a trace of one query i ran which took around 3 seconds which i would expect to take well below&= nbsp;a second. I have also included the cassandra.yaml file and jvm options= file. We do intend to change the storage to local storage and expect this = will have a significant impact but i was wondering if there's anything else which could be changed which will a= lso have a significant impact on read performance?

Thanks
Ian

--_000_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_-- --_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: application/octet-stream; name="cassandra.yaml" Content-Description: cassandra.yaml Content-Disposition: attachment; filename="cassandra.yaml"; size=49890; creation-date="Tue, 01 Nov 2016 09:06:59 GMT"; modification-date="Tue, 01 Nov 2016 09:06:59 GMT" Content-Transfer-Encoding: base64 IyBDYXNzYW5kcmEgc3RvcmFnZSBjb25maWcgWUFNTCAKCiMgTk9URToKIyAgIFNlZSBodHRwOi8v d2lraS5hcGFjaGUub3JnL2Nhc3NhbmRyYS9TdG9yYWdlQ29uZmlndXJhdGlvbiBmb3IKIyAgIGZ1 bGwgZXhwbGFuYXRpb25zIG9mIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcwojIC9OT1RFCgojIFRo ZSBuYW1lIG9mIHRoZSBjbHVzdGVyLiBUaGlzIGlzIG1haW5seSB1c2VkIHRvIHByZXZlbnQgbWFj aGluZXMgaW4KIyBvbmUgbG9naWNhbCBjbHVzdGVyIGZyb20gam9pbmluZyBhbm90aGVyLgpjbHVz dGVyX25hbWU6ICdhYmFjdXMnCgojIFRoaXMgZGVmaW5lcyB0aGUgbnVtYmVyIG9mIHRva2VucyBy YW5kb21seSBhc3NpZ25lZCB0byB0aGlzIG5vZGUgb24gdGhlIHJpbmcKIyBUaGUgbW9yZSB0b2tl bnMsIHJlbGF0aXZlIHRvIG90aGVyIG5vZGVzLCB0aGUgbGFyZ2VyIHRoZSBwcm9wb3J0aW9uIG9m IGRhdGEKIyB0aGF0IHRoaXMgbm9kZSB3aWxsIHN0b3JlLiBZb3UgcHJvYmFibHkgd2FudCBhbGwg bm9kZXMgdG8gaGF2ZSB0aGUgc2FtZSBudW1iZXIKIyBvZiB0b2tlbnMgYXNzdW1pbmcgdGhleSBo YXZlIGVxdWFsIGhhcmR3YXJlIGNhcGFiaWxpdHkuCiMKIyBJZiB5b3UgbGVhdmUgdGhpcyB1bnNw ZWNpZmllZCwgQ2Fzc2FuZHJhIHdpbGwgdXNlIHRoZSBkZWZhdWx0IG9mIDEgdG9rZW4gZm9yIGxl Z2FjeSBjb21wYXRpYmlsaXR5LAojIGFuZCB3aWxsIHVzZSB0aGUgaW5pdGlhbF90b2tlbiBhcyBk ZXNjcmliZWQgYmVsb3cuCiMKIyBTcGVjaWZ5aW5nIGluaXRpYWxfdG9rZW4gd2lsbCBvdmVycmlk ZSB0aGlzIHNldHRpbmcgb24gdGhlIG5vZGUncyBpbml0aWFsIHN0YXJ0LAojIG9uIHN1YnNlcXVl bnQgc3RhcnRzLCB0aGlzIHNldHRpbmcgd2lsbCBhcHBseSBldmVuIGlmIGluaXRpYWwgdG9rZW4g aXMgc2V0LgojCiMgSWYgeW91IGFscmVhZHkgaGF2ZSBhIGNsdXN0ZXIgd2l0aCAxIHRva2VuIHBl ciBub2RlLCBhbmQgd2lzaCB0byBtaWdyYXRlIHRvIAojIG11bHRpcGxlIHRva2VucyBwZXIgbm9k ZSwgc2VlIGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvY2Fzc2FuZHJhL09wZXJhdGlvbnMKbnVtX3Rv a2VuczogMjU2CgojIFRyaWdnZXJzIGF1dG9tYXRpYyBhbGxvY2F0aW9uIG9mIG51bV90b2tlbnMg dG9rZW5zIGZvciB0aGlzIG5vZGUuIFRoZSBhbGxvY2F0aW9uCiMgYWxnb3JpdGhtIGF0dGVtcHRz IHRvIGNob29zZSB0b2tlbnMgaW4gYSB3YXkgdGhhdCBvcHRpbWl6ZXMgcmVwbGljYXRlZCBsb2Fk IG92ZXIKIyB0aGUgbm9kZXMgaW4gdGhlIGRhdGFjZW50ZXIgZm9yIHRoZSByZXBsaWNhdGlvbiBz dHJhdGVneSB1c2VkIGJ5IHRoZSBzcGVjaWZpZWQKIyBrZXlzcGFjZS4KIwojIFRoZSBsb2FkIGFz c2lnbmVkIHRvIGVhY2ggbm9kZSB3aWxsIGJlIGNsb3NlIHRvIHByb3BvcnRpb25hbCB0byBpdHMg bnVtYmVyIG9mCiMgdm5vZGVzLgojCiMgT25seSBzdXBwb3J0ZWQgd2l0aCB0aGUgTXVybXVyM1Bh cnRpdGlvbmVyLgojIGFsbG9jYXRlX3Rva2Vuc19mb3Jfa2V5c3BhY2U6IEtFWVNQQUNFCgojIGlu aXRpYWxfdG9rZW4gYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRva2VucyBtYW51YWxseS4gIFdoaWxl IHlvdSBjYW4gdXNlICMgaXQgd2l0aAojIHZub2RlcyAobnVtX3Rva2VucyA+IDEsIGFib3ZlKSAt LSBpbiB3aGljaCBjYXNlIHlvdSBzaG91bGQgcHJvdmlkZSBhIAojIGNvbW1hLXNlcGFyYXRlZCBs aXN0IC0tIGl0J3MgcHJpbWFyaWx5IHVzZWQgd2hlbiBhZGRpbmcgbm9kZXMgIyB0byBsZWdhY3kg Y2x1c3RlcnMgCiMgdGhhdCBkbyBub3QgaGF2ZSB2bm9kZXMgZW5hYmxlZC4KIyBpbml0aWFsX3Rv a2VuOgoKIyBTZWUgaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9jYXNzYW5kcmEvSGludGVkSGFuZG9m ZgojIE1heSBlaXRoZXIgYmUgInRydWUiIG9yICJmYWxzZSIgdG8gZW5hYmxlIGdsb2JhbGx5Cmhp bnRlZF9oYW5kb2ZmX2VuYWJsZWQ6IHRydWUKIyBXaGVuIGhpbnRlZF9oYW5kb2ZmX2VuYWJsZWQg aXMgdHJ1ZSwgYSBibGFjayBsaXN0IG9mIGRhdGEgY2VudGVycyB0aGF0IHdpbGwgbm90CiMgcGVy Zm9ybSBoaW50ZWQgaGFuZG9mZgojaGludGVkX2hhbmRvZmZfZGlzYWJsZWRfZGF0YWNlbnRlcnM6 CiMgICAgLSBEQzEKIyAgICAtIERDMgojIHRoaXMgZGVmaW5lcyB0aGUgbWF4aW11bSBhbW91bnQg b2YgdGltZSBhIGRlYWQgaG9zdCB3aWxsIGhhdmUgaGludHMKIyBnZW5lcmF0ZWQuICBBZnRlciBp dCBoYXMgYmVlbiBkZWFkIHRoaXMgbG9uZywgbmV3IGhpbnRzIGZvciBpdCB3aWxsIG5vdCBiZQoj IGNyZWF0ZWQgdW50aWwgaXQgaGFzIGJlZW4gc2VlbiBhbGl2ZSBhbmQgZ29uZSBkb3duIGFnYWlu LgptYXhfaGludF93aW5kb3dfaW5fbXM6IDEwODAwMDAwICMgMyBob3VycwoKIyBNYXhpbXVtIHRo cm90dGxlIGluIEtCcyBwZXIgc2Vjb25kLCBwZXIgZGVsaXZlcnkgdGhyZWFkLiAgVGhpcyB3aWxs IGJlCiMgcmVkdWNlZCBwcm9wb3J0aW9uYWxseSB0byB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRo ZSBjbHVzdGVyLiAgKElmIHRoZXJlCiMgYXJlIHR3byBub2RlcyBpbiB0aGUgY2x1c3RlciwgZWFj aCBkZWxpdmVyeSB0aHJlYWQgd2lsbCB1c2UgdGhlIG1heGltdW0KIyByYXRlOyBpZiB0aGVyZSBh cmUgdGhyZWUsIGVhY2ggd2lsbCB0aHJvdHRsZSB0byBoYWxmIG9mIHRoZSBtYXhpbXVtLAojIHNp bmNlIHdlIGV4cGVjdCB0d28gbm9kZXMgdG8gYmUgZGVsaXZlcmluZyBoaW50cyBzaW11bHRhbmVv dXNseS4pCmhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2luX2tiOiAxMDI0CgojIE51bWJlciBvZiB0 aHJlYWRzIHdpdGggd2hpY2ggdG8gZGVsaXZlciBoaW50czsKIyBDb25zaWRlciBpbmNyZWFzaW5n IHRoaXMgbnVtYmVyIHdoZW4geW91IGhhdmUgbXVsdGktZGMgZGVwbG95bWVudHMsIHNpbmNlCiMg Y3Jvc3MtZGMgaGFuZG9mZiB0ZW5kcyB0byBiZSBzbG93ZXIKbWF4X2hpbnRzX2RlbGl2ZXJ5X3Ro cmVhZHM6IDIKCiMgRGlyZWN0b3J5IHdoZXJlIENhc3NhbmRyYSBzaG91bGQgc3RvcmUgaGludHMu CiMgSWYgbm90IHNldCwgdGhlIGRlZmF1bHQgZGlyZWN0b3J5IGlzICRDQVNTQU5EUkFfSE9NRS9k YXRhL2hpbnRzLgpoaW50c19kaXJlY3Rvcnk6IC92YXIvbGliL2Nhc3NhbmRyYS9oaW50cwoKIyBI b3cgb2Z0ZW4gaGludHMgc2hvdWxkIGJlIGZsdXNoZWQgZnJvbSB0aGUgaW50ZXJuYWwgYnVmZmVy cyB0byBkaXNrLgojIFdpbGwgKm5vdCogdHJpZ2dlciBmc3luYy4KaGludHNfZmx1c2hfcGVyaW9k X2luX21zOiAxMDAwMAoKIyBNYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIGhpbnRzIGZpbGUsIGlu IG1lZ2FieXRlcy4KbWF4X2hpbnRzX2ZpbGVfc2l6ZV9pbl9tYjogMTI4CgojIENvbXByZXNzaW9u IHRvIGFwcGx5IHRvIHRoZSBoaW50IGZpbGVzLiBJZiBvbWl0dGVkLCBoaW50cyBmaWxlcwojIHdp bGwgYmUgd3JpdHRlbiB1bmNvbXByZXNzZWQuIExaNCwgU25hcHB5LCBhbmQgRGVmbGF0ZSBjb21w cmVzc29ycwojIGFyZSBzdXBwb3J0ZWQuCiNoaW50c19jb21wcmVzc2lvbjoKIyAgIC0gY2xhc3Nf bmFtZTogTFo0Q29tcHJlc3NvcgojICAgICBwYXJhbWV0ZXJzOgojICAgICAgICAgLQoKIyBNYXhp bXVtIHRocm90dGxlIGluIEtCcyBwZXIgc2Vjb25kLCB0b3RhbC4gVGhpcyB3aWxsIGJlCiMgcmVk dWNlZCBwcm9wb3J0aW9uYWxseSB0byB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIHRoZSBjbHVzdGVy LgpiYXRjaGxvZ19yZXBsYXlfdGhyb3R0bGVfaW5fa2I6IDEwMjQKCiMgQXV0aGVudGljYXRpb24g YmFja2VuZCwgaW1wbGVtZW50aW5nIElBdXRoZW50aWNhdG9yOyB1c2VkIHRvIGlkZW50aWZ5IHVz ZXJzCiMgT3V0IG9mIHRoZSBib3gsIENhc3NhbmRyYSBwcm92aWRlcyBvcmcuYXBhY2hlLmNhc3Nh bmRyYS5hdXRoLntBbGxvd0FsbEF1dGhlbnRpY2F0b3IsCiMgUGFzc3dvcmRBdXRoZW50aWNhdG9y fS4KIwojIC0gQWxsb3dBbGxBdXRoZW50aWNhdG9yIHBlcmZvcm1zIG5vIGNoZWNrcyAtIHNldCBp dCB0byBkaXNhYmxlIGF1dGhlbnRpY2F0aW9uLgojIC0gUGFzc3dvcmRBdXRoZW50aWNhdG9yIHJl bGllcyBvbiB1c2VybmFtZS9wYXNzd29yZCBwYWlycyB0byBhdXRoZW50aWNhdGUKIyAgIHVzZXJz LiBJdCBrZWVwcyB1c2VybmFtZXMgYW5kIGhhc2hlZCBwYXNzd29yZHMgaW4gc3lzdGVtX2F1dGgu Y3JlZGVudGlhbHMgdGFibGUuCiMgICBQbGVhc2UgaW5jcmVhc2Ugc3lzdGVtX2F1dGgga2V5c3Bh Y2UgcmVwbGljYXRpb24gZmFjdG9yIGlmIHlvdSB1c2UgdGhpcyBhdXRoZW50aWNhdG9yLgojICAg SWYgdXNpbmcgUGFzc3dvcmRBdXRoZW50aWNhdG9yLCBDYXNzYW5kcmFSb2xlTWFuYWdlciBtdXN0 IGFsc28gYmUgdXNlZCAoc2VlIGJlbG93KQphdXRoZW50aWNhdG9yOiBQYXNzd29yZEF1dGhlbnRp Y2F0b3IKCiMgQXV0aG9yaXphdGlvbiBiYWNrZW5kLCBpbXBsZW1lbnRpbmcgSUF1dGhvcml6ZXI7 IHVzZWQgdG8gbGltaXQgYWNjZXNzL3Byb3ZpZGUgcGVybWlzc2lvbnMKIyBPdXQgb2YgdGhlIGJv eCwgQ2Fzc2FuZHJhIHByb3ZpZGVzIG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmF1dGgue0FsbG93QWxs QXV0aG9yaXplciwKIyBDYXNzYW5kcmFBdXRob3JpemVyfS4KIwojIC0gQWxsb3dBbGxBdXRob3Jp emVyIGFsbG93cyBhbnkgYWN0aW9uIHRvIGFueSB1c2VyIC0gc2V0IGl0IHRvIGRpc2FibGUgYXV0 aG9yaXphdGlvbi4KIyAtIENhc3NhbmRyYUF1dGhvcml6ZXIgc3RvcmVzIHBlcm1pc3Npb25zIGlu IHN5c3RlbV9hdXRoLnBlcm1pc3Npb25zIHRhYmxlLiBQbGVhc2UKIyAgIGluY3JlYXNlIHN5c3Rl bV9hdXRoIGtleXNwYWNlIHJlcGxpY2F0aW9uIGZhY3RvciBpZiB5b3UgdXNlIHRoaXMgYXV0aG9y aXplci4KYXV0aG9yaXplcjogQ2Fzc2FuZHJhQXV0aG9yaXplcgoKIyBQYXJ0IG9mIHRoZSBBdXRo ZW50aWNhdGlvbiAmIEF1dGhvcml6YXRpb24gYmFja2VuZCwgaW1wbGVtZW50aW5nIElSb2xlTWFu YWdlcjsgdXNlZAojIHRvIG1haW50YWluIGdyYW50cyBhbmQgbWVtYmVyc2hpcHMgYmV0d2VlbiBy b2xlcy4KIyBPdXQgb2YgdGhlIGJveCwgQ2Fzc2FuZHJhIHByb3ZpZGVzIG9yZy5hcGFjaGUuY2Fz c2FuZHJhLmF1dGguQ2Fzc2FuZHJhUm9sZU1hbmFnZXIsCiMgd2hpY2ggc3RvcmVzIHJvbGUgaW5m b3JtYXRpb24gaW4gdGhlIHN5c3RlbV9hdXRoIGtleXNwYWNlLiBNb3N0IGZ1bmN0aW9ucyBvZiB0 aGUKIyBJUm9sZU1hbmFnZXIgcmVxdWlyZSBhbiBhdXRoZW50aWNhdGVkIGxvZ2luLCBzbyB1bmxl c3MgdGhlIGNvbmZpZ3VyZWQgSUF1dGhlbnRpY2F0b3IKIyBhY3R1YWxseSBpbXBsZW1lbnRzIGF1 dGhlbnRpY2F0aW9uLCBtb3N0IG9mIHRoaXMgZnVuY3Rpb25hbGl0eSB3aWxsIGJlIHVuYXZhaWxh YmxlLgojCiMgLSBDYXNzYW5kcmFSb2xlTWFuYWdlciBzdG9yZXMgcm9sZSBkYXRhIGluIHRoZSBz eXN0ZW1fYXV0aCBrZXlzcGFjZS4gUGxlYXNlCiMgICBpbmNyZWFzZSBzeXN0ZW1fYXV0aCBrZXlz cGFjZSByZXBsaWNhdGlvbiBmYWN0b3IgaWYgeW91IHVzZSB0aGlzIHJvbGUgbWFuYWdlci4Kcm9s ZV9tYW5hZ2VyOiBDYXNzYW5kcmFSb2xlTWFuYWdlcgoKIyBWYWxpZGl0eSBwZXJpb2QgZm9yIHJv bGVzIGNhY2hlIChmZXRjaGluZyBncmFudGVkIHJvbGVzIGNhbiBiZSBhbiBleHBlbnNpdmUKIyBv cGVyYXRpb24gZGVwZW5kaW5nIG9uIHRoZSByb2xlIG1hbmFnZXIsIENhc3NhbmRyYVJvbGVNYW5h Z2VyIGlzIG9uZSBleGFtcGxlKQojIEdyYW50ZWQgcm9sZXMgYXJlIGNhY2hlZCBmb3IgYXV0aGVu dGljYXRlZCBzZXNzaW9ucyBpbiBBdXRoZW50aWNhdGVkVXNlciBhbmQKIyBhZnRlciB0aGUgcGVy aW9kIHNwZWNpZmllZCBoZXJlLCBiZWNvbWUgZWxpZ2libGUgZm9yIChhc3luYykgcmVsb2FkLgoj IERlZmF1bHRzIHRvIDIwMDAsIHNldCB0byAwIHRvIGRpc2FibGUgY2FjaGluZyBlbnRpcmVseS4K IyBXaWxsIGJlIGRpc2FibGVkIGF1dG9tYXRpY2FsbHkgZm9yIEFsbG93QWxsQXV0aGVudGljYXRv ci4Kcm9sZXNfdmFsaWRpdHlfaW5fbXM6IDIwMDAKCiMgUmVmcmVzaCBpbnRlcnZhbCBmb3Igcm9s ZXMgY2FjaGUgKGlmIGVuYWJsZWQpLgojIEFmdGVyIHRoaXMgaW50ZXJ2YWwsIGNhY2hlIGVudHJp ZXMgYmVjb21lIGVsaWdpYmxlIGZvciByZWZyZXNoLiBVcG9uIG5leHQKIyBhY2Nlc3MsIGFuIGFz eW5jIHJlbG9hZCBpcyBzY2hlZHVsZWQgYW5kIHRoZSBvbGQgdmFsdWUgcmV0dXJuZWQgdW50aWwg aXQKIyBjb21wbGV0ZXMuIElmIHJvbGVzX3ZhbGlkaXR5X2luX21zIGlzIG5vbi16ZXJvLCB0aGVu IHRoaXMgbXVzdCBiZQojIGFsc28uCiMgRGVmYXVsdHMgdG8gdGhlIHNhbWUgdmFsdWUgYXMgcm9s ZXNfdmFsaWRpdHlfaW5fbXMuCiMgcm9sZXNfdXBkYXRlX2ludGVydmFsX2luX21zOiAyMDAwCgoj IFZhbGlkaXR5IHBlcmlvZCBmb3IgcGVybWlzc2lvbnMgY2FjaGUgKGZldGNoaW5nIHBlcm1pc3Np b25zIGNhbiBiZSBhbgojIGV4cGVuc2l2ZSBvcGVyYXRpb24gZGVwZW5kaW5nIG9uIHRoZSBhdXRo b3JpemVyLCBDYXNzYW5kcmFBdXRob3JpemVyIGlzCiMgb25lIGV4YW1wbGUpLiBEZWZhdWx0cyB0 byAyMDAwLCBzZXQgdG8gMCB0byBkaXNhYmxlLgojIFdpbGwgYmUgZGlzYWJsZWQgYXV0b21hdGlj YWxseSBmb3IgQWxsb3dBbGxBdXRob3JpemVyLgpwZXJtaXNzaW9uc192YWxpZGl0eV9pbl9tczog MjAwMAoKIyBSZWZyZXNoIGludGVydmFsIGZvciBwZXJtaXNzaW9ucyBjYWNoZSAoaWYgZW5hYmxl ZCkuCiMgQWZ0ZXIgdGhpcyBpbnRlcnZhbCwgY2FjaGUgZW50cmllcyBiZWNvbWUgZWxpZ2libGUg Zm9yIHJlZnJlc2guIFVwb24gbmV4dAojIGFjY2VzcywgYW4gYXN5bmMgcmVsb2FkIGlzIHNjaGVk dWxlZCBhbmQgdGhlIG9sZCB2YWx1ZSByZXR1cm5lZCB1bnRpbCBpdAojIGNvbXBsZXRlcy4gSWYg cGVybWlzc2lvbnNfdmFsaWRpdHlfaW5fbXMgaXMgbm9uLXplcm8sIHRoZW4gdGhpcyBtdXN0IGJl CiMgYWxzby4KIyBEZWZhdWx0cyB0byB0aGUgc2FtZSB2YWx1ZSBhcyBwZXJtaXNzaW9uc192YWxp ZGl0eV9pbl9tcy4KIyBwZXJtaXNzaW9uc191cGRhdGVfaW50ZXJ2YWxfaW5fbXM6IDIwMDAKCiMg VmFsaWRpdHkgcGVyaW9kIGZvciBjcmVkZW50aWFscyBjYWNoZS4gVGhpcyBjYWNoZSBpcyB0aWdo dGx5IGNvdXBsZWQgdG8KIyB0aGUgcHJvdmlkZWQgUGFzc3dvcmRBdXRoZW50aWNhdG9yIGltcGxl bWVudGF0aW9uIG9mIElBdXRoZW50aWNhdG9yLiBJZgojIGFub3RoZXIgSUF1dGhlbnRpY2F0b3Ig aW1wbGVtZW50YXRpb24gaXMgY29uZmlndXJlZCwgdGhpcyBjYWNoZSB3aWxsIG5vdAojIGJlIGF1 dG9tYXRpY2FsbHkgdXNlZCBhbmQgc28gdGhlIGZvbGxvd2luZyBzZXR0aW5ncyB3aWxsIGhhdmUg bm8gZWZmZWN0LgojIFBsZWFzZSBub3RlLCBjcmVkZW50aWFscyBhcmUgY2FjaGVkIGluIHRoZWly IGVuY3J5cHRlZCBmb3JtLCBzbyB3aGlsZQojIGFjdGl2YXRpbmcgdGhpcyBjYWNoZSBtYXkgcmVk dWNlIHRoZSBudW1iZXIgb2YgcXVlcmllcyBtYWRlIHRvIHRoZQojIHVuZGVybHlpbmcgdGFibGUs IGl0IG1heSBub3QgIGJyaW5nIGEgc2lnbmlmaWNhbnQgcmVkdWN0aW9uIGluIHRoZQojIGxhdGVu Y3kgb2YgaW5kaXZpZHVhbCBhdXRoZW50aWNhdGlvbiBhdHRlbXB0cy4KIyBEZWZhdWx0cyB0byAy MDAwLCBzZXQgdG8gMCB0byBkaXNhYmxlIGNyZWRlbnRpYWxzIGNhY2hpbmcuCmNyZWRlbnRpYWxz X3ZhbGlkaXR5X2luX21zOiAyMDAwCgojIFJlZnJlc2ggaW50ZXJ2YWwgZm9yIGNyZWRlbnRpYWxz IGNhY2hlIChpZiBlbmFibGVkKS4KIyBBZnRlciB0aGlzIGludGVydmFsLCBjYWNoZSBlbnRyaWVz IGJlY29tZSBlbGlnaWJsZSBmb3IgcmVmcmVzaC4gVXBvbiBuZXh0CiMgYWNjZXNzLCBhbiBhc3lu YyByZWxvYWQgaXMgc2NoZWR1bGVkIGFuZCB0aGUgb2xkIHZhbHVlIHJldHVybmVkIHVudGlsIGl0 CiMgY29tcGxldGVzLiBJZiBjcmVkZW50aWFsc192YWxpZGl0eV9pbl9tcyBpcyBub24temVybywg dGhlbiB0aGlzIG11c3QgYmUKIyBhbHNvLgojIERlZmF1bHRzIHRvIHRoZSBzYW1lIHZhbHVlIGFz IGNyZWRlbnRpYWxzX3ZhbGlkaXR5X2luX21zLgojIGNyZWRlbnRpYWxzX3VwZGF0ZV9pbnRlcnZh bF9pbl9tczogMjAwMAoKIyBUaGUgcGFydGl0aW9uZXIgaXMgcmVzcG9uc2libGUgZm9yIGRpc3Ry aWJ1dGluZyBncm91cHMgb2Ygcm93cyAoYnkKIyBwYXJ0aXRpb24ga2V5KSBhY3Jvc3Mgbm9kZXMg aW4gdGhlIGNsdXN0ZXIuICBZb3Ugc2hvdWxkIGxlYXZlIHRoaXMKIyBhbG9uZSBmb3IgbmV3IGNs dXN0ZXJzLiAgVGhlIHBhcnRpdGlvbmVyIGNhbiBOT1QgYmUgY2hhbmdlZCB3aXRob3V0CiMgcmVs b2FkaW5nIGFsbCBkYXRhLCBzbyB3aGVuIHVwZ3JhZGluZyB5b3Ugc2hvdWxkIHNldCB0aGlzIHRv IHRoZQojIHNhbWUgcGFydGl0aW9uZXIgeW91IHdlcmUgYWxyZWFkeSB1c2luZy4KIwojIEJlc2lk ZXMgTXVybXVyM1BhcnRpdGlvbmVyLCBwYXJ0aXRpb25lcnMgaW5jbHVkZWQgZm9yIGJhY2t3YXJk cwojIGNvbXBhdGliaWxpdHkgaW5jbHVkZSBSYW5kb21QYXJ0aXRpb25lciwgQnl0ZU9yZGVyZWRQ YXJ0aXRpb25lciwgYW5kCiMgT3JkZXJQcmVzZXJ2aW5nUGFydGl0aW9uZXIuCiMKcGFydGl0aW9u ZXI6IG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRodC5NdXJtdXIzUGFydGl0aW9uZXIKCiMgRGlyZWN0 b3JpZXMgd2hlcmUgQ2Fzc2FuZHJhIHNob3VsZCBzdG9yZSBkYXRhIG9uIGRpc2suICBDYXNzYW5k cmEKIyB3aWxsIHNwcmVhZCBkYXRhIGV2ZW5seSBhY3Jvc3MgdGhlbSwgc3ViamVjdCB0byB0aGUg Z3JhbnVsYXJpdHkgb2YKIyB0aGUgY29uZmlndXJlZCBjb21wYWN0aW9uIHN0cmF0ZWd5LgojIElm IG5vdCBzZXQsIHRoZSBkZWZhdWx0IGRpcmVjdG9yeSBpcyAkQ0FTU0FORFJBX0hPTUUvZGF0YS9k YXRhLgpkYXRhX2ZpbGVfZGlyZWN0b3JpZXM6IAogIC0gL2RhdGExL2Nhc3NhbmRyYQogIC0gL2Rh dGEyL2Nhc3NhbmRyYQogIC0gL2RhdGEzL2Nhc3NhbmRyYQoKIyBjb21taXQgbG9nLiAgd2hlbiBy dW5uaW5nIG9uIG1hZ25ldGljIEhERCwgdGhpcyBzaG91bGQgYmUgYQojIHNlcGFyYXRlIHNwaW5k bGUgdGhhbiB0aGUgZGF0YSBkaXJlY3Rvcmllcy4KIyBJZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCBk aXJlY3RvcnkgaXMgJENBU1NBTkRSQV9IT01FL2RhdGEvY29tbWl0bG9nLgpjb21taXRsb2dfZGly ZWN0b3J5OiAvdmFyL2xpYi9jYXNzYW5kcmEvY29tbWl0bG9nCgojIHBvbGljeSBmb3IgZGF0YSBk aXNrIGZhaWx1cmVzOgojIGRpZTogc2h1dCBkb3duIGdvc3NpcCBhbmQgY2xpZW50IHRyYW5zcG9y dHMgYW5kIGtpbGwgdGhlIEpWTSBmb3IgYW55IGZzIGVycm9ycyBvcgojICAgICAgc2luZ2xlLXNz dGFibGUgZXJyb3JzLCBzbyB0aGUgbm9kZSBjYW4gYmUgcmVwbGFjZWQuCiMgc3RvcF9wYXJhbm9p ZDogc2h1dCBkb3duIGdvc3NpcCBhbmQgY2xpZW50IHRyYW5zcG9ydHMgZXZlbiBmb3Igc2luZ2xl LXNzdGFibGUgZXJyb3JzLAojICAgICAgICAgICAgICAgIGtpbGwgdGhlIEpWTSBmb3IgZXJyb3Jz IGR1cmluZyBzdGFydHVwLgojIHN0b3A6IHNodXQgZG93biBnb3NzaXAgYW5kIGNsaWVudCB0cmFu c3BvcnRzLCBsZWF2aW5nIHRoZSBub2RlIGVmZmVjdGl2ZWx5IGRlYWQsIGJ1dAojICAgICAgIGNh biBzdGlsbCBiZSBpbnNwZWN0ZWQgdmlhIEpNWCwga2lsbCB0aGUgSlZNIGZvciBlcnJvcnMgZHVy aW5nIHN0YXJ0dXAuCiMgYmVzdF9lZmZvcnQ6IHN0b3AgdXNpbmcgdGhlIGZhaWxlZCBkaXNrIGFu ZCByZXNwb25kIHRvIHJlcXVlc3RzIGJhc2VkIG9uCiMgICAgICAgICAgICAgIHJlbWFpbmluZyBh dmFpbGFibGUgc3N0YWJsZXMuICBUaGlzIG1lYW5zIHlvdSBXSUxMIHNlZSBvYnNvbGV0ZQojICAg ICAgICAgICAgICBkYXRhIGF0IENMLk9ORSEKIyBpZ25vcmU6IGlnbm9yZSBmYXRhbCBlcnJvcnMg YW5kIGxldCByZXF1ZXN0cyBmYWlsLCBhcyBpbiBwcmUtMS4yIENhc3NhbmRyYQpkaXNrX2ZhaWx1 cmVfcG9saWN5OiBzdG9wCgojIHBvbGljeSBmb3IgY29tbWl0IGRpc2sgZmFpbHVyZXM6CiMgZGll OiBzaHV0IGRvd24gZ29zc2lwIGFuZCBUaHJpZnQgYW5kIGtpbGwgdGhlIEpWTSwgc28gdGhlIG5v ZGUgY2FuIGJlIHJlcGxhY2VkLgojIHN0b3A6IHNodXQgZG93biBnb3NzaXAgYW5kIFRocmlmdCwg bGVhdmluZyB0aGUgbm9kZSBlZmZlY3RpdmVseSBkZWFkLCBidXQKIyAgICAgICBjYW4gc3RpbGwg YmUgaW5zcGVjdGVkIHZpYSBKTVguCiMgc3RvcF9jb21taXQ6IHNodXRkb3duIHRoZSBjb21taXQg bG9nLCBsZXR0aW5nIHdyaXRlcyBjb2xsZWN0IGJ1dAojICAgICAgICAgICAgICBjb250aW51aW5n IHRvIHNlcnZpY2UgcmVhZHMsIGFzIGluIHByZS0yLjAuNSBDYXNzYW5kcmEKIyBpZ25vcmU6IGln bm9yZSBmYXRhbCBlcnJvcnMgYW5kIGxldCB0aGUgYmF0Y2hlcyBmYWlsCmNvbW1pdF9mYWlsdXJl X3BvbGljeTogc3RvcAoKIyBNYXhpbXVtIHNpemUgb2YgdGhlIG5hdGl2ZSBwcm90b2NvbCBwcmVw YXJlZCBzdGF0ZW1lbnQgY2FjaGUKIwojIFZhbGlkIHZhbHVlcyBhcmUgZWl0aGVyICJhdXRvIiAo b21pdHRpbmcgdGhlIHZhbHVlKSBvciBhIHZhbHVlIGdyZWF0ZXIgMC4KIwojIE5vdGUgdGhhdCBz cGVjaWZ5aW5nIGEgdG9vIGxhcmdlIHZhbHVlIHdpbGwgcmVzdWx0IGluIGxvbmcgcnVubmluZyBH Q3MgYW5kIHBvc3NiaWx5CiMgb3V0LW9mLW1lbW9yeSBlcnJvcnMuIEtlZXAgdGhlIHZhbHVlIGF0 IGEgc21hbGwgZnJhY3Rpb24gb2YgdGhlIGhlYXAuCiMKIyBJZiB5b3UgY29uc3RhbnRseSBzZWUg InByZXBhcmVkIHN0YXRlbWVudHMgZGlzY2FyZGVkIGluIHRoZSBsYXN0IG1pbnV0ZSBiZWNhdXNl CiMgY2FjaGUgbGltaXQgcmVhY2hlZCIgbWVzc2FnZXMsIHRoZSBmaXJzdCBzdGVwIGlzIHRvIGlu dmVzdGlnYXRlIHRoZSByb290IGNhdXNlCiMgb2YgdGhlc2UgbWVzc2FnZXMgYW5kIGNoZWNrIHdo ZXRoZXIgcHJlcGFyZWQgc3RhdGVtZW50cyBhcmUgdXNlZCBjb3JyZWN0bHkgLQojIGkuZS4gdXNl IGJpbmQgbWFya2VycyBmb3IgdmFyaWFibGUgcGFydHMuCiMKIyBEbyBvbmx5IGNoYW5nZSB0aGUg ZGVmYXVsdCB2YWx1ZSwgaWYgeW91IHJlYWxseSBoYXZlIG1vcmUgcHJlcGFyZWQgc3RhdGVtZW50 cyB0aGFuCiMgZml0IGluIHRoZSBjYWNoZS4gSW4gbW9zdCBjYXNlcyBpdCBpcyBub3QgbmVjY2Vz c2FyeSB0byBjaGFuZ2UgdGhpcyB2YWx1ZS4KIyBDb25zdGFudGx5IHJlLXByZXBhcmluZyBzdGF0 ZW1lbnRzIGlzIGEgcGVyZm9ybWFuY2UgcGVuYWx0eS4KIwojIERlZmF1bHQgdmFsdWUgKCJhdXRv IikgaXMgMS8yNTZ0aCBvZiB0aGUgaGVhcCBvciAxME1CLCB3aGljaGV2ZXIgaXMgZ3JlYXRlcgpw cmVwYXJlZF9zdGF0ZW1lbnRzX2NhY2hlX3NpemVfbWI6CgojIE1heGltdW0gc2l6ZSBvZiB0aGUg VGhyaWZ0IHByZXBhcmVkIHN0YXRlbWVudCBjYWNoZQojCiMgSWYgeW91IGRvIG5vdCB1c2UgVGhy aWZ0IGF0IGFsbCwgaXQgaXMgc2FmZSB0byBsZWF2ZSB0aGlzIHZhbHVlIGF0ICJhdXRvIi4KIwoj IFNlZSBkZXNjcmlwdGlvbiBvZiAncHJlcGFyZWRfc3RhdGVtZW50c19jYWNoZV9zaXplX21iJyBh Ym92ZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIwojIERlZmF1bHQgdmFsdWUgKCJhdXRvIikgaXMg MS8yNTZ0aCBvZiB0aGUgaGVhcCBvciAxME1CLCB3aGljaGV2ZXIgaXMgZ3JlYXRlcgp0aHJpZnRf cHJlcGFyZWRfc3RhdGVtZW50c19jYWNoZV9zaXplX21iOgoKIyBNYXhpbXVtIHNpemUgb2YgdGhl IGtleSBjYWNoZSBpbiBtZW1vcnkuCiMKIyBFYWNoIGtleSBjYWNoZSBoaXQgc2F2ZXMgMSBzZWVr IGFuZCBlYWNoIHJvdyBjYWNoZSBoaXQgc2F2ZXMgMiBzZWVrcyBhdCB0aGUKIyBtaW5pbXVtLCBz b21ldGltZXMgbW9yZS4gVGhlIGtleSBjYWNoZSBpcyBmYWlybHkgdGlueSBmb3IgdGhlIGFtb3Vu dCBvZgojIHRpbWUgaXQgc2F2ZXMsIHNvIGl0J3Mgd29ydGh3aGlsZSB0byB1c2UgaXQgYXQgbGFy Z2UgbnVtYmVycy4KIyBUaGUgcm93IGNhY2hlIHNhdmVzIGV2ZW4gbW9yZSB0aW1lLCBidXQgbXVz dCBjb250YWluIHRoZSBlbnRpcmUgcm93LAojIHNvIGl0IGlzIGV4dHJlbWVseSBzcGFjZS1pbnRl bnNpdmUuIEl0J3MgYmVzdCB0byBvbmx5IHVzZSB0aGUKIyByb3cgY2FjaGUgaWYgeW91IGhhdmUg aG90IHJvd3Mgb3Igc3RhdGljIHJvd3MuCiMKIyBOT1RFOiBpZiB5b3UgcmVkdWNlIHRoZSBzaXpl LCB5b3UgbWF5IG5vdCBnZXQgeW91IGhvdHRlc3Qga2V5cyBsb2FkZWQgb24gc3RhcnR1cC4KIwoj IERlZmF1bHQgdmFsdWUgaXMgZW1wdHkgdG8gbWFrZSBpdCAiYXV0byIgKG1pbig1JSBvZiBIZWFw IChpbiBNQiksIDEwME1CKSkuIFNldCB0byAwIHRvIGRpc2FibGUga2V5IGNhY2hlLgprZXlfY2Fj aGVfc2l6ZV9pbl9tYjoKCiMgRHVyYXRpb24gaW4gc2Vjb25kcyBhZnRlciB3aGljaCBDYXNzYW5k cmEgc2hvdWxkCiMgc2F2ZSB0aGUga2V5IGNhY2hlLiBDYWNoZXMgYXJlIHNhdmVkIHRvIHNhdmVk X2NhY2hlc19kaXJlY3RvcnkgYXMKIyBzcGVjaWZpZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uIGZp bGUuCiMKIyBTYXZlZCBjYWNoZXMgZ3JlYXRseSBpbXByb3ZlIGNvbGQtc3RhcnQgc3BlZWRzLCBh bmQgaXMgcmVsYXRpdmVseSBjaGVhcCBpbgojIHRlcm1zIG9mIEkvTyBmb3IgdGhlIGtleSBjYWNo ZS4gUm93IGNhY2hlIHNhdmluZyBpcyBtdWNoIG1vcmUgZXhwZW5zaXZlIGFuZAojIGhhcyBsaW1p dGVkIHVzZS4KIwojIERlZmF1bHQgaXMgMTQ0MDAgb3IgNCBob3Vycy4Ka2V5X2NhY2hlX3NhdmVf cGVyaW9kOiAxNDQwMAoKIyBOdW1iZXIgb2Yga2V5cyBmcm9tIHRoZSBrZXkgY2FjaGUgdG8gc2F2 ZQojIERpc2FibGVkIGJ5IGRlZmF1bHQsIG1lYW5pbmcgYWxsIGtleXMgYXJlIGdvaW5nIHRvIGJl IHNhdmVkCiMga2V5X2NhY2hlX2tleXNfdG9fc2F2ZTogMTAwCgojIFJvdyBjYWNoZSBpbXBsZW1l bnRhdGlvbiBjbGFzcyBuYW1lLgojIEF2YWlsYWJsZSBpbXBsZW1lbnRhdGlvbnM6CiMgICBvcmcu YXBhY2hlLmNhc3NhbmRyYS5jYWNoZS5PSENQcm92aWRlciAgICAgICAgICAgICAgICBGdWxseSBv ZmYtaGVhcCByb3cgY2FjaGUgaW1wbGVtZW50YXRpb24gKGRlZmF1bHQpLgojICAgb3JnLmFwYWNo ZS5jYXNzYW5kcmEuY2FjaGUuU2VyaWFsaXppbmdDYWNoZVByb3ZpZGVyICAgVGhpcyBpcyB0aGUg cm93IGNhY2hlIGltcGxlbWVudGF0aW9uIGF2YWlsYWJpbGUKIyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHByZXZpb3VzIHJlbGVhc2Vz IG9mIENhc3NhbmRyYS4KIyByb3dfY2FjaGVfY2xhc3NfbmFtZTogb3JnLmFwYWNoZS5jYXNzYW5k cmEuY2FjaGUuT0hDUHJvdmlkZXIKCiMgTWF4aW11bSBzaXplIG9mIHRoZSByb3cgY2FjaGUgaW4g bWVtb3J5LgojIFBsZWFzZSBub3RlIHRoYXQgT0hDIGNhY2hlIGltcGxlbWVudGF0aW9uIHJlcXVp cmVzIHNvbWUgYWRkaXRpb25hbCBvZmYtaGVhcCBtZW1vcnkgdG8gbWFuYWdlCiMgdGhlIG1hcCBz dHJ1Y3R1cmVzIGFuZCBzb21lIGluLWZsaWdodCBtZW1vcnkgZHVyaW5nIG9wZXJhdGlvbnMgYmVm b3JlL2FmdGVyIGNhY2hlIGVudHJpZXMgY2FuIGJlCiMgYWNjb3VudGVkIGFnYWluc3QgdGhlIGNh Y2hlIGNhcGFjaXR5LiBUaGlzIG92ZXJoZWFkIGlzIHVzdWFsbHkgc21hbGwgY29tcGFyZWQgdG8g dGhlIHdob2xlIGNhcGFjaXR5LgojIERvIG5vdCBzcGVjaWZ5IG1vcmUgbWVtb3J5IHRoYXQgdGhl IHN5c3RlbSBjYW4gYWZmb3JkIGluIHRoZSB3b3JzdCB1c3VhbCBzaXR1YXRpb24gYW5kIGxlYXZl IHNvbWUKIyBoZWFkcm9vbSBmb3IgT1MgYmxvY2sgbGV2ZWwgY2FjaGUuIERvIG5ldmVyIGFsbG93 IHlvdXIgc3lzdGVtIHRvIHN3YXAuCiMKIyBEZWZhdWx0IHZhbHVlIGlzIDAsIHRvIGRpc2FibGUg cm93IGNhY2hpbmcuCnJvd19jYWNoZV9zaXplX2luX21iOiAwCgojIER1cmF0aW9uIGluIHNlY29u ZHMgYWZ0ZXIgd2hpY2ggQ2Fzc2FuZHJhIHNob3VsZCBzYXZlIHRoZSByb3cgY2FjaGUuCiMgQ2Fj aGVzIGFyZSBzYXZlZCB0byBzYXZlZF9jYWNoZXNfZGlyZWN0b3J5IGFzIHNwZWNpZmllZCBpbiB0 aGlzIGNvbmZpZ3VyYXRpb24gZmlsZS4KIwojIFNhdmVkIGNhY2hlcyBncmVhdGx5IGltcHJvdmUg Y29sZC1zdGFydCBzcGVlZHMsIGFuZCBpcyByZWxhdGl2ZWx5IGNoZWFwIGluCiMgdGVybXMgb2Yg SS9PIGZvciB0aGUga2V5IGNhY2hlLiBSb3cgY2FjaGUgc2F2aW5nIGlzIG11Y2ggbW9yZSBleHBl bnNpdmUgYW5kCiMgaGFzIGxpbWl0ZWQgdXNlLgojCiMgRGVmYXVsdCBpcyAwIHRvIGRpc2FibGUg c2F2aW5nIHRoZSByb3cgY2FjaGUuCnJvd19jYWNoZV9zYXZlX3BlcmlvZDogMAoKIyBOdW1iZXIg b2Yga2V5cyBmcm9tIHRoZSByb3cgY2FjaGUgdG8gc2F2ZS4KIyBTcGVjaWZ5IDAgKHdoaWNoIGlz IHRoZSBkZWZhdWx0KSwgbWVhbmluZyBhbGwga2V5cyBhcmUgZ29pbmcgdG8gYmUgc2F2ZWQKIyBy b3dfY2FjaGVfa2V5c190b19zYXZlOiAxMDAKCiMgTWF4aW11bSBzaXplIG9mIHRoZSBjb3VudGVy IGNhY2hlIGluIG1lbW9yeS4KIwojIENvdW50ZXIgY2FjaGUgaGVscHMgdG8gcmVkdWNlIGNvdW50 ZXIgbG9ja3MnIGNvbnRlbnRpb24gZm9yIGhvdCBjb3VudGVyIGNlbGxzLgojIEluIGNhc2Ugb2Yg UkYgPSAxIGEgY291bnRlciBjYWNoZSBoaXQgd2lsbCBjYXVzZSBDYXNzYW5kcmEgdG8gc2tpcCB0 aGUgcmVhZCBiZWZvcmUKIyB3cml0ZSBlbnRpcmVseS4gV2l0aCBSRiA+IDEgYSBjb3VudGVyIGNh Y2hlIGhpdCB3aWxsIHN0aWxsIGhlbHAgdG8gcmVkdWNlIHRoZSBkdXJhdGlvbgojIG9mIHRoZSBs b2NrIGhvbGQsIGhlbHBpbmcgd2l0aCBob3QgY291bnRlciBjZWxsIHVwZGF0ZXMsIGJ1dCB3aWxs IG5vdCBhbGxvdyBza2lwcGluZwojIHRoZSByZWFkIGVudGlyZWx5LiBPbmx5IHRoZSBsb2NhbCAo Y2xvY2ssIGNvdW50KSB0dXBsZSBvZiBhIGNvdW50ZXIgY2VsbCBpcyBrZXB0CiMgaW4gbWVtb3J5 LCBub3QgdGhlIHdob2xlIGNvdW50ZXIsIHNvIGl0J3MgcmVsYXRpdmVseSBjaGVhcC4KIwojIE5P VEU6IGlmIHlvdSByZWR1Y2UgdGhlIHNpemUsIHlvdSBtYXkgbm90IGdldCB5b3UgaG90dGVzdCBr ZXlzIGxvYWRlZCBvbiBzdGFydHVwLgojCiMgRGVmYXVsdCB2YWx1ZSBpcyBlbXB0eSB0byBtYWtl IGl0ICJhdXRvIiAobWluKDIuNSUgb2YgSGVhcCAoaW4gTUIpLCA1ME1CKSkuIFNldCB0byAwIHRv IGRpc2FibGUgY291bnRlciBjYWNoZS4KIyBOT1RFOiBpZiB5b3UgcGVyZm9ybSBjb3VudGVyIGRl bGV0ZXMgYW5kIHJlbHkgb24gbG93IGdjZ3MsIHlvdSBzaG91bGQgZGlzYWJsZSB0aGUgY291bnRl ciBjYWNoZS4KY291bnRlcl9jYWNoZV9zaXplX2luX21iOgoKIyBEdXJhdGlvbiBpbiBzZWNvbmRz IGFmdGVyIHdoaWNoIENhc3NhbmRyYSBzaG91bGQKIyBzYXZlIHRoZSBjb3VudGVyIGNhY2hlIChr ZXlzIG9ubHkpLiBDYWNoZXMgYXJlIHNhdmVkIHRvIHNhdmVkX2NhY2hlc19kaXJlY3RvcnkgYXMK IyBzcGVjaWZpZWQgaW4gdGhpcyBjb25maWd1cmF0aW9uIGZpbGUuCiMKIyBEZWZhdWx0IGlzIDcy MDAgb3IgMiBob3Vycy4KY291bnRlcl9jYWNoZV9zYXZlX3BlcmlvZDogNzIwMAoKIyBOdW1iZXIg b2Yga2V5cyBmcm9tIHRoZSBjb3VudGVyIGNhY2hlIHRvIHNhdmUKIyBEaXNhYmxlZCBieSBkZWZh dWx0LCBtZWFuaW5nIGFsbCBrZXlzIGFyZSBnb2luZyB0byBiZSBzYXZlZAojIGNvdW50ZXJfY2Fj aGVfa2V5c190b19zYXZlOiAxMDAKCiMgc2F2ZWQgY2FjaGVzCiMgSWYgbm90IHNldCwgdGhlIGRl ZmF1bHQgZGlyZWN0b3J5IGlzICRDQVNTQU5EUkFfSE9NRS9kYXRhL3NhdmVkX2NhY2hlcy4Kc2F2 ZWRfY2FjaGVzX2RpcmVjdG9yeTogL3Zhci9saWIvY2Fzc2FuZHJhL3NhdmVkX2NhY2hlcwoKIyBj b21taXRsb2dfc3luYyBtYXkgYmUgZWl0aGVyICJwZXJpb2RpYyIgb3IgImJhdGNoLiIgCiMgCiMg V2hlbiBpbiBiYXRjaCBtb2RlLCBDYXNzYW5kcmEgd29uJ3QgYWNrIHdyaXRlcyB1bnRpbCB0aGUg Y29tbWl0IGxvZwojIGhhcyBiZWVuIGZzeW5jZWQgdG8gZGlzay4gIEl0IHdpbGwgd2FpdAojIGNv bW1pdGxvZ19zeW5jX2JhdGNoX3dpbmRvd19pbl9tcyBtaWxsaXNlY29uZHMgYmV0d2VlbiBmc3lu Y3MuCiMgVGhpcyB3aW5kb3cgc2hvdWxkIGJlIGtlcHQgc2hvcnQgYmVjYXVzZSB0aGUgd3JpdGVy IHRocmVhZHMgd2lsbAojIGJlIHVuYWJsZSB0byBkbyBleHRyYSB3b3JrIHdoaWxlIHdhaXRpbmcu ICAoWW91IG1heSBuZWVkIHRvIGluY3JlYXNlCiMgY29uY3VycmVudF93cml0ZXMgZm9yIHRoZSBz YW1lIHJlYXNvbi4pCiMKIyBjb21taXRsb2dfc3luYzogYmF0Y2gKIyBjb21taXRsb2dfc3luY19i YXRjaF93aW5kb3dfaW5fbXM6IDIKIwojIHRoZSBvdGhlciBvcHRpb24gaXMgInBlcmlvZGljIiB3 aGVyZSB3cml0ZXMgbWF5IGJlIGFja2VkIGltbWVkaWF0ZWx5CiMgYW5kIHRoZSBDb21taXRMb2cg aXMgc2ltcGx5IHN5bmNlZCBldmVyeSBjb21taXRsb2dfc3luY19wZXJpb2RfaW5fbXMKIyBtaWxs aXNlY29uZHMuIApjb21taXRsb2dfc3luYzogcGVyaW9kaWMKY29tbWl0bG9nX3N5bmNfcGVyaW9k X2luX21zOiAxMDAwMAoKIyBUaGUgc2l6ZSBvZiB0aGUgaW5kaXZpZHVhbCBjb21taXRsb2cgZmls ZSBzZWdtZW50cy4gIEEgY29tbWl0bG9nCiMgc2VnbWVudCBtYXkgYmUgYXJjaGl2ZWQsIGRlbGV0 ZWQsIG9yIHJlY3ljbGVkIG9uY2UgYWxsIHRoZSBkYXRhCiMgaW4gaXQgKHBvdGVudGlhbGx5IGZy b20gZWFjaCBjb2x1bW5mYW1pbHkgaW4gdGhlIHN5c3RlbSkgaGFzIGJlZW4KIyBmbHVzaGVkIHRv IHNzdGFibGVzLgojCiMgVGhlIGRlZmF1bHQgc2l6ZSBpcyAzMiwgd2hpY2ggaXMgYWxtb3N0IGFs d2F5cyBmaW5lLCBidXQgaWYgeW91IGFyZQojIGFyY2hpdmluZyBjb21taXRsb2cgc2VnbWVudHMg KHNlZSBjb21taXRsb2dfYXJjaGl2aW5nLnByb3BlcnRpZXMpLAojIHRoZW4geW91IHByb2JhYmx5 IHdhbnQgYSBmaW5lciBncmFudWxhcml0eSBvZiBhcmNoaXZpbmc7IDggb3IgMTYgTUIKIyBpcyBy ZWFzb25hYmxlLgojIE1heCBtdXRhdGlvbiBzaXplIGlzIGFsc28gY29uZmlndXJhYmxlIHZpYSBt YXhfbXV0YXRpb25fc2l6ZV9pbl9rYiBzZXR0aW5nIGluCiMgY2Fzc2FuZHJhLnlhbWwuIFRoZSBk ZWZhdWx0IGlzIGhhbGYgdGhlIHNpemUgY29tbWl0bG9nX3NlZ21lbnRfc2l6ZV9pbl9tYiAqIDEw MjQuCiMKIyBOT1RFOiBJZiBtYXhfbXV0YXRpb25fc2l6ZV9pbl9rYiBpcyBzZXQgZXhwbGljaXRs eSB0aGVuIGNvbW1pdGxvZ19zZWdtZW50X3NpemVfaW5fbWIgbXVzdAojIGJlIHNldCB0byBhdCBs ZWFzdCB0d2ljZSB0aGUgc2l6ZSBvZiBtYXhfbXV0YXRpb25fc2l6ZV9pbl9rYiAvIDEwMjQKIwpj b21taXRsb2dfc2VnbWVudF9zaXplX2luX21iOiAzMgoKIyBDb21wcmVzc2lvbiB0byBhcHBseSB0 byB0aGUgY29tbWl0IGxvZy4gSWYgb21pdHRlZCwgdGhlIGNvbW1pdCBsb2cKIyB3aWxsIGJlIHdy aXR0ZW4gdW5jb21wcmVzc2VkLiAgTFo0LCBTbmFwcHksIGFuZCBEZWZsYXRlIGNvbXByZXNzb3Jz CiMgYXJlIHN1cHBvcnRlZC4KI2NvbW1pdGxvZ19jb21wcmVzc2lvbjoKIyAgIC0gY2xhc3NfbmFt ZTogTFo0Q29tcHJlc3NvcgojICAgICBwYXJhbWV0ZXJzOgojICAgICAgICAgLQoKIyBhbnkgY2xh c3MgdGhhdCBpbXBsZW1lbnRzIHRoZSBTZWVkUHJvdmlkZXIgaW50ZXJmYWNlIGFuZCBoYXMgYQoj IGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYSBNYXA8U3RyaW5nLCBTdHJpbmc+IG9mIHBhcmFtZXRl cnMgd2lsbCBkby4Kc2VlZF9wcm92aWRlcjoKICAgICMgQWRkcmVzc2VzIG9mIGhvc3RzIHRoYXQg YXJlIGRlZW1lZCBjb250YWN0IHBvaW50cy4gCiAgICAjIENhc3NhbmRyYSBub2RlcyB1c2UgdGhp cyBsaXN0IG9mIGhvc3RzIHRvIGZpbmQgZWFjaCBvdGhlciBhbmQgbGVhcm4KICAgICMgdGhlIHRv cG9sb2d5IG9mIHRoZSByaW5nLiAgWW91IG11c3QgY2hhbmdlIHRoaXMgaWYgeW91IGFyZSBydW5u aW5nCiAgICAjIG11bHRpcGxlIG5vZGVzIQogICAgLSBjbGFzc19uYW1lOiBvcmcuYXBhY2hlLmNh c3NhbmRyYS5sb2NhdG9yLlNpbXBsZVNlZWRQcm92aWRlcgogICAgICBwYXJhbWV0ZXJzOgogICAg ICAgICAgIyBzZWVkcyBpcyBhY3R1YWxseSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0IG9mIGFkZHJl c3Nlcy4KICAgICAgICAgICMgRXg6ICI8aXAxPiw8aXAyPiw8aXAzPiIKICAgICAgICAgIC0gc2Vl ZHM6ICcxNzIuMTguMC4yNiwxNzIuMTguMC4yNywxNzIuMTguMC4yOCcKCiMgRm9yIHdvcmtsb2Fk cyB3aXRoIG1vcmUgZGF0YSB0aGFuIGNhbiBmaXQgaW4gbWVtb3J5LCBDYXNzYW5kcmEncwojIGJv dHRsZW5lY2sgd2lsbCBiZSByZWFkcyB0aGF0IG5lZWQgdG8gZmV0Y2ggZGF0YSBmcm9tCiMgZGlz ay4gImNvbmN1cnJlbnRfcmVhZHMiIHNob3VsZCBiZSBzZXQgdG8gKDE2ICogbnVtYmVyX29mX2Ry aXZlcykgaW4KIyBvcmRlciB0byBhbGxvdyB0aGUgb3BlcmF0aW9ucyB0byBlbnF1ZXVlIGxvdyBl bm91Z2ggaW4gdGhlIHN0YWNrCiMgdGhhdCB0aGUgT1MgYW5kIGRyaXZlcyBjYW4gcmVvcmRlciB0 aGVtLiBTYW1lIGFwcGxpZXMgdG8KIyAiY29uY3VycmVudF9jb3VudGVyX3dyaXRlcyIsIHNpbmNl IGNvdW50ZXIgd3JpdGVzIHJlYWQgdGhlIGN1cnJlbnQKIyB2YWx1ZXMgYmVmb3JlIGluY3JlbWVu dGluZyBhbmQgd3JpdGluZyB0aGVtIGJhY2suCiMKIyBPbiB0aGUgb3RoZXIgaGFuZCwgc2luY2Ug d3JpdGVzIGFyZSBhbG1vc3QgbmV2ZXIgSU8gYm91bmQsIHRoZSBpZGVhbAojIG51bWJlciBvZiAi Y29uY3VycmVudF93cml0ZXMiIGlzIGRlcGVuZGVudCBvbiB0aGUgbnVtYmVyIG9mIGNvcmVzIGlu CiMgeW91ciBzeXN0ZW07ICg4ICogbnVtYmVyX29mX2NvcmVzKSBpcyBhIGdvb2QgcnVsZSBvZiB0 aHVtYi4KY29uY3VycmVudF9yZWFkczogMzIKY29uY3VycmVudF93cml0ZXM6IDMyCmNvbmN1cnJl bnRfY291bnRlcl93cml0ZXM6IDMyCgojIEZvciBtYXRlcmlhbGl6ZWQgdmlldyB3cml0ZXMsIGFz IHRoZXJlIGlzIGEgcmVhZCBpbnZvbHZlZCwgc28gdGhpcyBzaG91bGQKIyBiZSBsaW1pdGVkIGJ5 IHRoZSBsZXNzIG9mIGNvbmN1cnJlbnQgcmVhZHMgb3IgY29uY3VycmVudCB3cml0ZXMuCmNvbmN1 cnJlbnRfbWF0ZXJpYWxpemVkX3ZpZXdfd3JpdGVzOiAzMgoKIyBNYXhpbXVtIG1lbW9yeSB0byB1 c2UgZm9yIHNzdGFibGUgY2h1bmsgY2FjaGUgYW5kIGJ1ZmZlciBwb29saW5nLgojIDMyTUIgb2Yg dGhpcyBhcmUgcmVzZXJ2ZWQgZm9yIHBvb2xpbmcgYnVmZmVycywgdGhlIHJlc3QgaXMgdXNlZCBh cyBhbgojIGNhY2hlIHRoYXQgaG9sZHMgdW5jb21wcmVzc2VkIHNzdGFibGUgY2h1bmtzLgojIERl ZmF1bHRzIHRvIHRoZSBzbWFsbGVyIG9mIDEvNCBvZiBoZWFwIG9yIDUxMk1CLiBUaGlzIHBvb2wg aXMgYWxsb2NhdGVkIG9mZi1oZWFwLAojIHNvIGlzIGluIGFkZGl0aW9uIHRvIHRoZSBtZW1vcnkg YWxsb2NhdGVkIGZvciBoZWFwLiBUaGUgY2FjaGUgYWxzbyBoYXMgb24taGVhcAojIG92ZXJoZWFk IHdoaWNoIGlzIHJvdWdobHkgMTI4IGJ5dGVzIHBlciBjaHVuayAoaS5lLiAwLjIlIG9mIHRoZSBy ZXNlcnZlZCBzaXplCiMgaWYgdGhlIGRlZmF1bHQgNjRrIGNodW5rIHNpemUgaXMgdXNlZCkuCiMg TWVtb3J5IGlzIG9ubHkgYWxsb2NhdGVkIHdoZW4gbmVlZGVkLgojIGZpbGVfY2FjaGVfc2l6ZV9p bl9tYjogNTEyCgojIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIGFsbG9jYXRlIG9uIG9yIG9m ZiBoZWFwIHdoZW4gdGhlIHNzdGFibGUgYnVmZmVyCiMgcG9vbCBpcyBleGhhdXN0ZWQsIHRoYXQg aXMgd2hlbiBpdCBoYXMgZXhjZWVkZWQgdGhlIG1heGltdW0gbWVtb3J5CiMgZmlsZV9jYWNoZV9z aXplX2luX21iLCBiZXlvbmQgd2hpY2ggaXQgd2lsbCBub3QgY2FjaGUgYnVmZmVycyBidXQgYWxs b2NhdGUgb24gcmVxdWVzdC4KCiMgYnVmZmVyX3Bvb2xfdXNlX2hlYXBfaWZfZXhoYXVzdGVkOiB0 cnVlCgojIFRoZSBzdHJhdGVneSBmb3Igb3B0aW1pemluZyBkaXNrIHJlYWQKIyBQb3NzaWJsZSB2 YWx1ZXMgYXJlOgojIHNzZCAoZm9yIHNvbGlkIHN0YXRlIGRpc2tzLCB0aGUgZGVmYXVsdCkKIyBz cGlubmluZyAoZm9yIHNwaW5uaW5nIGRpc2tzKQojIGRpc2tfb3B0aW1pemF0aW9uX3N0cmF0ZWd5 OiBzc2QKCiMgVG90YWwgcGVybWl0dGVkIG1lbW9yeSB0byB1c2UgZm9yIG1lbXRhYmxlcy4gQ2Fz c2FuZHJhIHdpbGwgc3RvcAojIGFjY2VwdGluZyB3cml0ZXMgd2hlbiB0aGUgbGltaXQgaXMgZXhj ZWVkZWQgdW50aWwgYSBmbHVzaCBjb21wbGV0ZXMsCiMgYW5kIHdpbGwgdHJpZ2dlciBhIGZsdXNo IGJhc2VkIG9uIG1lbXRhYmxlX2NsZWFudXBfdGhyZXNob2xkCiMgSWYgb21pdHRlZCwgQ2Fzc2Fu ZHJhIHdpbGwgc2V0IGJvdGggdG8gMS80IHRoZSBzaXplIG9mIHRoZSBoZWFwLgojIG1lbXRhYmxl X2hlYXBfc3BhY2VfaW5fbWI6IDIwNDgKIyBtZW10YWJsZV9vZmZoZWFwX3NwYWNlX2luX21iOiAy MDQ4CgojIFJhdGlvIG9mIG9jY3VwaWVkIG5vbi1mbHVzaGluZyBtZW10YWJsZSBzaXplIHRvIHRv dGFsIHBlcm1pdHRlZCBzaXplCiMgdGhhdCB3aWxsIHRyaWdnZXIgYSBmbHVzaCBvZiB0aGUgbGFy Z2VzdCBtZW10YWJsZS4gTGFyZ2VyIG1jdCB3aWxsCiMgbWVhbiBsYXJnZXIgZmx1c2hlcyBhbmQg aGVuY2UgbGVzcyBjb21wYWN0aW9uLCBidXQgYWxzbyBsZXNzIGNvbmN1cnJlbnQKIyBmbHVzaCBh Y3Rpdml0eSB3aGljaCBjYW4gbWFrZSBpdCBkaWZmaWN1bHQgdG8ga2VlcCB5b3VyIGRpc2tzIGZl ZAojIHVuZGVyIGhlYXZ5IHdyaXRlIGxvYWQuCiMKIyBtZW10YWJsZV9jbGVhbnVwX3RocmVzaG9s ZCBkZWZhdWx0cyB0byAxIC8gKG1lbXRhYmxlX2ZsdXNoX3dyaXRlcnMgKyAxKQojIG1lbXRhYmxl X2NsZWFudXBfdGhyZXNob2xkOiAwLjExCgojIFNwZWNpZnkgdGhlIHdheSBDYXNzYW5kcmEgYWxs b2NhdGVzIGFuZCBtYW5hZ2VzIG1lbXRhYmxlIG1lbW9yeS4KIyBPcHRpb25zIGFyZToKIyAgIGhl YXBfYnVmZmVyczogICAgb24gaGVhcCBuaW8gYnVmZmVycwojICAgb2ZmaGVhcF9idWZmZXJzOiBv ZmYgaGVhcCAoZGlyZWN0KSBuaW8gYnVmZmVycwojICAgb2ZmaGVhcF9vYmplY3RzOiBvZmYgaGVh cCBvYmplY3RzCm1lbXRhYmxlX2FsbG9jYXRpb25fdHlwZTogaGVhcF9idWZmZXJzCgojIFRvdGFs IHNwYWNlIHRvIHVzZSBmb3IgY29tbWl0IGxvZ3Mgb24gZGlzay4KIwojIElmIHNwYWNlIGdldHMg YWJvdmUgdGhpcyB2YWx1ZSwgQ2Fzc2FuZHJhIHdpbGwgZmx1c2ggZXZlcnkgZGlydHkgQ0YKIyBp biB0aGUgb2xkZXN0IHNlZ21lbnQgYW5kIHJlbW92ZSBpdC4gIFNvIGEgc21hbGwgdG90YWwgY29t bWl0bG9nIHNwYWNlCiMgd2lsbCB0ZW5kIHRvIGNhdXNlIG1vcmUgZmx1c2ggYWN0aXZpdHkgb24g bGVzcy1hY3RpdmUgY29sdW1uZmFtaWxpZXMuCiMKIyBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0aGUg c21hbGxlciBvZiA4MTkyLCBhbmQgMS80IG9mIHRoZSB0b3RhbCBzcGFjZQojIG9mIHRoZSBjb21t aXRsb2cgdm9sdW1lLgojCiMgY29tbWl0bG9nX3RvdGFsX3NwYWNlX2luX21iOiA4MTkyCgojIFRo aXMgc2V0cyB0aGUgYW1vdW50IG9mIG1lbXRhYmxlIGZsdXNoIHdyaXRlciB0aHJlYWRzLiAgVGhl c2Ugd2lsbAojIGJlIGJsb2NrZWQgYnkgZGlzayBpbywgYW5kIGVhY2ggb25lIHdpbGwgaG9sZCBh IG1lbXRhYmxlIGluIG1lbW9yeQojIHdoaWxlIGJsb2NrZWQuCiMKIyBtZW10YWJsZV9mbHVzaF93 cml0ZXJzIGRlZmF1bHRzIHRvIG9uZSBwZXIgZGF0YV9maWxlX2RpcmVjdG9yeS4KIwojIElmIHlv dXIgZGF0YSBkaXJlY3RvcmllcyBhcmUgYmFja2VkIGJ5IFNTRCwgeW91IGNhbiBpbmNyZWFzZSB0 aGlzLCBidXQKIyBhdm9pZCBoYXZpbmcgbWVtdGFibGVfZmx1c2hfd3JpdGVycyAqIGRhdGFfZmls ZV9kaXJlY3RvcmllcyA+IG51bWJlciBvZiBjb3JlcwojbWVtdGFibGVfZmx1c2hfd3JpdGVyczog MQoKIyBBIGZpeGVkIG1lbW9yeSBwb29sIHNpemUgaW4gTUIgZm9yIGZvciBTU1RhYmxlIGluZGV4 IHN1bW1hcmllcy4gSWYgbGVmdAojIGVtcHR5LCB0aGlzIHdpbGwgZGVmYXVsdCB0byA1JSBvZiB0 aGUgaGVhcCBzaXplLiBJZiB0aGUgbWVtb3J5IHVzYWdlIG9mCiMgYWxsIGluZGV4IHN1bW1hcmll cyBleGNlZWRzIHRoaXMgbGltaXQsIFNTVGFibGVzIHdpdGggbG93IHJlYWQgcmF0ZXMgd2lsbAoj IHNocmluayB0aGVpciBpbmRleCBzdW1tYXJpZXMgaW4gb3JkZXIgdG8gbWVldCB0aGlzIGxpbWl0 LiAgSG93ZXZlciwgdGhpcwojIGlzIGEgYmVzdC1lZmZvcnQgcHJvY2Vzcy4gSW4gZXh0cmVtZSBj b25kaXRpb25zIENhc3NhbmRyYSBtYXkgbmVlZCB0byB1c2UKIyBtb3JlIHRoYW4gdGhpcyBhbW91 bnQgb2YgbWVtb3J5LgppbmRleF9zdW1tYXJ5X2NhcGFjaXR5X2luX21iOgoKIyBIb3cgZnJlcXVl bnRseSBpbmRleCBzdW1tYXJpZXMgc2hvdWxkIGJlIHJlc2FtcGxlZC4gIFRoaXMgaXMgZG9uZQoj IHBlcmlvZGljYWxseSB0byByZWRpc3RyaWJ1dGUgbWVtb3J5IGZyb20gdGhlIGZpeGVkLXNpemUg cG9vbCB0byBzc3RhYmxlcwojIHByb3BvcnRpb25hbCB0aGVpciByZWNlbnQgcmVhZCByYXRlcy4g IFNldHRpbmcgdG8gLTEgd2lsbCBkaXNhYmxlIHRoaXMKIyBwcm9jZXNzLCBsZWF2aW5nIGV4aXN0 aW5nIGluZGV4IHN1bW1hcmllcyBhdCB0aGVpciBjdXJyZW50IHNhbXBsaW5nIGxldmVsLgppbmRl eF9zdW1tYXJ5X3Jlc2l6ZV9pbnRlcnZhbF9pbl9taW51dGVzOiA2MAoKIyBXaGV0aGVyIHRvLCB3 aGVuIGRvaW5nIHNlcXVlbnRpYWwgd3JpdGluZywgZnN5bmMoKSBhdCBpbnRlcnZhbHMgaW4KIyBv cmRlciB0byBmb3JjZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0byBmbHVzaCB0aGUgZGlydHkKIyBi dWZmZXJzLiBFbmFibGUgdGhpcyB0byBhdm9pZCBzdWRkZW4gZGlydHkgYnVmZmVyIGZsdXNoaW5n IGZyb20KIyBpbXBhY3RpbmcgcmVhZCBsYXRlbmNpZXMuIEFsbW9zdCBhbHdheXMgYSBnb29kIGlk ZWEgb24gU1NEczsgbm90CiMgbmVjZXNzYXJpbHkgb24gcGxhdHRlcnMuCnRyaWNrbGVfZnN5bmM6 IGZhbHNlCnRyaWNrbGVfZnN5bmNfaW50ZXJ2YWxfaW5fa2I6IDEwMjQwCgojIFRDUCBwb3J0LCBm b3IgY29tbWFuZHMgYW5kIGRhdGEKIyBGb3Igc2VjdXJpdHkgcmVhc29ucywgeW91IHNob3VsZCBu b3QgZXhwb3NlIHRoaXMgcG9ydCB0byB0aGUgaW50ZXJuZXQuICBGaXJld2FsbCBpdCBpZiBuZWVk ZWQuCnN0b3JhZ2VfcG9ydDogNzAwMAoKIyBTU0wgcG9ydCwgZm9yIGVuY3J5cHRlZCBjb21tdW5p Y2F0aW9uLiAgVW51c2VkIHVubGVzcyBlbmFibGVkIGluCiMgZW5jcnlwdGlvbl9vcHRpb25zCiMg Rm9yIHNlY3VyaXR5IHJlYXNvbnMsIHlvdSBzaG91bGQgbm90IGV4cG9zZSB0aGlzIHBvcnQgdG8g dGhlIGludGVybmV0LiAgRmlyZXdhbGwgaXQgaWYgbmVlZGVkLgpzc2xfc3RvcmFnZV9wb3J0OiA3 MDAxCgojIEFkZHJlc3Mgb3IgaW50ZXJmYWNlIHRvIGJpbmQgdG8gYW5kIHRlbGwgb3RoZXIgQ2Fz c2FuZHJhIG5vZGVzIHRvIGNvbm5lY3QgdG8uCiMgWW91IF9tdXN0XyBjaGFuZ2UgdGhpcyBpZiB5 b3Ugd2FudCBtdWx0aXBsZSBub2RlcyB0byBiZSBhYmxlIHRvIGNvbW11bmljYXRlIQojCiMgU2V0 IGxpc3Rlbl9hZGRyZXNzIE9SIGxpc3Rlbl9pbnRlcmZhY2UsIG5vdCBib3RoLiBJbnRlcmZhY2Vz IG11c3QgY29ycmVzcG9uZAojIHRvIGEgc2luZ2xlIGFkZHJlc3MsIElQIGFsaWFzaW5nIGlzIG5v dCBzdXBwb3J0ZWQuCiMKIyBMZWF2aW5nIGl0IGJsYW5rIGxlYXZlcyBpdCB1cCB0byBJbmV0QWRk cmVzcy5nZXRMb2NhbEhvc3QoKS4gVGhpcwojIHdpbGwgYWx3YXlzIGRvIHRoZSBSaWdodCBUaGlu ZyBfaWZfIHRoZSBub2RlIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQKIyAoaG9zdG5hbWUsIG5hbWUg cmVzb2x1dGlvbiwgZXRjKSwgYW5kIHRoZSBSaWdodCBUaGluZyBpcyB0byB1c2UgdGhlCiMgYWRk cmVzcyBhc3NvY2lhdGVkIHdpdGggdGhlIGhvc3RuYW1lIChpdCBtaWdodCBub3QgYmUpLgojCiMg U2V0dGluZyBsaXN0ZW5fYWRkcmVzcyB0byAwLjAuMC4wIGlzIGFsd2F5cyB3cm9uZy4KIwojIElm IHlvdSBjaG9vc2UgdG8gc3BlY2lmeSB0aGUgaW50ZXJmYWNlIGJ5IG5hbWUgYW5kIHRoZSBpbnRl cmZhY2UgaGFzIGFuIGlwdjQgYW5kIGFuIGlwdjYgYWRkcmVzcwojIHlvdSBjYW4gc3BlY2lmeSB3 aGljaCBzaG91bGQgYmUgY2hvc2VuIHVzaW5nIGxpc3Rlbl9pbnRlcmZhY2VfcHJlZmVyX2lwdjYu IElmIGZhbHNlIHRoZSBmaXJzdCBpcHY0CiMgYWRkcmVzcyB3aWxsIGJlIHVzZWQuIElmIHRydWUg dGhlIGZpcnN0IGlwdjYgYWRkcmVzcyB3aWxsIGJlIHVzZWQuIERlZmF1bHRzIHRvIGZhbHNlIHBy ZWZlcnJpbmcKIyBpcHY0LiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBhZGRyZXNzIGl0IHdpbGwgYmUg c2VsZWN0ZWQgcmVnYXJkbGVzcyBvZiBpcHY0L2lwdjYuCmxpc3Rlbl9hZGRyZXNzOiAxNzIuMTgu MC4yNgojIGxpc3Rlbl9pbnRlcmZhY2U6IGV0aDAKIyBsaXN0ZW5faW50ZXJmYWNlX3ByZWZlcl9p cHY2OiBmYWxzZQoKIyBBZGRyZXNzIHRvIGJyb2FkY2FzdCB0byBvdGhlciBDYXNzYW5kcmEgbm9k ZXMKIyBMZWF2aW5nIHRoaXMgYmxhbmsgd2lsbCBzZXQgaXQgdG8gdGhlIHNhbWUgdmFsdWUgYXMg bGlzdGVuX2FkZHJlc3MKIyBicm9hZGNhc3RfYWRkcmVzczogMS4yLjMuNAoKIyBXaGVuIHVzaW5n IG11bHRpcGxlIHBoeXNpY2FsIG5ldHdvcmsgaW50ZXJmYWNlcywgc2V0IHRoaXMKIyB0byB0cnVl IHRvIGxpc3RlbiBvbiBicm9hZGNhc3RfYWRkcmVzcyBpbiBhZGRpdGlvbiB0bwojIHRoZSBsaXN0 ZW5fYWRkcmVzcywgYWxsb3dpbmcgbm9kZXMgdG8gY29tbXVuaWNhdGUgaW4gYm90aAojIGludGVy ZmFjZXMuCiMgSWdub3JlIHRoaXMgcHJvcGVydHkgaWYgdGhlIG5ldHdvcmsgY29uZmlndXJhdGlv biBhdXRvbWF0aWNhbGx5CiMgcm91dGVzICBiZXR3ZWVuIHRoZSBwdWJsaWMgYW5kIHByaXZhdGUg bmV0d29ya3Mgc3VjaCBhcyBFQzIuCiMgbGlzdGVuX29uX2Jyb2FkY2FzdF9hZGRyZXNzOiBmYWxz ZQoKIyBJbnRlcm5vZGUgYXV0aGVudGljYXRpb24gYmFja2VuZCwgaW1wbGVtZW50aW5nIElJbnRl cm5vZGVBdXRoZW50aWNhdG9yOwojIHVzZWQgdG8gYWxsb3cvZGlzYWxsb3cgY29ubmVjdGlvbnMg ZnJvbSBwZWVyIG5vZGVzLgojIGludGVybm9kZV9hdXRoZW50aWNhdG9yOiBvcmcuYXBhY2hlLmNh c3NhbmRyYS5hdXRoLkFsbG93QWxsSW50ZXJub2RlQXV0aGVudGljYXRvcgoKIyBXaGV0aGVyIHRv IHN0YXJ0IHRoZSBuYXRpdmUgdHJhbnNwb3J0IHNlcnZlci4KIyBQbGVhc2Ugbm90ZSB0aGF0IHRo ZSBhZGRyZXNzIG9uIHdoaWNoIHRoZSBuYXRpdmUgdHJhbnNwb3J0IGlzIGJvdW5kIGlzIHRoZQoj IHNhbWUgYXMgdGhlIHJwY19hZGRyZXNzLiBUaGUgcG9ydCBob3dldmVyIGlzIGRpZmZlcmVudCBh bmQgc3BlY2lmaWVkIGJlbG93LgpzdGFydF9uYXRpdmVfdHJhbnNwb3J0OiB0cnVlCiMgcG9ydCBm b3IgdGhlIENRTCBuYXRpdmUgdHJhbnNwb3J0IHRvIGxpc3RlbiBmb3IgY2xpZW50cyBvbgojIEZv ciBzZWN1cml0eSByZWFzb25zLCB5b3Ugc2hvdWxkIG5vdCBleHBvc2UgdGhpcyBwb3J0IHRvIHRo ZSBpbnRlcm5ldC4gIEZpcmV3YWxsIGl0IGlmIG5lZWRlZC4KbmF0aXZlX3RyYW5zcG9ydF9wb3J0 OiA5MDQyCiMgRW5hYmxpbmcgbmF0aXZlIHRyYW5zcG9ydCBlbmNyeXB0aW9uIGluIGNsaWVudF9l bmNyeXB0aW9uX29wdGlvbnMgYWxsb3dzIHlvdSB0byBlaXRoZXIgdXNlCiMgZW5jcnlwdGlvbiBm b3IgdGhlIHN0YW5kYXJkIHBvcnQgb3IgdG8gdXNlIGEgZGVkaWNhdGVkLCBhZGRpdGlvbmFsIHBv cnQgYWxvbmcgd2l0aCB0aGUgdW5lbmNyeXB0ZWQKIyBzdGFuZGFyZCBuYXRpdmVfdHJhbnNwb3J0 X3BvcnQuCiMgRW5hYmxpbmcgY2xpZW50IGVuY3J5cHRpb24gYW5kIGtlZXBpbmcgbmF0aXZlX3Ry YW5zcG9ydF9wb3J0X3NzbCBkaXNhYmxlZCB3aWxsIHVzZSBlbmNyeXB0aW9uCiMgZm9yIG5hdGl2 ZV90cmFuc3BvcnRfcG9ydC4gU2V0dGluZyBuYXRpdmVfdHJhbnNwb3J0X3BvcnRfc3NsIHRvIGEg ZGlmZmVyZW50IHZhbHVlCiMgZnJvbSBuYXRpdmVfdHJhbnNwb3J0X3BvcnQgd2lsbCB1c2UgZW5j cnlwdGlvbiBmb3IgbmF0aXZlX3RyYW5zcG9ydF9wb3J0X3NzbCB3aGlsZQojIGtlZXBpbmcgbmF0 aXZlX3RyYW5zcG9ydF9wb3J0IHVuZW5jcnlwdGVkLgojIG5hdGl2ZV90cmFuc3BvcnRfcG9ydF9z c2w6IDkxNDIKIyBUaGUgbWF4aW11bSB0aHJlYWRzIGZvciBoYW5kbGluZyByZXF1ZXN0cyB3aGVu IHRoZSBuYXRpdmUgdHJhbnNwb3J0IGlzIHVzZWQuCiMgVGhpcyBpcyBzaW1pbGFyIHRvIHJwY19t YXhfdGhyZWFkcyB0aG91Z2ggdGhlIGRlZmF1bHQgZGlmZmVycyBzbGlnaHRseSAoYW5kCiMgdGhl cmUgaXMgbm8gbmF0aXZlX3RyYW5zcG9ydF9taW5fdGhyZWFkcywgaWRsZSB0aHJlYWRzIHdpbGwg YWx3YXlzIGJlIHN0b3BwZWQKIyBhZnRlciAzMCBzZWNvbmRzKS4KIyBuYXRpdmVfdHJhbnNwb3J0 X21heF90aHJlYWRzOiAxMjgKIwojIFRoZSBtYXhpbXVtIHNpemUgb2YgYWxsb3dlZCBmcmFtZS4g RnJhbWUgKHJlcXVlc3RzKSBsYXJnZXIgdGhhbiB0aGlzIHdpbGwKIyBiZSByZWplY3RlZCBhcyBp bnZhbGlkLiBUaGUgZGVmYXVsdCBpcyAyNTZNQi4gSWYgeW91J3JlIGNoYW5naW5nIHRoaXMgcGFy YW1ldGVyLAojIHlvdSBtYXkgd2FudCB0byBhZGp1c3QgbWF4X3ZhbHVlX3NpemVfaW5fbWIgYWNj b3JkaW5nbHkuCiMgbmF0aXZlX3RyYW5zcG9ydF9tYXhfZnJhbWVfc2l6ZV9pbl9tYjogMjU2Cgoj IFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IGNsaWVudCBjb25uZWN0aW9ucy4KIyBU aGUgZGVmYXVsdCBpcyAtMSwgd2hpY2ggbWVhbnMgdW5saW1pdGVkLgojIG5hdGl2ZV90cmFuc3Bv cnRfbWF4X2NvbmN1cnJlbnRfY29ubmVjdGlvbnM6IC0xCgojIFRoZSBtYXhpbXVtIG51bWJlciBv ZiBjb25jdXJyZW50IGNsaWVudCBjb25uZWN0aW9ucyBwZXIgc291cmNlIGlwLgojIFRoZSBkZWZh dWx0IGlzIC0xLCB3aGljaCBtZWFucyB1bmxpbWl0ZWQuCiMgbmF0aXZlX3RyYW5zcG9ydF9tYXhf Y29uY3VycmVudF9jb25uZWN0aW9uc19wZXJfaXA6IC0xCgojIFdoZXRoZXIgdG8gc3RhcnQgdGhl IHRocmlmdCBycGMgc2VydmVyLgpzdGFydF9ycGM6IGZhbHNlCgojIFRoZSBhZGRyZXNzIG9yIGlu dGVyZmFjZSB0byBiaW5kIHRoZSBUaHJpZnQgUlBDIHNlcnZpY2UgYW5kIG5hdGl2ZSB0cmFuc3Bv cnQKIyBzZXJ2ZXIgdG8uCiMKIyBTZXQgcnBjX2FkZHJlc3MgT1IgcnBjX2ludGVyZmFjZSwgbm90 IGJvdGguIEludGVyZmFjZXMgbXVzdCBjb3JyZXNwb25kCiMgdG8gYSBzaW5nbGUgYWRkcmVzcywg SVAgYWxpYXNpbmcgaXMgbm90IHN1cHBvcnRlZC4KIwojIExlYXZpbmcgcnBjX2FkZHJlc3MgYmxh bmsgaGFzIHRoZSBzYW1lIGVmZmVjdCBhcyBvbiBsaXN0ZW5fYWRkcmVzcwojIChpLmUuIGl0IHdp bGwgYmUgYmFzZWQgb24gdGhlIGNvbmZpZ3VyZWQgaG9zdG5hbWUgb2YgdGhlIG5vZGUpLgojCiMg Tm90ZSB0aGF0IHVubGlrZSBsaXN0ZW5fYWRkcmVzcywgeW91IGNhbiBzcGVjaWZ5IDAuMC4wLjAs IGJ1dCB5b3UgbXVzdCBhbHNvCiMgc2V0IGJyb2FkY2FzdF9ycGNfYWRkcmVzcyB0byBhIHZhbHVl IG90aGVyIHRoYW4gMC4wLjAuMC4KIwojIEZvciBzZWN1cml0eSByZWFzb25zLCB5b3Ugc2hvdWxk IG5vdCBleHBvc2UgdGhpcyBwb3J0IHRvIHRoZSBpbnRlcm5ldC4gIEZpcmV3YWxsIGl0IGlmIG5l ZWRlZC4KIwojIElmIHlvdSBjaG9vc2UgdG8gc3BlY2lmeSB0aGUgaW50ZXJmYWNlIGJ5IG5hbWUg YW5kIHRoZSBpbnRlcmZhY2UgaGFzIGFuIGlwdjQgYW5kIGFuIGlwdjYgYWRkcmVzcwojIHlvdSBj YW4gc3BlY2lmeSB3aGljaCBzaG91bGQgYmUgY2hvc2VuIHVzaW5nIHJwY19pbnRlcmZhY2VfcHJl ZmVyX2lwdjYuIElmIGZhbHNlIHRoZSBmaXJzdCBpcHY0CiMgYWRkcmVzcyB3aWxsIGJlIHVzZWQu IElmIHRydWUgdGhlIGZpcnN0IGlwdjYgYWRkcmVzcyB3aWxsIGJlIHVzZWQuIERlZmF1bHRzIHRv IGZhbHNlIHByZWZlcnJpbmcKIyBpcHY0LiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBhZGRyZXNzIGl0 IHdpbGwgYmUgc2VsZWN0ZWQgcmVnYXJkbGVzcyBvZiBpcHY0L2lwdjYuCnJwY19hZGRyZXNzOiAx NzIuMTguMC4yNgojIHJwY19pbnRlcmZhY2U6IGV0aDEKIyBycGNfaW50ZXJmYWNlX3ByZWZlcl9p cHY2OiBmYWxzZQoKIyBwb3J0IGZvciBUaHJpZnQgdG8gbGlzdGVuIGZvciBjbGllbnRzIG9uCnJw Y19wb3J0OiA5MTYwCgojIFJQQyBhZGRyZXNzIHRvIGJyb2FkY2FzdCB0byBkcml2ZXJzIGFuZCBv dGhlciBDYXNzYW5kcmEgbm9kZXMuIFRoaXMgY2Fubm90CiMgYmUgc2V0IHRvIDAuMC4wLjAuIElm IGxlZnQgYmxhbmssIHRoaXMgd2lsbCBiZSBzZXQgdG8gdGhlIHZhbHVlIG9mCiMgcnBjX2FkZHJl c3MuIElmIHJwY19hZGRyZXNzIGlzIHNldCB0byAwLjAuMC4wLCBicm9hZGNhc3RfcnBjX2FkZHJl c3MgbXVzdAojIGJlIHNldC4KIyBicm9hZGNhc3RfcnBjX2FkZHJlc3M6IDEuMi4zLjQKCiMgZW5h YmxlIG9yIGRpc2FibGUga2VlcGFsaXZlIG9uIHJwYy9uYXRpdmUgY29ubmVjdGlvbnMKcnBjX2tl ZXBhbGl2ZTogdHJ1ZQoKIyBDYXNzYW5kcmEgcHJvdmlkZXMgdHdvIG91dC1vZi10aGUtYm94IG9w dGlvbnMgZm9yIHRoZSBSUEMgU2VydmVyOgojCiMgc3luYyAgLT4gT25lIHRocmVhZCBwZXIgdGhy aWZ0IGNvbm5lY3Rpb24uIEZvciBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIGNsaWVudHMsIG1lbW9y eQojICAgICAgICAgIHdpbGwgYmUgeW91ciBsaW1pdGluZyBmYWN0b3IuIE9uIGEgNjQgYml0IEpW TSwgMTgwS0IgaXMgdGhlIG1pbmltdW0gc3RhY2sgc2l6ZQojICAgICAgICAgIHBlciB0aHJlYWQs IGFuZCB0aGF0IHdpbGwgY29ycmVzcG9uZCB0byB5b3VyIHVzZSBvZiB2aXJ0dWFsIG1lbW9yeSAo YnV0IHBoeXNpY2FsIG1lbW9yeQojICAgICAgICAgIG1heSBiZSBsaW1pdGVkIGRlcGVuZGluZyBv biB1c2Ugb2Ygc3RhY2sgc3BhY2UpLgojCiMgaHNoYSAgLT4gU3RhbmRzIGZvciAiaGFsZiBzeW5j aHJvbm91cywgaGFsZiBhc3luY2hyb25vdXMuIiBBbGwgdGhyaWZ0IGNsaWVudHMgYXJlIGhhbmRs ZWQKIyAgICAgICAgICBhc3luY2hyb25vdXNseSB1c2luZyBhIHNtYWxsIG51bWJlciBvZiB0aHJl YWRzIHRoYXQgZG9lcyBub3QgdmFyeSB3aXRoIHRoZSBhbW91bnQKIyAgICAgICAgICBvZiB0aHJp ZnQgY2xpZW50cyAoYW5kIHRodXMgc2NhbGVzIHdlbGwgdG8gbWFueSBjbGllbnRzKS4gVGhlIHJw YyByZXF1ZXN0cyBhcmUgc3RpbGwKIyAgICAgICAgICBzeW5jaHJvbm91cyAob25lIHRocmVhZCBw ZXIgYWN0aXZlIHJlcXVlc3QpLiBJZiBoc2hhIGlzIHNlbGVjdGVkIHRoZW4gaXQgaXMgZXNzZW50 aWFsCiMgICAgICAgICAgdGhhdCBycGNfbWF4X3RocmVhZHMgaXMgY2hhbmdlZCBmcm9tIHRoZSBk ZWZhdWx0IHZhbHVlIG9mIHVubGltaXRlZC4KIwojIFRoZSBkZWZhdWx0IGlzIHN5bmMgYmVjYXVz ZSBvbiBXaW5kb3dzIGhzaGEgaXMgYWJvdXQgMzAlIHNsb3dlci4gIE9uIExpbnV4LAojIHN5bmMv aHNoYSBwZXJmb3JtYW5jZSBpcyBhYm91dCB0aGUgc2FtZSwgd2l0aCBoc2hhIG9mIGNvdXJzZSB1 c2luZyBsZXNzIG1lbW9yeS4KIwojIEFsdGVybmF0aXZlbHksICBjYW4gcHJvdmlkZSB5b3VyIG93 biBSUEMgc2VydmVyIGJ5IHByb3ZpZGluZyB0aGUgZnVsbHktcXVhbGlmaWVkIGNsYXNzIG5hbWUK IyBvZiBhbiBvLmEuYy50LlRTZXJ2ZXJGYWN0b3J5IHRoYXQgY2FuIGNyZWF0ZSBhbiBpbnN0YW5j ZSBvZiBpdC4KcnBjX3NlcnZlcl90eXBlOiBzeW5jCgojIFVuY29tbWVudCBycGNfbWlufG1heF90 aHJlYWQgdG8gc2V0IHJlcXVlc3QgcG9vbCBzaXplIGxpbWl0cy4KIwojIFJlZ2FyZGxlc3Mgb2Yg eW91ciBjaG9pY2Ugb2YgUlBDIHNlcnZlciAoc2VlIGFib3ZlKSwgdGhlIG51bWJlciBvZiBtYXhp bXVtIHJlcXVlc3RzIGluIHRoZQojIFJQQyB0aHJlYWQgcG9vbCBkaWN0YXRlcyBob3cgbWFueSBj b25jdXJyZW50IHJlcXVlc3RzIGFyZSBwb3NzaWJsZSAoYnV0IGlmIHlvdSBhcmUgdXNpbmcgdGhl IHN5bmMKIyBSUEMgc2VydmVyLCBpdCBhbHNvIGRpY3RhdGVzIHRoZSBudW1iZXIgb2YgY2xpZW50 cyB0aGF0IGNhbiBiZSBjb25uZWN0ZWQgYXQgYWxsKS4KIwojIFRoZSBkZWZhdWx0IGlzIHVubGlt aXRlZCBhbmQgdGh1cyBwcm92aWRlcyBubyBwcm90ZWN0aW9uIGFnYWluc3QgY2xpZW50cyBvdmVy d2hlbG1pbmcgdGhlIHNlcnZlci4gWW91IGFyZQojIGVuY291cmFnZWQgdG8gc2V0IGEgbWF4aW11 bSB0aGF0IG1ha2VzIHNlbnNlIGZvciB5b3UgaW4gcHJvZHVjdGlvbiwgYnV0IGRvIGtlZXAgaW4g bWluZCB0aGF0CiMgcnBjX21heF90aHJlYWRzIHJlcHJlc2VudHMgdGhlIG1heGltdW0gbnVtYmVy IG9mIGNsaWVudCByZXF1ZXN0cyB0aGlzIHNlcnZlciBtYXkgZXhlY3V0ZSBjb25jdXJyZW50bHku CiMKIyBycGNfbWluX3RocmVhZHM6IDE2CiMgcnBjX21heF90aHJlYWRzOiAyMDQ4CgojIHVuY29t bWVudCB0byBzZXQgc29ja2V0IGJ1ZmZlciBzaXplcyBvbiBycGMgY29ubmVjdGlvbnMKIyBycGNf c2VuZF9idWZmX3NpemVfaW5fYnl0ZXM6CiMgcnBjX3JlY3ZfYnVmZl9zaXplX2luX2J5dGVzOgoK IyBVbmNvbW1lbnQgdG8gc2V0IHNvY2tldCBidWZmZXIgc2l6ZSBmb3IgaW50ZXJub2RlIGNvbW11 bmljYXRpb24KIyBOb3RlIHRoYXQgd2hlbiBzZXR0aW5nIHRoaXMsIHRoZSBidWZmZXIgc2l6ZSBp cyBsaW1pdGVkIGJ5IG5ldC5jb3JlLndtZW1fbWF4CiMgYW5kIHdoZW4gbm90IHNldHRpbmcgaXQg aXQgaXMgZGVmaW5lZCBieSBuZXQuaXB2NC50Y3Bfd21lbQojIFNlZToKIyAvcHJvYy9zeXMvbmV0 L2NvcmUvd21lbV9tYXgKIyAvcHJvYy9zeXMvbmV0L2NvcmUvcm1lbV9tYXgKIyAvcHJvYy9zeXMv bmV0L2lwdjQvdGNwX3dtZW0KIyAvcHJvYy9zeXMvbmV0L2lwdjQvdGNwX3dtZW0KIyBhbmQ6IG1h biB0Y3AKIyBpbnRlcm5vZGVfc2VuZF9idWZmX3NpemVfaW5fYnl0ZXM6CiMgaW50ZXJub2RlX3Jl Y3ZfYnVmZl9zaXplX2luX2J5dGVzOgoKIyBGcmFtZSBzaXplIGZvciB0aHJpZnQgKG1heGltdW0g bWVzc2FnZSBsZW5ndGgpLgp0aHJpZnRfZnJhbWVkX3RyYW5zcG9ydF9zaXplX2luX21iOiAxNQoK IyBTZXQgdG8gdHJ1ZSB0byBoYXZlIENhc3NhbmRyYSBjcmVhdGUgYSBoYXJkIGxpbmsgdG8gZWFj aCBzc3RhYmxlCiMgZmx1c2hlZCBvciBzdHJlYW1lZCBsb2NhbGx5IGluIGEgYmFja3Vwcy8gc3Vi ZGlyZWN0b3J5IG9mIHRoZQojIGtleXNwYWNlIGRhdGEuICBSZW1vdmluZyB0aGVzZSBsaW5rcyBp cyB0aGUgb3BlcmF0b3IncwojIHJlc3BvbnNpYmlsaXR5LgppbmNyZW1lbnRhbF9iYWNrdXBzOiBm YWxzZQoKIyBXaGV0aGVyIG9yIG5vdCB0byB0YWtlIGEgc25hcHNob3QgYmVmb3JlIGVhY2ggY29t cGFjdGlvbi4gIEJlCiMgY2FyZWZ1bCB1c2luZyB0aGlzIG9wdGlvbiwgc2luY2UgQ2Fzc2FuZHJh IHdvbid0IGNsZWFuIHVwIHRoZQojIHNuYXBzaG90cyBmb3IgeW91LiAgTW9zdGx5IHVzZWZ1bCBp ZiB5b3UncmUgcGFyYW5vaWQgd2hlbiB0aGVyZQojIGlzIGEgZGF0YSBmb3JtYXQgY2hhbmdlLgpz bmFwc2hvdF9iZWZvcmVfY29tcGFjdGlvbjogZmFsc2UKCiMgV2hldGhlciBvciBub3QgYSBzbmFw c2hvdCBpcyB0YWtlbiBvZiB0aGUgZGF0YSBiZWZvcmUga2V5c3BhY2UgdHJ1bmNhdGlvbgojIG9y IGRyb3BwaW5nIG9mIGNvbHVtbiBmYW1pbGllcy4gVGhlIFNUUk9OR0xZIGFkdmlzZWQgZGVmYXVs dCBvZiB0cnVlIAojIHNob3VsZCBiZSB1c2VkIHRvIHByb3ZpZGUgZGF0YSBzYWZldHkuIElmIHlv dSBzZXQgdGhpcyBmbGFnIHRvIGZhbHNlLCB5b3Ugd2lsbAojIGxvc2UgZGF0YSBvbiB0cnVuY2F0 aW9uIG9yIGRyb3AuCmF1dG9fc25hcHNob3Q6IFRydWUKCiMgR3JhbnVsYXJpdHkgb2YgdGhlIGNv bGxhdGlvbiBpbmRleCBvZiByb3dzIHdpdGhpbiBhIHBhcnRpdGlvbi4KIyBJbmNyZWFzZSBpZiB5 b3VyIHJvd3MgYXJlIGxhcmdlLCBvciBpZiB5b3UgaGF2ZSBhIHZlcnkgbGFyZ2UKIyBudW1iZXIg b2Ygcm93cyBwZXIgcGFydGl0aW9uLiAgVGhlIGNvbXBldGluZyBnb2FscyBhcmUgdGhlc2U6CiMg ICAxKSBhIHNtYWxsZXIgZ3JhbnVsYXJpdHkgbWVhbnMgbW9yZSBpbmRleCBlbnRyaWVzIGFyZSBn ZW5lcmF0ZWQKIyAgICAgIGFuZCBsb29raW5nIHVwIHJvd3Mgd2l0aGluZyB0aGUgcGFydGl0aW9u IGJ5IGNvbGxhdGlvbiBjb2x1bW4KIyAgICAgIGlzIGZhc3RlcgojICAgMikgYnV0LCBDYXNzYW5k cmEgd2lsbCBrZWVwIHRoZSBjb2xsYXRpb24gaW5kZXggaW4gbWVtb3J5IGZvciBob3QKIyAgICAg IHJvd3MgKGFzIHBhcnQgb2YgdGhlIGtleSBjYWNoZSksIHNvIGEgbGFyZ2VyIGdyYW51bGFyaXR5 IG1lYW5zCiMgICAgICB5b3UgY2FuIGNhY2hlIG1vcmUgaG90IHJvd3MKY29sdW1uX2luZGV4X3Np emVfaW5fa2I6IDY0CiMgUGVyIHNzdGFibGUgaW5kZXhlZCBrZXkgY2FjaGUgZW50cmllcyAodGhl IGNvbGxhdGlvbiBpbmRleCBpbiBtZW1vcnkKIyBtZW50aW9uZWQgYWJvdmUpIGV4Y2VlZGluZyB0 aGlzIHNpemUgd2lsbCBub3QgYmUgaGVsZCBvbiBoZWFwLgojIFRoaXMgbWVhbnMgdGhhdCBvbmx5 IHBhcnRpdGlvbiBpbmZvcm1hdGlvbiBpcyBoZWxkIG9uIGhlYXAgYW5kIHRoZQojIGluZGV4IGVu dHJpZXMgYXJlIHJlYWQgZnJvbSBkaXNrLgojCiMgTm90ZSB0aGF0IHRoaXMgc2l6ZSByZWZlcnMg dG8gdGhlIHNpemUgb2YgdGhlCiMgc2VyaWFsaXplZCBpbmRleCBpbmZvcm1hdGlvbiBhbmQgbm90 IHRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24uCmNvbHVtbl9pbmRleF9jYWNoZV9zaXplX2luX2ti OiAyCgojIE51bWJlciBvZiBzaW11bHRhbmVvdXMgY29tcGFjdGlvbnMgdG8gYWxsb3csIE5PVCBp bmNsdWRpbmcKIyB2YWxpZGF0aW9uICJjb21wYWN0aW9ucyIgZm9yIGFudGktZW50cm9weSByZXBh aXIuICBTaW11bHRhbmVvdXMKIyBjb21wYWN0aW9ucyBjYW4gaGVscCBwcmVzZXJ2ZSByZWFkIHBl cmZvcm1hbmNlIGluIGEgbWl4ZWQgcmVhZC93cml0ZQojIHdvcmtsb2FkLCBieSBtaXRpZ2F0aW5n IHRoZSB0ZW5kZW5jeSBvZiBzbWFsbCBzc3RhYmxlcyB0byBhY2N1bXVsYXRlCiMgZHVyaW5nIGEg c2luZ2xlIGxvbmcgcnVubmluZyBjb21wYWN0aW9ucy4gVGhlIGRlZmF1bHQgaXMgdXN1YWxseQoj IGZpbmUgYW5kIGlmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHdpdGggY29tcGFjdGlvbiBydW5u aW5nIHRvbwojIHNsb3dseSBvciB0b28gZmFzdCwgeW91IHNob3VsZCBsb29rIGF0CiMgY29tcGFj dGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWMgZmlyc3QuCiMKIyBjb25jdXJyZW50X2NvbXBhY3Rv cnMgZGVmYXVsdHMgdG8gdGhlIHNtYWxsZXIgb2YgKG51bWJlciBvZiBkaXNrcywKIyBudW1iZXIg b2YgY29yZXMpLCB3aXRoIGEgbWluaW11bSBvZiAyIGFuZCBhIG1heGltdW0gb2YgOC4KIyAKIyBJ ZiB5b3VyIGRhdGEgZGlyZWN0b3JpZXMgYXJlIGJhY2tlZCBieSBTU0QsIHlvdSBzaG91bGQgaW5j cmVhc2UgdGhpcwojIHRvIHRoZSBudW1iZXIgb2YgY29yZXMuCmNvbmN1cnJlbnRfY29tcGFjdG9y czogMQoKIyBUaHJvdHRsZXMgY29tcGFjdGlvbiB0byB0aGUgZ2l2ZW4gdG90YWwgdGhyb3VnaHB1 dCBhY3Jvc3MgdGhlIGVudGlyZQojIHN5c3RlbS4gVGhlIGZhc3RlciB5b3UgaW5zZXJ0IGRhdGEs IHRoZSBmYXN0ZXIgeW91IG5lZWQgdG8gY29tcGFjdCBpbgojIG9yZGVyIHRvIGtlZXAgdGhlIHNz dGFibGUgY291bnQgZG93biwgYnV0IGluIGdlbmVyYWwsIHNldHRpbmcgdGhpcyB0bwojIDE2IHRv IDMyIHRpbWVzIHRoZSByYXRlIHlvdSBhcmUgaW5zZXJ0aW5nIGRhdGEgaXMgbW9yZSB0aGFuIHN1 ZmZpY2llbnQuCiMgU2V0dGluZyB0aGlzIHRvIDAgZGlzYWJsZXMgdGhyb3R0bGluZy4gTm90ZSB0 aGF0IHRoaXMgYWNjb3VudCBmb3IgYWxsIHR5cGVzCiMgb2YgY29tcGFjdGlvbiwgaW5jbHVkaW5n IHZhbGlkYXRpb24gY29tcGFjdGlvbi4KY29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6 IDE2CgojIFdoZW4gY29tcGFjdGluZywgdGhlIHJlcGxhY2VtZW50IHNzdGFibGUocykgY2FuIGJl IG9wZW5lZCBiZWZvcmUgdGhleQojIGFyZSBjb21wbGV0ZWx5IHdyaXR0ZW4sIGFuZCB1c2VkIGlu IHBsYWNlIG9mIHRoZSBwcmlvciBzc3RhYmxlcyBmb3IKIyBhbnkgcmFuZ2UgdGhhdCBoYXMgYmVl biB3cml0dGVuLiBUaGlzIGhlbHBzIHRvIHNtb290aGx5IHRyYW5zZmVyIHJlYWRzIAojIGJldHdl ZW4gdGhlIHNzdGFibGVzLCByZWR1Y2luZyBwYWdlIGNhY2hlIGNodXJuIGFuZCBrZWVwaW5nIGhv dCByb3dzIGhvdApzc3RhYmxlX3ByZWVtcHRpdmVfb3Blbl9pbnRlcnZhbF9pbl9tYjogNTAKCiMg VGhyb3R0bGVzIGFsbCBvdXRib3VuZCBzdHJlYW1pbmcgZmlsZSB0cmFuc2ZlcnMgb24gdGhpcyBu b2RlIHRvIHRoZQojIGdpdmVuIHRvdGFsIHRocm91Z2hwdXQgaW4gTWJwcy4gVGhpcyBpcyBuZWNl c3NhcnkgYmVjYXVzZSBDYXNzYW5kcmEgZG9lcwojIG1vc3RseSBzZXF1ZW50aWFsIElPIHdoZW4g c3RyZWFtaW5nIGRhdGEgZHVyaW5nIGJvb3RzdHJhcCBvciByZXBhaXIsIHdoaWNoCiMgY2FuIGxl YWQgdG8gc2F0dXJhdGluZyB0aGUgbmV0d29yayBjb25uZWN0aW9uIGFuZCBkZWdyYWRpbmcgcnBj IHBlcmZvcm1hbmNlLgojIFdoZW4gdW5zZXQsIHRoZSBkZWZhdWx0IGlzIDIwMCBNYnBzIG9yIDI1 IE1CL3MuCnN0cmVhbV90aHJvdWdocHV0X291dGJvdW5kX21lZ2FiaXRzX3Blcl9zZWM6IDIwMAoK IyBUaHJvdHRsZXMgYWxsIHN0cmVhbWluZyBmaWxlIHRyYW5zZmVyIGJldHdlZW4gdGhlIGRhdGFj ZW50ZXJzLAojIHRoaXMgc2V0dGluZyBhbGxvd3MgdXNlcnMgdG8gdGhyb3R0bGUgaW50ZXIgZGMg c3RyZWFtIHRocm91Z2hwdXQgaW4gYWRkaXRpb24KIyB0byB0aHJvdHRsaW5nIGFsbCBuZXR3b3Jr IHN0cmVhbSB0cmFmZmljIGFzIGNvbmZpZ3VyZWQgd2l0aAojIHN0cmVhbV90aHJvdWdocHV0X291 dGJvdW5kX21lZ2FiaXRzX3Blcl9zZWMKIyBXaGVuIHVuc2V0LCB0aGUgZGVmYXVsdCBpcyAyMDAg TWJwcyBvciAyNSBNQi9zCmludGVyX2RjX3N0cmVhbV90aHJvdWdocHV0X291dGJvdW5kX21lZ2Fi aXRzX3Blcl9zZWM6IDUwCgojIEhvdyBsb25nIHRoZSBjb29yZGluYXRvciBzaG91bGQgd2FpdCBm b3IgcmVhZCBvcGVyYXRpb25zIHRvIGNvbXBsZXRlCnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21z OiA1MDAwCiMgSG93IGxvbmcgdGhlIGNvb3JkaW5hdG9yIHNob3VsZCB3YWl0IGZvciBzZXEgb3Ig aW5kZXggc2NhbnMgdG8gY29tcGxldGUKcmFuZ2VfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAw MAojIEhvdyBsb25nIHRoZSBjb29yZGluYXRvciBzaG91bGQgd2FpdCBmb3Igd3JpdGVzIHRvIGNv bXBsZXRlCndyaXRlX3JlcXVlc3RfdGltZW91dF9pbl9tczogMjAwMAojIEhvdyBsb25nIHRoZSBj b29yZGluYXRvciBzaG91bGQgd2FpdCBmb3IgY291bnRlciB3cml0ZXMgdG8gY29tcGxldGUKY291 bnRlcl93cml0ZV9yZXF1ZXN0X3RpbWVvdXRfaW5fbXM6IDUwMDAKIyBIb3cgbG9uZyBhIGNvb3Jk aW5hdG9yIHNob3VsZCBjb250aW51ZSB0byByZXRyeSBhIENBUyBvcGVyYXRpb24KIyB0aGF0IGNv bnRlbmRzIHdpdGggb3RoZXIgcHJvcG9zYWxzIGZvciB0aGUgc2FtZSByb3cKY2FzX2NvbnRlbnRp b25fdGltZW91dF9pbl9tczogMTAwMAojIEhvdyBsb25nIHRoZSBjb29yZGluYXRvciBzaG91bGQg d2FpdCBmb3IgdHJ1bmNhdGVzIHRvIGNvbXBsZXRlCiMgKFRoaXMgY2FuIGJlIG11Y2ggbG9uZ2Vy LCBiZWNhdXNlIHVubGVzcyBhdXRvX3NuYXBzaG90IGlzIGRpc2FibGVkCiMgd2UgbmVlZCB0byBm bHVzaCBmaXJzdCBzbyB3ZSBjYW4gc25hcHNob3QgYmVmb3JlIHJlbW92aW5nIHRoZSBkYXRhLikK dHJ1bmNhdGVfcmVxdWVzdF90aW1lb3V0X2luX21zOiA2MDAwMAojIFRoZSBkZWZhdWx0IHRpbWVv dXQgZm9yIG90aGVyLCBtaXNjZWxsYW5lb3VzIG9wZXJhdGlvbnMKcmVxdWVzdF90aW1lb3V0X2lu X21zOiAxMDAwMAoKIyBFbmFibGUgb3BlcmF0aW9uIHRpbWVvdXQgaW5mb3JtYXRpb24gZXhjaGFu Z2UgYmV0d2VlbiBub2RlcyB0byBhY2N1cmF0ZWx5CiMgbWVhc3VyZSByZXF1ZXN0IHRpbWVvdXRz LiAgSWYgZGlzYWJsZWQsIHJlcGxpY2FzIHdpbGwgYXNzdW1lIHRoYXQgcmVxdWVzdHMKIyB3ZXJl IGZvcndhcmRlZCB0byB0aGVtIGluc3RhbnRseSBieSB0aGUgY29vcmRpbmF0b3IsIHdoaWNoIG1l YW5zIHRoYXQKIyB1bmRlciBvdmVybG9hZCBjb25kaXRpb25zIHdlIHdpbGwgd2FzdGUgdGhhdCBt dWNoIGV4dHJhIHRpbWUgcHJvY2Vzc2luZyAKIyBhbHJlYWR5LXRpbWVkLW91dCByZXF1ZXN0cy4K IwojIFdhcm5pbmc6IGJlZm9yZSBlbmFibGluZyB0aGlzIHByb3BlcnR5IG1ha2Ugc3VyZSB0byBu dHAgaXMgaW5zdGFsbGVkCiMgYW5kIHRoZSB0aW1lcyBhcmUgc3luY2hyb25pemVkIGJldHdlZW4g dGhlIG5vZGVzLgpjcm9zc19ub2RlX3RpbWVvdXQ6IGZhbHNlCgojIFNldCBzb2NrZXQgdGltZW91 dCBmb3Igc3RyZWFtaW5nIG9wZXJhdGlvbi4KIyBUaGUgc3RyZWFtIHNlc3Npb24gaXMgZmFpbGVk IGlmIG5vIGRhdGEvYWNrIGlzIHJlY2VpdmVkIGJ5IGFueSBvZiB0aGUgcGFydGljaXBhbnRzCiMg d2l0aGluIHRoYXQgcGVyaW9kLCB3aGljaCBtZWFucyB0aGlzIHNob3VsZCBhbHNvIGJlIHN1ZmZp Y2llbnQgdG8gc3RyZWFtIGEgbGFyZ2UKIyBzc3RhYmxlIG9yIHJlYnVpbGQgdGFibGUgaW5kZXhl cy4KIyBEZWZhdWx0IHZhbHVlIGlzIDg2NDAwMDAwbXMsIHdoaWNoIG1lYW5zIHN0YWxlIHN0cmVh bXMgdGltZW91dCBhZnRlciAyNCBob3Vycy4KIyBBIHZhbHVlIG9mIHplcm8gbWVhbnMgc3RyZWFt IHNvY2tldHMgc2hvdWxkIG5ldmVyIHRpbWUgb3V0LgojIHN0cmVhbWluZ19zb2NrZXRfdGltZW91 dF9pbl9tczogODY0MDAwMDAKCiMgcGhpIHZhbHVlIHRoYXQgbXVzdCBiZSByZWFjaGVkIGZvciBh IGhvc3QgdG8gYmUgbWFya2VkIGRvd24uCiMgbW9zdCB1c2VycyBzaG91bGQgbmV2ZXIgbmVlZCB0 byBhZGp1c3QgdGhpcy4KIyBwaGlfY29udmljdF90aHJlc2hvbGQ6IDgKCiMgZW5kcG9pbnRfc25p dGNoIC0tIFNldCB0aGlzIHRvIGEgY2xhc3MgdGhhdCBpbXBsZW1lbnRzCiMgSUVuZHBvaW50U25p dGNoLiAgVGhlIHNuaXRjaCBoYXMgdHdvIGZ1bmN0aW9uczoKIyAtIGl0IHRlYWNoZXMgQ2Fzc2Fu ZHJhIGVub3VnaCBhYm91dCB5b3VyIG5ldHdvcmsgdG9wb2xvZ3kgdG8gcm91dGUKIyAgIHJlcXVl c3RzIGVmZmljaWVudGx5CiMgLSBpdCBhbGxvd3MgQ2Fzc2FuZHJhIHRvIHNwcmVhZCByZXBsaWNh cyBhcm91bmQgeW91ciBjbHVzdGVyIHRvIGF2b2lkCiMgICBjb3JyZWxhdGVkIGZhaWx1cmVzLiBJ dCBkb2VzIHRoaXMgYnkgZ3JvdXBpbmcgbWFjaGluZXMgaW50bwojICAgImRhdGFjZW50ZXJzIiBh bmQgInJhY2tzLiIgIENhc3NhbmRyYSB3aWxsIGRvIGl0cyBiZXN0IG5vdCB0byBoYXZlCiMgICBt b3JlIHRoYW4gb25lIHJlcGxpY2Egb24gdGhlIHNhbWUgInJhY2siICh3aGljaCBtYXkgbm90IGFj dHVhbGx5CiMgICBiZSBhIHBoeXNpY2FsIGxvY2F0aW9uKQojCiMgSUYgWU9VIENIQU5HRSBUSEUg U05JVENIIEFGVEVSIERBVEEgSVMgSU5TRVJURUQgSU5UTyBUSEUgQ0xVU1RFUiwKIyBZT1UgTVVT VCBSVU4gQSBGVUxMIFJFUEFJUiwgU0lOQ0UgVEhFIFNOSVRDSCBBRkZFQ1RTIFdIRVJFIFJFUExJ Q0FTCiMgQVJFIFBMQUNFRC4KIwojIElGIFRIRSBSQUNLIEEgUkVQTElDQSBJUyBQTEFDRUQgSU4g Q0hBTkdFUyBBRlRFUiBUSEUgUkVQTElDQSBIQVMgQkVFTgojIEFEREVEIFRPIEEgUklORywgVEhF IE5PREUgTVVTVCBCRSBERUNPTU1JU1NJT05FRCBBTkQgUkVCT09UU1RSQVBQRUQuCiMKIyBPdXQg b2YgdGhlIGJveCwgQ2Fzc2FuZHJhIHByb3ZpZGVzCiMgIC0gU2ltcGxlU25pdGNoOgojICAgIFRy ZWF0cyBTdHJhdGVneSBvcmRlciBhcyBwcm94aW1pdHkuIFRoaXMgY2FuIGltcHJvdmUgY2FjaGUK IyAgICBsb2NhbGl0eSB3aGVuIGRpc2FibGluZyByZWFkIHJlcGFpci4gIE9ubHkgYXBwcm9wcmlh dGUgZm9yCiMgICAgc2luZ2xlLWRhdGFjZW50ZXIgZGVwbG95bWVudHMuCiMgIC0gR29zc2lwaW5n UHJvcGVydHlGaWxlU25pdGNoCiMgICAgVGhpcyBzaG91bGQgYmUgeW91ciBnby10byBzbml0Y2gg Zm9yIHByb2R1Y3Rpb24gdXNlLiAgVGhlIHJhY2sKIyAgICBhbmQgZGF0YWNlbnRlciBmb3IgdGhl IGxvY2FsIG5vZGUgYXJlIGRlZmluZWQgaW4KIyAgICBjYXNzYW5kcmEtcmFja2RjLnByb3BlcnRp ZXMgYW5kIHByb3BhZ2F0ZWQgdG8gb3RoZXIgbm9kZXMgdmlhCiMgICAgZ29zc2lwLiAgSWYgY2Fz c2FuZHJhLXRvcG9sb2d5LnByb3BlcnRpZXMgZXhpc3RzLCBpdCBpcyB1c2VkIGFzIGEKIyAgICBm YWxsYmFjaywgYWxsb3dpbmcgbWlncmF0aW9uIGZyb20gdGhlIFByb3BlcnR5RmlsZVNuaXRjaC4K IyAgLSBQcm9wZXJ0eUZpbGVTbml0Y2g6CiMgICAgUHJveGltaXR5IGlzIGRldGVybWluZWQgYnkg cmFjayBhbmQgZGF0YSBjZW50ZXIsIHdoaWNoIGFyZQojICAgIGV4cGxpY2l0bHkgY29uZmlndXJl ZCBpbiBjYXNzYW5kcmEtdG9wb2xvZ3kucHJvcGVydGllcy4KIyAgLSBFYzJTbml0Y2g6CiMgICAg QXBwcm9wcmlhdGUgZm9yIEVDMiBkZXBsb3ltZW50cyBpbiBhIHNpbmdsZSBSZWdpb24uIExvYWRz IFJlZ2lvbgojICAgIGFuZCBBdmFpbGFiaWxpdHkgWm9uZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBF QzIgQVBJLiBUaGUgUmVnaW9uIGlzCiMgICAgdHJlYXRlZCBhcyB0aGUgZGF0YWNlbnRlciwgYW5k IHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBhcyB0aGUgcmFjay4KIyAgICBPbmx5IHByaXZhdGUgSVBz IGFyZSB1c2VkLCBzbyB0aGlzIHdpbGwgbm90IHdvcmsgYWNyb3NzIG11bHRpcGxlCiMgICAgUmVn aW9ucy4KIyAgLSBFYzJNdWx0aVJlZ2lvblNuaXRjaDoKIyAgICBVc2VzIHB1YmxpYyBJUHMgYXMg YnJvYWRjYXN0X2FkZHJlc3MgdG8gYWxsb3cgY3Jvc3MtcmVnaW9uCiMgICAgY29ubmVjdGl2aXR5 LiAgKFRodXMsIHlvdSBzaG91bGQgc2V0IHNlZWQgYWRkcmVzc2VzIHRvIHRoZSBwdWJsaWMKIyAg ICBJUCBhcyB3ZWxsLikgWW91IHdpbGwgbmVlZCB0byBvcGVuIHRoZSBzdG9yYWdlX3BvcnQgb3IK IyAgICBzc2xfc3RvcmFnZV9wb3J0IG9uIHRoZSBwdWJsaWMgSVAgZmlyZXdhbGwuICAoRm9yIGlu dHJhLVJlZ2lvbgojICAgIHRyYWZmaWMsIENhc3NhbmRyYSB3aWxsIHN3aXRjaCB0byB0aGUgcHJp dmF0ZSBJUCBhZnRlcgojICAgIGVzdGFibGlzaGluZyBhIGNvbm5lY3Rpb24uKQojICAtIFJhY2tJ bmZlcnJpbmdTbml0Y2g6CiMgICAgUHJveGltaXR5IGlzIGRldGVybWluZWQgYnkgcmFjayBhbmQg ZGF0YSBjZW50ZXIsIHdoaWNoIGFyZQojICAgIGFzc3VtZWQgdG8gY29ycmVzcG9uZCB0byB0aGUg M3JkIGFuZCAybmQgb2N0ZXQgb2YgZWFjaCBub2RlJ3MgSVAKIyAgICBhZGRyZXNzLCByZXNwZWN0 aXZlbHkuICBVbmxlc3MgdGhpcyBoYXBwZW5zIHRvIG1hdGNoIHlvdXIKIyAgICBkZXBsb3ltZW50 IGNvbnZlbnRpb25zLCB0aGlzIGlzIGJlc3QgdXNlZCBhcyBhbiBleGFtcGxlIG9mCiMgICAgd3Jp dGluZyBhIGN1c3RvbSBTbml0Y2ggY2xhc3MgYW5kIGlzIHByb3ZpZGVkIGluIHRoYXQgc3Bpcml0 LgojCiMgWW91IGNhbiB1c2UgYSBjdXN0b20gU25pdGNoIGJ5IHNldHRpbmcgdGhpcyB0byB0aGUg ZnVsbCBjbGFzcyBuYW1lCiMgb2YgdGhlIHNuaXRjaCwgd2hpY2ggd2lsbCBiZSBhc3N1bWVkIHRv IGJlIG9uIHlvdXIgY2xhc3NwYXRoLgplbmRwb2ludF9zbml0Y2g6IEdvc3NpcGluZ1Byb3BlcnR5 RmlsZVNuaXRjaAoKIyBjb250cm9scyBob3cgb2Z0ZW4gdG8gcGVyZm9ybSB0aGUgbW9yZSBleHBl bnNpdmUgcGFydCBvZiBob3N0IHNjb3JlCiMgY2FsY3VsYXRpb24KZHluYW1pY19zbml0Y2hfdXBk YXRlX2ludGVydmFsX2luX21zOiAxMDAgCiMgY29udHJvbHMgaG93IG9mdGVuIHRvIHJlc2V0IGFs bCBob3N0IHNjb3JlcywgYWxsb3dpbmcgYSBiYWQgaG9zdCB0bwojIHBvc3NpYmx5IHJlY292ZXIK ZHluYW1pY19zbml0Y2hfcmVzZXRfaW50ZXJ2YWxfaW5fbXM6IDYwMDAwMAojIGlmIHNldCBncmVh dGVyIHRoYW4gemVybyBhbmQgcmVhZF9yZXBhaXJfY2hhbmNlIGlzIDwgMS4wLCB0aGlzIHdpbGwg YWxsb3cKIyAncGlubmluZycgb2YgcmVwbGljYXMgdG8gaG9zdHMgaW4gb3JkZXIgdG8gaW5jcmVh c2UgY2FjaGUgY2FwYWNpdHkuCiMgVGhlIGJhZG5lc3MgdGhyZXNob2xkIHdpbGwgY29udHJvbCBo b3cgbXVjaCB3b3JzZSB0aGUgcGlubmVkIGhvc3QgaGFzIHRvIGJlCiMgYmVmb3JlIHRoZSBkeW5h bWljIHNuaXRjaCB3aWxsIHByZWZlciBvdGhlciByZXBsaWNhcyBvdmVyIGl0LiAgVGhpcyBpcwoj IGV4cHJlc3NlZCBhcyBhIGRvdWJsZSB3aGljaCByZXByZXNlbnRzIGEgcGVyY2VudGFnZS4gIFRo dXMsIGEgdmFsdWUgb2YKIyAwLjIgbWVhbnMgQ2Fzc2FuZHJhIHdvdWxkIGNvbnRpbnVlIHRvIHBy ZWZlciB0aGUgc3RhdGljIHNuaXRjaCB2YWx1ZXMKIyB1bnRpbCB0aGUgcGlubmVkIGhvc3Qgd2Fz IDIwJSB3b3JzZSB0aGFuIHRoZSBmYXN0ZXN0LgpkeW5hbWljX3NuaXRjaF9iYWRuZXNzX3RocmVz aG9sZDogMC4xCgojIHJlcXVlc3Rfc2NoZWR1bGVyIC0tIFNldCB0aGlzIHRvIGEgY2xhc3MgdGhh dCBpbXBsZW1lbnRzCiMgUmVxdWVzdFNjaGVkdWxlciwgd2hpY2ggd2lsbCBzY2hlZHVsZSBpbmNv bWluZyBjbGllbnQgcmVxdWVzdHMKIyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljIHBvbGljeS4g VGhpcyBpcyB1c2VmdWwgZm9yIG11bHRpLXRlbmFuY3kKIyB3aXRoIGEgc2luZ2xlIENhc3NhbmRy YSBjbHVzdGVyLgojIE5PVEU6IFRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciByZXF1ZXN0cyBmcm9t IHRoZSBjbGllbnQgYW5kIGRvZXMKIyBub3QgYWZmZWN0IGludGVyIG5vZGUgY29tbXVuaWNhdGlv bi4KIyBvcmcuYXBhY2hlLmNhc3NhbmRyYS5zY2hlZHVsZXIuTm9TY2hlZHVsZXIgLSBObyBzY2hl ZHVsaW5nIHRha2VzIHBsYWNlCiMgb3JnLmFwYWNoZS5jYXNzYW5kcmEuc2NoZWR1bGVyLlJvdW5k Um9iaW5TY2hlZHVsZXIgLSBSb3VuZCByb2JpbiBvZgojIGNsaWVudCByZXF1ZXN0cyB0byBhIG5v ZGUgd2l0aCBhIHNlcGFyYXRlIHF1ZXVlIGZvciBlYWNoCiMgcmVxdWVzdF9zY2hlZHVsZXJfaWQu IFRoZSBzY2hlZHVsZXIgaXMgZnVydGhlciBjdXN0b21pemVkIGJ5CiMgcmVxdWVzdF9zY2hlZHVs ZXJfb3B0aW9ucyBhcyBkZXNjcmliZWQgYmVsb3cuCnJlcXVlc3Rfc2NoZWR1bGVyOiBvcmcuYXBh Y2hlLmNhc3NhbmRyYS5zY2hlZHVsZXIuTm9TY2hlZHVsZXIKCiMgU2NoZWR1bGVyIE9wdGlvbnMg dmFyeSBiYXNlZCBvbiB0aGUgdHlwZSBvZiBzY2hlZHVsZXIKIyBOb1NjaGVkdWxlciAtIEhhcyBu byBvcHRpb25zCiMgUm91bmRSb2JpbgojICAtIHRocm90dGxlX2xpbWl0IC0tIFRoZSB0aHJvdHRs ZV9saW1pdCBpcyB0aGUgbnVtYmVyIG9mIGluLWZsaWdodAojICAgICAgICAgICAgICAgICAgICAg IHJlcXVlc3RzIHBlciBjbGllbnQuICBSZXF1ZXN0cyBiZXlvbmQgCiMgICAgICAgICAgICAgICAg ICAgICAgdGhhdCBsaW1pdCBhcmUgcXVldWVkIHVwIHVudGlsCiMgICAgICAgICAgICAgICAgICAg ICAgcnVubmluZyByZXF1ZXN0cyBjYW4gY29tcGxldGUuCiMgICAgICAgICAgICAgICAgICAgICAg VGhlIHZhbHVlIG9mIDgwIGhlcmUgaXMgdHdpY2UgdGhlIG51bWJlciBvZgojICAgICAgICAgICAg ICAgICAgICAgIGNvbmN1cnJlbnRfcmVhZHMgKyBjb25jdXJyZW50X3dyaXRlcy4KIyAgLSBkZWZh dWx0X3dlaWdodCAtLSBkZWZhdWx0X3dlaWdodCBpcyBvcHRpb25hbCBhbmQgYWxsb3dzIGZvcgoj ICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgd2hpY2ggaXMgMS4K IyAgLSB3ZWlnaHRzIC0tIFdlaWdodHMgYXJlIG9wdGlvbmFsIGFuZCB3aWxsIGRlZmF1bHQgdG8g MSBvciB0aGUKIyAgICAgICAgICAgICAgIG92ZXJyaWRkZW4gZGVmYXVsdF93ZWlnaHQuIFRoZSB3 ZWlnaHQgdHJhbnNsYXRlcyBpbnRvIGhvdwojICAgICAgICAgICAgICAgbWFueSByZXF1ZXN0cyBh cmUgaGFuZGxlZCBkdXJpbmcgZWFjaCB0dXJuIG9mIHRoZQojICAgICAgICAgICAgICAgUm91bmRS b2JpbiwgYmFzZWQgb24gdGhlIHNjaGVkdWxlciBpZC4KIwojIHJlcXVlc3Rfc2NoZWR1bGVyX29w dGlvbnM6CiMgICAgdGhyb3R0bGVfbGltaXQ6IDgwCiMgICAgZGVmYXVsdF93ZWlnaHQ6IDUKIyAg ICB3ZWlnaHRzOgojICAgICAgS2V5c3BhY2UxOiAxCiMgICAgICBLZXlzcGFjZTI6IDUKCiMgcmVx dWVzdF9zY2hlZHVsZXJfaWQgLS0gQW4gaWRlbnRpZmllciBiYXNlZCBvbiB3aGljaCB0byBwZXJm b3JtCiMgdGhlIHJlcXVlc3Qgc2NoZWR1bGluZy4gQ3VycmVudGx5IHRoZSBvbmx5IHZhbGlkIG9w dGlvbiBpcyBrZXlzcGFjZS4KIyByZXF1ZXN0X3NjaGVkdWxlcl9pZDoga2V5c3BhY2UKCiMgRW5h YmxlIG9yIGRpc2FibGUgaW50ZXItbm9kZSBlbmNyeXB0aW9uCiMgSlZNIGRlZmF1bHRzIGZvciBz dXBwb3J0ZWQgU1NMIHNvY2tldCBwcm90b2NvbHMgYW5kIGNpcGhlciBzdWl0ZXMgY2FuCiMgYmUg cmVwbGFjZWQgdXNpbmcgY3VzdG9tIGVuY3J5cHRpb24gb3B0aW9ucy4gVGhpcyBpcyBub3QgcmVj b21tZW5kZWQKIyB1bmxlc3MgeW91IGhhdmUgcG9saWNpZXMgaW4gcGxhY2UgdGhhdCBkaWN0YXRl IGNlcnRhaW4gc2V0dGluZ3MsIG9yCiMgbmVlZCB0byBkaXNhYmxlIHZ1bG5lcmFibGUgY2lwaGVy cyBvciBwcm90b2NvbHMgaW4gY2FzZSB0aGUgSlZNIGNhbm5vdAojIGJlIHVwZGF0ZWQuCiMgRklQ UyBjb21wbGlhbnQgc2V0dGluZ3MgY2FuIGJlIGNvbmZpZ3VyZWQgYXQgSlZNIGxldmVsIGFuZCBz aG91bGQgbm90CiMgaW52b2x2ZSBjaGFuZ2luZyBlbmNyeXB0aW9uIHNldHRpbmdzIGhlcmU6CiMg aHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlLzgvZG9jcy90ZWNobm90ZXMvZ3VpZGVzL3Nl Y3VyaXR5L2pzc2UvRklQUy5odG1sCiMgTk9URTogTm8gY3VzdG9tIGVuY3J5cHRpb24gb3B0aW9u cyBhcmUgZW5hYmxlZCBhdCB0aGUgbW9tZW50CiMgVGhlIGF2YWlsYWJsZSBpbnRlcm5vZGUgb3B0 aW9ucyBhcmUgOiBhbGwsIG5vbmUsIGRjLCByYWNrCiMKIyBJZiBzZXQgdG8gZGMgY2Fzc2FuZHJh IHdpbGwgZW5jcnlwdCB0aGUgdHJhZmZpYyBiZXR3ZWVuIHRoZSBEQ3MKIyBJZiBzZXQgdG8gcmFj ayBjYXNzYW5kcmEgd2lsbCBlbmNyeXB0IHRoZSB0cmFmZmljIGJldHdlZW4gdGhlIHJhY2tzCiMK IyBUaGUgcGFzc3dvcmRzIHVzZWQgaW4gdGhlc2Ugb3B0aW9ucyBtdXN0IG1hdGNoIHRoZSBwYXNz d29yZHMgdXNlZCB3aGVuIGdlbmVyYXRpbmcKIyB0aGUga2V5c3RvcmUgYW5kIHRydXN0c3RvcmUu ICBGb3IgaW5zdHJ1Y3Rpb25zIG9uIGdlbmVyYXRpbmcgdGhlc2UgZmlsZXMsIHNlZToKIyBodHRw Oi8vZG93bmxvYWQub3JhY2xlLmNvbS9qYXZhc2UvNi9kb2NzL3RlY2hub3Rlcy9ndWlkZXMvc2Vj dXJpdHkvanNzZS9KU1NFUmVmR3VpZGUuaHRtbCNDcmVhdGVLZXlzdG9yZQojCnNlcnZlcl9lbmNy eXB0aW9uX29wdGlvbnM6CiAgICBpbnRlcm5vZGVfZW5jcnlwdGlvbjogbm9uZQogICAga2V5c3Rv cmU6IGNvbmYvLmtleXN0b3JlCiAgICBrZXlzdG9yZV9wYXNzd29yZDogY2Fzc2FuZHJhCiAgICB0 cnVzdHN0b3JlOiBjb25mLy50cnVzdHN0b3JlCiAgICB0cnVzdHN0b3JlX3Bhc3N3b3JkOiBjYXNz YW5kcmEKICAgICMgTW9yZSBhZHZhbmNlZCBkZWZhdWx0cyBiZWxvdzoKICAgICMgcHJvdG9jb2w6 IFRMUwogICAgIyBhbGdvcml0aG06IFN1blg1MDkKICAgICMgc3RvcmVfdHlwZTogSktTCiAgICAj IGNpcGhlcl9zdWl0ZXM6IFtUTFNfUlNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBLFRMU19SU0FfV0lU SF9BRVNfMjU2X0NCQ19TSEEsVExTX0RIRV9SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEsVExTX0RI RV9SU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEsVExTX0VDREhFX1JTQV9XSVRIX0FFU18xMjhfQ0JD X1NIQSxUTFNfRUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hBXQogICAgIyByZXF1aXJlX2Ns aWVudF9hdXRoOiBmYWxzZQogICAgIyByZXF1aXJlX2VuZHBvaW50X3ZlcmlmaWNhdGlvbjogZmFs c2UKCiMgZW5hYmxlIG9yIGRpc2FibGUgY2xpZW50L3NlcnZlciBlbmNyeXB0aW9uLgpjbGllbnRf ZW5jcnlwdGlvbl9vcHRpb25zOgogICAgZW5hYmxlZDogZmFsc2UKICAgICMgSWYgZW5hYmxlZCBh bmQgb3B0aW9uYWwgaXMgc2V0IHRvIHRydWUgZW5jcnlwdGVkIGFuZCB1bmVuY3J5cHRlZCBjb25u ZWN0aW9ucyBhcmUgaGFuZGxlZC4KICAgIG9wdGlvbmFsOiBmYWxzZQogICAga2V5c3RvcmU6IGNv bmYvLmtleXN0b3JlCiAgICBrZXlzdG9yZV9wYXNzd29yZDogY2Fzc2FuZHJhCiAgICAjIHJlcXVp cmVfY2xpZW50X2F1dGg6IGZhbHNlCiAgICAjIFNldCB0cnVzdG9yZSBhbmQgdHJ1c3RzdG9yZV9w YXNzd29yZCBpZiByZXF1aXJlX2NsaWVudF9hdXRoIGlzIHRydWUKICAgICMgdHJ1c3RzdG9yZTog Y29uZi8udHJ1c3RzdG9yZQogICAgIyB0cnVzdHN0b3JlX3Bhc3N3b3JkOiBjYXNzYW5kcmEKICAg ICMgTW9yZSBhZHZhbmNlZCBkZWZhdWx0cyBiZWxvdzoKICAgICMgcHJvdG9jb2w6IFRMUwogICAg IyBhbGdvcml0aG06IFN1blg1MDkKICAgICMgc3RvcmVfdHlwZTogSktTCiAgICAjIGNpcGhlcl9z dWl0ZXM6IFtUTFNfUlNBX1dJVEhfQUVTXzEyOF9DQkNfU0hBLFRMU19SU0FfV0lUSF9BRVNfMjU2 X0NCQ19TSEEsVExTX0RIRV9SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEsVExTX0RIRV9SU0FfV0lU SF9BRVNfMjU2X0NCQ19TSEEsVExTX0VDREhFX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQSxUTFNf RUNESEVfUlNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hBXQoKIyBpbnRlcm5vZGVfY29tcHJlc3Npb24g Y29udHJvbHMgd2hldGhlciB0cmFmZmljIGJldHdlZW4gbm9kZXMgaXMKIyBjb21wcmVzc2VkLgoj IGNhbiBiZTogIGFsbCAgLSBhbGwgdHJhZmZpYyBpcyBjb21wcmVzc2VkCiMgICAgICAgICAgZGMg ICAtIHRyYWZmaWMgYmV0d2VlbiBkaWZmZXJlbnQgZGF0YWNlbnRlcnMgaXMgY29tcHJlc3NlZAoj ICAgICAgICAgIG5vbmUgLSBub3RoaW5nIGlzIGNvbXByZXNzZWQuCmludGVybm9kZV9jb21wcmVz c2lvbjogZGMKCiMgRW5hYmxlIG9yIGRpc2FibGUgdGNwX25vZGVsYXkgZm9yIGludGVyLWRjIGNv bW11bmljYXRpb24uCiMgRGlzYWJsaW5nIGl0IHdpbGwgcmVzdWx0IGluIGxhcmdlciAoYnV0IGZl d2VyKSBuZXR3b3JrIHBhY2tldHMgYmVpbmcgc2VudCwKIyByZWR1Y2luZyBvdmVyaGVhZCBmcm9t IHRoZSBUQ1AgcHJvdG9jb2wgaXRzZWxmLCBhdCB0aGUgY29zdCBvZiBpbmNyZWFzaW5nCiMgbGF0 ZW5jeSBpZiB5b3UgYmxvY2sgZm9yIGNyb3NzLWRhdGFjZW50ZXIgcmVzcG9uc2VzLgppbnRlcl9k Y190Y3Bfbm9kZWxheTogRmFsc2UKCiMgVFRMIGZvciBkaWZmZXJlbnQgdHJhY2UgdHlwZXMgdXNl ZCBkdXJpbmcgbG9nZ2luZyBvZiB0aGUgcmVwYWlyIHByb2Nlc3MuCnRyYWNldHlwZV9xdWVyeV90 dGw6IDg2NDAwCnRyYWNldHlwZV9yZXBhaXJfdHRsOiA2MDQ4MDAKCiMgVURGcyAodXNlciBkZWZp bmVkIGZ1bmN0aW9ucykgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQuCiMgQXMgb2YgQ2Fzc2FuZHJh IDMuMCB0aGVyZSBpcyBhIHNhbmRib3ggaW4gcGxhY2UgdGhhdCBzaG91bGQgcHJldmVudCBleGVj dXRpb24gb2YgZXZpbCBjb2RlLgplbmFibGVfdXNlcl9kZWZpbmVkX2Z1bmN0aW9uczogZmFsc2UK CiMgRW5hYmxlcyBzY3JpcHRlZCBVREZzIChKYXZhU2NyaXB0IFVERnMpLgojIEphdmEgVURGcyBh cmUgYWx3YXlzIGVuYWJsZWQsIGlmIGVuYWJsZV91c2VyX2RlZmluZWRfZnVuY3Rpb25zIGlzIHRy dWUuCiMgRW5hYmxlIHRoaXMgb3B0aW9uIHRvIGJlIGFibGUgdG8gdXNlIFVERnMgd2l0aCAibGFu Z3VhZ2UgamF2YXNjcmlwdCIgb3IgYW55IGN1c3RvbSBKU1ItMjIzIHByb3ZpZGVyLgojIFRoaXMg b3B0aW9uIGhhcyBubyBlZmZlY3QsIGlmIGVuYWJsZV91c2VyX2RlZmluZWRfZnVuY3Rpb25zIGlz IGZhbHNlLgplbmFibGVfc2NyaXB0ZWRfdXNlcl9kZWZpbmVkX2Z1bmN0aW9uczogZmFsc2UKCiMg VGhlIGRlZmF1bHQgV2luZG93cyBrZXJuZWwgdGltZXIgYW5kIHNjaGVkdWxpbmcgcmVzb2x1dGlv biBpcyAxNS42bXMgZm9yIHBvd2VyIGNvbnNlcnZhdGlvbi4KIyBMb3dlcmluZyB0aGlzIHZhbHVl IG9uIFdpbmRvd3MgY2FuIHByb3ZpZGUgbXVjaCB0aWdodGVyIGxhdGVuY3kgYW5kIGJldHRlciB0 aHJvdWdocHV0LCBob3dldmVyCiMgc29tZSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbWF5IHNl ZSBhIG5lZ2F0aXZlIHBlcmZvcm1hbmNlIGltcGFjdCBmcm9tIGNoYW5naW5nIHRoaXMgc2V0dGlu ZwojIGJlbG93IHRoZWlyIHN5c3RlbSBkZWZhdWx0LiBUaGUgc3lzaW50ZXJuYWxzICdjbG9ja3Jl cycgdG9vbCBjYW4gY29uZmlybSB5b3VyIHN5c3RlbSdzIGRlZmF1bHQKIyBzZXR0aW5nLgp3aW5k b3dzX3RpbWVyX2ludGVydmFsOiAxCgoKIyBFbmFibGVzIGVuY3J5cHRpbmcgZGF0YSBhdC1yZXN0 IChvbiBkaXNrKS4gRGlmZmVyZW50IGtleSBwcm92aWRlcnMgY2FuIGJlIHBsdWdnZWQgaW4sIGJ1 dCB0aGUgZGVmYXVsdCByZWFkcyBmcm9tCiMgYSBKQ0Utc3R5bGUga2V5c3RvcmUuIEEgc2luZ2xl IGtleXN0b3JlIGNhbiBob2xkIG11bHRpcGxlIGtleXMsIGJ1dCB0aGUgb25lIHJlZmVyZW5jZWQg YnkKIyB0aGUgImtleV9hbGlhcyIgaXMgdGhlIG9ubHkga2V5IHRoYXQgd2lsbCBiZSB1c2VkIGZv ciBlbmNyeXB0IG9wZXJ0YWlvbnM7IHByZXZpb3VzbHkgdXNlZCBrZXlzCiMgY2FuIHN0aWxsIChh bmQgc2hvdWxkISkgYmUgaW4gdGhlIGtleXN0b3JlIGFuZCB3aWxsIGJlIHVzZWQgb24gZGVjcnlw dCBvcGVyYXRpb25zCiMgKHRvIGhhbmRsZSB0aGUgY2FzZSBvZiBrZXkgcm90YXRpb24pLgojCiMg SXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gZG93bmxvYWQgYW5kIGluc3RhbGwgSmF2YSBD cnlwdG9ncmFwaHkgRXh0ZW5zaW9uIChKQ0UpCiMgVW5saW1pdGVkIFN0cmVuZ3RoIEp1cmlzZGlj dGlvbiBQb2xpY3kgRmlsZXMgZm9yIHlvdXIgdmVyc2lvbiBvZiB0aGUgSkRLLgojIChjdXJyZW50 IGxpbms6IGh0dHA6Ly93d3cub3JhY2xlLmNvbS90ZWNobmV0d29yay9qYXZhL2phdmFzZS9kb3du bG9hZHMvamNlOC1kb3dubG9hZC0yMTMzMTY2Lmh0bWwpCiMKIyBDdXJyZW50bHksIG9ubHkgdGhl IGZvbGxvd2luZyBmaWxlIHR5cGVzIGFyZSBzdXBwb3J0ZWQgZm9yIHRyYW5zcGFyZW50IGRhdGEg ZW5jcnlwdGlvbiwgYWx0aG91Z2gKIyBtb3JlIGFyZSBjb21pbmcgaW4gZnV0dXJlIGNhc3NhbmRy YSByZWxlYXNlczogY29tbWl0bG9nLCBoaW50cwp0cmFuc3BhcmVudF9kYXRhX2VuY3J5cHRpb25f b3B0aW9uczoKICAgIGVuYWJsZWQ6IGZhbHNlCiAgICBjaHVua19sZW5ndGhfa2I6IDY0CiAgICBj aXBoZXI6IEFFUy9DQkMvUEtDUzVQYWRkaW5nCiAgICBrZXlfYWxpYXM6IHRlc3Rpbmc6MQogICAg IyBDQkMgSVYgbGVuZ3RoIGZvciBBRVMgbmVlZHMgdG8gYmUgMTYgYnl0ZXMgKHdoaWNoIGlzIGFs c28gdGhlIGRlZmF1bHQgc2l6ZSkKICAgICMgaXZfbGVuZ3RoOiAxNgogICAga2V5X3Byb3ZpZGVy OiAKICAgICAgLSBjbGFzc19uYW1lOiBvcmcuYXBhY2hlLmNhc3NhbmRyYS5zZWN1cml0eS5KS1NL ZXlQcm92aWRlcgogICAgICAgIHBhcmFtZXRlcnM6IAogICAgICAgICAgLSBrZXlzdG9yZTogY29u Zi8ua2V5c3RvcmUKICAgICAgICAgICAga2V5c3RvcmVfcGFzc3dvcmQ6IGNhc3NhbmRyYQogICAg ICAgICAgICBzdG9yZV90eXBlOiBKQ0VLUwogICAgICAgICAgICBrZXlfcGFzc3dvcmQ6IGNhc3Nh bmRyYQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNBRkVUWSBUSFJFU0hPTERTICMKIyMjIyMj IyMjIyMjIyMjIyMjIyMjCgojIFdoZW4gZXhlY3V0aW5nIGEgc2Nhbiwgd2l0aGluIG9yIGFjcm9z cyBhIHBhcnRpdGlvbiwgd2UgbmVlZCB0byBrZWVwIHRoZQojIHRvbWJzdG9uZXMgc2VlbiBpbiBt ZW1vcnkgc28gd2UgY2FuIHJldHVybiB0aGVtIHRvIHRoZSBjb29yZGluYXRvciwgd2hpY2gKIyB3 aWxsIHVzZSB0aGVtIHRvIG1ha2Ugc3VyZSBvdGhlciByZXBsaWNhcyBhbHNvIGtub3cgYWJvdXQg dGhlIGRlbGV0ZWQgcm93cy4KIyBXaXRoIHdvcmtsb2FkcyB0aGF0IGdlbmVyYXRlIGEgbG90IG9m IHRvbWJzdG9uZXMsIHRoaXMgY2FuIGNhdXNlIHBlcmZvcm1hbmNlCiMgcHJvYmxlbXMgYW5kIGV2 ZW4gZXhhdXN0IHRoZSBzZXJ2ZXIgaGVhcC4KIyAoaHR0cDovL3d3dy5kYXRhc3RheC5jb20vZGV2 L2Jsb2cvY2Fzc2FuZHJhLWFudGktcGF0dGVybnMtcXVldWVzLWFuZC1xdWV1ZS1saWtlLWRhdGFz ZXRzKQojIEFkanVzdCB0aGUgdGhyZXNob2xkcyBoZXJlIGlmIHlvdSB1bmRlcnN0YW5kIHRoZSBk YW5nZXJzIGFuZCB3YW50IHRvCiMgc2NhbiBtb3JlIHRvbWJzdG9uZXMgYW55d2F5LiAgVGhlc2Ug dGhyZXNob2xkcyBtYXkgYWxzbyBiZSBhZGp1c3RlZCBhdCBydW50aW1lCiMgdXNpbmcgdGhlIFN0 b3JhZ2VTZXJ2aWNlIG1iZWFuLgp0b21ic3RvbmVfd2Fybl90aHJlc2hvbGQ6IDEwMDAKdG9tYnN0 b25lX2ZhaWx1cmVfdGhyZXNob2xkOiAxMDAwMDAKCiMgTG9nIFdBUk4gb24gYW55IGJhdGNoIHNp emUgZXhjZWVkaW5nIHRoaXMgdmFsdWUuIDVrYiBwZXIgYmF0Y2ggYnkgZGVmYXVsdC4KIyBDYXV0 aW9uIHNob3VsZCBiZSB0YWtlbiBvbiBpbmNyZWFzaW5nIHRoZSBzaXplIG9mIHRoaXMgdGhyZXNo b2xkIGFzIGl0IGNhbiBsZWFkIHRvIG5vZGUgaW5zdGFiaWxpdHkuCmJhdGNoX3NpemVfd2Fybl90 aHJlc2hvbGRfaW5fa2I6IDUKCiMgRmFpbCBhbnkgYmF0Y2ggZXhjZWVkaW5nIHRoaXMgdmFsdWUu IDUwa2IgKDEweCB3YXJuIHRocmVzaG9sZCkgYnkgZGVmYXVsdC4KYmF0Y2hfc2l6ZV9mYWlsX3Ro cmVzaG9sZF9pbl9rYjogNTAKCiMgTG9nIFdBUk4gb24gYW55IGJhdGNoZXMgbm90IG9mIHR5cGUg TE9HR0VEIHRoYW4gc3BhbiBhY3Jvc3MgbW9yZSBwYXJ0aXRpb25zIHRoYW4gdGhpcyBsaW1pdAp1 bmxvZ2dlZF9iYXRjaF9hY3Jvc3NfcGFydGl0aW9uc193YXJuX3RocmVzaG9sZDogMTAKCiMgTG9n IGEgd2FybmluZyB3aGVuIGNvbXBhY3RpbmcgcGFydGl0aW9ucyBsYXJnZXIgdGhhbiB0aGlzIHZh bHVlCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDAK CiMgR0MgUGF1c2VzIGdyZWF0ZXIgdGhhbiBnY193YXJuX3RocmVzaG9sZF9pbl9tcyB3aWxsIGJl IGxvZ2dlZCBhdCBXQVJOIGxldmVsCiMgQWRqdXN0IHRoZSB0aHJlc2hvbGQgYmFzZWQgb24geW91 ciBhcHBsaWNhdGlvbiB0aHJvdWdocHV0IHJlcXVpcmVtZW50CiMgQnkgZGVmYXVsdCwgQ2Fzc2Fu ZHJhIGxvZ3MgR0MgUGF1c2VzIGdyZWF0ZXIgdGhhbiAyMDAgbXMgYXQgSU5GTyBsZXZlbApnY193 YXJuX3RocmVzaG9sZF9pbl9tczogMTAwMAoKIyBNYXhpbXVtIHNpemUgb2YgYW55IHZhbHVlIGlu IFNTVGFibGVzLiBTYWZldHkgbWVhc3VyZSB0byBkZXRlY3QgU1NUYWJsZSBjb3JydXB0aW9uCiMg ZWFybHkuIEFueSB2YWx1ZSBzaXplIGxhcmdlciB0aGFuIHRoaXMgdGhyZXNob2xkIHdpbGwgcmVz dWx0IGludG8gbWFya2luZyBhbiBTU1RhYmxlCiMgYXMgY29ycnVwdGVkLgojIG1heF92YWx1ZV9z aXplX2luX21iOiAyNTYK --_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: application/x-sh; name="jvm_options.sh" Content-Description: jvm_options.sh Content-Disposition: attachment; filename="jvm_options.sh"; size=9450; creation-date="Tue, 01 Nov 2016 09:07:15 GMT"; modification-date="Tue, 01 Nov 2016 09:07:15 GMT" Content-Transfer-Encoding: base64 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjDQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdm0ub3B0 aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMNCiMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Iw0KIyAtIGFsbCBmbGFncyBkZWZpbmVkIGhlcmUgd2lsbCBiZSB1c2VkIGJ5IGNhc3NhbmRyYSB0 byBzdGFydHVwIHRoZSBKVk0gICAjDQojIC0gb25lIGZsYWcgc2hvdWxkIGJlIHNwZWNpZmllZCBw ZXIgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMNCiMgLSBsaW5lcyB0aGF0 IGRvIG5vdCBzdGFydCB3aXRoICctJyB3aWxsIGJlIGlnbm9yZWQgICAgICAgICAgICAgICAgICAg ICAgIw0KIyAtIG9ubHkgc3RhdGljIGZsYWdzIGFyZSBhY2NlcHRlZCAobm8gdmFyaWFibGVzIG9y IHBhcmFtZXRlcnMpICAgICAgICAgICAjDQojIC0gZHluYW1pYyBmbGFncyB3aWxsIGJlIGFwcGVu ZGVkIHRvIHRoZXNlIG9uIGNhc3NhbmRyYS1lbnYgICAgICAgICAgICAgICMNCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIw0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFNUQVJUVVAgUEFSQU1FVEVSUyAj DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpNQVhfSEVBUF9TSVpFPSI0RyINCkhFQVBfTkVXU0la RT0iNDAwTSINCiMgVW5jb21tZW50IGFueSBvZiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgdG8g ZW5hYmxlIHNwZWNpZmljIHN0YXJ0dXAgcGFyYW1ldGVycw0KDQojIEluIGEgbXVsdGktaW5zdGFu Y2UgZGVwbG95bWVudCwgbXVsdGlwbGUgQ2Fzc2FuZHJhIGluc3RhbmNlcyB3aWxsIGluZGVwZW5k ZW50bHkgYXNzdW1lIHRoYXQgYWxsDQojIENQVSBwcm9jZXNzb3JzIGFyZSBhdmFpbGFibGUgdG8g aXQuIFRoaXMgc2V0dGluZyBhbGxvd3MgeW91IHRvIHNwZWNpZnkgYSBzbWFsbGVyIHNldCBvZiBw cm9jZXNzb3JzDQojIGFuZCBwZXJoYXBzIGhhdmUgYWZmaW5pdHkuDQojLURjYXNzYW5kcmEuYXZh aWxhYmxlX3Byb2Nlc3NvcnM9bnVtYmVyX29mX3Byb2Nlc3NvcnMNCg0KIyBUaGUgZGlyZWN0b3J5 IGxvY2F0aW9uIG9mIHRoZSBjYXNzYW5kcmEueWFtbCBmaWxlLg0KIy1EY2Fzc2FuZHJhLmNvbmZp Zz1kaXJlY3RvcnkNCg0KIyBTZXRzIHRoZSBpbml0aWFsIHBhcnRpdGlvbmVyIHRva2VuIGZvciBh IG5vZGUgdGhlIGZpcnN0IHRpbWUgdGhlIG5vZGUgaXMgc3RhcnRlZC4NCiMtRGNhc3NhbmRyYS5p bml0aWFsX3Rva2VuPXRva2VuDQoNCiMgU2V0IHRvIGZhbHNlIHRvIHN0YXJ0IENhc3NhbmRyYSBv biBhIG5vZGUgYnV0IG5vdCBoYXZlIHRoZSBub2RlIGpvaW4gdGhlIGNsdXN0ZXIuDQojLURjYXNz YW5kcmEuam9pbl9yaW5nPXRydWV8ZmFsc2UNCg0KIyBTZXQgdG8gZmFsc2UgdG8gY2xlYXIgYWxs IGdvc3NpcCBzdGF0ZSBmb3IgdGhlIG5vZGUgb24gcmVzdGFydC4gVXNlIHdoZW4geW91IGhhdmUg Y2hhbmdlZCBub2RlDQojIGluZm9ybWF0aW9uIGluIGNhc3NhbmRyYS55YW1sIChzdWNoIGFzIGxp c3Rlbl9hZGRyZXNzKS4NCiMtRGNhc3NhbmRyYS5sb2FkX3Jpbmdfc3RhdGU9dHJ1ZXxmYWxzZQ0K DQojIEVuYWJsZSBwbHVnZ2FibGUgbWV0cmljcyByZXBvcnRlci4gU2VlIFBsdWdnYWJsZSBtZXRy aWNzIHJlcG9ydGluZyBpbiBDYXNzYW5kcmEgMi4wLjIuDQotRGNhc3NhbmRyYS5tZXRyaWNzUmVw b3J0ZXJDb25maWdGaWxlPS9ldGMvY2Fzc2FuZHJhL2dyYXBoaXRlLW1ldHJpY3MueWFtbA0KDQoj IFNldCB0aGUgcG9ydCBvbiB3aGljaCB0aGUgQ1FMIG5hdGl2ZSB0cmFuc3BvcnQgbGlzdGVucyBm b3IgY2xpZW50cy4gKERlZmF1bHQ6IDkwNDIpDQojLURjYXNzYW5kcmEubmF0aXZlX3RyYW5zcG9y dF9wb3J0PXBvcnQNCg0KIyBPdmVycmlkZXMgdGhlIHBhcnRpdGlvbmVyLiAoRGVmYXVsdDogb3Jn LmFwYWNoZS5jYXNzYW5kcmEuZGh0Lk11cm11cjNQYXJ0aXRpb25lcikNCiMtRGNhc3NhbmRyYS5w YXJ0aXRpb25lcj1wYXJ0aXRpb25lcg0KDQojIFRvIHJlcGxhY2UgYSBub2RlIHRoYXQgaGFzIGRp ZWQsIHJlc3RhcnQgYSBuZXcgbm9kZSBpbiBpdHMgcGxhY2Ugc3BlY2lmeWluZyB0aGUgYWRkcmVz cyBvZiB0aGUNCiMgZGVhZCBub2RlLiBUaGUgbmV3IG5vZGUgbXVzdCBub3QgaGF2ZSBhbnkgZGF0 YSBpbiBpdHMgZGF0YSBkaXJlY3RvcnksIHRoYXQgaXMsIGl0IG11c3QgYmUgaW4gdGhlDQojIHNh bWUgc3RhdGUgYXMgYmVmb3JlIGJvb3RzdHJhcHBpbmcuDQojLURjYXNzYW5kcmEucmVwbGFjZV9h ZGRyZXNzPWxpc3Rlbl9hZGRyZXNzIG9yIGJyb2FkY2FzdF9hZGRyZXNzIG9mIGRlYWQgbm9kZQ0K DQojIEFsbG93IHJlc3RvcmluZyBzcGVjaWZpYyB0YWJsZXMgZnJvbSBhbiBhcmNoaXZlZCBjb21t aXQgbG9nLg0KIy1EY2Fzc2FuZHJhLnJlcGxheUxpc3Q9dGFibGUNCg0KIyBBbGxvd3Mgb3ZlcnJp ZGluZyBvZiB0aGUgZGVmYXVsdCBSSU5HX0RFTEFZICgxMDAwbXMpLCB3aGljaCBpcyB0aGUgYW1v dW50IG9mIHRpbWUgYSBub2RlIHdhaXRzDQojIGJlZm9yZSBqb2luaW5nIHRoZSByaW5nLg0KIy1E Y2Fzc2FuZHJhLnJpbmdfZGVsYXlfbXM9bXMNCg0KIyBTZXQgdGhlIHBvcnQgZm9yIHRoZSBUaHJp ZnQgUlBDIHNlcnZpY2UsIHdoaWNoIGlzIHVzZWQgZm9yIGNsaWVudCBjb25uZWN0aW9ucy4gKERl ZmF1bHQ6IDkxNjApDQojLURjYXNzYW5kcmEucnBjX3BvcnQ9cG9ydA0KDQojIFNldCB0aGUgU1NM IHBvcnQgZm9yIGVuY3J5cHRlZCBjb21tdW5pY2F0aW9uLiAoRGVmYXVsdDogNzAwMSkNCiMtRGNh c3NhbmRyYS5zc2xfc3RvcmFnZV9wb3J0PXBvcnQNCg0KIyBFbmFibGUgb3IgZGlzYWJsZSB0aGUg bmF0aXZlIHRyYW5zcG9ydCBzZXJ2ZXIuIFNlZSBzdGFydF9uYXRpdmVfdHJhbnNwb3J0IGluIGNh c3NhbmRyYS55YW1sLg0KIyBjYXNzYW5kcmEuc3RhcnRfbmF0aXZlX3RyYW5zcG9ydD10cnVlfGZh bHNlDQoNCiMgRW5hYmxlIG9yIGRpc2FibGUgdGhlIFRocmlmdCBSUEMgc2VydmVyLiAoRGVmYXVs dDogdHJ1ZSkNCiMtRGNhc3NhbmRyYS5zdGFydF9ycGM9dHJ1ZS9mYWxzZQ0KDQojIFNldCB0aGUg cG9ydCBmb3IgaW50ZXItbm9kZSBjb21tdW5pY2F0aW9uLiAoRGVmYXVsdDogNzAwMCkNCiMtRGNh c3NhbmRyYS5zdG9yYWdlX3BvcnQ9cG9ydA0KDQojIFNldCB0aGUgZGVmYXVsdCBsb2NhdGlvbiBm b3IgdGhlIHRyaWdnZXIgSkFScy4gKERlZmF1bHQ6IGNvbmYvdHJpZ2dlcnMpDQojLURjYXNzYW5k cmEudHJpZ2dlcnNfZGlyPWRpcmVjdG9yeQ0KDQojIEZvciB0ZXN0aW5nIG5ldyBjb21wYWN0aW9u IGFuZCBjb21wcmVzc2lvbiBzdHJhdGVnaWVzLiBJdCBhbGxvd3MgeW91IHRvIGV4cGVyaW1lbnQg d2l0aCBkaWZmZXJlbnQNCiMgc3RyYXRlZ2llcyBhbmQgYmVuY2htYXJrIHdyaXRlIHBlcmZvcm1h bmNlIGRpZmZlcmVuY2VzIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBwcm9kdWN0aW9uIHdvcmtsb2Fk Lg0KIy1EY2Fzc2FuZHJhLndyaXRlX3N1cnZleT10cnVlDQoNCiMgVG8gZGlzYWJsZSBjb25maWd1 cmF0aW9uIHZpYSBKTVggb2YgYXV0aCBjYWNoZXMgKHN1Y2ggYXMgdGhvc2UgZm9yIGNyZWRlbnRp YWxzLCBwZXJtaXNzaW9ucyBhbmQNCiMgcm9sZXMpLiBUaGlzIHdpbGwgbWVhbiB0aG9zZSBjb25m aWcgb3B0aW9ucyBjYW4gb25seSBiZSBzZXQgKHBlcnNpc3RlbnRseSkgaW4gY2Fzc2FuZHJhLnlh bWwNCiMgYW5kIHdpbGwgcmVxdWlyZSBhIHJlc3RhcnQgZm9yIG5ldyB2YWx1ZXMgdG8gdGFrZSBl ZmZlY3QuDQojLURjYXNzYW5kcmEuZGlzYWJsZV9hdXRoX2NhY2hlc19yZW1vdGVfY29uZmlndXJh dGlvbj10cnVlDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBHRU5FUkFMIEpWTSBTRVRU SU5HUyAjDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KIyBlbmFibGUgYXNzZXJ0aW9ucy4g IGRpc2FibGluZyB0aGlzIGluIHByb2R1Y3Rpb24gd2lsbCBnaXZlIGEgbW9kZXN0DQojIHBlcmZv cm1hbmNlIGJlbmVmaXQgKGFyb3VuZCA1JSkuDQotZWENCg0KIyBlbmFibGUgdGhyZWFkIHByaW9y aXRpZXMsIHByaW1hcmlseSBzbyB3ZSBjYW4gZ2l2ZSBwZXJpb2RpYyB0YXNrcw0KIyBhIGxvd2Vy IHByaW9yaXR5IHRvIGF2b2lkIGludGVyZmVyaW5nIHdpdGggY2xpZW50IHdvcmtsb2FkDQotWFg6 K1VzZVRocmVhZFByaW9yaXRpZXMNCg0KIyBhbGxvd3MgbG93ZXJpbmcgdGhyZWFkIHByaW9yaXR5 IHdpdGhvdXQgYmVpbmcgcm9vdCBvbiBsaW51eCAtIHByb2JhYmx5DQojIG5vdCBuZWNlc3Nhcnkg b24gV2luZG93cyBidXQgZG9lc24ndCBoYXJtIGFueXRoaW5nLg0KIyBzZWUgaHR0cDovL3RlY2gu c3RvbHN2aWsuY29tLzIwMTAvMDEvbGludXgtamF2YS10aHJlYWQtcHJpb3JpdGllcy13b3JrYXIN Ci1YWDpUaHJlYWRQcmlvcml0eVBvbGljeT00Mg0KDQojIEVuYWJsZSBoZWFwLWR1bXAgaWYgdGhl cmUncyBhbiBPT00NCi1YWDorSGVhcER1bXBPbk91dE9mTWVtb3J5RXJyb3INCg0KIyBQZXItdGhy ZWFkIHN0YWNrIHNpemUuDQotWHNzMjU2aw0KDQojIExhcmdlciBpbnRlcm5lZCBzdHJpbmcgdGFi bGUsIGZvciBnb3NzaXAncyBiZW5lZml0IChDQVNTQU5EUkEtNjQxMCkNCi1YWDpTdHJpbmdUYWJs ZVNpemU9MTAwMDAwMw0KDQojIE1ha2Ugc3VyZSBhbGwgbWVtb3J5IGlzIGZhdWx0ZWQgYW5kIHpl cm9lZCBvbiBzdGFydHVwLg0KIyBUaGlzIGhlbHBzIHByZXZlbnQgc29mdCBmYXVsdHMgaW4gY29u dGFpbmVycyBhbmQgbWFrZXMNCiMgdHJhbnNwYXJlbnQgaHVnZXBhZ2UgYWxsb2NhdGlvbiBtb3Jl IGVmZmVjdGl2ZS4NCi1YWDorQWx3YXlzUHJlVG91Y2gNCg0KIyBEaXNhYmxlIGJpYXNlZCBsb2Nr aW5nIGFzIGl0IGRvZXMgbm90IGJlbmVmaXQgQ2Fzc2FuZHJhLg0KLVhYOi1Vc2VCaWFzZWRMb2Nr aW5nDQoNCiMgRW5hYmxlIHRocmVhZC1sb2NhbCBhbGxvY2F0aW9uIGJsb2NrcyBhbmQgYWxsb3cg dGhlIEpWTSB0byBhdXRvbWF0aWNhbGx5DQojIHJlc2l6ZSB0aGVtIGF0IHJ1bnRpbWUuDQotWFg6 K1VzZVRMQUINCi1YWDorUmVzaXplVExBQg0KDQojIGh0dHA6Ly93d3cuZXZhbmpvbmVzLmNhL2p2 bS1tbWFwLXBhdXNlLmh0bWwNCi1YWDorUGVyZkRpc2FibGVTaGFyZWRNZW0NCg0KIyBQcmVmZXIg YmluZGluZyB0byBJUHY0IG5ldHdvcmsgaW50ZWZhY2VzICh3aGVuIG5ldC5pcHY2LmJpbmR2Nm9u bHk9MSkuIFNlZQ0KIyBodHRwOi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRv P2J1Z19pZD02MzQyNTYxIChzaG9ydCB2ZXJzaW9uOg0KIyBjb21tZW50IG91dCB0aGlzIGVudHJ5 IHRvIGVuYWJsZSBJUHY2IHN1cHBvcnQpLg0KLURqYXZhLm5ldC5wcmVmZXJJUHY0U3RhY2s9dHJ1 ZQ0KDQojIyMgRGVidWcgb3B0aW9ucw0KDQojIHVuY29tbWVudCB0byBlbmFibGUgZmxpZ2h0IHJl Y29yZGVyDQojLVhYOitVbmxvY2tDb21tZXJjaWFsRmVhdHVyZXMNCiMtWFg6K0ZsaWdodFJlY29y ZGVyDQoNCiMgdW5jb21tZW50IHRvIGhhdmUgQ2Fzc2FuZHJhIEpWTSBsaXN0ZW4gZm9yIHJlbW90 ZSBkZWJ1Z2dlcnMvcHJvZmlsZXJzIG9uIHBvcnQgMTQxNA0KIy1hZ2VudGxpYjpqZHdwPXRyYW5z cG9ydD1kdF9zb2NrZXQsc2VydmVyPXksc3VzcGVuZD1uLGFkZHJlc3M9MTQxNA0KDQojIHVuY29t bWVudCB0byBoYXZlIENhc3NhbmRyYSBKVk0gbG9nIGludGVybmFsIG1ldGhvZCBjb21waWxhdGlv biAoZGV2ZWxvcGVycyBvbmx5KQ0KIy1YWDorVW5sb2NrRGlhZ25vc3RpY1ZNT3B0aW9ucw0KIy1Y WDorTG9nQ29tcGlsYXRpb24NCg0KIyMjIyMjIyMjIyMjIyMjIyMNCiMgSEVBUCBTRVRUSU5HUyAj DQojIyMjIyMjIyMjIyMjIyMjIw0KDQojIEhlYXAgc2l6ZSBpcyBhdXRvbWF0aWNhbGx5IGNhbGN1 bGF0ZWQgYnkgY2Fzc2FuZHJhLWVudiBiYXNlZCBvbiB0aGlzDQojIGZvcm11bGE6IG1heChtaW4o MS8yIHJhbSwgMTAyNE1CKSwgbWluKDEvNCByYW0sIDhHQikpDQojIFRoYXQgaXM6DQojIC0gY2Fs Y3VsYXRlIDEvMiByYW0gYW5kIGNhcCB0byAxMDI0TUINCiMgLSBjYWxjdWxhdGUgMS80IHJhbSBh bmQgY2FwIHRvIDgxOTJNQg0KIyAtIHBpY2sgdGhlIG1heA0KIw0KIyBGb3IgcHJvZHVjdGlvbiB1 c2UgeW91IG1heSB3aXNoIHRvIGFkanVzdCB0aGlzIGZvciB5b3VyIGVudmlyb25tZW50Lg0KIyBJ ZiB0aGF0J3MgdGhlIGNhc2UsIHVuY29tbWVudCB0aGUgLVhteCBhbmQgWG1zIG9wdGlvbnMgYmVs b3cgdG8gb3ZlcnJpZGUgdGhlDQojIGF1dG9tYXRpYyBjYWxjdWxhdGlvbiBvZiBKVk0gaGVhcCBt ZW1vcnkuDQojDQojIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCBtaW4gKC1YbXMpIGFuZCBtYXgg KC1YbXgpIGhlYXAgc2l6ZXMgdG8NCiMgdGhlIHNhbWUgdmFsdWUgdG8gYXZvaWQgc3RvcC10aGUt d29ybGQgR0MgcGF1c2VzIGR1cmluZyByZXNpemUsIGFuZA0KIyBzbyB0aGF0IHdlIGNhbiBsb2Nr IHRoZSBoZWFwIGluIG1lbW9yeSBvbiBzdGFydHVwIHRvIHByZXZlbnQgYW55DQojIG9mIGl0IGZy b20gYmVpbmcgc3dhcHBlZCBvdXQuDQojLVhtczRHDQojLVhteDRHDQoNCiMgWW91bmcgZ2VuZXJh dGlvbiBzaXplIGlzIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBieSBjYXNzYW5kcmEtZW52DQoj IGJhc2VkIG9uIHRoaXMgZm9ybXVsYTogbWluKDEwMCAqIG51bV9jb3JlcywgMS80ICogaGVhcCBz aXplKQ0KIw0KIyBUaGUgbWFpbiB0cmFkZS1vZmYgZm9yIHRoZSB5b3VuZyBnZW5lcmF0aW9uIGlz IHRoYXQgdGhlIGxhcmdlciBpdA0KIyBpcywgdGhlIGxvbmdlciBHQyBwYXVzZSB0aW1lcyB3aWxs IGJlLiBUaGUgc2hvcnRlciBpdCBpcywgdGhlIG1vcmUNCiMgZXhwZW5zaXZlIEdDIHdpbGwgYmUg KHVzdWFsbHkpLg0KIw0KIyBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gc2V0IHRoZSB5b3VuZyBn ZW5lcmF0aW9uIHNpemUgaWYgdXNpbmcgdGhlDQojIEcxIEdDLCBzaW5jZSB0aGF0IHdpbGwgb3Zl cnJpZGUgdGhlIHRhcmdldCBwYXVzZS10aW1lIGdvYWwuDQojIE1vcmUgaW5mbzogaHR0cDovL3d3 dy5vcmFjbGUuY29tL3RlY2huZXR3b3JrL2FydGljbGVzL2phdmEvZzFnYy0xOTg0NTM1Lmh0bWwN CiMNCiMgVGhlIGV4YW1wbGUgYmVsb3cgYXNzdW1lcyBhIG1vZGVybiA4LWNvcmUrIG1hY2hpbmUg Zm9yIGRlY2VudA0KIyB0aW1lcy4gSWYgaW4gZG91YnQsIGFuZCBpZiB5b3UgZG8gbm90IHBhcnRp Y3VsYXJseSB3YW50IHRvIHR3ZWFrLCBnbw0KIyAxMDAgTUIgcGVyIHBoeXNpY2FsIENQVSBjb3Jl Lg0KIy1YbW44MDBNDQoNCiMjIyMjIyMjIyMjIyMjIyMjDQojICBHQyBTRVRUSU5HUyAgIw0KIyMj IyMjIyMjIyMjIyMjIyMNCg0KIyMjIENNUyBTZXR0aW5ncw0KDQotWFg6K1VzZVBhck5ld0dDDQot WFg6K1VzZUNvbmNNYXJrU3dlZXBHQw0KLVhYOitDTVNQYXJhbGxlbFJlbWFya0VuYWJsZWQNCi1Y WDpTdXJ2aXZvclJhdGlvPTYNCiNERUZBVUxUIC1YWDpTdXJ2aXZvclJhdGlvPTgNCi1YWDpNYXhU ZW51cmluZ1RocmVzaG9sZD0xDQojREVGQVVMVCAtWFg6TWF4VGVudXJpbmdUaHJlc2hvbGQ9Mg0K LVhYOkNNU0luaXRpYXRpbmdPY2N1cGFuY3lGcmFjdGlvbj03MA0KLVhYOitVc2VDTVNJbml0aWF0 aW5nT2NjdXBhbmN5T25seQ0KLVhYOkNNU1dhaXREdXJhdGlvbj0xMDAwMA0KLVhYOitDTVNQYXJh bGxlbEluaXRpYWxNYXJrRW5hYmxlZA0KLVhYOitDTVNFZGVuQ2h1bmtzUmVjb3JkQWx3YXlzDQoj IHNvbWUgSlZNcyB3aWxsIGZpbGwgdXAgdGhlaXIgaGVhcCB3aGVuIGFjY2Vzc2VkIHZpYSBKTVgs IHNlZSBDQVNTQU5EUkEtNjU0MQ0KLVhYOitDTVNDbGFzc1VubG9hZGluZ0VuYWJsZWQNCg0KIyMj IEcxIFNldHRpbmdzIChleHBlcmltZW50YWwsIGNvbW1lbnQgcHJldmlvdXMgc2VjdGlvbiBhbmQg dW5jb21tZW50IHNlY3Rpb24gYmVsb3cgdG8gZW5hYmxlKQ0KDQojIyBVc2UgdGhlIEhvdHNwb3Qg Z2FyYmFnZS1maXJzdCBjb2xsZWN0b3IuDQojLVhYOitVc2VHMUdDDQojDQojIyBIYXZlIHRoZSBK Vk0gZG8gbGVzcyByZW1lbWJlcmVkIHNldCB3b3JrIGR1cmluZyBTVFcsIGluc3RlYWQNCiMjIHBy ZWZlcnJpbmcgY29uY3VycmVudCBHQy4gUmVkdWNlcyBwOTkuOSBsYXRlbmN5Lg0KIy1YWDpHMVJT ZXRVcGRhdGluZ1BhdXNlVGltZVBlcmNlbnQ9NQ0KIw0KIyMgTWFpbiBHMUdDIHR1bmFibGU6IGxv d2VyaW5nIHRoZSBwYXVzZSB0YXJnZXQgd2lsbCBsb3dlciB0aHJvdWdocHV0IGFuZCB2aXNlIHZl cnNhLg0KIyMgMjAwbXMgaXMgdGhlIEpWTSBkZWZhdWx0IGFuZCBsb3dlc3QgdmlhYmxlIHNldHRp bmcNCiMjIDEwMDBtcyBpbmNyZWFzZXMgdGhyb3VnaHB1dC4gS2VlcCBpdCBzbWFsbGVyIHRoYW4g dGhlIHRpbWVvdXRzIGluIGNhc3NhbmRyYS55YW1sLg0KIy1YWDpNYXhHQ1BhdXNlTWlsbGlzPTUw MA0KDQojIyBPcHRpb25hbCBHMSBTZXR0aW5ncw0KDQojIFNhdmUgQ1BVIHRpbWUgb24gbGFyZ2Ug KD49IDE2R0IpIGhlYXBzIGJ5IGRlbGF5aW5nIHJlZ2lvbiBzY2FubmluZw0KIyB1bnRpbCB0aGUg aGVhcCBpcyA3MCUgZnVsbC4gVGhlIGRlZmF1bHQgaW4gSG90c3BvdCA4dTQwIGlzIDQwJS4NCiMt WFg6SW5pdGlhdGluZ0hlYXBPY2N1cGFuY3lQZXJjZW50PTcwDQoNCiMgRm9yIHN5c3RlbXMgd2l0 aCA+IDggY29yZXMsIHRoZSBkZWZhdWx0IFBhcmFsbGVsR0NUaHJlYWRzIGlzIDUvOCB0aGUgbnVt YmVyIG9mIGxvZ2ljYWwgY29yZXMuDQojIE90aGVyd2lzZSBlcXVhbCB0byB0aGUgbnVtYmVyIG9m IGNvcmVzIHdoZW4gOCBvciBsZXNzLg0KIyBNYWNoaW5lcyB3aXRoID4gMTAgY29yZXMgc2hvdWxk IHRyeSBzZXR0aW5nIHRoZXNlIHRvIDw9IGZ1bGwgY29yZXMuDQojLVhYOlBhcmFsbGVsR0NUaHJl YWRzPTE2DQojIEJ5IGRlZmF1bHQsIENvbmNHQ1RocmVhZHMgaXMgMS80IG9mIFBhcmFsbGVsR0NU aHJlYWRzLg0KIyBTZXR0aW5nIGJvdGggdG8gdGhlIHNhbWUgdmFsdWUgY2FuIHJlZHVjZSBTVFcg ZHVyYXRpb25zLg0KIy1YWDpDb25jR0NUaHJlYWRzPTE2DQoNCiMjIyBHQyBsb2dnaW5nIG9wdGlv bnMgLS0gdW5jb21tZW50IHRvIGVuYWJsZQ0KDQotWFg6K1ByaW50R0NEZXRhaWxzDQotWFg6K1By aW50R0NEYXRlU3RhbXBzDQotWFg6K1ByaW50SGVhcEF0R0MNCi1YWDorUHJpbnRUZW51cmluZ0Rp c3RyaWJ1dGlvbg0KLVhYOitQcmludEdDQXBwbGljYXRpb25TdG9wcGVkVGltZQ0KLVhYOitQcmlu dFByb21vdGlvbkZhaWx1cmUNCiMtWFg6UHJpbnRGTFNTdGF0aXN0aWNzPTENCiMtWGxvZ2djOi92 YXIvbG9nL2Nhc3NhbmRyYS9nYy5sb2cNCi1YWDorVXNlR0NMb2dGaWxlUm90YXRpb24NCi1YWDpO dW1iZXJPZkdDTG9nRmlsZXM9MTANCi1YWDpHQ0xvZ0ZpbGVTaXplPTEwTQ0K --_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_ Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; name="Query 2.xlsx" Content-Description: Query 2.xlsx Content-Disposition: attachment; filename="Query 2.xlsx"; size=33408; creation-date="Tue, 01 Nov 2016 09:07:27 GMT"; modification-date="Tue, 01 Nov 2016 09:07:27 GMT" Content-Transfer-Encoding: base64 UEsDBBQACAgIAIYEYUkAAAAAAAAAAAAAAAAUAAAAeGwvdGFibGVzL3RhYmxlMS54bWx9kc9OwzAM h5+Ad4hygsOWdkDFpnUTQpqEhDgwOE8h8dZI+VPF3kbfnnYpA0TFMT9/n+zY8+WHs+wAEU3wJc/H GWfgVdDG70r+9roa3XGGJL2WNngoeQPIl4uLOcl3C6yVPZa8IqpnQqCqwEkchxp8W9mG6CS1z7gT WEeQGisAclZMsqwQThrPWYRtye/z2WpaTDnTBmsrm2fp2lbrjs45M7odjC9Sy4dg984jU2HvqeTF 75z5k4mA3X82Rn/ZYgiDA3g6Q5NhSCoyB0NNgq6HIQz7qIBdOqNiYAgqeI1XSbn5T9mAlTVCP8Lt MEpVt7yEFB0ifq6iN9bUWHj029BLaXsj7OL2hFU4Jn5N0dTQHi1L6cpEpFTqFnXKnuSf6CUcz2b+ PcPiE1BLBwh+BmrfKAEAAEECAABQSwMEFAAICAgAhgRhSQAAAAAAAAAAAAAAABgAAAB4bC9kcmF3 aW5ncy9kcmF3aW5nMS54bWyd0EFOwzAQBdATcIdo9q0DC4Sipt1EnAAOMNiT2MJjWzMubW+PRcm+ yvLra56+5nC6cux+SDTkNMLzvoeOks0upGWEz4/33Rt0WjE5jDnRCDdSOB2fDlcnw0Un6dp90qHF EXytZTBGrSdG3edCqbVzFsbaoizGCV6azNG89P2r0SKETj1Rne4N/Hu4QWMMab1/aE2e52BpyvbM lOodEYpY2y/Uh6KrZjessR6lrgA/JDDK97nsbObSNnyFGOrtD1sZt/CGJS7gIshgjr9QSwcIH5pg KMwAAADuAQAAUEsDBBQACAgIAIYEYUkAAAAAAAAAAAAAAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVl dDEueG1slb3rsiXHkaX3BHoHGP43cTIiIyOCRnJsJi+alkZSa66S/qHBYhPWAIoCipfW0yurUI3t 6d+KTk8bs2lycdU57nV2+Vl7b/dv/+bf/e377774y7sff/r2/Q+//XL61duXX7z74Zv3v//2h3/6 7Zf/7b8ef9e+/OKnD1//8Puvv3v/w7vffvkv73768t/97n/6zV/f//jPP/3x3bsPX5xf4Ieffvvl Hz98+NOvv/rqp2/++O77r3/61fs/vfvh/F/+8P7H77/+cP7XH//pq5/+9OO7r3//6Q99/91X6e1t +er7r7/94cufv8Kvf4x8jfd/+MO337zb3n/z5+/f/fDh5y/y47vvvv5wlv/TH7/900//+tW+/xu+ 3PfffvPj+5/e/+HDr755//3nr3RW8M1X7/72zbtPBbVLQd9/E6no+69//Oc//+nvzi/5p7OKf/z2 u28//Munun75Mn/57Zd//vGHX3/+Gn/3Sxkf/8yvz+//6798/92/mv82zbG68ZfZv+qX6s+v9DUb iH+tr7/55St9H/syv/w1fv65/u43n77kf//23V9/Mv/5i48PnX98//6fP/6Xv//9b798O51/+vqH d1/8y3/50/m39/lR+OH9n/7Tuz98WN99991vv/z36csvvv7mw7d/efcPX398FP7j+w8f3n//8X// 9Oj8cEp/+PH9//fuhy+/Or/Tu+/effPxAfH5j/z8Jf5DPq3/74/v/vDzf/yT/zrnH/zqlxrtf/7X 2o9PP/R/+PGLb/780/mH/uO7b//pjx+L/fKL37/7w9d//u7D+v67//Ht7z/88dTmX835F/0/v//r L+byq1o+fqtv3n/306f///NX+9c/+OUX33/7w8//9+u/ffq/f/35f8nLr6b585/UfyZ9/jPJ/pmz jH/rz+TPfyb/8meW5fzL/7f+yPz5j8y//JEp/aot/+afKZ//TPnlz6T+qzr9m39m+fxnllc77Vel fvo5/fy39+mnsn394evf/ebH93/94sePf/b8gh//w78/v8pPn77W+Zf+06n+5Xdvv/nqLx//6GfH f6BjujpWOtLVsdGRr46djvnqOOgoV8f//LMjffrb+ij8Ry/8vRf+Fy/8r174T17437zwv3vh//DC P3jh//TCf/bCf/HCf/XCf/PCf/fC//DC/+WF/9sL/48RvjofK788YNIvD5j0yZHNj2FxDxg6qnvA 0NHcA4aO7h4w/+r49GAq5VfuYXvwK0wvy6W3/Etv+bY3Oib/r0FY/D8HWnx32XRXJnYnvknW3c2/ dDffdkfH5P4VrsLi/hluwuK+0T7b9hZ0J75C1d2VX7ort93RMbmH3Sos7iezCYvvrpju2iIem/wa afDYXH7pb7ntj47kH5vC4h+btKC/xfZXU0N/4tsM+qu/9Fdv+6Mjud8iq7C4B/BGC/qrl/6Wiv7E txn0137pr932R0dy/7RWYXFfZaMF/bVLfy2jP/FtBv31X/rrt/3RkfwvBmHxvxloQX/d9tfE41N8 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 lZHqfUYSlgknENLkJ5IwoVObkZbWzkDITuMZqb4yUr3PSMIy4Q5CmfwZwSZM6HS+dlrEKYSqedTp KyPV+4wkLBOuBKQJE+k+I9XiOhXLG6rmUaevjFTvM5KwTFihlyZMpPuMVG1Gqm/nkxnmXlXzqFNz Zh+4sxfxB2v00oSJdJ+Rqs1INS8q4auaR52+MlK9z0jCMmGTXpowke4zUrUZqc5LEq8jqZpHnb4y Ur3PSMIyYc9cmfya9iZM6PRyflZKm/mag6p50Gl7ZaR2n5GEZcIWtjT5iSRMvtNmM1Jd5poETCGe kdorI7X7jCQs0+InkjT5iSRM6HRynS589KqaR52+MlK7z0jCMmEXW5pAx7jPSC1dO1UrZarmUaev jNTuM5KwTFjHliY/kYQJndqM1Oe8KBRIPCO1V0Zq9xlJWCZsZCsTVrKFCZ3O107PXzTsNJ6R2isj tfuMJCwTlrKlCRPpPiO14joVz9pUzaNOXxmp3WckYZmwly1NmEj3GanZjNRrelv4KqiqedTpKyO1 +4wkLBNWs6UJE+k+IzWbkc5nQ3Oq4uEbD0nNUIkCWCJ1EY+RpEwYSfchqTXXaq58NqOKHrX6Sknt PiUJy4QNbWXCirYwodXLinaZelOtxmNSf8Wkfh+ThGXCkrY0+aEkTL7VftnSLvkc9Hw2rooetfrK Sf0+JwnLhD1tafJTSZjQ6uRaVWsdquhRq6+g1O+DkrBMWNWWJj+WhAmtXna1Sym1cwKroketvpJS v09KwjJhW1uaQBS7T0q/WD4/RcxTZihURY9afUWlfh+VhGXCwrYyYWNbmNCqjUoplWUS71qooket vrJSv89KwjJhZ1uaMJbus1K3WSnlOndB2lRFj1p9haV+H5aEZcLatjRhLN2HpX7Z2879bRa5UBU9 avWVlvp9WhKWCZvb0oSxdJ+W+mV1ez47TeKnGk9L/ZWW+n1aEpYJy9vShLF0n5Z6u7R6/lzFHosq etSqwTkGeI6KVoSxpFiLGEv3aan3S6vnw1e8qKSKHgGq3izZMYJ2VDRFgNWkCzQu4QKO6+3t0vBS piwocqryYccG8vgWoDwKT8Iut3YBgShc7HhyHatXSGXlw44N7/EtAHwUnoSdbu0CDVG42LFNUKm8 nXOZ7zzKyocdZ9PxfYhSnoTdbu0CSk+42HG+dJzPX2aCM6cqH3ZsKJBvAQyk8CTseEsXlryVix1f 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 ijATM3NiQlopbZR2SsdFuhZhjr3rzIkJaaW0UdopHRfJFWEm5syJCWmltFHaKR0XyRVhJubMiQlp pbRR2ikdF8kVYSbmzIkJaaW0UdopHRfJFWEm5syJCWmltFHaKR0XyRVhJubMiQlppbRR2ikdF8kV YSbmzIkJaaW0UdopHRfJFWEm5syJCWmltFHaKR0XyRVhJubMiQlppbRR2ikdF8kVYSbmzIkJaaW0 UdopHRfpWoQ5y6yFExPSSmmjtFM6LpIrwkzMwokJaaW0UdopHRfJFWEmZuHEhLRS2ijtlI6L5Iow E7NwYkJaKW2UdkrHRXJFmIlZODEhrZQ2Sjul4yK5IszELJyYkFZKG6Wd0nGRXBFmYhZOTEgrpY3S Tum4SK4IMzELJyakldJGaad0XCRXhJmYhRMT0kppo7RTOi6SK8JMzMKJCWmltFHaKR0X6VqEOaCq CycmpJXSRmmndFwkV4SZmAsnJqSV0kZpp3RcJFeEmZgLJyakldJGaad0XCRXhJmYvPmhtFLaKO2U jjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0orpY3STumow5ufam5+Km9+KK2UNko7paMOb36q ufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0orpY3STumow5ufam5+Km9+ KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0orpY3S Tumow5ufam5+Km9+KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM66vDm p5qbn8qbH0orpY3STumow5ufam5+Km9+KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+anm5qfy 5ofSSmmjtFM66vDmp5qbn8qbH0orpY3STumow5ufam5+Km9+KK2UNko7paMOb36qufmpvPmhtFLa KO2Ujjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0orpY3STumow5ufam5+Km9+KK2UNko7paMO b36qufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0orpY3STumow5ufam5+ Km9+KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM66vDmp5qbn8qbH0or pY3STumow5ufam5+Km9+KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+anm5qfy5ofSSmmjtFM6 6vDmp5qbn8qbH0orpY3STumow5ufam5+Km9+KK2UNko7paMOb36qufmpvPmhtFLaKO2Ujjq8+Wnm 5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmh tFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7 paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5uf Zm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8ab H0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmj tFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8 +Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflp vPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2U Nko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulo w5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mb n8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofS SmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2U jja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36a uflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+ KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3S Tulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDm p5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx 5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLa KO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMN b36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+ Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0or pY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM6 2vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm 5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmh tFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7 paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5uf Zm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmjtFM62vDmp5mbn8ab H0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8+Wnm5qfx5ofSSmmj tFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflpvPmhtFLaKO2Ujja8 +Wnm5qfx5ofSSmmjtFM62vDmp5mbn8abH0orpY3STulow5ufZm5+Gm9+KK2UNko7paMNb36auflp vPmhtFLaKO2Ujja8+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2U Nko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STuno w5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ub n86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofS SmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2U jj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366 ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+ KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3S Tunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDm p5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz 5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLa KO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMP b366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0orpY3STunow5ufbm5+ Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6+vDmp5ubn86bH0or pY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm5qfz5ofSSmmjtFM6 +vDmp5ubn86bH0orpY3STunow5ufbm5+Om9+KK2UNko7paMPb366ufnpvPmhtFLaKO2Ujj68+enm 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 BH+VMXFmEfxVFsSZRfBXmQ1nFsFfZSucWQR/lYFwZhH8VRbCmUXwV5kFZ1aTvxqv+nRZCGcqwWRl FpxZBJOVLXBm9TeZKfvfzOpvMlM2v88swme0pux8M6u/yUzZ9mZWf5OZsufNrP4mM2XPm1n9TWbK hjez+pvMlA1vZvU3mSkb3szqbzJTdruZ1WSyxilsymo3U/s7zZSlbmb1d5op69zM6n9NZsoiN7P6 m8yURW5m9TeZKYvczCKYrKxwM4tgsrLCfWYRbnY3ZYWbWQSTleVtZhFMVta2mUUwWVnbZhbBZGVh m1kEk5VVbWYRTFZWtZlFMFlZ0mZW/2syU9azmUXwV1nMZhbBX2Ulm1kEf5VlbGYR/FXWsJlF8FdZ wGYWwV9l9ZpZ/f1ly9L1ymr85y5uZOG5EduqyBtZeG7Eob+/bFm0ZlZ/f9myYs2s/v6yZcWaWf39 ZctyNbP6+8uWtWpm9feXLQvVzOrvL1tWqZnV31+2rFIzq7+/bFmiZlZ/f9myPs2s/v6yZXGaWf39 ZcvKNLP6+8uWlWlmEfxVVqbPLMIdrBaWpYlF8BcsSxOL4C9ckwqL4K9KTRoVwV+VmjQqgr8qNWlU BH9VatKoCP6q1KRREfxVqUmjIvirUpNGRfBXpSaNiuCvSk0aFcFflZo0KoK/KjVpVAR/VRrSqAj+ qjSkse0Ox5tYrtKQxrZ/yflGVmVujP395SoNaRz7+8tVGtI49veXqzSkcezvL1dpSOPY31+u0pDG sb+/XKUhjSPzmzBXqUnj2N9krlKTxrG/yVylJo1jf5O5Sk0ax/4mc5WaNI79TeZwTRoMoUJ3uCYV FmHi45pUWISJj2tSYREmPq5JhUWY+LgmFRZh4uOaVFiEiY9rUmERJj6uSYXV/4rF4ZpUWIQ5j2tS YRHmPK5JhUWY87gmFRZhzuOaVFiEOY9rUmH1v2JxuCYVVv8rFodr0tD4j9/fxsI1qbAI/sINqbAI /sINqbAI/sINqbD6+8vjhlRY/f3lcUMqrP7+8rghFVZ/f3nckAqrv788bkiF1d9fHjekwurvL48b UmH195fHDamw+vvL44ZUWP395XFDKqz+/vK4HBVWf395XI4GQ2jPPS5HhUX4bQK4HBVWf395XI4K q7+/PC5HhUXwFy5HhUXwFy5HhUXwFy5HhUXwFy5HhUXwFy5HhUXwFy5HhUXwFy5HhUXwFy5HhUXw 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 z38AAAAA --_006_AM4PR10MB0130210B96CA9A000E6EEA57B5A10AM4PR10MB0130EURP_--