From 3daea98d76a3200f8e9f5727fdbf864e1caa0abb Mon Sep 17 00:00:00 2001 From: Ariel Mashraki <7413593+a8m@users.noreply.github.com> Date: Thu, 17 Dec 2020 18:36:46 +0200 Subject: [PATCH] entc/gen: check runtime import before executing privacy rules (#1054) --- entc/gen/internal/bindata.go | 4 ++-- entc/gen/template/builder/query.tmpl | 3 +++ entc/integration/privacy/ent/task_query.go | 3 +++ entc/integration/privacy/ent/team_query.go | 3 +++ entc/integration/privacy/ent/user_query.go | 3 +++ examples/privacyadmin/ent/user_query.go | 3 +++ examples/privacytenant/ent/group_query.go | 3 +++ examples/privacytenant/ent/tenant_query.go | 3 +++ examples/privacytenant/ent/user_query.go | 3 +++ 9 files changed, 26 insertions(+), 2 deletions(-) diff --git a/entc/gen/internal/bindata.go b/entc/gen/internal/bindata.go index 9ffabe769..1614aed7f 100644 --- a/entc/gen/internal/bindata.go +++ b/entc/gen/internal/bindata.go @@ -230,7 +230,7 @@ func templateBuilderMutationTmpl() (*asset, error) { return a, nil } -var _templateBuilderQueryTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xdd\x6f\xdb\xb8\xb2\x7f\xb6\xff\x8a\x59\x21\x1b\xd8\x81\x23\xb7\x7d\xbb\xb9\xc8\x05\xba\x4d\x7b\x61\xa0\xe8\x7e\xb4\x07\xbb\x40\x51\x74\x19\x69\x64\x73\x2b\x53\x3a\x24\xe5\x24\xc8\xf1\xff\x7e\xc0\x21\x25\x51\x5f\xb1\x9c\x66\xf7\x74\xcf\x93\x2d\x69\x38\x1c\xce\xfc\xe6\x83\x1c\xde\xdf\x2f\xcf\xa6\xaf\xb2\xfc\x4e\xf2\xf5\x46\xc3\x8b\x67\xcf\xff\xe7\x3c\x97\xa8\x50\x68\x78\xc3\x22\xbc\xce\xb2\x2f\xb0\x12\x51\x08\x2f\xd3\x14\x88\x48\x81\xf9\x2e\x77\x18\x87\xd3\x0f\x1b\xae\x40\x65\x85\x8c\x10\xa2\x2c\x46\xe0\x0a\x52\x1e\xa1\x50\x18\x43\x21\x62\x94\xa0\x37\x08\x2f\x73\x16\x6d\x10\x5e\x84\xcf\xca\xaf\x90\x64\x85\x88\xa7\x5c\xd0\xf7\xb7\xab\x57\xaf\xdf\xbd\x7f\x0d\x09\x4f\x11\xdc\x3b\x99\x65\x1a\x62\x2e\x31\xd2\x99\xbc\x83\x2c\x01\xed\x4d\xa6\x25\x62\x38\x3d\x5b\xee\xf7\xd3\xe9\xfd\x3d\xc4\x98\x70\x81\x10\xfc\xb3\x40\x79\x17\xc0\x7e\x6f\x5e\x9e\xe4\x5f\xd6\x70\x71\x09\xd7\x4c\x21\x9c\x84\xaf\x32\x91\xf0\x75\xf8\x13\x8b\xbe\xb0\x35\x82\x1b\xa9\x71\x9b\xa7\x4c\x23\x04\x1b\x64\x31\xca\x00\x4e\xba\x9f\xf8\x36\xcf\xa4\x2e\x3f\xd9\x27\x98\x4d\x27\xf7\xf7\xe7\x20\x99\x58\x23\x9c\xe4\x4c\x6f\xcc\x64\x27\xe1\x7b\x7e\x9d\x72\xb1\x5e\x11\x95\x32\x23\x26\x93\x80\xc4\x31\x24\xfb\x7d\x60\xc7\xa1\x88\xcd\xb7\x39\x4d\x75\x72\x5d\xf0\xd4\x68\x8b\x38\xfc\x6c\x56\xf1\x8e\x6d\xb1\x5c\x88\xc4\x08\xf9\xce\x7e\xae\xfe\x57\x63\x8c\x4c\xcb\x25\xf8\x6c\xf6\x7b\x63\x09\xa3\xc6\xf2\x4d\x92\x49\x20\xed\x70\xb1\x36\xa4\x39\x53\x11\x4b\xe1\x24\x74\xf3\x00\x0a\xcd\x35\x47\x15\x4e\xf5\x5d\x8e\x6d\x6e\x4a\xcb\x22\xd2\x70\x3f\x9d\x44\xa4\xc6\xe9\x24\xe5\x5b\xae\x27\x93\x33\x2e\xf4\x74\x92\x25\x89\xc2\xfa\x49\xc6\x28\x27\x93\x8f\x9f\x7e\x34\x7f\xde\x14\x22\x9a\x4e\x72\x89\x31\x8f\x98\x46\x05\x93\x8f\x9f\xaa\xa7\xd0\xcc\x53\xca\x60\x15\x73\xc3\xf5\x06\x4e\xc2\xd7\xf1\x1a\x9d\xf6\x96\x4b\x40\xb6\x46\x79\x9e\x66\x2c\x36\xf2\xa3\xf9\x16\x4e\x27\xbe\x01\xd0\x28\x27\xb4\x03\x26\x86\x2b\x86\xaf\xcd\xa0\xb7\x19\x8b\xdf\x70\x4c\x8d\xb6\xe1\xcc\x7e\xf8\x70\x97\x63\x53\xcb\x13\xdf\x26\x9d\xff\xcb\x33\x78\x19\xc7\x5c\xf3\x4c\xb0\x14\x12\xc3\x4d\x81\xce\x80\xc5\xb1\xf9\xf1\xf4\x1c\x02\x61\x92\x46\x9d\xe8\x6d\x9e\x1a\xa9\x72\xc9\x85\x4e\x20\x88\x39\x4b\x31\xd2\xcb\xef\xd5\x92\x4c\xb1\xb4\x9c\x02\x03\x1a\x9d\x49\x87\x4a\x1a\xcb\x13\xd8\x30\xf5\xa1\x44\xa0\x65\x55\xc9\x79\xab\x9b\x1f\xc2\x8e\xd4\xcb\x25\x70\xa1\x51\x6e\x31\xe6\x86\x8e\xe6\x83\x19\x0f\x31\x04\x2d\xd9\x0e\xa5\x62\x29\x18\x44\xce\xc3\x29\xa9\xcb\x13\x01\xfc\xe7\xf0\x87\x1a\x66\x13\x82\x70\x52\x88\x68\x16\x65\x42\xe3\xad\x36\x5e\x65\x7e\xe7\x30\x1b\x18\xb4\x00\x94\x32\x93\xf3\xa9\x45\xe9\xaf\x1b\x94\x68\x14\xa7\x80\x81\xc0\x1b\xa8\xa0\x40\x10\xf5\x55\x39\x35\x13\x59\xbe\x15\xe8\x4b\x1b\xd6\xd0\x9c\x5b\x96\xb3\x5c\x41\x18\x86\xfd\xc0\x9a\xb7\x07\x19\x20\xfb\x7c\xf7\xfb\xd0\x03\xe8\x25\xb0\x3c\x47\x11\xb7\xa7\xf6\x68\x16\x90\xab\x30\x0c\xe7\xd3\x89\x44\x5d\x48\x01\x2d\x52\xb7\xda\xb7\xc6\x49\xca\xd5\x92\xc7\x80\xd2\x98\x97\xa0\x21\xab\x8c\x5e\x27\x31\x9b\x59\x2e\x5c\xe8\x83\x8b\x32\x12\x5b\xea\x4b\x38\xa5\x3f\x07\xa4\xfd\x91\xbc\xd8\x89\x2b\xc0\x3a\xf5\x57\x08\x6c\xf9\xcd\x1c\x9f\xb1\x22\x3b\xf2\x4b\x38\xb5\xff\x0e\x09\x6d\x62\x4c\x2d\x33\x3d\x7d\x85\xc8\x66\xfc\x2c\x33\x50\xaa\x82\xd7\x38\xa9\x69\xe2\x41\xe4\xd0\xe7\x05\x64\x87\x30\x63\xf2\xb1\x4d\x74\x94\x4e\x37\x4c\x81\xe2\x5b\x9e\x32\xc9\xf5\x9d\x0d\x8d\x26\xf8\xd1\xaa\x38\x2a\x93\x2c\xa3\x94\xa3\xd0\x21\x05\x02\x0a\x3e\xf7\xf7\x65\x4c\xfc\xbc\x70\x71\xd1\x0f\xa7\x14\x02\xe3\x35\x7e\xf6\x72\x0e\x45\x28\x98\x95\x49\xc1\x45\x48\xe3\x3d\x73\x08\x7e\xae\x92\xaa\x09\x2b\xf4\xe4\x25\x10\xac\x32\x48\xb4\x61\x5c\xd8\xac\x13\x15\x52\x9a\x12\xc2\x86\x9d\xcc\x66\x74\x1b\x7b\xab\x7c\x13\xaf\x31\x9c\x4e\x46\xda\x65\x70\xd6\x99\xb3\x4e\x63\x45\xd6\x44\x13\x3b\xfb\xc5\x25\x9c\xf6\x50\xdc\xdb\x44\x76\xd1\xb6\x42\x68\xdf\xef\xcb\xf1\x21\xc5\xbc\x4b\x17\xf5\xf4\x2d\x74\x23\x5f\x22\xb3\xed\x3f\x86\x82\x26\xc5\x3f\x17\x03\x49\xaa\x09\x4f\xe8\xd5\xc5\x65\x67\xea\x5c\x62\xce\x24\xd2\x62\xcd\x5c\xf3\xff\x25\xca\xef\x2e\x41\xf0\xd4\x0e\x2e\xb1\x23\x78\x4a\x9c\xcd\x3b\x97\xf2\x5c\xea\xc4\x5b\x6d\xb2\xc0\x09\x04\xbf\x38\xd6\x81\x37\x4b\x60\x80\x10\x18\x58\x04\xab\x18\x85\x0e\x20\x20\xf1\x03\x38\xb7\xa9\x93\xf0\x71\x30\x73\x19\xa5\xb4\xf3\xd6\xe4\xa1\xe4\x54\x27\x58\x37\x8f\x5b\x07\x4d\xbe\x30\xcb\x99\xda\x85\xb8\xf7\x34\xcd\x74\x42\x68\x76\x49\xcd\x78\xfb\x1b\x2e\x95\x06\x4b\x63\xa1\x96\xd0\x1b\x3f\xda\xdb\x52\xe6\xae\x2c\x24\xad\x15\xe1\x17\x37\xe6\xec\x5d\xa6\xdf\x98\xe2\xf3\xb5\x31\x09\xdc\x6c\x50\x80\xc8\x0c\x83\x34\xbb\x31\x65\x55\xc5\xe6\x86\x29\x5b\xa6\x8e\x8e\x1e\x24\xdd\x00\x48\xce\x7c\x11\x17\x1e\x20\x44\x16\x9b\x7c\x32\x00\x09\x1b\xf4\x9f\xcf\xc3\x97\x69\x4a\x90\x98\x96\xf8\xf1\x50\xd1\xc1\xc4\x9e\xa8\x52\x14\x33\xe2\x3e\x87\xcb\x4b\x78\xd6\x21\x3d\x6d\xa8\xe2\xde\x2a\xb1\xae\x8f\xc3\xb7\xec\x1a\xd3\x3d\x71\x2b\x87\x19\x6e\x1f\x9f\x7d\xb2\x06\xf3\x4c\xf2\x9b\xad\xfc\xbf\xa0\x7d\x5c\xc0\x75\xa1\x21\x67\x82\x47\xca\xd4\x32\x4c\xd8\x05\x43\x16\x45\x85\x54\xc7\x29\xf4\xb7\x7e\x8d\x36\x14\x5a\x2a\x72\x50\x8f\x95\x69\x3a\x0a\x3c\x3d\x85\xef\x56\xaa\x54\xc5\x0c\xa5\xf3\x53\x92\x9e\x1e\xdb\x1a\xf0\x17\xbe\xba\x3a\x84\x46\x1e\x1f\x87\x44\x1e\x3f\x16\x79\xab\xab\x01\xec\xf1\xd8\x8a\xb4\xba\xa2\xc0\xde\x13\x95\x76\x4c\x02\x8f\x15\x7c\xfc\xd4\x22\x24\x6d\xf1\xd8\x01\xf4\x01\x7c\xae\xae\x54\x7f\xc8\xb2\xea\xf1\x31\xc9\x63\x1f\x91\x96\xef\x58\x2c\xfa\xec\x9c\x49\x78\xdc\x0b\xc9\xd5\x55\x0b\x94\xab\xab\x27\x85\xe5\xea\x6a\x00\x98\x2d\x0d\x9a\x45\xf2\xf8\x61\x60\x5a\xcb\x7d\x25\x34\x79\x5c\x96\x44\x22\xbd\x6b\xa0\x32\x33\x2f\x0e\x85\xc8\x45\x35\xa4\x52\x0b\x4f\x40\x64\x1a\xf0\x96\x45\x3a\x35\x79\x1c\xcb\x81\x06\xa1\x96\x1c\xc7\x83\xd4\xc8\xf5\x67\x44\xc7\x17\xc7\x47\x47\x75\xc3\x75\xb4\xf1\x23\xa4\xd9\xda\x32\x85\xf0\xfc\xc2\x1b\xd2\x08\x77\xf6\xfb\xb3\x8b\x47\x46\xd1\x18\x13\x56\xa4\xba\x6f\xf8\x7b\x2e\xd6\x45\xca\xe4\xc1\x38\x5c\xdb\xb7\xc6\xb6\x79\x7a\x2a\x60\x13\xe7\xa7\x08\xb7\xa5\xa9\x7b\x0d\x72\x30\xb2\x9a\xd1\xad\xc0\xda\x85\x70\x2b\xae\x8e\x83\xaf\x0b\xae\x8f\x82\xee\x7f\x2e\xbc\xbe\x18\x17\x5e\x3d\x50\x53\x88\x6d\x40\x9a\xc7\x70\xe9\x42\xa5\x8f\xe4\xe3\xa2\xaf\x87\xe1\x7a\xe0\x68\xf4\x96\xb2\xfa\x46\x6e\xe2\xf8\xe9\x42\xb4\xe3\xfe\x14\x11\xba\xb6\xfd\x11\x68\xae\x82\xf1\xcb\x34\x05\xbc\xc5\xa8\xd0\xa8\x6a\xb4\x02\x13\x71\x0d\x58\x48\xb9\xd2\x90\x25\x74\x30\x97\x16\xd2\x3f\x98\x1b\xbd\x62\x17\x02\x7b\xf0\xf9\xf1\xd3\x60\x78\xfd\x9a\xbd\x48\x5f\x5c\xed\xdf\xd9\x86\xad\x03\xa6\x2a\x5a\x57\x2a\xaa\x61\xf0\x32\x4d\x9f\x0a\x03\x86\x6f\xbf\x4a\x5a\x1a\x39\x9c\x68\x1e\xca\x2f\xc3\xe1\x4c\xb9\x05\xae\xae\xd4\x51\x18\xf0\x83\xdc\xf8\xe5\xba\x10\xd1\x0b\x80\xbe\xf8\x34\x2a\x36\x0d\xe8\xe3\x3d\x9a\xfd\xe0\xac\xed\xeb\x74\xd0\xba\xba\x9a\x87\xef\x23\x26\x8c\x30\x0b\x38\x35\xa1\xe8\x18\xec\x50\x34\xac\x6b\xb9\xd5\x95\xaa\xc1\xb1\xba\x52\x4f\x05\x0e\xc3\x77\x08\x1c\xbd\xf1\x61\x18\x1c\x65\x6c\x3e\x26\x3a\x94\xd0\x78\x95\x15\xa2\xb9\xa1\x8d\xe8\x0d\xf5\x3b\x10\xd6\x7c\x87\xe2\xc8\x33\x2c\x62\x39\x94\xaa\x84\x7e\x62\xf7\x7f\x76\xac\xf3\x57\xe2\xcd\x7d\x15\xd4\x36\xa6\xc7\xa7\xb2\xb2\xe5\xdd\xaf\x0c\x2e\x5c\x43\xa3\x70\x4a\xe9\xd3\x83\x27\xed\x68\xeb\x12\x47\xb7\xb8\xd7\xb7\xdc\x3f\xb0\x90\x05\x9a\xe5\xd4\x31\x60\xc3\x14\x60\x8a\x5b\x14\x5a\x95\xf5\xcc\x5a\xb2\x7c\x33\x7a\x89\x34\xc3\x80\xb9\xaf\xb3\x2c\x7d\x62\x7b\x27\x2c\x55\x78\xac\xcd\x2b\x19\xe7\xbe\x5a\x6a\x9b\xd3\xe3\x53\xd9\xdc\xf2\xee\xd7\x88\x51\x88\x59\x0d\xda\x09\x07\x94\xe1\x89\x3b\xda\xe8\xc4\xb1\x44\x74\x6a\x6a\xcd\x3a\xb4\xc7\x45\x9e\xda\x1e\x47\xe6\xdb\xde\x09\xbd\x00\x2e\xa2\xb4\xa0\xce\x16\x4b\x53\x60\x4a\x65\x11\x67\x1a\x63\x3a\xc8\x56\x21\xac\x34\x44\x4c\xc0\x35\x1a\xe6\x85\x42\xea\x3a\x39\x8b\x41\x94\x6d\xb7\x99\x68\xb2\x54\x94\x5b\x0a\x85\x66\xb6\x2d\xc4\x3c\x49\x50\xa2\x30\x55\x30\x4b\xb4\xeb\xca\x46\x24\x25\x57\xb0\x65\x31\x8e\xf7\x28\x33\x6a\xd6\x7b\x26\xce\x93\xb6\x26\xcd\x2e\xbf\x1b\xf2\x7d\xb5\x9d\x36\xd9\x18\xc2\xf2\x60\xb6\x73\xc6\x6e\x3f\x2c\xa6\x13\xdb\x7c\xbc\x80\x49\x7f\xbf\xc3\x50\xd8\xde\x41\x0f\x13\xfb\x81\x48\x64\x8c\xd2\x30\x71\x67\xf6\x5e\xbf\xf2\x7e\xbf\xe8\x80\x82\xc8\xc3\x30\x9c\x9b\xb1\x75\x27\xe8\x02\xaa\xe1\xfd\xcd\xa7\x3e\x5e\xf5\xf0\x92\x61\xbb\x93\xd9\x68\x80\x0e\xf5\x33\xbb\x87\xd7\x03\x84\xa1\xb3\xda\xa2\xd5\xe8\x9c\x2c\x97\x25\x0c\x3a\xdd\x42\xdb\x5f\x6d\xb8\x71\xff\x7c\x1e\x81\x3f\x4f\xce\xf4\xa6\x3b\xc0\xbc\x5d\xb8\xad\xec\x43\x6b\xa6\x85\xf8\x5d\xf1\xde\xae\xed\x72\x09\xf0\x2b\xd7\x9b\xde\x7e\x84\xc6\x34\xf5\xca\xad\xf3\x92\x9b\xce\xbc\x76\xb2\x25\xa0\x62\x0d\xf4\x86\x69\xb0\x2e\x25\x04\x46\x9a\xfc\x8c\x26\x31\x34\x41\xa3\x7f\x11\xd8\x06\x06\x7c\x30\x7b\xd3\xdc\x75\x86\x99\x5c\x17\x36\x92\x97\x4e\x6a\x21\x5b\x48\xec\xba\x7d\x19\x0b\x8e\x6b\x84\x0c\xad\x76\x96\xe5\x9a\x3a\xa0\xd4\xa7\x38\x6b\xa8\x6f\xbf\x9f\xf7\xfa\x6b\xbb\x41\x72\x54\x73\x24\xc9\x24\x7c\x5e\x98\xb5\xd3\xad\x04\x32\x23\xc9\x40\x6d\x8a\x2c\xd7\x33\xe2\x3e\x77\xc7\xfa\x23\x81\x0a\x97\xe5\xc9\xff\x50\x93\x8c\x5a\x02\x15\x82\xe9\x7a\xc4\x5a\x66\x45\xfe\x83\xd7\xcd\x6a\xdc\x6d\xf8\x57\xd5\xc5\xf8\x5e\xfd\x3f\x51\xda\x66\x96\x89\xa5\xee\xb9\x32\x17\x71\x82\x1d\x4a\xcd\x23\x54\x70\x6d\x0f\x0d\x32\x09\xdb\x4c\xa2\x6b\xfc\x2f\xa3\x2c\x2d\xb6\x42\x85\x54\x9d\x6a\x13\x40\xb3\x44\xa3\xb0\x4c\xa8\x05\xc3\xd6\x6b\x89\x6b\xea\x69\x17\x22\x32\xe0\x50\x0b\x4a\x74\xa4\xd0\x3f\x32\x2e\x60\xf6\x05\xef\x54\x4d\x38\x87\x60\x01\x01\x6d\xf7\xaa\x46\x4e\x8a\x02\x4e\x6c\x49\xad\xec\x4d\x90\x73\x38\x49\xcc\x02\xb9\x88\xf1\xb6\xfe\xf6\xcc\x7c\x5d\x2e\x6d\x5e\x65\xdb\x3c\xc5\x0b\xfb\x48\xb5\xfd\x0e\x3e\x7e\xaa\xae\x6f\x2c\x97\xd6\x14\x49\xf8\x9e\x5e\x55\x7a\xb7\x2f\xcb\x82\xf7\x77\x9f\xe6\x03\x5b\xc3\x7e\xff\x3b\x8d\xb5\xe5\xaa\xa9\x9c\x7e\xff\x43\x65\xe2\x22\xb0\xd5\x53\xb6\xe5\x1a\xb7\xb9\xbe\x0b\x88\xcc\x49\x33\x71\xad\xc9\x9e\xeb\x26\xd6\x8f\x67\xf3\x90\xb8\x3a\x33\x74\xb6\x13\x56\x8a\x57\x99\x50\x9a\x09\x6d\x70\x6c\xe9\x5f\x96\x6a\xa3\x11\xf9\x97\x75\x5d\xa9\xcd\x1d\x89\xb7\x01\xd9\xcd\x8d\x38\x1e\x68\x46\xba\x5a\x29\x15\x99\x1d\x94\x96\x5c\xac\x17\xe5\xed\x8f\x30\x0c\xed\x1b\xe7\x59\x0d\x0c\x5a\xf7\xb2\x60\x2a\xbd\xab\x45\x70\xd8\xc3\x68\x40\xe8\xa6\xbb\xac\xb3\x8c\x9d\xf6\x9e\x3e\xec\x4b\x79\x6c\x5f\xd9\x0e\x39\xdc\xb0\xcc\x25\xee\x46\xf7\x2b\xbf\xaa\x5d\xd9\xed\x56\xee\x07\x5d\xbb\x9d\x4c\x1c\x44\x16\xed\x92\x81\x56\x39\x75\xbe\xaf\x68\x23\x3a\xca\xf9\xed\x9e\xb5\xf2\x7d\xfb\xd8\xe3\xe0\xd4\x93\xec\xee\xbe\xbe\x65\xbf\x3c\xd6\xe1\x06\xb6\xef\x43\xfe\xf6\x04\xce\xe4\x66\x1c\xe5\x4b\x4d\x9b\x5a\x67\xb2\xef\x32\x59\xf9\x53\x9b\xe8\xb0\x43\x95\x2c\x8e\xf3\xa9\x6a\xd4\x7f\xbb\x5b\x95\x0b\x35\x9e\x35\xd2\xa8\x6d\x49\xbb\x3a\xb1\x1b\xb8\xde\xbd\x81\x55\xa8\xbf\xaf\x92\xb8\x1b\xdc\x92\x19\x62\xb7\x23\xeb\xd9\x92\x55\x9b\xb0\x4a\x17\x07\x94\x00\x97\x46\xf8\x1d\xad\xdf\xdd\xb7\x3b\x09\xdf\x15\xdb\x9f\xb2\x94\x47\x77\xb6\x36\x6e\x5a\xc8\xf7\x13\x4b\x15\xbe\xde\xb1\xb4\x5a\x7b\xa7\xc8\x1f\x36\x5b\x25\xa5\x5f\x8a\x7b\xdb\x23\x1b\xda\x5a\x97\x39\x1c\x94\x82\xda\x02\x81\x93\x28\x28\x53\xe0\x74\xd4\xdd\x8d\xee\x75\xc3\xfe\x2b\x1b\xde\xc5\x0b\xba\x95\x44\x61\xf7\xba\x2e\x5f\xab\xcb\xb7\x36\xb5\xfd\xd2\x7b\x47\xb5\x95\xf5\xaa\x8b\xaa\xed\x74\xd9\x73\x5b\x95\x48\xce\xaf\xef\xc6\xde\x56\x6d\xb3\xec\x5e\x59\x75\x7e\x5f\xba\xfb\x74\x92\x08\x05\x00\xf0\xf1\x53\x55\x50\xd8\xcb\xaa\xdf\xec\xed\xc9\x4a\x4e\x7b\xe1\xad\xce\x51\x65\x21\xc9\x33\x51\xd7\x9c\xe5\x15\xb8\x4a\x93\x9d\x73\xc4\xa6\xe5\x4a\x17\x6f\x69\x72\x5e\x4f\x3b\x33\x1a\x0b\xc3\xb0\xa1\xaf\xe1\x0a\xa8\x6f\x8a\xd0\xb0\x68\xdc\x93\xeb\xa3\x58\x40\x22\xba\x17\x2c\xdb\x94\x4e\x2b\x26\x3d\x19\x86\x29\x77\xc7\xeb\xcd\x05\xd3\x59\x88\x32\x34\x74\xaf\x1c\x55\x91\x52\x09\x9b\x79\xfa\xdb\xb1\xb4\xc0\x47\x68\xa6\xcc\x8c\xed\xc8\xb7\x80\x9d\x85\x50\xc2\x22\xbc\xdf\x7b\x81\xd0\x35\x2b\xbd\xc8\xd2\x59\xbf\x17\xeb\x06\xbb\xd9\xe5\xf9\x5b\x2f\x83\x6e\xb0\x73\x9b\xaa\x07\x74\xd9\x1e\x54\xe7\xfc\xdd\xdc\xd3\x73\x7d\x66\x67\x9e\x8e\x38\xb2\x3b\x42\xa1\xbd\x67\x77\x1d\x8d\x76\x8e\x33\x3b\x2b\xf2\x97\xd0\x09\xc6\xcd\x53\x3c\x1b\xc9\xbc\x6b\x93\xda\x85\xd0\x2d\xd7\x7c\xe7\x9d\x49\xb8\xf6\x9c\x57\x68\x6a\x53\x64\xda\xb7\xee\x48\xc2\xa3\xdb\xef\xab\x63\xc0\x9e\x1e\x9f\x29\xb1\x6c\xb5\x59\x22\x36\x2c\x77\x94\x22\xbd\x03\x96\xa6\xd9\x8d\xd9\x53\x6e\xca\x2a\x94\x8b\x75\x0d\x6e\x4a\x10\xa6\x7c\xa5\xb8\xd6\x38\x42\x18\xa9\xec\x86\xa0\x0f\xf6\x8e\x74\xab\x69\x54\x5e\xe5\xe9\xf7\x5f\x8a\xb3\x73\xf8\x3f\x78\xde\x5b\xae\x64\x52\x85\xef\xf0\x66\x16\xd4\xbb\xb7\x8b\xbe\x10\x1e\x36\x15\xc9\x15\xb5\xf3\x59\xb4\xe1\xb8\x63\xd7\x29\x5a\xc5\xd0\x20\xa3\x18\x2a\xe1\xf5\x86\x09\x78\x6e\x55\x12\x94\x87\x0f\x65\xb9\x5d\xae\xa4\x93\xdc\x1f\x80\xce\x69\x0f\x76\x1e\xae\xbf\x76\x55\x69\xd5\x45\x43\xed\x3e\x8d\xd7\x07\xfd\xe8\x2b\x6d\xfb\x60\xa7\x4b\x97\xc7\x41\xbb\x87\xc3\x52\x07\x2d\x03\xb5\x98\xef\x59\x0d\xbd\x58\x95\x50\xf1\xee\xae\x0c\x34\xfd\xe8\xdc\xf3\x9f\x8a\xc2\xf3\x20\x06\xe6\x6d\x6a\x75\xf7\x2d\xf8\x8e\x27\xe4\x80\xf7\x7c\x86\x86\xf7\xf8\x1e\xd4\x0f\xca\x9d\x7f\x13\x64\x84\x09\x86\xb0\xe9\x54\xef\x5d\x09\xd9\xd9\x69\xeb\x1b\x21\x95\x5d\xea\x1b\x4e\xde\xc5\x90\x63\xef\xe5\x79\x57\x43\xdc\xd0\x64\xab\x43\x1a\x95\x1c\xeb\xe9\xe5\xf5\x1c\xf8\x3e\x76\xf9\x5a\x59\x43\x1a\x8b\xdd\x30\x05\x78\x9b\xd3\xf9\x6c\xb0\x70\x4b\x6b\x42\xad\xe1\x7b\x9e\x91\x9a\xde\xe7\x7d\xf8\x93\xfc\xcf\x9f\x7a\xf8\x26\xca\x31\xfe\xd7\x42\xdc\x63\x3c\xb0\x51\xd7\x0f\xef\x32\xda\x95\xfb\xa1\xbd\x05\xd1\x3f\x76\x6f\x61\xf7\x9e\x3d\x5b\x0b\xfb\xa1\x7f\x6f\xd1\x3e\x01\xa8\x36\x17\x9d\xf3\x83\x9e\xdd\x85\x9b\xd1\x6d\x09\x5c\x5a\x1e\xb1\xcb\xe8\xf0\x1e\xb1\xcd\xf8\x36\xb7\x13\xbd\x95\x73\x75\xcc\xf2\xf8\xca\xb9\x65\xb2\xd2\x41\xda\x8a\x7b\x9a\xda\xb9\x33\xd9\xd1\xc5\x73\x97\xc3\x98\xea\xf9\xe0\xa8\xa7\x2e\x9f\x8f\xd2\xea\x23\x0b\xe8\xee\xa2\xfe\x46\x15\x74\x75\x4e\x37\x58\x05\x58\x0a\x53\x06\xf4\x27\xfe\xd1\x2a\x7e\x9a\xb2\xb9\xab\xed\x47\xd7\xcd\x6d\x11\xc7\x15\xce\xb5\x3e\xbe\xa2\x72\x7e\x08\x33\xdf\x5c\xe9\xfc\x38\x0b\x3f\xa6\x78\xee\x8f\x0f\xdf\x62\xf5\xfc\x17\xfb\xcd\x9f\x5d\x32\x8f\x51\xfc\xdf\xb4\x66\x3e\xe0\xe5\xdf\x74\xd1\xfc\x58\x8c\x1c\x5f\x36\xf7\x03\xe0\xaf\xab\x9b\x3b\x55\xe9\xa1\xc2\x59\xb9\xb6\xe4\x23\x2a\xe7\xf2\xef\xbf\x03\x00\x00\xff\xff\x99\xc8\x09\xae\xc6\x43\x00\x00") +var _templateBuilderQueryTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x5a\xed\x6f\xdb\x38\x93\xff\x6c\xff\x15\xb3\x46\x36\xb0\x03\x47\x6e\xfb\xed\x72\xf0\x1d\xba\x4d\x7b\x30\x50\x74\x5f\xda\xc3\x2e\x50\x14\x5d\x46\x1a\xd9\xdc\xca\x94\x8e\xa4\x9c\xe4\xf2\xf8\x7f\x7f\xc0\x21\x25\x51\x6f\xb1\x9c\x7a\xf7\xe9\x3e\x9f\x6c\x49\xe4\x70\x38\xf3\x9b\x37\x0e\x1f\x1e\x16\x17\xe3\x57\x69\x76\x2f\xf9\x7a\xa3\xe1\xc5\xb3\xe7\xff\x71\x99\x49\x54\x28\x34\xbc\x61\x21\xde\xa4\xe9\x17\x58\x89\x30\x80\x97\x49\x02\x34\x48\x81\xf9\x2e\x77\x18\x05\xe3\x0f\x1b\xae\x40\xa5\xb9\x0c\x11\xc2\x34\x42\xe0\x0a\x12\x1e\xa2\x50\x18\x41\x2e\x22\x94\xa0\x37\x08\x2f\x33\x16\x6e\x10\x5e\x04\xcf\x8a\xaf\x10\xa7\xb9\x88\xc6\x5c\xd0\xf7\xb7\xab\x57\xaf\xdf\xbd\x7f\x0d\x31\x4f\x10\xdc\x3b\x99\xa6\x1a\x22\x2e\x31\xd4\xa9\xbc\x87\x34\x06\xed\x2d\xa6\x25\x62\x30\xbe\x58\xec\xf7\xe3\xf1\xc3\x03\x44\x18\x73\x81\x30\xf9\xbf\x1c\xe5\xfd\x04\xf6\x7b\xf3\xf2\x2c\xfb\xb2\x86\xab\x25\xdc\x30\x85\x70\x16\xbc\x4a\x45\xcc\xd7\xc1\x4f\x2c\xfc\xc2\xd6\x08\x6e\xa6\xc6\x6d\x96\x30\x8d\x30\xd9\x20\x8b\x50\x4e\xe0\xac\xfd\x89\x6f\xb3\x54\xea\xe2\x93\x7d\x82\xe9\x78\xf4\xf0\x70\x09\x92\x89\x35\xc2\x59\xc6\xf4\xc6\x2c\x76\x16\xbc\xe7\x37\x09\x17\xeb\x15\x8d\x52\x66\xc6\x68\x34\x21\x76\xcc\x90\xfd\x7e\x62\xe7\xa1\x88\xcc\xb7\x19\x2d\x75\x76\x93\xf3\xc4\x48\x8b\x28\xfc\x6c\x76\xf1\x8e\x6d\xb1\xd8\x88\xc4\x10\xf9\xce\x7e\x2e\xff\x97\x73\x0c\x4f\x8b\x05\xf8\x64\xf6\x7b\xa3\x09\x23\xc6\xe2\x4d\x9c\x4a\x20\xe9\x70\xb1\x36\x43\x33\xa6\x42\x96\xc0\x59\xe0\xd6\x01\x14\x9a\x6b\x8e\x2a\x18\xeb\xfb\x0c\x9b\xd4\x94\x96\x79\xa8\xe1\x61\x3c\x0a\x49\x8c\xe3\x51\xc2\xb7\x5c\x8f\x46\x17\x5c\xe8\xf1\x28\x8d\x63\x85\xd5\x93\x8c\x50\x8e\x46\x1f\x3f\xfd\x68\xfe\xbc\xc9\x45\x38\x1e\x65\x12\x23\x1e\x32\x8d\x0a\x46\x1f\x3f\x95\x4f\x81\x59\xa7\xe0\xc1\x0a\xe6\x96\xeb\x0d\x9c\x05\xaf\xa3\x35\x3a\xe9\x2d\x16\x80\x6c\x8d\xf2\x32\x49\x59\x64\xf8\x47\xf3\x2d\x18\x8f\x7c\x05\xa0\x11\x4e\x60\x27\x8c\x0c\x55\x0c\x5e\x9b\x49\x6f\x53\x16\xbd\xe1\x98\x18\x69\xc3\x85\xfd\xf0\xe1\x3e\xc3\xba\x94\x47\xbe\x4e\x5a\xff\x17\x17\xf0\x32\x8a\xb8\xe6\xa9\x60\x09\xc4\x86\x9a\x02\x9d\x02\x8b\x22\xf3\xe3\xc9\x39\x00\xc2\x24\xcd\x3a\xd3\xdb\x2c\x31\x5c\x65\x92\x0b\x1d\xc3\x24\xe2\x2c\xc1\x50\x2f\xbe\x57\x0b\x52\xc5\xc2\x52\x9a\x18\xd0\xe8\x54\x3a\x54\xd2\x5c\x1e\xc3\x86\xa9\x0f\x05\x02\x2d\xa9\x92\xcf\x3b\x5d\xff\x10\xb4\xb8\x5e\x2c\x80\x0b\x8d\x72\x8b\x11\x37\xe3\x68\x3d\x98\xf2\x00\x03\xd0\x92\xed\x50\x2a\x96\x80\x41\xe4\x2c\x18\x93\xb8\x3c\x16\xc0\x7f\x0e\x7e\xa8\x60\x36\x22\x08\xc7\xb9\x08\xa7\x61\x2a\x34\xde\x69\x63\x55\xe6\x77\x06\xd3\x9e\x49\x73\x40\x29\x53\x39\x1b\x5b\x94\xfe\xba\x41\x89\x46\x70\x0a\x18\x08\xbc\x85\x12\x0a\x04\x51\x5f\x94\x63\xb3\x90\xa5\x5b\x82\xbe\xd0\x61\x05\xcd\x99\x25\x39\xcd\x14\x04\x41\xd0\x0d\xac\x59\x73\x92\x01\xb2\x4f\x77\xbf\x0f\x3c\x80\x2e\x81\x65\x19\x8a\xa8\xb9\xb4\x37\x66\x0e\x99\x0a\x82\x60\x36\x1e\x49\xd4\xb9\x14\xd0\x18\xea\x76\xfb\xd6\x18\x49\xb1\x5b\xb2\x18\x50\x1a\xb3\x02\x34\xa4\x95\xc1\xfb\x24\x62\x53\x4b\x85\x0b\x7d\x70\x53\x86\x63\x3b\x7a\x09\xe7\xf4\xe7\x00\xb7\x3f\x92\x15\x3b\x76\x05\x58\xa3\xfe\x0a\x86\x2d\xbd\xa9\xa3\x33\x94\x65\x37\x7c\x09\xe7\xf6\xdf\x21\xa6\x8d\x8f\xa9\x78\xa6\xa7\xaf\x60\xd9\xcc\x9f\xa6\x06\x4a\xa5\xf3\x1a\xc6\x35\x2d\xdc\x8b\x1c\xfa\x3c\x87\xf4\x10\x66\x4c\x3c\xb6\x81\x8e\xc2\xe9\x86\x29\x50\x7c\xcb\x13\x26\xb9\xbe\xb7\xae\xd1\x38\x3f\xda\x15\x47\x65\x82\x65\x98\x70\x14\x3a\x20\x47\x40\xce\xe7\xe1\xa1\xf0\x89\x9f\xe7\xce\x2f\xfa\xee\x94\x5c\x60\xb4\xc6\xcf\x5e\xcc\x21\x0f\x05\xd3\x22\x28\x38\x0f\x69\xac\x67\x06\x93\x9f\xcb\xa0\x6a\xdc\x0a\x3d\x79\x01\x04\xcb\x08\x12\x6e\x18\x17\x36\xea\x84\xb9\x94\x26\x85\xb0\x6e\x27\xb5\x11\xdd\xfa\xde\x32\xde\x44\x6b\x0c\xc6\xa3\x81\x7a\xe9\x5d\x75\xea\xb4\x53\xdb\x91\x55\xd1\xc8\xae\x7e\xb5\x84\xf3\x8e\x11\x0f\x36\x90\x5d\x35\xb5\x10\xd8\xf7\xfb\x62\x7e\x40\x3e\x6f\xe9\xbc\x9e\xbe\x83\xb6\xe7\x8b\x65\xba\xfd\xdf\x3e\xa7\x49\xfe\xcf\xf9\x40\xe2\x6a\xc4\x63\x7a\x75\xb5\x6c\x2d\x9d\x49\xcc\x98\x44\xda\xac\x59\x6b\xf6\x9f\x34\xf2\xbb\x25\x08\x9e\xd8\xc9\x05\x76\x04\x4f\x88\xb2\x79\xe7\x42\x9e\x0b\x9d\x78\xa7\x4d\x14\x38\x83\xc9\x2f\x8e\xf4\xc4\x5b\x65\x62\x80\x30\x31\xb0\x98\xac\x22\x14\x7a\x02\x13\x62\x7f\x02\x97\x36\x74\x12\x3e\x0e\x46\x2e\x23\x94\x66\xdc\x1a\x3d\x16\x9c\xaa\x00\xeb\xd6\x71\xfb\xa0\xc5\xe7\x66\x3b\x63\xbb\x11\xf7\x9e\x96\x19\x8f\x08\xcd\x2e\xa8\x19\x6b\x7f\xc3\xa5\xd2\x60\xc7\x58\xa8\xc5\xf4\xc6\xf7\xf6\x36\x95\xb9\x2f\x12\x49\xab\x45\xf8\xc5\xcd\xb9\x78\x97\xea\x37\x26\xf9\x7c\x6d\x54\x02\xb7\x1b\x14\x20\x52\x43\x20\x49\x6f\x4d\x5a\x55\x92\xb9\x65\xca\xa6\xa9\x83\xbd\x07\x71\xd7\x03\x92\x0b\x9f\xc5\xb9\x07\x08\x91\x46\x26\x9e\xf4\x40\xc2\x3a\xfd\xe7\xb3\xe0\x65\x92\x10\x24\xc6\x05\x7e\x3c\x54\xb4\x30\xb1\xa7\x51\x09\x8a\x29\x51\x9f\xc1\x72\x09\xcf\x5a\x43\xcf\x6b\xa2\x78\xb0\x42\xac\xf2\xe3\xe0\x2d\xbb\xc1\x64\x4f\xd4\x8a\x69\x86\xda\xc7\x67\x9f\xac\xc2\x3c\x95\xfc\x66\x33\xff\x2f\x68\x1f\xe7\x70\x93\x6b\xc8\x98\xe0\xa1\x32\xb9\x0c\x13\x76\xc3\x90\x86\x61\x2e\xd5\x71\x02\xfd\xad\x5b\xa2\x35\x81\x16\x82\xec\x95\x63\xa9\x9a\x96\x00\xcf\xcf\xe1\xbb\x95\x2a\x44\x31\x45\xe9\xec\x94\xb8\xa7\xc7\xa6\x04\xfc\x8d\xaf\xae\x0f\xa1\x91\x47\xc7\x21\x91\x47\x4f\x45\xde\xea\xba\x07\x7b\x3c\xb2\x2c\xad\xae\xc9\xb1\x77\x78\xa5\x1d\x93\xc0\x23\x05\x1f\x3f\x35\x06\x92\xb4\x78\xe4\x00\xfa\x08\x3e\x57\xd7\xaa\xdb\x65\x59\xf1\xf8\x98\xe4\x91\x8f\x48\x4b\x77\x28\x16\x7d\x72\x4e\x25\x3c\xea\x84\xe4\xea\xba\x01\xca\xd5\xf5\x49\x61\xb9\xba\xee\x01\x66\x43\x82\x66\x93\x3c\x7a\x1c\x98\x56\x73\x5f\x09\x4d\x1e\x15\x29\x91\x48\xee\x6b\xa8\x4c\xcd\x8b\x43\x2e\x72\x5e\x4e\x29\xc5\xc2\x63\x10\xa9\x06\xbc\x63\xa1\x4e\x4c\x1c\xc7\x62\xa2\x41\xa8\x1d\x8e\xc3\x41\x6a\xf8\xfa\x33\xbc\xe3\x8b\xe3\xbd\xa3\xba\xe5\x3a\xdc\xf8\x1e\xd2\x94\xb6\x4c\x21\x3c\xbf\xf2\xa6\xd4\xdc\x9d\xfd\xfe\xec\xea\x89\x5e\x34\xc2\x98\xe5\x89\xee\x9a\xfe\x9e\x8b\x75\x9e\x30\x79\xd0\x0f\x57\xfa\xad\xb0\x6d\x9e\x4e\x05\x6c\xa2\x7c\x0a\x77\x5b\xa8\xba\x53\x21\x07\x3d\xab\x99\xdd\x70\xac\x6d\x08\x37\xfc\xea\x30\xf8\x3a\xe7\xfa\x24\xe8\xfe\xeb\xdc\xeb\x8b\x61\xee\xd5\x03\x35\xb9\xd8\x1a\xa4\x79\x04\x4b\xe7\x2a\x7d\x24\x1f\xe7\x7d\x3d\x0c\x57\x13\x07\xa3\xb7\xe0\xd5\x57\x72\x1d\xc7\xa7\x73\xd1\x8e\xfa\x29\x3c\x74\xa5\xfb\x23\xd0\x5c\x3a\xe3\x97\x49\x02\x78\x87\x61\xae\x51\x55\x68\x05\x26\xa2\x0a\xb0\x90\x70\xa5\x21\x8d\xe9\x60\x2e\xc9\xa5\x7f\x30\x37\x78\xc7\xce\x05\x76\xe0\xf3\xe3\xa7\x5e\xf7\xfa\x35\xb5\x48\x97\x5f\xed\xae\x6c\x83\xc6\x01\x53\xe9\xad\x4b\x11\x55\x30\x78\x99\x24\xa7\xc2\x80\xa1\xdb\x2d\x92\x86\x44\x0e\x07\x9a\xc7\xe2\x4b\xbf\x3b\x53\x6e\x83\xab\x6b\x75\x14\x06\x7c\x27\x37\x7c\xbb\xce\x45\x74\x02\xa0\xcb\x3f\x0d\xf2\x4d\x3d\xf2\x78\x8f\xa6\x1e\x9c\x36\x6d\x9d\x0e\x5a\x57\xd7\xb3\xe0\x7d\xc8\x84\x61\x66\x0e\xe7\xc6\x15\x1d\x83\x1d\xf2\x86\x55\x2e\xb7\xba\x56\x15\x38\x56\xd7\xea\x54\xe0\x30\x74\xfb\xc0\xd1\xe9\x1f\xfa\xc1\x51\xf8\xe6\x63\xbc\x43\x01\x8d\x57\x69\x2e\xea\x05\x6d\x48\x6f\xa8\xdf\x81\xb0\xe6\x3b\x14\x47\x9e\x61\x11\xc9\xbe\x50\x25\xf4\x89\xcd\xff\xd9\xb1\xc6\x5f\xb2\x37\xf3\x45\x50\xe9\x98\x1e\x4f\xa5\x65\x4b\xbb\x5b\x18\x5c\xb8\x86\x46\xee\x84\xd2\x25\x07\x8f\xdb\xc1\xda\x25\x8a\x6e\x73\xaf\xef\xb8\x7f\x60\x21\x73\x34\xdb\xa9\x7c\xc0\x86\x29\xc0\x04\xb7\x28\xb4\x2a\xf2\x99\xb5\x64\xd9\x66\xf0\x16\x69\x85\x1e\x75\xdf\xa4\x69\x72\x62\x7d\xc7\x2c\x51\x78\xac\xce\x4b\x1e\x67\xbe\x58\x2a\x9d\xd3\xe3\xa9\x74\x6e\x69\x77\x4b\xc4\x08\xc4\xec\x06\xed\x82\x3d\xc2\xf0\xd8\x1d\xac\x74\xa2\x58\x20\x3a\x31\xb9\x66\xe5\xda\xa3\x3c\x4b\x6c\x8f\x23\xf5\x75\xef\x98\x9e\x03\x17\x61\x92\x53\x67\x8b\x25\x09\x30\xa5\xd2\x90\x33\x8d\x11\x1d\x64\xab\x00\x56\x1a\x42\x26\xe0\x06\x0d\xf1\x5c\x21\x75\x9d\x9c\xc6\x20\x4c\xb7\xdb\x54\xd4\x49\x2a\x8a\x2d\xb9\x42\xb3\xda\x16\x22\x1e\xc7\x28\x51\x98\x2c\x98\xc5\xda\x75\x65\x43\xe2\x92\x2b\xd8\xb2\x08\x87\x5b\x94\x99\x35\xed\x3c\x13\xe7\x71\x53\x92\xa6\xca\x6f\xbb\x7c\x5f\x6c\xe7\x75\x32\x66\x60\x71\x30\xdb\x3a\x63\xb7\x1f\xe6\xe3\x91\x6d\x3e\x5e\xc1\xa8\xbb\xdf\x61\x46\xd8\xde\x41\x07\x11\xfb\x81\x86\xc8\x08\xa5\x21\xe2\xce\xec\xbd\x7e\xe5\xc3\x7e\xde\x02\x05\x0d\x0f\x82\x60\x66\xe6\x56\x9d\xa0\x2b\x28\xa7\x77\x37\x9f\xba\x68\x55\xd3\x0b\x82\xcd\x4e\x66\xad\x01\xda\xd7\xcf\x6c\x1f\x5e\xf7\x0c\x0c\x9c\xd6\xe6\x8d\x46\xe7\x68\xb1\x28\x60\xd0\xea\x16\xda\xfe\x6a\xcd\x8c\xbb\xd7\xf3\x06\xf8\xeb\x64\x4c\x6f\xda\x13\xcc\xdb\xb9\x2b\x65\x1f\xdb\x33\x6d\xc4\xef\x8a\x77\x76\x6d\x17\x0b\x80\x5f\xb9\xde\x74\xf6\x23\x34\x26\x89\x97\x6e\x5d\x16\xd4\x74\xea\xb5\x93\xed\x00\x4a\xd6\x40\x6f\x98\x06\x6b\x52\x42\x60\xa8\xc9\xce\x68\x11\x33\x66\x52\xeb\x5f\x4c\x6c\x03\x03\x3e\x98\xda\x34\x73\x9d\x61\x26\xd7\xb9\xf5\xe4\x85\x91\x5a\xc8\xe6\x12\xdb\x66\x5f\xf8\x82\xe3\x1a\x21\x7d\xbb\x9d\xa6\x99\xa6\x0e\x28\xf5\x29\x2e\x6a\xe2\xdb\xef\x67\x9d\xf6\xda\x6c\x90\x1c\xd5\x1c\x89\x53\x09\x9f\xe7\x66\xef\x74\x2b\x81\xd4\x48\x3c\x50\x9b\x22\xcd\xf4\x94\xa8\xcf\xdc\xb1\xfe\x40\xa0\xc2\xb2\x38\xf9\xef\x6b\x92\x51\x4b\xa0\x44\x30\x5d\x8f\x58\xcb\x34\xcf\x7e\xf0\xba\x59\xb5\xbb\x0d\xff\x28\xbb\x18\xdf\xab\xff\xa1\x91\xb6\x99\x65\x7c\xa9\x7b\x2e\xd5\x45\x94\x60\x87\x52\xf3\x10\x15\xdc\xd8\x43\x83\x54\xc2\x36\x95\xe8\x1a\xff\x8b\x30\x4d\xf2\xad\x50\x01\x65\xa7\xda\x38\xd0\x34\xd6\x28\x2c\x11\x6a\xc1\xb0\xf5\x5a\xe2\x9a\x7a\xda\xb9\x08\x0d\x38\xd4\x9c\x02\x1d\x09\xf4\x8f\x94\x0b\x98\x7e\xc1\x7b\x55\x0d\x9c\xc1\x64\x0e\x13\x2a\xf7\xca\x46\x4e\x82\x02\xce\x6c\x4a\xad\xec\x4d\x90\x4b\x38\x8b\xcd\x06\xb9\x88\xf0\xae\xfa\xf6\xcc\x7c\x5d\x2c\x6c\x5c\x65\xdb\x2c\xc1\x2b\xfb\x48\xb9\xfd\x0e\x3e\x7e\x2a\xaf\x6f\x2c\x16\x56\x15\x71\xf0\x9e\x5e\x95\x72\xb7\x2f\x8b\x84\xf7\x77\x7f\xcc\x07\xb6\x86\xfd\xfe\x77\x9a\x6b\xd3\x55\x93\x39\xfd\xfe\x87\x4a\xc5\xd5\xc4\x66\x4f\xe9\x96\x6b\xdc\x66\xfa\x7e\x42\xc3\x1c\x37\x23\xd7\x9a\xec\xb8\x6e\x62\xed\x78\x3a\x0b\x88\xaa\x53\x43\xab\x9c\xb0\x5c\xbc\x4a\x85\xd2\x4c\x68\x83\x63\x3b\xfe\x65\x21\x36\x9a\x91\x7d\x59\x57\x99\xda\xcc\x0d\xf1\x0a\x90\xdd\xcc\xb0\xe3\x81\x66\xa0\xa9\x15\x5c\x91\xda\x41\x69\xc9\xc5\x7a\x5e\xdc\xfe\x08\x82\xc0\xbe\x71\x96\x55\xc3\xa0\x35\x2f\x0b\xa6\xc2\xba\x1a\x03\x0e\x5b\x18\x4d\x08\xdc\x72\xcb\x2a\xca\xd8\x65\x1f\xe8\xc3\xbe\xe0\xc7\xf6\x95\xed\x94\xc3\x0d\xcb\x4c\xe2\x6e\x70\xbf\xf2\xab\xda\x95\xed\x6e\xe5\xbe\xd7\xb4\x9b\xc1\xc4\x41\x64\xde\x4c\x19\x68\x97\x63\x67\xfb\x8a\x0a\xd1\x41\xc6\x6f\x6b\xd6\xd2\xf6\xed\x63\x87\x81\x53\x4f\xb2\x5d\x7d\x7d\xcb\x76\x79\xac\xc1\xf5\x94\xef\x7d\xf6\x76\x02\x63\x72\x2b\x0e\xb2\xa5\xba\x4e\xad\x31\xd9\x77\xa9\x2c\xed\xa9\x39\xe8\xb0\x41\x15\x24\x8e\xb3\xa9\x72\xd6\xbf\xbb\x59\x15\x1b\x35\x96\x35\x50\xa9\x4d\x4e\xdb\x32\xb1\x05\x5c\x67\x6d\x60\x05\xea\xd7\x55\x12\x77\xbd\x25\x99\x19\xec\x2a\xb2\x8e\x92\xac\x2c\xc2\x4a\x59\x1c\x10\x02\x2c\x0d\xf3\x3b\xda\xbf\xbb\x6f\x77\x16\xbc\xcb\xb7\x3f\xa5\x09\x0f\xef\x6d\x6e\xec\x58\xf6\x0d\xc4\x7d\x5e\x76\xae\x9c\x4a\x15\xbc\xc3\xdb\xe9\xa4\x0a\x4a\x57\x90\x0b\x2e\xb8\xe6\x2c\xe1\xff\x8f\x51\x1f\xbd\x69\x9c\xca\x75\xaa\x4d\x12\xe1\x2e\x97\x56\x24\x16\x32\x17\x9a\x6f\xf1\xbf\x67\x93\x22\x97\xaa\x43\xa7\x4d\x2f\x78\xbd\x63\x49\xa9\x94\x56\xf5\xd1\x8f\xa7\x52\x7c\x7e\x8d\xe0\xd5\x6d\xd6\xe7\x36\x6e\x99\x38\x8c\x4f\x2a\x68\x4c\x1c\x47\x93\x62\x0f\xe3\x41\x97\x4a\xda\xf7\x20\xbb\xef\x92\x78\x37\x42\xe8\xba\x14\xc5\x83\x9b\x2a\xaf\x2e\x6f\x05\xdb\x98\xfb\x4b\xe7\xe5\xd9\x46\x38\x2e\x6f\xd0\x36\xe3\x78\xc7\x35\x5a\x1a\x72\x79\x73\x3f\xf4\x1a\x6d\x93\x64\xfb\x2e\xad\x73\x48\x85\x1f\x1a\x8f\x62\xa1\x00\x00\x3e\x7e\x2a\x33\x1d\x7b\x8b\xf6\x9b\xbd\xd6\x59\xf2\x69\x6f\xe2\x55\xc1\xb3\xc8\x70\x79\x2a\xaa\x64\xb8\xb8\x9b\x57\x4a\xb2\x75\xc0\x59\xd7\x5c\xe1\x7b\x1a\x92\x9c\x55\xcb\x4e\x8d\xc4\x82\x20\xa8\xc9\xab\x3f\x35\xeb\x5a\x22\x30\x24\x6a\x17\xf8\xba\x46\xcc\x21\x16\xed\x9b\x9f\xcd\x91\x4e\x2a\x26\x6e\x1a\x82\x09\x77\xe7\xfe\xf5\x0d\xd3\x21\x8d\x32\x63\xe8\xc2\x3b\xaa\x3c\xa1\xdc\x3a\xf5\xe4\xb7\x63\x49\x8e\x4f\x90\x4c\x11\xb2\x9b\x2e\x79\x0e\x3b\x0b\xa1\x98\x85\xf8\xb0\xf7\x3c\xb4\xeb\xa2\x7a\x9e\xa5\xb5\x7f\xcf\x09\xf7\xb6\xd9\x8b\x83\xc1\x4e\x02\x6d\x2f\xec\xaa\xbd\x47\x64\xd9\x9c\x54\x25\x23\xbb\x99\x27\xe7\xea\x30\xd1\x3c\x1d\x71\x96\x78\x84\x40\x3b\x0f\x15\x5b\x12\x6d\x9d\xb3\xb6\x76\xe4\x6f\xa1\xe5\x8c\xeb\xc7\x8b\xd6\x93\x79\xf7\x39\xb5\x73\xa1\x5b\xae\xf9\xce\x3b\x2c\x71\x7d\x43\x2f\x03\xd6\x26\xfb\xb5\x6f\xdd\x59\x89\x37\x6e\xbf\x2f\xcf\x27\x3b\x9a\x8f\x26\xf7\xb3\x69\x70\x81\xd8\xa0\x28\x75\x45\x72\x0f\x2c\x49\xd2\x5b\x53\xec\x6e\x8a\xf4\x98\x8b\x75\x05\x6e\x0a\x10\x26\xaf\x26\xbf\x56\x3b\xdb\x18\x28\xec\x1a\xa3\x8f\x36\xb5\x74\xa3\x9b\x55\xdc\x31\xea\xb6\x5f\xf2\xb3\x33\xf8\x2f\x78\xde\x99\x47\x75\x46\xf0\x0e\x06\x83\xba\x20\xb9\xa2\x7b\x06\x2c\xdc\x70\xdc\xb1\x9b\x04\xad\x60\x68\x92\x11\x0c\xd5\x16\x7a\xc3\x04\x3c\xb7\x22\x29\x23\x79\x51\x07\x14\x3b\x69\x05\xf7\x47\xa0\x73\xde\x81\x9d\xc7\x13\xc3\x5d\x99\xf3\xb5\xd1\x50\x99\x4f\xed\xf5\x41\x3b\xfa\x4a\xdd\x3e\xda\x82\xd3\xc5\x39\xd5\xee\x71\xb7\xd4\x42\x4b\x4f\x92\xe8\x5b\x56\x4d\x2e\x56\x24\x54\x55\xb8\xbb\x0c\x75\x3b\xba\xf4\xec\xa7\x1c\xe1\x59\x10\x03\xf3\x36\xb1\xb2\xfb\x16\x6c\xc7\x63\xb2\xc7\x7a\x3e\x43\xcd\x7a\x7c\x0b\xea\x06\xe5\xce\xbf\xa2\x32\x40\x05\x7d\xd8\x74\xa2\xf7\xee\xaa\xec\xec\xb2\xd5\x55\x95\x52\x2f\xd5\xd5\x2b\xef\xc6\xca\xb1\x17\x06\xbd\x3b\x2b\x6e\x6a\xbc\xd5\x01\xcd\x8a\x8f\xb5\xf4\xe2\xde\x10\x7c\x1f\xb9\x78\xad\xac\x22\x8d\xc6\x6e\x99\x02\xbc\xcb\xe8\xe0\x78\x32\x77\x5b\xab\x43\xad\x66\x7b\x9e\x92\xea\xd6\xe7\x7d\xf8\x93\xec\xcf\x5f\xba\xff\x8a\xcc\x31\xf6\xd7\x40\xdc\x53\x2c\xb0\x96\xd7\xf7\x57\x19\xcd\xcc\xfd\x50\x6d\x41\xe3\x9f\x5a\x5b\xd8\xa2\xb8\xa3\xb4\xb0\x1f\xba\x6b\x8b\xe6\xd1\x44\x59\x5c\xb4\x0e\x36\x3a\xaa\x0b\xb7\xa2\x2b\x09\x5c\x58\x1e\x50\x65\xb4\x68\x0f\x28\x33\xbe\xcd\x72\xa2\x33\x73\x2e\xcf\x7f\x9e\x9e\x39\x37\x54\x56\x18\x48\x53\x70\xa7\xc9\x9d\x5b\x8b\x1d\x9d\x3c\xb7\x29\x0c\xc9\x9e\x0f\xce\x3a\x75\xfa\x7c\x94\x54\x9f\x98\x40\xb7\x37\xf5\x37\xca\xa0\xcb\x03\xc4\xde\x2c\xc0\x8e\x30\x69\x40\x77\xe0\x1f\x2c\xe2\xd3\xa4\xcd\x6d\x69\x3f\x39\x6f\x6e\xb2\x38\x2c\x71\xae\xe4\xf1\x15\x99\xf3\x63\x98\xf9\xe6\x52\xe7\xa7\x69\xf8\x29\xc9\x73\xb7\x7f\xf8\x16\xb3\xe7\xbf\xd8\x6e\xfe\xec\x94\x79\x88\xe0\xff\xa6\x39\xf3\x01\x2b\xff\xa6\x93\xe6\xa7\x62\xe4\xf8\xb4\xb9\x1b\x00\x7f\x5d\xde\xdc\xca\x4a\x0f\x25\xce\xca\xf5\x4b\x9f\x90\x39\x17\x7f\xff\x19\x00\x00\xff\xff\x2f\x35\x77\xc9\x5f\x44\x00\x00") func templateBuilderQueryTmplBytes() ([]byte, error) { return bindataRead( @@ -245,7 +245,7 @@ func templateBuilderQueryTmpl() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "template/builder/query.tmpl", size: 17350, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "template/builder/query.tmpl", size: 17503, mode: os.FileMode(420), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/entc/gen/template/builder/query.tmpl b/entc/gen/template/builder/query.tmpl index eb3210c1e..0822c15a4 100644 --- a/entc/gen/template/builder/query.tmpl +++ b/entc/gen/template/builder/query.tmpl @@ -355,6 +355,9 @@ func ({{ $receiver }} *{{ $builder }}) prepareQuery(ctx context.Context) error { {{ $receiver }}.{{ $.Storage }} = prev } {{- if $.NumPolicy }} + if {{ $.Package }}.Policy == nil { + return errors.New("{{ $pkg }}: uninitialized {{ $.Package }}.Policy (forgotten import {{ $pkg }}/runtime?)") + } if err := {{ $.Package }}.Policy.EvalQuery(ctx, {{ $receiver }}); err != nil { return err } diff --git a/entc/integration/privacy/ent/task_query.go b/entc/integration/privacy/ent/task_query.go index 03eb157e1..f67538594 100644 --- a/entc/integration/privacy/ent/task_query.go +++ b/entc/integration/privacy/ent/task_query.go @@ -370,6 +370,9 @@ func (tq *TaskQuery) prepareQuery(ctx context.Context) error { } tq.sql = prev } + if task.Policy == nil { + return errors.New("ent: uninitialized task.Policy (forgotten import ent/runtime?)") + } if err := task.Policy.EvalQuery(ctx, tq); err != nil { return err } diff --git a/entc/integration/privacy/ent/team_query.go b/entc/integration/privacy/ent/team_query.go index 4e3175cdf..3c13717cd 100644 --- a/entc/integration/privacy/ent/team_query.go +++ b/entc/integration/privacy/ent/team_query.go @@ -369,6 +369,9 @@ func (tq *TeamQuery) prepareQuery(ctx context.Context) error { } tq.sql = prev } + if team.Policy == nil { + return errors.New("ent: uninitialized team.Policy (forgotten import ent/runtime?)") + } if err := team.Policy.EvalQuery(ctx, tq); err != nil { return err } diff --git a/entc/integration/privacy/ent/user_query.go b/entc/integration/privacy/ent/user_query.go index c6b9ed200..4cd82c55e 100644 --- a/entc/integration/privacy/ent/user_query.go +++ b/entc/integration/privacy/ent/user_query.go @@ -369,6 +369,9 @@ func (uq *UserQuery) prepareQuery(ctx context.Context) error { } uq.sql = prev } + if user.Policy == nil { + return errors.New("ent: uninitialized user.Policy (forgotten import ent/runtime?)") + } if err := user.Policy.EvalQuery(ctx, uq); err != nil { return err } diff --git a/examples/privacyadmin/ent/user_query.go b/examples/privacyadmin/ent/user_query.go index a6f759238..aa2bdb005 100644 --- a/examples/privacyadmin/ent/user_query.go +++ b/examples/privacyadmin/ent/user_query.go @@ -295,6 +295,9 @@ func (uq *UserQuery) prepareQuery(ctx context.Context) error { } uq.sql = prev } + if user.Policy == nil { + return errors.New("ent: uninitialized user.Policy (forgotten import ent/runtime?)") + } if err := user.Policy.EvalQuery(ctx, uq); err != nil { return err } diff --git a/examples/privacytenant/ent/group_query.go b/examples/privacytenant/ent/group_query.go index ca584f0a9..a1d726e49 100644 --- a/examples/privacytenant/ent/group_query.go +++ b/examples/privacytenant/ent/group_query.go @@ -370,6 +370,9 @@ func (gq *GroupQuery) prepareQuery(ctx context.Context) error { } gq.sql = prev } + if group.Policy == nil { + return errors.New("ent: uninitialized group.Policy (forgotten import ent/runtime?)") + } if err := group.Policy.EvalQuery(ctx, gq); err != nil { return err } diff --git a/examples/privacytenant/ent/tenant_query.go b/examples/privacytenant/ent/tenant_query.go index d4cdd4fda..d47ae88b2 100644 --- a/examples/privacytenant/ent/tenant_query.go +++ b/examples/privacytenant/ent/tenant_query.go @@ -295,6 +295,9 @@ func (tq *TenantQuery) prepareQuery(ctx context.Context) error { } tq.sql = prev } + if tenant.Policy == nil { + return errors.New("ent: uninitialized tenant.Policy (forgotten import ent/runtime?)") + } if err := tenant.Policy.EvalQuery(ctx, tq); err != nil { return err } diff --git a/examples/privacytenant/ent/user_query.go b/examples/privacytenant/ent/user_query.go index f09951c81..e1b23db36 100644 --- a/examples/privacytenant/ent/user_query.go +++ b/examples/privacytenant/ent/user_query.go @@ -370,6 +370,9 @@ func (uq *UserQuery) prepareQuery(ctx context.Context) error { } uq.sql = prev } + if user.Policy == nil { + return errors.New("ent: uninitialized user.Policy (forgotten import ent/runtime?)") + } if err := user.Policy.EvalQuery(ctx, uq); err != nil { return err }