From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 18/20] drm/i915: TDR / per-engine hang recovery kernel docs Date: Fri, 23 Oct 2015 02:32:40 +0100 Message-ID: <1445563962-20753-19-git-send-email-tomas.elf@intel.com> References: <1445563962-20753-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 6568A6E538 for ; Thu, 22 Oct 2015 18:33:57 -0700 (PDT) In-Reply-To: <1445563962-20753-1-git-send-email-tomas.elf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogVG9tYXMgRWxmIDx0b21hcy5lbGZAaW50ZWwuY29tPgotLS0KIERvY3Vt ZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCAgfCA0NzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8ICAgOCAr LQogMiBmaWxlcyBjaGFuZ2VkLCA0ODMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCBiL0RvY3VtZW50YXRpb24v RG9jQm9vay9ncHUudG1wbAppbmRleCBjMDVkN2RmLi45MWI3NWFhIDEwMDY0NAotLS0gYS9Eb2N1 bWVudGF0aW9uL0RvY0Jvb2svZ3B1LnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2dw dS50bXBsCkBAIC00MTI4LDYgKzQxMjgsNDgyIEBAIGludCBudW1faW9jdGxzOzwvc3lub3BzaXM+ CiAgICAgICA8L3NlY3QyPgogICAgIDwvc2VjdDE+CiAKKyAgICA8IS0tCisJVE9ETzoKKwlDcmVh dGUgc2VjdGlvbnMgd2l0aCBubyBzdWJzZWN0aW9uIGxpc3RpbmcuIERlYWwgd2l0aCBzdWJzZWN0 aW9uCisJcmVmZXJlbmNlcyBhcyB0aGV5IGFwcGVhciBpbiB0aGUgdGV4dC4KKworCUhvdyBkbyB3 ZSBjcmVhdGUgaW5saW5lIHJlZmVyZW5jZXMgdG8gZnVuY3Rpb25zIHdpdGggRG9jQm9vayB0YWdz PworCUlmIHlvdSB3YW50IHRvIHJlZmVyIHRvIGEgZnVuY3Rpb24gaXQgd291bGQgYmUgbmljZSBp ZiB5b3UgY291bGQgdGFnCisJdGhlIGZ1bmN0aW9uIG5hbWUgc28gdGhhdCB0aGUgcmVhZGVyIGNh biBjbGljayB0aGUgdGFnIHdoaWxlIHJlYWRpbmcKKwlhbmQgZ2V0IHN0cmFpZ2h0IHRvIHRoZSBE b2NCb29rIHBhZ2Ugb24gdGhhdCBmdW5jdGlvbi4KKyAgICAtLT4KKworICAgIDxzZWN0MT4KKyAg ICA8dGl0bGU+R1BVIGhhbmcgbWFuYWdlbWVudDwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgVGhl cmUgYXJlIHR3byBzaWRlcyB0byBoYW5kbGluZyBHUFUgaGFuZ3M6IDxsaW5rIGxpbmtlbmQ9J2Rl dGVjdGlvbicKKyAgICBlbmR0ZXJtPSJkZXRlY3Rpb24udGl0bGUiLz4gYW5kIDxsaW5rIGxpbmtl bmQ9J3JlY292ZXJ5JworICAgIGVuZHRlcm09InJlY292ZXJ5LnRpdGxlIi8+LiBJbiB0aGlzIHNl Y3Rpb24gd2Ugd2lsbCBkaXNjdXNzIGhvdyB0aGUgZHJpdmVyCisgICAgZGV0ZWN0IGhhbmdzIGFu ZCB3aGF0IGl0IGNhbiBkbyB0byByZWNvdmVyIGZyb20gdGhlbS4KKyAgICA8L3BhcmE+CisKKyAg ICA8c2VjdDIgaWQ9J2RldGVjdGlvbic+CisgICAgPHRpdGxlIGlkPSdkZXRlY3Rpb24udGl0bGUn PkRldGVjdGlvbjwvdGl0bGU+CisgICAgPHBhcmE+CisgICAgVGhlcmUgaXMgbm8gdGhlb3JldGlj YWxseSBzb3VuZCBkZWZpbml0aW9uIG9mIHdoYXQgYSBHUFUgaGFuZyBhY3R1YWxseSBpcywKKyAg ICBvbmx5IGFzc3VtcHRpb25zIGJhc2VkIG9uIGVtcGlyaWNhbCBvYnNlcnZhdGlvbnMuIE9uZSBz dWNoIG9ic2VydmF0aW9uIGlzCisgICAgdGhhdCBpZiBhIGJhdGNoIGJ1ZmZlciB0YWtlcyBtb3Jl IHRoYW4gYSBjZXJ0YWluIGFtb3VudCBvZiB0aW1lIHRvIGZpbmlzaAorICAgIHRoZW4gd2Ugd291 bGQgYXNzdW1lIHRoYXQgaXQncyBodW5nLiBIb3dldmVyLCBvbmUgcHJvYmxlbSB3aXRoIHRoYXQK KyAgICBhc3N1bXB0aW9uIGlzIHRoYXQgdGhlIGV4ZWN1dGlvbiBtaWdodCBiZSBvbmdvaW5nIGlu c2lkZSB0aGUgYmF0Y2ggYnVmZmVyLgorICAgIEluIGZhY3QsIGl0J3MgZWFzeSB0byBkZXRlcm1p bmUgd2hldGhlciBvciBub3QgZXhlY3V0aW9uIGlzIHByb2dyZXNzaW5nCisgICAgd2l0aGluIGEg YmF0Y2ggYnVmZmVyLiBJZiB0YWtpbmcgdGhhdCBpbnRvIGFjY291bnQgd2UgY291bGQgY3JlYXRl IGEgbW9yZQorICAgIHJlZmluZWQgaGFuZyBkZXRlY3Rpb24gYWxnb3JpdGhtLiBVbmZvcnR1bmF0 ZWx5LCB0aGVyZSBpcyB0aGVuIHRoZQorICAgIGNvbXBsaWNhdGlvbiB0aGF0IHRoZSBleGVjdXRp b24gbWlnaHQgYmUgc3R1Y2sgaW4gYSBuZXZlci1lbmRpbmcgbG9vcCB3aGljaAorICAgIGtlZXBz IGV4ZWN1dGlvbiBidXN5IGZvciBhbiB1bmJvdW5kZWQgYW1vdW50IG9mIHRpbWUuIFRoZXNlIGFy ZSBhbGwKKyAgICBwcmFjdGljYWwgcHJvYmxlbXMgdGhhdCB3ZSBuZWVkIHRvIGRlYWwgd2l0aCB3 aGVuIGRldGVjdGluZyBhIGhhbmcgYW5kCisgICAgd2hhdGV2ZXIgaGFuZyBkZXRlY3Rpb24gYWxn b3JpdGhtIHdlIGNvbWUgdXAgd2l0aCB3aWxsIGhhdmUgYSBjZXJ0YWluCisgICAgcHJvYmFiaWxp dHkgb2YgZmFsc2UgcG9zaXRpdmVzLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KKyAgICBUaGUg aTkxNSBkcml2ZXIgY3VycmVudGx5IHN1cHBvcnRzIHR3byBmb3JtcyBvZiBoYW5nCisgICAgZGV0 ZWN0aW9uOgorICAgIDxvcmRlcmVkbGlzdD4KKyAgICA8bGlzdGl0ZW0+CisgICAgPGxpbmsgbGlu a2VuZD0ncGVyaW9kaWNfaGFuZ19jaGVja2luZycgZW5kdGVybT0icGVyaW9kaWNfaGFuZ19jaGVj a2luZy50aXRsZSIvPgorICAgIDwvbGlzdGl0ZW0+CisgICAgPGxpc3RpdGVtPgorICAgIDxsaW5r IGxpbmtlbmQ9J3dhdGNoZG9nJyBlbmR0ZXJtPSJ3YXRjaGRvZy50aXRsZSIvPgorICAgIDwvbGlz dGl0ZW0+CisgICAgPC9vcmRlcmVkbGlzdD4KKyAgICA8L3BhcmE+CisKKyAgICA8c2VjdDMgaWQ9 J3BlcmlvZGljX2hhbmdfY2hlY2tpbmcnPgorICAgIDx0aXRsZSBpZD0ncGVyaW9kaWNfaGFuZ19j aGVja2luZy50aXRsZSc+UGVyaW9kaWMgSGFuZyBDaGVja2luZzwvdGl0bGU+CisgICAgPHBhcmE+ CisgICAgVGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlciBpcyBhIHdvcmsgcXVldWUgdGhhdCBrZWVw cyBydW5uaW5nIGluIHRoZQorICAgIGJhY2tncm91bmQgYXMgbG9uZyBhcyB0aGVyZSBpcyB3b3Jr IG91dHN0YW5kaW5nIHRoYXQgaXMgcGVuZGluZyBleGVjdXRpb24uCisgICAgaTkxNV9oYW5nY2hl Y2tfZWxhcHNlZCgpIGltcGxlbWVudHMgdGhlIHdvcmsgZnVuY3Rpb24gb2YgdGhlIHF1ZXVlIGFu ZCBpcworICAgIGV4ZWN1dGVkIGF0IGV2ZXJ5IGhhbmcgY2hlY2tlciBpbnZvY2F0aW9uLgorICAg IDwvcGFyYT4KKworICAgIDxwYXJhPgorICAgIFdoaWxlIGJlaW5nIHNjaGVkdWxlZCB0aGUgaGFu ZyBjaGVja2VyIGtlZXBzIHRyYWNrIG9mIGEgaGFuZyBzY29yZSBmb3IgZWFjaAorICAgIGluZGl2 aWR1YWwgZW5naW5lLiBUaGUgaGFuZyBzY29yZSBpcyBhbiBpbmRpY2F0aW9uIG9mIHdoYXQgZGVn cmVlIG9mCisgICAgc2V2ZXJpdHkgYSBoYW5nIGhhcyByZWFjaGVkIGZvciBhIGNlcnRhaW4gZW5n aW5lLiBUaGUgaGlnaGVyIHRoZSBzY29yZSBnZXRzCisgICAgdGhlIG1vcmUgcmFkaWNhbCBmb3Jt cyBvZiBpbnRlcnZlbnRpb24gYXJlIGVtcGxveWVkIHRvIGZvcmNlIGV4ZWN1dGlvbiB0bworICAg IHJlc3VtZS4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICBUaGUgaGFuZyBjaGVja2Vy IGlzIHNjaGVkdWxlZCBmcm9tIHR3byBwbGFjZXM6CisgICAgPC9wYXJhPgorCisgICAgPG9yZGVy ZWRsaXN0PgorICAgIDxsaXN0aXRlbT4KKyAgICBfX2k5MTVfYWRkX3JlcXVlc3QoKSwgYWZ0ZXIg YSBuZXcgcmVxdWVzdCBoYXMgYmVlbiBhZGRlZCBhbmQgaXMgcGVuZGluZyBzdWJtaXNzaW9uLgor ICAgIDwvbGlzdGl0ZW0+CisKKyAgICA8bGlzdGl0ZW0+CisgICAgaTkxNV9oYW5nY2hlY2tfZWxh cHNlZCgpIGl0c2VsZiwgaWYgd29yayBpcyBzdGlsbCBwZW5kaW5nIGZvciBhbnkgR1BVCisgICAg ZW5naW5lIHRoZSBoYW5nIGNoZWNrZXIgaXMgcmVzY2hlZHVsZWQuCisgICAgPC9saXN0aXRlbT4K KworICAgIDwvb3JkZXJlZGxpc3Q+CisgICAgPHBhcmE+CisgICAgVGhlIHBlcmlvZGljIGhhbmcg Y2hlY2tlciBrZWVwcyB0cmFjayBvZiB0aGUgc2VxdWVuY2UgbnVtYmVyCisgICAgcHJvZ3Jlc3Np b24gb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcmVxdWVzdHMgb24gZXZlcnkgR1BVIGVuZ2lu ZS4gSWYKKyAgICB0aGV5IGtlZXAgcHJvZ3Jlc3NpbmcgaW4gYmV0d2VlbiBldmVyeSBoYW5nIGNo ZWNrZXIgaW52b2NhdGlvbiB0aGlzIGlzCisgICAgaW50ZXJwcmV0ZWQgYXMgdGhlIGVuZ2luZSBi ZWluZyBhY3RpdmUsIHRoZSBoYW5nIHNjb3JlIGlzIGNsZWFyZWQgYW5kIGFuZAorICAgIG5vIGlu dGVydmVudGlvbiBpcyBtYWRlLiBJZiB0aGUgc2VxdWVuY2UgbnVtYmVyIGhhcyBzdGFsbGVkIGZv ciBvbmUgb3IgbW9yZQorICAgIGVuZ2luZXMgaW4gYmV0d2VlbiB0d28gaGFuZyBjaGVja3MgdGhh dCBpcyBhbiBpbmRpY2F0aW9uIG9mIG9uZSBvZiB0d28KKyAgICB0aGluZ3M6CisgICAgPC9wYXJh PgorCisgICAgPG9yZGVyZWRsaXN0PgorICAgIDxsaXN0aXRlbT4KKyAgICBUaGVyZSBpcyBubyBt b3JlIHdvcmsgcGVuZGluZyBvbiB0aGUgZ2l2ZW4gZW5naW5lLiBJZiB0aGVyZSBhcmUgbm8KKyAg ICB0aHJlYWRzIHdhaXRpbmcgZm9yIHJlcXVlc3QgY29tcGxldGlvbiB0aGlzIGlzIGFuIGluZGlj YXRpb24gdGhhdCBubyBtb3JlCisgICAgaGFuZyBjaGVja2luZyBpcyBuZWNlc3NhcnkgYW5kIHRo ZSBoYW5nIGNoZWNrZXIgaXMgbm90IHJlc2NoZWR1bGVkLiBJZgorICAgIHRoZXJlIGlzIHNvbWVv bmUgd2FpdGluZyBmb3IgcmVxdWVzdCBjb21wbGV0aW9uIHRoZSBoYW5nIGNoZWNrZXIgaXMKKyAg ICByZXNjaGVkdWxlZCBhbmQgdGhlIGhhbmcgc2NvcmUgaXMgY29udGludWFsbHkgaW5jcmVtZW50 ZWQuCisgICAgPC9saXN0aXRlbT4KKworICAgIDxsaXN0aXRlbT4KKyAgICA8cGFyYT5UaGUgZ2l2 ZW4gZW5naW5lIGlzIHRydWx5IGh1bmcuIEluIHRoaXMgY2FzZSBhIG51bWJlciBvZiBoYXJkd2Fy ZQorICAgIHN0YXRlIGNoZWNrcyBhcmUgbWFkZSB0byBkZXRlcm1pbmUgd2hhdCB0aGUgbW9zdCBz dWl0YWJsZSBjb3Vyc2Ugb2YgYWN0aW9uCisgICAgaXMgYW5kIGEgY29ycmVzcG9uZGluZyBoYW5n IHNjb3JlIGluY3JlbWVudGF0aW9uIGlzIG1hZGUgdG8gcmVmbGVjdCB0aGUKKyAgICBjdXJyZW50 IGhhbmcgc2V2ZXJpdHkuPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICAgPC9vcmRlcmVkbGlz dD4KKworICAgIDxwYXJhPgorICAgIElmIHRoZSBoYW5nIHNjb3JlIG9mIGFueSBlbmdpbmUgcmVh Y2hlcyB0aGUgaHVuZyB0aHJlc2hvbGQgaGFuZyByZWNvdmVyeSBpcworICAgIHNjaGVkdWxlZCBi eSBjYWxsaW5nIGk5MTVfaGFuZGxlX2Vycm9yKCkgd2l0aCBhIGVuZ2luZSBmbGFnIG1hc2sgY29u dGFpbmluZworICAgIHRoZSBiaXRzIHJlcHJlc2VudGluZyBhbGwgY3VycmVudGx5IGh1bmcgZW5n aW5lcy4KKyAgICA8L3BhcmE+CisKKworICAgIDxzZWN0ND4KKyAgICA8dGl0bGU+Q29udGV4dCBT dWJtaXNzaW9uIFN0YXRlIENvbnNpc3RlbmN5IENoZWNraW5nPC90aXRsZT4KKworICAgIDxwYXJh PgorICAgIE9uIHRvcCBvZiB0aGlzIHRoZXJlIGlzIHRoZSBjb250ZXh0IHN1Ym1pc3Npb24gc3Rh dHVzIGNvbnNpc3RlbmN5IHByZS1jaGVjaworICAgIGluIHRoZSBoYW5nIGNoZWNrZXIgdGhhdCBr ZWVwcyB0cmFjayBvZiBkcml2ZXIvSFcgY29uc2lzdGVuY3kuIFRoZQorICAgIHVuZGVybHlpbmcg cHJvYmxlbSB0aGF0IHRoaXMgcHJlLWNoZWNrIGlzIHRyeWluZyB0byBzb2x2ZSBpcyB0aGUgZmFj dCB0aGF0CisgICAgb24gc29tZSBvY2Nhc2lvbnMgdGhlIGRyaXZlciBkb2VzIG5vdCByZWNlaXZl IHRoZSBwcm9wZXIgY29udGV4dCBldmVudAorICAgIGludGVycnVwdCB1cG9uIGNvbnRleHQgc3Rh dGUgY2hhbmdlcy4gU3BlY2lmaWNhbGx5LCB0aGlzIGhhcyBiZWVuIG9ic2VydmVkCisgICAgZm9s bG93aW5nIHRoZSBjb21wbGV0aW9uIG9mIGVuZ2luZSByZXNldCBhbmQgdGhlIHN1YnNlcXVlbnQg cmVzdWJtaXNzaW9uIG9mCisgICAgdGhlIGZpeGVkLXVwIGNvbnRleHQuIEF0IHRoaXMgcG9pbnQg dGhlIGVuZ2luZSBoYW5nIGlzIHVuYmxvY2tlZCBhbmQgdGhlCisgICAgY29udGV4dCBjb21wbGV0 ZXMgYW5kIHRoZSBoYXJkd2FyZSBtYXJrcyB0aGUgY29udGV4dCBhcyBjb21wbGV0ZSBpbiB0aGUK KyAgICBjb250ZXh0IHN0YXR1cyBidWZmZXIgKENTQikgZm9yIHRoZSBnaXZlbiBlbmdpbmUuIEhv d2V2ZXIsIHRoZSBpbnRlcnJ1cHQKKyAgICB0aGF0IHdvdWxkIG5vcm1hbGx5IHNpZ25hbCB0aGlz IHRvIHRoZSBkcml2ZXIgaXMgbG9zdC4gV2hhdCB0aGlzIG1lYW5zIHRvCisgICAgdGhlIGRyaXZl ciBpcyB0aGF0IGl0IGdldHMgc3R1Y2sgd2FpdGluZyBmb3IgY29udGV4dCBjb21wbGV0aW9uIG9u IHRoZQorICAgIGdpdmVuIGVuZ2luZSB1bnRpbCByZWJvb3QsIHN0YWxsaW5nIGFsbCBmdXJ0aGVy IHN1Ym1pc3Npb25zIHRvIHRoZSBlbmdpbmUKKyAgICBFTFNQLgorICAgIDwvcGFyYT4KKworICAg IDxwYXJhPgorICAgIFRoZSB3YXkgdG8gZGV0ZWN0IHRoaXMgaXMgdG8gY2hlY2sgZm9yIGluY29u c2lzdGVuY2llcyBiZXR3ZWVuIHRoZSBjb250ZXh0CisgICAgc3VibWlzc2lvbiBzdGF0ZSBpbiB0 aGUgaGFyZHdhcmUgYXMgd2VsbCBhcyBpbiB0aGUgZHJpdmVyLiBXaGF0IHRoaXMgbWVhbnMKKyAg ICBpcyB0aGF0IHRoZSBFWEVDTElTVF9TVEFUVVMgcmVnaXN0ZXIgaGFzIHRvIGJlIGNoZWNrZWQg Zm9yIGV2ZXJ5IGVuZ2luZS4KKyAgICBGcm9tIHRoaXMgcmVnaXN0ZXIgdGhlIElEIG9mIHRoZSBj dXJyZW50bHkgcnVubmluZyBjb250ZXh0IGNhbiBiZSBleHRyYWN0ZWQKKyAgICBhcyB3ZWxsIGFz IGluZm9ybWF0aW9uIGFib3V0IHdoZXRoZXIgb3Igbm90IHRoZSBlbmdpbmUgaXMgaWRsZSBvciBu b3QuIFRoaXMKKyAgICBpbmZvcm1hdGlvbiBjYW4gdGhlbiBiZSBjb21wYXJlZCBhZ2FpbnN0IHRo ZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBleGVjbGlzdAorICAgIHF1ZXVlIGZvciB0aGUgZ2l2ZW4g ZW5naW5lLiBJZiB0aGUgaGFyZHdhcmUgaXMgaWRsZSBidXQgdGhlIGRyaXZlciBoYXMKKyAgICBw ZW5kaW5nIGNvbnRleHRzIGluIHRoZSBleGVjbGlzdCBxdWV1ZSBmb3IgYSBwcm9sb25nZWQgcGVy aW9kIG9mIHRpbWUgdGhlbgorICAgIGl0J3Mgc2FmZSB0byBhc3N1bWUgdGhhdCB0aGUgZHJpdmVy L0hXIHN0YXRlIGlzIGluY29uc2lzdGVudC4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAg ICBUaGUgd2F5IGRyaXZlci9IVyBzdGF0ZSBpbmNvbnNpc3RlbmNpZXMgYXJlIHJlY3RpZmllZCBp cyBieSBmYWtpbmcgdGhlCisgICAgcHJlc3VtYWJseSBsb3N0IGNvbnRleHQgZXZlbnQgaW50ZXJy dXB0cyBzaW1wbHkgYnkgY2FsbGluZyB0aGUgZXhlY2xpc3QKKyAgICBpbnRlcnJ1cHQgaGFuZGxl ciBtYW51YWxseS4KKyAgICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICBXaGF0IHRoaXMgbWVh bnMgdG8gdGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlciBpcyB0aGUgZm9sbG93aW5nOgorICAgIDwv cGFyYT4KKworICAgIDxvcmRlcmVkbGlzdD4KKyAgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+Cisg ICAgU3RhdGUgY29uc2lzdGVuY3kgY2hlY2tpbmcgaGFwcGVucyBhdCB0aGUgc3RhcnQgb2YgdGhl IGhhbmcgY2hlY2sKKyAgICBwcm9jZWR1cmUuIElmIGFuIGluY29uc2lzdGVuY3kgaGFzIGJlZW4g ZGV0ZWN0ZWQgZW5vdWdoIHRpbWVzIChtb3JlCisgICAgZGV0ZWN0aW9ucyB0aGFuIHRoZSB0aHJl c2hvbGQgbGV2ZWwgb2YgSTkxNV9GQUtFRF9DT05URVhUX0lSUV9USFJFU0hPTEQpCisgICAgdGhl IGhhbmcgY2hlY2tlciB3aWxsIGZha2UgYSBjb250ZXh0IGV2ZW50IGludGVycnVwdC4gSWYgdGhl cmUgYXJlCisgICAgb3V0c3RhbmRpbmcsIHVucHJvY2Vzc2VkIGNvbnRleHQgZXZlbnRzIGluIHRo ZSBDU0IgYnVmZmVyIHRoZXNlIHdpbGwgYmUKKyAgICBhY3RlZCB1cG9uLgorICAgIDwvcGFyYT4K KyAgICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIEFzIGxv bmcgYXMgdGhlIGRyaXZlci9IVyBzdGF0ZSBoYXMgYmVlbiBkZXRlcm1pbmVkIHRvIGJlIGluY29u c2lzdGVudCB0aGUKKyAgICBlcnJvciBoYW5kbGVyIHdpbGwgbm90IGJlIGNhbGxlZC4gVGhlIHJl YXNvbiBmb3IgdGhpcyBpcyB0aGF0IHRoZSBlbmdpbmUKKyAgICByZWNvdmVyeSBtb2RlLCB3aGlj aCBpcyB0aGUgaGFuZyByZWNvdmVyeSBtb2RlIHRoYXQgdGhlIGRyaXZlciBwcmVmZXJzLCBpcwor ICAgIG5vdCBlZmZlY3RpdmUgaWYgY29udGV4dCBzdWJtaXNzaW9ucyBkb2VzIG5vdCB3b3JrLiBJ ZiB0aGUgZHJpdmVyL0hXIHN0YXRlCisgICAgaXMgaW5jb25zaXN0ZW50IGl0IG1pZ2h0IG1lYW4g dGhhdCB0aGUgaGFyZHdhcmUgaXMgY3VycmVudGx5IGV4ZWN1dGluZyAoYW5kCisgICAgbWlnaHQg YmUgaHVuZyBpbikgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBjb250ZXh0IHRoYW4gdGhlIGRyaXZl ciBleHBlY3RzLCB3aGljaCB3b3VsZCBsZWFkIHRvCisgICAgdW5leHBlY3RlZCBwcmUtZW1wdGlv bnMsIHdoaWNoIG1pZ2h0IG1lYW4gdGhhdCB0cnlpbmcgdG8gcmVzdWJtaXQgdGhlCisgICAgY29u dGV4dCB0aGF0IHRoZSBkcml2ZXIgaGFzIGlkZW50aWZpZWQgYXMgaHVuZyBtaWdodCBtYWtlIHRo ZSBzaXR1YXRpb24KKyAgICB3b3JzZS4gVGhlcmVmb3JlLCBiZWZvcmUgYW55IHJlY292ZXJ5IGlz IHNjaGVkdWxlZCB0aGUgZHJpdmVyL0hXIHN0YXRlIG11c3QKKyAgICBiZSBjb25maXJtZWQgYXMg Y29uc2lzdGVudCBhbmQgc3RhYmxlLgorICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorCisg ICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIElmIGFueSBpbmNvbnNpc3RlbnQgZHJpdmVy L0hXIHN0YXRlcyBwZXJzaXN0IHJlZ2FyZGxlc3Mgb2YgYW55IGF0dGVtcHRzIHRvCisgICAgcmVj dGlmeSB0aGUgc2l0dWF0aW9uIHRoZXJlIGlzIGEgZmluYWwgZmFsbC1iYWNrOiBJbiBjYXNlIHRo ZSBoYW5nIHNjb3JlIG9uCisgICAgYW55IGVuZ2luZSByZWFjaGVzIHR3aWNlIHRoYXQgb2YgdGhl IG5vcm1hbCBoYW5nIHRocmVzaG9sZCB0aGUgZXJyb3IKKyAgICBoYW5kbGVyIGlzIGNhbGxlZCB3 aXRoIG5vIGVuZ2luZSBtYXNrIHBvcHVsYXRlZCwgbWVhbmluZyB0aGF0IGEgZnVsbCBHUFUKKyAg ICByZXNldCBpcyBmb3JjZWQuIEdvaW5nIGZvciBhIGZ1bGwgR1BVIHJlc2V0IGluIHRoaXMgY2Fz ZSBtYWtlcyBzZW5zZSBzaW5jZQorICAgIHRoZXJlIGFyZSB0d28gcHJvYmxlbXMgdGhhdCBuZWVk IGZpeGluZzogMSkgPGVtcGhhc2lzIHJvbGU9ImJvbGQiPlRoZSBHUFUKKyAgICBpcyBodW5nPC9l bXBoYXNpcz4gYW5kIDIpIDxlbXBoYXNpcyByb2xlPSJib2xkIj5UaGUgZHJpdmVyL0hXIHN0YXRl IGlzCisgICAgaW5jb25zaXN0ZW50PC9lbXBoYXNpcz4uIFRoZSBmdWxsIEdQVSByZXNldCBzb2x2 ZXMgYm90aCBvZiB0aGVzZSBwcm9ibGVtcworICAgIGFuZCBkb2VzIG5vdCByZXF1aXJlIHRoZSBk cml2ZXIvSFcgc3RhdGUgdG8gYmUgY29uc2lzdGVudCB0byBiZWdpbiB3aXRoIHNvCisgICAgaXRz IGEgc2Vuc2libGUgY2hvaWNlIGluIHRoaXMgc2l0dWF0aW9uLgorICAgIDwvcGFyYT4KKyAgICA8 L2xpc3RpdGVtPgorCisgICAgPC9vcmRlcmVkbGlzdD4KKworICAgIDwvc2VjdDQ+CisgICAgPC9z ZWN0Mz4KKworICAgIDxzZWN0MyBpZD0nd2F0Y2hkb2cnPgorICAgIDx0aXRsZSBpZD0nd2F0Y2hk b2cudGl0bGUnPldhdGNoZG9nIFRpbWVvdXQ8L3RpdGxlPgorICAgIDxwYXJhPgorICAgIFVubGlr ZSB0aGUgPGxpbmsgbGlua2VuZD0ncGVyaW9kaWNfaGFuZ19jaGVja2VyJz5wZXJpb2RpYyBoYW5n CisgICAgY2hlY2tlcjwvbGluaz4gV2F0Y2hkb2cgVGltZW91dCBpcyBhIG1vZGUgb2YgaGFuZyBk ZXRlY3Rpb24gdGhhdCByZWxpZXMgb24KKyAgICB0aGUgR1BVIGhhcmR3YXJlIHRvIG5vdGlmeSB0 aGUgZHJpdmVyIGluIHRoZSBldmVudCBvZiBhIGhhbmcuIEFub3RoZXIKKyAgICBkaXNzaW1pbGFy aXR5IGlzIHRoYXQgdGhpcyBtb2RlIGRvZXMgbm90IHRhcmdldCBldmVyeSBlbmdpbmUgYXQgYWxs IHRpbWVzCisgICAgYnV0IHJhdGhlciB0YXJnZXRzIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVycyB0 aGF0IGhhdmUgYmVlbiBzZWxlY3RlZCBieSB0aGUKKyAgICBzdWJtaXR0aW5nIGFwcGxpY2F0aW9u LiBUaGUgd2F5IHRoaXMgd29ya3MgaXMgdGhhdCBhIHN1Ym1pdHRlciBjYW4gb3B0LWluCisgICAg dG8gdXNlIFdhdGNoZG9nIFRpbWVvdXQgZm9yIGEgcGFydGljdWxhciBiYXRjaCBidWZmZXIgaXMg Ynkgc2V0dGluZyB0aGUKKyAgICBXYXRjaGRvZyBUaW1lb3V0IGVuYWJsZW1lbnQgZmxhZyBmb3Ig dGhhdCBiYXRjaCBidWZmZXIuIEJ5IGRvaW5nIHNvIHRoZQorICAgIGRyaXZlciB3aWxsIGVtaXQg aW5zdHJ1Y3Rpb25zIGluIHRoZSByaW5nIGJ1ZmZlciBiZWZvcmUgdGhlIGJhdGNoIGJ1ZmZlcgor ICAgIHN0YXJ0IGluc3RydWN0aW9uIHRvIGVuYWJsZSB0aGUgV2F0Y2hkb2cgSFcgdGltZXIgYW5k IGFmdGVyd2FyZHMgdG8gY2FuY2VsCisgICAgdGhlIHNhbWUgdGltZXIuIFRoZSBwdXJwb3NlIG9m IHRoaXMgaXMgdG8ga2VlcCB0cmFjayBvZiBob3cgbG9uZyB0aGUKKyAgICBleGVjdXRpb24gc3Rh eXMgaW5zaWRlIHRoZSBiYXRjaCBidWZmZXIgb25jZSB0aGUgZXhlY3V0aW9uIHJlYWNoZXMgdGhh dAorICAgIHBvaW50LiBJZiB0aGUgZXhlY3V0aW9uIHRha2VzIHRvIGxvbmcgdG8gY2xlYXIgdGhl IGJhdGNoIGJ1ZmZlciBhbmQgdGhlCisgICAgcHJlc2V0IFdhdGNoZG9nIFRpbWVyIFRocmVzaG9s ZCBlbGFwc2VzIHRoZSBHUFUgaGFyZHdhcmUgd2lsbCBmaXJlIGEKKyAgICBXYXRjaGRvZyBUaW1l b3V0IGludGVycnVwdCB0byB0aGUgZHJpdmVyLCB3aGljaCBpcyBpbnRlcnByZXRlZCBhcyBjdXJy ZW50CisgICAgYmF0Y2ggYnVmZmVyIGZvciB0aGUgZ2l2ZW4gZW5naW5lIGJlaW5nIGh1bmcuICBU aHVzLCBoYW5nIGRldGVjdGlvbiBpbiB0aGlzCisgICAgY2FzZSBpcyBwdXJlbHkgaW50ZXJydXB0 LWRyaXZlbiBhbmQgdGhlIGRyaXZlciBpcyBmcmVlIHRvIGRvIG90aGVyIHRoaW5ncy4KKyAgICA8 L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICBPbmNlIHRoZSBHVCBpbnRlcnJ1cHQgaGFuZGxlciBy ZWNlaXZlcyB0aGUgV2F0Y2hkb2cgVGltZW91dCBpbnRlcnJ1cHQgaXQKKyAgICB0aGVuIHByb2Nl ZWRzIGJ5IG1ha2luZyBhIGRpcmVjdCBjYWxsIHRvIGk5MTVfaGFuZGxlX2Vycm9yKCkgd2l0aAor ICAgIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoIGVuZ2luZSBpcyBodW5nIGFuZCBieSBzZXR0aW5n IHRoZSBkZWRpY2F0ZWQKKyAgICB3YXRjaGRvZyBwcmlvcml0eSBmbGFnIHRoYXQgYWxsb3dzIHRo ZSBlcnJvciBoYW5kbGVyIHRvIGNpcmN1bXZlbnQgdGhlCisgICAgbm9ybWFsIGhhbmcgcHJvbW90 aW9uIGxvZ2ljIHRoYXQgYXBwbGllcyB0byBoYW5nIGRldGVjdGlvbnMgb3JpZ2luYXRpbmcKKyAg ICBmcm9tIHRoZSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIuCisgICAgPC9wYXJhPgorCisgICAgPHBh cmE+CisgICAgSW4gb3JkZXIgdG8gZW5hYmxlIHRoaXMgV2F0Y2hkb2cgVGltZW91dCBmb3IgYSBw YXJ0aWN1bGFyIGJhdGNoIGJ1ZmZlcgorICAgIHVzZXJsYW5kIGxpYkRSTSBoYXMgdG8gZW5hYmxl IHRoZSBjb3JyZXNwb25kaW5nIGJpdCBjb250YWluZWQgaW4KKyAgICBJOTE1X0VYRUNfRU5BQkxF X1dBVENIRE9HIGluIHRoZSBiYXRjaCBidWZmZXIgZmxhZyBiaXRtYXNrLiBUaGlzIGZlYXR1cmUg aXMKKyAgICBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCB0aGVyZWZvcmUgaXQgb3BlcmF0ZXMgcHVy ZWx5IG9uIGFuIG9wdC1pbiBiYXNpcworICAgIGZyb20gdXNlcmxhbmQncyBwb2ludCBvZiB2aWV3 LgorICAgIDwvcGFyYT4KKworICAgIDwvc2VjdDM+CisKKyAgICA8L3NlY3QyPgorCisgICAgPHNl Y3QyIGlkPSdyZWNvdmVyeSc+CisgICAgPHRpdGxlIGlkPSdyZWNvdmVyeS50aXRsZSc+UmVjb3Zl cnk8L3RpdGxlPgorICAgIDxwYXJhPgorICAgIE9uY2UgYSBoYW5nIGhhcyBiZWVuIGRldGVjdGVk LCBlaXRoZXIgdGhyb3VnaCBwZXJpb2RpYyBoYW5nIGNoZWNraW5nIG9yCisgICAgV2F0Y2hkb2cg VGltZW91dCwgdGhlIGVycm9yIGhhbmRsZXIgKGk5MTVfaGFuZGxlX2Vycm9yKSB0YWtlcyBvdmVy IGFuZAorICAgIGRlY2ljZXMgd2hhdCB0byBkbyBmcm9tIHRoZXJlIG9uLiBHZW5lcmFsbHkgc3Bl YWtpbmcgdGhlcmUgYXJlIHR3byBtb2RlcyBvZgorICAgIGhhbmcgcmVjb3ZlcnkgdGhhdCB0aGUg ZXJyb3IgaGFuZGxlciBjYW4gY2hvb3NlIGZyb206CisKKyAgICA8b3JkZXJlZGxpc3Q+CisgICAg PGxpc3RpdGVtPgorICAgIDxsaW5rIGxpbmtlbmQ9J2VuZ2luZV9yZXNldCcgZW5kdGVybT0iZW5n aW5lX3Jlc2V0LnRpdGxlIi8+CisgICAgPC9saXN0aXRlbT4KKyAgICA8bGlzdGl0ZW0+CisgICAg PGxpbmsgbGlua2VuZD0nR1BVX3Jlc2V0JyBlbmR0ZXJtPSJHUFVfcmVzZXQudGl0bGUiLz4KKyAg ICA8L2xpc3RpdGVtPgorICAgIDwvb3JkZXJlZGxpc3Q+CisKKyAgICBFeGFjdGx5IHdoYXQgcmVj b3ZlcnkgbW9kZSB0aGUgaGFuZyBpcyBwcm9tb3RlZCB0byBkZXBlbmRzIG9uIGEgbnVtYmVyIG9m IGZhY3RvcnM6CisgICAgPC9wYXJhPgorCisgICAgPGxpdGVyYWxsYXlvdXQ+PC9saXRlcmFsbGF5 b3V0PgorICAgIDxpdGVtaXplZGxpc3Q+CisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAg IDxlbXBoYXNpcyByb2xlPSJib2xkIj4KKyAgICBEaWQgdGhlIGNhbGxlciBzYXkgdGhhdCBhIGhh bmcgaGFkIGJlZW4gZGV0ZWN0ZWQgYnV0IGRpZCBub3Qgc3BlY2lmaWNhbGx5IGFzayBmb3IgZW5n aW5lIHJlc2V0PworICAgIDwvZW1waGFzaXM+CisgICAgSWYgdGhlIHdlZGdlZCBwYXJhbWV0ZXIg aXMgc2V0IGluIHRoZSBjYWxsIHRvIGk5MTVfaGFuZGxlX2Vycm9yKCkgYnV0IHRoZQorICAgIGVu Z2luZV9tYXNrIHBhcmFtZXRlciBpcyBzZXQgdG8gMCBpdCBtZWFucyB0aGF0IHdlIG5lZWQgdG8g ZG8gc29tZSBraW5kIG9mCisgICAgaGFuZyByZWNvdmVyeSBidXQgbm8gZW5naW5lIGlzIHNwZWNp ZmllZC4gSW4gdGhhdCBjYXNlIHRoZSBvdXRjb21lIHdpbGwKKyAgICBhbHdheXMgYmUgYW4gYXR0 ZW1wdCB0byBkbyBhIEdQVSByZXNldC4KKyAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKwor ICAgIDxsaXN0aXRlbT4KKyAgICA8bGl0ZXJhbGxheW91dD48L2xpdGVyYWxsYXlvdXQ+CisgICAg PHBhcmE+CisgICAgPGVtcGhhc2lzIHJvbGU9ImJvbGQiPgorICAgIERpZCB0aGUgY2FsbGVyIHNh eSB0aGF0IGEgaGFuZyBoYWQgYmVlbiBkZXRlY3RlZCBhbmQgc3BlY2lmeSBhdCBsZWFzdCBvbmUg aHVuZyBlbmdpbmU/CisgICAgPC9lbXBoYXNpcz4KKyAgICBJZiBvbmUgb3IgbW9yZSBlbmdpbmVz IGhhdmUgYmVlbiBzcGVjaWZpZWQgYXMgaHVuZyB0aGUgZmlyc3QgYXR0ZW1wdCB3aWxsCisgICAg YWx3YXlzIGJlIHRvIGRvIGFuIGVuZ2luZSByZXNldCBvZiB0aG9zZSBodW5nIGVuZ2luZXMuIFRo ZXJlIGFyZSB0d28KKyAgICByZWFzb25zIHdoeSBhbiBHUFUgcmVzZXQgd291bGQgYmUgY2Fycmll ZCBvdXQgaW5zdGVhZCBvZiBhIHNpbXBsZSBlbmdpbmUKKyAgICByZXNldDoKKyAgICA8L3BhcmE+ CisgICAgPG9yZGVyZWRsaXN0PgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIEFu IGVuZ2luZSByZXNldCB3YXMgY2FycmllZCBvdXQgb24gdGhlIHNhbWUgZW5naW5lIHRvbyByZWNl bnRseS4gV2hhdAorICAgIGNvbnN0aXR1dGVzICJ0b28gcmVjZW50IiBpcyBkZXRlcm1pbmVkIGJ5 IHRoZSBpOTE1IG1vZHVsZSBwYXJhbWV0ZXIKKyAgICBncHVfcmVzZXRfcHJvbW90aW9uX3RpbWUu IElmIHR3byBlbmdpbmUgcmVzZXRzIHdlcmUgYXR0ZW1wdGVkIHdpdGhpbiB0aGUKKyAgICB0aW1l IHdpbmRvdyBkZWZpbmVkIGJ5IHRoaXMgbW9kdWxlIHBhcmFtZXRlciBpdCBpcyBkZWNpZGVkIHRo YXQgdGhlCisgICAgcHJldmlvdXMgZW5naW5lIHJlc2V0IHdhcyBpbmVmZmVjdGl2ZSBhbmQgdGhl cmVmb3JlIHRoZXJlIGlzIG5vIHBvaW50IGluCisgICAgdHJ5aW5nIGFub3RoZXIgb25lLiBUaHVz LCBhIGZ1bGwgR1BVIHJlc2V0IHdpbGwgYmUgZG9uZSBpbnN0ZWFkLgorICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIEFuIGVuZ2lu ZSByZXNldCB3YXMgY2FycmllZCBvdXQgYnV0IGZhaWxlZC4gSW4gdGhpcyBjYXNlIHRoZSBoYW5n IHJlY292ZXJ5CisgICAgcGF0aCAoaTkxNV9lcnJvcl93b3JrX2Z1bmMpIHdvdWxkIGdvIHN0cmFp Z2h0IGZyb20gdGhlIGZhaWxlZCBlbmdpbmUgcmVzZXQKKyAgICBhdHRlbXB0IChpOTE1X3Jlc2V0 X2VuZ2luZSBjYWxsKSB0byBhIGZ1bGwgR1BVIHJlc2V0IHdpdGhvdXQgZGVsYXkuCisgICAgPC9w YXJhPgorICAgIDwvbGlzdGl0ZW0+CisKKyAgICA8L29yZGVyZWRsaXN0PgorICAgIDwvbGlzdGl0 ZW0+CisKKyAgICA8bGlzdGl0ZW0+CisgICAgPGxpdGVyYWxsYXlvdXQ+PC9saXRlcmFsbGF5b3V0 PgorICAgIDxsaXRlcmFsbGF5b3V0PjwvbGl0ZXJhbGxheW91dD4KKyAgICA8cGFyYT4KKyAgICA8 ZW1waGFzaXMgcm9sZT0iYm9sZCI+CisgICAgRGlkIHRoZSBXYXRjaGRvZyBUaW1lb3V0IGRldGVj dCB0aGUgaGFuZz8KKyAgICA8L2VtcGhhc2lzPgorICAgIEluIGNhc2Ugb2YgdGhlIFdhdGNoZG9n IFRpbWVvdXQgY2FsbGluZyB0aGUgZXJyb3IgaGFuZGxlciB0aGUgZGVkaWNhdGVkCisgICAgd2F0 Y2hkb2cgcGFyYW1ldGVyIHdpbGwgYmUgc2V0IGFuZCB0aGlzIGZvcmNlcyB0aGUgZXJyb3IgaGFu ZGxlciB0byBvbmx5CisgICAgY29uc2lkZXIgZW5naW5lIHJlc2V0IGFuZCBub3QgZnVsbCBHUFUg cmVzZXQuIFdlIHdpbGwgb25seSBwcm9tb3RlIHRvIGZ1bGwKKyAgICBHUFUgcmVzZXQgaWYgdGhl IGRyaXZlciBpdHNlbGYsIGJhc2VkIG9uIGl0cyBvd24gaGFuZyBkZXRlY3Rpb24gbWVjaGFuaXNt LAorICAgIGhhcyBkZXRlY3RlZCBhIHBlcnNpc3RpbmcgaGFuZyB0aGF0IHdpbGwgbm90IGJlIHJl c29sdmVkIGJ5IGFuIGVuZ2luZSBoYW5nLgorICAgIFdhdGNoZG9nIFRpbWVvdXQgaXMgdXNlci1j b250cm9sbGVkIGFuZCBpcyB0aGVyZWZvcmUgbm90IHRydXN0ZWQgdGhlIHNhbWUKKyAgICB3YXku CisgICAgPC9wYXJhPgorICAgIDxsaXRlcmFsbGF5b3V0PjwvbGl0ZXJhbGxheW91dD4KKyAgICA8 L2xpc3RpdGVtPgorICAgIDwvaXRlbWl6ZWRsaXN0PgorCisgICAgPHBhcmE+CisgICAgV2hlbiB0 aGUgZXJyb3IgaGFuZGxlciByZWFjaGVzIGEgZGVjaXNpb24gb2Ygd2hhdCBoYW5nIHJlY292ZXJ5 IG1vZGUgdG8gdXNlCisgICAgaXQgc2V0cyB1cCB0aGUgY29ycmVzcG9uZGluZyByZXNldCBpbiBw cm9ncmVzcyBmbGFnLiBUaGVyZSBpcyBvbmUgbWFpbgorICAgIHJlc2V0IGluIHByb2dyZXNzIGZs YWcgZm9yIEdQVSByZXNldHMgYXMgd2VsbCBhcyBvbmUgZGVkaWNhdGVkIHJlc2V0IGluCisgICAg cHJvZ3Jlc3MgZmxhZyBpbiBlYWNoIGhhbmdjaGVjayBzdHJ1Y3QgZm9yIGVhY2ggZW5naW5lLiBB ZnRlciB0aGF0IHRoZQorICAgIGVycm9yIGhhbmRsZXIgc2NoZWR1bGVzIHRoZSBhY3R1YWwgaGFu ZyByZWNvdmVyeSB3b3JrIHF1ZXVlLCB3aGljaCBlbmRzIHVwCisgICAgaW4gaTkxNV9lcnJvcl93 b3JrX2Z1bmMsIHdoaWNoIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGdyYWJzIGFsbCBuZWNlc3NhcnkK KyAgICBsb2NrcyBhbmQgYWN0dWFsbHkgY2FsbHMgdGhlIG1haW4gaGFuZyByZWNvdmVyeSBmdW5j dGlvbnMuIEZvciBhbGwgZW5naW5lcworICAgIHRoYXQgaGF2ZSB0aGVpciByZXNwZWN0aXZlIGVy cm9yIGluIHByb2dyZXNzIGZsYWdzIHRoZSA8bGluaworICAgIGxpbmtlbmQ9J2VuZ2luZV9yZXNl dCcgZW5kdGVybT0iZW5naW5lX3Jlc2V0LnRpdGxlIj5lbmdpbmUgcmVzZXQKKyAgICBwYXRoPC9s aW5rPiBpcyB0YWtlbiBmb3IgZWFjaCBlbmdpbmUgaW4gc2VxdWVuY2UuIElmIHRoZSBHUFUgcmVz ZXQgaW4KKyAgICBwcm9ncmVzcyBmbGFnIGlzIHNldCBubyBhdHRlbXB0cyBhdCBjYXJyeWluZyBv dXQgZW5naW5lIHJlc2V0cyBhcmUgbWFkZSBhbmQKKyAgICBpbnN0ZWFkIHRoZSBsZWdhY3kgPGxp bmsgbGlua2VuZD0nR1BVX3Jlc2V0JyBlbmR0ZXJtPSJHUFVfcmVzZXQudGl0bGUiPmZ1bGwKKyAg ICBHUFUgcmVzZXQgcGF0aDwvbGluaz4gaXMgdGFrZW4uCisgICAgPC9wYXJhPgorCisgICAgPHNl Y3QzIGlkPSdlbmdpbmVfcmVzZXQnPgorICAgIDx0aXRsZSBpZD0nZW5naW5lX3Jlc2V0LnRpdGxl Jz5FbmdpbmUgUmVzZXQ8L3RpdGxlPgorICAgIDxwYXJhPgorICAgIFRoZSBlbmdpbmUgcmVzZXQg cGF0aCBpcyBpbXBsZW1lbnRlZCBpbiBpOTE1X3Jlc2V0X2VuZ2luZSBhbmQgdGhlIGZvbGxvd2lu ZworICAgIGlzIGEgc3VtbWFyeSBvZiBob3cgdGhhdCBmdW5jdGlvbiBvcGVyYXRlczoKKworICAg IDxvcmRlcmVkbGlzdD4KKyAgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+CisgICAgR2V0IGN1cnJl bnRseSBydW5uaW5nIGNvbnRleHQgYW5kIGNoZWNrIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0dXMK KyAgICBjb25zaXN0ZW5jeS4gSWYgdGhlIGN1cnJlbnRseSBydW5uaW5nIChodW5nKSBjb250ZXh0 IGlzIGluIGFuIGluY29uc2lzdGVudAorICAgIHN0YXRlIHRoZXJlIGlzIHJlYWxseSBubyByZWFz b24gd2h5IHRoZSBleGVjdXRpb24gc2hvdWxkIGJlIGF0IHRoaXMgcG9pbnQKKyAgICBzaW5jZSB0 aGUgaGFuZyBjaGVja2VyIGRvZXMgYSBjb25zaXN0ZW5jeSBjaGVjayBiZWZvcmUgc2NoZWR1bGlu ZyBoYW5nCisgICAgcmVjb3ZlcnkgdW5sZXNzIHRoZSBzdGF0ZSBoYXMgY2hhbmdlZCBzaW5jZSBo YW5nIHJlY292ZXJ5IHdhcyBzY2hlZHVsZWQsIGluCisgICAgd2hpY2ggY2FzZSB0aGUgZW5naW5l IGlzIG5vdCB0cnVseSBodW5nLiBJZiBzbywgZG8gZWFybHkgZXhpdC4KKyAgICA8L3BhcmE+Cisg ICAgPC9saXN0aXRlbT4KKworICAgIDxsaXN0aXRlbT4KKyAgICA8cGFyYT4KKyAgICBGb3JjZSBl bmdpbmUgdG8gaWRsZSBhbmQgc2F2ZSB0aGUgY3VycmVudCBjb250ZXh0IGltYWdlLiBPbiBnZW44 KyB0aGlzIGlzCisgICAgZG9uZSBieSBzZXR0aW5nIHRoZSByZXNldCByZXF1ZXN0IGJpdCBpbiB0 aGUgcmVzZXQgY29udHJvbCByZWdpc3Rlci4gT24KKyAgICBnZW43IGFuZCBlYXJsaWVyIGdlbnMg dGhlIE1JX01PREUgcmVnaXN0ZXIgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgcmluZworICAgIGNv bnRyb2wgcmVnaXN0ZXIgaGFzIHRvIGJlIHVzZWQgdG8gZGlzYWJsZSB0aGUgZW5naW5lLgorICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgor ICAgIFNhdmUgdGhlIGhlYWQgTU1JTyByZWdpc3RlciB2YWx1ZSBhbmQgbnVkZ2UgaXQgdG8gdGhl IGZvbGxvd2luZyB2YWxpZAorICAgIGluc3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlciBmb2xs b3dpbmcgdGhlIGJhdGNoIGJ1ZmZlciBzdGFydCBpbnN0cnVjdGlvbgorICAgIG9mIHRoZSBjdXJy ZW50bHkgaHVuZyBiYXRjaCBidWZmZXIuCisgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisK KyAgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+CisgICAgUmVzZXQgZW5naW5lLgorICAgIDwvcGFy YT4KKyAgICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIENh bGwgdGhlIGluaXQoKSBmdW5jdGlvbiBmb3IgdGhlIHByZXZpb3VzbHkgaHVuZyBlbmdpbmUsIHdo aWNoIHNob3VsZAorICAgIHJlYXBwbHkgSFcgd29ya2Fyb3VuZHMgYW5kIGNhcnJ5IG91dCBvdGhl ciBlc3NlbnRpYWwgc3RhdGUKKyAgICByZWluaXRpYWxpemF0aW9uLgorICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgIFdyaXRlIHRo ZSBwcmV2aW91c2x5IG51ZGdlZCBoZWFkIHJlZ2lzdGVyIHZhbHVlIHRvIGJvdGggTU1JTyBhbmQg Y29udGV4dCByZWdpc3RlcnMuCisgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisKKyAgICA8 bGlzdGl0ZW0+CisgICAgPHBhcmE+CisgICAgU3VibWl0IHVwZGF0ZWQgY29udGV4dCB0byBFTFNQ IGluIG9yZGVyIHRvIGZvcmNlIGV4ZWN1dGlvbiB0byByZXN1bWUgKGdlbjggb25seSkuCisgICAg PC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisKKyAgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+Cisg ICAgQ2xlYXIgcmVzZXQgaW4gcHJvZ3Jlc3MgZW5naW5lIGZsYWcgYW5kIHdha2UgdXAgYWxsIHRo cmVhZHMgd2FpdGluZyBmb3IgcmVxdWVzdHMgdG8gY29tcGxldGUuCisgICAgPC9wYXJhPgorICAg IDwvbGlzdGl0ZW0+CisgICAgPC9vcmRlcmVkbGlzdD4KKworICAgIDxsaXRlcmFsbGF5b3V0Pjwv bGl0ZXJhbGxheW91dD4KKworICAgIDxwYXJhPgorICAgIFRoZSBpbnRlbmRlZCBvdXRjb21lIG9m IGFuIGVuZ2luZSByZXNldCBpcyB0aGF0IHRoZSBodW5nIGJhdGNoIGJ1ZmZlciBpcworICAgIGRy b3BwZWQgYnkgZm9yY2luZyB0aGUgZXhlY3V0aW9uIHRvIHJlc3VtZSBmb2xsb3dpbmcgdGhlIGJh dGNoIGJ1ZmZlciBzdGFydAorICAgIGluc3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlci4gVGhp cyBzaG91bGQgb25seSBhZmZlY3QgdGhlIGh1bmcgZW5naW5lIGFuZAorICAgIG5vbmUgb3RoZXIu IE5vIHJlaW5pdGlhbGl6YXRpb24gYXNpZGUgZnJvbSBhIHN1YnNldCBvZiB0aGUgc3RhdGUgZm9y IHRoZQorICAgIGh1bmcgZW5naW5lIHNob3VsZCBoYXBwZW4gYW5kIHBlbmRpbmcgd29yayBzaG91 bGQgYmUgcmV0YWluZWQgcmVxdWlyaW5nIG5vCisgICAgZnVydGhlciByZXN1Ym1pc3Npb25zLgor ICAgIDwvcGFyYT4KKworICAgIDwvcGFyYT4KKyAgICA8L3NlY3QzPgorCisgICAgPHNlY3QzIGlk PSdHUFVfcmVzZXQnPgorICAgIDx0aXRsZSBpZD0nR1BVX3Jlc2V0LnRpdGxlJz5HUFUgcmVzZXQ8 L3RpdGxlPgorICAgIDxwYXJhPgorICAgIEJhc2ljYWxseSB0aGUgR1BVIHJlc2V0IGZ1bmN0aW9u LCBpOTE1X3Jlc2V0LCBkb2VzIDMgdGhpbmdzOgorICAgIDxsaXRlcmFsbGF5b3V0PjwvbGl0ZXJh bGxheW91dD4KKworICAgIDxvcmRlcmVkbGlzdD4KKyAgICA8bGlzdGl0ZW0+CisgICAgPHBhcmE+ CisgICAgUmVzZXQgR0VNLgorICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorCisgICAgPGxp c3RpdGVtPgorICAgIDxwYXJhPgorICAgIERvIHRoZSBhY3R1YWwgR1BVIHJlc2V0LgorICAgIDwv cGFyYT4KKyAgICA8L2xpc3RpdGVtPgorCisgICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAg IFJlaW5pdGlhbGl6ZSB0aGUgR0VNIHBhcnQgb2YgdGhlIGRyaXZlciwgaW5jbHVkaW5nIHB1cmdp bmcgYWxsIHBlbmRpbmcgd29yaywgcmVpbml0aWFsaXplIHRoZSBlbmdpbmVzIGFuZCByaW5nIHNl dHVwIGFuZCBtb3JlLgorICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgIDwvb3JkZXJl ZGxpc3Q+CisKKyAgICA8bGl0ZXJhbGxheW91dD48L2xpdGVyYWxsYXlvdXQ+CisKKyAgICBUaGUg aW50ZW5kZWQgb3V0Y29tZSBvZiBhIEdQVSByZXNldCBpcyB0aGF0IGFsbCB3b3JrLCBpbmNsdWRp bmcgdGhlIGh1bmcKKyAgICBiYXRjaCBidWZmZXIgYXMgd2VsbCBhcyBhbGwgYmF0Y2ggYnVmZmVy cyBmb2xsb3dpbmcgaXQsIGlzIGRyb3BwZWQgYW5kIHRoZQorICAgIEdFTSBwYXJ0IG9mIHRoZSBk cml2ZXIgaXMgcmVpbml0aWFsaXplZCBmb2xsb3dpbmcgdGhlIEdQVSByZXNldC4gVGhpcyBtZWFu cworICAgIHRoYXQgdGhlIGRyaXZlciBnb2VzIHRvIGFuIGlkbGUgc3RhdGUgdG9nZXRoZXIgd2l0 aCB0aGUgaGFyZHdhcmUgYW5kIHNob3VsZAorICAgIHN0YXJ0IG92ZXIgZnJvbSBhIHN0YXRlIGlu IHdoaWNoIGl0IGlzIHJlYWR5IHRvIGFjY2VwdCBtb3JlIHdvcmsgYW5kIG1vdmUKKyAgICBmb3J3 YXJkcyBmcm9tIHRoZXJlLiBBbGwgcGVuZGluZyB3b3JrIHdpbGwgaGF2ZSB0byBiZSByZXN1Ym1p dHRlZCBieSB0aGUKKyAgICBzdWJtaXR0aW5nIGFwcGxpY2F0aW9uLgorCisgICAgPC9wYXJhPgor ICAgIDwvc2VjdDM+CisKKyAgICA8L3NlY3QyPgorCisgICAgPC9zZWN0MT4KKwogICAgIDxzZWN0 MT4KICAgICAgIDx0aXRsZT4gVHJhY2luZyA8L3RpdGxlPgogICAgICAgPHBhcmE+CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYwppbmRleCA4ZmU5NzJiLi5mMGU4MjZlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMKQEAgLTI2ODIsNyArMjY4Miw5IEBAIHN0YXRpYyB2b2lkIGk5MTVfcmVwb3J0X2FuZF9j bGVhcl9laXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKICAqCQkJb3IgaWYgb25lIG9mIHRoZSBj dXJyZW50IGVuZ2luZSByZXNldHMgZmFpbHMgd2UgZmFsbAogICoJCQliYWNrIHRvIGxlZ2FjeSBm dWxsIEdQVSByZXNldC4KICAqIEB3YXRjaGRvZzogCQl0cnVlID0gRW5naW5lIGhhbmcgZGV0ZWN0 ZWQgYnkgaGFyZHdhcmUgd2F0Y2hkb2cuCisgKgogICogQHdlZGdlZDogCQl0cnVlID0gSGFuZyBk ZXRlY3RlZCwgaW52b2tlIGhhbmcgcmVjb3ZlcnkuCisgKgogICogQGZtdCwgLi4uOiAJCUVycm9y IG1lc3NhZ2UgZGVzY3JpYmluZyByZWFzb24gZm9yIGVycm9yLgogICoKICAqIERvIHNvbWUgYmFz aWMgY2hlY2tpbmcgb2YgcmVnaXN0ZXIgc3RhdGUgYXQgZXJyb3IgdGltZSBhbmQKQEAgLTMxMzQs NyArMzEzNiwxMSBAQCByaW5nX3N0dWNrKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHU2 NCBhY3RoZCkKIAlyZXR1cm4gSEFOR0NIRUNLX0hVTkc7CiB9CiAKLS8qCisvKioKKyAqIGk5MTVf aGFuZ2NoZWNrX2VsYXBzZWQgLSBoYW5nIGNoZWNrZXIgd29yayBmdW5jdGlvbgorICoKKyAqIEB3 b3JrOiBXb3JrIGl0ZW0gY29udGFpbmluZyByZWZlcmVuY2UgdG8gcHJpdmF0ZSBEUk0gc3RydWN0 LgorICoKICAqIFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIGNoaXAgaGFzbid0IHJlcG9ydGVkIGJh Y2sgd2l0aCBjb21wbGV0ZWQKICAqIGJhdGNoYnVmZmVycyBpbiBhIGxvbmcgdGltZS4gV2Uga2Vl cCB0cmFjayBwZXIgcmluZyBzZXFubyBwcm9ncmVzcyBhbmQKICAqIGlmIHRoZXJlIGFyZSBubyBw cm9ncmVzcywgaGFuZ2NoZWNrIHNjb3JlIGZvciB0aGF0IHJpbmcgaXMgaW5jcmVhc2VkLgotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==