Antwort: Re: application data schema not being parsed in torque-4.0 / turbine 5.0

"Georg Kallidis" <[email protected]> Thu, 6 May 2021 10:54:46 +0200
Newsgroups gmane.comp.jakarta.turbine.user
Message-ID <OFCFF47A06.85D3FE89-ONC12586CD.002E4E39-C12586CD.0030F807@cedis.fu-berlin.de>
---------z49428_boundary_sign
Content-Type: text/plain; charset="US-ASCII"

Hi Jeff, 

yes - I never used it. The ant task TorqueDataSQLTask was still in release 
candidate Torque 3_2_RC1, but not in Torque 4, which highly restructured 
the code.

The velocity templates are quite different if you compare 
src/generator/src/templates (old) and 
torque-templates/src/main/resources/org/apache/torque/templates (new). 

Bu the input generator code seems quite robust, using SAX, the effort 
might be more in adapting to the new velocity template structures - if 
anyone thinks about code reusing ;-)

Further discussion should be done in [email protected], though IMO 
;-)

Best regards, Georg



Von:    Jeffery Painter <[email protected]>
An:     [email protected]
Datum:  06.05.2021 00:26
Betreff:        Re: application data schema not being parsed in torque-4.0 
/ turbine 5.0



This is more of a torque question than turbine... I had just grown used 
to using it in my old turbine environment.  I found the old task that 
did the job here:

http://svn.apache.org/viewvc/db/torque/tags/TORQUE_3_1_1/src/generator/src/java/org/apache/torque/task/TorqueDataSQLTask.java?revision=229611&view=markup



However, it looks like it has been removed from newer versions of 
torque.  It was an old maven-1  target  torque-data-sql

