From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8F7AACCA47B for ; Wed, 8 Jun 2022 19:26:33 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-628-FT8ZUCJfO8uyR1LjyRF7Lw-1; Wed, 08 Jun 2022 15:26:29 -0400 X-MC-Unique: FT8ZUCJfO8uyR1LjyRF7Lw-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 54329294EDC7; Wed, 8 Jun 2022 19:26:27 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3DA49492C3B; Wed, 8 Jun 2022 19:26:27 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0E833194704E; Wed, 8 Jun 2022 19:26:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3F9C7194705F for ; Wed, 8 Jun 2022 19:07:31 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 0A6CE492CA3; Wed, 8 Jun 2022 19:07:31 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0573C492C3B for ; Wed, 8 Jun 2022 19:07:31 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D62C118A6522 for ; Wed, 8 Jun 2022 19:07:30 +0000 (UTC) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by relay.mimecast.com with ESMTP id us-mta-498-SZVFuiuYNAi862qRJjCh6Q-1; Wed, 08 Jun 2022 15:07:27 -0400 X-MC-Unique: SZVFuiuYNAi862qRJjCh6Q-1 Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 9F78620BE683; Wed, 8 Jun 2022 12:01:45 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9F78620BE683 From: Deven Bowers To: corbet@lwn.net, zohar@linux.ibm.com, jmorris@namei.org, serge@hallyn.com, tytso@mit.edu, ebiggers@kernel.org, axboe@kernel.dk, agk@redhat.com, snitzer@kernel.org, eparis@redhat.com, paul@paul-moore.com Subject: [RFC PATCH v8 17/17] documentation: add ipe documentation Date: Wed, 8 Jun 2022 12:01:29 -0700 Message-Id: <1654714889-26728-18-git-send-email-deven.desai@linux.microsoft.com> In-Reply-To: <1654714889-26728-1-git-send-email-deven.desai@linux.microsoft.com> References: <1654714889-26728-1-git-send-email-deven.desai@linux.microsoft.com> MIME-Version: 1.0 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.9 X-Mailman-Approved-At: Wed, 08 Jun 2022 19:26:19 +0000 X-BeenThere: linux-audit@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Audit Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dm-devel@redhat.com, linux-doc@vger.kernel.org, roberto.sassu@huawei.com, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-fscrypt@vger.kernel.org, linux-audit@redhat.com, linux-integrity@vger.kernel.org Errors-To: linux-audit-bounces@redhat.com Sender: "Linux-audit" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=linux-audit-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIElQRSdzIGFkbWluIGFuZCBkZXZlbG9wZXIgZG9jdW1lbnRhdGlvbiB0byB0aGUga2VybmVs IHRyZWUuCgpDby1kZXZlbG9wZWQtYnk6IEZhbiBXdSA8d3VmYW5AbGludXgubWljcm9zb2Z0LmNv bT4KU2lnbmVkLW9mZi1ieTogRmFuIFd1IDx3dWZhbkBsaW51eC5taWNyb3NvZnQuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEZXZlbiBCb3dlcnMgPGRldmVuLmRlc2FpQGxpbnV4Lm1pY3Jvc29mdC5jb20+ Ci0tLQp2MjoKICArIE5vIENoYW5nZXMKCnYzOgogICsgQWRkIEFja2VkLWJ5CiAgKyBGaXh1cCBj b2RlIGJsb2NrIHN5bnRheAogICsgRml4IGEgbWlub3IgZ3JhbW1hdGljYWwgaXNzdWUuCgp2NDoK ICArIFVwZGF0ZSBkb2N1bWVudGF0aW9uIHdpdGggdGhlIHJlc3VsdHMgb2Ygb3RoZXIKICAgIGNv ZGUgY2hhbmdlcy4KCnY1OgogICsgTm8gY2hhbmdlcwoKdjY6CiAgKyBObyBjaGFuZ2VzCgp2NzoK ICArIEFkZCBhZGRpdGlvbmFsIGRldmVsb3Blci1sZXZlbCBkb2N1bWVudGF0aW9uCiAgKyBVcGRh dGUgYWRtaW4tZ3VpZGUgZG9jcyB0byByZWZsZWN0IGNoYW5nZXMuCiAgKyBEcm9wIEFja2VkLWJ5 IGR1ZSB0byBzaWduaWZpY2FudCBjaGFuZ2VzCiAgKyBBZGRlZCBzZWN0aW9uIGFib3V0IGF1ZGl0 IGV2ZW50cyBpbiBhZG1pbi1ndWlkZQoKdjg6CiAgKyBDb3JyZWN0IHRlcm1pbm9sb2d5IGZyb20g ImF1ZGl0IGV2ZW50IiB0byAiYXVkaXQgcmVjb3JkIgogICsgQWRkIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiB3aXRoIHRoZSBjb3JyZWN0ICJhdWRpdCBldmVudCIKICAgIHRlcm1pbm9sb2d5Lgog ICsgQWRkIHNvbWUgY29udGV4dCB0byB0aGUgaGlzdG9yaWNhbCBtb3RpdmF0aW9uIGZvciBJUEUg YW5kIGRlc2lnbgogICAgcGhpbG9zb3BoeS4KICArIEFkZCBzb21lIGNvbnRlbnQgYWJvdXQgdGhl IHNlY3VyaXR5ZnMgbGF5b3V0IGluIHRoZSBwb2xpY2llcwogICAgZGlyZWN0b3J5LgogICsgVmFy aW91cyBzcGVsbGluZyBhbmQgZ3JhbW1hdGljYWwgY29ycmVjdGlvbnMuCi0tLQogRG9jdW1lbnRh dGlvbi9hZG1pbi1ndWlkZS9MU00vaW5kZXgucnN0ICAgICAgIHwgICAxICsKIERvY3VtZW50YXRp b24vYWRtaW4tZ3VpZGUvTFNNL2lwZS5yc3QgICAgICAgICB8IDczOSArKysrKysrKysrKysrKysr KysKIC4uLi9hZG1pbi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQgICAgICAgICB8ICAxMiAr CiBEb2N1bWVudGF0aW9uL3NlY3VyaXR5L2luZGV4LnJzdCAgICAgICAgICAgICAgfCAgIDEgKwog RG9jdW1lbnRhdGlvbi9zZWN1cml0eS9pcGUucnN0ICAgICAgICAgICAgICAgIHwgNTU5ICsrKysr KysrKysrKysKIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArCiA2IGZpbGVzIGNoYW5nZWQsIDEzMTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTAwNjQ0IERvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvTFNNL2lwZS5yc3QKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBEb2N1bWVudGF0aW9uL3NlY3VyaXR5L2lwZS5yc3QKCmRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2FkbWluLWd1aWRlL0xTTS9pbmRleC5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWlu LWd1aWRlL0xTTS9pbmRleC5yc3QKaW5kZXggYTZiYTk1ZmJhYTlmLi5jZTYzYmU2ZDY0YWQgMTAw NjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvTFNNL2luZGV4LnJzdAorKysgYi9E b2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL0xTTS9pbmRleC5yc3QKQEAgLTQ3LDMgKzQ3LDQgQEAg c3ViZGlyZWN0b3JpZXMuCiAgICB0b21veW8KICAgIFlhbWEKICAgIFNhZmVTZXRJRAorICAgaXBl CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL0xTTS9pcGUucnN0IGIvRG9j dW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9MU00vaXBlLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjU4MzM1Y2U0Zjg1YgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3Vt ZW50YXRpb24vYWRtaW4tZ3VpZGUvTFNNL2lwZS5yc3QKQEAgLTAsMCArMSw3MzkgQEAKKy4uIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisKK0ludGVncml0eSBQb2xpY3kgRW5mb3Jj ZW1lbnQgKElQRSkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gTk9U RTo6CisKKyAgIFRoaXMgaXMgdGhlIGRvY3VtZW50YXRpb24gZm9yIGFkbWlucywgc3lzdGVtIGJ1 aWxkZXJzLCBvciBpbmRpdmlkdWFscworICAgYXR0ZW1wdGluZyB0byB1c2UgSVBFLiBJZiB5b3Un cmUgbG9va2luZyBmb3IgbW9yZSBkZXZlbG9wZXItZm9jdXNlZAorICAgZG9jdW1lbnRhdGlvbiBh Ym91dCBJUEUgcGxlYXNlIHNlZSBgRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9pcGUucnN0YAorCitP dmVydmlldworLS0tLS0tLS0KKworSVBFIGlzIGEgTGludXggU2VjdXJpdHkgTW9kdWxlIHdoaWNo IHRha2VzIGEgY29tcGxpbWVudGFyeSBhcHByb2FjaCB0bworYWNjZXNzIGNvbnRyb2wuIFdoZXJl YXMgZXhpc3RpbmcgbWFuZGF0b3J5IGFjY2VzcyBjb250cm9sIG1lY2hhbmlzbXMKK2Jhc2UgdGhl aXIgZGVjaXNpb25zIG9uIGxhYmVscyBhbmQgcGF0aHMsIElQRSBpbnN0ZWFkIGRldGVybWluZXMK K3doZXRoZXIgb3Igbm90IGFuIG9wZXJhdGlvbiBzaG91bGQgYmUgYWxsb3dlZCBiYXNlZCBvbiBp bW11dGFibGUKK3NlY3VyaXR5IHByb3BlcnRpZXMgb2YgdGhlIHN5c3RlbSBjb21wb25lbnQgdGhl IG9wZXJhdGlvbiBpcyBiZWluZworcGVyZm9ybWVkIG9uLgorCitJUEUgaXRzZWxmIGRvZXMgbm90 IG1hbmRhdGUgaG93IHRoZSBzZWN1cml0eSBwcm9wZXJ0eSBzaG91bGQgYmUKK2V2YWx1YXRlZCwg YnV0IHJlbGllcyBvbiBhbiBleHRlbnNpYmxlIHNldCBvZiBleHRlcm5hbCBwcm9wZXJ0eSBwcm92 aWRlcnMKK3RvIGV2YWx1YXRlIHRoZSBjb21wb25lbnQuIElQRSBtYWtlcyBpdHMgZGVjaXNpb24g YmFzZWQgb24gcmVmZXJlbmNlCit2YWx1ZXMgZm9yIHRoZSBzZWxlY3RlZCBwcm9wZXJ0aWVzLCBz cGVjaWZpZWQgaW4gdGhlIElQRSBwb2xpY3kuCisKK1RoZSByZWZlcmVuY2UgdmFsdWVzIHJlcHJl c2VudCB0aGUgdmFsdWUgdGhhdCB0aGUgcG9saWN5IHdyaXRlciBhbmQgdGhlCitsb2NhbCBzeXN0 ZW0gYWRtaW5pc3RyYXRvciAoYmFzZWQgb24gdGhlIHBvbGljeSBzaWduYXR1cmUpIHRydXN0IGZv ciB0aGUKK3N5c3RlbSB0byBhY2NvbXBsaXNoIHRoZSBkZXNpcmVkIHRhc2tzLgorCitPbmUgc3Vj aCBwcm92aWRlciBpcyBmb3IgZXhhbXBsZSBkbS12ZXJpdHksIHdoaWNoIGlzIGFibGUgdG8gcmVw cmVzZW50Cit0aGUgaW50ZWdyaXR5IHByb3BlcnR5IG9mIGEgcGFydGl0aW9uIChpdHMgaW1tdXRh YmxlIHN0YXRlKSB3aXRoIGEgZGlnZXN0LgorCitJUEUgaXMgY29tcGlsZWQgdW5kZXIgYGBDT05G SUdfU0VDVVJJVFlfSVBFYGAgKFNlY3VyaXR5IC0+IEludGVncml0eSBQb2xpY3kgRW5mb3JjZW1l bnQgKElQRSkpLgorCitVc2UgQ2FzZXMKKy0tLS0tLS0tLQorCitJUEUgd29ya3MgYmVzdCBpbiBm aXhlZC1mdW5jdGlvbiBkZXZpY2VzOiBkZXZpY2VzIGluIHdoaWNoIHRoZWlyIHB1cnBvc2UKK2lz IGNsZWFybHkgZGVmaW5lZCBhbmQgbm90IHN1cHBvc2VkIHRvIGJlIGNoYW5nZWQgKGUuZy4gbmV0 d29yayBmaXJld2FsbAorZGV2aWNlIGluIGEgZGF0YSBjZW50ZXIsIGFuIElvVCBkZXZpY2UsIGV0 Y2V0ZXJhKSwgd2hlcmUgYWxsIHNvZnR3YXJlIGFuZAorY29uZmlndXJhdGlvbiBpcyBidWlsdCBh bmQgcHJvdmlzaW9uZWQgYnkgdGhlIHN5c3RlbSBvd25lci4KKworSVBFIGlzIGEgbG9uZy13YXkg b2ZmIGZvciB1c2UgaW4gZ2VuZXJhbC1wdXJwb3NlIGNvbXB1dGluZzogdGhlIExpbnV4Citjb21t dW5pdHkgYXMgYSB3aG9sZSB0ZW5kcyB0byBmb2xsb3cgYSBkZWNlbnRyYWxpemVkIHRydXN0IG1v ZGVsLAora25vd24gYXMgdGhlIHdlYiBvZiB0cnVzdCwgd2hpY2ggSVBFIGhhcyBubyBzdXBwb3J0 IGZvciBhcyBvZiB5ZXQuCisKK0lQRSwgaW5zdGVhZCBvZiBzdXBwb3J0aW5nIHdlYiBvZiB0cnVz dCwgc3VwcG9ydHMgUEtJLCB3aGljaCBnZW5lcmFsbHkKK2Rlc2lnbmF0ZXMgYSBzZXQgb2YgZW50 aXRpZXMgdGhhdCBwcm92aWRlIGEgbWVhc3VyZSBvZiBhYnNvbHV0ZSB0cnVzdC4KKworQWRkaXRp b25hbGx5LCB3aGlsZSBtb3N0IHBhY2thZ2VzIGFyZSBzaWduZWQgdG9kYXksIHRoZSBmaWxlcyBp bnNpZGUKK3RoZSBwYWNrYWdlcyAoZm9yIGluc3RhbmNlLCB0aGUgZXhlY3V0YWJsZXMpLCB0ZW5k IHRvIGJlIHVuc2lnbmVkLiBUaGlzCittYWtlcyBpdCBkaWZmaWN1bHQgdG8gdXRpbGl6ZSBJUEUg aW4gc3lzdGVtcyB3aGVyZSBhIHBhY2thZ2UgbWFuYWdlciBpcworZXhwZWN0ZWQgdG8gYmUgZnVu Y3Rpb25hbCwgd2l0aG91dCBtYWpvciBjaGFuZ2VzIHRvIHRoZSBwYWNrYWdlIG1hbmFnZXIKK2Fu ZCBlY29zeXN0ZW0gYmVoaW5kIGl0LgorCitESUdMSU0gWyNkaWdsaW1dXyBpcyBhIHN5c3RlbSB0 aGF0IHdoZW4gY29tYmluZWQgd2l0aCBJUEUsIGNvdWxkIGJlIHVzZWQgdG8KK2VuYWJsZSBnZW5l cmFsIHB1cnBvc2UgY29tcHV0aW5nIHNjZW5hcmlvcy4KKworS25vd24gR2FwcworLS0tLS0tLS0t LQorCitJUEUgY2Fubm90IHZlcmlmeSB0aGUgaW50ZWdyaXR5IG9mIGFub255bW91cyBleGVjdXRh YmxlIG1lbW9yeSwgc3VjaCBhcwordGhlIHRyYW1wb2xpbmVzIGNyZWF0ZWQgYnkgZ2NjIGNsb3N1 cmVzIGFuZCBsaWJmZmkgKDwzLjQuMiksIG9yIEpJVCdkIGNvZGUuCitVbmZvcnR1bmF0ZWx5LCBh cyB0aGlzIGlzIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBjb2RlLCB0aGVyZSBpcyBubyB3YXkKK2Zv ciBJUEUgdG8gZW5zdXJlIHRoZSBpbnRlZ3JpdHkgb2YgdGhpcyBjb2RlIHRvIGZvcm0gYSB0cnVz dCBiYXNpcy4gSW4gYWxsCitjYXNlcywgdGhlIHJldHVybiByZXN1bHQgZm9yIHRoZXNlIG9wZXJh dGlvbnMgd2lsbCBiZSB3aGF0ZXZlciB0aGUgYWRtaW4KK2NvbmZpZ3VyZXMgYXMgdGhlIGBgREVG QVVMVGBgIGFjdGlvbiBmb3IgYGBFWEVDVVRFYGAuCisKK0lQRSBjYW5ub3QgdmVyaWZ5IHRoZSBp bnRlZ3JpdHkgb2YgaW50ZXJwcmV0ZWQgbGFuZ3VhZ2VzJyBwcm9ncmFtcyB3aGVuCit0aGVzZSBz Y3JpcHRzIGFyZSBpbnZva2VkIHZpYSBgYDxpbnRlcnByZXRlcj4gPGZpbGU+YGAuIFRoaXMgaXMg YmVjYXVzZQordGhlIHdheSBpbnRlcnByZXRlcnMgZXhlY3V0ZSB0aGVzZSBmaWxlcywgdGhlIHNj cmlwdHMgdGhlbXNlbHZlcyBhcmUgbm90CitldmFsdWF0ZWQgYXMgZXhlY3V0YWJsZSBjb2RlIHRo cm91Z2ggb25lIG9mIElQRSdzIGhvb2tzLCBhcyB0aGV5IGFyZSBtZXJlbHkKK2ZpbGVzIHRoYXQg YXJlIHJlYWQgKGFzIG9wcG9zZWQgdG8gZXhlY3V0YWJsZSBjb2RlKSBbI2ludGVycHJldGVyc11f LgorCitUaHJlYXQgTW9kZWwKKy0tLS0tLS0tLS0tLQorCitUaGUgdGhyZWF0IHR5cGUgYWRkcmVz c2VkIGJ5IElQRSBpcyB0YW1wZXJpbmcgb2YgZXhlY3V0YWJsZSB1c2VybGFuZAorY29kZSBiZXlv bmQgdGhlIGluaXRpYWxseSBib290ZWQga2VybmVsLCBhbmQgdGhlIGluaXRpYWwgdmVyaWZpY2F0 aW9uIG9mCitrZXJuZWwgbW9kdWxlcyB0aGF0IGFyZSBsb2FkZWQgaW4gdXNlcmxhbmQgdGhyb3Vn aCBgYG1vZHByb2JlYGAgb3IKK2BgaW5zbW9kYGAuCisKK0EgYmFyZS1taW5pbXVtIGV4YW1wbGUg b2YgYSB0aHJlYXQgdGhhdCBzaG91bGQgYmUgbWl0aWdhdGVkIGJ5IElQRSwgaXMKK2EgaG9zdGls ZSBiaW5hcnkgaXMgZG93bmxvYWRlZCB3aXRoIGFsbCByZXF1aXJlZCBiaW5hcmllcyAoaW5jbHVk aW5nCithIGxvYWRlciwgbGliYywgZXRjKS4gV2l0aCBJUEUsIHRoaXMgaG9zdGlsZSBiaW5hcnkg c2hvdWxkIG5vdCBhYmxlIHRvCitiZSBleGVjdXRlZCwgbm9yIGFueSBvZiB0aGUgZG93bmxvYWRl ZCBiaW5hcmllcy4KKworVGFtcGVyaW5nIHZpb2xhdGVzIGludGVncml0eSwgYW5kIGJlaW5nIHVu YWJsZSB0byB2ZXJpZnkgdGhlIGludGVncml0eSwKK3Jlc3VsdHMgaW4gYSBsYWNrIG9mIHRydXN0 LiBJUEUncyByb2xlIGluIG1pdGlnYXRpbmcgdGhpcyB0aHJlYXQgaXMgdG8KK3ZlcmlmeSB0aGUg aW50ZWdyaXR5IChhbmQgYXV0aGVudGljaXR5KSBvZiBhbGwgZXhlY3V0YWJsZSBjb2RlIGFuZCB0 bworZGVueSB0aGVpciB1c2UgaWYgdGhleSBjYW5ub3QgYmUgdHJ1c3RlZCAoYXMgaW50ZWdyaXR5 IHZlcmlmaWNhdGlvbiBmYWlscywKK29yIHRoZSBhdXRob3JpemF0aW9uIGNoZWNrIGZhaWxzIGFn YWluc3QgdGhlIHJlZmVyZW5jZSB2YWx1ZSBpbiB0aGUgcG9saWN5KS4KK0lQRSBnZW5lcmF0ZXMg YXVkaXQgbG9ncyB3aGljaCBtYXkgYmUgdXRpbGl6ZWQgdG8gZGV0ZWN0IGZhaWx1cmVzIHJlc3Vs dGluZworZnJvbSBmYWlsdXJlIHRvIHBhc3MgcG9saWN5LgorCitUYW1wZXJpbmcgdGhyZWF0IHNj ZW5hcmlvcyBpbmNsdWRlIG1vZGlmaWNhdGlvbiBvciByZXBsYWNlbWVudCBvZgorZXhlY3V0YWJs ZSBjb2RlIGJ5IGEgcmFuZ2Ugb2YgYWN0b3JzIGluY2x1ZGluZzoKKworLSAgQWN0b3JzIHdpdGgg cGh5c2ljYWwgYWNjZXNzIHRvIHRoZSBoYXJkd2FyZQorLSAgQWN0b3JzIHdpdGggbG9jYWwgbmV0 d29yayBhY2Nlc3MgdG8gdGhlIHN5c3RlbQorLSAgQWN0b3JzIHdpdGggYWNjZXNzIHRvIHRoZSBk ZXBsb3ltZW50IHN5c3RlbQorLSAgQ29tcHJvbWlzZWQgaW50ZXJuYWwgc3lzdGVtcyB1bmRlciBl eHRlcm5hbCBjb250cm9sCistICBNYWxpY2lvdXMgZW5kIHVzZXJzIG9mIHRoZSBzeXN0ZW0KKy0g IENvbXByb21pc2VkIGVuZCB1c2VycyBvZiB0aGUgc3lzdGVtCistICBSZW1vdGUgKGV4dGVybmFs KSBjb21wcm9taXNlIG9mIHRoZSBzeXN0ZW0KKworSVBFIGRvZXMgbm90IG1pdGlnYXRlIHRocmVh dHMgYXJpc2luZyBmcm9tIG1hbGljaW91cyBhdXRob3JpemVkCitkZXZlbG9wZXJzICh3aXRoIGFj Y2VzcyB0byBhIHNpZ25pbmcgY2VydGlmaWNhdGUpLCBvciBjb21wcm9taXNlZAorZGV2ZWxvcGVy IHRvb2xzIHVzZWQgYnkgYXV0aG9yaXplZCBkZXZlbG9wZXJzIChpLmUuIFJldHVybiBPcmllbnRl ZAorUHJvZ3JhbW1pbmcgYXR0YWNrcykuIEFkZGl0aW9uYWxseSwgSVBFIGRyYXdzIGhhcmQgc2Vj dXJpdHkgYm91bmRhcnkKK2JldHdlZW4gdXNlciBtb2RlIGFuZCBrZXJuZWwgbW9kZS4gQXMgYSBy ZXN1bHQsIElQRSBkb2VzIG5vdCBwcm92aWRlCithbnkgcHJvdGVjdGlvbnMgYWdhaW5zdCBhIGtl cm5lbCBsZXZlbCBleHBsb2l0LCBhbmQgYSBrZXJuZWwtbGV2ZWwKK2V4cGxvaXQgY2FuIGRpc2Fi bGUgb3IgdGFtcGVyIHdpdGggSVBFJ3MgcHJvdGVjdGlvbnMuCisKK1BvbGljeQorLS0tLS0tCisK K0lQRSBwb2xpY3kgaXMgYSBwbGFpbi10ZXh0IFsjZGV2ZG9jXV8gcG9saWN5IGNvbXBvc2VkIG9m IG11bHRpcGxlIHN0YXRlbWVudHMKK292ZXIgc2V2ZXJhbCBsaW5lcy4gVGhlcmUgaXMgb25lIHJl cXVpcmVkIGxpbmUsIGF0IHRoZSB0b3Agb2YgdGhlCitwb2xpY3ksIGluZGljYXRpbmcgdGhlIHBv bGljeSBuYW1lLCBhbmQgdGhlIHBvbGljeSB2ZXJzaW9uLCBmb3IKK2luc3RhbmNlOjoKKworICAg cG9saWN5X25hbWU9IkV4IFBvbGljeSIgcG9saWN5X3ZlcnNpb249MC4wLjAKKworVGhlIHBvbGlj eSBuYW1lIGlzIGEgdW5pcXVlIGtleSBpZGVudGlmeWluZyB0aGlzIHBvbGljeSBpbiBhIGh1bWFu CityZWFkYWJsZSBuYW1lLiBUaGlzIGlzIHVzZWQgdG8gY3JlYXRlIG5vZGVzIHVuZGVyIHNlY3Vy aXR5ZnMgYXMgd2VsbCBhcwordW5pcXVlbHkgaWRlbnRpZnkgcG9saWNpZXMgdG8gZGVwbG95IG5l dyBwb2xpY2llcyB2cyB1cGRhdGUgZXhpc3RpbmcKK3BvbGljaWVzLgorCitUaGUgcG9saWN5IHZl cnNpb24gaW5kaWNhdGVzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHBvbGljeSAoTk9UIHRo ZQorcG9saWN5IHN5bnRheCB2ZXJzaW9uKS4gVGhpcyBpcyB1c2VkIHRvIHByZXZlbnQgcm9sbGJh Y2sgb2YgcG9saWN5IHRvCitwb3RlbnRpYWxseSBpbnNlY3VyZSBwcmV2aW91cyB2ZXJzaW9ucyBv ZiB0aGUgcG9saWN5LgorCitUaGUgbmV4dCBwb3J0aW9uIG9mIElQRSBwb2xpY3kgYXJlIHJ1bGVz LiBSdWxlcyBhcmUgZm9ybWVkIGJ5IGtleT12YWx1ZQorcGFpcnMsIGtub3duIGFzIHByb3BlcnRp ZXMuIElQRSBydWxlcyByZXF1aXJlIHR3byBwcm9wZXJ0aWVzOiAiYWN0aW9uIiwKK3doaWNoIGRl dGVybWluZXMgd2hhdCBJUEUgZG9lcyB3aGVuIGl0IGVuY291bnRlcnMgYSBtYXRjaCBhZ2FpbnN0 IHRoZQorcnVsZSwgYW5kICJvcCIsIHdoaWNoIGRldGVybWluZXMgd2hlbiB0aGF0IHJ1bGUgc2hv dWxkIGJlIGV2YWx1YXRlZC4KK1RoZSBvcmRlcmluZyBpcyBzaWduaWZpY2FudCwgYSBydWxlIG11 c3Qgc3RhcnQgd2l0aCAib3AiLCBhbmQgZW5kIHdpdGgKKyJhY3Rpb24iLiBUaHVzLCBhIG1pbmlt YWwgcnVsZSBpczo6CisKKyAgIG9wPUVYRUNVVEUgYWN0aW9uPUFMTE9XCisKK1RoaXMgZXhhbXBs ZSB3aWxsIGFsbG93IGFueSBleGVjdXRpb24uIEFkZGl0aW9uYWwgcHJvcGVydGllcyBhcmUgdXNl ZCB0bworcmVzdHJpY3QgYXR0cmlidXRlcyBhYm91dCB0aGUgZmlsZXMgYmVpbmcgZXZhbHVhdGVk LiBUaGVzZSBwcm9wZXJ0aWVzCithcmUgaW50ZW5kZWQgdG8gYmUgZGVzY3JpcHRpb25zIG9mIHN5 c3RlbXMgd2l0aGluIHRoZSBrZXJuZWwgdGhhdCBjYW4KK3Byb3ZpZGUgYSBtZWFzdXJlIG9mIGlu dGVncml0eSB2ZXJpZmljYXRpb24sIHN1Y2ggdGhhdCBJUEUgY2FuIGRldGVybWluZQordGhlIHRy dXN0IG9mIHRoZSByZXNvdXJjZSBiYXNlZCBvbiB0aGUgInZhbHVlIiBoYWxmIG9mIHRoZSBwcm9w ZXJ0eS4KKworUnVsZXMgYXJlIGV2YWx1YXRlZCB0b3AtdG8tYm90dG9tLiBBcyBhIHJlc3VsdCwg YW55IHJldm9jYXRpb24gcnVsZXMsCitvciBkZW5pZXMgc2hvdWxkIGJlIHBsYWNlZCBlYXJseSBp biB0aGUgZmlsZSB0byBlbnN1cmUgdGhhdCB0aGVzZSBydWxlcworYXJlIGV2YWx1YXRlZCBiZWZv cmUgYSBydWxlIHdpdGggImFjdGlvbj1BTExPVyIgaXMgaGl0LgorCitJUEUgcG9saWN5IGlzIGRl c2lnbmVkIHRvIGJlIG9ubHkgZm9yd2FyZCBjb21wYXRpYmxlLiBVc2Vyc3BhY2UgY2FuIHJlYWQK K3doYXQgdGhlIHBhcnNlcidzIGN1cnJlbnQgY29uZmlndXJhdGlvbiAoc3VwcG9ydGVkIHN0YXRl bWVudHMsIHByb3BlcnRpZXMsCitldGNldGVyYSkgdmlhIHJlYWRpbmcgdGhlIHNlY3VyaXR5ZnMg ZW50cnksICdpcGUvY29uZmlnJy4KKworSVBFIHBvbGljeSBzdXBwb3J0cyBjb21tZW50cy4gVGhl IGNoYXJhY3RlciAnIycgd2lsbCBmdW5jdGlvbiBhcyBhCitjb21tZW50LCBpZ25vcmluZyBhbGwg Y2hhcmFjdGVycyB0byB0aGUgcmlnaHQgb2YgJyMnIHVudGlsIHRoZSBuZXdsaW5lLgorCitUaGUg ZGVmYXVsdCBiZWhhdmlvciBvZiBJUEUgZXZhbHVhdGlvbnMgY2FuIGFsc28gYmUgZXhwcmVzc2Vk IGluIHBvbGljeSwKK3Rocm91Z2ggdGhlIGBgREVGQVVMVGBgIHN0YXRlbWVudC4gVGhpcyBjYW4g YmUgZG9uZSBhdCBhIGdsb2JhbCBsZXZlbCwKK29yIGEgcGVyLW9wZXJhdGlvbiBsZXZlbDo6CisK KyAgICMgR2xvYmFsCisgICBERUZBVUxUIGFjdGlvbj1BTExPVworCisgICAjIE9wZXJhdGlvbiBT cGVjaWZpYworICAgREVGQVVMVCBvcD1FWEVDVVRFIGFjdGlvbj1BTExPVworCitBIGRlZmF1bHQg bXVzdCBiZSBzZXQgZm9yIGFsbCBrbm93biBvcGVyYXRpb25zIGluIElQRS4gSWYgeW91IHdhbnQg dG8KK3ByZXNlcnZlIG9sZGVyIHBvbGljaWVzIGJlaW5nIGNvbXBhdGlibGUgd2l0aCBuZXdlciBr ZXJuZWxzIHRoYXQgY2FuIGludHJvZHVjZQorbmV3IG9wZXJhdGlvbnMsIHBsZWFzZSBzZXQgYSBn bG9iYWwgZGVmYXVsdCBvZiAnQUxMT1cnLCBhbmQgb3ZlcnJpZGUgdGhlCitkZWZhdWx0cyBvbiBh IHBlci1vcGVyYXRpb24gYmFzaXMuCisKK1dpdGggY29uZmlndXJhYmxlIHBvbGljeS1iYXNlZCBM U01zLCB0aGVyZSdzIHNldmVyYWwgaXNzdWVzIHdpdGgKK2VuZm9yY2luZyB0aGUgY29uZmlndXJh YmxlIHBvbGljaWVzIGF0IHN0YXJ0dXAsIGFyb3VuZCByZWFkaW5nIGFuZAorcGFyc2luZyB0aGUg cG9saWN5OgorCisxLiBUaGUga2VybmVsICpzaG91bGQqIG5vdCByZWFkIGZpbGVzIGZyb20gdXNl cmxhbmQsIHNvIGRpcmVjdGx5IHJlYWRpbmcKKyAgIHRoZSBwb2xpY3kgZmlsZSBpcyBwcm9oaWJp dGVkLgorMi4gVGhlIGtlcm5lbCBjb21tYW5kIGxpbmUgaGFzIGEgY2hhcmFjdGVyIGxpbWl0LCBh bmQgb25lIGtlcm5lbCBtb2R1bGUKKyAgIHNob3VsZCBub3QgcmVzZXJ2ZSB0aGUgZW50aXJlIGNo YXJhY3RlciBsaW1pdCBmb3IgaXRzIG93bgorICAgY29uZmlndXJhdGlvbi4KKzMuIFRoZXJlIGFy ZSB2YXJpb3VzIGJvb3QgbG9hZGVycyBpbiB0aGUga2VybmVsIGVjb3N5c3RlbSwgc28gaGFuZGlu ZworICAgb2ZmIGEgbWVtb3J5IGJsb2NrIHdvdWxkIGJlIGNvc3RseSB0byBtYWludGFpbi4KKwor QXMgYSByZXN1bHQsIElQRSBoYXMgYWRkcmVzc2VkIHRoaXMgcHJvYmxlbSB0aHJvdWdoIGEgY29u Y2VwdCBvZiBhICJib290Citwb2xpY3kiLiBBIGJvb3QgcG9saWN5IGlzIGEgbWluaW1hbCBwb2xp Y3ksIGNvbXBpbGVkIGludG8gdGhlIGtlcm5lbC4KK1RoaXMgcG9saWN5IGlzIGludGVuZGVkIHRv IGdldCB0aGUgc3lzdGVtIHRvIGEgc3RhdGUgd2hlcmUgdXNlcmxhbmQgaXMKK3NldCB1cCBhbmQg cmVhZHkgdG8gcmVjZWl2ZSBjb21tYW5kcywgYXQgd2hpY2ggcG9pbnQgYSBtb3JlIGNvbXBsZXgK K3BvbGljeSBjYW4gYmUgZGVwbG95ZWQgdmlhIHNlY3VyaXR5ZnMuIFRoZSBib290IHBvbGljeSBj YW4gYmUgc3BlY2lmaWVkCit2aWEgdGhlIEtjb25maWcsIGBgU0VDVVJJVFlfSVBFX0JPT1RfUE9M SUNZYGAsIHdoaWNoIGFjY2VwdHMgYSBwYXRoIHRvCithIHBsYWluLXRleHQgdmVyc2lvbiBvZiB0 aGUgSVBFIHBvbGljeSB0byBhcHBseS4gVGhpcyBwb2xpY3kgd2lsbCBiZQorY29tcGlsZWQgaW50 byB0aGUga2VybmVsLiBJZiBub3Qgc3BlY2lmaWVkLCBJUEUgd2lsbCBiZSBkaXNhYmxlZCB1bnRp bAorYSBwb2xpY3kgaXMgZGVwbG95ZWQgYW5kIGFjdGl2YXRlZCB0aHJvdWdoIHNlY3VyaXR5ZnMu CisKK0RlcGxveWluZyBQb2xpY2llcworfn5+fn5+fn5+fn5+fn5+fn5+CisKK1BvbGljaWVzIGNh biBiZSBkZXBsb3llZCBmcm9tIHVzZXJsYW5kIHRocm91Z2ggc2VjdXJpdHlmcy4gVGhlc2UgcG9s aWNpZXMKK2FyZSBzaWduZWQgdGhyb3VnaCB0aGUgUEtDUyM3IG1lc3NhZ2UgZm9ybWF0IHRvIGVu Zm9yY2Ugc29tZSBsZXZlbCBvZgorYXV0aG9yaXphdGlvbiBvZiB0aGUgcG9saWNpZXMgKHByb2hp Yml0aW5nIGFuIGF0dGFja2VyIGZyb20gZ2FpbmluZwordW5jb25zdHJhaW5lZCByb290LCBhbmQg ZGVwbG95aW5nIGFuICJhbGxvdyBhbGwiIHBvbGljeSkuIFRoZXNlCitwb2xpY2llcyBtdXN0IGJl IHNpZ25lZCBieSBhIGNlcnRpZmljYXRlIHRoYXQgY2hhaW5zIHRvIHRoZQorYGBTWVNURU1fVFJV U1RFRF9LRVlSSU5HYGAuIFRocm91Z2ggb3BlbnNzbCwgdGhlIHNpZ25pbmcgY2FuIGJlIGRvbmUg dmlhOjoKKworICAgb3BlbnNzbCBzbWltZSAtc2lnbiBcCisgICAgICAtaW4gIiRNWV9QT0xJQ1ki IFwKKyAgICAgIC1zaWduZXIgIiRNWV9DRVJUSUZJQ0FURSIgXAorICAgICAgLWlua2V5ICIkTVlf UFJJVkFURV9LRVkiIFwKKyAgICAgIC1ub2F0dHIgXAorICAgICAgLW5vZGV0YWNoIFwKKyAgICAg IC1ub3NtaW1lY2FwIFwKKyAgICAgIC1vdXRmb3JtIGRlciBcCisgICAgICAtb3V0ICIkTVlfUE9M SUNZLnA3YiIKKworRGVwbG95aW5nIHRoZSBwb2xpY2llcyBpcyBkb25lIHRocm91Z2ggc2VjdXJp dHlmcywgdGhyb3VnaCB0aGUKK2BgbmV3X3BvbGljeWBgIG5vZGUuIFRvIGRlcGxveSBhIHBvbGlj eSwgc2ltcGx5IGNhdCB0aGUgZmlsZSBpbnRvIHRoZQorc2VjdXJpdHlmcyBub2RlOjoKKworICAg Y2F0ICIkTVlfUE9MSUNZLnA3YiIgPiAvc3lzL2tlcm5lbC9zZWN1cml0eS9pcGUvbmV3X3BvbGlj eQorCitVcG9uIHN1Y2Nlc3MsIHRoaXMgd2lsbCBjcmVhdGUgb25lIHN1YmRpcmVjdG9yeSB1bmRl cgorYGAvc3lzL2tlcm5lbC9zZWN1cml0eS9pcGUvcG9saWNpZXMvYGAuIFRoZSBzdWJkaXJlY3Rv cnkgd2lsbCBiZSB0aGUKK2BgcG9saWN5X25hbWVgYCBmaWVsZCBvZiB0aGUgcG9saWN5IGRlcGxv eWVkLCBzbyBmb3IgdGhlIGV4YW1wbGUgYWJvdmUsCit0aGUgZGlyZWN0b3J5IHdpbGwgYmUgYGAv c3lzL2tlcm5lbC9zZWN1cml0eS9pcGUvcG9saWNpZXMvRXhcIFBvbGljeWBgLgorV2l0aGluIHRo aXMgZGlyZWN0b3J5LCB0aGVyZSB3aWxsIGJlIGZpdmUgZmlsZXM6IGBgcGtjczdgYCwgYGBwb2xp Y3lgYCwKK2BgYWN0aXZlYGAsIGBgdXBkYXRlYGAsIGFuZCBgYGRlbGV0ZWBgLgorCitUaGUgYGBw a2NzN2BgIGZpbGUgaXMgcmVhZCBvbmx5LiBSZWFkaW5nIHdpbGwgcHJvdmlkZSB0aGUgcmF3IFBL Q1MjNyBkYXRhCit0aGF0IHdhcyBwcm92aWRlZCB0byB0aGUga2VybmVsLCByZXByZXNlbnRpbmcg dGhlIHBvbGljeS4gV3JpdGluZywgd2lsbAorZGVwbG95IGFuIGluLXBsYWNlIHBvbGljeSB1cGRh dGUuSWYgdGhlIHBvbGljeSBiZWluZyByZWFkIGlzIHRoZSBib290Citwb2xpY3ksIHdoZW4gcmVh ZCwgdGhpcyB3aWxsIHJldHVybiBFTk9FTlQsIGFzIHRoaXMgcG9saWN5IGlzIG5vdCBzaWduZWQu CisKK1RoZSBgYHBvbGljeWBgIGZpbGUgaXMgcmVhZCBvbmx5LiBSZWFkaW5nIHdpbGwgcHJvdmlk ZSB0aGUgUEtDUyM3IGlubmVyCitjb250ZW50IG9mIHRoZSBwb2xpY3ksIHdoaWNoIHdpbGwgYmUg dGhlIHBsYWluIHRleHQgcG9saWN5LgorCitUaGUgYGBhY3RpdmVgYCBmaWxlIGlzIHVzZWQgdG8g c2V0IGEgcG9saWN5IGFzIHRoZSBjdXJyZW50bHkgYWN0aXZlIHBvbGljeS4KK1RoaXMgZmlsZSBp cyBydywgYW5kIGFjY2VwdHMgYSB2YWx1ZSBvZiBgYCIxImBgIHRvIHNldCB0aGUgcG9saWN5IGFz IGFjdGl2ZS4KK1NpbmNlIG9ubHkgYSBzaW5nbGUgcG9saWN5IGNhbiBiZSBhY3RpdmUgYXQgb25l IHRpbWUsIGFsbCBvdGhlciBwb2xpY2llcword2lsbCBiZSBtYXJrZWQgaW5hY3RpdmUuIFRoZSBw b2xpY3kgYmVpbmcgbWFya2VkIGFjdGl2ZSBtdXN0IGhhdmUgYSBwb2xpY3kKK3ZlcnNpb24gZ3Jl YXRlciBvciBlcXVhbCB0byB0aGUgY3VycmVudGx5LXJ1bm5pbmcgdmVyc2lvbi4KKworVGhlIGBg dXBkYXRlYGAgZmlsZSBpcyB1c2VkIHRvIHVwZGF0ZSBhIHBvbGljeSB0aGF0IGlzIGFscmVhZHkg cHJlc2VudCBpbgordGhlIGtlcm5lbC4gVGhpcyBmaWxlIGlzIHdyaXRlLW9ubHkgYW5kIGFjY2Vw dHMgYSBQS0NTIzcgc2lnbmVkIHBvbGljeS4KK09uZSBjaGVjayB3aWxsIGFsd2F5cyBiZSBwZXJm b3JtZWQgb24gdGhpcyBwb2xpY3k6IHRoZSBwb2xpY3lfbmFtZXMgbXVzdAorbWF0Y2ggd2l0aCB0 aGUgdXBkYXRlZCB2ZXJzaW9uIGFuZCB0aGUgZXhpc3RpbmcgdmVyc2lvbi4gT25lIGFkZGl0aW9u YWwgY2hlY2sKK21heSBiZSBtYWRlOiBJZiB0aGUgcG9saWN5IGJlaW5nIHVwZGF0ZWQgaXMgdGhl IGFjdGl2ZSBwb2xpY3ksIHRoZSB1cGRhdGVkCitwb2xpY3kgbXVzdCBoYXZlIGEgcG9saWN5IHZl cnNpb24gZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50bHktcnVubmluZwordmVy c2lvbjsgVGhpcyBpcyB0byBwcmV2ZW50IHJvbGxiYWNrIGF0dGFja3MuCisKK1RoZSBgYGRlbGV0 ZWBgIGZpbGUgaXMgdXNlZCB0byByZW1vdmUgYSBwb2xpY3kgdGhhdCBpcyBubyBsb25nZXIgbmVl ZGVkLgorVGhpcyBmaWxlIGlzIHdyaXRlLW9ubHkgYW5kIGFjY2VwdHMgYSB2YWx1ZSBvZiBgYDFg YCB0byBkZWxldGUgdGhlIHBvbGljeS4KK09uIGRlbGV0aW9uLCB0aGUgc2VjdXJpdHlmcyBub2Rl IHJlcHJlc2VudGluZyB0aGUgcG9saWN5IHdpbGwgYmUgcmVtb3ZlZC4KK1RoZSBwb2xpY3kgdGhh dCBpcyBjdXJyZW50bHkgYWN0aXZlIGNhbm5vdCBiZSBkZWxldGVkLgorCitTaW1pbGFybHksIHRo ZSB3cml0ZXMgdG8gYm90aCBgYHVwZGF0ZWBgIGFuZCBgYG5ld19wb2xpY3lgYCBhYm92ZSB3aWxs CityZXN1bHQgaW4gYW4gZXJyb3IgdXBvbiBzeW50YWN0aWNhbGx5IGludmFsaWQgb3IgdW50cnVz dGVkIHBvbGljaWVzLgorSW4gdGhlIGNhc2Ugb2YgYGBuZXdfcG9saWN5YGAsIGl0IHdpbGwgYWxz byBlcnJvciBpZiBhIHBvbGljeSBhbHJlYWR5CitleGlzdHMgd2l0aCB0aGUgc2FtZSBgYHBvbGlj eV9uYW1lYGAuCisKK0RlcGxveWluZyB0aGVzZSBwb2xpY2llcyB3aWxsICpub3QqIGNhdXNlIElQ RSB0byBzdGFydCBlbmZvcmNpbmcgdGhpcworcG9saWN5LiBPbmNlIGRlcGxveW1lbnQgaXMgc3Vj Y2Vzc2Z1bCwgYSBwb2xpY3kgY2FuIGJlIG1hcmtlZCBhcyBhY3RpdmUsCit2aWEgYGAvc3lzL2tl cm5lbC9zZWN1cml0eS9pcGUvJHBvbGljeV9uYW1lL2FjdGl2ZWBgLiBJUEUgd2lsbCBlbmZvcmNl Cit3aGF0ZXZlciBwb2xpY3kgaXMgbWFya2VkIGFzIGFjdGl2ZS4gRm9yIG91ciBleGFtcGxlLCB3 ZSBjYW4gYWN0aXZhdGUKK3RoZSBgYEV4IFBvbGljeWBgIHZpYTo6CisKKyAgIGVjaG8gMSA+ICIv c3lzL2tlcm5lbC9zZWN1cml0eS9pcGUvRXggUG9saWN5L2FjdGl2ZSIKKworQXQgd2hpY2ggcG9p bnQsIGBgRXggUG9saWN5YGAgd2lsbCBub3cgYmUgdGhlIGVuZm9yY2VkIHBvbGljeSBvbiB0aGUK K3N5c3RlbS4KKworSVBFIGFsc28gcHJvdmlkZXMgYSB3YXkgdG8gZGVsZXRlIHBvbGljaWVzLiBU aGlzIGNhbiBiZSBkb25lIHZpYSB0aGUKK2BgZGVsZXRlYGAgc2VjdXJpdHlmcyBub2RlLCBgYC9z eXMva2VybmVsL3NlY3VyaXR5L2lwZS8kcG9saWN5X25hbWUvZGVsZXRlYGAuCitXcml0aW5nIGBg MWBgIHRvIHRoYXQgZmlsZSB3aWxsIGRlbGV0ZSB0aGF0IG5vZGU6OgorCisgICBlY2hvIDEgPiAi L3N5cy9rZXJuZWwvc2VjdXJpdHkvaXBlLyRwb2xpY3lfbmFtZS9kZWxldGUiCisKK1RoZXJlIGlz IG9ubHkgb25lIHJlcXVpcmVtZW50IHRvIGRlbGV0ZSBhIHBvbGljeToKKworMS4gVGhlIHBvbGlj eSBiZWluZyBkZWxldGVkIG11c3Qgbm90IGJlIHRoZSBhY3RpdmUgcG9saWN5LgorCisuLiBOT1RF OjoKKworICAgSWYgYSB0cmFkaXRpb25hbCBNQUMgc3lzdGVtIGlzIGVuYWJsZWQgKFNFTGludXgs IGFwcGFybW9yLCBzbWFjayksIGFsbAorICAgd3JpdGVzIHRvIGlwZSdzIHNlY3VyaXR5ZnMgbm9k ZXMgcmVxdWlyZSBgYENBUF9NQUNfQURNSU5gYC4KKworTW9kZXMKK35+fn5+CisKK0lQRSBzdXBw b3J0cyB0d28gbW9kZXMgb2Ygb3BlcmF0aW9uOiBwZXJtaXNzaXZlIChzaW1pbGFyIHRvIFNFTGlu dXgncworcGVybWlzc2l2ZSBtb2RlKSBhbmQgZW5mb3JjZS4gUGVybWlzc2l2ZSBtb2RlIHBlcmZv cm1zIHRoZSBzYW1lIGNoZWNrcworYXMgZW5mb3JjZSBtb2RlLCBhbmQgbG9ncyBwb2xpY3kgdmlv bGF0aW9ucywgYnV0IHdpbGwgbm90IGVuZm9yY2UgdGhlCitwb2xpY3kuIFRoaXMgYWxsb3dzIHVz ZXJzIHRvIHRlc3QgcG9saWNpZXMgYmVmb3JlIGVuZm9yY2luZyB0aGVtLgorCitUaGUgZGVmYXVs dCBtb2RlIGlzIGVuZm9yY2UsIGFuZCBjYW4gYmUgY2hhbmdlZCB2aWEgdGhlIGtlcm5lbCBjb21t YW5kCitsaW5lIHBhcmFtZXRlciBgYGlwZS5lbmZvcmNlPSgwfDEpYGAsIG9yIHRoZSBzZWN1cml0 eWZzIG5vZGUKK2BgL3N5cy9rZXJuZWwvc2VjdXJpdHkvaXBlL2VuZm9yY2VgYC4KKworLi4gTk9U RTo6CisKKyAgIElmIGEgdHJhZGl0aW9uYWwgTUFDIHN5c3RlbSBpcyBlbmFibGVkIChTRUxpbnV4 LCBhcHBhcm1vciwgc21hY2ssIGV0Y2V0ZXJhKSwKKyAgIGFsbCB3cml0ZXMgdG8gaXBlJ3Mgc2Vj dXJpdHlmcyBub2RlcyByZXF1aXJlIGBgQ0FQX01BQ19BRE1JTmBgLgorCitBdWRpdCBFdmVudHMK K35+fn5+fn5+fn5+fgorCisxNDIwIEFVRElUX0lQRV9BQ0NFU1MKK15eXl5eXl5eXl5eXl5eXl5e Xl5eXgorRXZlbnQgRXhhbXBsZXM6OgorCisgICB0eXBlPTE0MjAgYXVkaXQoMTY1MzM2NDM3MC4w Njc6NjEpOiBwYXRoPSIvcm9vdC9mcy9ydy9wbGFpbi9leGVjdmUiIGRldj0idmRjMSIgaW5vPTE2 IHJ1bGU9IkRFRkFVTFQgb3A9RVhFQ1VURSBhY3Rpb249REVOWSIKKyAgIHR5cGU9MTMwMCBhdWRp dCgxNjUzMzY0MzcwLjA2Nzo2MSk6IGFyY2g9YzAwMDAwM2Ugc3lzY2FsbD0xMCBzdWNjZXNzPW5v IGV4aXQ9LTEzIGEwPTdmMGJmMDY0NDAwMCBhMT00ZjgwIGEyPTUgYTM9N2YwYmYwNDNkMzAwIGl0 ZW1zPTAgcHBpZD00NTUgcGlkPTczNyBhdWlkPTAgdWlkPTAgZ2lkPTAgZXVpZD0wIHN1aWQ9MCBm c3VpZD0wIGVnaWQ9MCBzZ2lkPTAgZnNnaWQ9MCB0dHk9dHR5UzAgc2VzPTMgY29tbT0ibXByb3Rl Y3QiIGV4ZT0iL3Jvb3QvaG9zdC9tcHJvdGVjdCIgc3Viaj1rZXJuZWwga2V5PShudWxsKQorICAg dHlwZT0xMzI3IGF1ZGl0KDE2NTMzNjQzNzAuMDY3OjYxKTogcHJvY3RpdGxlPTY4NkY3Mzc0MkY2 RDcwNzI2Rjc0NjU2Mzc0MDA1MzQ4MDA1MjdDNTcwMDUyN0M1ODAwNzA2QzYxNjk2RTJGNjU3ODY1 NjM3NjY1CisKKyAgIHR5cGU9MTQyMCBhdWRpdCgxNjUzMzY0NzM1LjE2MTo2NCk6IHJ1bGU9IkRF RkFVTFQgb3A9RVhFQ1VURSBhY3Rpb249REVOWSIKKyAgIHR5cGU9MTMwMCBhdWRpdCgxNjUzMzY0 NzM1LjE2MTo2NCk6IGFyY2g9YzAwMDAwM2Ugc3lzY2FsbD05IHN1Y2Nlc3M9bm8gZXhpdD0tMTMg YTA9MCBhMT0xMDAwIGEyPTQgYTM9MjAgaXRlbXM9MCBwcGlkPTQ1NSBwaWQ9Nzc0IGF1aWQ9MCB1 aWQ9MCBnaWQ9MCBldWlkPTAgc3VpZD0wIGZzdWlkPTAgZWdpZD0wIHNnaWQ9MCBmc2dpZD0wIHR0 eT10dHlTMCBzZXM9MyBjb21tPSJtbWFwIiBleGU9Ii9yb290L2hvc3QvbW1hcCIgc3Viaj1rZXJu ZWwga2V5PShudWxsKQorICAgdHlwZT0xMzI3IGF1ZGl0KDE2NTMzNjQ3MzUuMTYxOjY0KTogcHJv Y3RpdGxlPTY4NkY3Mzc0MkY2RDZENjE3MDAwNDEwMDU44o+OCisKK1RoaXMgZXZlbnQgaW5kaWNh dGVzIHRoYXQgSVBFIG1hZGUgYW4gYWNjZXNzIGNvbnRyb2wgZGVjaXNpb247IHRoZSBJUEUgc3Bl Y2lmaWMKK3JlY29yZCAoMTQyMCkgd2lsbCBhbHdheXMgYmUgZW1pdHRlZCBpbiBjb25qdW5jdGlv biB3aXRoIGEgYGBBVURJVFNZU0NBTExgYCByZWNvcmQuCisKK0RldGVybWluaW5nIHdoZXRoZXIg SVBFIGlzIGluIHBlcm1pc3NpdmUgY2FuIGJlIGRlcml2ZWQgZnJvbSB0aGUgc3VjY2VzcyBhbmQg ZXhpdAorZmllbGQgb2YgdGhlIEFVRElUU1lTQ0FMTCByZWNvcmQKKworCisKK0ZpZWxkIGRlc2Ny aXB0aW9uczoKKworKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsKK3wgRmllbGQgICAgICAgICB8IFZhbHVlIFR5cGUgfCBPcHRpb25hbD8g fCBEZXNjcmlwdGlvbiBvZiBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09Kz09PT09PT09PT09PSs9PT09PT09 PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09KworfCBwYXRoICAgICAgICAgIHwgc3RyaW5nICAgICB8IFll cyAgICAgICB8IFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBmaWxlIHRoYXQgd2FzIHRoZSBzdWJq ZWN0IG9mIHRoZSBldmFsdWF0aW9uICAgIHwKKystLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGlubyAgICAgICAgICAgfCBpbnRlZ2Vy ICAgIHwgWWVzICAgICAgIHwgVGhlIGlub2RlIG51bWJlciBvZiB0aGUgZmlsZSB0aGF0IHdhcyB0 aGUgc3ViamVjdCBvZiB0aGUgZXZhbHVhdGlvbiAgICAgfAorKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgZGV2ICAgICAgICAgICB8 IHN0cmluZyAgICAgfCBZZXMgICAgICAgfCBUaGUgZGV2aWNlIG5hbWUgdGhhdCB0aGUgZmlsZSB1 bmRlciBldmFsdWF0aW9uIGJlbG9uZ3MgdG8sIGUuZy4gdmRhICAgICB8CisrLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBydWxlICAg ICAgICAgIHwgc3RyaW5nICAgICB8IE5vICAgICAgICB8IFRoZSBleGFjdCBydWxlIGluIElQRSdz IHBvbGljeSB0aGF0IHRoZSBldmFsdWF0aW9uIG1hdGNoZWQgICAgICAgICAgICAgIHwKKystLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisK KzE0MDMgQVVESVRfTUFDX1BPTElDWV9MT0FECiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgor CitFdmVudCBFeGFtcGxlOjoKKworICAgdHlwZT0xNDAzIGF1ZGl0KDE2NTM0MjU1MjkuOTI3OjUz KTogcG9saWN5X25hbWU9ImRtdmVyaXR5X3Jvb3RoYXNoIiBwb2xpY3lfdmVyc2lvbj0wLjAuMCBz aGEyNTY9QTlDNTgwMzMwOUY4MEQyQjg0RDdDMDQ3NTM0QkU4QjYwRUYxMjFDOEUxRjM1MUYyQThF RkZBNjE3QjdGMDY4NgorICAgdHlwZT0xMzAwIGF1ZGl0KDE2NTM0MjU1MjkuOTI3OjUzKTogYXJj aD1jMDAwMDAzZSBzeXNjYWxsPTEgc3VjY2Vzcz15ZXMgZXhpdD02MjE1IGEwPTEgYTE9N2YwN2Fk ZmU0MDAwIGEyPTE4NDcgYTM9MjIgaXRlbXM9MCBwcGlkPTQ0MSBwaWQ9NDQ1IGF1aWQ9MCB1aWQ9 MCBnaWQ9MCBldWlkPTAgc3VpZD0wIGZzdWlkPTAgZWdpZD0pCisgICB0eXBlPTEzMjcgYXVkaXQo MTY1MzQyNTUyOS45Mjc6NTMpOiBwcm9jdGl0bGU9NjM2MTc0MDA3MDZGNkM2OTYzNjk2NTczMkY2 NDZENzY2NTcyNjk3NDc5NUY3MjZGNkY3NDY4NjE3MzY4MkU3MDZGNkMyRTcwMzc2MgorCitUaGlz IHJlY29yZCB3aWxsIGFsd2F5cyBiZSBlbWl0dGVkIGluIGNvbmp1bmN0aW9uIHdpdGggYSBgYEFV RElUU1lTQ0FMTGBgIHJlY29yZCBmb3IgdGhlIGBgd3JpdGVgYCBzeXNjYWxsLgorCisrLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IEZpZWxkICAgICAg ICAgIHwgVmFsdWUgVHlwZSB8IE9wdGlvbmFsPyB8IERlc2NyaXB0aW9uIG9mIFZhbHVlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PSs9 PT09PT09PT09PT0rPT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCit8IHBvbGljeV9uYW1lICAgIHwgc3RyaW5n ICAgICB8IE5vICAgICAgICB8IFRoZSBwb2xpY3lfbmFtZSBmaWVsZCBvZiB0aGUgcG9saWN5LiAg ICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCit8IHBvbGljeV92ZXJzaW9uIHwgc3RyaW5nICAgICB8IE5vICAg ICAgICB8IFRoZSBwb2xpY3lfdmVyc2lvbiBmaWVsZCBvZiB0aGUgcG9saWN5ICAgICAgICAgICAg ICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCit8IHNoYTEgICAgICAgICAgIHwgc3RyaW5nICAgICB8IFllcyogICAgICB8IEEgZmxh dCBoYXNoIG9mIHRoZSBwb2xpY3kuIENhbiBiZSB1c2VkIHRvIGlkZW50aWZ5IGEgcG9saWN5LiB8 CisrLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IHNo YTI1NiAgICAgICAgIHwgc3RyaW5nICAgICB8IFllcyogICAgICB8IEEgZmxhdCBoYXNoIG9mIHRo ZSBwb2xpY3kuIENhbiBiZSB1c2VkIHRvIGlkZW50aWZ5IGEgcG9saWN5LiB8CisrLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IHNoYTM4NCAgICAgICAg IHwgc3RyaW5nICAgICB8IFllcyogICAgICB8IEEgZmxhdCBoYXNoIG9mIHRoZSBwb2xpY3kuIENh biBiZSB1c2VkIHRvIGlkZW50aWZ5IGEgcG9saWN5LiB8CisrLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IHNoYTUxMiAgICAgICAgIHwgc3RyaW5nICAg ICB8IFllcyogICAgICB8IEEgZmxhdCBoYXNoIG9mIHRoZSBwb2xpY3kuIENhbiBiZSB1c2VkIHRv IGlkZW50aWZ5IGEgcG9saWN5LiB8CisrLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCisKKzE0MDUgQVVESVRfTUFDX0NPTkZJR19DSEFOR0UKK15eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl4KKworRXZlbnQgRXhhbXBsZTo6CisKKyAgIHR5cGU9MTQwNSBh dWRpdCgxNjUzNDI1NTgzLjEzNjo1NCk6IHBvbGljeV9uYW1lPSJkbXZlcml0eV9yb290aGFzaCIg cG9saWN5X3ZlcnNpb249MC4wLjAgc2hhMjU2PUE5QzU4MDMzMDlGODBEMkI4NEQ3QzA0NzUzNEJF OEI2MEVGMTIxQzhFMUYzNTFGMkE4RUZGQTYxN0I3RjA2ODYKKyAgIHR5cGU9MTMwMCBhdWRpdCgx NjUzNDI1NTgzLjEzNjo1NCk6IGFyY2g9YzAwMDAwM2Ugc3lzY2FsbD0xIHN1Y2Nlc3M9eWVzIGV4 aXQ9MiBhMD0xIGExPTU1YzEwNjVlNWM2MCBhMj0yIGEzPTdmZTY4Mzk5MDAyMCBpdGVtcz0wIHBw aWQ9NDA1IHBpZD00NDEgYXVpZD0wIHVpZD0wIGdpZD0wIGV1aWQ9MCBzdWlkPTAgZnN1aWQ9MCBl KQorICAgdHlwZT0xMzI3IGF1ZGl0KDE2NTM0MjU1ODMuMTM2OjU0KTogcHJvY3RpdGxlPSItYmFz aCIKKworVGhpcyByZWNvcmQgd2lsbCBhbHdheXMgYmUgZW1pdHRlZCBpbiBjb25qdW5jdGlvbiB3 aXRoIGEgYGBBVURJVFNZU0NBTExgYCByZWNvcmQgZm9yIHRoZSBgYHdyaXRlYGAgc3lzY2FsbC4K KworKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBG aWVsZCAgICAgICAgICB8IFZhbHVlIFR5cGUgfCBPcHRpb25hbD8gfCBEZXNjcmlwdGlvbiBvZiBW YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKz09PT09PT09 PT09PT09PT0rPT09PT09PT09PT09Kz09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBwb2xpY3lfbmFtZSAg ICB8IHN0cmluZyAgICAgfCBObyAgICAgICAgfCBUaGUgcG9saWN5X25hbWUgZmllbGQgb2YgdGhl IHBvbGljeS4gICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBwb2xpY3lfdmVyc2lvbiB8IHN0cmluZyAg ICAgfCBObyAgICAgICAgfCBUaGUgcG9saWN5X3ZlcnNpb24gZmllbGQgb2YgdGhlIHBvbGljeSAg ICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKworfCBzaGExICAgICAgICAgICB8IHN0cmluZyAgICAgfCBZZXMqICAg ICAgfCBBIGZsYXQgaGFzaCBvZiB0aGUgcG9saWN5LiBDYW4gYmUgdXNlZCB0byBpZGVudGlmeSBh IHBvbGljeS4gfAorKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKworfCBzaGEyNTYgICAgICAgICB8IHN0cmluZyAgICAgfCBZZXMqICAgICAgfCBBIGZsYXQg aGFzaCBvZiB0aGUgcG9saWN5LiBDYW4gYmUgdXNlZCB0byBpZGVudGlmeSBhIHBvbGljeS4gfAor Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBzaGEz ODQgICAgICAgICB8IHN0cmluZyAgICAgfCBZZXMqICAgICAgfCBBIGZsYXQgaGFzaCBvZiB0aGUg cG9saWN5LiBDYW4gYmUgdXNlZCB0byBpZGVudGlmeSBhIHBvbGljeS4gfAorKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBzaGE1MTIgICAgICAgICB8 IHN0cmluZyAgICAgfCBZZXMqICAgICAgfCBBIGZsYXQgaGFzaCBvZiB0aGUgcG9saWN5LiBDYW4g YmUgdXNlZCB0byBpZGVudGlmeSBhIHBvbGljeS4gfAorKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisxNDA0IEFVRElUX01BQ19TVEFUVVMKK15eXl5e Xl5eXl5eXl5eXl5eXl5eXgorCitFdmVudCBFeGFtcGxlczo6CisKKyAgIHR5cGU9MTQwNCBhdWRp dCgxNjUzNDI1Njg5LjAwODo1NSk6IHBlcm1pc3NpdmU9MQorICAgdHlwZT0xMzAwIGF1ZGl0KDE2 NTM0MjU2ODkuMDA4OjU1KTogYXJjaD1jMDAwMDAzZSBzeXNjYWxsPTEgc3VjY2Vzcz15ZXMgZXhp dD0yIGEwPTEgYTE9NTVjMTA2NWU1YzYwIGEyPTIgYTM9MCBpdGVtcz0wIHBwaWQ9NDA1IHBpZD00 NDEgYXVpZD0wIHVpZD0wIGdpZD0wIGV1aWQ9MCBzdWlkPTAgZnN1aWQ9MCBlZ2lkPTAgc2dpZD0p CisgICB0eXBlPTEzMjcgYXVkaXQoMTY1MzQyNTY4OS4wMDg6NTUpOiBwcm9jdGl0bGU9Ii1iYXNo IgorCisgICB0eXBlPTE0MDQgYXVkaXQoMTY1MzQyNTY4OS4wMDg6NTUpOiBwZXJtaXNzaXZlPTAK KyAgIHR5cGU9MTMwMCBhdWRpdCgxNjUzNDI1Njg5LjAwODo1NSk6IGFyY2g9YzAwMDAwM2Ugc3lz Y2FsbD0xIHN1Y2Nlc3M9eWVzIGV4aXQ9MiBhMD0xIGExPTU1YzEwNjVlNWM2MCBhMj0yIGEzPTAg aXRlbXM9MCBwcGlkPTQwNSBwaWQ9NDQxIGF1aWQ9MCB1aWQ9MCBnaWQ9MCBldWlkPTAgc3VpZD0w IGZzdWlkPTAgZWdpZD0wIHNnaWQ9KQorICAgdHlwZT0xMzI3IGF1ZGl0KDE2NTM0MjU2ODkuMDA4 OjU1KTogcHJvY3RpdGxlPSItYmFzaCIKKworVGhpcyByZWNvcmQgd2lsbCBhbHdheXMgYmUgZW1p dHRlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGEgYGBBVURJVFNZU0NBTExgYCByZWNvcmQgZm9yIHRo ZSBgYHdyaXRlYGAgc3lzY2FsbC4KKworKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKK3wgRmllbGQgICAgICB8IFZhbHVlIFR5cGUgfCBPcHRpb25hbD8g fCBEZXNjcmlwdGlvbiBvZiBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CisrPT09PT09PT09PT09Kz09PT09PT09PT09PSs9PT09PT09PT09PSs9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09KworfCBwZXJtaXNzaXZlIHwgaW50ZWdlciAgICB8IE5vICAgICAgICB8IFRoZSBzdGF0 ZSBJUEUgaXMgYmVpbmcgc3dpdGNoZWQgdG8uIDEgaXMgcGVybWlzc2l2ZSwgMCBpcyBlbmZvcmNl IHwKKystLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisK KworXCogVGhlc2UgZmllbGRzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBlYWNoIG90aGVy IGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgYGBDT05GSUdfSVBFX0FVRElUX0hBU0hfQUxHYGAs CisgICBidXQgYXQgbGVhc3Qgb25lIHdpbGwgYmUgcHJlc2VudC4KKworU3VjY2VzcyBBdWRpdGlu ZworXl5eXl5eXl5eXl5eXl5eXgorCitJUEUgc3VwcG9ydHMgc3VjY2VzcyBhdWRpdGluZy4gV2hl biBlbmFibGVkLCBhbGwgZXZlbnRzIHRoYXQgcGFzcyBJUEUKK3BvbGljeSBhbmQgYXJlIG5vdCBi bG9ja2VkIHdpbGwgZW1pdCBhbiBhdWRpdCBldmVudC4gVGhpcyBpcyBkaXNhYmxlZCBieQorZGVm YXVsdCwgYW5kIGNhbiBiZSBlbmFibGVkIHZpYSB0aGUga2VybmVsIGNvbW1hbmQgbGluZQorYGBp cGUuc3VjY2Vzc19hdWRpdD0oMHwxKWBgIG9yIHRoZSBzZWN1cml0eWZzIG5vZGUsCitgYC9zeXMv a2VybmVsL3NlY3VyaXR5L2lwZS9zdWNjZXNzX2F1ZGl0YGAuCisKK1RoaXMgaXMgKnZlcnkqIG5v aXN5LCBhcyBJUEUgd2lsbCBjaGVjayBldmVyeSB1c2VyLW1vZGUgYmluYXJ5IG9uIHRoZQorc3lz dGVtLCBidXQgaXMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgcG9saWNpZXMuCisKKy4uIE5PVEU6Ogor CisgICBJZiBhIHRyYWRpdGlvbmFsIE1BQyBzeXN0ZW0gaXMgZW5hYmxlZCAoU0VMaW51eCwgYXBw YXJtb3IsIHNtYWNrLCBldGNldGVyYSksCisgICBhbGwgd3JpdGVzIHRvIGlwZSdzIHNlY3VyaXR5 ZnMgbm9kZXMgcmVxdWlyZSBgYENBUF9NQUNfQURNSU5gYC4KKworUHJvcGVydGllcworLS0tLS0t LS0tLQorCitBcyBleHBsYWluZWQgYWJvdmUsIElQRSBwcm9wZXJ0aWVzIGFyZSBgYGtleT12YWx1 ZWBgIHBhaXJzIGV4cHJlc3NlZCBpbgorSVBFIHBvbGljeS4gVHdvIHByb3BlcnRpZXMgYXJlIGJ1 aWx0LWludG8gdGhlIHBvbGljeSBwYXJzZXI6ICdvcCcgYW5kCisnYWN0aW9uJy4gVGhlIG90aGVy IHByb3BlcnRpZXMgYXJlIGRldGVybWluc3RpYyBhdHRyaWJ1dGVzIHRvIGV4cHJlc3MKK2Fjcm9z cyBmaWxlcy4gQ3VycmVudGx5IHRob3NlIHByb3BlcnRpZXMgYXJlOiAnYGBib290X3ZlcmlmaWVk YGAnLAorJ2BgZG12ZXJpdHlfc2lnbmF0dXJlYGAnLCAnYGBkbXZlcml0eV9yb290aGFzaGBgJywg J2BgZnN2ZXJpdHlfc2lnbmF0dXJlYGAnLAorJ2BgZnN2ZXJpdHlfZGlnZXN0YGAnLiBBIGRlc2Ny aXB0aW9uIG9mIGFsbCBwcm9wZXJ0aWVzIHN1cHBvcnRlZCBieSBJUEUKK2FyZSBsaXN0ZWQgYmVs b3c6CisKK29wCit+fgorCitJbmRpY2F0ZXMgdGhlIG9wZXJhdGlvbiBmb3IgYSBydWxlIHRvIGFw cGx5IHRvLiBNdXN0IGJlIGluIGV2ZXJ5IHJ1bGUsCithcyB0aGUgZmlyc3QgdG9rZW4uIElQRSBz dXBwb3J0cyB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CisKK1ZlcnNpb24gMQorCisgICBgYEVY RUNVVEVgYAorCisgICAgICBQZXJ0YWlucyB0byBhbnkgZmlsZSBhdHRlbXB0aW5nIHRvIGJlIGV4 ZWN1dGVkLCBvciBsb2FkZWQgYXMgYW4KKyAgICAgIGV4ZWN1dGFibGUuCisKKyAgIGBgRklSTVdB UkVgYDoKKworICAgICAgUGVydGFpbnMgdG8gZmlybXdhcmUgYmVpbmcgbG9hZGVkIHZpYSB0aGUg ZmlybXdhcmVfY2xhc3MgaW50ZXJmYWNlLgorICAgICAgVGhpcyBjb3ZlcnMgYm90aCB0aGUgcHJl YWxsb2NhdGVkIGJ1ZmZlciBhbmQgdGhlIGZpcm13YXJlIGZpbGUKKyAgICAgIGl0c2VsZi4KKwor ICAgYGBLTU9EVUxFYGA6CisKKyAgICAgIFBlcnRhaW5zIHRvIGxvYWRpbmcga2VybmVsIG1vZHVs ZXMgdmlhIGBgbW9kcHJvYmVgYCBvciBgYGluc21vZGBgLgorCisgICBgYEtFWEVDX0lNQUdFYGA6 CisKKyAgICAgIFBlcnRhaW5zIHRvIGtlcm5lbCBpbWFnZXMgbG9hZGluZyB2aWEgYGBrZXhlY2Bg LgorCisgICBgYEtFWEVDX0lOSVRSQU1GU2BgCisKKyAgICAgIFBlcnRhaW5zIHRvIGluaXRyZCBp bWFnZXMgbG9hZGluZyB2aWEgYGBrZXhlYyAtLWluaXRyZGBgLgorCisgICBgYFBPTElDWWBgOgor CisgICAgICBDb250cm9scyBsb2FkaW5nIHBvbGNpZXMgdmlhIHJlYWRpbmcgYSBrZXJuZWwtc3Bh Y2UgaW5pdGlhdGVkIHJlYWQuCisKKyAgICAgIEFuIGV4YW1wbGUgb2Ygc3VjaCBpcyBsb2FkaW5n IElNQSBwb2xpY2llcyBieSB3cml0aW5nIHRoZSBwYXRoCisgICAgICB0byB0aGUgcG9saWN5IGZp bGUgdG8gYGAkc2VjdXJpdHlmcy9pbWEvcG9saWN5YGAKKworICAgYGBYNTA5X0NFUlRgYDoKKwor ICAgICAgQ29udHJvbHMgbG9hZGluZyBJTUEgY2VydGlmaWNhdGVzIHRocm91Z2ggdGhlIEtjb25m aWdzLAorICAgICAgYGBDT05GSUdfSU1BX1g1MDlfUEFUSGBgIGFuZCBgYENPTkZJR19FVk1fWDUw OV9QQVRIYGAuCisKKyAgIGBgS0VSTkVMX1JFQURgYDoKKworICAgICAgU2hvcnQgaGFuZCBmb3Ig YWxsIG9mIHRoZSBmb2xsb3dpbmc6IGBgRklSTVdBUkVgYCwgYGBLTU9EVUxFYGAsCisgICAgICBg YEtFWEVDX0lNQUdFYGAsIGBgS0VYRUNfSU5JVFJBTUZTYGAsIGBgUE9MSUNZYGAsIGFuZCBgYFg1 MDlfQ0VSVGBgLgorCisgICAgICBUaGlzIGVmZmVjdGl2ZWx5IG1hcHMgdG8gYW55IGtlcm5lbC1z cGFjZSBpbml0aWF0ZWQgcmVhZC4KKworYWN0aW9uCit+fn5+fn4KKworVmVyc2lvbiAxCisKKyAg IERldGVybWluZXMgd2hhdCBJUEUgc2hvdWxkIGRvIHdoZW4gYSBydWxlIG1hdGNoZXMuIE11c3Qg YmUgaW4gZXZlcnkKKyAgIHJ1bGUsIGFzIHRoZSBmaW5hbCBjbGF1c2UuIENhbiBiZSBvbmUgb2Y6 CisKKyAgIGBgQUxMT1dgYDoKKworICAgICAgSWYgdGhlIHJ1bGUgbWF0Y2hlcywgZXhwbGljaXRs eSBhbGxvdyBhY2Nlc3MgdG8gdGhlIHJlc291cmNlIHRvIHByb2NlZWQKKyAgICAgIHdpdGhvdXQg ZXhlY3V0aW5nIGFueSBtb3JlIHJ1bGVzLgorCisgICBgYERFTllgYDoKKworICAgICAgSWYgdGhl IHJ1bGUgbWF0Y2hlcywgZXhwbGljaXRseSBwcm9oaWJpdCBhY2Nlc3MgdG8gdGhlIHJlc291cmNl IHRvCisgICAgICBwcm9jZWVkIHdpdGhvdXQgZXhlY3V0aW5nIGFueSBtb3JlIHJ1bGVzLgorCiti b290X3ZlcmlmaWVkCit+fn5+fn5+fn5+fn5+CisKK1ZlcnNpb24gMQorCisgICBUaGlzIHByb3Bl cnR5IGNhbiBiZSB1dGlsaXplZCBmb3IgYXV0aG9yaXphdGlvbiBvZiB0aGUgZmlyc3Qgc3VwZXIt YmxvY2sKKyAgIHRoYXQgZXhlY3V0ZXMgYSBmaWxlLiBUaGlzIGlzIGFsbW9zdCBhbHdheXMgaW5p dC4gVHlwaWNhbGx5IHRoaXMgaXMgdXNlZAorICAgZm9yIHN5c3RlbXMgd2l0aCBhbiBpbml0cmFt ZnMgb3Igb3RoZXIgaW5pdGlhbCBkaXNrLCB3aGVyZSB0aGlzIGlzIHVubW91bnRlZAorICAgYmVm b3JlIHRoZSBzeXN0ZW0gYmVjb21lcyBhdmFpbGFibGUsIGFuZCBpcyBub3QgY292ZXJlZCBieSBh bnkgb3RoZXIgcHJvcGVydHkuCisgICBUaGlzIHByb3BlcnR5IGlzIGNvbnRyb2xsZWQgYnkgdGhl IEtjb25maWcsIGBgQ09ORklHX0lQRV9QUk9QX0JPT1RfVkVSSUZJRURgYC4KKyAgIFRoZSBmb3Jt YXQgb2YgdGhpcyBwcm9wZXJ0eSBpczo6CisKKyAgICAgICAgIGJvb3RfdmVyaWZpZWQ9KFRSVUV8 RkFMU0UpCisKKworICAgLi4gV0FSTklORzo6CisKKyAgICAgIFRoaXMgcHJvcGVydHkgd2lsbCB0 cnVzdCBhbnkgZGlzayB3aGVyZSB0aGUgZmlyc3QgZXhlY3V0aW9uIGV2YWx1YXRpb24KKyAgICAg IG9jY3Vycy4gSWYgeW91IGRvICpOT1QqIGhhdmUgYSBzdGFydHVwIGRpc2sgdGhhdCBpcyB1bnBh Y2tlZCBhbmQgdW5tb3VudGVkCisgICAgICAobGlrZSBpbml0cmFtZnMpLCB0aGVuIGl0IHdpbGwg YXV0b21hdGljYWxseSB0cnVzdCB0aGUgcm9vdCBmaWxlc3lzdGVtIGFuZAorICAgICAgcG90ZW50 aWFsbHkgb3ZlcmF1dGhvcml6ZSB0aGUgZW50aXJlIGRpc2suCisKK2RtdmVyaXR5X3Jvb3RoYXNo Cit+fn5+fn5+fn5+fn5+fn5+fgorCitWZXJzaW9uIDEKKworICAgVGhpcyBwcm9wZXJ0eSBjYW4g YmUgdXRpbGl6ZWQgZm9yIGF1dGhvcml6YXRpb24gb3IgcmV2b2NhdGlvbiBvZgorICAgc3BlY2lm aWMgZG0tdmVyaXR5IHZvbHVtZXMsIGlkZW50aWZpZWQgdmlhIHJvb3QgaGFzaC4gSXQgaGFzIGEK KyAgIGRlcGVuZGVuY3kgb24gdGhlIERNX1ZFUklUWSBtb2R1bGUuIFRoaXMgcHJvcGVydHkgaXMg Y29udHJvbGxlZCBieSB0aGUKKyAgIEtjb25maWcgYGBDT05GSUdfSVBFX1BST1BfRE1fVkVSSVRZ X1JPT1RIQVNIYGAuIFRoZSBmb3JtYXQgb2YgdGhpcyBwcm9wZXJ0eQorICAgaXM6OgorCisgICAg ICBkbXZlcml0eV9yb290aGFzaD1EaWdlc3ROYW1lOkhleGFkZWNpbWFsU3RyaW5nCisKKyAgIFRo ZSBzdXBwb3J0ZWQgRGlnZXN0TmFtZXMgZm9yIGRtdmVyaXR5X3Jvb3RoYXNoIGFyZSBbI2RtdmVy aXR5ZGlnZXN0c11fIFsjc2VjdXJlZGlnZXN0XV8gOgorCisgICAgICArIGJsYWtlMmItNTEyCisg ICAgICArIGJsYWtlMnMtMjU2CisgICAgICArIHNoYTEKKyAgICAgICsgc2hhMjU2CisgICAgICAr IHNoYTM4NAorICAgICAgKyBzaGE1MTIKKyAgICAgICsgc2hhMy0yMjQKKyAgICAgICsgc2hhMy0y NTYKKyAgICAgICsgc2hhMy0zODQKKyAgICAgICsgc2hhMy01MTIKKyAgICAgICsgbWQ0CisgICAg ICArIG1kNQorICAgICAgKyBzbTMKKyAgICAgICsgcm1kMTYwCisKK2RtdmVyaXR5X3NpZ25hdHVy ZQorfn5+fn5+fn5+fn5+fn5+fn5+CisKK1ZlcnNpb24gMQorCisgICBUaGlzIHByb3BlcnR5IGNh biBiZSB1dGlsaXplZCBmb3IgYXV0aG9yaXphdGlvbiBvZiBhbGwgZG0tdmVyaXR5IHZvbHVtZXMK KyAgIHRoYXQgaGF2ZSBhIHNpZ25lZCByb290aGFzaCB0aGF0IGNoYWlucyB0byBhIGtleXJpbmcg c3BlY2lmaWVkIGJ5IGRtLXZlcml0eSdzCisgICBjb25maWd1cmF0aW9uLCBlaXRoZXIgdGhlIHN5 c3RlbSB0cnVzdGVkIGtleXJpbmcsIG9yIHRoZSBzZWNvbmRhcnkga2V5cmluZy4KKyAgIEl0IGhh cyBhbiBhZGRpdGlvbmFsIGRlcGVuZGVuY3kgb24gdGhlIGBgRE1fVkVSSVRZX1ZFUklGWV9ST09U SEFTSF9TSUdgYAorICAgS2NvbmZpZy4gVGhpcyBwcm9wZXJ0eSBpcyBjb250cm9sbGVkIGJ5IHRo ZSBLY29uZmlnCisgICBgYENPTkZJR19JUEVfUFJPUF9ETV9WRVJJVFlfU0lHTkFUVVJFYGAuIFRo ZSBmb3JtYXQgb2YgdGhpcyBwcm9wZXJ0eSBpczo6CisKKyAgICAgIGRtdmVyaXR5X3NpZ25hdHVy ZT0oVFJVRXxGQUxTRSkKKworZnN2ZXJpdHlfZGlnZXN0Cit+fn5+fn5+fn5+fn5+fn4KKworVmVy c2lvbiAxCisKKyAgIFRoaXMgcHJvcGVydHkgY2FuIGJlIHV0aWxpemVkIGZvciBhdXRob3JpemF0 aW9uIG9yIHJldm9jYXRpb24gb2YKKyAgIHNwZWNpZmljIGZzdmVyaXR5IGVuYWJsZWQgZmlsZSwg aWRlbnRpZmllZCB2aWEgaXRzIGZzdmVyaXR5IGRpZ2VzdC4KKyAgIEl0IGhhcyBhIGRlcGVuZGVu Y3kgb24gdGhlIEZTX1ZFUklUWSBtb2R1bGUuIFRoaXMgcHJvcGVydHkgaXMKKyAgIGNvbnRyb2xs ZWQgYnkgdGhlIEtjb25maWcgYGBDT05GSUdfSVBFX1BST1BfRlNfVkVSSVRZX0RJR0VTVGBgLgor ICAgVGhlIGZvcm1hdCBvZiB0aGlzIHByb3BlcnR5IGlzOjoKKworICAgICAgZnN2ZXJpdHlfZGln ZXN0PURpZ2VzdE5hbWU6SGV4YWRlY2ltYWxTdHJpbmcKKworICAgVGhlIHN1cHBvcnRlZCBEaWdl c3ROYW1lcyBmb3IgZG12ZXJpdHlfcm9vdGhhc2ggYXJlIFsjZnN2ZXJpdHlkaWdlc3RdIFsjc2Vj dXJlZGlnZXN0XV8gOgorCisgICAgICArIHNoYTI1NgorICAgICAgKyBzaGE1MTIKKworZnN2ZXJp dHlfc2lnbmF0dXJlCit+fn5+fn5+fn5+fn5+fn5+fn4KKworVmVyc2lvbiAxCisKKyAgIFRoaXMg cHJvcGVydHkgY2FuIGJlIHV0aWxpemVkIGZvciBhdXRob3JpemF0aW9uIG9mIGFsbCBmc3Zlcml0 eSBlbmFibGVkCisgICBmaWxlcyB0aGF0IGlzIHZlcmlmaWVkIGJ5IGZzdmVyaXR5LiBUaGUga2V5 cmluZyB0aGF0IHRoZSBzaWduYXR1cmUgaXMKKyAgIHZlcmlmaWVkIGFnYWluc3QgaXMgc3ViamVj dCB0byBmc3Zlcml0eSdzIGNvbmZpZ3VyYXRpb24sIHR5cGljYWxseSB0aGUgZnN2ZXJpdHkKKyAg IGtleXJpbmcuIEl0IGhhcyBhIGRlcGVuZGVuY3kgb24gdGhlIGBgQ09ORklHX0ZTX1ZFUklUWV9C VUlMVElOX1NJR05BVFVSRVNgYAorICAgS2NvbmZpZy4gVGhpcyBwcm9wZXJ0eSBpcyBjb250cm9s bGVkIGJ5IHRoZSBLY29uZmlnCisgICBgYENPTkZJR19JUEVfUFJPUF9GU19WRVJJVFlfU0lHTkFU VVJFYGAuIFRoZSBmb3JtYXQgb2YgdGhpcyBwcm9wZXJ0eSBpczo6CisKKyAgICAgIGZzdmVyaXR5 X3NpZ25hdHVyZT0oVFJVRXxGQUxTRSkKKworUG9saWN5IEV4YW1wbGVzCistLS0tLS0tLS0tLS0t LS0KKworQWxsb3cgYWxsCit+fn5+fn5+fn4KKworOjoKKworICAgcG9saWN5X25hbWU9IkFsbG93 IEFsbCIgcG9saWN5X3ZlcnNpb249MC4wLjAKKyAgIERFRkFVTFQgYWN0aW9uPUFMTE9XCisKK0Fs bG93IG9ubHkgaW5pdGlhbCBzdXBlcmJsb2NrCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgorCis6OgorCisgICBwb2xpY3lfbmFtZT0iQWxsb3cgQWxsIEluaXRpYWwgU0IiIHBvbGljeV92 ZXJzaW9uPTAuMC4wCisgICBERUZBVUxUIGFjdGlvbj1ERU5ZCisKKyAgIG9wPUVYRUNVVEUgYm9v dF92ZXJpZmllZD1UUlVFIGFjdGlvbj1BTExPVworCitBbGxvdyBhbnkgc2lnbmVkIGRtLXZlcml0 eSB2b2x1bWUgYW5kIHRoZSBpbml0aWFsIHN1cGVyYmxvY2sKK35+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCis6OgorCisgICBwb2xp Y3lfbmFtZT0iQWxsb3dTaWduZWRBbmRJbml0aWFsIiBwb2xpY3lfdmVyc2lvbj0wLjAuMAorICAg REVGQVVMVCBhY3Rpb249REVOWQorCisgICBvcD1FWEVDVVRFIGJvb3RfdmVyaWZpZWQ9VFJVRSBh Y3Rpb249QUxMT1cKKyAgIG9wPUVYRUNVVEUgZG12ZXJpdHlfc2lnbmF0dXJlPVRSVUUgYWN0aW9u PUFMTE9XCisKK1Byb2hpYml0IGV4ZWN1dGlvbiBmcm9tIGEgc3BlY2lmaWMgZG0tdmVyaXR5IHZv bHVtZQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CisKKzo6CisKKyAgIHBvbGljeV9uYW1lPSJBbGxvd1NpZ25lZEFuZEluaXRpYWwiIHBvbGljeV92 ZXJzaW9uPTAuMC4wCisgICBERUZBVUxUIGFjdGlvbj1ERU5ZCisKKyAgIG9wPUVYRUNVVEUgZG12 ZXJpdHlfcm9vdGhhc2g9c2hhMjU2OmNkMmM1YmFlN2M2YzU3OWVkYWFlNDM1MzA0OWQ1OGViNWYy ZThiZTAyNDRiZjA1MzQ1YmM4ZTVlZDI1N2JhZmYgYWN0aW9uPURFTlkKKworICAgb3A9RVhFQ1VU RSBib290X3ZlcmlmaWVkPVRSVUUgYWN0aW9uPUFMTE9XCisgICBvcD1FWEVDVVRFIGRtdmVyaXR5 X3NpZ25hdHVyZT1UUlVFIGFjdGlvbj1BTExPVworCitBbGxvdyBvbmx5IGEgc3BlY2lmaWMgZG0t dmVyaXR5IHZvbHVtZQorfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwor OjoKKworICAgcG9saWN5X25hbWU9IkFsbG93U2lnbmVkQW5kSW5pdGlhbCIgcG9saWN5X3ZlcnNp b249MC4wLjAKKyAgIERFRkFVTFQgYWN0aW9uPURFTlkKKworICAgb3A9RVhFQ1VURSBkbXZlcml0 eV9yb290aGFzaD1zaGEyNTY6NDAxZmNlYzU5NDQ4MjNhZTEyZjYyNzI2ZTgxODQ0MDdhNWZhOTU5 OTc4M2YwMzBkZWMxNDY5MzggYWN0aW9uPUFMTE9XCisKK0FsbG93IGFueSBzaWduZWQgZnMtdmVy aXR5IGZpbGUKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgorCis6OgorCisgICBwb2xpY3lfbmFtZT0iQWxsb3dTaWduZWRGU1Zlcml0 eSIgcG9saWN5X3ZlcnNpb249MC4wLjAKKyAgIERFRkFVTFQgYWN0aW9uPURFTlkKKworICAgb3A9 RVhFQ1VURSBmc3Zlcml0eV9zaWduYXR1cmU9VFJVRSBhY3Rpb249QUxMT1cKKworUHJvaGliaXQg ZXhlY3V0aW9uIG9mIGEgc3BlY2lmaWMgZnMtdmVyaXR5IGZpbGUKK35+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCis6OgorCisgICBwb2xpY3lfbmFt ZT0iUHJvaGliaXRTcGVjaWZpY0ZTVkYiIHBvbGljeV92ZXJzaW9uPTAuMC4wCisgICBERUZBVUxU IGFjdGlvbj1ERU5ZCisKKyAgIG9wPUVYRUNVVEUgZnN2ZXJpdHlfZGlnZXN0PXNoYTI1NjpmZDg4 ZjJiODgyNGUxOTdmODUwYmY0YzUxMDliZWE1Y2YwZWUzODEwNGY3MTA4NDNiYjcyZGE3OTZiYTVh ZjllIGFjdGlvbj1ERU5ZCisgICBvcD1FWEVDVVRFIGJvb3RfdmVyaWZpZWQ9VFJVRSBhY3Rpb249 QUxMT1cKKyAgIG9wPUVYRUNVVEUgZG12ZXJpdHlfc2lnbmF0dXJlPVRSVUUgYWN0aW9uPUFMTE9X CisKK0FkZGl0aW9uYWwgSW5mb3JtYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLSBg R2l0aHViIFJlcG9zaXRvcnkgPGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvaXBlPmBfCist IGBEZXNpZ24gRG9jdW1lbnRhdGlvbiA8L3NlY3VyaXR5L2lwZT5gXworCitGQVEKKy0tLQorCitR OgorICAgV2hhdCdzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gb3RoZXIgTFNNcyB3aGljaCBwcm92 aWRlIGEgbWVhc3VyZSBvZgorICAgdHJ1c3QtYmFzZWQgYWNjZXNzIGNvbnRyb2w/CisKK0E6CisK KyAgIEluIGdlbmVyYWwsIHRoZXJlJ3MgdHdvIG90aGVyIExTTXMgdGhhdCBjYW4gcHJvdmlkZSBz aW1pbGFyIGZ1bmN0aW9uYWxpdHk6CisgICBJTUEsIGFuZCBMb2FkcGluLgorCisgICBJTUEgYW5k IElQRSBhcmUgZnVuY3Rpb25hbGx5IHZlcnkgc2ltaWxhci4gVGhlIHNpZ25pZmljYW50IGRpZmZl cmVuY2UgYmV0d2VlbgorICAgdGhlIHR3byBpcyB0aGUgcG9saWN5LiBbI2RldmRvY11fCisKKyAg IExvYWRwaW4gYW5kIElQRSBkaWZmZXIgZmFpcmx5IGRyYW1hdGljYWxseSwgYXMgTG9hZHBpbiBj b250cm9scyBvbmx5IHRoZSBJUEUKKyAgIGVxdWl2YWxlbnQgb2YgYGBLRVJORUxfUkVBRGBgLCB3 aGVyZWFzIElQRSBpcyBjYXBhYmxlIG9mIGNvbnRyb2xsaW5nIGV4ZWN1dGlvbiwKKyAgIG9uIHRv cCBvZiBgYEtFUk5FTF9SRUFEYGAuIFRoZSB0cnVzdCBtb2RlbCBpcyBhbHNvIGRpZmZlcmVudDsg TG9hZHBpbiByb290cyBpdHMKKyAgIHRydXN0IGluIHRoZSBpbml0aWFsIHN1cGVyLWJsb2NrLCBp bnN0ZWFkLCBJUEUgcm9vdHMgaXRzIHRydXN0IGluIHRoZSBrZXJuZWwKKyAgIGl0c2VsZiAodmlh IGBgU1lTVEVNX1RSVVNURURfS0VZU2BgKS4KKworLS0tLS0tLS0tLS0KKworLi4gWyNkaWdsaW1d IDE6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2JwZi80ZDY5MzJlOTZkNzc0MjI3YjQyNzIxZDlm NjQ1YmE1MUBodWF3ZWkuY29tL1QvCisKKy4uIFsjaW50ZXJwcmV0ZXJzXSBUaGVyZSBpcyBgc29t ZSBpbnRlcmVzdCBpbiBzb2x2aW5nIHRoaXMgaXNzdWUgPGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2xrbWwvMjAyMjAzMjExNjE1NTcuNDk1Mzg4LTEtbWljQGRpZ2lrb2QubmV0Lz5gXy4KKworLi4g WyNkZXZkb2NdIFBsZWFzZSBzZWUgYERvY3VtZW50YXRpb24vc2VjdXJpdHkvaXBlLnJzdGAgZm9y IG1vcmUgb24gdGhpcyB0b3BpYy4KKworLi4gWyNmc3Zlcml0eWRpZ2VzdF0gVGhlc2UgaGFzaCBh bGdvcml0aG1zIGFyZSBiYXNlZCBvbiB2YWx1ZXMgYWNjZXB0ZWQgYnkgZnN2ZXJpdHktdXRpbHM7 CisgICAgICAgICAgICAgICAgICAgICBJUEUgZG9lcyBub3QgaW1wb3NlIGFueSByZXN0cmljdGlv bnMgb24gdGhlIGRpZ2VzdCBhbGdvcml0aG0gaXRzZWxmOworICAgICAgICAgICAgICAgICAgICAg dGh1cywgdGhpcyBsaXN0IG1heSBiZSBvdXQgb2YgZGF0ZS4KKworLi4gWyNkbXZlcml0eWRpZ2Vz dHNdIFRoZXNlIGhhc2ggYWxnb3JpdGhtcyBhcmUgYmFzZWQgb24gdmFsdWVzIGFjY2VwdGVkIGJ5 IGRtLXZlcml0eSwKKyAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2FsbHkgYGBjcnlwdG9f YWxsb2NfYWhhc2hgYCBpbiBgYHZlcml0eV9jdHJgYDsgYGB2ZXJpdHlzZXR1cGBgCisgICAgICAg ICAgICAgICAgICAgICAgZG9lcyBzdXBwb3J0IG1vcmUgYWxnb3JpdGhtcyB0aGFuIHRoZSBsaXN0 IGFib3ZlLiBJUEUgZG9lcyBub3QgaW1wb3NlCisgICAgICAgICAgICAgICAgICAgICAgYW55IHJl c3RyaWN0aW9ucyBvbiB0aGUgZGlnZXN0IGFsZ29yaXRobSBpdHNlbGY7IHRodXMsIHRoaXMgbGlz dAorICAgICAgICAgICAgICAgICAgICAgIG1heSBiZSBvdXQgb2YgZGF0ZS4KKworLi4gWyNzZWN1 cmVkaWdlc3RdIFBsZWFzZSBlbnN1cmUgeW91IGFyZSB1c2luZyBjcnlwdG9ncmFwaGljYWxseSBz ZWN1cmUgaGFzaCBmdW5jdGlvbnM7CisgICAgICAgICAgICAgICAgICAganVzdCBiZWNhdXNlIHNv bWV0aGluZyBpcyAqc3VwcG9ydGVkKiBkb2VzIG5vdCBtZWFuIGl0IGlzICpzZWN1cmUqLgpkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQg Yi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAppbmRleCA4 MDkwMTMwYjU0NGIuLmQ1YTIzY2EwYTFiNCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9hZG1p bi1ndWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1n dWlkZS9rZXJuZWwtcGFyYW1ldGVycy50eHQKQEAgLTIxNjQsNiArMjE2NCwxOCBAQAogCWlwY21u aV9leHRlbmQJW0tOTF0gRXh0ZW5kIHRoZSBtYXhpbXVtIG51bWJlciBvZiB1bmlxdWUgU3lzdGVt IFYKIAkJCUlQQyBpZGVudGlmaWVycyBmcm9tIDMyLDc2OCB0byAxNiw3NzcsMjE2LgogCisJaXBl LmVuZm9yY2U9CVtJUEVdCisJCQlGb3JtYXQ6IDxib29sPgorCQkJRGV0ZXJtaW5lIHdoZXRoZXIg SVBFIHN0YXJ0cyBpbiBwZXJtaXNzaXZlICgwKSBvcgorCQkJZW5mb3JjZSAoMSkgbW9kZS4gVGhl IGRlZmF1bHQgaXMgZW5mb3JjZS4KKworCWlwZS5zdWNjZXNzX2F1ZGl0PQorCQkJW0lQRV0KKwkJ CUZvcm1hdDogPGJvb2w+CisJCQlTdGFydCBJUEUgd2l0aCBzdWNjZXNzIGF1ZGl0aW5nIGVuYWJs ZWQsIGVtaXR0aW5nCisJCQlhbiBhdWRpdCBldmVudCB3aGVuIGEgYmluYXJ5IGlzIGFsbG93ZWQu IFRoZSBkZWZhdWx0CisJCQlpcyAwLgorCiAJaXJxYWZmaW5pdHk9CVtTTVBdIFNldCB0aGUgZGVm YXVsdCBpcnEgYWZmaW5pdHkgbWFzawogCQkJVGhlIGFyZ3VtZW50IGlzIGEgY3B1IGxpc3QsIGFz IGRlc2NyaWJlZCBhYm92ZS4KIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9p bmRleC5yc3QgYi9Eb2N1bWVudGF0aW9uL3NlY3VyaXR5L2luZGV4LnJzdAppbmRleCA2ZWQ4ZDJm YTZmOWUuLmE1MjQ4ZDRmZDUxMCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9p bmRleC5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9pbmRleC5yc3QKQEAgLTE4LDMg KzE4LDQgQEAgU2VjdXJpdHkgRG9jdW1lbnRhdGlvbgogICAgZGlnc2lnCiAgICBsYW5kbG9jawog ICAgc2VjcmV0cy9pbmRleAorICAgaXBlCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NlY3Vy aXR5L2lwZS5yc3QgYi9Eb2N1bWVudGF0aW9uL3NlY3VyaXR5L2lwZS5yc3QKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kMDQzYTk1Y2Q3M2UKLS0tIC9kZXYvbnVsbAor KysgYi9Eb2N1bWVudGF0aW9uL3NlY3VyaXR5L2lwZS5yc3QKQEAgLTAsMCArMSw1NTkgQEAKKy4u IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisKK0ludGVncml0eSBQb2xpY3kgRW5m b3JjZW1lbnQgKElQRSkgLSBLZXJuZWwgRG9jdW1lbnRhdGlvbgorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIE5PVEU6OgorCisg ICBUaGlzIGlzIGRvY3VtZW50YXRpb24gdGFyZ2V0ZWQgYXQgZGV2ZWxvcGVycywgaW5zdGVhZCBv ZiBhZG1pbmlzdHJhdG9ycy4KKyAgIElmIHlvdSdyZSBsb29raW5nIGZvciBkb2N1bWVudGF0aW9u IG9uIHRoZSB1c2FnZSBvZiBJUEUsIHBsZWFzZSBzZWUKKyAgIGBEb2N1bWVudGF0aW9uL2FkbWlu LWd1aWRlL0xTTS9pcGUucnN0YAorCitIaXN0b3JpY2FsIE1vdGl2YXRpb24KKy0tLS0tLS0tLS0t LS0tLS0tLS0tLQorCitUaGUgb3JpZ2luYWwgaXNzdWUgdGhhdCBwcm9tcHRlZCBJUEUncyBpbXBs ZW1lbnRhdGlvbiB3YXMgdGhlIGNyZWF0aW9uCitvZiBhIGxvY2tlZC1kb3duIHN5c3RlbS4gVGhp cyBzeXN0ZW0gd291bGQgYmUgYm9ybi1zZWN1cmUsIGFuZCBoYXZlCitzdHJvbmcgaW50ZWdyaXR5 IGd1YXJhbnRlZXMgb3ZlciBib3RoIHRoZSBleGVjdXRhYmxlIGNvZGUsIGFuZCBzcGVjaWZpYwor KmRhdGEgZmlsZXMqIG9uIHRoZSBzeXN0ZW0sIHRoYXQgd2VyZSBjcml0aWNhbCB0byBpdHMgZnVu Y3Rpb24uIFRoZXNlCitzcGVjaWZpYyBkYXRhIGZpbGVzIHdvdWxkIG5vdCBiZSByZWFkYWJsZSB1 bmxlc3MgdGhleSBwYXNzZWQgaW50ZWdyaXR5Citwb2xpY3kuIEEgbWFuZGF0b3J5IGFjY2VzcyBj b250cm9sIHN5c3RlbSB3b3VsZCBiZSBwcmVzZW50LCBhbmQKK2FzIGEgcmVzdWx0LCB4YXR0cnMg d291bGQgaGF2ZSB0byBiZSBwcm90ZWN0ZWQuIFRoaXMgbGVhZCB0byBhIHNlbGVjdGlvbgorb2Yg d2hhdCB3b3VsZCBwcm92aWRlIHRoZSBpbnRlZ3JpdHkgY2xhaW1zLiBBdCB0aGUgdGltZSwgdGhl cmUgd2VyZSB0d28KK21haW4gbWVjaGFuaXNtcyBjb25zaWRlcmVkIHRoYXQgY291bGQgZ3VhcmFu dGVlIGludGVncml0eSBmb3IgdGhlIHN5c3RlbQord2l0aCB0aGVzZSByZXF1aXJlbWVudHM6CisK KyAgMS4gSU1BICsgRVZNIFNpZ25hdHVyZXMKKyAgMi4gRE0tVmVyaXR5CisKK0JvdGggb3B0aW9u cyB3ZXJlIGNhcmVmdWxseSBjb25zaWRlcmVkLCBob3dldmVyIHRoZSBjaG9pY2UgdG8gdXNlIERN LVZlcml0eQorb3ZlciBJTUErRVZNIGFzIHRoZSAqaW50ZWdyaXR5IG1lY2hhbmlzbSogaW4gdGhl IG9yaWdpbmFsIHVzZSBjYXNlIG9mIElQRQord2FzIGR1ZSB0byB0aHJlZSBtYWluIHJlYXNvbnM6 CisKKyAgMS4gUHJvdGVjdGlvbiBvZiBhZGRpdGlvbmFsIGF0dGFjayB2ZWN0b3JzOgorCisgICAg KiBXaXRoIElNQStFVk0sIHdpdGhvdXQgYW4gZW5jcnlwdGlvbiBzb2x1dGlvbiwgdGhlIHN5c3Rl bSBpcyB2dWxuZXJhYmxlCisgICAgICB0byBvZmZsaW5lIGF0dGFjayBhZ2FpbnN0IHRoZSBhZm9y ZW1ldGlvbmVkIHNwZWNpZmljIGRhdGEgZmlsZXMuCisKKyAgICAgIFVubGlrZSBleGVjdXRhYmxl cywgcmVhZCBvcGVyYXRpb25zIChsaWtlIHRob3NlIG9uIHRoZSBwcm90ZWN0ZWQgZGF0YQorICAg ICAgZmlsZXMpLCBjYW5ub3QgYmUgZW5mb3JjZWQgdG8gYmUgZ2xvYmFsbHkgaW50ZWdydGl5IHZl cmlmaWVkLiBUaGlzIG1lYW5zCisgICAgICB0aGVyZSBtdXN0IGJlIHNvbWUgZm9ybSBvZiBzZWxl Y3RvciB0byBkZXRlcm1pbmUgd2hldGhlciBhIHJlYWQgc2hvdWxkCisgICAgICBlbmZvcmNlIHRo ZSBpbnRlZ3JpdHkgcG9saWN5LCBvciBpdCBzaG91bGQgbm90LgorCisgICAgICBBdCB0aGUgdGlt ZSwgdGhpcyB3YXMgZG9uZSB3aXRoIG1hbmRhdG9yeSBhY2Nlc3MgY29udHJvbCBsYWJlbHMuIEFu IElNQQorICAgICAgcG9saWN5IHdvdWxkIGluZGljYXRlIHdoYXQgbGFiZWxzIHJlcXVpcmVkIGlu dGVncml0eSB2ZXJpZmljYXRpb24sIHdoaWNoCisgICAgICBwcmVzZW50ZWQgYW4gaXNzdWU6IEVW TSB3b3VsZCBwcm90ZWN0IHRoZSBsYWJlbCwgYnV0IGlmIGFuIGF0dGFja2VyIGNvdWxkCisgICAg ICBtb2RpZnkgZmlsZXN5c3RlbSBvZmZsaW5lLCB0aGUgYXR0YWNrZXIgY291bGQgd2lwZSBhbGwg dGhlIHhhdHRycyAtCisgICAgICBpbmNsdWRpbmcgdGhlIFNFTGludXggbGFiZWxzIHRoYXQgd291 bGQgYmUgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUKKyAgICAgIGZpbGUgc2hvdWxkIGJl IHN1YmplY3QgdG8gaW50ZWdyaXR5IHBvbGljeS4KKworICAgICAgV2l0aCBETS1WZXJpdHksIGFz IHRoZSB4YXR0cnMgYXJlIHNhdmVkIGFzIHBhcnQgb2YgdGhlIG1lcmtlbCB0cmVlLCBpZgorICAg ICAgb2ZmbGluZSBtb3VudCBvY2N1cnMgYWdhaW5zdCB0aGUgZmlsZXN5c3RlbSBwcm90ZWN0ZWQg YnkgZG0tdmVyaXR5LCB0aGUKKyAgICAgIGNoZWNrc3VtIG5vIGxvbmdlciBtYXRjaGVzIGFuZCB0 aGUgZmlsZSBmYWlscyB0byBiZSByZWFkLgorCisgICAgKiBBcyB1c2VyLW1vZGUgYmluYXJpZXMg YXJlIHBhZ2VkIGluIExpbnV4LCBkbS12ZXJpdHkgYWxzbyBvZmZlcnMgdGhlCisgICAgICBhZGRp dGlvbmFsIHByb3RlY3Rpb24gYWdhaW5zdCBhIGhvc3RpbGUgYmxvY2sgZGV2aWNlLiBJbiBzdWNo IGFuIGF0dGFjaywKKyAgICAgIHRoZSBibG9jayBkZXZpY2UgcmVwb3J0cyB0aGUgYXBwcm9wcmlh dGUgY29udGVudCBmb3IgdGhlIElNQSBoYXNoCisgICAgICBpbml0aWFsbHksIHBhc3NpbmcgdGhl IHJlcXVpcmVkIGludGVncml0eSBjaGVjay4gVGhlbiwgb24gdGhlIHBhZ2UgZmF1bHQKKyAgICAg IHRoYXQgYWNjZXNzZXMgdGhlIHJlYWwgZGF0YSwgd2lsbCByZXBvcnQgdGhlIGF0dGFja2VyJ3Mg cGF5bG9hZC4gU2luY2UKKyAgICAgIGRtLXZlcml0eSB3aWxsIGNoZWNrIHRoZSBkYXRhIHdoZW4g dGhlIHBhZ2UgZmF1bHQgb2NjdXJzIChhbmQgdGhlIGRpc2sKKyAgICAgIGFjY2VzcyksIHRoaXMg YXR0YWNrIGlzIG1pdGlnYXRlZC4KKworICAyLiBQZXJmb3JtYW5jZToKKworICAgICogZG0tdmVy aXR5IHByb3ZpZGVzIGludGVncml0eSB2ZXJpZmljYXRpb24gb24gZGVtYW5kIGFzIGJsb2NrcyBh cmUKKyAgICAgIHJlYWQgdmVyc3VzIHJlcXVpcmluZyB0aGUgZW50aXJlIGZpbGUgYmVpbmcgcmVh ZCBpbnRvIG1lbW9yeSBmb3IKKyAgICAgIHZhbGlkYXRpb24uCisKKyAgMy4gU2ltcGxpY2l0eSBv ZiBzaWduaW5nOgorCisgICAgKiBObyBuZWVkIGZvciB0d28gc2lnbmF0dXJlcyAoSU1BLCB0aGVu IEVWTSk6IG9uZSBzaWduYXR1cmUgY292ZXJzCisgICAgICBhbiBlbnRpcmUgYmxvY2sgZGV2aWNl LgorICAgICogU2lnbmF0dXJlcyBjYW4gYmUgc3RvcmVkIGV4dGVybmFsbHkgdG8gdGhlIGZpbGVz eXN0ZW0gbWV0YWRhdGEuCisgICAgKiBUaGUgc2lnbmF0dXJlIHN1cHBvcnRzIGFuIHguNTA5LWJh c2VkIHNpZ25pbmcgaW5mcmFzdHJ1Y3R1cmUuCisKK1RoZSBuZXh0IHN0ZXAgd2FzIHRvIGNob29z ZSBhICpwb2xpY3kqIHRvIGVuZm9yY2UgdGhlIGludGVncml0eSBtZWNoYW5pc20uCitUaGUgbWlu aW11bSByZXF1aXJlbWVudHMgZm9yIHRoZSBwb2xpY3kgd2VyZToKKworICAxLiBUaGUgcG9saWN5 IGl0c2VsZiBtdXN0IGJlIGludGVncml0eSB2ZXJpZmllZCAocHJldmVudGluZyB0cml2aWFsCisg ICAgIGF0dGFjayBhZ2FpbnN0IGl0KS4KKyAgMi4gVGhlIHBvbGljeSBpdHNlbGYgbXVzdCBiZSBy ZXNpc3RhbnQgdG8gcm9sbGJhY2sgYXR0YWNrcy4KKyAgMy4gVGhlIHBvbGljeSBlbmZvcmNlbWVu dCBtdXN0IGhhdmUgYSBwZXJtaXNzaXZlLWxpa2UgbW9kZS4KKyAgNC4gVGhlIHBvbGljeSBtdXN0 IGJlIGFibGUgdG8gYmUgdXBkYXRlZCwgaW4gaXRzIGVudGlyZXR5LCB3aXRob3V0CisgICAgIGEg cmVib290LgorICA1LiBQb2xpY3kgdXBkYXRlcyBtdXN0IGJlIGF0b21pYy4KKyAgNi4gVGhlIHBv bGljeSBtdXN0IHN1cHBvcnQgKnJldm9jYXRpb25zKiBvZiBwcmV2aW91c2x5IGF1dGhvcmVkCisg ICAgIGNvbXBvbmVudHMuCisgIDcuIFRoZSBwb2xpY3kgbXVzdCBiZSBhdWRpdGFibGUsIGF0IGFu eSBwb2ludC1vZi10aW1lLgorCitJTUEsIGFzIHRoZSBvbmx5IGludGVncml0eSBwb2xpY3kgbWVj aGFuaXNtIGF0IHRoZSB0aW1lLCB3YXMKK2NvbnNpZGVyZWQgYWdhaW5zdCB0aGVzZSBsaXN0IG9m IHJlcXVpcmVtZW50cywgYW5kIGRpZCBub3QgZnVsZmlsbAorYWxsIG9mIHRoZSBtaW5pbXVtIHJl cXVpcmVtZW50cy4gRXh0ZW5kaW5nIElNQSB0byBjb3ZlciB0aGVzZQorcmVxdWlyZW1lbnRzIHdh cyBjb25zaWRlcmVkLCBidXQgdWx0aW1hdGVseSBkaXNjYXJkZWQgZm9yIGEKK3R3byByZWFzb25z OgorCisgIDEuIFJlZ3Jlc3Npb24gcmlzazsgbWFueSBvZiB0aGVzZSBjaGFuZ2VzIHdvdWxkIHJl c3VsdCBpbgorICAgICBkcmFtYXRpYyBjb2RlIGNoYW5nZXMgdG8gSU1BLCB3aGljaCBpcyBhbHJl YWR5IHByZXNlbnQgaW4gdGhlCisgICAgIGtlcm5lbCwgYW5kIHRoZXJlZm9yZSBtaWdodCBpbXBh Y3QgdXNlcnMuCisKKyAgMi4gSU1BIHdhcyB1c2VkIGluIHRoZSBzeXN0ZW0gZm9yIG1lYXN1cmVt ZW50IGFuZCBhdHRlc3RhdGlvbjsKKyAgICAgc2VwYXJhdGlvbiBvZiBtZWFzdXJlbWVudCBwb2xp Y3kgZnJvbSBsb2NhbCBpbnRlZ3JpdHkgcG9saWN5CisgICAgIGVuZm9yY2VtZW50IHdhcyBjb25z aWRlcmVkIGZhdm9yYWJsZS4KKworRHVlIHRvIHRoZXNlIHJlYXNvbnMsIGl0IHdhcyBkZWNpZGVk IHRoYXQgYSBuZXcgTFNNIHNob3VsZCBiZSBjcmVhdGVkLAord2hvc2UgcmVzcG9uc2liaWxpdHkg d291bGQgYmUgb25seSB0aGUgbG9jYWwgaW50ZWdyaXR5IHBvbGljeSBlbmZvcmNlbWVudC4KKwor Um9sZSBhbmQgU2NvcGUKKy0tLS0tLS0tLS0tLS0tCisKK0lQRSwgYXMgaXRzIG5hbWUgaW1wbGll cywgaXMgZnVuZGFtZW50YWxseSBhbiBpbnRlZ3JpdHkgcG9saWN5IGVuZm9yY2VtZW50Citzb2x1 dGlvbjsgSVBFIGRvZXMgbm90IG1hbmRhdGUgaG93IGludGVncml0eSBpcyBwcm92aWRlZCwgYnV0 IGluc3RlYWQKK2xlYXZlcyB0aGF0IGRlY2lzaW9uIHRvIHRoZSBzeXN0ZW0gYWRtaW5pc3RyYXRv ciB0byBzZXQgdGhlIHNlY3VyaXR5IGJhciwKK3ZpYSB0aGUgbWVjaGFuaXNtcyB0aGF0IHRoZXkg c2VsZWN0IHRoYXQgc3VpdCB0aGVpciBpbmRpdmlkdWFsIG5lZWRzLgorVGhlcmUgYXJlIHNldmVy YWwgZGlmZmVyZW50IGludGVncml0eSBzb2x1dGlvbnMgdGhhdCBwcm92aWRlIGEgZGlmZmVyZW50 CitsZXZlbCBvZiBzZWN1cml0eSBndWFyYW50ZWVzOyBhbmQgSVBFIGFsbG93cyBzeXNhZG1pbnMg dG8gZXhwcmVzcyBwb2xpY3kgZm9yCit0aGVvcmV0aWNhbGx5IGFsbCBvZiB0aGVtLgorCitJUEUg YWRkaXRpb25hbGx5IGRvZXMgbm90IHByb3ZpZGUgYSBtZWNoYW5pc20gdGhhdCBwcm92aWRlcyBp bnRlZ3JpdHkKK2J5IGl0c2VsZjogdGhlcmUgYXJlIGJldHRlciBsYXllcnMgdG8gY3JlYXRlIHN1 Y2ggc3lzdGVtcywgYW5kIGEgbWVjaGFuaXNtCitvZiBwcm92aW5nIGludGVncml0eSBoYXMgbmV4 dCB0byBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHBvbGljeSBvZiBlbmZvcmNpbmcKK3RoYXQgaW50 ZWdyaXR5IGNsYWltLgorCitUaGVyZWZvcmUsIElQRSB3YXMgZGVzaWduZWQgYXJvdW5kOgorCisg IDEuIEVhc3kgaW50ZWdyYXRpb25zIHdpdGggaW50ZWdyaXR5IHByb3ZpZGVycy4KKyAgMi4gRWFz ZSBvZiB1c2UgZm9yIHBsYXRmb3JtIGFkbWluaXN0cmF0b3JzL3N5c2FkbWlucy4KKworRGVzaWdu IFJhdGlvbmFsZToKKy0tLS0tLS0tLS0tLS0tLS0tCisKK0lQRSB3YXMgZGVzaWduZWQgYWZ0ZXIg ZXZsdWF0aW5nIGV4aXN0aW5nIGludGVncml0eSBwb2xpY3kgc29sdXRpb25zCitpbiBvdGhlciBv cGVyYXRpbmcgc3lzdGVtcyBhbmQgZW52aXJvbm1lbnRzLiBJbiB0aGlzIHN1cnZleSBvZiBvdGhl cgoraW1wbGVtZW50YXRpb25zLCB0aGVyZSB3ZXJlIGEgZmV3IHBpdGZhbGxzIGlkZW50aWZpZWQ6 CisKKyAgMS4gUG9saWNpZXMgd2VyZSBub3QgcmVhZGFibGUgYnkgaHVtYW5zLCB1c3VhbGx5IHJl cXVpcmluZyBhIGJpbmFyeQorICAgICBpbnRlcm1lZGlhcnkgZm9ybWF0LgorICAyLiBBIHNpbmds ZSwgbm9uLWN1c3RvbWl6YWJsZSBhY3Rpb24gd2FzIGltcGxpY2l0bHkgdGFrZW4gYXMgYSBkZWZh dWx0LgorICAzLiBEZWJ1Z2dpbmcgdGhlIHBvbGljeSByZXF1aXJlZCBtYW51YWwgc3RlcHMgdG8g ZGV0ZXJtaW5lIHdoYXQgcnVsZSB3YXMgdmlvbGF0ZWQuCisgIDQuIEF1dGhvcmluZyBhIHBvbGlj eSByZXF1aXJlZCBhbiBpbi1kZXB0aCBrbm93bGVkZ2Ugb2YgdGhlIGxhcmdlciBzeXN0ZW0sCisg ICAgIG9yIG9wZXJhdGluZyBzeXN0ZW0uCisKK0lQRSBhdHRlbXB0cyB0byBhdm9pZCBhbGwgb2Yg dGhlc2UgcGlmYWxscy4KKworUG9saWN5Cit+fn5+fn4KKworUGxhaW4gVGV4dAorXl5eXl5eXl5e XgorCitJUEUncyBwb2xpY3kgaXMgcGxhaW4tdGV4dC4gVGhpcyBpbnRyb2R1Y2VzIHNsaWdodGx5 IGxhcmdlciBwb2xpY3kgZmlsZXMgdGhhbgorb3RoZXIgTFNNcywgYnV0IHNvbHZlcyB0d28gbWFq b3IgcHJvYmxlbXMgdGhhdCBvY2N1cnMgd2l0aCBzb21lIGludGVncml0eSBwb2xpY3kKK3NvbHV0 aW9ucyBvbiBvdGhlciBwbGF0Zm9ybXMuCisKK1RoZSBmaXJzdCBpc3N1ZSBpcyBvbmUgb2YgY29k ZSBtYWludGVuYW5jZSBhbmQgZHVwbGljYXRpb24uIFRvIGF1dGhvciBwb2xpY2llcywKK3RoZSBw b2xpY3kgaGFzIHRvIGJlIHNvbWUgZm9ybSBvZiBzdHJpbmcgcmVwcmVzZW50YXRpb24gKGJlIGl0 IHN0cnVjdHVyZWQsCit0aHJvdWdoIFhNTCwgSlNPTiwgWUFNTCwgZXRjZXRlcmEpLCB0byBhbGxv dyB0aGUgcG9saWN5IGF1dGhvciB0byB1bmRlcnN0YW5kCit3aGF0IGlzIGJlaW5nIHdyaXR0ZW4u IEluIGEgaHlwb3RoZXRpY2FsIGJpbmFyeSBwb2xpY3kgZGVzaWduLCBhIHNlcmlhbGl6ZXIKK2lz IG5lY2Vzc2FyeSB0byB3cml0ZSB0aGUgcG9saWN5IGZyb20gdGhlIGh1bWFuIHJlYWRhYmxlIGZv cm0sIHRvIHRoZSBiaW5hcnkKK2Zvcm0sIGFuZCBhIGRlc2VyaWFsaXplciBpcyBuZWVkZWQgdG8g aW50ZXJwcmV0IHRoZSBiaW5hcnkgZm9ybSBpbnRvIGEgZGF0YQorc3RydWN0dXJlIGluIHRoZSBr ZXJuZWwuCisKK0V2ZW50dWFsbHksIGFub3RoZXIgZGVzZXJpYWxpemVyIHdpbGwgYmUgbmVlZGVk IHRvIHRyYW5zZm9ybSB0aGUgYmluYXJ5IGZyb20KK2JhY2sgaW50byB0aGUgaHVtYW4tcmVhZGFi bGUgZm9ybSB3aXRoIGFzIG11Y2ggaW5mb3JtYXRpb24gcHJlc2VydmVkLiBUaGlzIGlzIGJlY2F1 c2UgYQordXNlciBvZiB0aGlzIGFjY2VzcyBjb250cm9sIHN5c3RlbSB3aWxsIGhhdmUgdG8ga2Vl cCBhIGxvb2t1cCB0YWJsZSBvZiBhIGNoZWNrc3VtCithbmQgdGhlIG9yaWdpbmFsIGZpbGUgaXRz ZWxmIHRvIHRyeSB0byB1bmRlcnN0YW5kIHdoYXQgcG9saWNpZXMgaGF2ZSBiZWVuIGRlcGxveWVk CitvbiB0aGlzIHN5c3RlbSBhbmQgd2hhdCBwb2xpY2llcyBoYXZlIG5vdC4gRm9yIGEgc2luZ2xl IHVzZXIsIHRoaXMgbWF5IGJlIGFscmlnaHQsCithcyBvbGQgcG9saWNpZXMgY2FuIGJlIGRpc2Nh cmRlZCBhbG1vc3QgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHVwZGF0ZSB0YWtlcyBob2xkLgorRm9y IHVzZXJzIHRoYXQgbWFuYWdlIGNvbXB1dGVyIGZsZWV0cyBpbiB0aGUgdGhvdXNhbmRzLCBpZiBu b3QgaHVuZHJlZHMgb2YgdGhvdXNhbmRzLAord2l0aCBtdWx0aXBsZSBkaWZmZXJlbnQgb3BlcmF0 aW5nIHN5c3RlbXMsIGFuZCBtdWx0aXBsZSBkaWZmZXJlbnQgb3BlcmF0aW9uYWwgbmVlZHMsCit0 aGlzIHF1aWNrbHkgYmVjb21lcyBhbiBpc3N1ZSwgYXMgc3RhbGUgcG9saWNpZXMgZnJvbSB5ZWFy cyBhZ28gbWF5IGJlIHByZXNlbnQsCitxdWlja2x5IHJlc3VsdGluZyBpbiB0aGUgbmVlZCB0byBy ZWNvdmVyIHRoZSBwb2xpY3kgb3IgZnVuZCBleHRlbnNpdmUgaW5mcmFzdHJ1Y3R1cmUKK3RvIHRy YWNrIHdoYXQgZWFjaCBwb2xpY3kgY29udGFpbnMuCisKK1dpdGggbm93IHRocmVlIHNlcGFyYXRl IHNlcmlhbGl6ZXIvZGVzZXJpYWxpemVycywgbWFpbnRlbmFuY2UgYmVjb21lcyBjb3N0bHkuIElm IHRoZQorcG9saWN5IGF2b2lkcyB0aGUgYmluYXJ5IGZvcm1hdCwgdGhlcmUgaXMgb25seSBvbmUg cmVxdWlyZWQgc2VyaWFsaXplcjogZnJvbSB0aGUKK2h1bWFuLXJlYWRhYmxlIGZvcm0gdG8gdGhl IGRhdGEgc3RydWN0dXJlIGluZSBrZXJuZWwsIHNhdmluZyBvbiBjb2RlIG1haW50ZW5hbmNlLAor YW5kIHJldGFpbmluZyBvcGVyYWJpbGl0eS4KKworVGhlIHNlY29uZCBpc3N1ZSB3aXRoIGEgYmlu YXJ5IGZvcm1hdCBpcyBvbmUgb2YgdHJhbnNwYXJlbmN5LiBBcyBJUEUgY29udHJvbHMKK2FjY2Vz cyBiYXNlZCBvbiB0aGUgdHJ1c3Qgb2YgdGhlIHN5c3RlbSdzIHJlc291cmNlcywgaXQncyBwb2xp Y3kgbXVzdCBhbHNvIGJlCit0cnVzdGVkIHRvIGJlIGNoYW5nZWQuIFRoaXMgaXMgZG9uZSB0aHJv dWdoIHNpZ25hdHVyZXMsIHJlc3VsdGluZyBpbiBuZWVkaW5nCitzaWduaW5nIGFzIGEgcHJvY2Vz cy4gU2lnbmluZywgYXMgYSBwcm9jZXNzLCBpcyB0eXBpY2FsbHkgZG9uZSB3aXRoIGEKK2hpZ2gg c2VjdXJpdHkgYmFyLCBhcyBhbnl0aGluZyBzaWduZWQgY2FuIGJlIHVzZWQgdG8gYXR0YWNrIGlu dGVncml0eQorZW5mb3JjZW1lbnQgc3lzdGVtcy4gSXQgaXMgYWxzbyBpbXBvcnRhbnQgdGhhdCwg d2hlbiBzaWduaW5nIHNvbWV0aGluZywgdGhhdAordGhlIHNpZ25lciBpcyBhd2FyZSBvZiB3aGF0 IHRoZXkgYXJlIHNpZ25pbmcuIEEgYmluYXJ5IHBvbGljeSBjYW4gY2F1c2UKK29iZnVzY2F0aW9u IG9mIHRoYXQgZmFjdDsgd2hhdCBzaWduZXJzIHNlZSBpcyBhbiBvcGFxdWUgYmluYXJ5IGJsb2Iu IEEKK3BsYWluLXRleHQgcG9saWN5LCBvbiB0aGUgb3RoZXIgaGFuZCwgdGhlIHNpZ25lcnMgc2Vl IHRoZSBhY3R1YWwgcG9saWN5CitzdWJtaXR0ZWQgZm9yIHNpZ25pbmcuCisKK0Jvb3QgUG9saWN5 Cit+fn5+fn5+fn5+fgorCitJUEUsIGlmIGNvbmZpZ3VyZWQgYXBwcm9wcmlhdGVseSwgaXMgYWJs ZSB0byBlbmZvcmNlIGEgcG9saWN5IGFzIHNvb24gYXMgYQora2VybmVsIGlzIGJvb3RlZCBhbmQg dXNlcm1vZGUgc3RhcnRzLiBUaGF0IGltcGxpZXMgc29tZSBsZXZlbCBvZiBzdG9yYWdlCitvZiB0 aGUgcG9saWN5IHRvIGFwcGx5IHRoZSBtaW51dGUgdXNlcm1vZGUgc3RhcnRzLiBHZW5lcmFsbHks IHRoYXQgc3RvcmFnZQorY2FuIGJlIGhhbmRsZWQgaW4gb25lIG9mIHRocmVlIHdheXM6CisKKyAg MS4gVGhlIHBvbGljeSBmaWxlKHMpIGxpdmUgb24gZGlzayBhbmQgdGhlIGtlcm5lbCBsb2FkcyB0 aGUgcG9saWN5IHByaW9yCisgICAgIHRvIGFuIGNvZGUgcGF0aCB0aGF0IHdvdWxkIHJlc3VsdCBp biBhbiBlbmZvcmNlbWVudCBkZWNpc2lvbi4KKyAgMi4gVGhlIHBvbGljeSBmaWxlKHMpIGFyZSBw YXNzZWQgYnkgdGhlIGJvb3Rsb2FkZXIgdG8gdGhlIGtlcm5lbCwgd2hvCisgICAgIHBhcnNlcyB0 aGUgcG9saWN5LgorICAzLiBUaGVyZSBpcyBhIHBvbGljeSBmaWxlIHRoYXQgaXMgY29tcGlsZWQg aW50byB0aGUga2VybmVsIHRoYXQgaXMKKyAgICAgcGFyc2VkIGFuZCBlbmZvcmNlZCBvbiBpbml0 aWFsaXphdGlvbi4KKworVGhlIGZpcnN0IG9wdGlvbiBoYXMgcHJvYmxlbXM6IHRoZSBrZXJuZWwg cmVhZGluZyBmaWxlcyBmcm9tIHVzZXJzcGFjZQoraXMgdHlwaWNhbGx5IGRpc2NvdXJhZ2VkIGFu ZCB2ZXJ5IHVuY29tbW9uIGluIHRoZSBrZXJuZWwuCisKK1RoZSBzZWNvbmQgb3B0aW9uIGFsc28g aGFzIHByb2JsZW1zOiBMaW51eCBzdXBwb3J0cyBhIHZhcmlldHkgb2YgYm9vdGxvYWRlcnMKK2Fj cm9zcyBpdHMgZW50aXJlIGVjb3N5c3RlbSAtIGV2ZXJ5IGJvb3Rsb2FkZXIgd291bGQgaGF2ZSB0 byBzdXBwb3J0IHRoaXMKK25ldyBtZXRob2RvbG9neSBvciB0aGVyZSBtdXN0IGJlIGFuIGluZGVw ZW5kZW50IHNvdXJjZS4gSXQgd291bGQgbGlrZWx5CityZXN1bHQgaW4gbW9yZSBkcmFzdGljIGNo YW5nZXMgdG8gdGhlIGtlcm5lbCBzdGFydHVwIHRoYW4gbmVjZXNzYXJ5LgorCitUaGUgdGhpcmQg b3B0aW9uIGlzIHRoZSBiZXN0IGJ1dCBpdCdzIGltcG9ydGFudCB0byBiZSBhd2FyZSB0aGF0IHRo ZSBwb2xpY3kKK3dpbGwgdGFrZSBkaXNrIHNwYWNlIGFnYWluc3QgdGhlIGtlcm5lbCBpdCdzIGNv bXBpbGVkIGluLiBJdCdzIGltcG9ydGFudCB0bwora2VlcCB0aGlzIHBvbGljeSBnZW5lcmFsaXpl ZCBlbm91Z2ggdGhhdCB1c2Vyc3BhY2UgY2FuIGxvYWQgYSBuZXcsIG1vcmUKK2NvbXBsaWNhdGVk IHBvbGljeSwgYnV0IHJlc3RyaWN0aXZlIGVub3VnaCB0aGF0IGl0IHdpbGwgbm90IG92ZXJhdXRo b3JpemUKK2FuZCBjYXVzZSBzZWN1cml0eSBpc3N1ZXMuCisKK1RoZSBpbml0cmFtZnMgcHJvdmlk ZXMgYSB3YXkgdGhhdCB0aGlzIGJvb3R1cCBwYXRoIGNhbiBiZSBlc3RhYmxpc2hlZC4gVGhlCitr ZXJuZWwgc3RhcnRzIHdpdGggYSBtaW5pbWFsIHBvbGljeSwgdGhhdCB0cnVzdHMgdGhlIGluaXRy YW1mcyBvbmx5LiBJbnNpZGUKK3RoZSBpbml0cmFtZnMsIHdoZW4gdGhlIHJlYWwgcm9vdGZzIGlz IG1vdW50ZWQsIGJ1dCBub3QgeWV0IHRyYW5zZmVycmVkIHRvLAoraXQgZGVwbG95cyBhbmQgYWN0 aXZhdGVzIGEgcG9saWN5IHRoYXQgdHJ1c3RzIHRoZSBuZXcgcm9vdCBmaWxlc3lzdGVtLgorVGhp cyBwcmV2ZW50cyBvdmVyYXV0aG9yaXphdGlvbiBhdCBhbnkgc3RlcCwgYW5kIGtlZXBzIHRoZSBr ZXJuZWwgcG9saWN5Cit0byBhIG1pbmltYWwgc2l6ZS4KKworU3RhcnR1cAorXl5eXl5eXgorCitO b3QgZXZlcnkgc3lzdGVtLCBob3dldmVyIHN0YXJ0cyB3aXRoIGFuIGluaXRyYW1mcywgc28gdGhl IHN0YXJ0dXAgcG9saWN5Citjb21waWxlZCBpbnRvIHRoZSBrZXJuZWwgd2lsbCBuZWVkIHNvbWUg ZmxleGliaWxpdHkgdG8gZXhwcmVzcyBob3cgdHJ1c3QKK2lzIGVzdGFibGlzaGVkIGZvciB0aGUg bmV4dCBwaGFzZSBvZiB0aGUgYm9vdHVwLiBUbyB0aGlzIGVuZCwgaWYgd2UganVzdAorbWFrZSB0 aGUgY29tcGlsZWQtaW4gcG9saWN5IGEgZnVsbCBJUEUgcG9saWN5LCBpdCBhbGxvd3Mgc3lzdGVt IGJ1aWxkZXJzCit0byBleHByZXNzIHRoZSBmaXJzdCBzdGFnZSBib290dXAgcmVxdWlyZW1lbnRz IGFwcHJvcHJpYXRlbHkuCisKK1VwZGF0YWJsZSwgUmVib290bGVzcyBQb2xpY3kKK35+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworQXMgcmVxdWlyZW1lbnRzIGNoYW5nZSBvdmVyIHRpbWUg KHZ1bG5lcmFiaWxpdGllcyBhcmUgZm91bmQgaW4gcHJldmlvdXNseQordHJ1c3RlZCBhcHBsY2F0 aW9ucywga2V5cyByb2xsLCBldGNldGVyYSkuIFVwZGF0aW5nIGEga2VybmVsIHRvIGNoYW5nZSB0 aGUKK21lZXQgdGhvc2Ugc2VjdXJpdHkgZ29hbHMgaXMgbm90IGFsd2F5cyBhIHN1aXRhYmxlIG9w dGlvbiwgYXMgdXBkYXRlcyBhcmUgbm90CithbHdheXMgcmlzay1mcmVlLCBhbmQgYmxvY2tpbmcg YSBzZWN1cml0eSB1cGRhdGUgbGVhdmVzIHN5c3RlbXMgdnVsbmVyYWJsZS4KK1RoaXMgbWVhbnMg SVBFIHJlcXVpcmVzIGEgcG9saWN5IHRoYXQgY2FuIGJlIGNvbXBsZXRlbHkgdXBkYXRlZCAoYWxs b3dpbmcKK3Jldm9jYXRpb25zIG9mIGV4aXN0aW5nIHBvbGljeSkgZnJvbSBhIHNvdXJjZSBleHRl cm5hbCB0byB0aGUga2VybmVsIChhbGxvd2luZworcG9saWNpZXMgdG8gYmUgdXBkYXRlZCB3aXRo b3V0IHVwZGF0aW5nIHRoZSBrZXJuZWwpLgorCitBZGRpdGlvbmFsbHksIHNpbmNlIHRoZSBrZXJu ZWwgaXMgc3RhdGVsZXNzIGJldHdlZW4gaW52b2NhdGlvbnMsIGFuZCByZWFkaW5nCitwb2xpY3kg ZmlsZXMgb2ZmIHRoZSBkaXNrIGZyb20ga2VybmVsIHNwYWNlIGlzIGEgYmFkIGlkZWEodG0pLCB0 aGVuIHRoZQorcG9saWN5IHVwZGF0ZXMgaGF2ZSB0byBiZSBkb25lIHJlYm9vdGxlc3NseS4KKwor VG8gYWxsb3cgYW4gdXBkYXRlIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBpdCBjb3VsZCBiZSBw b3RlbnRpYWxseSBtYWxpY2lvdXMsCitzbyB0aGlzIHBvbGljeSBuZWVkcyB0byBoYXZlIGEgd2F5 IHRvIGJlIGlkZW50aWZpZWQgYXMgdHJ1c3RlZC4gVGhpcyBpcworZG9uZSB2aWEgYSBzaWduYXR1 cmUgY2hhaW5lZCB0byBhIHRydXN0IHNvdXJjZSBpbiB0aGUga2VybmVsLiBBcmJpdHJhcmlseSwK K3RoaXMgaXMgIHRoZSBgYFNZU1RFTV9UUlVTVEVEX0tFWVJJTkdgYCwgYSBrZXlyaW5nIHRoYXQg aXMgaW5pdGlhbGx5Citwb3B1bGF0ZWQgYXQga2VybmVsIGNvbXBpbGUtdGltZSwgYXMgdGhpcyBt YXRjaGVzIHRoZSBleHBlY3RhdGlvbiB0aGF0IHRoZQorYXV0aG9yIG9mIHRoZSBjb21waWxlZC1p biBwb2xpY3kgZGVzY3JpYmVkIGFib3ZlIGlzIHRoZSBzYW1lIGVudGl0eSB0aGF0IGNhbgorZGVw bG95IHBvbGljeSB1cGRhdGVzLgorCitBbnRpLVJvbGxiYWNrIC8gQW50aS1SZXBsYXkKK35+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitPdmVyIHRpbWUsIHZ1bG5lcmFiaWxpdGllcyBhcmUg Zm91bmQgYW5kIHRydXN0ZWQgcmVzb3VyY2VzIG1heSBub3QgYmUKK3RydXN0ZWQgYW55bW9yZS4g SVBFJ3MgcG9saWN5IGhhcyBubyBleGNlcHRpb24gdG8gdGhpcy4gVGhlcmUgY2FuIGJlCitpbnN0 YW5jZXMgd2hlcmUgYSBtaXN0YWtlbiBwb2xpY3kgYXV0aG9yIGRlcGxveXMgYW4gaW5zZWN1cmUg cG9saWN5LAorYmVmb3JlIGNvcnJlY3RpbmcgaXQgd2l0aCBhIHNlY3VyZSBwb2xpY3kuCisKK0Fz c3VtaW5nIHRoYXQgYXMgc29vbiBhcyB0aGUgaW5zZWN1cmUgcG9saWN5IGlzIHNpZ25lZCwgYW5k IGFuIGF0dGFja2VyCithY3F1aXJlcyB0aGUgaW5zZWN1cmUgcG9saWN5LCBJUEUgbmVlZHMgYSB3 YXkgdG8gcHJldmVudCByb2xsYmFjaworZnJvbSB0aGUgc2VjdXJlIHBvbGljeSB1cGRhdGUgdG8g dGhlIGluc2VjdXJlIHBvbGljeSB1cGRhdGUuCisKK0luaXRpYWxseSwgSVBFJ3MgcG9saWN5IGNh biBoYXZlIGEgcG9saWN5X3ZlcnNpb24gdGhhdCBzdGF0ZXMgdGhlCittaW5pbXVtIHJlcXVpcmVk IHZlcnNpb24gYWNyb3NzIGFsbCBwb2xpY2llcyB0aGF0IGNhbiBiZSBhY3RpdmUgb24KK3RoZSBz eXN0ZW0uIFRoaXMgd2lsbCBwcmV2ZW50IHJvbGxiYWNrIHdoaWxlIHRoZSBzeXN0ZW0gaXMgbGl2 ZS4KKworLi4gV0FSTklORzo6CisKKyAgSG93ZXZlciwgc2luY2UgdGhlIGtlcm5lbCBpcyBzdGF0 ZWxlc3MgYWNyb3NzIGJvb3RzLCB0aGlzIHBvbGljeQorICB2ZXJzaW9uIHdpbGwgYmUgcmVzZXQg dG8gMC4wLjAgb24gdGhlIG5leHQgYm9vdC4gU3lzdGVtIGJ1aWxkZXJzCisgIG5lZWQgdG8gYmUg YXdhcmUgb2YgdGhpcywgYW5kIGVuc3VyZSB0aGUgbmV3IHNlY3VyZSBwb2xpY2llcyBhcmUKKyAg ZGVwbG95ZWQgQVNBUCBhZnRlciBhIGJvb3QgdG8gZW5zdXJlIHRoYXQgdGhlIHdpbmRvdyBvZgor ICBvcHBvcnR1bml0eSBpcyBtaW5pbWFsIGZvciBhbiBhdHRhY2tlciB0byBkZXBsb3kgdGhlIGlu c2VjdXJlIHBvbGljeS4KKworSW1wbGljaXQgQWN0aW9uczoKK35+fn5+fn5+fn5+fn5+fn5+CisK K1RoZSBpc3N1ZSBvZiBpbXBpY2l0IGFjdGlvbnMgb25seSBiZWNvbWVzIHZpc2libGUgd2hlbiB5 b3UgY29uc2lkZXIKK2EgbWl4ZWQgbGV2ZWwgb2Ygc2VjdXJpdHkgYmFycyBhY3Jvc3MgbXVsdGlw bGUgb3BlcmF0aW9ucyBpbiBhIHN5c3RlbS4KK0ZvciBleGFtcGxlLCBjb25zaWRlciBhIHN5c3Rl bSB0aGF0IGhhcyBzdHJvbmcgaW50ZWdyaXR5IGd1YXJhbnRlZXMKK292ZXIgYm90aCB0aGUgZXhl Y3V0YWJsZSBjb2RlLCBhbmQgc3BlY2lmaWMgKmRhdGEgZmlsZXMqIG9uIHRoZSBzeXN0ZW0sCit0 aGF0IHdlcmUgY3JpdGljYWwgdG8gaXRzIGZ1bmN0aW9uLiBJbiB0aGlzIHN5c3RlbSwgdGhyZWUg dHlwZXMgb2YgcG9saWNpZXMKK2FyZSBwb3NzaWJsZToKKworICAxLiBBIHBvbGljeSBpbiB3aGlj aCBmYWlsdXJlIHRvIG1hdGNoIGFueSBydWxlcyBpbiB0aGUgcG9saWN5IHJlc3VsdHMKKyAgICAg aW4gdGhlIGFjdGlvbiBiZWluZyBkZW5pZWQuCisgIDIuIEEgcG9saWN5IGluIHdoaWNoIGZhaWx1 cmUgdG8gbWF0Y2ggYW55IHJ1bGVzIGluIHRoZSBwb2xpY3kgcmVzdWx0cworICAgICBpbiB0aGUg YWN0aW9uIGJlaW5nIGFsbG93ZWQuCisgIDMuIEEgcG9saWN5IGluIHdoaWNoIHRoZSBhY3Rpb24g dGFrZW4gd2hlbiBubyBydWxlcyBhcmUgbWF0Y2hlZCBpcworICAgICBzcGVjaWZpZWQgYnkgdGhl IHBvbGljeSBhdXRob3IuCisKK1RoZSBmaXJzdCBvcHRpb24gY291bGQgbWFrZSBhIHBvbGljeSBs aWtlIHRoaXM6OgorCisgIG9wPUVYRUNVVEUgaW50ZWdyaXR5X3ZlcmlmaWVkPVlFUyBhY3Rpb249 REVOWQorCitJbiB0aGUgZXhhbXBsZSBzeXN0ZW0sIHRoaXMgd29ya3Mgd2VsbCBmb3IgdGhlIGV4 ZWN1dGFibGVzLCBhcyBhbGwKK2V4ZWN1dGFibGVzIHNob3VsZCBoYXZlIGludGVncml0eSBndWFy YW50ZWVzLCB3aXRob3V0IGV4Y2VwdGlvbi4gVGhlCitpc3N1ZSBiZWNvbWVzIHdpdGggdGhlIHNl Y29uZCByZXF1aXJlbWVudCBhYm91dCBzcGVjaWZpYyBkYXRhIGZpbGVzLgorVGhpcyB3b3VsZCBy ZXN1bHQgaW4gYSBwb2xpY3kgbGlrZSB0aGlzIChhc3N1bWluZyBlYWNoIGxpbmUgaXMKK2V2YWx1 YXRlZCBpbiBvcmRlcik6OgorCisgIG9wPUVYRUNVVEUgaW50ZWdyaXR5X3ZlcmlmaWVkPVlFUyBh Y3Rpb249REVOWQorCisgIG9wPVJFQUQgaW50ZWdyaXR5X3ZlcmlmaWVkPU5PIGxhYmVsPWNyaXRp Y2FsX3QgYWN0aW9uPURFTlkKKyAgb3A9UkVBRCBhY3Rpb249QUxMT1cKKworVGhpcyBpcyBzb21l d2hhdCBjbGVhciBpZiB5b3UgcmVhZCB0aGUgZG9jcywgdW5kZXJzdGFuZCB0aGUgcG9saWN5Citp cyBleGVjdXRlZCBpbiBvcmRlciBhbmQgdGhhdCB0aGUgZGVmYXVsdCBpcyBhIGRlbmlhbDsgaG93 ZXZlciwgdGhlCitsYXN0IGxpbmUgZWZmZWN0aXZlbHkgY2hhbmdlcyB0aGF0IGRlZmF1bHQgdG8g YW4gQUxMT1cuIFRoaXMgaXMKK3JlcXVpcmVkLCBiZWNhdXNlIGluIGEgcmVhbGlzdGljIHN5c3Rl bSwgdGhlcmUgYXJlIHNvbWUgdW52ZXJpZmllZAorcmVhZHMgKGltYWdpbmUgYXBwZW5kaW5nIHRv IGEgbG9nIGZpbGUpLgorCitUaGUgc2Vjb25kIG9wdGlvbiwgbWF0Y2hpbmcgbm8gcnVsZXMgcmVz dWx0cyBpbiBhbiBhbGxvdywgaXMgY2xlYXJlcgorZm9yIHRoZSBzcGVjaWZpYyBkYXRhIGZpbGVz OjoKKworICBvcD1SRUFEIGludGVncml0eV92ZXJpZmllZD1OTyBsYWJlbD1jcml0aWNhbF90IGFj dGlvbj1ERU5ZCisKK0FuZCwgbGlrZSB0aGUgZmlyc3Qgb3B0aW9uLCBmYWxscyBzaG9ydCB3aXRo IHRoZSBvcHBvc2l0ZSBzY2VuYXJpbywKK2VmZmVjdGl2ZWx5IG5lZWRpbmcgdG8gb3ZlcnJpZGUg dGhlIGRlZmF1bHQ6OgorCisgIG9wPUVYRUNVVEUgaW50ZWdyaXR5X3ZlcmlmaWVkPVlFUyBhY3Rp b249QUxMT1cKKyAgb3A9RVhFQ1VURSBhY3Rpb249REVOWQorCisgIG9wPVJFQUQgaW50ZWdyaXR5 X3ZlcmlmaWVkPU5PIGxhYmVsPWNyaXRpY2FsX3QgYWN0aW9uPURFTlkKKworVGhpcyBsZWF2ZXMg dGhlIHRoaXJkIG9wdGlvbi4gSW5zdGVhZCBvZiBtYWtpbmcgdXNlcnMgYmUgY2xldmVyCithbmQg b3ZlcnJpZGUgdGhlIGRlZmF1bHQgd2l0aCBhbiBlbXB0eSBydWxlLCBmb3JjZSB0aGUgZW5kLXVz ZXIKK3RvIGNvbnNpZGVyIHdoYXQgdGhlIGFwcHJvcHJpYXRlIGRlZmF1bHQgc2hvdWxkIGJlIGZv ciB0aGVpcgorc2NlbmFyaW8gYW5kIGV4cGxpY2l0bHkgc3RhdGUgaXQ6OgorCisgIERFRkFVTFQg b3A9RVhFQ1VURSBhY3Rpb249REVOWQorICBvcD1FWEVDVVRFIGludGVncml0eV92ZXJpZmllZD1Z RVMgYWN0aW9uPUFMTE9XCisKKyAgREVGQVVMVCBvcD1SRUFEIGFjdGlvbj1BTExPVworICBvcD1S RUFEIGludGVncml0eV92ZXJpZmllZD1OTyBsYWJlbD1jcml0aWNhbF90IGFjdGlvbj1ERU5ZCisK K1BvbGljeSBEZWJ1Z2dpbmc6Cit+fn5+fn5+fn5+fn5+fn5+fgorCitXaGVuIGRldmVsb3Bpbmcg YSBwb2xpY3ksIGl0IGlzIHVzZWZ1bCB0byBrbm93IHdoYXQgbGluZSBvZiB0aGUgcG9saWN5Citp cyBiZWluZyB2aW9sYXRlZCB0byByZWR1Y2UgZGVidWdnaW5nIGNvc3RzOyBuYXJyb3dpbmcgdGhl IHNjb3BlIG9mIHRoZQoraW52ZXN0aWdhdGlvbiB0byB0aGUgZXhhY3QgbGluZSB0aGF0IHJlc3Vs dGVkIGluIHRoZSBhY3Rpb24uIFNvbWUgaW50ZWdyaXR5Citwb2xpY3kgc3lzdGVtcyBkbyBub3Qg cHJvdmlkZSB0aGlzIGluZm9ybWF0aW9uLCBpbnN0ZWFkIHByb3ZpZGluZyB0aGUKK2luZm9ybWF0 aW9uIHRoYXQgd2FzIHVzZWQgaW4gdGhlIGV2YWx1YXRpb24uIFRoaXMgdGhlbiByZXF1aXJlcyBh IGNvcnJlbGF0aW9uCit3aXRoIHRoZSBwb2xpY3kgdG8gZXZhbHVhdGUgd2hhdCB3ZW50IHdyb25n LgorCitJbnN0ZWFkLCBJUEUganVzdCBlbWl0cyB0aGUgcnVsZSB0aGF0IHdhcyBtYXRjaGVkLiBU aGlzIGxpbWl0cyB0aGUgc2NvcGUKK29mIHRoZSBpbnZlc3RpZ2F0aW9uIHRvIHRoZSBleGFjdCBw b2xpY3kgbGluZSAoaW4gdGhlIGNhc2Ugb2YgYSBzcGVjaWZpYworcnVsZSksIG9yIHRoZSBzZWN0 aW9uIChpbiB0aGUgY2FzZSBvZiBhIERFRkFVTFQpLiBUaGlzIGRlY3JlYXNlcyBpdGVyYXRpb24K K2FuZCBpbnZlc3RpZ2F0aW9uIHRpbWVzIHdoZW4gcG9saWN5IGZhaWx1cmVzIGFyZSBvYnNlcnZl ZCB3aGlsZSBldmFsdWF0aW5nCitwb2xpY2llcy4KKworSVBFJ3MgcG9saWN5IGVuZ2luZSBpcyBh bHNvIGRlc2lnbmVkIGluIGEgd2F5IHRoYXQgaXQgbWFrZXMgaXQgb2J2aW91cyB0bworYSBodW1h biBvZiBob3cgdG8gaW52ZXN0aWdhdGUgYSBwb2xpY3kgZmFpbHVyZS4gRWFjaCBsaW5lIGlzIGV2 YWx1YXRlZCBpbgordGhlIHNlcXVlbmNlIHRoYXQgaXMgd3JpdHRlbiwgc28gdGhlIGFsZ29yaXRo bSBpcyB2ZXJ5IHNpbXBsZSB0byBmb2xsb3cKK2ZvciBodW1hbnMgdG8gcmVjcmVhdGUgdGhlIHN0 ZXBzIGFuZCBjb3VsZCBoYXZlIGNhdXNlZCB0aGUgZmFpbHVyZS4gSW4gb3RoZXIKK3N1cnZleWVk IHN5c3RlbXMsIG9wdGltaXphdGlvbnMgb2NjdXIgKHNvcnRpbmcgcnVsZXMsIGZvciBpbnN0YW5j ZSkgd2hlbiBsb2FkaW5nCit0aGUgcG9saWN5LiBJbiB0aG9zZSBzeXN0ZW1zLCBpdCByZXF1aXJl cyBtdWx0aXBsZSBzdGVwcyB0byBkZWJ1ZywgYW5kIHRoZQorYWxnb3JpdGhtIG1heSBub3QgYWx3 YXlzIGJlIGNsZWFyIHRvIHRoZSBlbmQtdXNlciB3aXRob3V0IHJlYWRpbmcgdGhlIGNvZGUgZmly c3QuCisKK1NpbXBsaWZpZWQgUG9saWN5Ogorfn5+fn5+fn5+fn5+fn5+fn5+CisKK0ZpbmFsbHks IElQRSdzIHBvbGljeSBpcyBkZXNpZ25lZCBmb3Igc3lzYWRtaW5zLCBub3Qga2VybmVsIGRldmVs b3BlcnMuIEluc3RlYWQKK29mIGNvdmVyaW5nIGluZGl2aWR1YWwgTFNNIGhvb2tzIChvciBzeXNj YWxscyksIElQRSBjb3ZlcnMgb3BlcmF0aW9ucy4gVGhpcyBtZWFucworaW5zdGVhZCBvZiBzeXNh ZG1pbnMgbmVlZGluZyB0byBrbm93IHRoYXQgdGhlIHN5c2NhbGxzIGBgbW1hcGBgLCBgYG1wcm90 ZWN0YGAsCitgYGV4ZWN2ZWBgLCBhbmQgYGB1c2VsaWJgYCBtdXN0IGhhdmUgcnVsZXMgcHJvdGVj dGluZyB0aGVtLCB0aGV5IG11c3Qgc2ltcGxlIGtub3cKK3RoYXQgdGhleSB3YW50IHRvIHJlc3Ry aWN0IGNvZGUgZXhlY3V0aW9uLiBUaGlzIGxpbWl0cyB0aGUgYW1vdW50IG9mIGJ5cGFzc2VzIHRo YXQKK2NvdWxkIG9jY3VyIGR1ZSB0byBhIGxhY2sgb2Yga25vd2xlZGdlIG9mIHRoZSB1bmRlcmx5 aW5nIHN5c3RlbTsgd2hlcmVhcyB0aGUKK21haW50YWluZXJzIG9mIElQRSwgYmVpbmcga2VybmVs IGRldmVsb3BlcnMgY2FuIG1ha2UgdGhlIGNvcnJlY3QgY2hvaWNlIHRvIGRldGVybWluZQord2hl dGhlciBzb21ldGhpbmcgbWFwcyB0byB0aGVzZSBvcGVyYXRpb25zLCBhbmQgdW5kZXIgd2hhdCBj b25kaXRpb25zLgorCitJbXBsZW1lbnRhdGlvbiBOb3RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0K KworQ29udGV4dAorfn5+fn5+fgorCitBbiBgYGlwZV9jb250ZXh0YGAgc3RydWN0dXJlIHJlcHJl c2VudCBhIGNvbnRleHQgaW4gd2hpY2ggSVBFIGNhbiBiZSBlbmZvcmNlZC4KK0l0IGNvbnRhaW5z IGFsbCB0aGUgdHlwaWNhbCB2YWx1ZXMgdGhhdCBvbmUgd291bGQgZXhwZWN0IHRvIGJlIGdsb2Jh bDoKKworICAxLiBFbmZvcmNlL1Blcm1pc3NpdmUgU3RhdGUKKyAgMi4gQWN0aXZlIFBvbGljeQor ICAzLiBMaXN0IG9mIFBvbGljaWVzCisgIDQuIFN1Y2Nlc3MgQXVkaXRpbmcgU3RhdGUKKworQSBj b250ZXh0IGlzIGNyZWF0ZWQgYXQgYm9vdCB0aW1lIGFuZCBhdHRhY2hlZCB0byB0aGUgYGB0YXNr X3N0cnVjdGBgIGFzIGEKK3NlY3VyaXR5IGJsb2IuIEFsbCBuZXcgYGB0YXNrX3N0cnVjdGBgIHdp bGwgaW5oZXJpdCB0aGUgb3JpZ2luYWwgYGBpcGVfY29udGV4dGBgCit0aGF0IHRoZSBzeXN0ZW0g Ym9vdHMgd2l0aC4gVGhpcyBzdHJ1Y3R1cmUgaXMgcmVmZXJlbmNlIGNvdW50ZWQuCisKK0luaXRp YWxseSwgYSBzeXN0ZW0gd2lsbCBvbmx5IGV2ZXIgaGF2ZSBvbmUgY29udGV4dDsgZm9yIGBgaW5p dGBgLCBhbmQgc2luY2UKK2FsbCB1c2Vyc3BhY2UgcHJvY2Vzc2VzIGFyZSBkZXNjZW5kZW50cyBv ZiBgYGluaXRgYCwgYWxsIG9mIHVzZXJtb2RlIHdpbGwgaGF2ZQordGhpcyBleGVjdXRpb24gY29u dGV4dC4KKworVGhpcyBhcmNoaXRlY3R1cmUgaGFzIHNvbWUgYWR2YW50YWdlcyAtIG5hbWVseSwg aXQgYWxsb3dzIGZvciBhIG5hdHVyYWwKK2V4dGVuc2lvbiBmb3IgSVBFIHRvIGNyZWF0ZSBuZXcg Y29udGV4dHMsIHN1Y2ggYXMgYXBwbHlpbmcgYSBkaWZmZXJlbnQKK2FjdGl2ZSBwb2xpY3kgdG8g YSBkZXNjZW5kZW50IHByb2Nlc3MuCisKK0Fub255bW91cyBNZW1vcnkKK35+fn5+fn5+fn5+fn5+ fn4KKworQW5vbnltb3VzIG1lbW9yeSBpc24ndCB0cmVhdGVkIGFueSBkaWZmZXJlbnRseSBmcm9t IGFueSBvdGhlciBhY2Nlc3MgaW4gSVBFLgorV2hlbiBhbm9ueW1vdXMgbWVtb3J5IGlzIG1hcHBl ZCB3aXRoIGBgK1hgYCwgaXQgc3RpbGwgY29tZXMgaW50byB0aGUgYGBmaWxlX21tYXBgYAorb3Ig YGBmaWxlX21wcm90ZWN0YGAgaG9vaywgYnV0IHdpdGggYSBgYE5VTExgYCBmaWxlIG9iamVjdC4g VGhpcyBpcyBzdWJtaXR0ZWQgdG8KK3RoZSBldmFsdWF0aW9uLCBsaWtlIGFueSBvdGhlciBmaWxl LCBob3dldmVyLCBhbGwgY3VycmVudCB0cnVzdCBtZWNoYW5pc21zIHdpbGwKK3JldHVybiBmYWxz ZSBhcyB0aGVyZSBpcyBub3RoaW5nIHRvIGV2YWx1YXRlLiBUaGlzIG1lYW5zIGFub255bW91cyBt ZW1vcnkKK2V4ZWN1dGlvbiBpcyBzdWJqZWN0IHRvIHdoYXRldmVyIHRoZSBgYERFRkFVTFRgYCBp cyBmb3IgYGBFWEVDVVRFYGAuCisKKy4uIFdBUk5JTkc6OgorCisgIFRoaXMgYWxzbyBvY2N1cnMg d2l0aCB0aGUgYGBrZXJuZWxfbG9hZF9kYXRhYGAgaG9vaywgd2hpY2ggaXMgdXNlZCBieSBzaWdu ZWQKKyAgYW5kIGNvbXByZXNzZWQga2VybmVsIG1vZHVsZXMuIFVzaW5nIHNpZ25lZCBhbmQgY29t cHJlc3NlZCBrZXJuZWwgbW9kdWxlcyB3aXRoCisgIElQRSB3aWxsIGFsd2F5cyByZXN1bHQgaW4g dGhlIGBgREVGQVVMVGBgIGFjdGlvbiBmb3IgYGBLTU9EVUxFYGAuCisKK1BvbGljeSBQYXJzZXIK K35+fn5+fn5+fn5+fn4KKworVGhlIHBvbGljeSBwYXJzZXIgaXMgdGhlIHN0YXBsZSBvZiBJUEUn cyBmdW5jdGlvbmFsaXR5LCBwcm92aWRpbmcgYQorbW9kdWxhciB3YXkgdG8gaW50cm9kdWNlIG5l dyBpbnRlZ3JhdGlvbnMuIEFzIHN1Y2gsIGl0J3MgZnVuY3Rpb25hbGl0eQoraXMgZGl2aWRlZCBp bnRvIDMgcGFzc2VzLiBUaGlzIGhhcyB0aGUgYmVuZWZpdCBvZiBjbGVhcmx5IGRlZmluZWQgcHJl CithbmQgcG9zdC1jb25kaXRpb24gc3RhdGVzIGFmdGVyIGVhY2ggcGFzcywgcHJvdmlkaW5nIGRl YnVnZ2luZyBiZW5lZml0cword2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KKworSW4gcGFzczEs IHRoZSBwb2xpY3kgaXMgdHJhbnNmb3JtZWQgaW50byBhIDJELCBqYWdnZWQsIGFycmF5IG9mIHRv a2VucywKK3doZXJlIGEgdG9rZW4gaXMgZGVmaW5lZCBhcyBhICJrZXk9dmFsdWUiIHBhaXIsIG9y IGEgc2luZ3VsYXIgdG9rZW4sCitmb3IgZXhhbXBsZSwgIkRFRkFVTFQiLiBRdW90ZWQgdmFsdWVz IGFyZSBwYXJzZWQgYXMgYSBzaW5nbGUgdmFsdWUtcGFpciwKK3doaWNoIGlzIHdoeSBgYDxsaW51 eC9wYXJzZXIuaD5gYCBpcyBpbnN1ZmZpY2llbnQgLSBpdCBkb2VzIG5vdAordW5kZXJzdGFuZCBx dW90ZWQgdmFsdWVzLgorCitJbiBwYXNzMiwgdGhlIGphZ2dlZCBhcnJheSBwcm9kdWNlZCBpbiBw YXNzMSBpcyBwYXJ0aWFsbHkgaW5nZXN0ZWQsCitjcmVhdGluZyBhIHBhcnRpYWwgcG9saWN5IHdo ZXJlIG5vIHJ1bGVzIGhhdmUgYmVlbiBwYXJzZWQuIE1ldGFkYXRhCithbmQgcmVmZXJlbmNlcyBh cmUgYXZhaWxhYmxlIHdpdGhpbiB0aGF0IHBhcnRpYWwgcG9saWN5IHRoYXQgY2FuCitiZSBjb25z dW1lZCBpbiBwYXNzMy4KKworRXhhbXBsZXMgb2YgcGFyc2luZyB0aGF0IHdvdWxkIGJlIGRvbmUg aW4gcGFzczI6OgorCisgIHBvbGljeV9uYW1lPSJteS1wb2xpY3kiIHBvbGljeV92ZXJzaW9uPTAu MC4wCisgIERFRkFVTFQgYWN0aW9uPURFTlkKKworSW4gcGFzczMsIHRoZSByZW1haW5pbmcgbGlu ZXMgaW4gdGhlIGphZ2dlZCBhcnJheSBwcm9kdWNlZCBpbiBwYXNzMSBhbmQKK3BhcnRpYWxseSBj b25zdW1lZCBpbiBwYXNzMiBhcmUgY29uc3VtZWQgY29tcGxldGVseS4gVGhpcyByZXN1bHRzIGlu CitwYXJzaW5nIGFsbCB0aGUgcnVsZXMgaW4gdGhlIHBvbGljeS4gUGFzczMgY2FuIGxldmVyYWdl IHRoZSBkYXRhIGNyZWF0ZWQKK2luIHBhc3MyLgorCitFeGFtcGxlIGxpbmVzIHBhcnNlZCBpbiBw YXNzMzo6CisKKyAgb3A9RVhFQ1VURSBkbXZlcml0eV9zaWduYXR1cmU9VFJVRSBhY3Rpb249REVO WQorCitBIHJ1bGUgaXMgc3RyaWN0bHkgZGVmaW5lZCBhczogc3RhcnRzIHdpdGggdGhlIGBgb3Bg YCB0b2tlbiBhbmQgZW5kcyB3aXRoCit0aGUgYGBhY3Rpb25gYCB0b2tlbi4KKworQWZ0ZXIgdGhp cyBwYXNzLCBhIHBvbGljeSBpcyBkZWVtZWQgZnVsbHkgY29uc3RydWN0ZWQgYnV0IG5vdCB5ZXQg dmFsaWQsCithcyB0aGVyZSBjb3VsZCBiZSBtaXNzaW5nIGVsZW1lbnRzIChzdWNoIGFzIGEgcmVx dWlyZWQgREVGQVVMVCBmb3IgYWxsCithY3Rpb25zLCBtaXNzaW5nIGEgcG9saWN5X25hbWUpLCBl dGNldGVyYS4KKworVGhlIHB1cnBvc2UgaW4gdGhlIGRpdmlzaW9uIG9mIHBhc3MyIGFuZCBwYXNz MyBpcyB0byBhbGxvdyBmb3IKK2RlY2xhcmF0aW9ucyBpbiBJUEUncyBzeW50YXguIEZvciBleGFt cGxlLCBpbiB0aGUgZnV0dXJlLCBpZiB3ZSB3ZXJlCit0byBpbnRyb2R1Y2UgdGhpcyBzeW50YXg6 OgorCisgIENFUlRJRklDQVRFPUZha2VDZXJ0IHRodW1icHJpbnQ9REVBREJFRUYgQ049IkNvbnRv c28iCisKK0FuZCB1c2UgaXQgbGlrZSBzbzo6CisKKyAgb3A9RVhFQ1VURSBkbXZlcml0eV9zaWdu YXR1cmU9RmFrZUNlcnQgYWN0aW9uPUFMTE9XCisKK1RoZSBgYENFUlRJRklDQVRFYGAgbGluZXMg Y2FuIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXQgYW55IHBsYWNlIGluIHRoZSBwb2xpY3kuCisKK0Fm dGVyIHBhc3MzLCBhbiBJUEUgcG9saWN5IGNhbiBzdGlsbCBiZSB0ZWNobmljYWxseSBpbnZhbGlk IGZvciB1c2UsIGFzCithIHBvbGljeSBjYW4gYmUgbGFja2luZyByZXF1aXJlZCBlbGVtZW50cyB0 byBlbGltaW5hdGVkIHRoZSBwb3NzaWJpbGl0eQorb2YgdW5kZWZpbmVkIG9yIHVua25vd24gYmVo YXZpb3IuCisKK0EgY29uY3JldGUgZXhhbXBsZSBpcyB3aGVuIGEgcG9saWN5IGRvZXMgbm90IGRl ZmluZSBhIGRlZmF1bHQgYWN0aW9uIGZvcgorYWxsIHBvc3NpYmlsaXRpZXM6OgorCisgIERFRkFV TFQgb3A9RVhFQ1VURSBhY3Rpb249QUxMT1cKKworQXQgdGhpcyBwb2ludCwgd2hpbGUgdGhlIHBv bGljeSBpcyBzeW50YWN0aWNhbGx5IHZhbGlkLCBpdCBpcyBub3QKK3NlbWFudGljYWxseSB2YWxp ZCAtIGl0IGRvZXMgbm90IGNvbnRhaW4gZW5vdWdoIGluZm9ybWF0aW9uIHRvCitkZXRlcm1pbmUg d2hhdCBzaG91bGQgYmUgZG9uZSBmb3IgYW4gb3BlcmF0aW9uIG90aGVyIHRoYW4KK2BgRVhFQ1VU RWBgLiBBcyBJUEUncyBkZXNpZ24gZXhwbGljaXRseSBwcm9oaWJpdHMgdGhlIGltcGxpY2l0Citz ZXR0aW5nIG9mIGEgYGBERUZBVUxUYGAsIGl0IGlzIGltcG9ydGFudCB0byBhdm9pZCBjYXNlcyBs aWtlIHRoZXNlLgorCitUbyByZXNvbHZlIGFsbCB0aGVzZSBjYXNlcywgYSBmaW5hbCBjaGVjayBv biB0aGUgcG9saWN5IGlzIGRvbmUgdG8gZW5zdXJlCitpdCB2YWxpZCBmb3IgdXNlLgorCitJbiBh bGwgY2FzZXMsIHRoZSBwYXJzZXIgaXMgdGhlIG51bWJlciBvbmUgYm90dGxlbmVjayB3aGVuIGl0 IGNvbWVzIHRvCitJUEUncyBwZXJmb3JtYW5jZSwgYnV0IGhhcyB0aGUgYmVuZWZpdCBvZiBleGVj dXRpbmcgaW5mcmVxdWVudGx5LCBhbmQKK2FzIGEgZGlyZWN0IGNvbnNlcXVlbmNlIG9mIHVzZXIt aW5wdXQuCisKK01vZHVsZSB2cyBQYXJzZXIKK35+fn5+fn5+fn5+fn5+fn4KKworQSAibW9kdWxl IiwgInRydXN0IHByb3ZpZGVyIiwgb3IgInByb3BlcnR5IiBhcyBkZWZpbmVkIGluIElQRSdzIGNv ZGUgaXMgYW4KK2ludGVncmF0aW9uIHdpdGggYW4gZXh0ZXJuYWwgc3Vic3lzdGVtIHRoYXQgcHJv dmlkZXMgYSB3YXkgdG8gaWRlbnRpZnkgYQorcmVzb3VyY2UgYXMgdHJ1c3RlZC4gSXQncyB0aGUg Y29kZSB0aGF0IHBvd2VycyB0aGUga2V5PXZhbHVlIHBhaXJzIGluIGJldHdlZW4KK3RoZSBgYG9w YGAgdG9rZW4gYW5kIHRoZSBgYGFjdGlvbmBgIHRva2VuLiBUaGVzZSBhcmUgY2FsbGVkIGluIHBh c3MzIHdoZW4KK3BhcnNpbmcgYSBwb2xpY3kgKHZpYSB0aGUgYGBwYXJzZWBgIG1ldGhvZCksIGFu ZCBkdXJpbmcgZXZhbHVhdGlvbiB3aGVuCitldmFsdWF0aW5nIGEgYWNjZXNzIGF0dGVtcHQgKHZp YSB0aGUgYGBldmFsYGAgbWV0aG9kKS4gVGhlc2UgZGlzY3JldGUgbW9kdWxlcworYXJlIHNpbmds ZSBmaWxlcyBpbiBgYHNlY3VyaXR5L2lwZS9tb2R1bGVzYGAgYW5kIGFyZSB2ZXJzaW9uZWQgaW5k ZXBlbmRlbnRseS4KK1RoZSBkb2N1bWVudGF0aW9uIGluIHRoZSBhZG1pbiBndWlkZSBjYW4gYmUg dXNlZCB0byBjcm9zcyByZWZlcmVuY2Ugd2hpY2gKK3ZlcnNpb24gc3VwcG9ydHMgd2hpY2ggc3lu dGF4LgorCitBICJwYXJzZXIiLCBvbiB0aGUgb3RoZXIgaGFuZCBpcyBhIGRpc2NyZXRlIHVuaXQg b2YgY29kZSB0aGF0IGlzICpvbmx5KgordXNlZCB3aGVuIHBhcnNpbmcgYSBwb2xpY3kgaW4gcGFz czIuIFRoZSBpbnRlbnRpb24gaXMgdG8gbWFrZSBpdCBlYXN5Cit0byBpbnRyb2R1Y2Ugc3RhdGVt ZW50cywgbGlrZSB0aGUgYGBERUZBVUxUYGAgc3RhdGVtZW50OjoKKworICBERUZBVUxUIG9wPUVY RUNVVEUgYWN0aW9uPUFMTE9XCisgIERFRkFVTFQgYWN0aW9uPUFMTE9XCisKK29yLCB0aGUgcG9s aWN5IGhlYWRlcjo6CisKKyAgcG9saWN5X25hbWU9Ik15UG9saWN5IiBwb2xpY3lfdmVyc2lvbj0w LjAuMAorCitUaGVzZSBpbmRpdmlkdWFsIGZyYWdtZW50cyBvZiBjb2RlIGdhaW4gYWNjZXNzIHRv IG1hbmlwdWxhdGluZyBJUEUncyBwb2xpY3kKK3N0cnVjdHVyZSBkaXJlY3RseSwgYXMgb3Bwb3Nl ZCB0byB0aGUgb3BhcXVlIGBgdm9pZCAqYGAgZ2l2ZW4gdG8gbW9kdWxlcy4KKworU2VjdXJpdHlm cyBJbnRlcmZhY2UKK35+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1RoZSBwZXItcG9saWN5IHNlY3Vy aXR5ZnMgdHJlZSBpcyBzb21ld2hhdCB1bmlxdWUuIEZvciBleGFtcGxlLCBmb3IKK2Egc3RhbmRh cmQgc2VjdXJpdHlmcyBwb2xpY3kgdHJlZTo6CisKKyAgTXlQb2xpY3kKKyAgICB8LSBhY3RpdmUK KyAgICB8LSByYXcKKyAgICB8LSBwb2xpY3kKKyAgICB8LSBuYW1lCisgICAgfC0gdmVyc2lvbgor ICAgIHwtIHVwZGF0ZQorCitUaGUgcG9saWN5IGlzIHN0b3JlZCBpbiB0aGUgYGAtPmlfcHJpdmF0 ZWBgIGRhdGEgb2YgdGhlIE15UG9saWN5IGlub2RlLAord2hpbGUgZWFjaCBjaGlsZCdzIGBgLT5p X3ByaXZhdGVgYCwgaXQgc3RvcmVzIHRoZSBNeVBvbGljeSBpbm9kZS4gVGhpcworc2ltcGxpZmll cyBwb2xpY3kgdXBkYXRlcyBtYXNzaXZlbHksIGFzIHRoZSBhbHRlcm5hdGl2ZSBkZXNpZ25zIGFy ZSB0bzoKKworICAxLiBVc2UgZF9wYXJlbnQsIHdoaWNoIGhhcyBwb3RlbnRpYWwgaXNzdWVzIHdp dGggZmxleGliaWxpdHksIGlmIHRoZXJlCisgICAgIGV2ZW50dWFsbHkgYmVjb21lcyBhIHN1YmRp cmVjdG9yeSB1bmRlcm5lYXRoIE15UG9saWN5OyBhcyBpdCdzIHVuY2xlYXIKKyAgICAgaG93IG1h bnkgbGV2ZWxzIG9mIGBgZF9wYXJlbnRgYCB5b3UgaGF2ZSB0byBpdGVyYXRlIHVwIHRvLgorCisg IDIuIFN0b3JlIHRoZSBwb2xpY3kgZGF0YSBpbiBlYWNoIGlub2RlJ3MgYGAtPmlfcHJpdmF0ZWBg LiBUaGlzIGhhcyBpc3N1ZXMKKyAgICAgd2hlbiBpdCBjb21lcyB0byB1cGRhdGluZyBhIHBvbGlj eSAtIGV2ZXJ5IHVwZGF0ZSBuZWVkcyB0byBjYXNjYWRlIHRvCisgICAgIGVhY2ggYGAtPmlfcHJp dmF0ZWBgLCBhbmQgaWYgaXQgZmFpbHMsIGZvciB3aGF0ZXZlciByZWFzb24sIHRoZQorICAgICBv cGVyYXRpb24gaGFzIHRvIGJlIHJldmVydGVkIG9uIGVhY2ggaW5vZGUuCisKK1dpdGggdGhpcyBp bXBsZW1lbnRhdGlvbiwgeW91IGNhbiBzb2x2ZSB0aGUgZmxleGliaWxpdHkgcHJvYmxlbSBvZiAx LCBhcworbm93IHdoZW4geW91IGNyZWF0ZSBhIHRoZW9yZXRpY2FsIHN1YmRpcmVjdG9yeSB5b3Ug anVzdCBzZXQgdGhlCitgYC0+aV9wcml2YXRlYGAgZGF0YSBhcHByb3ByaWF0ZWx5LiBZb3UgYWxz byBzb2x2ZSB0aGUgdXBkYXRlIHByb2JsZW0gb2YKK3R3bywgYXMgeW91IHNpbXBseSB1cGRhdGUg b3IgcmV2ZXJ0IG9uIHRoZSBvbmUgaW5vZGUgdGhhdCBhbGwgb3RoZXIgaW5vZGVzCityZWZlcmVu Y2UuCisKK1Rlc3RzCistLS0tLQorCitJUEUgaGFzIEtVbml0IFRlc3RzLCB0ZXN0aW5nIHByaW1h cmlseSB0aGUgcGFyc2VyIGFuZCB0aGUgY29udGV4dCBzdHJ1Y3R1cmVzLgpkaWZmIC0tZ2l0IGEv TUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCBmNzMzM2QwN2E5ZGYuLmUwM2I2YzQxM2Jh ZiAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTk3OTcsNiAr OTc5Nyw4IEBAIElOVEVHUklUWSBQT0xJQ1kgRU5GT1JDRU1FTlQgKElQRSkKIE06CURldmVuIEJv d2VycyA8ZGV2ZW4uZGVzYWlAbGludXgubWljcm9zb2Z0LmNvbT4KIE06CUZhbiBXdSA8d3VmYW5A bGludXgubWljcm9zb2Z0LmNvbT4KIFM6CVN1cHBvcnRlZAorRjoJRG9jdW1lbnRhdGlvbi9hZG1p bi1ndWlkZS9MU00vaXBlLnJzdAorRjoJRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9pcGUucnN0CiBG OglzY3JpcHRzL2lwZS8KIEY6CXNlY3VyaXR5L2lwZS8KIAotLSAKMi4yNS4xCgotLQpMaW51eC1h dWRpdCBtYWlsaW5nIGxpc3QKTGludXgtYXVkaXRAcmVkaGF0LmNvbQpodHRwczovL2xpc3RtYW4u cmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWF1ZGl0Cg==