Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eEP3T-00056V-Dn for pgsql-performance@arkaria.postgresql.org; Tue, 14 Nov 2017 00:26:19 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1eEP3S-0002o0-W5 for pgsql-performance@arkaria.postgresql.org; Tue, 14 Nov 2017 00:26:19 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eENXO-0007l6-70 for pgsql-performance@postgresql.org; Mon, 13 Nov 2017 22:49:06 +0000 Received: from mail.index.de ([213.160.90.22]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eENXJ-0005Jk-NQ for pgsql-performance@postgresql.org; Mon, 13 Nov 2017 22:49:05 +0000 Received: from localhost (mail1.index.de [127.0.0.1]) by mail.index.de (Postfix) with ESMTP id 5F83A4420CB; Mon, 13 Nov 2017 23:49:00 +0100 (CET) Received: from mail.index.de ([127.0.0.1]) by localhost (mail.index.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP id bn1lZAq2ndsv; Mon, 13 Nov 2017 23:49:00 +0100 (CET) Received: from remote.index.de (unknown [217.199.72.165]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.index.de (Postfix) with ESMTPSA id 33363442044; Mon, 13 Nov 2017 23:49:00 +0100 (CET) Received: from acedia.index-gruppe.local (192.168.3.121) by acedia.index-gruppe.local (192.168.3.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1034.26; Mon, 13 Nov 2017 23:48:49 +0100 Received: from acedia.index-gruppe.local ([fe80::ecd1:5d0a:a834:dd56]) by acedia.index-gruppe.local ([fe80::ecd1:5d0a:a834:dd56%2]) with mapi id 15.01.1034.032; Mon, 13 Nov 2017 23:48:49 +0100 From: Arne Roland To: Oliver Mattos CC: "pgsql-performance@postgresql.org" Subject: Re: Query planner gaining the ability to replanning after start of query execution. Thread-Topic: [PERFORM] Query planner gaining the ability to replanning after start of query execution. Thread-Index: AQHTXJ9tLJwS5jJPj0S8PshkQTAXbaMSpXJAgAAjrgCAABX7cA== Date: Mon, 13 Nov 2017 22:48:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.3.146] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org SGVsbG8sDQoNCnRoYXQgbWV0aG9kIGlzIGJvdW5kIHRvIGludHJvZHVjZSBl cnJvcnMgaWYgdGhlIHBoeXNpY2FsIGxvY2F0aW9uIG9mIGEgcm93IGNvcnJl bGF0ZXMgc3Ryb25nbHkgd2l0aCBhIGNvbHVtbiwgaW1hZ2luZSAiYW5kIG15 X3RpbWVzdGFtcD4gbm93KCkgLSBJTlRFUlZBTCAnMSB5ZWFyJyIgYXMgcGFy dCBvZiBhIHdoZXJlIGNsYXVzZSBvZiBhIHF1ZXJ5IHdpdGhvdXQgbGltaXQg b24gYW4gaW5zZXJ0IG9ubHkgdGFibGUgd2hpY2ggaXMgb25lIGFuZCBhIGhh bGYgeWVhcnMgb2xkIHdpdGggYSBzZXFzY2FuLiBUaGVyZSBtaWdodCBiZSBz aW1pbGFyIGVmZmVjdHMgaWYgYW4gaW5kZXggb24gdGhlIHRpbWVzdGFtcCBp cyB1c2VkIHRvIGdvIGFib3V0IGEgcXVlcnksIGlmIG90aGVyIHJvd3Mgb2Yg dGhlIGZpbHRlciBjb3JyZWxhdGUuDQoNClRoaXMgbWV0aG9kIGZ1cnRoZXJt b3JlIG9ubHkganVkZ2VzIGZpbHRlciBwcmVkaWNhdGVzLg0KU28gaXQncyBu b3QgdGhhdCBlYXN5IHRvIGp1c3QgZ28gYWJvdXQgdGhlIGV4cGVjdGVkIHJv d2NvdW50IG9mIGEgc2luZ2xlIG5vZGUsIHNpbmNlIHRoZSB1bmRlcmxpbmcg bm9kZSBtaWdodCByZXR1cm4gYSB0b3RhbGx5IGluYWNjdXJhdGUgbnVtYmVy IG9mIHJvd3MuIFdoaWxlIHRoYXQgaXNuJ3QgdGhhdCBjb21tb24gd2l0aCB1 bmRlcmx5aW5nIHNlcXNjYW5zLCBpdCBpcyB2ZXJ5IGZyZXF1ZW50IGlmIGFu IGluZGV4c2NhbiBpcyB1c2VkIHdpdGhvdXQgYmVpbmcgYWJsZSB0byByZWx5 IG9uIHRoZSBNQ1YuIFdoaWxlIGl0J3Mgc3RpbGwgcG9zc2libGUgdG8gbm90 aWNlIGEgbWlzZXN0aW1hdGlvbiB0aGVyZSBpcyBubyBzZW5zZSBvZiBob3cg d3JvbmcgaXQgaXMsIHVudGlsIHRoZSByb3dzIGFyZSBhbHJlYWR5IHByb2Nl c3NlZC4NCg0KRnVydGhlcm1vcmU6IERpZCB5b3UgdGhpbmsgYWJvdXQgcGFy YWxsZWwgcGxhbnMgYW5kIG1vc3QgaW1wb3J0YW50bHkgY3Vyc29ycz8NCg0K QmVzdCByZWdhcmRzDQpBcm5lIFJvbGFuZA0KDQotLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KRnJvbTogT2xpdmVyIE1hdHRvcyBbbWFpbHRvOm9tYXR0 b3NAZ21haWwuY29tXSANClNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTMsIDIw MTcgMTA6NTIgUE0NClRvOiBBcm5lIFJvbGFuZCA8QS5Sb2xhbmRAaW5kZXgu ZGU+DQpDYzogcGdzcWwtcGVyZm9ybWFuY2VAcG9zdGdyZXNxbC5vcmcNClN1 YmplY3Q6IFJlOiBbUEVSRk9STV0gUXVlcnkgcGxhbm5lciBnYWluaW5nIHRo ZSBhYmlsaXR5IHRvIHJlcGxhbm5pbmcgYWZ0ZXIgc3RhcnQgb2YgcXVlcnkg ZXhlY3V0aW9uLg0KDQo+IENhbiB5b3UgYmUgbW9yZSBlbGFib3JhdGUgaG93 IHlvdSdkIHdhbnQgdG8gZ28gYWJvdXQgaXQ/DQoNCk15IGluaXRpYWwgYXBw cm9hY2ggd291bGQgYmUgdG8gdHJ5IHRvIGlkZW50aWZ5IHBsYWNlcyBpbiB0 aGUgcGxhbg0Kd2hlcmUgc2VsZWN0aXZpdHkgaXMgc2VyaW91c2x5IG92ZXIg b3IgdW5kZXJlc3RpbWF0ZWQuICAgSSB3b3VsZCByZXVzZQ0KdGhlIGluc3Ry dW1lbnRhdGlvbiBpbmZyYXN0cnVjdHVyZSdzIGNvdW50cyBvZiBmaWx0ZXJl ZCBhbmQgcmV0dXJuZWQgdHVwbGVzIGZvciBlYWNoIGV4ZWNub2RlLCBhbmQg cGVyaW9kaWNhbGx5IGNhbGwgYmFjayBpbnRvIHRoZSBwbGFubmVyIChmb3Ig ZXhhbXBsZSBhdCBldmVyeSBwb3dlciBvZiAyIHR1cGxlcyBwcm9jZXNzZWQp Lg0KDQpUaGUgcGxhbm5lciB3b3VsZCBoYXZlIGEgd3JhcHBlciB0byBjbGF1 c2VsaXN0X3NlbGVjdGl2aXR5IHdoaWNoIHNvbWVob3cgY29tYmluZXMgdGhl IGV4aXN0aW5nIGVzdGltYXRlIHdpdGggdGhlIGZpbHRlcmVkIGFuZCByZXR1 cm5lZA0KdHVwbGVzIHNvIGZhci4gICBFeGFjdGx5IGhvdyB0byBtZXJnZSB0 aGVtIGlzbid0IGNsZWFyLCBidXQgSSBjb3VsZA0KaW1hZ2luZSB1c2luZyBh IHBvaXNzb24gZGlzdHJpYnV0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgcHJvYmFi aWxpdHkgdGhhdCB0aGUgc2VsZWN0aXZpdHkgZXN0aW1hdGUgaXMgcmVwcmVz ZW50YXRpdmUgb2YgdGhlIGZpbHRlcmVkIGFuZCByZXR1cm5lZCBudW1iZXJz LCBhbmQgdGhlbiBibGVuZGluZyB0aGUgdHdvIGxpbmVhcmx5IGJhc2VkIG9u IHRoYXQgZXN0aW1hdGUuDQoNCldoZW4gdGhlIHBsYW5uZXIgaGFzIHJlLWVz dGltYXRlZCB0aGUgY29zdCBvZiB0aGUgY3VycmVudCBwbGFuLCBhIGRpc2Nv dW50IHdvdWxkIGJlIGFwcGxpZWQgZm9yIHRoZSBwZXJjZW50YWdlIG9mIGVh Y2ggZXhlY25vZGUgY29tcGxldGVkIChyb3dzIHByb2Nlc3NlZCAvIGVzdGlt YXRlZCByb3dzKSwgYW5kIGFsbCBjYW5kaWRhdGUgcGxhbnMgY29tcGFyZWQu DQoNCklmIGFub3RoZXIgY2FuZGlkYXRlIHBsYW4gaXMgbm93IGxvd2VyIGNv c3QsIHRoZSBjdXJyZW50IHBsYW4gd291bGQgYmUgdGVybWluYXRlZFsxXSBi eSBzZXR0aW5nIGEgZmxhZyBpbnN0cnVjdGluZyBlYWNoIGV4ZWNub2RlIHRv IHJldHVybiBhcyBpZiBpdCBoYWQgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBp bnB1dCwgYWx0aG91Z2ggc3RpbGwgY2FjaGluZyB0aGUgbm9kZSBzZWxlY3Rp dml0eSB2YWx1ZXMsIGFuZCB0aGUgbmV3IHBsYW4gc3RhcnRlZCBmcm9tIHNj cmF0Y2guDQoNClRoZSBvbGQgcGxhbiBpcyBrZXB0IHdpdGhpbiB0aGUgcXVl cnkgcGxhbm5lciBjYW5kaWRhdGUgbGlzdCwgdG9nZXRoZXIgd2l0aCBpdCdz IGNhY2hlZCBzZWxlY3Rpdml0eSB2YWx1ZXMuICBJZiBhdCBzb21lIHBvaW50 IGl0IGFnYWluIGlzIGNoZWFwZXIsIGl0IGlzIHN0YXJ0ZWQgZnJvbSBzY3Jh dGNoIHRvby4NCg0KDQo+IEV2ZW4gaWYgd2Uga25vdyB0aGUgY2FyZGluYWxp dHkgaXMgb3ZlcmVzdGltYXRlZCwgd2UgaGF2ZSBubyBpZGVhIA0KPiB3aGV0 aGVyIHRoZSBjYXJkaW5hbGl0eSBvZiBhID0gMyBvciBiID0gNDAgaXMgd3Jv bmcgb3IgdGhleSBqdXN0IA0KPiBjb3JyZWxhdGUNCg0KVGhlIGdvYWwgd291 bGQgYmUgbm90IHRvIGtub3cgd2hpY2ggaXMgd3JvbmcsIGJ1dCB0byB0cnkg ZWFjaCwgZGlzY2FyZGluZyBpdCBpZiBpdCB0dXJucyBvdXQgd29yc2UgdGhh biB3ZSBlc3RpbWF0ZWQuICBQcm9jZXNzaW5nIGEgZmV3IGh1bmRyZWQgcm93 cyBvZiBlYWNoIG9mIDUgcGxhbnMgaXMgdGlueSBjb21wYXJlZCB0byBhIHNj YW4gb2YgMU0gcm93cy4uLg0KDQoNClsxXTogICBBbiBpbXByb3ZlbWVudCBo ZXJlICh3aXRoIG11Y2ggbW9yZSBjb2RlIGNvbXBsZXhpdHkpIGlzIHRvIGtl ZXANCm11bHRpcGxlIHBhcnRpYWxseSBleGVjdXRlZCBwbGFucyBhcm91bmQs IHNvIHRoYXQgd2hpY2hldmVyIG9uZSBpcyBtb3N0IHByb21pc2luZyBjYW4g YmUgd29ya2VkIG9uLCBidXQgY2FuIGJlIGhhbHRlZCBhbmQgcmVzdW1lZCBs YXRlciBhcyBzZWxlY3Rpdml0eSAoYW5kIGhlbmNlIGNvc3QpIGVzdGltYXRl cyBjaGFuZ2UuDQoNCk9uIE1vbiwgTm92IDEzLCAyMDE3IGF0IDg6MDYgUE0s IEFybmUgUm9sYW5kIDxBLlJvbGFuZEBpbmRleC5kZT4gd3JvdGU6DQo+IEhl bGxvLA0KPg0KPiBJJ2QgbG92ZSB0byBoYXZlIHNvbWUgc29ydCBvZiBkeW5h bWljIHF1ZXJ5IGZlZWRiYWNrLCB5ZXQgaXQncyB2ZXJ5IGNvbXBsaWNhdGVk IHRvIGRvIGl0IHJpZ2h0LiBJIGFtIG5vdCBjb252aW5jZWQgdGhhdCBjaGFu Z2luZyB0aGUgcGxhbiBkdXJpbmcgYSBzaW5nbGUgZXhlY3V0aW9uIGlzIHRo ZSByaWdodCB3YXkgdG8gZG8gaXQsIG5vdCBvbmx5IGJlY2F1c2UgaXQgc291 bmRzIGludHJ1c2l2ZSB0byBkbyBjcmF6eSB0aGluZ3MgaW4gdGhlIGV4ZWN1 dG9yLCBidXQgYWxzbyBiZWNhdXNlIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRo ZSBuZXcgcGxhbiBzaG91bGQgYmUgYW55IGJldHRlciB0aGFuIHRoZSBvbGQg b25lLiBDYW4geW91IGJlIG1vcmUgZWxhYm9yYXRlIGhvdyB5b3UnZCB3YW50 IHRvIGdvIGFib3V0IGl0Pw0KPg0KPiBJbiB5b3VyIGV4YW1wbGUgKHdoaWNo IHByZXN1bWFibHkganVzdCBoYXMgYSBzaW5nbGUgcmVsYXRpb24pLCB3ZSBo YXZlIA0KPiBubyBub3Rpb24gb2Ygd2hldGhlciB0aGUgc2NhbiByZXR1cm5z IG5vIHJvd3MgYmVjYXVzZSB3ZSB3ZXJlIHVubHVja3ksIA0KPiBiZWNhdXNl IGp1c3QgdGhlIGZpcnN0IGZldyBwYWdlcyB3ZXJlIGVtcHR5IG9mIG1hdGNo aW5nIHJvd3MgKHdoaWNoIGluIG15IGV4cGVyaWVuY2UgaGFwcGVucyBtb3Jl IG9mdGVuKSwgb3IgYmVjYXVzZSB0aGUgY2FyZGluYWxpdHkgZXN0aW1hdGlv biBpcyB3cm9uZy4gRXZlbiBpZiB0aGUgY2FyZGluYWxpdHkgZXN0aW1hdGlv biBpcyB3cm9uZywgd2UgaGF2ZSBubyBub3Rpb24gb2Ygd2hpY2ggcHJlZGlj YXRlIG9yIHByZWRpY2F0ZSBjb21iaW5hdGlvbiBhY3R1YWxseSBjYXVzZWQg dGhlIG1pc2VzdGltYXRpb24uIElmIHRoZSBmaXJzdCBmZXcgcGFnZXMgd2hl cmUgZW1wdHksIHRoZSBzYW1lIG1pZ2h0IGhhcHBlbiB3aXRoIGV2ZXJ5IG9y ZGVyIChzbyBhbHNvIHdpdGggZXZlcnkgYXZhaWxhYmxlIGluZGV4c2Nhbiku IEltYWdpbmUgYSB2ZXJ5IHNpbXBsZSBzZXFzY2FuIHBsYW4gb2Ygc2VsZWN0 ICogZnJvbSBteXRhYiB3aGVyZSBhID0gMyBhbmQgYiA9IDQwIGxpbWl0IDEg RXZlbiBpZiB3ZSBrbm93IHRoZSBjYXJkaW5hbGl0eSBpcyBvdmVyZXN0aW1h dGVkLCB3ZSBoYXZlIG5vIGlkZWEgd2hldGhlciB0aGUgY2FyZGluYWxpdHkg b2YgYSA9IDMgb3IgYiA9IDQwIGlzIHdyb25nIG9yIHRoZXkganVzdCBjb3Jy ZWxhdGUsIHNvIHRoZXJlIGlzIG5vIG5vdGlvbiBvZiB3aGljaCBpcyBhY3R1 YWxseSB0aGUgY2hlYXBlc3QgcGxhbi4gVXN1YWwgd29ya2Fyb3VuZCBmb3Ig bW9zdCBvZiB0aGVzZSBxdWVyaWVzIGlzIHRvIGFkZCBhbiBvcmRlciBieSAo d2hpY2ggaGFzIHRoZSBuaWNlIGFkZGl0aW9uIG9mIGhhdmluZyBhIGRldGVy bWluaXN0aWMgcmVzdWx0KSB3aXRoIGFuIGFwcHJvcHJpYXRlIGNvbXBsZXgg aW5kZXgsIHVzdWFsbHkgcmVzdWx0aW5nIGluIGluZGV4c2NhbnMuDQo+DQo+ IFdoaWxlIHdlIGFjdHVhbGx5IGtub3cgbW9yZSBhZnRlciB0aGUgZmlyc3Qg ZXhlY3V0aW9uIG9mIGEgbm9kZXMgbGlrZSBtYXRlcmlhbGl6ZSwgc29ydCBv ciBoYXNoIG5vZGVzLCBJIHJhcmVseSBlbmNvdW50ZXIgbWF0ZXJpYWxpemUg bm9kZXMgaW4gdGhlIHdpbGQuIENvbnNlcXVlbnRseSB0aGF0IGlzIHRoZSBw bGFjZSB3aGVyZSB0aGUgd29yayBpcyB1c3VhbGx5IGFscmVhZHkgZG9uZSwg d2hpY2ggaXMgZXNwZWNpYWxseSB0cnVlIHdpdGggdGhlIGhhc2ggbm9kZS4g RXZlbiB0aG91Z2ggaXQgc3RpbGwgbWlnaHQgYmUgbW9yZSBvcHRpbWFsIHRv IHN3aXRjaCBmcm9tIGEgbWVyZ2Vqb2luIHRvIGEgaGFzaGpvaW4gaW4gc29t ZSBjYXNlcywgSSBkb3VidCB0aGF0J3Mgd29ydGggYW55IHdvcmsgKGFuZCBl dmVuIGxlc3MgdGhlIG1haW50ZW5hbmNlKS4NCj4NCj4gQmVzdCByZWdhcmRz DQo+IEFybmUgUm9sYW5kDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IHBnc3FsLXBlcmZvcm1hbmNlLW93bmVyQHBvc3RncmVz cWwub3JnIA0KPiBbbWFpbHRvOnBnc3FsLXBlcmZvcm1hbmNlLW93bmVyQHBv c3RncmVzcWwub3JnXSBPbiBCZWhhbGYgT2YgT2xpdmVyIA0KPiBNYXR0b3MN Cj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAxMywgMjAxNyA1OjQ1IFBNDQo+ IFRvOiBwZ3NxbC1wZXJmb3JtYW5jZUBwb3N0Z3Jlc3FsLm9yZw0KPiBTdWJq ZWN0OiBbUEVSRk9STV0gUXVlcnkgcGxhbm5lciBnYWluaW5nIHRoZSBhYmls aXR5IHRvIHJlcGxhbm5pbmcgYWZ0ZXIgc3RhcnQgb2YgcXVlcnkgZXhlY3V0 aW9uLg0KPg0KPiBJIGFtIGludGVyZXN0ZWQgaW4gZ2l2aW5nIHRoZSBxdWVy eSBwbGFubmVyIHRoZSBhYmlsaXR5IHRvIHJlcGxhbiAob3IgcmUtcmFuayBw bGFucykgYWZ0ZXIgcXVlcnkgZXhlY3V0aW9uIGhhcyBiZWd1biwgYmFzZWQg b24gdGhlIHByb2dyZXNzaW9uIG9mIHRoZSBxdWVyeSBzbyBmYXIuDQo+DQo+ IEV4YW1wbGUgdXNlIGNhc2U6DQo+DQo+ICogIEEgTElNSVQgMSBxdWVyeSBp cyBwbGFubmVkIHVzaW5nIGFuIGV4cGVuc2l2ZSBzY2FuIHdoaWNoIHRoZSBw bGFubmVyIGV4cGVjdHMgdG8gcmV0dXJuIGEgbGFyZ2UgbnVtYmVyIG9mIHJl c3VsdHMsIGFuZCB0byB0ZXJtaW5hdGUNCj4gZWFybHkuICAgVGhlIHJlYWxp dHkgaXMgdGhlIHF1ZXJ5IGFjdHVhbGx5IHByb2R1Y2VzIG5vIHJlc3VsdHMs IGFuZA0KPiB0aGUgc2NhbiBtdXN0IHJ1biB0byBjb21wbGV0aW9uLCBwb3Rl bnRpYWxseSB0YWtpbmcgdGhvdXNhbmRzIG9mIHRpbWVzIGxvbmdlciB0aGFu IGV4cGVjdGVkLg0KPg0KPiAqICBJZiB0aGlzIHBsYW5zIGNvc3RzIHdlcmUg YWRqdXN0ZWQgbWlkLWV4ZWN1dGlvbiB0byByZWZsZWN0IHRoZSBmYWN0IHRo YXQgdGhlIHNjYW4gaXMgcHJvZHVjaW5nIGZhciBmZXdlciByb3dzIHRoYW4g ZXhwZWN0ZWQsIHRoZW4gYW5vdGhlciBxdWVyeSBwbGFuIG1pZ2h0IGNvbWUg b3V0IGFoZWFkLCB3aGljaCB3b3VsZCBjb21wbGV0ZSBmYXIgZmFzdGVyLg0K Pg0KPg0KPiBIYXMgdGhpcyBiZWVuIGRvbmUgYmVmb3JlPyAgIEFyZSB0aGVy ZSBhbnkgcGl0ZmFsbHMgdG8gYmV3YXJlIG9mPw0KPg0KPg0KPiAtLQ0KPiBT ZW50IHZpYSBwZ3NxbC1wZXJmb3JtYW5jZSBtYWlsaW5nIGxpc3QgDQo+IChw Z3NxbC1wZXJmb3JtYW5jZUBwb3N0Z3Jlc3FsLm9yZykNCj4gVG8gbWFrZSBj aGFuZ2VzIHRvIHlvdXIgc3Vic2NyaXB0aW9uOg0KPiBodHRwOi8vd3d3LnBv c3RncmVzcWwub3JnL21haWxwcmVmL3Bnc3FsLXBlcmZvcm1hbmNlDQo+DQo+ DQo+DQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IHBnc3FsLXBlcmZvcm1hbmNlLW93bmVyQHBvc3RncmVzcWwub3JnIA0KPiBb bWFpbHRvOnBnc3FsLXBlcmZvcm1hbmNlLW93bmVyQHBvc3RncmVzcWwub3Jn XSBPbiBCZWhhbGYgT2YgT2xpdmVyIA0KPiBNYXR0b3MNCj4gU2VudDogTW9u ZGF5LCBOb3ZlbWJlciAxMywgMjAxNyA1OjQ1IFBNDQo+IFRvOiBwZ3NxbC1w ZXJmb3JtYW5jZUBwb3N0Z3Jlc3FsLm9yZw0KPiBTdWJqZWN0OiBbUEVSRk9S TV0gUXVlcnkgcGxhbm5lciBnYWluaW5nIHRoZSBhYmlsaXR5IHRvIHJlcGxh bm5pbmcgYWZ0ZXIgc3RhcnQgb2YgcXVlcnkgZXhlY3V0aW9uLg0KPg0KPiBJ IGFtIGludGVyZXN0ZWQgaW4gZ2l2aW5nIHRoZSBxdWVyeSBwbGFubmVyIHRo ZSBhYmlsaXR5IHRvIHJlcGxhbiAob3IgcmUtcmFuayBwbGFucykgYWZ0ZXIg cXVlcnkgZXhlY3V0aW9uIGhhcyBiZWd1biwgYmFzZWQgb24gdGhlIHByb2dy ZXNzaW9uIG9mIHRoZSBxdWVyeSBzbyBmYXIuDQo+DQo+IEV4YW1wbGUgdXNl IGNhc2U6DQo+DQo+ICogIEEgTElNSVQgMSBxdWVyeSBpcyBwbGFubmVkIHVz aW5nIGFuIGV4cGVuc2l2ZSBzY2FuIHdoaWNoIHRoZSBwbGFubmVyIGV4cGVj dHMgdG8gcmV0dXJuIGEgbGFyZ2UgbnVtYmVyIG9mIHJlc3VsdHMsIGFuZCB0 byB0ZXJtaW5hdGUNCj4gZWFybHkuICAgVGhlIHJlYWxpdHkgaXMgdGhlIHF1 ZXJ5IGFjdHVhbGx5IHByb2R1Y2VzIG5vIHJlc3VsdHMsIGFuZA0KPiB0aGUg c2NhbiBtdXN0IHJ1biB0byBjb21wbGV0aW9uLCBwb3RlbnRpYWxseSB0YWtp bmcgdGhvdXNhbmRzIG9mIHRpbWVzIGxvbmdlciB0aGFuIGV4cGVjdGVkLg0K Pg0KPiAqICBJZiB0aGlzIHBsYW5zIGNvc3RzIHdlcmUgYWRqdXN0ZWQgbWlk LWV4ZWN1dGlvbiB0byByZWZsZWN0IHRoZSBmYWN0IHRoYXQgdGhlIHNjYW4g aXMgcHJvZHVjaW5nIGZhciBmZXdlciByb3dzIHRoYW4gZXhwZWN0ZWQsIHRo ZW4gYW5vdGhlciBxdWVyeSBwbGFuIG1pZ2h0IGNvbWUgb3V0IGFoZWFkLCB3 aGljaCB3b3VsZCBjb21wbGV0ZSBmYXIgZmFzdGVyLg0KPg0KPg0KPiBIYXMg dGhpcyBiZWVuIGRvbmUgYmVmb3JlPyAgIEFyZSB0aGVyZSBhbnkgcGl0ZmFs bHMgdG8gYmV3YXJlIG9mPw0KPg0KPg0KPiAtLQ0KPiBTZW50IHZpYSBwZ3Nx bC1wZXJmb3JtYW5jZSBtYWlsaW5nIGxpc3QgDQo+IChwZ3NxbC1wZXJmb3Jt YW5jZUBwb3N0Z3Jlc3FsLm9yZykNCj4gVG8gbWFrZSBjaGFuZ2VzIHRvIHlv dXIgc3Vic2NyaXB0aW9uOg0KPiBodHRwOi8vd3d3LnBvc3RncmVzcWwub3Jn L21haWxwcmVmL3Bnc3FsLXBlcmZvcm1hbmNlDQo+DQo+DQo+DQoNCg0KDQoK LS0gClNlbnQgdmlhIHBnc3FsLXBlcmZvcm1hbmNlIG1haWxpbmcgbGlzdCAo cGdzcWwtcGVyZm9ybWFuY2VAcG9zdGdyZXNxbC5vcmcpClRvIG1ha2UgY2hh bmdlcyB0byB5b3VyIHN1YnNjcmlwdGlvbjoKaHR0cDovL3d3dy5wb3N0Z3Jl c3FsLm9yZy9tYWlscHJlZi9wZ3NxbC1wZXJmb3JtYW5jZQo=