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 1tEiYb-009Fui-UC for pgsql-hackers@arkaria.postgresql.org; Sat, 23 Nov 2024 05:19:46 +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 1tEiYa-00FbEQ-KS for pgsql-hackers@arkaria.postgresql.org; Sat, 23 Nov 2024 05:19:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tEiYa-00FbEH-8c for pgsql-hackers@lists.postgresql.org; Sat, 23 Nov 2024 05:19:44 +0000 Received: from mail-vs1-xe34.google.com ([2607:f8b0:4864:20::e34]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tEiYX-003OK3-87 for pgsql-hackers@lists.postgresql.org; Sat, 23 Nov 2024 05:19:43 +0000 Received: by mail-vs1-xe34.google.com with SMTP id ada2fe7eead31-4aefcb3242aso209338137.1 for ; Fri, 22 Nov 2024 21:19:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732339179; x=1732943979; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Rg0z1w92ugBTKdBbJeksTK3wgngN37fwTM+A0RXE2sE=; b=FJAZ2uNNeMXXPsPm6w2NE51Hh/hfDj3VIPHufgHsfr2qr9KFcTDQznLu0FEzkoisbG TgNa+5JWZpHD06lw2B2vkVWXwYCpGYcEptrmfRaZE1aqpvY9WzrYULnF4rRoRH8qIU5h CJzrp6MSytyN0yQ19WZUvhj+0IE22oA2y1r+jmuGSGyZ461LXXxZ6KGx/uZ2tovncZix nMQoxno/CbdcWoNrsrxrQfyvuSPwAkWj1z4zfwZTCC0OVGfhzVkGX/BNPjvysK2PC3a/ rF8RV5EdMtsfdu0FW1RnFG/DmLrdiP9EdHorxzgFK0we3kd3vQMUHgcBDE8xzsOtTTY3 /yuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732339179; x=1732943979; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Rg0z1w92ugBTKdBbJeksTK3wgngN37fwTM+A0RXE2sE=; b=LmP8z3kXl9czXdL29H7fmpofSiN/C8/VAhO11R9IIWPFMvWGUV/sVKdXA6KjwhFcCU 2LKGJUNKFxgIPni1kW0Ts0v/nJpRtHAKe002Txxeo+Juv77JVlevCmmRSFAhkXroXmLC q7mZi39dXjnRxWrmIaqyYsADBiW9Ev6WosL1nnnWAv4+JkMDndi7E22fNTMWKHMO25Ax +ObDHdB8pO9trlovB/YZca/ng5kW56+zYFy6mJjXHpQdRbnryrUTsay11F7qP3CqxRAq zLea7MY7URTt/grHh/Iu1ADjaaZJTm9P0s9kXyZJNDfzyg136/qXBZHm6CxJJfwOH0bt jgiw== X-Gm-Message-State: AOJu0YwRh6GNDqS6CubhrZffVyMMnHoJDdxMwNNiM1IEVv5NoRBixu8q GJj+c7EOiuxmv8Pfu9Wwig3cuhuaMWHNGWlKjxUpcpxHfa3Yqy2mYqFdcQ8g0N62DIG0I5krYmQ eDXtyXUscpfNYgriMWGMotKkb37s= X-Gm-Gg: ASbGncs1hGEkwGHfdkMHy3n63vTE4ioOVlQG5+8Oi3wV5+xAeaI/A9b359JPE0+92fV zNvsWbFBYhA4OJN8FjHBOsATx2TDMTs9k X-Google-Smtp-Source: AGHT+IHDd3F7czMNRpji0JhiDmfDKvAvrJ6pEVIk0fD/CgsaQ6TViSlji1jVMBxkPqRcQctc6nKQh63WZc68cHzqrKM= X-Received: by 2002:a05:6102:2ad0:b0:4ae:f12f:7d9 with SMTP id ada2fe7eead31-4aef12f09a7mr4945646137.4.1732339179291; Fri, 22 Nov 2024 21:19:39 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Sat, 23 Nov 2024 13:19:27 +0800 Message-ID: Subject: Re: CREATE SCHEMA ... CREATE DOMAIN support To: Kirill Reshke Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000069a51706278da5b0" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000069a51706278da5b0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Nov 12, 2024 at 8:55=E2=80=AFPM Kirill Reshke wrote: > > Patch obviously leaks doc & regression tests, but I'm posting it to > see if this contribution is needed in PostgreSQL the following two statement should fail: CREATE SCHEMA regress_schema_2 AUTHORIZATION CURRENT_ROLE CREATE table t(a ss) create domain public.ss as text not null default 'hello' constraint nn check (value <> 'hello'); CREATE SCHEMA regress_schema_2 AUTHORIZATION CURRENT_ROLE CREATE table t(a ss) create domain postgres.public.ss as text not null default 'hello' constraint nn check (value <> 'hello'); we aslo need to consider the dependency issue. like the following should be= ok. CREATE SCHEMA regress_schema_3 AUTHORIZATION CURRENT_ROLE create view test as select 'hello'::ss as test CREATE table t(a ss) create domain ss as text not null; i fixed these two issues, and add the above example as tests in src/test/regress/sql/create_schema.sql I didn't add a doc entry. I will do it later. --00000000000069a51706278da5b0 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-support-CREATE-SCHEMA-.-CREATE-DOMAIN.patch" Content-Disposition: attachment; filename="v2-0001-support-CREATE-SCHEMA-.-CREATE-DOMAIN.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m3tpzw4h0 RnJvbSBhYTFkMjI5NTQ0NjM2NDUzZmRkYmIwYmEwMWRkYjEyYmQ1MTVmNTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjMgTm92IDIwMjQgMTM6MTM6NTcgKzA4MDAKU3ViamVjdDogW1BBVENIIHYy IDEvMV0gc3VwcG9ydCBDUkVBVEUgU0NIRU1BIC4uLiBDUkVBVEUgRE9NQUlOCgpub3cgeW91IGNh bjoKICAgIENSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMyBBVVRIT1JJWkFUSU9OIENVUlJF TlRfUk9MRQogICAgY3JlYXRlIHZpZXcgdGVzdCBhcyBzZWxlY3QgJ2hlbGxvJzo6c3MgYXMgdGVz dAogICAgQ1JFQVRFIHRhYmxlIHQoYSBzcykKICAgIGNyZWF0ZSBkb21haW4gc3MgYXMgdGV4dCBu b3QgbnVsbDsKCnRoZSBkb21haW4gd2lsbCBiZSBjcmVhdGVkIGluIHRoZSBzYW1lIHNjaGVtYSBh cyB0aGUgY3JlYXRlZCBzY2hlbWEuCml0J3Mgbm90IGFsbG93ZWQgdG8gbGV0IGRvbWFpbiBjcmVh dGVkIGluIGRpZmZlcmVudCBzY2hlbWEgYXMgdGhlIHRoZSBjcmVhdGVkIHNjaGVtYS4KCmRpc2N1 c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FMZFNTUGg0alVTRHNXdTNLNThoak82MHduVFJS MER1TzRDS1Jjd2E4RVZ1T1NmWHhnJTQwbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICB8IDI2ICsrKysrKysrKysrKysKIHNyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQgfCA0MyArKysrKysrKysrKysrKysrKysr KysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsICAgICAgfCAyNiArKysr KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpp bmRleCA2N2ViOTYzOTZhLi5hZDhkOTI3MGFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTE1ODQsNiArMTU4 NCw3IEBAIHNjaGVtYV9zdG10OgogCQkJfCBDcmVhdGVUcmlnU3RtdAogCQkJfCBHcmFudFN0bXQK IAkJCXwgVmlld1N0bXQKKwkJCXwgQ3JlYXRlRG9tYWluU3RtdAogCQk7CiAKIApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV91dGlsY21kLmMKaW5kZXggMGYzMjRlZTRlMy4uZTVmNWNkMjJhYyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYworKysgYi9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0xMDUsNiArMTA1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QK IAlMaXN0CSAgICppbmRleGVzOwkJLyogQ1JFQVRFIElOREVYIGl0ZW1zICovCiAJTGlzdAkgICAq dHJpZ2dlcnM7CQkvKiBDUkVBVEUgVFJJR0dFUiBpdGVtcyAqLwogCUxpc3QJICAgKmdyYW50czsJ CQkvKiBHUkFOVCBpdGVtcyAqLworCUxpc3QJICAgKmRvbWFpbnM7CQkvKiBET01BSU4gaXRlbXMg Ki8KIH0gQ3JlYXRlU2NoZW1hU3RtdENvbnRleHQ7CiAKIApAQCAtNDAzOSw2ICs0MDQwLDcgQEAg dHJhbnNmb3JtQ3JlYXRlU2NoZW1hU3RtdEVsZW1lbnRzKExpc3QgKnNjaGVtYUVsdHMsIGNvbnN0 IGNoYXIgKnNjaGVtYU5hbWUpCiAJY3h0LmluZGV4ZXMgPSBOSUw7CiAJY3h0LnRyaWdnZXJzID0g TklMOwogCWN4dC5ncmFudHMgPSBOSUw7CisJY3h0LmRvbWFpbnMgPSBOSUw7CiAKIAkvKgogCSAq IFJ1biB0aHJvdWdoIGVhY2ggc2NoZW1hIGVsZW1lbnQgaW4gdGhlIHNjaGVtYSBlbGVtZW50IGxp c3QuIFNlcGFyYXRlCkBAIC00MTA3LDYgKzQxMDksMjkgQEAgdHJhbnNmb3JtQ3JlYXRlU2NoZW1h U3RtdEVsZW1lbnRzKExpc3QgKnNjaGVtYUVsdHMsIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUpCiAJ CQkJY3h0LmdyYW50cyA9IGxhcHBlbmQoY3h0LmdyYW50cywgZWxlbWVudCk7CiAJCQkJYnJlYWs7 CiAKKwkJCWNhc2UgVF9DcmVhdGVEb21haW5TdG10OgorCQkJCXsKKwkJCQkJQ3JlYXRlRG9tYWlu U3RtdCAqZWxwID0gKENyZWF0ZURvbWFpblN0bXQgKikgZWxlbWVudDsKKwkJCQkJY2hhciAqZG9t YWluX3NjaGVtYSA9IE5VTEw7CisKKwkJCQkJLyogRE9NQUlOJ3Mgc2NoZW1hIG11c3QgdGhlIHNh bWUgYXMgdGhlIHRvIGJlIGNyZWF0ZWQgc2NoZW1hCisJCQkJCSAqIGlmIGxlbmd0aCBvZiBkb21h aW5uYW1lID4gMyB3aWxsIGZhaWwgYXQKKwkJCQkJICogRGVjb25zdHJ1Y3RRdWFsaWZpZWROYW1l LAorCQkJCQkqLworCQkJCQlpZiAobGlzdF9sZW5ndGgoZWxwLT5kb21haW5uYW1lKSA9PSAyKQor CQkJCQl7CisJCQkJCQlkb21haW5fc2NoZW1hID0gc3RyVmFsKGxpc3RfbnRoKGVscC0+ZG9tYWlu bmFtZSwgMCkpOworCQkJCQkJc2V0U2NoZW1hTmFtZShjeHQuc2NoZW1hbmFtZSwgJmRvbWFpbl9z Y2hlbWEpOworCQkJCQl9CisJCQkJCWVsc2UgaWYgKGxpc3RfbGVuZ3RoKGVscC0+ZG9tYWlubmFt ZSkgPT0gMykKKwkJCQkJeworCQkJCQkJZG9tYWluX3NjaGVtYSA9IHN0clZhbChsaXN0X250aChl bHAtPmRvbWFpbm5hbWUsIDEpKTsKKwkJCQkJCXNldFNjaGVtYU5hbWUoY3h0LnNjaGVtYW5hbWUs ICZkb21haW5fc2NoZW1hKTsKKwkJCQkJfQorCQkJCQljeHQuZG9tYWlucyA9IGxhcHBlbmQoY3h0 LmRvbWFpbnMsIGVsZW1lbnQpOworCQkJCX0KKwkJCQlicmVhazsKKwogCQkJZGVmYXVsdDoKIAkJ CQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQiLAogCQkJCQkgKGludCkg bm9kZVRhZyhlbGVtZW50KSk7CkBAIC00MTE0LDYgKzQxMzksNyBAQCB0cmFuc2Zvcm1DcmVhdGVT Y2hlbWFTdG10RWxlbWVudHMoTGlzdCAqc2NoZW1hRWx0cywgY29uc3QgY2hhciAqc2NoZW1hTmFt ZSkKIAl9CiAKIAlyZXN1bHQgPSBOSUw7CisJcmVzdWx0ID0gbGlzdF9jb25jYXQocmVzdWx0LCBj eHQuZG9tYWlucyk7CiAJcmVzdWx0ID0gbGlzdF9jb25jYXQocmVzdWx0LCBjeHQuc2VxdWVuY2Vz KTsKIAlyZXN1bHQgPSBsaXN0X2NvbmNhdChyZXN1bHQsIGN4dC50YWJsZXMpOwogCXJlc3VsdCA9 IGxpc3RfY29uY2F0KHJlc3VsdCwgY3h0LnZpZXdzKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2NyZWF0ZV9zY2hlbWEub3V0CmluZGV4IDkzMzAyYTA3ZWYuLmNmOTllODMxM2YgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3NjaGVtYS5vdXQKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfc2NoZW1hLm91dApAQCAtNTgsNiArNTgs NDkgQEAgQ1JFQVRFIFNDSEVNQSByZWdyZXNzX3NjaGVtYV8xIEFVVEhPUklaQVRJT04gQ1VSUkVO VF9ST0xFCiAgIEVYRUNVVEUgRlVOQ1RJT04gc2NoZW1hX3RyaWcubm9fZnVuYygpOwogRVJST1I6 ICBDUkVBVEUgc3BlY2lmaWVzIGEgc2NoZW1hIChzY2hlbWFfbm90X2V4aXN0aW5nKSBkaWZmZXJl bnQgZnJvbSB0aGUgb25lIGJlaW5nIGNyZWF0ZWQgKHJlZ3Jlc3Nfc2NoZW1hXzEpCiBSRVNFVCBS T0xFOworLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVhdGlvbiB3aXRoIGRvbWFpbi4KKy0t ZmFpbC4gY2Fubm90IGNyZWF0ZSBkb21haW4gdG8gb3RoZXIgc2NoZW1hCitDUkVBVEUgU0NIRU1B IHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgQ1JFQVRFIHRh YmxlIHQoYSBzcykKKyAgY3JlYXRlIGRvbWFpbiBwdWJsaWMuc3MgYXMgdGV4dCBub3QgbnVsbCBk ZWZhdWx0ICdoZWxsbycgY29uc3RyYWludCBubiBjaGVjayAodmFsdWUgPD4gJ2hlbGxvJyk7CitF UlJPUjogIENSRUFURSBzcGVjaWZpZXMgYSBzY2hlbWEgKHB1YmxpYykgZGlmZmVyZW50IGZyb20g dGhlIG9uZSBiZWluZyBjcmVhdGVkIChyZWdyZXNzX3NjaGVtYV8yKQorLS1mYWlsLiBjYW5ub3Qg Y3JlYXRlIGRvbWFpbiB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hl bWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgdGFibGUgdChhIHNzKQor ICBjcmVhdGUgZG9tYWluIHBvc3RncmVzLnB1YmxpYy5zcyBhcyB0ZXh0IG5vdCBudWxsIGRlZmF1 bHQgJ2hlbGxvJyBjb25zdHJhaW50IG5uIGNoZWNrICh2YWx1ZSA8PiAnaGVsbG8nKTsKK0VSUk9S OiAgQ1JFQVRFIHNwZWNpZmllcyBhIHNjaGVtYSAocHVibGljKSBkaWZmZXJlbnQgZnJvbSB0aGUg b25lIGJlaW5nIGNyZWF0ZWQgKHJlZ3Jlc3Nfc2NoZW1hXzIpCistLW9rLCBxdWFsaWZpZWQgc2No ZW1hIG5hbWUgZm9yIGRvbWFpbiBzaG91bGQgYmUgc2FtZSBhcyB0aGUgY3JlYXRlZCBzY2hlbWEu CitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JP TEUKKyAgQ1JFQVRFIHRhYmxlIHQoYSBzcykKKyAgY3JlYXRlIGRvbWFpbiByZWdyZXNzX3NjaGVt YV8yLnNzIGFzIHRleHQgbm90IG51bGw7CitcZEQgcmVncmVzc19zY2hlbWFfMi4qCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2YgZG9tYWlucworICAgICAgU2NoZW1hICAgICAg fCBOYW1lIHwgVHlwZSB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IENoZWNrIAor LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLQorIHJlZ3Jlc3Nfc2NoZW1hXzIgfCBzcyAgIHwgdGV4dCB8ICAgICAg ICAgICB8IG5vdCBudWxsIHwgICAgICAgICB8IAorKDEgcm93KQorCistLW9rLCBubyBxdWFsaWZp ZWQgc2NoZW1hIG5hbWUgZm9yIGRvbWFpbi4gYWxzbyBjaGVjayB0aGUgZGVwZW5kZW5jeS4KK0NS RUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFfMyBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQor ICBjcmVhdGUgdmlldyB0ZXN0IGFzIHNlbGVjdCAnaGVsbG8nOjpzcyBhcyB0ZXN0CisgIENSRUFU RSB0YWJsZSB0KGEgc3MpCisgIGNyZWF0ZSBkb21haW4gc3MgYXMgdGV4dCBub3QgbnVsbDsKK1xk RCByZWdyZXNzX3NjaGVtYV8zLioKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBkb21haW5zCisgICAgICBTY2hlbWEgICAgICB8IE5hbWUgfCBUeXBlIHwgQ29sbGF0aW9uIHwg TnVsbGFibGUgfCBEZWZhdWx0IHwgQ2hlY2sgCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tCisgcmVncmVzc19z Y2hlbWFfMyB8IHNzICAgfCB0ZXh0IHwgICAgICAgICAgIHwgbm90IG51bGwgfCAgICAgICAgIHwg CisoMSByb3cpCisKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQ0FTQ0FERTsKK05PVElD RTogIGRyb3AgY2FzY2FkZXMgdG8gMiBvdGhlciBvYmplY3RzCitERVRBSUw6ICBkcm9wIGNhc2Nh ZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfMi5zcworZHJvcCBjYXNjYWRlcyB0byB0YWJsZSBy ZWdyZXNzX3NjaGVtYV8yLnQKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzMgQ0FTQ0FERTsK K05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gMyBvdGhlciBvYmplY3RzCitERVRBSUw6ICBkcm9w IGNhc2NhZGVzIHRvIHR5cGUgcmVncmVzc19zY2hlbWFfMy5zcworZHJvcCBjYXNjYWRlcyB0byB0 YWJsZSByZWdyZXNzX3NjaGVtYV8zLnQKK2Ryb3AgY2FzY2FkZXMgdG8gdmlldyByZWdyZXNzX3Nj aGVtYV8zLnRlc3QKIC0tIENhc2VzIHdoZXJlIHRoZSBzY2hlbWEgY3JlYXRpb24gc3VjY2VlZHMu CiAtLSBUaGUgc2NoZW1hIGNyZWF0ZWQgbWF0Y2hlcyB0aGUgcm9sZSBuYW1lLgogQ1JFQVRFIFND SEVNQSBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfY3JlYXRlX3NjaGVtYV9yb2xlCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfc2NoZW1hLnNxbCBiL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCmluZGV4IDFiNzA2NDI0N2EuLjM5M2ExNzNjYTggMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9zY2hlbWEuc3FsCkBAIC00Nyw2ICs0NywzMiBAQCBD UkVBVEUgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzEgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUK ICAgRVhFQ1VURSBGVU5DVElPTiBzY2hlbWFfdHJpZy5ub19mdW5jKCk7CiBSRVNFVCBST0xFOwog CistLSBDYXNlcyB3aGVyZSB0aGUgc2NoZW1hIGNyZWF0aW9uIHdpdGggZG9tYWluLgorCistLWZh aWwuIGNhbm5vdCBjcmVhdGUgZG9tYWluIHRvIG90aGVyIHNjaGVtYQorQ1JFQVRFIFNDSEVNQSBy ZWdyZXNzX3NjaGVtYV8yIEFVVEhPUklaQVRJT04gQ1VSUkVOVF9ST0xFCisgIENSRUFURSB0YWJs ZSB0KGEgc3MpCisgIGNyZWF0ZSBkb21haW4gcHVibGljLnNzIGFzIHRleHQgbm90IG51bGwgZGVm YXVsdCAnaGVsbG8nIGNvbnN0cmFpbnQgbm4gY2hlY2sgKHZhbHVlIDw+ICdoZWxsbycpOworLS1m YWlsLiBjYW5ub3QgY3JlYXRlIGRvbWFpbiB0byBvdGhlciBzY2hlbWEKK0NSRUFURSBTQ0hFTUEg cmVncmVzc19zY2hlbWFfMiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgdGFi bGUgdChhIHNzKQorICBjcmVhdGUgZG9tYWluIHBvc3RncmVzLnB1YmxpYy5zcyBhcyB0ZXh0IG5v dCBudWxsIGRlZmF1bHQgJ2hlbGxvJyBjb25zdHJhaW50IG5uIGNoZWNrICh2YWx1ZSA8PiAnaGVs bG8nKTsKKy0tb2ssIHF1YWxpZmllZCBzY2hlbWEgbmFtZSBmb3IgZG9tYWluIHNob3VsZCBiZSBz YW1lIGFzIHRoZSBjcmVhdGVkIHNjaGVtYS4KK0NSRUFURSBTQ0hFTUEgcmVncmVzc19zY2hlbWFf MiBBVVRIT1JJWkFUSU9OIENVUlJFTlRfUk9MRQorICBDUkVBVEUgdGFibGUgdChhIHNzKQorICBj cmVhdGUgZG9tYWluIHJlZ3Jlc3Nfc2NoZW1hXzIuc3MgYXMgdGV4dCBub3QgbnVsbDsKK1xkRCBy ZWdyZXNzX3NjaGVtYV8yLioKKworLS1vaywgbm8gcXVhbGlmaWVkIHNjaGVtYSBuYW1lIGZvciBk b21haW4uIGFsc28gY2hlY2sgdGhlIGRlcGVuZGVuY3kuCitDUkVBVEUgU0NIRU1BIHJlZ3Jlc3Nf c2NoZW1hXzMgQVVUSE9SSVpBVElPTiBDVVJSRU5UX1JPTEUKKyAgY3JlYXRlIHZpZXcgdGVzdCBh cyBzZWxlY3QgJ2hlbGxvJzo6c3MgYXMgdGVzdAorICBDUkVBVEUgdGFibGUgdChhIHNzKQorICBj cmVhdGUgZG9tYWluIHNzIGFzIHRleHQgbm90IG51bGw7CitcZEQgcmVncmVzc19zY2hlbWFfMy4q CisKK0RST1AgU0NIRU1BIHJlZ3Jlc3Nfc2NoZW1hXzIgQ0FTQ0FERTsKK0RST1AgU0NIRU1BIHJl Z3Jlc3Nfc2NoZW1hXzMgQ0FTQ0FERTsKKwogLS0gQ2FzZXMgd2hlcmUgdGhlIHNjaGVtYSBjcmVh dGlvbiBzdWNjZWVkcy4KIC0tIFRoZSBzY2hlbWEgY3JlYXRlZCBtYXRjaGVzIHRoZSByb2xlIG5h bWUuCiBDUkVBVEUgU0NIRU1BIEFVVEhPUklaQVRJT04gcmVncmVzc19jcmVhdGVfc2NoZW1hX3Jv bGUKLS0gCjIuMzQuMQoK --00000000000069a51706278da5b0--