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--