I think the easiest option for now is to run the old code, let it 
generate the SQL output and then bring that into my new project :-(


-

Jeff


On 5/5/21 5:34 PM, Jeffery Painter wrote:
> Hello turbine users,
>
>
> I feel like I have asked this question before and don't remember the 
> answer (if there was one).
>
> I have an old project where I had made extensive use of the 
> application-data.xml - it was still based on turbine-2.3.3 and I am 
> upgrading this app now to the latest and greatest since I need to use 
> it on another project.
>
> I had it generating screens based on a templating system I could 
> configure from the application-data.xml (I would define for example 
> multiple choice questions and have all possible values defined in the 
> xml schema)...
>
> It worked great and allowed me to generate these "form" apps quickly 
> since I can re-use the question types and options pretty easily.
>
>
> An example:
>
> I have grouped questions by top level..
>
> <QuestionGroup RefId="1" Name="Poster Data" DisplayOrder="1"/>
>
> Then, the actual questions assigned to a group have properties like 
> the following:
>
>  <SelectQuestion RefId="10"     GroupId="1" DisplayOrder="1"     
> Question="ReporterType" Label="Who is posting" HasOther="0"     
> Instructions="HCP: An HCP includes doctors, nurses, pharmacists and 
> other professional health care providers." />
>  <SelectQuestion RefId="11"     GroupId="1" DisplayOrder="2"     
> Question="NoYesOption"  Label="Patient's own experience" HasOther="0" 
>     Instructions="If post is from a patient, does it represent their 
> own experience?" />
>  <SelectQuestion RefId="12"     GroupId="1" DisplayOrder="3"     
> Question="AgeGroup"      Label="Patient age range" HasOther="0"     
> Instructions="" />
>  <SelectQuestion RefId="13"     GroupId="1" DisplayOrder="4"     
> Question="Gender"          Label="Patient gender" HasOther="0"     
> Instructions="" />
>
> ... then for "Question" I had defined options to select from... 
> HasOther is a flag to allow for additional free text entry.
>
> for the first one above, "Who is posting" would have the following 
> options in a drop down select control:
>
>   <SelectOption RefId="51" DisplayOrder="1" Question="ReporterType" 
> Name="Unknown" DefaultOption="1"/>
>   <SelectOption RefId="52" DisplayOrder="2" Question="ReporterType" 
> Name="Patient/consumer" DefaultOption="0"/>
>   <SelectOption RefId="53" DisplayOrder="3" Question="ReporterType" 
> Name="HCP" DefaultOption="0"/>
>   <SelectOption RefId="54" DisplayOrder="4" Question="ReporterType" 
> Name="Other Family Member or Friend" DefaultOption="0"/>
>
> If I have to extract all of this and generate SQL again from the XML 
> myself, that is going to be a lot of work.
>
> I can get things to load if I manually convert and stick into the 
> application-data.sql when creating a new app from scratch, but the new 
> setup simply ignores my XML file for application data.... kind of 
> annoying.
>
> Does anyone have any suggestions? Did I miss something in the torque 
> setup that would make it load this?
>
>
> Thanks!
>
> Jeff
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------z49428_boundary_sign
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIIseQIBATEPMA0GCWCGSAFlAwQCAQUAMAsGCSqGSIb3DQEHAaCCKSAw
ggPDMIICq6ADAgECAgEBMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwi
VC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRy
dXN0IENlbnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMjAeFw0wODEw
MDExMDQwMTRaFw0zMzEwMDEyMzU5NTlaMIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0
ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENl
bnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMjCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAKpf2htf6HOR5dpc9KLmR+XzaFVgBR0CpLObWfMeiq80rfwNwtlI
Ge5pj8kg/CGqBxntsFysZcdf7QJ8e3wtG9a6uYDCGIIWhPpmsAjGVCOB5M25ST/2T243SCg4D8W+
52hw/TmXTdLHmJFQqsREsyN9OUfpUmLWEpNetzGWQgX7dqceo/XC/Ol6xWypcU/qy3i8YK/H3vTZ
y75+M6VulIPwNPohq+qOcqA/pN4wW++GTWqVW0NEqBAVHOUBV8WY8eYGKJGqIMW3UyZRQ7ILEZVY
4cAPdtnAjXyB83Jwnm/+Go7ZXzXGsm80fL5IT+JaOdfYnXien4Y+A14Zi0Si1ccCAwEAAaNCMEAw
DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFL9ZIDYAeaCgImuM1fJh
0rgsy4JKMA0GCSqGSIb3DQEBCwUAA4IBAQAxA6JhCx906HI2xm35TZ76IqjhgVbPzbuf6quRGTiv
qnwVTfO2o42l9I72RKmn6CGVrT4AYhaI8AK6/GEj5jObMHprNmJ7rQQjhFhl4tsriuclUzdiU1+8
2gFiKaKmJ3HmOiJ+wW8dlXAgSgc03+r/FYDlutd62Ft1fAV6KUd+QKgxE3fNQDu0UUd6LhHjRxHe
nWbQi9VUZvqDVep8wimJG+lvs87iBYTJLz54hWJuyV/BeGN0WMBIGAyZOeukzBq1eVqNFZzYFA32
egdXxyKDBS08myUmPRizqUN8yMirZI8Oo7+cG50w29rQGS6qPPH7M4B25M2tGU8FJ44ToW7CMIID
wzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQt
U3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVz
dCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAx
MTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVt
cyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZSBnu
aY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/Fvudo
cP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+
fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHA
D3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBAMA8G
A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXyYdK4
LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4r6p8
FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoB
Yimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m
0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN9noH
V8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6FuwjCCBRIw
ggP6oAMCAQICCQDjC9X4ryXZgTANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNV
BAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVt
cyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcN
MTYwMjIyMTMzODIyWhcNMzEwMjIyMjM1OTU5WjCBlTELMAkGA1UEBhMCREUxRTBDBgNVBAoTPFZl
cmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBW
LjEQMA4GA1UECxMHREZOLVBLSTEtMCsGA1UEAxMkREZOLVZlcmVpbiBDZXJ0aWZpY2F0aW9uIEF1
dGhvcml0eSAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy2DX/2ahQc3S+oeXinOr
mU3qZzlaoWCARxVOjJWy5c/O01dLjc74VmwVVXYH6kb9yANFYz5w1KtUgLEjnL43KKkJ/wVdGA/E
mJk3syD2ZngXh8KdDsxKMucWna4OjSl5BwAgVNwVX0qW13i2NNPBdLWd6b/Ad03qvVkH4FovbDyl
ANw1vWUNj38ybfJaaktiAe6sODRZRTZJBdp4ymptW8CBaxHM0jyoi/hxGso74oDdFrRneos26k6R
KT2zUVytqAy+nTTj0Q0Xg3XEOR6wlAsS8dVpjiX0uD0rv8COwx47pb9VEKsqrheXXjPOyPP0CQfj
AoYxRmsBxRAMEcdZ6QIDAQABo4IBdDCCAXAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBST49gy
JtrV8UqlkUrg6kviogzP4TAfBgNVHSMEGDAWgBS/WSA2AHmgoCJrjNXyYdK4LMuCSjASBgNVHRMB
Af8ECDAGAQH/AgECMDMGA1UdIAQsMCowDwYNKwYBBAGBrSGCLAEBBDANBgsrBgEEAYGtIYIsHjAI
BgZngQwBAgIwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9ybC9U
ZWxlU2VjX0dsb2JhbFJvb3RfQ2xhc3NfMi5jcmwwgYYGCCsGAQUFBwEBBHoweDAsBggrBgEFBQcw
AYYgaHR0cDovL29jc3AwMzM2LnRlbGVzZWMuZGUvb2NzcHIwSAYIKwYBBQUHMAKGPGh0dHA6Ly9w
a2kwMzM2LnRlbGVzZWMuZGUvY3J0L1RlbGVTZWNfR2xvYmFsUm9vdF9DbGFzc18yLmNlcjANBgkq
hkiG9w0BAQsFAAOCAQEAhwv/PgKbZchWLdY7mpiLcU/auimqIflGLvWypA+uETh5OLMOdLp2XZ7o
GIKWYttMM+jd+WrfMr0sTEdgVX/ndGu0LIPYeWu2t01QC2YHte2zl63q7n8w5pn9IuJyTT6EW+75
z5nqf9dSOS6smABEfmk7v3Xu0As7Gs3l9w8ibEeE9qVHoP3QGjR9rdI9d7Pu9NdN/8Po5ZJPWT6Q
RxBKsIVYwG9/+K7tCEKeHtTfFC5Nj7yelMPn7fYY+DxJ5yaopzbYLN4izYuC2Nl44lUSozuHRLYR
C9UMUq9pjA8G39CiU4tXmHvP/Qck9Py9w/1KkgKXG/K3ts9lihqitXIZOTCCBRIwggP6oAMCAQIC
CQDjC9X4ryXZgTANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMTYwMjIyMTMz
ODIyWhcNMzEwMjIyMjM1OTU5WjCBlTELMAkGA1UEBhMCREUxRTBDBgNVBAoTPFZlcmVpbiB6dXIg
Rm9lcmRlcnVuZyBlaW5lcyBEZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UE
CxMHREZOLVBLSTEtMCsGA1UEAxMkREZOLVZlcmVpbiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAy
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy2DX/2ahQc3S+oeXinOrmU3qZzlaoWCA
RxVOjJWy5c/O01dLjc74VmwVVXYH6kb9yANFYz5w1KtUgLEjnL43KKkJ/wVdGA/EmJk3syD2ZngX
h8KdDsxKMucWna4OjSl5BwAgVNwVX0qW13i2NNPBdLWd6b/Ad03qvVkH4FovbDylANw1vWUNj38y
bfJaaktiAe6sODRZRTZJBdp4ymptW8CBaxHM0jyoi/hxGso74oDdFrRneos26k6RKT2zUVytqAy+
nTTj0Q0Xg3XEOR6wlAsS8dVpjiX0uD0rv8COwx47pb9VEKsqrheXXjPOyPP0CQfjAoYxRmsBxRAM
EcdZ6QIDAQABo4IBdDCCAXAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBST49gyJtrV8UqlkUrg
6kviogzP4TAfBgNVHSMEGDAWgBS/WSA2AHmgoCJrjNXyYdK4LMuCSjASBgNVHRMBAf8ECDAGAQH/
AgECMDMGA1UdIAQsMCowDwYNKwYBBAGBrSGCLAEBBDANBgsrBgEEAYGtIYIsHjAIBgZngQwBAgIw
TAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9ybC9UZWxlU2VjX0ds
b2JhbFJvb3RfQ2xhc3NfMi5jcmwwgYYGCCsGAQUFBwEBBHoweDAsBggrBgEFBQcwAYYgaHR0cDov
L29jc3AwMzM2LnRlbGVzZWMuZGUvb2NzcHIwSAYIKwYBBQUHMAKGPGh0dHA6Ly9wa2kwMzM2LnRl
bGVzZWMuZGUvY3J0L1RlbGVTZWNfR2xvYmFsUm9vdF9DbGFzc18yLmNlcjANBgkqhkiG9w0BAQsF
AAOCAQEAhwv/PgKbZchWLdY7mpiLcU/auimqIflGLvWypA+uETh5OLMOdLp2XZ7oGIKWYttMM+jd
+WrfMr0sTEdgVX/ndGu0LIPYeWu2t01QC2YHte2zl63q7n8w5pn9IuJyTT6EW+75z5nqf9dSOS6s
mABEfmk7v3Xu0As7Gs3l9w8ibEeE9qVHoP3QGjR9rdI9d7Pu9NdN/8Po5ZJPWT6QRxBKsIVYwG9/
+K7tCEKeHtTfFC5Nj7yelMPn7fYY+DxJ5yaopzbYLN4izYuC2Nl44lUSozuHRLYRC9UMUq9pjA8G
39CiU4tXmHvP/Qck9Py9w/1KkgKXG/K3ts9lihqitXIZOTCCBawwggSUoAMCAQICBxtjutAeLD0w
DQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAkRFMUUwQwYDVQQKEzxWZXJlaW4genVyIEZvZXJk
ZXJ1bmcgZWluZXMgRGV1dHNjaGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsTB0RG
Ti1QS0kxLTArBgNVBAMTJERGTi1WZXJlaW4gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjAeFw0x
NjA1MjQxMTM4NDBaFw0zMTAyMjIyMzU5NTlaMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVy
ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu
MRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENB
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnTt5HEfeH4bLxmnXEJ4519miMNtyHAV/
KV9LaPGtGdZM4WsbsQt/oavge4uL2C3Obog6EO5X5R5/BFE267pwbWOgvpYuQOHRg0xmPRxkaeWb
pK1yrmg5UYd5zBfTri9dY3FLOXrrQqeXkGkFv5D/pEBwvQPnv54YiB+fmYhNDkeNSF9lmRDS2SpJ
7cG5LR2fEssV0z9/HlQvOq6TV6d+eMrVSuIa5e1BfVNfyLMq9YowrO0XBSQ/tqALB/1NGpoDUqA2
nN4kh2Xk5/rHlnMkFM3Q6BtonhhZrnZ+99EKeDyHS7A3z1PKOjgQ88tHbYxkPTxaRUq6yoB8uPPn
p0xMzQIDAQABo4ICBTCCAgEwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMCAQYwKQYD
VR0gBCIwIDANBgsrBgEEAYGtIYIsHjAPBg0rBgEEAYGtIYIsAQEEMB0GA1UdDgQWBBRrOpiL+fJT
idrgrbIyHgkf6Ko7dDAfBgNVHSMEGDAWgBST49gyJtrV8UqlkUrg6kviogzP4TCBjwYDVR0fBIGH
MIGEMECgPqA8hjpodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWcyLWNhL3B1Yi9j
cmwvY2FjcmwuY3JsMECgPqA8hjpodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWcy
LWNhL3B1Yi9jcmwvY2FjcmwuY3JsMIHdBggrBgEFBQcBAQSB0DCBzTAzBggrBgEFBQcwAYYnaHR0
cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQLVNlcnZlci9PQ1NQMEoGCCsGAQUFBzAChj5odHRwOi8v
Y2RwMS5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWcyLWNhL3B1Yi9jYWNlcnQvY2FjZXJ0LmNydDBK
BggrBgEFBQcwAoY+aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIv
Y2FjZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQELBQADggEBAIF4RaROpH8OVfAJsWo+eMxoNakc
85WeP/P432s4d4ksjbWtPsfylM2gBq66zKixrTMItiSGYjZMeG5Q8NVuYI1PUjFDl0Z18GLkbmZR
wUIxZ1DlSec5HsufyoZI3ggU/xVLK2aboDifAM79p+vRf1ctyExf3BARlz6WBAJchKgpOWyU/BCS
Bnue7thGtBu1Aww42dywqT9xBguyAwczwo1IYyUlPHp7V273igU477igri/02wfVW4QYwam4S85s
kBqC5Lk9+nfx0h8zAr9T53b53CYlQW8vphv6pBOQ+nx+2QtgXey/ykGgYfsRSSnYqC11FdhKGOoW
71U0IhoTjQYwggWsMIIElKADAgECAgcbY7rQHiw9MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQG
EwJERTFFMEMGA1UEChM8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3Jz
Y2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWlu
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IDIwHhcNMTYwNTI0MTEzODQwWhcNMzEwMjIyMjM1OTU5
WjCBjTELMAkGA1UEBhMCREUxRTBDBgNVBAoMPFZlcmVpbiB6dXIgRm9lcmRlcnVuZyBlaW5lcyBE
ZXV0c2NoZW4gRm9yc2NodW5nc25ldHplcyBlLiBWLjEQMA4GA1UECwwHREZOLVBLSTElMCMGA1UE
AwwcREZOLVZlcmVpbiBHbG9iYWwgSXNzdWluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAJ07eRxH3h+Gy8Zp1xCeOdfZojDbchwFfylfS2jxrRnWTOFrG7ELf6Gr4HuLi9gtzm6I
OhDuV+UefwRRNuu6cG1joL6WLkDh0YNMZj0cZGnlm6Stcq5oOVGHecwX064vXWNxSzl660Knl5Bp
Bb+Q/6RAcL0D57+eGIgfn5mITQ5HjUhfZZkQ0tkqSe3BuS0dnxLLFdM/fx5ULzquk1enfnjK1Uri
GuXtQX1TX8izKvWKMKztFwUkP7agCwf9TRqaA1KgNpzeJIdl5Of6x5ZzJBTN0OgbaJ4YWa52fvfR
Cng8h0uwN89Tyjo4EPPLR22MZD08WkVKusqAfLjz56dMTM0CAwEAAaOCAgUwggIBMBIGA1UdEwEB
/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYN
KwYBBAGBrSGCLAEBBDAdBgNVHQ4EFgQUazqYi/nyU4na4K2yMh4JH+iqO3QwHwYDVR0jBBgwFoAU
k+PYMiba1fFKpZFK4OpL4qIMz+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NkcDEucGNh
LmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDBAoD6gPIY6aHR0cDov
L2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYI
KwYBBQUHAQEEgdAwgc0wMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1T
ZXJ2ZXIvT0NTUDBKBggrBgEFBQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9v
dC1nMi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9jZHAyLnBj
YS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3
DQEBCwUAA4IBAQCBeEWkTqR/DlXwCbFqPnjMaDWpHPOVnj/z+N9rOHeJLI21rT7H8pTNoAauusyo
sa0zCLYkhmI2THhuUPDVbmCNT1IxQ5dGdfBi5G5mUcFCMWdQ5UnnOR7Ln8qGSN4IFP8VSytmm6A4
nwDO/afr0X9XLchMX9wQEZc+lgQCXISoKTlslPwQkgZ7nu7YRrQbtQMMONncsKk/cQYLsgMHM8KN
SGMlJTx6e1du94oFOO+4oK4v9NsH1VuEGMGpuEvObJAaguS5Pfp38dIfMwK/U+d2+dwmJUFvL6Yb
+qQTkPp8ftkLYF3sv8pBoGH7EUkp2KgtdRXYShjqFu9VNCIaE40GMIIF/zCCBOegAwIBAgIMIScI
m9TamluXaQzSMA0GCSqGSIb3DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWlu
IHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAw
DgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4X
DTE5MDYxNzEyNDQwMloXDTIyMDYxNjEyNDQwMlowgY4xCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZC
ZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEiMCAGA1UECgwZRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxp
bjEgMB4GA1UECwwXVW5pdmVyc2l0YWV0c2JpYmxpb3RoZWsxFzAVBgNVBAMMDkdlb3JnIEthbGxp
ZGlzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuK3NGBbqsy9XkncnxKlfp+DqtrGD
7QOWOasbyXO7fZhu/dNiSENHOjPMPFNmJOaCS4eFxWetWilwA38gBuvnv6gBDVL/bvozOflFxmXw
+pcgG/oC0pIPO1Kx/eUHT/0LFEc2Q6kxvaBLFmkpVcqoi+cHqNcNxBDACPRYxhzXukbjwXof2rRv
5MefK1tlG0VYknA1MYjp3QYw4AnMUMyd5DD4Lf0Uq0NQ9QurtenrS/JAh4OTtY76gbMTZfEo+Po8
2v2LGvhZQ1lP2TEEBjZc2okus7oQo4/9own6xNb8tDQXIyXqQVsnJ8Ok3iBbW+U9fxYZM/PR4bI2
JUbTbElgmQIDAQABo4ICWjCCAlYwPgYDVR0gBDcwNTAPBg0rBgEEAYGtIYIsAQEEMBAGDisGAQQB
ga0hgiwBAQQEMBAGDisGAQQBga0hgiwCAQQEMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgXgMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUmcHg+qqVKemNdtzCQpS4H9gU
qRswHwYDVR0jBBgwFoAUazqYi/nyU4na4K2yMh4JH+iqO3QwLAYDVR0RBCUwI4EhZ2Vvcmcua2Fs
bGlkaXNAY2VkaXMuZnUtYmVybGluLmRlMIGNBgNVHR8EgYUwgYIwP6A9oDuGOWh0dHA6Ly9jZHAx
LnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDA/oD2gO4Y5aHR0
cDovL2NkcDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jcmwvY2FjcmwuY3JsMIHb
BggrBgEFBQcBAQSBzjCByzAzBggrBgEFBQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQ
LVNlcnZlci9PQ1NQMEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Rmbi1jYS1n
bG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMi5w
Y2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3
DQEBCwUAA4IBAQAOyo7lpgnlNqY9swTIs0eClkZecbXvTII0qukP7d1ifSNmId5T2obq/NQjrD1T
Rnv6cMB2asAqwLF57M154Xbx0ycXdLeRvCkmdd1rD20IbMkpZDP8gwOGGHPdrrCeXl13Vlec0fau
UH5+EZM6s25FbE2xM8fNAb6HNTJSpay5pToS+pd8DlddMkvpXZRvEBBnMn6ke71UDuFm4/YR0qLM
GzE/QS4cX40qaKGr/Z+ocBrsenKVGl4Cci9oV+48qhX6R3BLuUkdpB6LB21c1XAjUYFnt/J0zmM/
0etUrhv8wz3yYQP0aMfGoA+cjY4xl3JfAlhGKnVRERKVYdHTQlLFMIIF/zCCBOegAwIBAgIMIScI
m9TamluXaQzSMA0GCSqGSIb3DQEBCwUAMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVyZWlu
IHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAw
DgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENBMB4X
DTE5MDYxNzEyNDQwMloXDTIyMDYxNjEyNDQwMlowgY4xCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZC
ZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEiMCAGA1UECgwZRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxp
bjEgMB4GA1UECwwXVW5pdmVyc2l0YWV0c2JpYmxpb3RoZWsxFzAVBgNVBAMMDkdlb3JnIEthbGxp
ZGlzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuK3NGBbqsy9XkncnxKlfp+DqtrGD
7QOWOasbyXO7fZhu/dNiSENHOjPMPFNmJOaCS4eFxWetWilwA38gBuvnv6gBDVL/bvozOflFxmXw
+pcgG/oC0pIPO1Kx/eUHT/0LFEc2Q6kxvaBLFmkpVcqoi+cHqNcNxBDACPRYxhzXukbjwXof2rRv
5MefK1tlG0VYknA1MYjp3QYw4AnMUMyd5DD4Lf0Uq0NQ9QurtenrS/JAh4OTtY76gbMTZfEo+Po8
2v2LGvhZQ1lP2TEEBjZc2okus7oQo4/9own6xNb8tDQXIyXqQVsnJ8Ok3iBbW+U9fxYZM/PR4bI2
JUbTbElgmQIDAQABo4ICWjCCAlYwPgYDVR0gBDcwNTAPBg0rBgEEAYGtIYIsAQEEMBAGDisGAQQB
ga0hgiwBAQQEMBAGDisGAQQBga0hgiwCAQQEMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgXgMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAdBgNVHQ4EFgQUmcHg+qqVKemNdtzCQpS4H9gU
qRswHwYDVR0jBBgwFoAUazqYi/nyU4na4K2yMh4JH+iqO3QwLAYDVR0RBCUwI4EhZ2Vvcmcua2Fs
bGlkaXNAY2VkaXMuZnUtYmVybGluLmRlMIGNBgNVHR8EgYUwgYIwP6A9oDuGOWh0dHA6Ly9jZHAx
LnBjYS5kZm4uZGUvZGZuLWNhLWdsb2JhbC1nMi9wdWIvY3JsL2NhY3JsLmNybDA/oD2gO4Y5aHR0
cDovL2NkcDIucGNhLmRmbi5kZS9kZm4tY2EtZ2xvYmFsLWcyL3B1Yi9jcmwvY2FjcmwuY3JsMIHb
BggrBgEFBQcBAQSBzjCByzAzBggrBgEFBQcwAYYnaHR0cDovL29jc3AucGNhLmRmbi5kZS9PQ1NQ
LVNlcnZlci9PQ1NQMEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Rmbi1jYS1n
bG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MEkGCCsGAQUFBzAChj1odHRwOi8vY2RwMi5w
Y2EuZGZuLmRlL2Rmbi1jYS1nbG9iYWwtZzIvcHViL2NhY2VydC9jYWNlcnQuY3J0MA0GCSqGSIb3
DQEBCwUAA4IBAQAOyo7lpgnlNqY9swTIs0eClkZecbXvTII0qukP7d1ifSNmId5T2obq/NQjrD1T
Rnv6cMB2asAqwLF57M154Xbx0ycXdLeRvCkmdd1rD20IbMkpZDP8gwOGGHPdrrCeXl13Vlec0fau
UH5+EZM6s25FbE2xM8fNAb6HNTJSpay5pToS+pd8DlddMkvpXZRvEBBnMn6ke71UDuFm4/YR0qLM
GzE/QS4cX40qaKGr/Z+ocBrsenKVGl4Cci9oV+48qhX6R3BLuUkdpB6LB21c1XAjUYFnt/J0zmM/
0etUrhv8wz3yYQP0aMfGoA+cjY4xl3JfAlhGKnVRERKVYdHTQlLFMYIDMDCCAywCAQEwgZ4wgY0x
CzAJBgNVBAYTAkRFMUUwQwYDVQQKDDxWZXJlaW4genVyIEZvZXJkZXJ1bmcgZWluZXMgRGV1dHNj
aGVuIEZvcnNjaHVuZ3NuZXR6ZXMgZS4gVi4xEDAOBgNVBAsMB0RGTi1QS0kxJTAjBgNVBAMMHERG
Ti1WZXJlaW4gR2xvYmFsIElzc3VpbmcgQ0ECDCEnCJvU2ppbl2kM0jANBglghkgBZQMEAgEFAKCC
AWIwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjEwNTA2MDg1NDUy
WjAvBgkqhkiG9w0BCQQxIgQgDaWTZkJfHsJW9V7nztNIEVVWXel3OuUItEEr3s5LhgMwQwYJKoZI
hvcNAQkPMTYwNDAHBgUrDgMCHTAOBggqhkiG9w0DAgICAIAwCgYIKoZIhvcNAwcwDQYIKoZIhvcN
AwICASgwgbEGCyqGSIb3DQEJEAILMYGhoIGeMIGNMQswCQYDVQQGEwJERTFFMEMGA1UECgw8VmVy
ZWluIHp1ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYu
MRAwDgYDVQQLDAdERk4tUEtJMSUwIwYDVQQDDBxERk4tVmVyZWluIEdsb2JhbCBJc3N1aW5nIENB
AgwhJwib1NqaW5dpDNIwDQYJKoZIhvcNAQEBBQAEggEAbVRhJdj4yIunwtuhMgFFh7dQIq21klzn
pYCta6xAHdFi4/mGs9IBh9K23JiyGG96xXw0eGoL6ZUg2twdgv8NZMsz57YGDqEl30MOX/p4/QgL
DmggJyXQXNz+8mdtsE2I6hPOkf2ZUmZUm9cFuOkyIxddoiz3Lr1AL3Qy0szA7KgYjmtoX3u+l4ij
S5ijTP/7P4ysRiHqMnMkUjtykqkSCn9bRLfjRrFCxH5KHNoGHfPbwIPoRk0pY5J1tcupDmzHrrDX
unT9nqiJtdXJnvGulSNSIB9JYOmwd1+HqEDStcvygdHJpmSfj5r0oQ5rr4qv0QbVtmACz2LA80KM
CVTGZgAAAAA=

---------z49428_boundary_sign--