From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Michel_D=c3=a4nzer?= Subject: Re: [PATCH v4 3/4] drm: Document variable refresh properties Date: Thu, 1 Nov 2018 18:05:05 +0100 Message-ID: <8617ac72-ec32-8146-cead-e28e78067ec0@daenzer.net> References: <20181011163942.28267-1-nicholas.kazlauskas@amd.com> <20181011163942.28267-4-nicholas.kazlauskas@amd.com> <20181026143719.01381cdd@eldfell> <20181026145321.GV9144@intel.com> <20181026175924.GH9144@intel.com> <481ae686-adda-5857-5538-2b0af2e25427@daenzer.net> <20181029180341.GN9144@intel.com> <13a934a2-5cea-3d1b-ec57-bf5488698129@daenzer.net> <1c1c0f6f-ccbd-bfc2-f249-a01f6fc997ec@amd.com> <311638a8-eb8a-cb8d-3f7a-109aaa4b046b@amd.com> <31902d88-aa0c-a7de-a17b-6e5e6ec23f56@amd.com> <689846fa-7315-1fe4-77e5-4651bf6a21b5@daenzer.net> <87bcab42-e377-259c-13ea-0cfe9c675cf9@amd.com> <99214cf0-9717-3c23-9457-791288d4d252@daenzer.net> <70d948e9-672b-df05-71cc-448d11fbb173@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <70d948e9-672b-df05-71cc-448d11fbb173@amd.com> Content-Language: en-CA List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Kazlauskas, Nicholas" , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: "daniel.vetter@ffwll.ch" , "Olsak, Marek" , "amd-gfx@lists.freedesktop.org" , "manasi.d.navare@intel.com" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" List-Id: dri-devel@lists.freedesktop.org T24gMjAxOC0xMS0wMSAzOjU4IHAubS4sIEthemxhdXNrYXMsIE5pY2hvbGFzIHdyb3RlOgo+IE9u IDExLzEvMTggNjo1OCBBTSwgTWljaGVsIETDpG56ZXIgd3JvdGU6Cj4+IE9uIDIwMTgtMTAtMzEg Njo1NCBwLm0uLCBLYXpsYXVza2FzLCBOaWNob2xhcyB3cm90ZToKPj4+IE9uIDEwLzMxLzE4IDEy OjIwIFBNLCBNaWNoZWwgRMOkbnplciB3cm90ZToKPj4+PiBPbiAyMDE4LTEwLTMxIDM6NDEgcC5t LiwgS2F6bGF1c2thcywgTmljaG9sYXMgd3JvdGU6Cj4+Pj4+IE9uIDEwLzMxLzE4IDEwOjEyIEFN LCBNaWNoZWwgRMOkbnplciB3cm90ZToKPj4+Pj4+IE9uIDIwMTgtMTAtMzEgMjozOCBwLm0uLCBL YXpsYXVza2FzLCBOaWNob2xhcyB3cm90ZToKPj4+Pj4+Pgo+Pj4+Pj4+IEkgZGlkIHNvbWUgbW9y ZSBpbnZlc3RpZ2F0aW9uIGludG8gd2hlbiBhbWRncHUgZ2V0cyB0aGUgc2Nhbm91dCBwb3NpdGlv bgo+Pj4+Pj4+IGFuZCB3aGF0IHZhbHVlcyB3ZSBnZXQgYmFjayBvdXQgb2YgaXQuIFRoZSB0aW1l c3RhbXAgaXMgdXBkYXRlZCBzaG9ydGx5Cj4+Pj4+Pj4gYWZ0ZXIgdGhlIGNydGMgaXJxIHZibGFu ayB3aGljaCBpcyB0eXBpY2FsbHkgd2l0aGluIGEgZmV3IGxpbmVzIG9mCj4+Pj4+Pj4gdmJsX3N0 YXJ0LiBUaGlzIG1ha2VzIHNlbnNlLCBzaW5jZSB3ZSBjYW4gcHJvdmlkZSB0aGUgcHJlZGljdGlv bgo+Pj4+Pj4+IHRpbWVzdGFtcCBlYXJseS4gV2FpdGluZyBmb3IgdGhlIHZibGFuayB0byB3cmFw IGFyb3VuZCB0byAwIGRvZXNuJ3QKPj4+Pj4+PiByZWFsbHkgbWFrZSBzZW5zZSBoZXJlIHNpbmNl IHRoYXQgd291bGQgbWVhbiB3ZSBhbHJlYWR5IGhpdCB0aW1lb3V0IG9yCj4+Pj4+Pj4gdGhlIGZs aXAgb2NjdXJyZWQKPj4+Pj4+Cj4+Pj4+PiBTb3VuZHMgbGlrZSB5b3UncmUgbWl4aW5nIHVwIHRo ZSB0d28gY2FzZXMgb2YgImFjdHVhbCIgdmJsYW5rIGV2ZW50cwo+Pj4+Pj4gKHRyaWdnZXJlZCBi eSB0aGUgInZibGFuayIgaW50ZXJydXB0ID0+IGRybV8oY3J0Y18paGFuZGxlX3ZibGFuaykgYW5k Cj4+Pj4+PiBmbGlwIGNvbXBsZXRpb24gZXZlbnRzICh0cmlnZ2VyZWQgYnkgdGhlIFBGTElQIGlu dGVycnVwdCB3aXRoIG91cgo+Pj4+Pj4gaGFyZHdhcmUgPT4gZHJtX2NydGNfc2VuZF92Ymxhbmtf ZXZlbnQpLgo+Pj4+Pj4KPj4+Pj4+IEFjdHVhbCB2YmxhbmsgZXZlbnRzIG5lZWQgdG8gYmUgZGVs aXZlcmVkIHRvIHVzZXJzcGFjZSBhdCB0aGUgc3RhcnQgb2YKPj4+Pj4+IHZibGFuaywgc28gd2Ug aW5kZWVkIGNhbid0IHdhaXQgdW50aWwgdGhlIHRpbWVzdGFtcCBpcyBhY2N1cmF0ZSBmb3IKPj4+ Pj4+IHRoZW0uIFdlIGp1c3QgbmVlZCB0byBkb2N1bWVudCB0aGUgZXhhY3Qgc2VtYW50aWNzIG9m IHRoZWlyIHRpbWVzdGFtcAo+Pj4+Pj4gd2l0aCBWUlIuCj4+Pj4+Pgo+Pj4+Pj4gRm9yIHBhZ2Ug ZmxpcCBjb21wbGV0aW9uIGV2ZW50cyB0aG91Z2gsIHRoZSB0aW1lc3RhbXAgbmVlZHMgdG8gYmUK Pj4+Pj4+IGFjY3VyYXRlIGFuZCBjb3JyZXNwb25kIHRvIHdoZW4gdGhlIGZsaXBwZWQgZnJhbWUg c3RhcnRzIGJlaW5nIHNjYW5uZWQKPj4+Pj4+IG91dCwgb3RoZXJ3aXNlIHdlJ2xsIHN1cmVseSBi cmVhayBhdCBsZWFzdCBzb21lIHVzZXJzcGFjZSByZWx5aW5nIG9uCj4+Pj4+PiB0aGlzIGluZm9y bWF0aW9uLgo+Pj4+Pj4KPj4+Pj4gWWVhaCwgSSB3YXMuIEkgZ3Vlc3Mgd2hhdCdzIHNlbnQgaXMg dGhlIGVzdGltYXRlZCB2YmxhbmsgdGltZXN0YW1wCj4+Pj4+IGNhbGN1bGF0ZWQgYXQgdGhlIHN0 YXJ0IG9mIHRoZSBpbnRlcnJ1cHQuCj4+Pj4KPj4+PiBzL2ludGVycnVwdC92YmxhbmsvLCB5ZWFo Lgo+Pj4+Cj4+Pj4KPj4+Pj4gQW5kIHNpbmNlIHRoYXQncyBqdXN0IGEgZ3Vlc3MgcmF0aGVyIHRo YW4gd2hhdCdzIGFjdHVhbGx5IGdvaW5nIHRvCj4+Pj4+IGhhcHBlbiBpdCdzIGdvaW5nIHRvIGJl IHdyb25nIGluIGEgbG90IG9mIGNhc2VzLgo+Pj4+Pgo+Pj4+PiBJIGNvdWxkIHNlZSB0aGUgd3Jh cC1hcm91bmQgbWV0aG9kIHdvcmtpbmcgaWYgdGhlIHZibGFuayB0aW1lc3RhbXAgd2FzCj4+Pj4+ IHNvbWVob3cgdXBkYXRlZCBpbiBhbWRncHUgb3IgaW4gZHJtX2NydGNfc2VuZF92YmxhbmtfZXZl bnQuCj4+Pj4KPj4+PiBEQyBhbHJlYWR5IGNhbGxzIGRybV9jcnRjX2FjY3VyYXRlX3ZibGFua19j b3VudCBiZWZvcmUKPj4+PiBkcm1fY3J0Y19zZW5kX3ZibGFua19ldmVudCwgd2UgImp1c3QiIG5l ZWQgdG8gbWFrZSBzdXJlIHRoYXQgcmVzdWx0cyBpbgo+Pj4+IGFuIGFjY3VyYXRlIHRpbWVzdGFt cC4KPj4+Pgo+Pj4+Cj4+Pj4+IFRoaXMgd291bGQgYmUgYSByZWxhdGl2ZWx5IHNpbXBsZSBmaXgg YnV0IHdvdWxkIGJyZWFrIGFueXRoaW5nIGluCj4+Pj4+IHVzZXJzcGFjZSB0aGF0IHJlbGllZCBv biB0aGUgdGltZXN0YW1wIGZvciB2YmxhbmsgaW50ZXJydXB0IGFuZCB0aGUKPj4+Pj4gZmxpcCBj b21wbGV0aW9uIGJlaW5nIHRoZSBzYW1lIHZhbHVlLgo+Pj4+Cj4+Pj4gSG1tLCB0aGF0J3MgYSBn b29kIHBvaW50LiBTbyB3aGlsZSBWUlIgaXMgZW5hYmxlZCwgbWF5YmUgaXQgaXMgc2FmZXIgdG8K Pj4+PiBkZWZlciBkZWxpdmVyeSBvZiB2YmxhbmsgZXZlbnRzIHVudGlsIHRoZSBhY2N1cmF0ZSB0 aW1lc3RhbXAgaXMga25vd24gYXMKPj4+PiB3ZWxsLCBhdCBsZWFzdCBieSBkZWZhdWx0LiBJZiB0 aGVyZSBpcyB1c2Vyc3BhY2Ugd2hpY2ggbmVlZHMgdGhlIGV2ZW50cwo+Pj4+IGVhcmxpZXIgZXZl biB3aXRoIFZSUiBidXQgY2FuIGxpdmUgd2l0aCB0aGUgZ3Vlc3NlZCB0aW1lc3RhbXAsIGEgZmxh ZyBvcgo+Pj4+IHNvbWV0aGluZyBjb3VsZCBiZSBhZGRlZCBmb3IgdGhhdC4KPj4+Cj4+PiBJIHdh cyB1bmRlciB0aGUgaW1wcmVzc2lvbiB0aGF0IHRoZSB2YmxhbmsgdGltZXN0YW1wIHdhcyByZXVz ZWQgYnV0IGl0J3MKPj4+IGFscmVhZHkgZ29pbmcgdG8gZGlmZmVyIHNpbmNlIHdlIGNhbGwgZHJt X2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50Cj4+PiBiZWZvcmUgZHJtX2NydGNfc2VuZF92Ymxh bmtfZXZlbnQuIFRoYW5rcyBmb3IgcG9pbnRpbmcgdGhhdCBvdXQuCj4+Pgo+Pj4gU2luY2UgdGhh dCB3b3JrcyBmb3IgdXBkYXRpbmcgdGltZXN0YW1wIHdoYXQncyBsZWZ0IGlzIG1ha2luZyBzdXJl IHRoYXQKPj4+IGl0IHdhaXRzIGZvciB0aGUgd3JhcCBhcm91bmQgaWYgaXQncyBhYm92ZSBjcnRj X3Z0b3RhbC4gSXQgbWlnaHQgbWFrZQo+Pj4gc2Vuc2UgdG8gYWRkIGEgbmV3IGZsYWcgZm9yIHRo aXMgdGhhdCdzIG9ubHkgdXNlZCB3aXRoaW4KPj4+IGFtZGdwdV9nZXRfY3J0Y19zY2Fub3V0X3Bv c2l0aW9uIHNvIHRoZSBvdGhlciBjYWxsIHNpdGVzIGFyZW4ndCBhZmZlY3RlZC4KPj4+Cj4+PiBU aGVyZSBpc24ndCBhIHdheSB0byBnZXQgYW4gYWNjdXJhdGUgdGltZXN0YW1wIHdpdGggVlJSIGVu YWJsZWQgdW50aWwKPj4+IGFmdGVyIHRoZSBmbGlwIGhhcHBlbnMuIFNvIGRlZmVycmluZyBpdCBr aW5kIG9mIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgYQo+Pj4gY2xpZW50IHVzaW5nIGl0IHRvIG1h a2UgcHJlZGljdGlvbnMgYmVmb3JlIHRoZSBmbGlwIGZvciBkaXNwbGF5aW5nIHRoZWlyCj4+PiBj b250ZW50Lgo+Pgo+PiBUaGF0J3MgZ2VuZXJhbGx5IG5vdCBhIHZhbGlkIHVzZS1jYXNlLiBUaGUg S01TIEFQSSBpcyBkZWZpbmVkIHN1Y2ggdGhhdAo+PiBpZiB1c2Vyc3BhY2UgcmVjZWl2ZXMgdGhl IHZibGFuayBldmVudCBmb3IgdmJsYW5rIHBlcmlvZCBOIGFuZCB0aGVuCj4+IHN1Ym1pdHMgYSBw YWdlIGZsaXAsIHRoZSBwYWdlIGZsaXAgY2Fubm90IChub3JtYWxseVswXSkgdGFrZSBlZmZlY3QK Pj4gYmVmb3JlIHZibGFuayBwZXJpb2QgTisxLgo+Pgo+Pgo+PiBUaGVyZSBhcmUgbWFpbmx5IHR3 byB2YWxpZCB1c2UtY2FzZXMgZm9yIHdhaXRpbmcgZm9yIHZibGFuazoKPj4KPj4gMS4gV2FpdCBm b3IgdmJsYW5rIE4sIHRoZW4gc3VibWl0IHBhZ2UgZmxpcCBmb3IgdmJsYW5rIE4rMS4KPj4KPj4g Mi4gV2FpdCBmb3IgdmJsYW5rIE4sIHRoZW4gdHJ5IHRvIGRvIHNvbWV0aGluZyBiZWZvcmUgdmJs YW5rIE4gZW5kcywKPj4gZS5nLiBkcmF3IGRpcmVjdGx5IHRvIHRoZSBmcm9udCBidWZmZXIsIGFz IGEgcG9vciBtYW4ncyB3YXkgb2YgYXZvaWRpbmcKPj4gdGVhcmluZyBvciBzaW1pbGFyIGFydGlm YWN0cy4KPj4KPj4KPj4gVXNlLWNhc2UgMSBpcyB1c2VkIGJ5IFhvcmcgKGJvdGggZm9yIFByZXNl bnQgYW5kIERSSTIpIGFuZCBhdCBsZWFzdAo+PiBXZXN0b24sIGJ1dCBwcmVzdW1hYmx5IG1vc3Qg aWYgbm90IGFsbCBXYXlsYW5kIGNvbXBvc2l0b3JzLiBGcm9tIFBla2thJ3MKPj4gZGVzY3JpcHRp b24gb2YgaG93IFdlc3RvbiB1c2VzIGl0ICh0aGFua3MhKSwgaXQncyBjbGVhciB0aGF0IHRoZQo+ PiB0aW1lc3RhbXAgb2YgdmJsYW5rIGV2ZW50cyBkb2VzIG5lZWQgdG8gYWNjdXJhdGVseSBjb3Jy ZXNwb25kIHRvIHRoZSBlbmQKPj4gb2YgdGhlIHZibGFuayBwZXJpb2QuCj4+Cj4+IFVzZS1jYXNl IDIgaXMgYWxzbyB1c2VkIGJ5IFhvcmcsIGJ1dCBvbmx5IHdoZW4gbm90IGZsaXBwaW5nLCB3aGlj aCBydWxlcwo+PiBvdXQgVlJSLiBBbHNvLCBJJ2QgYXJndWUgdGhhdCBibG9ja2luZyB3YWl0cyBm b3IgdmJsYW5rIGFyZSBtb3JlCj4+IHN1aXRhYmxlIGZvciB0aGlzIHVzZS1jYXNlIHRoYW4gdmJs YW5rIGV2ZW50cy4KPj4KPj4gVGhlcmVmb3JlLCBpbiBzdW1tYXJ5IEkgcHJvcG9zZSB0aGlzIGlz IGhvdyBpdCBjb3VsZCB3b3JrOgo+Pgo+PiAqIFdpdGhvdXQgVlJSLCB0aW1lc3RhbXBzIGNvbnRp bnVlIHRvIHdvcmsgdGhlIHNhbWUgd2F5IHRoZXkgZG8gbm93Lgo+Pgo+PiAqIFdpdGggVlJSLCBk ZWxpdmVyeSBvZiBib3RoIHZibGFuayBhbmQgcGFnZSBmbGlwIGNvbXBsZXRpb24gZXZlbnRzIG11 c3QKPj4gYmUgZGVmZXJyZWQgdW50aWwgdGhlIHRpbWVzdGFtcCBhY2N1cmF0ZWx5IGNvcnJlc3Bv bmRzIHRvIHRoZSBhY3R1YWwgZW5kCj4+IG9mIHZibGFuay4gRm9yIGJsb2NraW5nIHZibGFuayB3 YWl0cywgSSdtIG5vdCBzdXJlLCBidXQgSSdtIGxlYW5pbmcKPj4gdG93YXJkcyBjb250aW51aW5n IHRvIHJldHVybiB0byB1c2Vyc3BhY2UgYXQgdGhlIGJlZ2lubmluZyBvZiB2YmxhbmsgYnkKPj4g ZGVmYXVsdCwgZXZlbiBpZiB0aGUgdGltZXN0YW1wIGlzIGluYWNjdXJhdGUuCj4+Cj4+IERlZmVy cmluZyBkZWxpdmVyeSBvZiBldmVudHMgc2hvdWxkIGF2b2lkIGJ1c3ktbG9vcHMuIEJvbnVzIHBv aW50cyBmb3IKPj4gbWluaW1pemluZyB0aGUgbnVtYmVyIG9mIGludGVycnVwdHMgbmVlZGVkLiA6 KQo+Pgo+PiBOb3RlIHRoYXQgYm90aCBibG9ja2luZyB2Ymxhbmsgd2FpdHMgYW5kIHZibGFuayBl dmVudHMgYXJlIGN1cnJlbnRseQo+PiB0cmlnZ2VyZWQgZnJvbSBkcm1fKGNydGNfKWhhbmRsZV92 YmxhbmssIHNvIHNvbWUgcmV3b3JrIHdvdWxkIGJlCj4+IHJlcXVpcmVkIGZvciB0aGlzLgo+Pgo+ PiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlcmUncyBvdGhlciB1c2Vyc3BhY2Ugd2hpY2ggZG9lc24n dCBjYXJlIGFib3V0IHRoZQo+PiBhY2N1cmFjeSBvZiB0aGUgdGltZXN0YW1wcywgYnV0IGNhcmVz IGFib3V0IGdldHRpbmcgZXZlbnRzIGFzIGVhcmx5IGFzCj4+IHBvc3NpYmxlLiBJbiB0aGF0IGNh c2UsIGZsYWdzIG1pZ2h0IG5lZWQgdG8gYmUgYWRkZWQuCj4+Cj4+Cj4+IFswXSBPdXIgZHJpdmVy cyBjYW4gY29tcGxldGUgdGhlIGZsaXAgaW4gdGhlIHNhbWUgdmJsYW5rIHBlcmlvZCB1bmRlcgo+ PiBzb21lIGNpcmN1bXN0YW5jZXMgaWYgdXNlcnNwYWNlIHNwZWNpZmllcyBpdCBhcyB0aGUgdGFy Z2V0IHVzaW5nIHRoZQo+PiBEUk1fTU9ERV9QQUdFX0ZMSVBfVEFSR0VUX0FCU09MVVRFL1JFTEFU SVZFIGZsYWcsIGJ1dCB0aGVyZSdzIG5vCj4+IGd1YXJhbnRlZSBmb3IgaXQgdG8gd29yay4gQW5k IG5vIG90aGVyIGRyaXZlciBzdXBwb3J0cyB0aGlzIHlldC4gV2l0aG91dAo+PiB0aG9zZSBmbGFn cywgdGhlIGZsaXAgY2Fubm90IGNvbXBsZXRlIGluIHRoZSBzYW1lIHZibGFuayBwZXJpb2QsIG9y IGl0Cj4+IHdvdWxkIGJyZWFrIGV4aXN0aW5nIHVzZXJzcGFjZSB1c2luZyB1c2UtY2FzZSAxIGFi b3ZlLgo+Pgo+IERlZmVycmluZyB0aGUgcGFnZWZsaXAgdGltZXN0YW1wIGlzIHNvbWV0aGluZyB3 ZSBjYW4gZG8gdG9kYXkgaW4gdGhlIAo+IGRyaXZlciB3aXRoIG5vIGltcGFjdCBvbiBleGlzdGlu ZyBiZWhhdmlvci9zZW1hbnRpY3MuIFNpbmNlIGhwb3MgaXMgdXNlZCAKPiBpbiB0aGUgY2FsY3Vs YXRpb24gYXMgd2VsbCBJIHRoaW5rIHdlIGRvbid0IG5lZWQgZXZlbiBuZWVkIHRvIHdhaXQgZm9y IAo+IHRoZSByb2xsLW92ZXIgbmVjZXNzYXJpbHkuCgpOb3Qgc3VyZSBvZmZoYW5kIGhvdyBocG9z IGhlbHBzIGZvciB0aGlzLCBidXQgSSdsbCB0cnVzdCB5b3VyIHdvcmQgZm9yCml0LiA6KQoKCj4g RGVmZXJyaW5nIHRoZSBldmVudCB0aGF0IGNvbWVzIGZyb20gZHJtX2hhbmRsZV92Ymxhbmsgd29y cmllcyBtZSB0aG91Z2guIAo+IFRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhhdCB3b3VsZCBiZSBz ZW5kaW5nIHRoYXQgZXZlbnQgb24gdGhlIHJvbGwtb3ZlciAKPiBhdCB0aW1lb3V0IG9yIGdyb3Vw aW5nIGl0IHRvZ2V0aGVyIG9uIHRoZSBwYWdlZmxpcC4gVGhvc2UgYXJlIHByZXR0eSAKPiBsb25n IGRlbGF5cyBmb3IgYm90aC4KPiAKPiBUbyBtZSBpdCBzdGlsbCBtYWtlcyBtb3JlIHNlbnNlIHRv IGp1c3QgZGVmaW5lIHRoZSB2YmxhbmsgdGltZXN0YW1wIAo+IGNvbWluZyBvdXQgb2YgZHJtX2Ny dGNfaGFuZGxlX3ZibGFuayBhcyBhbiBlc3RpbWF0ZSB3aGVuIFZSUiBpcyBlbmFibGVkLiAKPiBB biBlc3RpbWF0aW9uIHdoaWNoIGVuZHMgdXAgYmVpbmcgdGhlIHNhbWUgdmFsdWUgYXMgd2hhdCB1 c2Vyc3BhY2UgZ2V0cyAKPiB0b2RheSwgdGhlIGVzdGltYXRpb24gZm9yIHRoZSBjdXJyZW50IG1v ZGUuCj4gCj4gSSB0aGluayBteSBvcGluaW9uIHdvdWxkIGJlIGRpZmZlcmVudCBpZiB0aGUgdGlt ZXN0YW1wcyB3ZXJlIHN1cHBvc2VkIHRvIAo+IGJlIHRoZSBzYW1lIHZhbHVlIGJ1dCB0aGF0J3Mg aW5jcmVkaWJseSB1bmxpa2VseSBnaXZlbiB0aGF0IHRoZXkncmUgCj4gb2Zmc2V0IGZyb20gdGhl IGt0aW1lX2dldCBpbiBtb3N0IGNhc2VzLgoKUmlnaHQgbm93LCB3aXRob3V0IFZSUiwgdGhleSdy ZSBzdXBwb3NlZCB0byBiZSB0aGUgc2FtZSB3aXRoaW4gbWVhc3VyaW5nCmFjY3VyYWN5LiBJZiB5 b3UncmUgc2VlaW5nIGJpZ2dlciBkaWZmZXJlbmNlcyB0aGFuIHRoYXQsIGNhbiB5b3UgcHJvdmlk ZQpzb21lIGV4YW1wbGVzPyBZb3UgbWlnaHQgaGF2ZSBkaXNjb3ZlcmVkIGEgYnVnLgoKCkFueXdh eSwgSSByZS1yZWFkIFBla2thJ3MgZGVzY3JpcHRpb24sIGFuZCBpdCBzb3VuZHMgbGlrZSBXZXN0 b24gb25seQp1c2VzIHRoZSB2YmxhbmsgdGltZXN0YW1wIGlmIG5vIGZsaXAgY29tcGxldGVkIGlu IHRoZSBsYXN0IHZibGFuawpwZXJpb2QsIHdoaWNoIG5vcm1hbGx5IHNob3VsZG4ndCBoYXBwZW4g d2l0aCBWUlIuIE90aGVyd2lzZSBpdCB1c2VzIHRoZQp0aW1lc3RhbXAgZnJvbSB0aGUgZmxpcCBj b21wbGV0aW9uIGV2ZW50LgoKU28sIGl0IHNvdW5kcyBsaWtlIGhhdmluZyBkaWZmZXJlbnQgdGlt ZXN0YW1wcyBiZXR3ZWVuIHRoZSB0d28gY2FzZXMKc2hvdWxkIGJlIGZpbmUgZm9yIFdlc3RvbiBh ZnRlciBhbGwuIFNvcnJ5IGZvciB0aGUgY29uZnVzaW9uIGFib3ZlLgoKU28sIEknbSBva2F5IHdp dGggdHJ5aW5nIHRvIGNoYW5nZSBvbmx5IHRoZSB0aW1lc3RhbXBzIG9mIHRoZSBmbGlwCmNvbXBs ZXRpb24gZXZlbnRzLiBUaGF0J2xsIGNlcnRhaW5seSBtYWtlIHRoaW5ncyBlYXNpZXIuIDopCgoK LS0gCkVhcnRobGluZyBNaWNoZWwgRMOkbnplciAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICBodHRwOi8vd3d3LmFtZC5jb20KTGlicmUgc29mdHdhcmUgZW50aHVzaWFzdCAgICAgICAgICAg ICB8ICAgICAgICAgICAgIE1lc2EgYW5kIFggZGV2ZWxvcGVyCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=