Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v9NtN-00HCBS-Nc for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Oct 2025 13:19:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v9NtM-00CvLh-Ga for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Oct 2025 13:19:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v9NtM-00CvLW-22 for pgsql-hackers@lists.postgresql.org; Thu, 16 Oct 2025 13:19:39 +0000 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v9NtJ-0026D8-0c for pgsql-hackers@lists.postgresql.org; Thu, 16 Oct 2025 13:19:38 +0000 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-b48d8deafaeso137601766b.1 for ; Thu, 16 Oct 2025 06:19:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1760620774; x=1761225574; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=NGoubfAXLiIQfTZS5G6nvhYwIZTXvELani6Bs9mZfMo=; b=oZkwXQ3hEBCBYXeoogX5yyGeRU/lgtIKNZQRtnjOXNZEkaCy6qAvxiuAjASlKAfbrw Us/1Cip6McN7TeedyE8HbO6ZKWSE6YF/h6ZgPx/hitxuhmq/b4t9f3iEubs9sU6wIwhY UpqD6qZR4vkzhOuCOzNYCKe60zHUEJXFIOwvsNwYJwVS7KshnNwV67LscN2suhaNx/5n tM/OFWZKkQkqWVc3h/kpgHrLTjLkry88/1F9RPuel4RMyjzLGvp81hvIEnISEhxutE+8 HEIyKirT7m/DvZTISg5Wrio7ceFiXMleHuTwQdpTu7qCHid8xvN8WP7Q/y/2vgAR/GAK REvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760620774; x=1761225574; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NGoubfAXLiIQfTZS5G6nvhYwIZTXvELani6Bs9mZfMo=; b=O7LwkorIEZoRGp1gt6xMCe3vWXoy+rq6LkfYfGdQiNaIkoZJ/KiYgV+2eJ4gKrot8S QwdmVGm84yDD+n7k35Saxv7tylQ1D9e86KwIABV7KuIK+d8aGUgf4cV8fUsvJx10MV9i 2ZKdqREUYqlyKxjSU/AwKcHRC9SCJMc/QQD/j2bWtRkTOJydrae+oMIbDaSPelkpa+5R +dSJB+g5buGVW/bAgEAQnF4rYNqUFTsGGdMQTdLekjcB3a/SJzQ/wFa+eF6/D3JqycfM Z2SAbKcLJE6OP8r6IFoHwWFp0x6GcTdtgoRjb3Nyy3Qy1xAFd3uOt/WfQXrS347GhApc QVCA== X-Forwarded-Encrypted: i=1; AJvYcCXRccqF3SBoxLeGDB+bOhirR80dVgQlOPf5UGoQ4HfiK44SNASk2ZOPjOqRQi+yYTRrij8p7v0gDnGGrsYQ@lists.postgresql.org X-Gm-Message-State: AOJu0YzpIWOzDEwtMUlqm5G/6CtoqkVcawinji/b4lRXKzEedBTX1N61 JtErsBvPbDf2rv296kF8oChGW3mq2+/4oz6KBKeHm6e0pRQFe/ckWBtYeCgz+zoaud4= X-Gm-Gg: ASbGnctpBLrNLl//xoSU2Vv48BYsTzqjrIGGrDpXUcBCoiglJsUTPLqQJfRw6qPllqq KOFlnOhJv9ZdPTftFXYFH8REP30hxH4CgVMvAQdWBJ5sS/fjE2mXNuWFYFzGbcnaqWS3eQ1f6qD ceWOw9uyUJlkuqI3lW0fjGmvA+IGhfZC0QcW6bWkAJsZWClZa27R1M5in7CtCVnzQfkQFjQqhF7 R4arFn0JYZBeKTX7P2gmdl2lBYgBOgLQmanTpWGEWZj8WLmRlPOAskrh7iO1YsNrIN2F4ohK1Rq OgBIgym5txmo0tavFKXRY3+QQYnOIbzN6J/6ff5JKbKzhNdT4ZCSpjWZTTGfBEqWQbvFm/xEq4t 1g8AxHcJK1tv0dGIcBMJ615kjyhfxLn57hBg0clX5pt+0Dsa//i1TiCUELnfLNuc6J0rI0ULMFw /0Kh+b0NqsBDqYRGckvHybekUCD3Hv5A== X-Google-Smtp-Source: AGHT+IF3xgASAtctQscaDKPc/t1MD7bDgTUf9NS35vV6OfYax985eGcX3ZGbYCM/zLTHS7kzU5XQZw== X-Received: by 2002:a17:907:2d24:b0:b3e:9868:16a with SMTP id a640c23a62f3a-b50aaa981fbmr3696824166b.25.1760620774179; Thu, 16 Oct 2025 06:19:34 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D ([2001:871:70:4e05:771a:fa12:206e:3d1d]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b5ccd6b03e8sm511454466b.75.2025.10.16.06.19.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Oct 2025 06:19:33 -0700 (PDT) Message-ID: Subject: Re: doc: create table improvements From: Laurenz Albe To: jian he Cc: "David G. Johnston" , Peter Eisentraut , PostgreSQL Hackers Date: Thu, 16 Oct 2025 15:19:32 +0200 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-qlcQ4YIVkv4XCxhzj8xS" User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-qlcQ4YIVkv4XCxhzj8xS Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2025-10-16 at 11:28 +0800, jian he wrote: > -where class=3D"parameter">column_constraint is: > +where persistence_mode is: > + > +[ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | > +UNLOGGED >=20 > we can just do it with one line: > [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED You are right; changed. > most of the time, the patch using: > persistence_mode > oversize_storage >=20 > for column_constraint we are using > column_constraint >=20 > do we need change it to > persistence_mode > oversize_storage > ? >=20 > I don't know the purpose of this extra ``"class=3D"parameter"``. I don't know either. I guess it makes no visible difference. Anyway, I had a try to establish some consistency in using that attribute, but had to give up. There is no rhyme and reason for me. All I did was label parent_table and source_table with class=3D"parameter", since that seemed appropriate. I left the rest alone, any massive changes in that area would make the patch rather noisy. Attached is version 3. Yours, Laurenz Albe --=-qlcQ4YIVkv4XCxhzj8xS Content-Disposition: attachment; filename="v3-0001-Unclutter-CREATE-TABLE-synopsis.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v3-0001-Unclutter-CREATE-TABLE-synopsis.patch"; charset="UTF-8" RnJvbSBiNGFlOTJhNGVkN2E2ZWU5MDM2ODZkOThmNmNjNzAzMjY1ZDVjMjMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogVGh1LCAxNiBPY3QgMjAyNSAxNToxMzo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0gg djNdIFVuY2x1dHRlciBDUkVBVEUgVEFCTEUgc3lub3BzaXMKCkZhY3RvciBvdXQgdGhlICJwZXJz aXN0ZW5jZSBtb2RlIiBhbmQgIm92ZXJzaXplIHN0b3JhZ2UiIHBhcnRzCm9mIHRoZSBzeW50YXgg c3lub3BzaXMgdG8gcmVkdWNlIHRoZSBsaW5lIGxlbmd0aCBhbmQgaW5jcmVhc2UKdGhlIHJlYWRh YmlsaXR5LgoKQXV0aG9yOiBEYXZpZCBHLiBKb2huc3RvbiA8ZGF2aWQuZy5qb2huc3RvbkBnbWFp bC5jb20+ClJldmlld2VkLWJ5OiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KUmV2aWV3ZWQtYnk6IEppYW4gSGUgPGppYW4udW5pdmVyc2FsaXR5QGdtYWlsLmNvbT4KRGlz Y3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUtGUXV3WWZNVi0yU2RyUC11bXI1U1ZOU3FU bjM3OEJVdkhzZWJldHA1JTNERGhUNDk0dyU0MG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9z Z21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKaW5kZXggYTE1N2EyNDRlNGUuLmU0NmI0ODBiY2Y5 IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwKQEAgLTIxLDIwICsyMSwyMCBAQCBQb3N0 Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogIDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLUNS RUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VE IF0gVEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiAoIFsKLSAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4gWyBTVE9SQUdFIHsgUExBSU4gfCBFWFRF Uk5BTCB8IEVYVEVOREVEIHwgTUFJTiB8IERFRkFVTFQgfSBdIFsgQ09NUFJFU1NJT04gPHJlcGxh Y2VhYmxlPmNvbXByZXNzaW9uX21ldGhvZDwvcmVwbGFjZWFibGU+IF0gWyBDT0xMQVRFIDxyZXBs YWNlYWJsZT5jb2xsYXRpb248L3JlcGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCitDUkVB VEUgWyA8cmVwbGFjZWFibGU+cGVyc2lzdGVuY2VfbW9kZTwvcmVwbGFjZWFibGU+IF0gVEFCTEUg WyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25h bWU8L3JlcGxhY2VhYmxlPiAoIFsKKyAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4gWyA8cmVwbGFjZWFibGU+b3ZlcnNpemVfc3RvcmFnZTwv cmVwbGFjZWFibGU+IF0gWyBDT0xMQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5j b2xsYXRpb248L3JlcGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlPmNvbHVtbl9jb25zdHJhaW50 PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCiAgICAgfCA8cmVwbGFjZWFibGU+dGFibGVfY29uc3Ry YWludDwvcmVwbGFjZWFibGU+Ci0gICAgfCBMSUtFIDxyZXBsYWNlYWJsZT5zb3VyY2VfdGFibGU8 L3JlcGxhY2VhYmxlPiBbIDxyZXBsYWNlYWJsZT5saWtlX29wdGlvbjwvcmVwbGFjZWFibGU+IC4u LiBdIH0KKyAgICB8IExJS0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNvdXJjZV90 YWJsZTwvcmVwbGFjZWFibGU+IFsgPHJlcGxhY2VhYmxlPmxpa2Vfb3B0aW9uPC9yZXBsYWNlYWJs ZT4gLi4uIF0gfQogICAgIFssIC4uLiBdCiBdICkKLVsgSU5IRVJJVFMgKCA8cmVwbGFjZWFibGU+ cGFyZW50X3RhYmxlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdCitbIElOSEVSSVRTICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBhcmVudF90YWJsZTwvcmVwbGFjZWFibGU+IFss IC4uLiBdICkgXQogWyBQQVJUSVRJT04gQlkgeyBSQU5HRSB8IExJU1QgfCBIQVNIIH0gKCB7IDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+ ICkgfSBbIENPTExBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbGxhdGlvbjwv cmVwbGFjZWFibGU+IF0gWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3BjbGFzczwv cmVwbGFjZWFibGU+IF0gWywgLi4uIF0gKSBdCiBbIFVTSU5HIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5tZXRob2Q8L3JlcGxhY2VhYmxlPiBdCiBbIFdJVEggKCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+c3RvcmFnZV9wYXJhbWV0ZXI8L3JlcGxhY2VhYmxlPiBbPSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPl0gWywgLi4uIF0g KSB8IFdJVEhPVVQgT0lEUyBdCiBbIE9OIENPTU1JVCB7IFBSRVNFUlZFIFJPV1MgfCBERUxFVEUg Uk9XUyB8IERST1AgfSBdCiBbIFRBQkxFU1BBQ0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnRhYmxlc3BhY2VfbmFtZTwvcmVwbGFjZWFibGU+IF0KIAotQ1JFQVRFIFsgWyBHTE9CQUwg fCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElGIE5P VCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVw bGFjZWFibGU+CitDUkVBVEUgWyA8cmVwbGFjZWFibGU+cGVyc2lzdGVuY2VfbW9kZTwvcmVwbGFj ZWFibGU+IF0gVEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPgogICAgIE9GIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj50eXBlX25hbWU8L3JlcGxhY2VhYmxlPiBbICgKICAgeyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIFdJVEggT1BU SU9OUyBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50 PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCiAgICAgfCA8cmVwbGFjZWFibGU+dGFibGVfY29uc3Ry YWludDwvcmVwbGFjZWFibGU+IH0KQEAgLTQ2LDcgKzQ2LDcgQEAgQ1JFQVRFIFsgWyBHTE9CQUwg fCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElGIE5P VCBFWEkKIFsgT04gQ09NTUlUIHsgUFJFU0VSVkUgUk9XUyB8IERFTEVURSBST1dTIHwgRFJPUCB9 IF0KIFsgVEFCTEVTUEFDRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVzcGFj ZV9uYW1lPC9yZXBsYWNlYWJsZT4gXQogCi1DUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBU RU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSVNUUyBdIDxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4KK0NS RUFURSBbIDxyZXBsYWNlYWJsZT5wZXJzaXN0ZW5jZV9tb2RlPC9yZXBsYWNlYWJsZT4gXSBUQUJM RSBbIElGIE5PVCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVf bmFtZTwvcmVwbGFjZWFibGU+CiAgICAgUEFSVElUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wYXJlbnRfdGFibGU8L3JlcGxhY2VhYmxlPiBbICgKICAgeyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIFdJVEggT1BU SU9OUyBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50 PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCiAgICAgfCA8cmVwbGFjZWFibGU+dGFibGVfY29uc3Ry YWludDwvcmVwbGFjZWFibGU+IH0KQEAgLTU4LDcgKzU4LDE1IEBAIENSRUFURSBbIFsgR0xPQkFM IHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBO T1QgRVhJCiBbIE9OIENPTU1JVCB7IFBSRVNFUlZFIFJPV1MgfCBERUxFVEUgUk9XUyB8IERST1Ag fSBdCiBbIFRBQkxFU1BBQ0UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlc3Bh Y2VfbmFtZTwvcmVwbGFjZWFibGU+IF0KIAotPHBocmFzZT53aGVyZSA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y29sdW1uX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFz ZT4KKzxwaHJhc2U+d2hlcmUgPHJlcGxhY2VhYmxlPnBlcnNpc3RlbmNlX21vZGU8L3JlcGxhY2Vh YmxlPiBpczogPC9waHJhc2U+CisKK1sgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRF TVAgfSB8IFVOTE9HR0VECisKKzxwaHJhc2U+YW5kIDxyZXBsYWNlYWJsZT5vdmVyc2l6ZV9zdG9y YWdlPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJhc2U+CisKK1NUT1JBR0UgeyBQTEFJTiB8IEVYVEVS TkFMIHwgRVhURU5ERUQgfCBNQUlOIHwgREVGQVVMVCB9IFsgQ09NUFJFU1NJT04gPHJlcGxhY2Vh YmxlPmNvbXByZXNzaW9uX21ldGhvZDwvcmVwbGFjZWFibGU+IF0KKworPHBocmFzZT5hbmQgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJs ZT4gaXM6PC9waHJhc2U+CiAKIFsgQ09OU1RSQUlOVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29uc3RyYWludF9uYW1lPC9yZXBsYWNlYWJsZT4gXQogeyBOT1QgTlVMTCBbIE5PIElO SEVSSVQgXSAgfApAQCAtMTIzLDYgKzEzMSwxNCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQog ICAgY29tbWFuZC4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgVGhlIGR1cmFiaWxpdHkgY2hh cmFjdGVyaXN0aWNzIG9mIGEgdGFibGUgYXJlIGdvdmVybmVkIGJ5IGl0cyBwZXJzaXN0ZW5jZQor ICAgbW9kZS4gIElmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgZGF0YSB3aWxsIGJlIHBlcnNpc3Rl bnQgYW5kIGNyYXNoLXNhZmUuCisgICBGb3IgbGVzcyBzdHJpbmdlbnQgcmVxdWlyZW1lbnRzIGFu ZCBiZXR0ZXIgcGVyZm9ybWFuY2UsIGEgdGFibGUgY2FuIGJlCisgICBzcGVjaWZpZWQgYXMgPGxp bmsgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlLXRlbXBvcmFyeSI+dGVtcG9yYXJ5PC9saW5rPgor ICAgb3IgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlLXVubG9nZ2VkIj51bmxvZ2dlZDwv bGluaz4uCisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIElmIGEgc2NoZW1hIG5hbWUgaXMgZ2l2 ZW4gKGZvciBleGFtcGxlLCA8bGl0ZXJhbD5DUkVBVEUgVEFCTEUKICAgIG15c2NoZW1hLm15dGFi bGUgLi4uPC9saXRlcmFsPikgdGhlbiB0aGUgdGFibGUgaXMgY3JlYXRlZCBpbiB0aGUgc3BlY2lm aWVkCi0tIAoyLjUxLjAKCg== --=-qlcQ4YIVkv4XCxhzj8xS--