From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [RFC 00/11] TDR/watchdog timeout support for gen8 Date: Fri, 10 Jul 2015 16:24:33 +0100 Message-ID: <559FE3B1.6090902@intel.com> References: <1433783009-17251-1-git-send-email-tomas.elf@intel.com> <20150709184735.GA24462@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 76F706EDEB for ; Fri, 10 Jul 2015 08:24:36 -0700 (PDT) In-Reply-To: <20150709184735.GA24462@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDkvMDcvMjAxNSAxOTo0NywgQ2hyaXMgV2lsc29uIHdyb3RlOgo+IE9uIE1vbiwgSnVuIDA4 LCAyMDE1IGF0IDA2OjAzOjE4UE0gKzAxMDAsIFRvbWFzIEVsZiB3cm90ZToKPj4gVGhpcyBwYXRj aCBzZXJpZXMgaW50cm9kdWNlcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgo+Pgo+PiAqIEZlYXR1 cmUgMTogVERSIChUaW1lb3V0IERldGVjdGlvbiBhbmQgUmVjb3ZlcnkpIGZvciBnZW44IGV4ZWNs aXN0IG1vZGUuCj4+ICogRmVhdHVyZSAyOiBXYXRjaGRvZyBUaW1lb3V0IChhLmsuYSAibWVkaWEg ZW5naW5lIHJlc2V0IikgZm9yIGdlbjguCj4+ICogRmVhdHVyZSAzLiBDb250ZXh0IFN1Ym1pc3Np b24gU3RhdHVzIENvbnNpc3RlbmN5IGNoZWNraW5nCj4KPiBUaGUgaGlnaCBsZXZlbCBkZXNpZ24g aXMgcmVhc29uYWJsZSBhbmQgY29uY2VwdHVhbGx5IGV4dGVuZHMgdGhlIGN1cnJlbnQKPiBzeXN0 ZW0gaW4gZmFpcmx5IG9idmlvdXMgd2F5cy4KPgo+IEluIHRlcm1zIG9mIGRpc2N1c3NpbmcgdGhl IGltcGxlbWVudGF0aW9uLCBJIHRoaW5rIHRoaXMgY2FuIGJlIHBoYXNlZAo+IGFzOgo+Cj4gMC4g TW92ZSB0byBhIHBlci1lbmdpbmUgaGFuZ2NoZWNrCj4KPiAxLiBBZGQgZmFrZS1pbnRlcnJ1cHQg cmVjb3ZlcnkgZm9yIENTU0MKPgo+ICAgIEkgdGhpbmsgdGhpcyBjYW4gYmUgZG9uZSB3aXRob3V0 IGNoYW5naW5nIHRoZSBoYW5nY2hlY2sgaGV1cmlzdGljcyBhdAo+ICAgIGFsbCAtIHdlIGp1c3Qg bmVlZCB0byB0aGluayBjYXJlZnVsbHkgYWJvdXQgcmVjb3ZlcnkgKHdoaWNoIGlzIGEgbmljZQo+ ICAgIHByZWN1cnNvciB0byBwZXItZW5naW5lIHJlc2V0KS4gSSBtYXkgYmUgd3JvbmcsIGFuZCBz byB3b3VsZCBsaWtlIHRvCj4gICAgYmUgdG9sZCBzbyBlYXJseSBvbiEgSWYgdGhlIGZha2UgaW50 ZXJydXB0IHJlY292ZXJ5IGlzIGRvbmUgYXMgcGFydCBvZgo+ICAgIHRoZSByZXNldCBoYW5kbGVy LCB3ZSBzaG91bGQgaGF2ZSAob25lKSBmZXdlciBjb25jdXJyZW5jeSBpc3N1ZXMgdG8KPiAgICB3 b3JyeSBhYm91dC4KClNvbWUgcG9pbnRzIGFib3V0IG1vdmluZyB0aGUgQ1NTQyBvdXQgb2YgdGhl IGhhbmcgY2hlY2tlciBhbmQgaW50byB0aGUgCnJlc2V0IGhhbmRsZXI6CgoxLiBJZiB3ZSBkZWFs IHdpdGggY29uc2lzdGVuY3kgcmVjdGlmaWNhdGlvbiBpbiB0aGUgcmVzZXQgaGFuZGxlciB0aGUg CnR1cm5hcm91bmQgdGltZSBiZWNvbWVzIFJFQUxMWSBsb25nOgoJCQoJYS4gRmlyc3QgeW91IGhh dmUgdGhlIHRpbWUgdG8gZGV0ZWN0IHRoZSBoYW5nLCBjYWxsIGk5MTVfaGFuZGxlX2Vycm9yKCkg CnRoYXQgdGhlbiByYWlzZXMgdGhlIHJlc2V0IGluIHByb2dyZXNzIGZsYWcsIHByZXZlbnRpbmcg ZnVydGhlciAKc3VibWlzc2lvbnMgdG8gdGhlIGRyaXZlci4KCgliLiBUaGVuIGdvIGFsbCB0aGUg d2F5IHRvIHRoZSBwZXItZW5naW5lIHJlY292ZXJ5IHBhdGgsIG9ubHkgdG8gCmRpc2NvdmVyIHRo YXQgd2UndmUgZ290IGFuIGluY29uc2lzdGVuY3kgdGhhdCBoYXMgbm90IGJlZW4gaGFuZGxlZCwg ZmFsbCAKYmFjayBpbW1lZGlhdGVseSB3aXRoIC1FQUdBSU4gYW5kIGxvd2VyIHRoZSByZXNldCBp biBwcm9ncmVzcyBmbGFnLCBsZXQgCnRoZSBzeXN0ZW0gY29udGludWUgcnVubmluZyBhbmQgZGVm ZXIgdG8gdGhlIG5leHQgaGFuZyBjaGVjayAoYW5vdGhlciAKaGFuZyBkZXRlY3Rpb24gcGVyaW9k KQoKCWMuIE9uY2UgdGhlIGhhbmcgaGFzIGJlZW4gZGV0ZWN0ZWQgQUdBSU4sIHJhaXNlIHRoZSBy ZXNldCBpbiBwcm9ncmVzcyAKZmxhZyBBR0FJTiBhbmQgZ28gYmFjayB0byB0aGUgZW5naW5lIHJl c2V0IHBhdGggYSBzZWNvbmQgdGltZS4KCglkLiBBdCB0aGUgc3RhcnQgb2YgdGhlIGVuZ2luZSBy ZXNldCBwYXRoIHdlIGRvIHRoZSBzZWNvbmQgQ1NTQyAKZGV0ZWN0aW9uIGFuZCByZWFsaXNlIHRo YXQgd2UndmUgZ290IGEgc3RhYmxlIGluY29uc2lzdGVuY3kgdGhhdCB3ZSBjYW4gCmF0dGVtcHQg dG8gcmVjdGlmeS4gV2UgY2FuIHRoZW4gdHJ5IHRvIHJlY3RpZnkgdGhlIGluY29uc2lzdGVuY3kg YW5kIGdvIAp0aHJvdWdoIHdpdGggdGhlIGVuZ2luZSByZXNldC4uLiBBRlRFUiB3ZSd2ZSBjaGVj a2VkIHRoYXQgdGhlIAppbmNvbnNpc3RlbmN5IHJlY3RpZmljYXRpb24gd2FzIGluZGVlZCBlZmZl Y3RpdmUhIElmIGl0J3Mgbm90IGFuZCB0aGUgCnByb2JsZW0gcmVtYWlucyB0aGVuIHdlIGhhdmUg dG8gZmFpbCB0aGUgZW5naW5lIHJlY292ZXJ5IG1vZGUgYW5kIGZhbGwgCmJhY2sgdG8gZnVsbCBH UFUgcmVzZXQgaW1tZWRpYXRlbHkuLi4gV2hpY2ggd2UgY291bGQgaGF2ZSBkb25lIGZyb20gdGhl IApoYW5nIGNoZWNrZXIgaWYgd2UgaGFkIGp1c3QgcmVmdXNlZCB0byBzY2hlZHVsZSBoYW5nIHJl Y292ZXJ5IGFuZCBqdXN0IApsZXQgdGhlIGNvbnRleHQgc3VibWlzc2lvbiBzdGF0ZSBpbmNvbnNp c3RlbmN5IHBlcnNpc3QgYW5kIGxldCB0aGUgaGFuZyAKc2NvcmUga2VlcCByaXNpbmcgdW50aWwg dGhlIGhhbmcgc2NvcmUgcmVhY2hlZCAyKkhVTkcsIHdoaWNoIHdvdWxkIHRoZW4gCmhhdmUgdHJp Z2dlcmVkIHRoZSBmdWxsIEdQVSByZXNldCBmYWxsYmFjayBmcm9tIHRoZSBoYW5nIGNoZWNrZXIg KHNlZSAKcGF0aCA5LzExIGZvciBhbGwgb2YgdGhpcykKCkFzIHlvdSBjYW4gc2VlLCBkZWFsaW5n IHdpdGggY29udGV4dCBzdWJtaXNzaW9uIHN0YXRlIGluY29uc2lzdGVuY3kgaW4gCnRoZSByZXNl dCBwYXRoIGlzIHZlcnkgbG9uZy13aW5kZWQgd2F5IG9mIGRvaW5nIGl0IGFuZCBkb2VzIG5vdCBt YWtlIGl0IAptb3JlIHJlbGlhYmxlLiBBbHNvLCBpdCdzIG1vcmUgY29tcGxpY2F0ZWQgdG8gYW5h bHlzZSBmcm9tIGEgY29uY3VycmVuY3kgCnBvaW50IG9mIHZpZXcgc2luY2Ugd2UgbmVlZCB0byBm YWxsIGJhY2sgc2V2ZXJhbCB0aW1lcyBhbmQgcmFpc2UgYW5kIApsb3dlciB0aGUgcmVzZXQgaW4g cHJvZ3Jlc3MgZmxhZywgd2hpY2ggYWxsb3dzIGRyaXZlciBzdWJtaXNzaW9ucyB0byAKaGFwcGVu IHZzLiBibG9ja3Mgc3VibWlzc2lvbnMuIEl0IGJhc2ljYWxseSBiZWNvbWVzIHZlcnkgZGlmZmlj dWx0IHRvIAprbm93IHdoYXQgaXMgZ29pbmcgb24uCgkKMi4gU2Vjb25kbHksIGFuZCBtb3JlIGlt cG9ydGFudGx5LCBpZiBhIHdhdGNoZG9nIHRpbWVvdXQgaXMgZGV0ZWN0ZWQgYW5kIAp3ZSBlbmQg dXAgaW4gdGhlIHBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRoIGFuZCBoYXZlIHRvIGZhbGwg YmFjayBkdWUgCnRvIGFuIGluY29uc2lzdGVudCBjb250ZXh0IHN1Ym1pc3Npb24gc3RhdGUgYXQg dGhhdCBwb2ludCBhbmQgdGhlIGhhbmcgCmNoZWNrZXIgaXMgdHVybmVkIG9mZiB0aGVuIHdlJ3Jl IGlycmVjb3ZlcmFibHkgaHVuZy4gV2F0Y2hkb2cgdGltZW91dCBpcyAKc3VwcG9zZWQgdG8gd29y ayB3aXRob3V0IHRoZSBwZXJpb2RpYyBoYW5nIGNoZWNrZXIgYnV0IGl0IHdvbid0IGlmIENTU0Mg CmlzIG5vdCBlbnN1cmVkIGF0IGFsbCB0aW1lcy4gV2hpY2ggaXMgd2h5IEkgY2hvc2UgdG8gb3Zl cnJpZGUgdGhlIAppOTE1LmVuYWJsZV9oYW5nY2hlY2sgZmxhZyB0byBtYWtlIHN1cmUgdGhhdCB0 aGUgaGFuZyBjaGVja2VyIGFsd2F5cyAKcnVucyBjb25zaXN0ZW5jeSBwcmUtY2hlY2tpbmcgYW5k IHJlc2NoZWR1bGVzIGl0c2VsZiBpZiB0aGVyZSBpcyBtb3JlIAp3b3JrIHBlbmRpbmcgdG8gbWFr ZSBzdXJlIHRoYXQgYXMgbG9uZyBhcyB3b3JrIGlzIHBlbmRpbmcgd2UgZG8gCmNvbnNpc3RlbmN5 IGNoZWNraW5nIGFzeW5jaHJvbm91c2x5IHJlZ2FyZGxlc3Mgb2YgZXZlcnl0aGluZyBlbHNlIHNv IAp0aGF0IGlmIGEgd2F0Y2hkb2cgdGltZW91dCBoaXRzIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0 YXRlIG9uY2UgdGhlIAp3YXRjaGRvZyB0aW1lb3V0IGVuZHMgdXAgaW4gcGVyLWVuZ2luZSByZWNv dmVyeS4KCkdyYW50ZWQsIGlmIGEgd2F0Y2hkb2cgdGltZW91dCBoaXRzIGFmdGVyIHdlJ3ZlIGZp cnN0IGRldGVjdGVkIHRoZSAKaW5jb25zaXN0ZW5jeSBidXQgbm90IHlldCBoYWQgdGltZSB0byBy ZWN0aWZ5IGl0IGl0IGRvZXNuJ3Qgd29yayBpZiB0aGUgCmhhbmcgY2hlY2tlciBpcyB0dXJuZWQg b2ZmIGFuZCB3ZSBjYW5ub3QgcmVseSBvbiBwZXJpb2RpYyBoYW5nIGNoZWNraW5nIAp0byBzY2hl ZHVsZSBoYW5nIHJlY292ZXJ5IGluIHRoaXMgY2FzZSAtIHNvIGluIHRoYXQgY2FzZSB3ZSdyZSBz dGlsbCAKaXJyZWNvdmVyYWJseSBzdHVjay4gV2UgY291bGQgbWFrZSBjaGFuZ2UgaGVyZSBhbmQg ZG8gYSBvbmUtdGltZSAKaTkxNS5lbmFibGVfaGFuZ2NoZWNrIG92ZXJyaWRlIGFuZCBzY2hlZHVs ZSBoYW5nIHJlY292ZXJ5IGZvbGxvd2luZyB0aGlzIApwb2ludC4gSWYgeW91IHRoaW5rIGl0J3Mg d29ydGggaXQuCgkKQm90dG9tIGxpbmU6IFRoZSBjb25zaXN0ZW5jeSBjaGVja2luZyBtdXN0IGhh cHBlbiBhdCBhbGwgdGltZXMgYW5kIApjYW5ub3QgYmUgZG9uZSBhcyBhIGNvbnNlcXVlbmNlIG9m IGEgc2NoZWR1bGVkIHJlc2V0IGlmIGhhbmcgY2hlY2tpbmcgaXMgCnR1cm5lZCBvZmYgYXQgYW55 IHBvaW50LgoJCkFzIGZhciBhcyBjb25jdXJyZW5jeSBpc3N1ZXMgaW4gdGhlIGZhY2Ugb2YgQ1NT QyBpcyBjb25jZXJuZWQsIApkaXNyZWdhcmRpbmcgdGhlIGNvbXBsaWNhdGlvbiBvZiBoYW5kbGlu ZyBDU1NDIGluIHRoZSByZWNvdmVyeSBwYXRoIGFuZCAKcmVseWluZyBvbiBkZWZlcnJpbmcgdG8g dGhlIG5leHQgaGFuZyBkZXRlY3Rpb24Jd2l0aCBhbGwgb2YgdGhlIApjb25jdXJyZW5jeSBpc3N1 ZXMgdGhhdCBlbnRhaWxzOiBUaGUgcXVlc3Rpb24gcmVhbGx5IGlzIHdoYXQga2luZCBvZiAKY29u Y3VycmVuY3kgaXNzdWVzIHdlJ3JlIHdvcnJpZWQgYWJvdXQuIElmIHRoZSBoYW5nIGNoZWNrZXIg ZGV0ZXJtaW5lcyAKdGhhdCB3ZSd2ZSBnb3QgYSBoYW5nIHRoZW4gdGhhdCdzIGEgc3RhYmxlIHN0 YXRlLiBJZiB0aGUgaGFuZyBjaGVja2VyIApjb25zaXN0ZW5jeSBwcmUtY2hlY2sgZGV0ZXJtaW5l cyB0aGF0IHdlJ3ZlIGdvdCBhIHN1c3RhaW5lZCBDU1NDIAppbmNvbnNpc3RlbmN5IHRoZW4gdGhh dCdzIHN0YWJsZSB0b28uIFRoZSBzdGF0ZXMgYXJlIG5vdCBjaGFuZ2luZyBzbyAKd2hhdGV2ZXIg d2UgZG8gd2lsbCBub3QgYmUgYmVjYXVzZSB3ZSBkZXRlY3QgdGhlIHN0YXRlIGluIHRoZSBtaWRk bGUgb2YgCmEgc3RhdGUgdHJhbnNpdGlvbiBhbmQgdGhlIGRldGVjdGlvbiB3b24ndCBiZSBzdWJq ZWN0IHRvIGNvbmN1cnJlbmN5IAplZmZlY3RzLiBJZiB0aGUgaGFuZyBjaGVja2VyIGRlY2lkZXMg dGhhdCB0aGUgaW5jb25zaXN0ZW5jeSBuZWVkcyB0byBiZSAKcmVjdGlmaWVkIGFuZCBmYWtlcyB0 aGUgcHJlc3VtYWJseSBsb3N0IGludGVycnVwdCBhbmQgdGhlIHJlYWwsIHByZXN1bWVkIApsb3N0 LCBpbnRlcnJ1cHQgaGFwcGVucyB0byBjb21lIGluIGF0IHRoZSBzYW1lIHRpbWUgdGhlbiB0aGF0 J3MgZmluZSwgCnRoZSBDU0IgYnVmZmVyIGNoZWNrIGluIHRoZSBleGVjbGlzdCBpbnRlcnJ1cHQg aGFuZGxlciBpcyBtYWRlIHRvIGNvcGUgCndpdGggdGhhdC4gV2UgY2FuIGhhdmUgWCBudW1iZXIg b2YgY2FsbHMgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyIG9yIApqdXN0IG9uZSwgdGhlIG91dGNv bWUgaXMgc3VwcG9zZWQgdG8gYmUgdGhlIHNhbWUgLSB0aGUgb25seSB0aGluZyB0aGF0IAptYXR0 ZXJzIGlzIGNhcHR1cmVkIGNvbnRleHQgc3RhdGUgY2hhbmdlcyBpbiB0aGUgQ1NCIGJ1ZmZlciB0 aGF0IHdlIGFjdCAKdXBvbi4KClNvIEknbSBub3QgZW50aXJlbHkgc3VyZSB3aGF0IGNvbmN1cnJl bmN5IGlzc3VlcyBtaWdodCBiZSByZWFzb24gZW5vdWdoIAp0byBtb3ZlIG91dCB0aGUgQ1NTQyB0 byB0aGUgaGFuZyByZWNvdmVyeSBwYXRoLiBJbiBmYWN0LCBJJ2QgYmUgbW9yZSAKaW5jbGluZWQg dG8gY3JlYXRlIGEgc2Vjb25kIGFzeW5jIHRhc2sgZm9yIGl0IHRvIG1ha2Ugc3VyZSBpdCdzIGJl aW5nIApydW4gYXQgYWxsIHRpbWVzLiBCdXQgaW4gdGhhdCBjYXNlIHdlIG1pZ2h0IGFzIHdlbGwg bGV0IGl0IHN0YXkgaW4gdGhlIApoYW5nIGNoZWNrZXIuCgkKKEluIGEgc2ltaWxhciB2ZWluLCBJ IHRoaW5rIHdlIHNob3VsZCBtb3ZlIHRoZSBtaXNzZWQKPiAgICBpbnRlcnVwdCBoYW5kbGVyIGZv ciBsZWdhY3kgb3V0IG9mIGhhbmdjaGVjaywgcGFydGx5IHRvIHNpbXBsaWZ5IHNvbWUKPiAgICB2 ZXJ5IGNvbmZ1c2luZyBjb2RlIGFuZCBwYXJ0bHkgc28gdGhhdCB3ZSBoYXZlIGZld2VyIGRldmlh dGlvbnMKPiAgICBiZXR3ZWVuIGxlZ2FjeS9leGVjbGlzdHMgcGF0aHMuKSBJdCBhbHNvIGdldHMg dXMgdGhpbmtpbmcgYWJvdXQgdGhlCj4gICAgY29uc2lzdGVuY3kgZGV0ZWN0aW9uIGFuZCB3aGVu IGl0IGlzIHZpYWJsZSB0byBkbyBhIGZha2UtaW50ZXJydXB0IGFuZAo+ICAgIHdoZW4gd2UgbXVz dCBkbyBhIGZ1bGwtcmVzZXQgKGZvciBleGFtcGxlLCB3ZSBvbmx5IHdhbnQgdG8KPiAgICBmYWtl LWludGVycnVwdCBpZiB0aGUgY29uc2lzdGVuY3kgY2hlY2sgc2F5cyB0aGUgR1BVIGlzIGlkbGUs IGFuZCB3ZQo+ICAgIGRlZmluaXRlbHkgd2FudCB0byByZXNldCBldmVyeXRoaW5nIGlmIHRoZSBH UFUgaXMgZXhlY3V0aW5nIGFuIGFsaWVuCj4gICAgY29udGV4dC4pCj4KPiAgICBBIHRlc3QgaGVy ZSB3b3VsZCBiZSB0byBzdXNwZW5kIHRoZSBleGVjbGlzdHMgaXJxIGFuZCB3YWl0IGZvciB0aGUK PiAgICByZWNvdmVyeS4gQ2hlZWtpbHkgd2UgY291bGQgcHVuY2ggdGhlIGlycSBlaXIgYnkgcm9v dCBtbWlvIGFuZCBjaGVjawo+ICAgIGhhbmdjaGVjayBhdXRvbWFnaWNhbGx5IHJlY292ZXJzLgo+ Cj4gV2hpbHN0IGl0IHdvdWxkIGJlIG5pY2UgdG8gYWRkIHRoZSB3YXRjaGRvZyBuZXh0LCBzaW5j ZSBpdCBpcwo+IGNvbmNlcHR1YWxseSBxdWl0ZSBzaW1wbGUgYW5kIGJhc2ljYWxseSBqdXN0IGEg bmV3IGhhbmdjaGVjayBzb3VyY2Ugd2l0aAo+IGZhbmN5IHNldHVwIC0gZmFzdCBoYW5nY2hlY2sg d2l0aG91dCBzb2Z0IHJlc2V0IG1ha2VzIGZvciBhbiBlYXN5IERvUy4KPgo+IDIuIFREUgo+Cj4g ICAgR2l2ZW4gdGhhdCB3ZSBoYXZlIGEgY29uc2lzdGVuY3kgY2hlY2sgYW5kIGJlZ3VuIHRvIGV4 dGVuZCB0aGUgcmVzZXQKPiAgICBwYXRoLCB3ZSBjYW4gaW1wbGVtZW50IGEgc29mdCByZXNldCB0 aGF0IG9ubHkgc2tpcHMgdGhlIGh1bmcgcmVxdWVzdC4KPiAgICAoVGhlIGRldmlsIGlzIGluIHRo ZSBkZXRhaWxzLCB3aGlsc3QgdGhlIGRlc2lnbiBoZXJlIGxvb2tlZCBzb2xpZCwgSQo+ICAgIHRo aW5rIHRoZSBMUkMgcmVjb3ZlcnkgY29kZSBjb3VsZCBiZSBzaW1wbGlmaWVkIC0gSSBkaWRuJ3Qg ZmVlbAo+ICAgIGFub3RoZXIgcmVxdWV1ZSBwYXRoIHdhcyByZXF1aXJlZCBnaXZlbiB0aGF0IHdl IG5lZWQgb25seSBwcmV0ZW5kIGEKPiAgICByZXF1ZXN0IGNvbXBsZXRlZCAoZml4aW5nIHVwIHRo ZSBjb250ZXh0IGltYWdlIGFzIHJlcXVpcmVkKSBhbmQgdGhlbgo+ICAgIHVzZSB0aGUgbm9ybWFs IHVucXVldWUuKSBUaGVyZSBpcyBhbHNvIHF1aXRlIGEgYml0IG9mIExSQyBjbGVhbnVwIG9uCj4g ICAgdGhlIGxpc3RzIHdoaWNoIHdvdWxkIGJlIHVzZWZ1bCBoZXJlLgoKQXMgZmFyIGFzIHRoZSBu ZXcgcmVxdWV1ZSAob3IgcmVzdWJtaXNzaW9uKSBwYXRoIGlzIGNvbmNlcm5lZCwgeW91IG1pZ2h0 IApoYXZlIGEgcG9pbnQgaGVyZS4gVGhlIHJlYXNvbiBpdCdzIGFzIGludm9sdmVkIGFzIGl0IGlz IGlzIHByb2JhYmx5IAptb3N0bHkgYmVjYXVzZSBvZiBhbGwgdGhlIHZhbGlkYXRpb24gdGhhdCB0 YWtlcyBwbGFjZSBpbiB0aGUgCnJlc3VibWlzc2lvbiBwYXRoLiBNZWFuaW5nIHRoYXQgb25jZSB0 aGUgcmVzdWJtaXNzaW9uIGhhcHBlbnMgYXQgdGhlIGVuZCAKb2YgdGhlIHBlci1lbmdpbmUgaGFu ZyByZWNvdmVyeSBwYXRoIHdlIHdhbnQgdG8gbWFrZSBleHRyYSBzdXJlIHRoYXQgdGhlIApjb250 ZXh0IHRoYXQgZ2V0cyByZXN1Ym1pdHRlZCBpbiB0aGUgZW5kICh0aGUgaGVhZCBlbGVtZW50IG9m IHRoZSBxdWV1ZSAKYXQgdGhhdCBwb2ludCBpbiB0aW1lKSBpcyBpbiBmYWN0IHRoZSBvbmUgdGhh dCB3YXMgcGFzc2VkIGRvd24gZnJvbSB0aGUgCnBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBwYXRo ICh0aGUgY29udGV4dCBhdCB0aGUgaGVhZCBvZiB0aGUgcXVldWUgYXQgCnRoZSBzdGFydCBvZiB0 aGUgaGFuZyByZWNvdmVyeSBwYXRoKSwgc28gdGhhdCB0aGUgc3RhdGUgb2YgdGhlIHF1ZXVlIApk aWRuJ3QgY2hhbmdlIGR1cmluZyBoYW5nIHJlY292ZXJ5LiBNYXliZSB3ZSdyZSB0b28gcGFyYW5v aWQgaGVyZS4KCj4KPiAgICBMb3RzIG9mIHRlc3RzIGZvciBjb25jdXJyZW50IGVuZ2luZSB1dGls aXNhdGlvbiwgbXVsdGlwbGUgY29udGV4dHMsCj4gICAgZXRjIGFuZCBlbnN1cmluZyB0aGF0IGEg aGFuZyBpbiBvbmUgZG9lcyBub3QgYWZmZWN0IGluZGVwZW5kZW50IHdvcmsKPiAgICAoZW5naW5l cywgYmF0Y2hlcywgY29udGV4dHMpLgo+Cj4gMy4gV2F0Y2hkb2cKPgo+ICAgIEEgbmV3IGZhc3Qg aGFuZ2NoZWNrIHNvdXJjZS4gU28gY29uY3VycmVuY3ksIHByb21vdGlvbiAocmVsYXRpdmUKPiAg ICBzY29yaW5nIGJldHdlZW4gd2F0Y2hkb2cgLyBoYW5nY2hlY2spIGFuZCBpc3N1ZSB3aXRoIG5v dCBwcm9ncmFtbWluZwo+ICAgIHRoZSByaW5nIGNvcnJlY3RseSAoYmV3YXJlIHRoZSBpbnRlcnJ1 cHQgYWZ0ZXIgcGVyZm9ybWluZyBhIGRpc3BhdGNoCj4gICAgYW5kIHByb2dyYW1taW5nIHRoZSB0 YWlsLCBuZWVkcyBlaXRoZXIgcmVzZXJ2ZWQgc3BhY2UsIGlubGluaW5nIGludG8KPiAgICB0aGUg ZGlzcGF0Y2ggZXRjKS4KPgo+ICAgIFRoZSBvbmx5IHRoaW5nIG9mIHJlbWFyayBoZXJlIGlzIHRo ZSB1YXBpLiBJdCBpcyBhIHNlcnZlciBmZWF0dXJlCj4gICAgKGludGVyYWN0aXZlIGNsaWVudHMg YXJlIGxlc3MgbGlrZWx5IHRvIHRvbGVyYXRlIGRhdGEgYmVpbmcgdGhyb3duCj4gICAgYXdheSku IERvIHdlIHdhbnQgYW4gZXhlY2J1ZiBiaXQgb3IgY29udGV4dCBwYXJhbT8gQW4gZXhlY2J1ZiBi aXQKPiAgICBhbGxvd3Mgc3dpdGNoaW5nIGJldHdlZW4gdHdvIHdhdGNoZG9nIHRpbWVycyAob3Ig b24vb2ZmKSwgYnV0IHdlCj4gICAgaGF2ZSBtYW55IG1vcmUgY29udGV4dCBwYXJhbXMgYXZhaWxh YmxlIHRoYW4gYml0cy4gRG8gd2Ugd2FudCB0bwo+ICAgIGV4cG9zZSBjb250ZXh0IHBhcmFtcyB0 byBzZXQgdGhlIGZhc3Qvc2xvdyB0aW1lb3V0cz8KPgo+ICAgIFdlIGhhdmVuJ3QgZm91bmQgYW55 IEdMIHNwZWMgdGhhdCBkZXNjaWJlIGNvbnRyb2xsYWJsZSB3YXRjaGRvZ3MsIHNvCj4gICAgdGhl IHVsdGltYXRlIHVhcGkgcmVxdWlyZW1lbnRzIGFyZSB1bmtub3duLiBNeSBmZWVsaW5nIGlzIHRo YXQgd2Ugd2FudAo+ICAgIHRvIGRvIHRoZSBpbml0aWFsIHVhcGkgdGhyb3VnaCBjb250ZXh0IHBh cmFtcywgYW5kIHN0YXJ0IHdpdGggYSBzaW5nbGUKPiAgICBmYXN0IHdhdGNoZG9nIHRpbWVvdXQg dmFsdWUuIFRoaXMgaXMgc3VmZmljaWVudCBmb3IgdGVzdGluZyBhbmQKPiAgICBwcm9iYWJseSBm b3IgbW9zdCB1c2UgY2FzZXMuIFRoaXMgY2FuIGVhc2lseSBiZSBleHRlbmRlZCBieSBhZGRpbmcg YW4KPiAgICBleGVjYnVmIGJpdCB0byBzd2l0Y2ggYmV0d2VlbiB0d28gdmFsdWVzIGFuZCBhIGNv bnRleHQgcGFyYW0gdG8gc2V0Cj4gICAgdGhlIHNlY29uZCB2YWx1ZS4gKElmIHRoZSBzZWNvbmQg dmFsdWUgaXNuJ3Qgc2V0LCB0aGUgZXhlY2J1ZiBiaXQKPiAgICBkb3NuJ3QgZG8gYW55dGhpbmcg dGhlIHdhdGNoZG9nIGlzIGFsd2F5cyBwcm9ncmFtbWVkIHRvIHRoZSB1c2VyCj4gICAgdmFsdWUu IElmIHRoZSBzZWNvbmQgdmFsdWUgaXMgc2V0IChtYXliZSBpbmZpbml0ZSksIHRoZW4gdGhlIGV4 ZWNidWYKPiAgICBiaXQgaXMgdXNlZCB0byBzZWxlY3Qgd2hpY2ggdGltZW91dCB0byB1c2UgZm9y IHRoYXQgYmF0Y2guKSBCdXQgZ2l2ZW4KPiAgICB0aGF0IHRoaXMgaXMgYSBzZXJ2ZXItZXNxdWUg ZmVhdHVyZSwgaXQgaXMgbGlrZWx5IHRvIGJlIGEgc2V0dGluZyB0aGUKPiAgICB1c2Vyc3BhY2Ug ZHJpdmVyIGltcG9zZXMgdXBvbiBpdHMgY2xpZW50cywgYW5kIHRoZXJlIGlzIHVubGlrZWx5IHRv IGJlCj4gICAgdGhlIG5lZWQgdG8gc3dpdGNoIHRpbWVvdXRzIHdpdGhpbiBhbnkgb25lIGNsaWVu dC4KCgpUaGlzIG1heSBvciBtYXkgbm90IGJlIHRydWUuIFdlIG5lZWQgdG8gdGhyYXNoIG91dCB0 aGVzZSBkZXRhaWxzLiBBcyB5b3UgCnNhaWQsIHRoZSByZXF1aXJlbWVudHMgYXJlIHF1aXRlIGZ1 enp5IGF0IHRoaXMgcG9pbnQuIEluIHRoZSBlbmQgYSBnb29kIAptZXRob2QgbWlnaHQgYmUgdG8g anVzdCBnZXQgc29tZXRoaW5nIGluIHRoZXJlIGluIGNvb3BlcmF0aW9uIHdpdGggT05FIApvcGVu IHNvdXJjZSB1c2VyIGFuZCBsZXQgYWxsIG90aGVyIHVzZXJzIHNjcmVhbSBhZnRlciBpdCdzIGdv bmUgaW4gdGhlcmUgCmFuZCB0aGVuIGV4dGVuZCB0aGUgaW50ZXJmYWNlICh3aXRob3V0IGJyZWFr aW5nIEFCSSkgdG8gYWNjb21vZGF0ZSB0aGUgCm90aGVyIHVzZXJzLiBJJ3ZlIHRyaWVkIHRvIGRy dW0gdXAgZW50aHVzaWFzbSBmb3IgdGhpcyBuZXcgZmVhdHVyZSBidXQgCnNvIGZhciBpdCdzIG5v dCBiZWVuIG92ZXJ3aGVsbWluZyBzbyBpdCdzIGRpZmZpY3VsdCB0byBzb2x2ZSB0aGlzIApjaGlj a2VuIGFuZCBlZ2cgcHJvYmxlbSB3aXRob3V0IHByb3BlciBpbnB1dCBmcm9tIHVzZXJsYW5kIHVz ZXJzLgoJCklmIHNvbWVvbmUgd3JpdGVzIHNvbWV0aGluZyBpbiBzdG9uZSBhbmQgdGVsbHMgbWUg dG8gaW1wbGVtZW50IGV4YWN0bHkgCnRoYXQgdGhlbiBJJ2xsIGRvIGl0IGJ1dCBzbyBmYXIgdGhl cmUgaGFzIGJlZW4gbm8gY29udmluY2luZyBhcmd1bWVudCAKcG9pbnRpbmcgdG8gYW55IHBhcnRp Y3VsYXIgZGVzaWduIGFzaWRlIGZyb20gdGhlIGNob2ljZSBvZiBkZWZhdWx0IAp0aW1lb3V0LCB3 aGljaCB3YXMgYWN0dWFsbHkgZGVjaWRlZCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggdmFyaW91cyAK dXNlcmxhbmQgZ3JvdXBzIGFuZCB3YXMgbm90aGluZyB3ZSBqdXN0IG1hZGUgdXAgYnkgb3Vyc2Vs dmVzLgoKPgo+ICAgIFRoZSB0ZXN0cyBoZXJlIHdvdWxkIGZvY3VzIG9uIHRoZSB1YXBpIGFuZCBl bnN1cmluZyB0aGF0IGlmIHRoZSBjbGllbnQKPiAgICBhc2tzIGZvciBhIDYwbXMgaGFuZyBkZXRl Y3Rpb24sIHRoZW4gYWxsIHdvcmsgcGFja2V0cyB0YWtlIGF0IG1vc3QKPiAgICA2MG1zIHRvIGNv bXBsZXRlLiBIbW0sIGFkZCB3YWl0X2lvY3RsIHRvIHRoZSBsaXN0IG9mIHVhcGkgdGhhdCBzaG91 bGQKPiAgICByZXBvcnQgLUVJTy4KPgo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jICAgICB8ICAxNDYgKysrKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYyAgICAgICAgIHwgIDIwMSArKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICB8ICA4NTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ Cj4gVGhlIGJhbGFuY2UgaGVyZSBmZWVscyB3cm9uZyA7LSkKCk9uY2Ugd2UgZ2V0IGdlbjcgc3Vw cG9ydCBpbiB0aGVyZSwgYWZ0ZXIgdGhpcyBSRkMsIEkgY2FuIGFzc3VyZSB5b3UgdGhhdCAKaXQg d2lsbCBldmVuIG91dCBpbiByZWdhcmRzIHRvIGludGVsX3JpbmdidWZmZXIuYyBhbmQgb3RoZXIg ZmlsZXMuIFRoZSAKZ2VuIGFnbm9zdGljIFREUiBmcmFtZXdvcmsgZG9lcyBmb2N1cyBhIGxvdCBv biBpOTE1X2Rydi5jIGFuZCAKaTkxNV9pcnEuYywgaW50ZWxfbHJjLmMgaXMgaGVhdnkgYmVjYXVz ZSBvdXIgcHJpbmNpcGFsIGltcGxlbWVudGF0aW9uIApmb2N1c2VzIG9uIGdlbjggaW4gZXhlY2xp c3QgbW9kZSB3aGljaCBpcyBsb2NhbGl6ZWQgaW4gaW50ZWxfbHJjLmMgLgoKQnV0LCB5ZWFoLCBJ IGdldCB3aGF0IHlvdSdyZSBzYXlpbmcgOykuIEp1c3Qgc3RhdGluZyBmb3IgdGhlIHJlY29yZC4K ClRoYW5rcywKVG9tYXMKCj4gLUNocmlzCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==