From b126176a61c80de782489c4ac952c4eb50d6a515 Mon Sep 17 00:00:00 2001 From: Vyacheslav V Sokolov Date: Wed, 29 Jun 2016 12:57:43 +0700 Subject: [PATCH 1/2] Add the Get Terms Details For A User API as a result of the TopCoder challenge (https://www.topcoder.com/challenge-details/30054600/?type=develop) --- actions/terms.js | 114 +- apiary.apib | 6562 ++++++++--------- bridge.js | 115 + db_scripts/getTermsForUser/cleanData.js | 24 + db_scripts/getTermsForUser/insertData.js | 46 + ...Guide-Get Terms Details For A User API.doc | Bin 0 -> 639488 bytes queries/get_terms_for_user | 18 + queries/get_terms_for_user.json | 5 + routes.js | 6 +- test/sqls/termsForUser/common_oltp__clean | 2 + .../common_oltp__insert_test_data | 13 + test/test.termsOfUse.js | 141 +- 12 files changed, 3686 insertions(+), 3360 deletions(-) create mode 100644 bridge.js create mode 100644 db_scripts/getTermsForUser/cleanData.js create mode 100644 db_scripts/getTermsForUser/insertData.js create mode 100644 docs/Verification_Guide-Get Terms Details For A User API.doc create mode 100644 queries/get_terms_for_user create mode 100644 queries/get_terms_for_user.json create mode 100644 test/sqls/termsForUser/common_oltp__clean create mode 100644 test/sqls/termsForUser/common_oltp__insert_test_data diff --git a/actions/terms.js b/actions/terms.js index 0baeb0efb..704d307a4 100755 --- a/actions/terms.js +++ b/actions/terms.js @@ -1,11 +1,14 @@ /* * Copyright (C) 2014 TopCoder Inc., All Rights Reserved. * - * @version 1.1 - * @author hesibo, snowone + * @version 1.2 + * @author TCSCODER, hesibo, snowone * * changes in 1.1: * add support for docusign template id for terms of use details api + * + * changes in 1.2: + * add the new "getTermsForUser" action */ "use strict"; @@ -105,6 +108,86 @@ var getTermsOfUse = function (api, connection, dbConnectionMap, next) { }); }; +/** + * Gets the terms details of the given list + * and the terms agreement status for the given user + * + * @param {Object} api The api object that is used to access the global infrastructure + * @param {Object} connection The connection object for the current request + * @param {Object} dbConnectionMap The database connection map for the current request + * @param {Function} next The callback to be called after this function is done + */ +var getTermsForUser = function (api, connection, dbConnectionMap, next) { + var helper = api.helper, + sqlParams = {}; + + async.waterfall([ + // Check if the user is logged in + function (cb) { + if (connection.caller.accessLevel === "anon") { + cb(new UnauthorizedError("Authentication credential was missing.")); + } else { + cb(); + } + }, + // Check the userId parameter + function (cb) { + var error = helper.checkIdParameter(connection.params.userId, "User ID"); + cb(error || null); + }, + // Check if the user has a right to get this information + function (cb) { + sqlParams.userId = connection.params.userId; + if (connection.caller.accessLevel !== "admin" + && Number(connection.caller.userId) !== Number(sqlParams.userId)) { + cb(new ForbiddenError("This user cannot get these data of other users")); + } else { + cb(); + } + }, + // Check terms of use Ids + function (cb) { + sqlParams.termsIds = connection.params.termsOfUseIds.split(","); + async.each(sqlParams.termsIds, function (termsId, cb) { + var error = helper.checkIdParameter(termsId, "Each Terms Of Use ID"); + cb(error || null); + }, cb); + }, + // Run query + function (cb) { + api.dataAccess.executeQuery("get_terms_for_user", sqlParams, dbConnectionMap, cb); + }, + // Prepare and submit the result + function (rows, cb) { + var columnMap = { + "type": "terms_type", + "agreeabilityType": "agreeability_type", + "agreed": "agreed", + "text": "terms_text", + "title": "title", + "termsOfUseId": "terms_of_use_id", + "url": "url" + }; + + _.each(rows, function (row) { + _.each(columnMap, function (field, property) { + var tmp = row[field]; + delete row[field]; + row[property] = tmp; + }); + }); + cb(null, rows); + } + ], function (err, result) { + if (err) { + helper.handleError(api, connection, err); + } else { + connection.response = { terms: result }; + } + next(connection, true); + }); +}; + /** * This function gets the challenge results for both develop (software) and design (studio) contests. * @@ -228,6 +311,33 @@ exports.getTermsOfUse = { } }; +/** + * The API for getting the terms details of the given list + * and the terms agreement status for the given user + */ +exports.getTermsForUser = { + name: "getTermsForUser", + description: "Get the terms details of the given list " + + "and the terms agreement status for the given user", + inputs: { + required: ["termsOfUseIds", "userId"], + optional: [] + }, + blockedConnectionTypes: [], + outputExample: {}, + version: "v2", + transaction: "read", + databases: ["common_oltp"], + run: function (api, connection, next) { + if (connection.dbConnectionMap) { + api.log("Execute getTermsForUser#run", 'debug'); + getTermsForUser(api, connection, connection.dbConnectionMap, next); + } else { + api.helper.handleNoConnection(api, connection, next); + } + } +}; + /** * The API for agree terms of use. It is transactional. */ diff --git a/apiary.apib b/apiary.apib index f7dd6dcd6..7377b1f30 100644 --- a/apiary.apib +++ b/apiary.apib @@ -9,9 +9,11 @@ Authorization APIs ## Create JWT Token [/auth] ### Create JWT Token [POST] -+ Parameters - + username (required, string, `heffan`) ... The username - + password (required, string, `password`) ... The password ++ Attributes + + username: `heffan` (required, string) ... The username + + password: `password` (required, string) ... The password + ++ Request Create JWT Token (application/json) + Response 200 (application/json) @@ -53,8 +55,10 @@ Authorization APIs ## Refresh JWT Token [/reauth] ### Refresh JWT Token [POST] -+ Parameters - + token (required, string, `eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NtYS5hdXRoMC5jb20vIiwic3ViIjoiYWR8`) ... The old JWT token ++ Attributes + + token: `eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NtYS5hdXRoMC5jb20vIiwic3ViIjoiYWR8` (required, string) ... The old JWT token + ++ Request Refresh JWT Token (application/json) + Response 200 (application/json) @@ -96,8 +100,12 @@ Authorization APIs ## Validate SSO Cookie [/validation/sso] ### Validate SSO Cookie [GET] -+ Parameters - + Cookie (required, string, `tcsso=132456|4a6acc4d5327773989a7e8c23b04e8cd1c3da79a1256590973ed731ffa0f24a2`) ... The sso cookie + ++ Request + + + Headers + + Cookie: tcsso=132456|4a6acc4d5327773989a7e8c23b04e8cd1c3da79a1256590973ed731ffa0f24a2 + Response 200 (application/json) @@ -132,7 +140,7 @@ Authorization APIs # Group Reports Report APIs -## Challenge Costs [/reports/costs/{startDate}/{endDate}?clientid={clientId}&billingId={billingId}&projectId={projectId}&challengeId={challengeId}] +## Challenge Costs [/reports/costs/{startDate}/{endDate}{?clientId}{?billingId}{?projectId}{?challengeId}] ### Challenge Costs [GET] + Parameters @@ -213,7 +221,7 @@ Report APIs "description":"Servers are up but overloaded. Try again later." } -## Client Challenge Costs [/reports/client/costs/?startDate={startDate}&endDate={endDate}&clientid={clientId}&sfdcAccountId={sfdcAccountId}&customerNumber={customerNumer}] +## Client Challenge Costs [/reports/client/costs/{?startDate}{?endDate}{?clientId}{?sfdcAccountId}{?customerNumber}] ### Client Challenge Costs [GET] + Parameters @@ -297,7 +305,7 @@ Report APIs "description":"Servers are up but overloaded. Try again later." } -## Client Active Challenge Costs [/reports/client/activeCosts/?clientid={clientId}&sfdcAccountId={cmc}&customerNumber={customerNumber}] +## Client Active Challenge Costs [/reports/client/activeCosts/{?clientId}{?sfdcAccountId}{?customerNumber}] ### Client Active Challenge Costs [GET] + Parameters @@ -307,72 +315,73 @@ Report APIs + Response 200 (application/json) -{ - "active": [ - { - "customerName": "Client 9000001", - "customerNumber": "900000100", - "customerId": 9000001, - "billingAccountId": 9000001, - "billingAccountName": "Client 9000001 Billing Account 1", - "projectName": "Client 9000001 Billing Account 1 Project 2", - "challengeName": "Logo Design Contest 2", - "challengeId": 9000002, - "challengeType": "Logo Design", - "challengeStatus": "Active", - "postingDate": "2014-03-27", - "completionDate": "2014-03-29", - "challengeMemberCost": 0, - "challengeFee": 375, - "challengeTotalCost": 375, - "challengeDuration": 1.8, - "lastModificationDate": "2014-03-29", - "registrationEndDate": "2014-03-29", - "submissionEndDate": "2014-04-03", - "checkpointEndDate": "2014-03-30", - "currentPhase": "Checkpoint Screening", - "firstPrize": 1700, - "totalPrize": 1870, - "checkpointPrize": 170, - "registrantsCount": 2, - "submissionsCount": 0, - "checkpointSubmissionsCount": 2, - "challengeScheduledEndDate": "2014-04-08", - "reliability": 4 - }, - { - "customerName": "Client 9000001", - "customerNumber": "900000100", - "customerId": 9000001, - "billingAccountId": 9000002, - "billingAccountName": "Client 9000001 Billing Account 2", - "projectName": "Client 9000001 Billing Account 2 Project 1", - "challengeName": "Conceptualization Contest 3", - "challengeId": 9000003, - "challengeType": "Conceptualization", - "challengeStatus": "Active", - "postingDate": "2014-03-25", - "completionDate": "2014-03-29", - "challengeMemberCost": 0, - "challengeFee": 6001, - "challengeTotalCost": 6001, - "challengeDuration": 4.3, - "lastModificationDate": "2014-03-29", - "registrationEndDate": "2014-03-27", - "submissionEndDate": "2014-03-30", - "checkpointEndDate": "2014-03-28", - "currentPhase": "Submission", - "firstPrize": 1000, - "totalPrize": 1088, - "checkpointPrize": 88, - "registrantsCount": 3, - "submissionsCount": 0, - "checkpointSubmissionsCount": 3, - "challengeScheduledEndDate": "2014-04-10", - "reliability": 227 - } - ] -} + { + "active": [ + { + "customerName": "Client 9000001", + "customerNumber": "900000100", + "customerId": 9000001, + "billingAccountId": 9000001, + "billingAccountName": "Client 9000001 Billing Account 1", + "projectName": "Client 9000001 Billing Account 1 Project 2", + "challengeName": "Logo Design Contest 2", + "challengeId": 9000002, + "challengeType": "Logo Design", + "challengeStatus": "Active", + "postingDate": "2014-03-27", + "completionDate": "2014-03-29", + "challengeMemberCost": 0, + "challengeFee": 375, + "challengeTotalCost": 375, + "challengeDuration": 1.8, + "lastModificationDate": "2014-03-29", + "registrationEndDate": "2014-03-29", + "submissionEndDate": "2014-04-03", + "checkpointEndDate": "2014-03-30", + "currentPhase": "Checkpoint Screening", + "firstPrize": 1700, + "totalPrize": 1870, + "checkpointPrize": 170, + "registrantsCount": 2, + "submissionsCount": 0, + "checkpointSubmissionsCount": 2, + "challengeScheduledEndDate": "2014-04-08", + "reliability": 4 + }, + { + "customerName": "Client 9000001", + "customerNumber": "900000100", + "customerId": 9000001, + "billingAccountId": 9000002, + "billingAccountName": "Client 9000001 Billing Account 2", + "projectName": "Client 9000001 Billing Account 2 Project 1", + "challengeName": "Conceptualization Contest 3", + "challengeId": 9000003, + "challengeType": "Conceptualization", + "challengeStatus": "Active", + "postingDate": "2014-03-25", + "completionDate": "2014-03-29", + "challengeMemberCost": 0, + "challengeFee": 6001, + "challengeTotalCost": 6001, + "challengeDuration": 4.3, + "lastModificationDate": "2014-03-29", + "registrationEndDate": "2014-03-27", + "submissionEndDate": "2014-03-30", + "checkpointEndDate": "2014-03-28", + "currentPhase": "Submission", + "firstPrize": 1000, + "totalPrize": 1088, + "checkpointPrize": 88, + "registrantsCount": 3, + "submissionsCount": 0, + "checkpointSubmissionsCount": 3, + "challengeScheduledEndDate": "2014-04-10", + "reliability": 227 + } + ] + } + + Response 400 (application/json) { @@ -413,7 +422,7 @@ Report APIs "description":"Servers are up but overloaded. Try again later." } -## Challenge Analyze [/reports/analyze?projectId={projectId}&openRegistrationDateFrom={openRegistrationDateFrom}&openRegistrationDateTo={openRegistrationDateTo}&challengeType={challengeType}&challengeName={challengeName}&prizeLower={prizeLower}&prizeUpper={prizeUpper}] +## Challenge Analyze [/reports/analyze{?projectId}{?openRegistrationDateFrom}{?openRegistrationDateTo}{?challengeType}{?challengeName}{?prizeLower}{?prizeUpper}] ### Challenge Analyze [GET] + Parameters @@ -502,7 +511,7 @@ Report APIs "description":"Servers are up but overloaded. Try again later." } -## Track Statistics [/reports/{track}?startDate={startDate}&endDate={endDate}] +## Track Statistics [/reports/{track}{?startDate}{?endDate}] ### Track Statistics [GET] + Parameters @@ -604,7 +613,7 @@ Platform APIs "poNumber": "TC0000377" }, { - ""clientName": "client2", + "clientName": "client2", "clientCustomerNumber": "customer2", "clientId": 70014096, "billingAccountId": 70016347, @@ -619,9 +628,11 @@ Platform APIs ## Customer [/platform/customer] ### Create Customer [POST] -+ Parameters - + name (required, string, `custABCD`) ... The customer name - + customerNumber (required, string, `custABCDNum`) ... The customer number ++ Attributes + + name: `custABCD` (required, string) ... The customer name + + customerNumber: `custABCDNum` (required, string) ... The customer number + ++ Request Create Customer (application/json) + Response 200 (application/json) @@ -673,13 +684,15 @@ Platform APIs ## Billing [/platform/billing] ### Create Billing [POST] -+ Parameters - + subscriptionNumber (required, string, `snABCD`) ... The subscription number of the project to create - + customerNumber (required, string, `cnDEFG`) ... The customer number of the client with which to associate the project - + startDate (optional, string, `cnDEFG`) ... The billing account start date - + endDate (optional, string, `cnDEFG`) ... The billing account end date - + billingAccountId (optional, number, `1234`) ... The billing account id - + active (optional, number, `1`) ... billing account active status (1 - active, 0 - inactive) ++ Attributes + + subscriptionNumber: `snABCD` (required, string) ... The subscription number of the project to create + + customerNumber: `cnDEFG` (required, string) ... The customer number of the client with which to associate the project + + startDate: `cnDEFG` (optional, string) ... The billing account start date + + endDate: `cnDEFG` (optional, string) ... The billing account end date + + billingAccountId: `1234` (optional, number) ... The billing account id + + active: `1` (optional, number) ... billing account active status (1 - active, 0 - inactive) + ++ Request Create Billing (application/json) + Response 200 (application/json) @@ -727,7 +740,7 @@ Platform APIs "description":"Servers are up but overloaded. Try again later." } -## Billing Account Permission [/platform/billings/{billingAccountId}/users] +## Billing Account Permission [/platform/billings/{billingAccountId}/{users}] ### Update Billing Account Permission [POST] + Request (application/json) @@ -736,8 +749,6 @@ Platform APIs Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY - [users]["users1,users2"] - + Parameters + billingAccountId (required, number, `300001`) ... The billing account id that account to update + users (required, string, `heffan,shannon`) ... The users to attach to billing account @@ -835,90 +846,92 @@ Platform APIs ## Leaderboard [/platform/leaderboard] ### Get Leaderboard [GET] -+ Parameters - + type (required, string, `referral`) ... The leaderboard type - + utmMedium (optional, string, `""`, `Appirio`, `__ALL__`) ... The referral type - -+ Response 200 (application/json) - -{ - "entries": 9, - "description": "The leaderbaord returns all members that have referred at least one new member in the last 6 months.", - "scoreType": "points", - "scoreLabel": "referrals", - "result": [ - { - "handle": "Referral9", - "score": 9, - "photo": "http://community.topcoder.com/i/m/Image9.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United States", - "ratingType": "Red" - }, - { - "handle": "Referral8", - "score": 8, - "photo": "http://community.topcoder.com/i/m/Image8.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United Kingdom", - "ratingType": "Yellow" - }, - { - "handle": "Referral6", - "score": 6, - "photo": "http://community.topcoder.com/i/m/Image6.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United States Minor Outlying Islands", - "ratingType": "Yellow" - }, - { - "handle": "Referral2", - "score": 1, - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United Kingdom", - "ratingType": "Black" - }, - { - "handle": "Referral7", - "score": 7, - "photo": "http://community.topcoder.com/i/m/Image7.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United States", - "ratingType": "Red" - }, - { - "handle": "Referral10", - "score": 10, - "photo": "http://community.topcoder.com/i/m/Image10.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United Arab Emirates", - "ratingType": "Red" - }, - { - "handle": "Referral5", - "score": 5, - "photo": "http://community.topcoder.com/i/m/Image5.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United States", - "ratingType": "Red" - }, - { - "handle": "Referral4", - "score": 4, - "photo": "http://community.topcoder.com/i/m/Image4.jpg", - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United Arab Emirates", - "ratingType": "Yellow" - }, - { - "handle": "Referral3", - "score": 2, - "memberSince": "2014-07-21T00:57:05.000+0200", - "country": "United States", - "ratingType": "Red" - } - ] -} ++ Attributes + + type: `referral` (required, string) ... The leaderboard type + + utmMedium: `Appirio` (optional, string) ... The referral type + ++ Request Get Leaderboard (application/json) + ++ Response 200 (application/json) + + { + "entries": 9, + "description": "The leaderbaord returns all members that have referred at least one new member in the last 6 months.", + "scoreType": "points", + "scoreLabel": "referrals", + "result": [ + { + "handle": "Referral9", + "score": 9, + "photo": "http://community.topcoder.com/i/m/Image9.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United States", + "ratingType": "Red" + }, + { + "handle": "Referral8", + "score": 8, + "photo": "http://community.topcoder.com/i/m/Image8.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United Kingdom", + "ratingType": "Yellow" + }, + { + "handle": "Referral6", + "score": 6, + "photo": "http://community.topcoder.com/i/m/Image6.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United States Minor Outlying Islands", + "ratingType": "Yellow" + }, + { + "handle": "Referral2", + "score": 1, + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United Kingdom", + "ratingType": "Black" + }, + { + "handle": "Referral7", + "score": 7, + "photo": "http://community.topcoder.com/i/m/Image7.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United States", + "ratingType": "Red" + }, + { + "handle": "Referral10", + "score": 10, + "photo": "http://community.topcoder.com/i/m/Image10.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United Arab Emirates", + "ratingType": "Red" + }, + { + "handle": "Referral5", + "score": 5, + "photo": "http://community.topcoder.com/i/m/Image5.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United States", + "ratingType": "Red" + }, + { + "handle": "Referral4", + "score": 4, + "photo": "http://community.topcoder.com/i/m/Image4.jpg", + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United Arab Emirates", + "ratingType": "Yellow" + }, + { + "handle": "Referral3", + "score": 2, + "memberSince": "2014-07-21T00:57:05.000+0200", + "country": "United States", + "ratingType": "Red" + } + ] + } + Response 200 (application/json) @@ -965,197 +978,6 @@ Platform APIs "description":"Servers are up but overloaded. Try again later." } -## Get Challenge Detail [/challenges/{challengeId}] -### Get Challenge Detail [GET] - -+ Parameters - + challengeId (required, number, `30000000`) ... The challenge id. - -+ Response 200 (application/json) - - { - "challengeType": "Assembly Competition", - "type": "develop", - "challengeName": "Module Assembly - TopCoder NodeJS API Tests Improvement and Normalization", - "challengeId": 30036437, - "projectId": 6757, - "forumId": "19553", - "detailedRequirements": "

Project Overview

\n\n

TopCoder and the TopCoder community have worked hard to get the platform to its currently level of maturity, but we're far from done. It's time to take the platform to the next level. TopCoder is going to start taking some steps to open up the platform API to the outside and community developers so they could incorporate it in their websites, applications or build their own applications (web, mobile or desktop).

\n\n

The ultimate goal is to open up and build an "API" that is targeting all different type of audiences - Software and Studio Competitors, SRM/MM competitors, Copilots, Admins and TopCoder partners - each audience will have different interests and usages of the API, so it will be a huge project and we need to make sure that we are in the right direction from the beginning.

\n\n

Currently, we have run several contests to build the APIs and write tests for testing the APIs.  All the tests can be found at https://github.com/cloudspokes/tc-api/tree/master/test

\n\n

Through these contests, we have found several problems for the tests part as following

\n\n
    \n\t
  1. The tests are not properly named, we'd like to follow the way like 'test.[api name].js', like register_member.js should be renamed to test.register_member.js.
  2. \n\t
  3. Some of the tests have to presetup the database manually, Some of the tests automically setup and clear the related database tables wisely.
  4. \n\t
  5. The tests can be passed if run separately, but failed when running togather.
  6. \n
\n\n

For this contest, we'd like to improve and standarize the way to write tests, so it will be good for further addon and CI integration.

\n\n

Competition Task Overview

\n\n

\"\" Please raise questions as quick as you can, I am familiar with related database and code base, I can provide as much support as I can.

\n\n

\"\"The updated code must still deploy and work on heroku - any submission which can't be deployed on heroku successfully will be failed in screening phase - primary reviewer must check this.

\n\n

The implementation will base on the node.js version of TC platform API - https://github.com/cloudspokes/tc-api. Please follow the existing actionhero pattern for your development.

\n\n

Clean State for Running Tests

\n\n

Currently, some tests requires presetup the database, some tests automically setup and clear the related database tables.

\n\n

We'd like to follow the approach to setup and clear the related database tables before and after running the tests.

\n\n

Currently, register_member.js used similar approach to setup the data before running tests. We'd like to extra similar logic as utility methods, which can be used to execute a batch of sqls (for example, inside one file) or single sql against one database (Currently we can not do with multiple databases, due to the limitation of nodejs informix module).

\n\n

With this utility methods we can easily do setup and teardown databases.

\n\n

before, after, before each, after each hooks

\n\n

Utilize before(), after(), beforeEach(), afterEach()  to setup the tests more wise. For detail information, please check http://visionmedia.github.io/mocha/

\n\n

Test Directory Restructure and Normalization

\n\n

We'd like to normalize the directory structure inside test directory. Currently, it already gives good starting point, but we'd like revise it as we are making the above changes. Here is the general rules to following

\n\n
    \n\t
  1. All tests should be named like test.[api name].js, so normally, for each api, there should be separated test js files.
  2. \n\t
  3. All tests from contest winner, should be put directly under test directory.
  4. \n\t
  5. All reviewers tests should be put under corresponding directory under test directory, like accuracy, failure, security directory.
  6. \n\t
  7. All sql files used for tests presetup and teardown should be put under sqls directory, sqls files for accuray, failture, security tests, will be in different directory, directly under the accuracy, failure, security directory, like accuracy/sqls, failure/sqls etc.
  8. \n\t
  9. All other test related files will be still put under test_files directory.
  10. \n
\n\n

If you have better idea and improvement to make the test directory well orginized, please suggest. This can be considered as improvement, reviewers and PMs will consider that.

\n\n

Scope

\n\n

All tests under test directory are in scope. If it tests didn't pass orignally, you should be responsible to fix that.

\n\n

The ultimate goal is we can run all tests or single test successfully. like

\n\n

Run a single test:  ./node_modules/.bin/mocha ./test/test.tops.js

\n\n

Run all tests: ./node_modules/.bin/mocha ./test

\n\n

Following steps  to run the tests.

\n\n
    \n\t
  1. setup environment varibales: . deploy/development.sh
  2. \n\t
  3. start the local server: npm start
  4. \n\t
  5. run the tests: as above commands.
  6. \n
\n\n

Tests Creation Guide

\n\n

Beside the above requirements for current tests normalization and improvement, we'd like you to write a general guide which can be followed to further test creation. It just need to be easy to follow.

\n\n

Testing

\n\n

The API Framework supports tests. Use supertest with mocha. Don't install mocha globally.

\n\n

you must use mocha BDD style (which is the default), within that, you can optionally use chai.

\n\n

Code Format

\n\n

All code must pass jslint. You may use "nomen: true".

\n\n

Winner Only

\n\n

Winner will create pull request against the main github repo in final fix phase and merge the code.

\n\n

Virutal Machines (VMs)

\n\n

VM specific information is found here: http://www.topcoder.com/wiki/display/docs/VM+Image+2.5

\n\n

Upon registration as a submitter or reviewer you will need to request a VM based on the TopCoder systems image. The VM will be active through aggregation review, after which it will be terminated except for the winner's and the reviewers'. To request your image, please post in contest forum.

\n\n

Before requesting your VM, you need to ensure that you have an SSH key created and in your member profile. Instructions to do so are here: http://www.topcoder.com/wiki/display/projects/Generate+SSH+Key, and instructions to connect afterwards are here: http://www.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.

\n\n

Please realize that VMs are currently issued manually. We make every attempt to issue the VM as soon as it is requested, however, there may be delays of up to 12 hours depending on time of day when you request. We encourage everyone to request a VM as soon as possible to minimize any such delays.

\n\n

Technology Overview

\n\n\n\n

Documentation Provided

\n\n

Please check the deployment guide in codebase for reference.

\n", - "finalSubmissionGuidelines": "

Submission Deliverables

\n\n

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials

\n\n

Below is an overview of the deliverables:

\n\n\n\n

Final Submission

\n\n

For each member, the final submission should be uploaded to the Online Review Tool.

\n", - "screeningScorecardId": "30000412", - "reviewScorecardId": "30001470", - "cmcTaskId": "", - "numberOfCheckpointsPrizes": 0, - "topCheckPointPrize": "", - "postingDate": "2013-12-02T09:00:05.000Z", - "registrationEndDate": "2013-12-04T09:00:21.000Z", - "checkpointSubmissionEndDate": "-000001-11-30T00:00:00.000Z", - "submissionEndDate": "2013-12-06T21:20:56.000Z", - "appealsEndDate": "2013-12-09T07:05:33.000Z", - "finalFixEndDate": "2013-12-10T08:33:19.000Z", - "digitalRunPoints": 360, - "reliabilityBonus": 160, - "challengeCommunity": "develop", - "directUrl": "https://www.topcoder.com/direct/contest/detail.action?projectId=30036437", - "technology": [ - "Java", - "MySQL" - ], - "prize": [ - 800, - 400 - ], - "generalCheckpointFeedback": "This is general feedback from all competitors.", - "Documents": [ - { - "documentName": "document 1", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400000" - }, - { - "documentName": "document 2", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400001" - }, - { - "documentName": "document 3", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400002" - } - ], - "numberOfRegistrants": 18, - "numberOfSubmissions": 2, - "platforms": [ - "AWS", - "Cloud Foundry" - ], - "event": { - "id": 3437, - "description": "TCO" - } - } - -+ Response 200 (application/json) - - { - "challengeType": "First2Finish", - "type": "develop", - "challengeName": "this is a F2F challenge", - "challengeId": 30500000, - "projectId": 30400001, - "screeningScorecardId": "3", - "reviewScorecardId": "1", - "cmcTaskId": "ab", - "numberOfCheckpointsPrizes": 0, - "topCheckPointPrize": "", - "currentStatus": "Active", - "digitalRunPoints": 510, - "reliabilityBonus": 200, - "challengeCommunity": "develop", - "directUrl": "https://www.topcoder.com/direct/contest/detail.action?projectId=30500000", - "technology": ["Java", "MySQL"], - "prize": [ - 1000 - ], - "Documents": [ - { - "documentName": "document 1", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30500000" - }, - { - "documentName": "document 2", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30500001" - } - ], - "numberOfSubmissions": 1, - "numberOfRegistrants": 1, - "platforms": [ - "AWS", - "Cloud Foundry" - ], - "event": { - "id": 3437, - "description": "TCO" - } - } -+ Response 200 (application/json) - - { - "challengeType": "Copilot Posting", - "type": "develop", - "challengeName": "this is a Copilot post challenge", - "challengeId": 32500000, - "projectId": 30400001, - "detailedRequirements": "detailed requirement content", - "finalSubmissionGuidelines": "final submission guideline content", - "cmcTaskId": "ab", - "numberOfCheckpointsPrizes": 0, - "topCheckPointPrize": "", - "copilotDetailedRequirements": "copilot private_description_text", - "currentStatus": "Active", - "digitalRunPoints": 510, - "reliabilityBonus": 200, - "challengeCommunity": "develop", - "directUrl": "https://www.topcoder.com/direct/contest/detail.action?projectId=32500000", - "technology": ["Java", "MySQL"], - "prize": [ - 1000 - ], - "numberOfRegistrants": 1, - "Documents": [ - { - "documentName": "document 1", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30500000" - }, - { - "documentName": "document 3", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=32500000" - }, - { - "documentName": "document 4", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=32500001" - }, - { - "documentName": "document 2", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30500001" - } - ], - "numberOfSubmissions": 1, - "platforms": [ - "AWS", - "Cloud Foundry" - ] - } - -+ Response 400 (application/json) - - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - } - -+ Response 404 (application/json) - - { - "name":"Not Found", - "value":"404", - "description":"This message will explain why the URI requested is invalid or the resource does not exist." - } - -+ Response 500 (application/json) - - { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." - } - -+ Response 503 (application/json) - - { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." - } - ## Get Challenge Registrants [/challenges/registrants/{challengeId}] ### Get Challenge Registrants [GET] @@ -1533,7 +1355,7 @@ Register a new user. } ### Create a new user [POST] -+ Request (application/json) ++ Request [Users][] @@ -1585,7 +1407,6 @@ Register a new user. "description":"Servers are up but overloaded. Try again later." } -### Create a new user via social login [POST] + Request (application/json) { @@ -2036,7 +1857,6 @@ Register a new user. "description":"Servers are up but overloaded. Try again later." } -## My Profile [/user/profile] ### My Profile [POST] + Request @@ -2141,7 +1961,7 @@ Register a new user. } -## Get User Develop Challenges [/user/{handle}/challenges/develop?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## Get User Develop Challenges [/user/{handle}/challenges/develop{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}] ### Get User Challenges [GET] + Parameters @@ -2221,7 +2041,7 @@ Register a new user. "description":"Servers are up but overloaded. Try again later." } -## Get User Design Challenges [/user/{handle}/challenges/design?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## Get User Design Challenges [/user/{handle}/challenges/design{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}] ### Get User Challenges [GET] + Parameters @@ -2303,7 +2123,7 @@ Register a new user. -## Search My Challenges [/user/challenges?type={type}&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}&challengeType={challengeType}&platforms={platforms}&technologies={technologies}&prizeLowerBound={prizeLowerBound}&prizeUpperBound={prizeUpperBound}] +## Search My Challenges [/user/challenges{?type}{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}{?communityId}{?submissionEndFrom}{?submissionEndTo}{?challengeType}{?platforms}{?technologies}{?prizeLowerBound}{?prizeUpperBound}] ### Search My Challenges [GET] + Parameters @@ -2315,7 +2135,7 @@ Register a new user. + communityId (optional, number, `1`) ... The community id. + submissionEndFrom (optional, string, `2014-03-01`) ... submission end date from value. + submissionEndTo (optional, string, `2014-03-15`) ... submission end date to value. - + challengeType (optional, string, `assembly') ... challenge type + + challengeType (optional, string, `assembly`) ... challenge type + platforms (optional, string, `google,heroku`) ... platforms filter + technologies (optional, string, `java,javascript`) ... technologies filter + prizeLowerBound (optional, number, `1000`) ... prize lowerbound @@ -2467,10 +2287,11 @@ Register a new user. ## get User Identity Information [/user/identity] ### Search My Challenges [GET] -Request ++ Request -+ Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6 + + Headers + + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6 + Response 200 (application/json) @@ -2505,7 +2326,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get User Algo Challenges [/user/{handle}/challenges/algo?pageIndex={pageIndex}&pageSize={pageSize}&sortOrder={sortOrder}&sortColumn={sortColumn}] +## Get User Algo Challenges [/user/{handle}/challenges/algo{?pageIndex}{?pageSize}{?sortOrder}{?sortColumn}] ### Get User Algo Challenges [GET] + Parameters @@ -2540,6 +2361,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2548,6 +2370,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2556,6 +2379,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2564,6 +2388,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2572,6 +2397,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2580,6 +2406,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2588,6 +2415,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2596,6 +2424,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2604,6 +2433,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2612,6 +2442,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2620,6 +2451,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2628,6 +2460,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2636,6 +2469,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2644,6 +2478,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2652,6 +2487,7 @@ Request } + Response 404 (application/json) + { "name": "Not Found", "value": 404, @@ -2676,7 +2512,7 @@ Request } -## Get User Marathon Matches Information [/user/{handle}/challenges/marathon?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## Get User Marathon Matches Information [/user/{handle}/challenges/marathon{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}] ### Get User Marathon Matches Information [GET] + Parameters @@ -2712,6 +2548,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2720,6 +2557,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2728,6 +2566,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2736,6 +2575,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2744,6 +2584,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2752,6 +2593,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2760,6 +2602,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2768,6 +2611,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2776,6 +2620,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2784,6 +2629,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2792,6 +2638,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2800,6 +2647,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2808,6 +2656,7 @@ Request } + Response 400 (application/json) + { "name": "Bad Request", "value": 400, @@ -2869,7 +2718,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Validate Social [/users/validateSocial?socialProviderId={socialProviderId}&socialUserId={socialUserId}] +## Validate Social [/users/validateSocial{?socialProviderId}{?socialUserId}] ### Validate Handle [GET] + Parameters @@ -2906,7 +2755,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Generate Reset Token [/users/resetToken/?handle={handle}&email={email}] +## Generate Reset Token [/users/resetToken/{?handle}{?email}] ### Generate Reset Token [GET] - return "successful" flag set to true @@ -2973,8 +2822,12 @@ Request ### Reset Password [POST] + Parameters + handle (required, string, `iRabbit`) ... Member Handle - + token (required, string, `snABCD`) ... The reset password token - + password (required, string, `cnDEFG`) ... The new password + ++ Attributes + + token: `snABCD` (required, string) ... The reset password token + + password: `cnDEFG` (required, string) ... The new password + ++ Request Reset Password (application/json) + Response 200 (application/json) @@ -3025,9 +2878,11 @@ Request ## Update Password [/users/password] ### Update Password [POST] -+ Parameters - + oldPassword (required, string, `snABCD`) ... The old password - + newPassword (required, string, `cnDEFG`) ... The new password ++ Attributes + + oldPassword: `snABCD` (required, string) ... The old password + + newPassword: `cnDEFG` (required, string) ... The new password + ++ Request Update Password (application/json) + Response 200 (application/json) @@ -3075,7 +2930,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Activate User [/users/activate?code={code}] +## Activate User [/users/activate{?code}] ### Activate User [GET] + Parameters + code (required, string, `BHWXAG3R`) ... The activation code @@ -3139,8 +2994,9 @@ Request Request -+ Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6 + + Headers + + Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6 + Parameters + photo (required, file) ... The photo file. @@ -3201,7 +3057,7 @@ Request #Group Software Challenges -## Review Opportunities [/develop/reviewOpportunities/?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## Review Opportunities [/develop/reviewOpportunities/?{filter}={value}{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder} ### Get Review Opportunities [GET] + Parameters @@ -3427,7 +3283,12 @@ Request + Parameters + challengeId (required, number, `30000000`) ... The challenge id. - + reviewApplicationRoleId (optional, number, `1`) ... The review application role id to apply. + ++ Attributes + + + reviewApplicationRoleId: `1` (optional, number) ... The review application role id to apply. + ++ Request Apply Develop Review Opportunity Information (application/json) + Response 200 (application/json) @@ -3575,11 +3436,16 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Apply Design Review Opportunity [/design/reviewOpportunities/:challengeId/apply] +## Apply Design Review Opportunity [/design/reviewOpportunities/{challengeId}/apply] ### Apply Design Review Opportunity [POST] + Parameters + challengeId (required, string, `3001`) ... The challenge id - + isSpecReview (required, boolean, `true` or false) ... The spec review flag + ++ Attributes + + + isSpecReview: `true` (required, boolean) ... The spec review flag + ++ Request Apply Design Review Opportunity (application/json) + Response 200 (application/json) @@ -3748,7 +3614,7 @@ Request } -## Software Member Statistics [/users/{handle}/statistics/develop?track={track}] +## Software Member Statistics [/users/{handle}/statistics/develop{?track}] ### Software Member Statistics [GET] + Parameters @@ -3975,7 +3841,7 @@ Request } -## Search Active Software Challenges [/challenges/active?type=develop&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}&type={type}&platforms={platforms}&technologies={technologies}&prizeLowerBound={prizeLowerBound}&prizeUpperBound={prizeUpperBound}] +## Search Active Software Challenges [/challenges/active?type=develop{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}{&type}{&platforms}{&technologies}{&prizeLowerBound}{&prizeUpperBound}] ### Search Active Software Challenges [GET] + Parameters @@ -3986,7 +3852,7 @@ Request + communityId (optional, number, `1`) ... The community id. + submissionEndFrom (optional, string, `2014-03-01`) ... submission end date from value. + submissionEndTo (optional, string, `2014-03-15`) ... submission end date to value. - + type (optional, string, `assembly') ... challenge type + + type (optional, string, `assembly`) ... challenge type + platforms (optional, string, `google,heroku`) ... platforms filter + technologies (optional, string, `java,javascript`) ... technologies filter + prizeLowerBound (optional, number, `1000`) ... prize lowerbound @@ -4132,7 +3998,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Open Software Challenges [/challenges/open?type=develop&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}&type={type}&platforms={platforms}&technologies={technologies}&prizeLowerBound={prizeLowerBound}&prizeUpperBound={prizeUpperBound}] +## Search Open Software Challenges [/challenges/open?type=develop{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}{&type}{&platforms}{&technologies}{&prizeLowerBound}{&prizeUpperBound}] ### Search Open Software Challenges [GET] + Parameters @@ -4143,7 +4009,7 @@ Request + communityId (optional, number, `1`) ... The community id. + submissionEndFrom (optional, string, `2014-03-01`) ... submission end date from value. + submissionEndTo (optional, string, `2014-03-15`) ... submission end date to value. - + type (optional, string, `assembly') ... challenge type + + type (optional, string, `assembly`) ... challenge type + platforms (optional, string, `google,heroku`) ... platforms filter + technologies (optional, string, `java,javascript`) ... technologies filter + prizeLowerBound (optional, number, `1000`) ... prize lowerbound @@ -4289,7 +4155,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Past Software Challenges [/challenges/past?type=develop&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}&type={type}&platforms={platforms}&technologies={technologies}&prizeLowerBound={prizeLowerBound}&prizeUpperBound={prizeUpperBound}] +## Search Past Software Challenges [/challenges/past?type=develop{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}{&type}{&platforms}{&technologies}{&prizeLowerBound}{&prizeUpperBound}] ### Search Past Software Challenges [GET] + Parameters @@ -4300,7 +4166,7 @@ Request + communityId (optional, number, `1`) ... The community id. + submissionEndFrom (optional, string, `2014-03-01`) ... submission end date from value. + submissionEndTo (optional, string, `2014-03-15`) ... submission end date to value. - + type (optional, string, `assembly') ... challenge type + + type (optional, string, `assembly`) ... challenge type + platforms (optional, string, `google,heroku`) ... platforms filter + technologies (optional, string, `java,javascript`) ... technologies filter + prizeLowerBound (optional, number, `1000`) ... prize lowerbound @@ -4434,7 +4300,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Upcoming Software Challenges [/challenges/upcoming?type=develop&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}&type={type}&platforms={platforms}&technologies={technologies}&prizeLowerBound={prizeLowerBound}&prizeUpperBound={prizeUpperBound}] +## Search Upcoming Software Challenges [/challenges/upcoming?type=develop{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}{&type}{&platforms}{&technologies}{&prizeLowerBound}{&prizeUpperBound}] ### Search Upcoming Software Challenges [GET] + Parameters @@ -4445,7 +4311,7 @@ Request + communityId (optional, number, `1`) ... The community id. + submissionEndFrom (optional, string, `2014-03-01`) ... submission end date from value. + submissionEndTo (optional, string, `2014-03-15`) ... submission end date to value. - + type (optional, string, `assembly') ... challenge type + + type (optional, string, `assembly`) ... challenge type + platforms (optional, string, `google,heroku`) ... platforms filter + technologies (optional, string, `java,javascript`) ... technologies filter + prizeLowerBound (optional, number, `1000`) ... prize lowerbound @@ -5167,13 +5033,16 @@ Request ## Software Challenge Upload Submission [/develop/challenges/{challengeid}/submit] ### Upload a submission by using base64 encoding[POST] -+ Request (application/json) + Parameters + challengeid (required, number, `30000000`) ... The challenge id. - + fileName (required, string, `abcd.zip`) ... The name of the file that is being uploaded - + fileData (required, string, `SGVsbG8gV29ybGQ=`) ... The Base64 encoded content of the file being uploaded. The example value is 'Hello World' base64 encoded - + type (optional, string, `checkpoint`) ... The type of submission. Can be 'final' or 'checkpoint'. If absent, 'final' is assumed. + ++ Attributes + + fileName: `abcd.zip` (required, string) ... The name of the file that is being uploaded + + fileData: `SGVsbG8gV29ybGQ=` (required, string) ... The Base64 encoded content of the file being uploaded. The example value is 'Hello World' base64 encoded + + type: `checkpoint` (optional, string) ... The type of submission. Can be 'final' or 'checkpoint'. If absent, 'final' is assumed. + ++ Request Upload a submission by using base64 encoding (application/json) + Response 200 (application/json) @@ -5244,8 +5113,12 @@ Request + Parameters + challengeid (required, number, `30000000`) ... The challenge id. - + submissionFile (required, string, `abcd.zip`) ... The submission zip - + type (optional, string, `checkpoint`) ... The type of submission. Can be 'final' or 'checkpoint'. If absent, 'final' is assumed. + ++ Attributes + + submissionFile: `abcd.zip` (required, string) ... The submission zip + + type: `checkpoint` (optional, string) ... The type of submission. Can be 'final' or 'checkpoint'. If absent, 'final' is assumed. + ++ Request Upload a submission by using direct file upload (application/json) + Response 200 (application/json) @@ -5315,19 +5188,23 @@ Request + Request (application/json) + Parameters - + challlengeId (required, integer, 545464) ... The challenge id - + submissionFile (required, string, `abcd.zip`) ... The submission zip - + sourceFile (required, string, `efgh.zip`) ... The source zip - + previewFile (required, string, `hijk.png`) ... The preview image file - + type (optional, string, `checkpoint`) ... The type of submission. Can be 'submission' or 'checkpoint'. If absent, 'submission' is assumed. - + fonts (optional, string, `fs1||fs2||fs3`) ... Double pipe separated font sources - + fontNames (optional, string, `fn1||fn2||fn3`) ... Double pipe separated font names - + fontUrls (optional, string, `google.com||yahoo.com||grephouse.com`) ... Double pipe separated font urls - + stockArtNames (optional, string, `sa1||sa2||sa3`) ... Double pipe separated stock art names - + stockArtFileNumbers (optional, string, `fn1||fn2||fn3`) ... Double pipe separated stock art file numbers - + stockArtUrls (optional, string, `google.com||yahoo.com||grephouse.com`) ... Double pipe separated font urls - + rank (optional, integer, 2) ... The rank of a submission - + comment (optional, string, `a comment`) ... optional comment + + challlengeId (required, integer, `545464`) ... The challenge id + ++ Attributes + + submissionFile: `abcd.zip` (required, string) ... The submission zip + + sourceFile: `efgh.zip` (required, string) ... The source zip + + previewFile: `hijk.png` (required, string) ... The preview image file + + type: `checkpoint` (optional, string) ... The type of submission. Can be 'submission' or 'checkpoint'. If absent, 'submission' is assumed. + + fonts: `fs1||fs2||fs3` (optional, string) ... Double pipe separated font sources + + fontNames: `fn1||fn2||fn3` (optional, string) ... Double pipe separated font names + + fontUrls: `google.com||yahoo.com||grephouse.com` (optional, string) ... Double pipe separated font urls + + stockArtNames: `sa1||sa2||sa3` (optional, string) ... Double pipe separated stock art names + + stockArtFileNumbers: `fn1||fn2||fn3` (optional, string) ... Double pipe separated stock art file numbers + + stockArtUrls: `google.com||yahoo.com||grephouse.com` (optional, string) ... Double pipe separated font urls + + rank: `2` (optional, number) ... The rank of a submission + + comment: `a comment` (optional, string) ... optional comment + ++ Request Upload a submission (application/json) + Response 200 (application/json) @@ -5384,7 +5261,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Top Ranked Members [/develop/statistics/tops/{contestType}?pageIndex={pageIndex}&pageSize={pageSize}] +## Top Ranked Members [/develop/statistics/tops/{contestType}{?pageIndex}{?pageSize}] ### Top Ranked Members [GET] + Parameters @@ -5460,7 +5337,7 @@ Request # Group Studio Challenges -## Search Active Studio Challenges [/challenges/active?&type=design&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Active Studio Challenges [/challenges/active?&type=design{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}] ### Search Active Studio Challenges [GET] + Parameters @@ -5580,7 +5457,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Open Studio Challenges [/challenges/open?type=design&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Open Studio Challenges [/challenges/open?type=design{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}] ### Search Open Studio Challenges [GET] + Parameters @@ -5700,7 +5577,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Past Studio Challenges [/challenges/past?type=design&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Past Studio Challenges [/challenges/past?type=design{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}] ### Search Past Studio Challenges [GET] + Parameters @@ -5812,7 +5689,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Search Upcoming Studio Challenges [/challenges/upcoming?type=design&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Upcoming Studio Challenges [/challenges/upcoming?type=design{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}] ### Search Upcoming Studio Challenges [GET] + Parameters @@ -5920,205 +5797,6 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get Studio Challenge Detail [/challenges/{challengeId}] -### Get Studio Challenge Detail [GET] - -+ Parameters - + challengeId (required, number, `30000000`) ... The challenge id. - -+ Response 200 (application/json) - - { - "challengeType": "Web Design", - "challengeName": "CS-TC Help Center Storyboard Design Contest", - "challengeId": 30036283, - "projectId": 6847, - "forumId": "4076", - "introduction": "This is the overview. It can contain HTML.", - "round1Introduction": "Round 1 Intro", - "round2Introduction": "Round 2 Intro", - "roundOneDetails": "Description for round 1.", - "roundTwoDetails": "Description for round 2.", - "detailedRequirements": "

The main aim of this contest is to come up designs for the New CS-TC Help-Center, this large help-center which will cover help information for all sections which includes Design, Software, Data/Algorithms, Copilots/Reviewers, and TopCoder UniversityThe Help Center will have its own wordpress theme and wordpress "site".
\n
\nWe recently ran a few design contests to create new site design for the TopCoder-Cloudspokes Community, in this contest - you will reuse many of the design elements to help us build a consistent design.
\n
\nIMPORTANT!! Design Considerations:
\n- Please use the global header and navigation at the top and a global footer at the bottom from the attached storyboards
\n- Follow the color scheme as shown in the attached designs.
\n- Create icons whereever necessary, follow the design aesthetics from the attached designs.
\n- Continue the FLAT design trend shown in the New Designs
\n- You may reuse any designs from the attached Storyboards.

\n- We are looking for your help in designing the desktop view (1024 x 768) and mobile view (320 x 480)

\n\n

General Requirements: 
\nBelow are some of the areas, where we would like to see your creativity by coming up with an out of the box solutions…

\n\n

Navigation: 
\n- It will show "Sections > Topics > Sub-Topics", please see the attached excel file to get an idea on what a section, topic could be.
\n- We would like the navigation for this help-center to be in a sidebar like shown in the wireframe
\n- We need consistent icons for each of the section, they are "Design, Development, Data/Algorithms, Copilots/Reviewers and TopCoder University"
\n- Please reuse the icons for Design, Development and Data/Algorithms from the attached designs
\n- Design the icons for Copilots/Reviewers and TopCoder University.
\n- Based on the wireframe, we are planning to show a smaller version of these section icons in the left side collpased view i.e. when a section is selected and a medium size above the Topics/Sub-topics list with the name of the section.
\n- Create the hover and selected styles for all these navigation links (Section, Topics, Sub-topics).
\n- Probably we will need a scroll bar to be shown in the Topics/Sub-topics navigation like shown in the wireframe - as this list could be long.
\n- You also need to think on how these should be planned for a mobile view?

\n\n

Breadcrumbs:
\n- Please show breadcrumbs in your designs, follow the wireframes for this.
\n- Please create the hover and selected style for this

\n\n

Search:
\n- We will need a prominent location for the search bar like shown in the wireframe.
\n- Search bar will shown in all pages within the help-center.
\n- Design this search bar, create search icon if needed.
\n- Please place the following words inside the search bar: "Search Help Center".
\n- Also, show your designs for the auto-suggest drop-down. (i.e. as a user types the text, they need to see matching topics in a drop-down).
\n
\nSupport: 
\n- We need an Email Support link shown on all pages, like shown in the wireframe
\n- 
Please use the following words for the support email area: "Email Support Team".
\n- Please come up with better designs for this.

\n\n

Page Requirements
\nBelow are the required pages from the wireframe...

\n
\nHelp Center Home:
\nThis is main page in the help-center, it will be a gateway for the user to proceed to other sections of the help-center
\n- This page will play a very important role in the help-center. 
\n- Please reduce the height of the slideshow a bit.
\n- We will have the colored bars with the icon and name of the section at the bottom of the slideshow - clicking on these will show the corresponding slide. 
\n- Colored bars shown at the bottom of the slideshow need to have a Hover and Active styles
\n- FAQs will be a static area shown on the right side.

\n- Click on the "More" in 'Member Tips" shown at the bottom, please design the member tips view.
\n- Please follow the wireframe for contents to be shown in this page.
\n
\nSection:
\nThis New Help Center would contain mainly five sections to start with; they are Design, Development, Data/Algorithms, Copilots/Reviewers, and TopCoder University.
\n- You can reach the section landing page simply by clicking on the any of the section shown in the left.
\n- These sections would have their own landing page, follow the contents from the wireframe.
\n- This page has a banner at the top, you may use a placeholder for it.
\n- This page shows contents in Grid and List view, please reuse the grid/list buttons from the attached designs.
\n- Please show your designs for grid and list views
\n
\nTopics:
\n- Click on a "Topic Name" (example: In studio section, topics names are Competition Types, Tournaments etc..) from the left-side navigation to reach this page.
\n- This page shows Topic Summary at the top, since this will be consistent in all topic landing pages, please create a style to show the summary.
\n- Below the topic summary, we will list all the Sub-topics within that topic.
\n- Please remove the "thumb image, username and date" - its not required, just the sub-topic title and a few lines from it should be fine.
\n
\nSub-Topics:
\n- In the wireframe, from the topic landing page, click on any of the listed sub-topics to view the sub-topic page.

\n- These are the exact pages where a user would see the help information in the form of Articles, Videos, and Tutorials/Walkthroughs etc…
\n- Follow the wireframe for the contents
\n- These would contain 'Title' and followed by "Table of Contents" at the top, these table of contents will mostly be used for the help contents in Software section - please come up with a design that highlishts these table of contents.
\n- At the bottom, we will have two columns 1) "Related" which will have a few links and 2) Resources - which will show few documents and a video thumbnail. How should these be shown?
\n
\nSearch Results:

\nAs mentioned earlier, a search bar is expected to be in all pages:
\n- Click on the magnifier icon in the search bar to see the results
\n- The top buttons shown in the search results are filters, how should these be shown in your designs?
\n- Follow the contents from the wireframe.

\n\n

Branding Guidelines
\n- Please use the logo from the attached storyboard designs
\n- Please follow the colors from the attached designs.
\n- Please continue to use the Flat design concept 

\n\n

Target User
\n-Members, Copilots, Reviewers, Customers and CS-TC Admins

\n\n

Judging Criteria
\n- How well you create your designs based on the wireframes.
\n- Cleanliness of your graphics and design.
\n- Design looks and User Experience.

\n\n

Submission & Source Files
\nPreview Image
\nPlease create your preview image as one (1) 1024x1024px JPG or PNG file in RGB color mode at 72dpi and place a screenshot of your submission within it.

\n\n

Submission File
\nSubmit JPG/PNG for your submission files.

\n\n

Source Files
\nAll original source files of the submitted design. Files should be created in Adobe Photoshop and saved as layered PSD file.

\n\n

Final Fixes
\nAs part of the final fixes phase you may be asked to modify your graphics (sizes or colors) or modify overall colors. We may ask you to update your design or graphics based on other winning placements.

\n", - "screeningScorecardId": "30001363", - "reviewScorecardId": "30001031", - "cmcTaskId": "", - "numberOfCheckpointsPrizes": 5, - "topCheckPointPrize": "100", - "postingDate": "2013-11-20T22:36:15.000Z", - "registrationEndDate": "2013-11-27T06:54:05.000Z", - "checkpointSubmissionEndDate": "2013-11-25T06:30:16.000Z", - "submissionEndDate": "2013-11-27T06:54:09.000Z", - "appealsEndDate": "2013-11-27T23:44:18.000Z", - "finalFixEndDate": "2013-11-27T23:44:18.000Z", - "submissionLimit": "3", - "sourceFileTypes": [ - { - "extension": "psd", - "description": "Adobe Photoshop" - }, - { - "extension": "ai", - "description": "Adobe Illustrator" - } - ], - "submissionsViewable": "true", - "reviewType": "PEER, COMMUNITY, or INTERNAL", - "downloads": [ - { - "docId": 12345678, - "name": "design_guide.pdf", - "description": "Standard Design Guide" - }, - { - "docId": 87654321, - "name": "sample.doc", - "description": "Sample of what we want." - } - ], - "currentPhaseEndDate": "-000001-11-30T00:00:00.000Z", - "currentStatus": "Completed", - "currentPhaseName": "", - "currentPhaseRemainingTime": 0, - "digitalRunPoints": 625, - "challengeCommunity": "design", - "directUrl": "https://www.topcoder.com/direct/contest/detail.action?projectId=30036283", - "prize": [ - 1500, - 500 - ], - "generalCheckpointFeedback": "This is general feedback from all competitors.", - "checkpoints": [ - { - "submissionId": 162433, - "submitter": "t3uku", - "submissionTime": "2013-11-24T11:36:23.000Z", - "feedback": "This is the checkpoint feedback.", - "totalImages": 18 - }, - { - "submissionId": 162470, - "submitter": "CoralBlue", - "submissionTime": "2013-11-25T06:24:16.000Z", - "feedback": "This is the checkpoint feedback.", - "totalImages": 18 - }, - { - "submissionId": 162464, - "submitter": "thinkcreeper", - "submissionTime": "2013-11-25T02:36:01.000Z", - "feedback": "This is the checkpoint feedback.", - "totalImages": 18 - } - ], - "submissions": [ - { - "submissionId": 162533, - "submitter": "t3uku", - "submissionTime": "2013-11-26T22:14:01.000Z", - "totalImages": 18 - }, - { - "submissionId": 162559, - "submitter": "CoralBlue", - "submissionTime": "2013-11-27T06:46:15.000Z", - "totalImages": 18 - }, - { - "submissionId": 162555, - "submitter": "thinkcreeper", - "submissionTime": "2013-11-27T05:11:19.000Z", - "totalImages": 18 - } - ], - "winners": [ - { - "submissionId": 162555, - "submitter": "thinkcreeper", - "submissionTime": "2013-11-27T05:11:19.000Z", - "totalImages": 18, - "placement": 1, - "prize": "1500" - }, - { - "submissionId": 162111, - "submitter": "iamtong", - "submissionTime": "2013-11-26T05:11:19.000Z", - "totalImages": 14, - "placement": 2, - "prize": "600" - } - ], - "Documents": [ - { - "documentName": "document 1", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400000" - }, - { - "documentName": "document 2", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400001" - }, - { - "documentName": "document 3", - "url": "http://community.topcoder.com/tc?module=DownloadDocument&docid=30400002" - } - ], - "phases": [ - { - "type": "Registration", - "status": "Open", - "scheduledStartTime": "2013-12-05T12:22:07.000Z", - "actualStartTime": "2013-12-05T12:22:07.000Z", - "scheduledEndTime": "2013-12-05T12:22:07.000Z", - "actualEndTime": null - }, - { - "type": "Submission", - "status": "Scheduled", - "scheduledStartTime": "2013-12-05T12:22:07.000Z", - "actualStartTime": null, - "scheduledEndTime": "2013-12-05T12:22:07.000Z", - "actualEndTime": null - } - ], - "event": { - "id": 3437, - "description": "TCO" - } - } - -+ Response 400 (application/json) - - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - } - -+ Response 404 (application/json) - - { - "name":"Not Found", - "value":"404", - "description":"This message will explain why the URI requested is invalid or the resource does not exist." - } - -+ Response 500 (application/json) - - { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." - } - -+ Response 503 (application/json) - - { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." - } - ## Get Studio Challenge Result [/design/challenges/result/{challengeId}] ### Get Studio Challenge Result [GET] @@ -6268,7 +5946,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -##Design Review Opportunities [/design/reviewOpportunities?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +##Design Review Opportunities [/design/reviewOpportunities?{filter}={value}{&pageIndex}{&pageSize}{&sortColumn}{&sortOrder}] ### Get Design Review Opportunities [GET] + Parameters @@ -6573,7 +6251,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Studio Member Recent Winning Submissions [/users/{handle}/statistics/design/recentWins?numberOfRecentWins={numberOfRecentWins}] +## Studio Member Recent Winning Submissions [/users/{handle}/statistics/design/recentWins{?numberOfRecentWins}] ### Studio Member Recent Winning Submissions [GET] + Parameters @@ -6928,7 +6606,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get SRM Rounds For Problem [/data/srm/problems/:problemId/rounds] +## Get SRM Rounds For Problem [/data/srm/problems/{problemId}/rounds] ### Get SRM Rounds For Problem [GET] + Parameters @@ -7037,7 +6715,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## View Algorithm SRM Challenges [/data/srm/challenges?listType={listType}&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## View Algorithm SRM Challenges [/data/srm/challenges?{filter}={value}{&listType}{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}] ### View Algorithm SRM Challenges [GET] + Parameters @@ -7131,7 +6809,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get SRM Practice Problems [/data/srm/practice/problems?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&problemId={problemId}&problemName={problemName}&problemTypes={problemTypes}&statuses={statuses}&myPointsLowerBound={myPointsLowerBound}&myPointsUpperBound={myPointsUpperBound}&pointsUpperBound={pointsUpperBound}&pointsLowerBound={pointsLowerBound}] +## Get SRM Practice Problems [/data/srm/practice/problems{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}{?problemId}{?problemName}{?problemTypes}{?statuses}{?myPointsLowerBound}{?myPointsUpperBound}{?pointsUpperBound}{?pointsLowerBound}{?difficulty}] ### Get SRM Practice Problems [GET] + Parameters @@ -7312,7 +6990,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get SRM Schedule [/data/srm/schedule?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&statuses={statuses}&types={types}®istrationStartTimeBefore={registrationStartTimeBefore}®istrationEndTimeBefore={registrationEndTimeBefore}&codingStartTimeBefore={codingStartTimeBefore}&codingEndTimeBefore={codingEndTimeBefore}&intermissionStartTimeBefore={intermissionStartTimeBefore}&intermissionEndTimeBefore={intermissionEndTimeBefore}&challengeStartTimeBefore={challengeStartTimeBefore}&challengeEndTimeBefore={challengeEndTimeBefore}&systestStartTimeBefore={systestStartTimeBefore}&systestEndTimeBefore={systestEndTimeBefore}®istrationStartTimeAfter={registrationStartTimeAfter}®istrationEndTimeAfter={registrationEndTimeAfter}&codingStartTimeAfter={codingStartTimeAfter}&codingEndTimeAfter={codingEndTimeAfter}&intermissionStartTimeAfter={intermissionStartTimeAfter}&intermissionEndTimeAfter={intermissionEndTimeAfter}&challengeStartTimeAfter={challengeStartTimeAfter}&challengeEndTimeAfter={challengeEndTimeAfter}&systestStartTimeAfter={systestStartTimeAfter}&systestEndTimeAfter={systestEndTimeAfter}] +## Get SRM Schedule [/data/srm/schedule{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}{?statuses}{?types}{?registrationStartTimeBefore}{?registrationEndTimeBefore}{?codingStartTimeBefore}{?codingEndTimeBefore}{?intermissionStartTimeBefore}{?intermissionEndTimeBefore}{?challengeStartTimeBefore}{?challengeEndTimeBefore}{?systestStartTimeBefore}{?systestEndTimeBefore}{?registrationStartTimeAfter}{?registrationEndTimeAfter}{?codingStartTimeAfter}{?codingEndTimeAfter}{?intermissionStartTimeAfter}{?intermissionEndTimeAfter}{?challengeStartTimeAfter}{?challengeEndTimeAfter}{?systestStartTimeAfter}{?systestEndTimeAfter}] ### Get SRM Schedule [GET] + Parameters @@ -7795,7 +7473,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## View Algorithm Marathon Challenges [/data/marathon/challenges?listType={listType}&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## View Algorithm Marathon Challenges [/data/marathon/challenges?{filter}={value}{&listType}{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}] ### View Algorithm Marathon Challenges [GET] + Parameters @@ -7875,7 +7553,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## View Past Data Science Challenges [/dataScience/challenges/past?pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## View Past Data Science Challenges [/dataScience/challenges/past{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}{?submissionEndFrom}{?submissionEndTo}] ### View Past Data Science Challenges [GET] + Parameters @@ -8037,7 +7715,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## View Active Data Science Challenges [/dataScience/challenges/active?submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## View Active Data Science Challenges [/dataScience/challenges/active{?submissionEndFrom}{?submissionEndTo}] ### View Active Data Science Challenges [GET] + Parameters @@ -8127,7 +7805,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## View Upcoming Data Science Challenges [/dataScience/challenges/upcoming?submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## View Upcoming Data Science Challenges [/dataScience/challenges/upcoming{?submissionEndFrom}{?submissionEndTo}] ### View Upcoming Data Science Challenges [GET] + Parameters @@ -8408,19 +8086,21 @@ Request } ## Create SRM Contest Round API [/data/srm/rounds] -### Create SRM Contest Round API [POST] (application/json) +### Create SRM Contest Round API [POST] -+ Parameters - + contest_id (required, integer) round's contest_id - + invitaitonalType (required, integer) round's invitaitonalType - + registrationLimit (required, integer) round's registrationLimit - + name (required, string) round's name - + short_name (required, string) round's short_name - + status (required, string) round's status - * type (required, object) round's type, it's id should be set. - * region (required, object) round's region, it's id should be set. - * roomAssignment (required, object) round's roomAssginment, with field codersPerRoom(integer), type(integer), isByDivision, isByRegion, isFinal(boolean), p(Number). - * auto_end (optional, boolean) auto end flag ++ Attributes + + contest_id (required, integer) - round's contest_id + + invitaitonalType (required, number) - round's invitaitonalType + + registrationLimit (required, number) - round's registrationLimit + + name (required, string) - round's name + + short_name (required, string) - round's short_name + + status (required, string) - round's status + + type (required, object) - round's type, it's id should be set. + + region (required, object) - round's region, it's id should be set. + + roomAssignment (required, object) - round's roomAssginment, with field codersPerRoom(integer), type(integer), isByDivision, isByRegion, isFinal(boolean), p(Number). + + auto_end (optional, boolean) - auto end flag + ++ Request Create SRM Contest Round API (application/json) + Response 200 (application/json) @@ -8469,20 +8149,25 @@ Request } ## Modify SRM Contest Round API [/data/srm/rounds/{oldRoundId}] -### Modify SRM Contest Round API [PUT] (application/json) +### Modify SRM Contest Round API [PUT] + Parameters - + contest_id (required, integer) round's contest_id - + oldRoundId (required, integer) modifying round's id - + id (required, integer) round's id - + invitaitonalType (required, integer) round's invitaitonalType - + registrationLimit (required, integer) round's registrationLimit - + name (required, string) round's name - + short_name (required, string) round's short_name - + status (required, string) round's status - * type (required, object) round's type, it's id should be set. - * region (required, object) round's region, it's id should be set. - * roomAssignment (required, object) round's roomAssginment, with field codersPerRoom(integer), type(integer), isByDivision, isByRegion, isFinal(boolean), p(Number). + + oldRoundId (required, number) - modifying round's id + ++ Attributes + + contest_id (required, number) - round's contest_id + + oldRoundId (required, number) - modifying round's id + + id (required, number) - round's id + + invitaitonalType (required, number) - round's invitaitonalType + + registrationLimit (required, number) - round's registrationLimit + + name (required, string) - round's name + + short_name (required, string) - round's short_name + + status (required, string) - round's status + * type (required, object) - round's type, it's id should be set. + * region (required, object) - round's region, it's id should be set. + * roomAssignment (required, object) - round's roomAssginment, with field codersPerRoom(integer), type(integer), isByDivision, isByRegion, isFinal(boolean), p(Number). + ++ Request Modify SRM Contest Round API (application/json) + Response 200 (application/json) @@ -8552,7 +8237,7 @@ Request ### Delet SRM Contest Round API [DELETE] + Parameters - + roundId (required, integer) deleting round's id + + roundId (required, number) - deleting round's id + Response 200 (application/json) @@ -9453,7 +9138,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Top Ranked Marathon Members [/data/marathon/statistics/tops?rankType={rankType}] +## Top Ranked Marathon Members [/data/marathon/statistics/tops{?rankType}] ### Top Ranked Marathon Members [GET] + Parameters @@ -9552,7 +9237,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Top Ranked SRM Members [/data/srm/statistics/tops?rankType={rankType}&pageIndex={pageIndex}&pageSize={pageSize}] +## Top Ranked SRM Members [/data/srm/statistics/tops{?rankType}{?pageIndex}{?pageSize}] ### Top Ranked SRM Members [GET] + Parameters @@ -9850,12 +9535,12 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Terms of Use for a challenge [/terms/{challengeId}] +## Terms of Use for a challenge [/terms/{challengeId}{?role}] ### Terms of Use for a challenge [GET] + Parameters + challengeId (required, number, `1234567`) ... The challenge for which to get terms of use - + role (optional, string, 'copilot') ... The role of the user + + role (optional, string, `copilot`) ... The role of the user + Response 200 (application/json) @@ -10200,39 +9885,113 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Get round terms of use [/data/srm/rounds/:roundId/terms] -### Get round terms of use by round id [GET] - -- Only when jwt passed can we get the round terms of use. +## Get terms details for an user [/terms/for/{userId}/{termsOfUseIds}] +### Get terms details for an user [GET] + Parameters - + roundId (required, number, `13672`) ... The id of round + + userId (required, number, `132458`) ... The id of the user + + termsOfUseIds (required, string, `40000001,40000002,40000003`) ... A single terms of use id or a comma-separated list of ids + Request - + + Headers - - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkzNjQzNTcxfQ.F2iohKp2nwjQeGqrBD1wn42GJUD0r28aGjhDle7KujA + + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3NtYS5hdXRoMC5jb20vIiwic3ViIjoiYWR8MTMyNDU2IiwiYXVkIjoiQ01hQnV3U25ZMFZ1NjhQTHJXYXR2dnUzaUlpR1BoN3QiLCJleHAiOjE1MDMwMTUyMzUsImlhdCI6MTQ2NzAxNTIzNX0.urwqVgAxShU2cAgSt67P3hsLdYb4xh9dxuGS-_ZNFzE + Response 200 (application/json) { - "roundTermsContent": "The round terms content..." + "terms": [ + { + "type": "General Product Terms of Use", + "agreeabilityType": "Electronically-agreeable", + "agreed": true, + "text": "This is the Node API Sample Term Of Use 1.", + "title": "NodeJS API Sample Term Of Use 1", + "termsOfUseId": 40000001, + "url": "http://topcoder.com/tou40000001.txt" + }, + { + "type": "Product Terms Of Use", + "agreeabilityType": "Electronically-agreeable", + "agreed": true, + "text": "This is the Node API Sample Term Of Use 2.", + "title": "NodeJS API Sample Term Of Use 2", + "termsOfUseId": 40000002, + "url": "http://topcoder.com/tou40000002.txt" + }, + { + "type": "Site Terms of Use", + "agreeabilityType": "Electronically-agreeable", + "agreed": false, + "text": "This is the Node API Sample Term Of Use 3.", + "title": "NodeJS API Sample Term Of Use 3", + "termsOfUseId": 40000003, + "url": "http://topcoder.com/tou40000003.txt" + }, + { + "type": "Corp Site Terms of Use", + "agreeabilityType": "Non-electronically-agreeable", + "agreed": false, + "text": "This is the Node API Sample Term Of Use 4.", + "title": "NodeJS API Sample Term Of Use 4", + "termsOfUseId": 40000004, + "url": "http://topcoder.com/tou40000004.txt" + }, + { + "type": "Contest", + "agreeabilityType": "Non-electronically-agreeable", + "agreed": false, + "text": "This is the Node API Sample Term Of Use 5.", + "title": "NodeJS API Sample Term Of Use 5", + "termsOfUseId": 40000005, + "url": "http://topcoder.com/tou40000005.txt" + } + ] + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "User ID should be positive." + } + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Each Terms Of Use ID should be number." + }, } + + Response 401 (application/json) { - "name":"Unauthorized", - "value":"401", - "description":"Authentication credentials were missing or incorrect." + "error": { + "name": "Unauthorized", + "value": 401, + "description": "Authentication credentials were missing or incorrect.", + "details": "Authentication credential was missing." + } } -+ Response 404 (application/json) ++ Response 403 (application/json) { - "name":"Not Found", - "value":"404", - "description":"This message will explain why the URI requested is invalid or the resource does not exist." + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "This user cannot get these data of other users" + }, } + Response 500 (application/json) @@ -10251,13 +10010,13 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Agree terms of use [/terms/{termsOfUseId}/agree] -### Agree terms of use by id [POST] +## Get round terms of use [/data/srm/rounds/{roundId}/terms] +### Get round terms of use by round id [GET] -- Only when jwt passed can we agree the terms of use. +- Only when jwt passed can we get the round terms of use. + Parameters - + termsOfUseId (required, number, `534532`) ... The id of terms of use + + roundId (required, number, `13672`) ... The id of round + Request @@ -10268,52 +10027,14 @@ Request + Response 200 (application/json) { - "success": true - } - -+ Response 400 (application/json) - - { - "name":"Bad Request", - "value":"400", - "description":"The request was invalid. An accompanying message will explain why." - "details":"The term is not electronically agreeable." - } - -+ Response 400 (application/json) - - { - "name":"Bad Request", - "value":"400", - "description":"The request was invalid. An accompanying message will explain why." - "details":"You have agreed to this terms of use before." - } - -+ Response 400 (application/json) - - { - "name":"Bad Request", - "value":"400", - "description":"The request was invalid. An accompanying message will explain why." - "details":"You can't agree to this terms of use before you have agreed to all the dependencies terms of use." + "roundTermsContent": "The round terms content..." } - + Response 401 (application/json) { "name":"Unauthorized", "value":"401", "description":"Authentication credentials were missing or incorrect." - "details":"Authentication credential was missing." - } - -+ Response 403 (application/json) - - { - "name":"Forbidden", - "value":"403", - "description":"The request is understood, but it has been refused or access is not allowed." - "details":"Sorry, you can not agree to this terms of use." } + Response 404 (application/json) @@ -10322,10 +10043,8 @@ Request "name":"Not Found", "value":"404", "description":"This message will explain why the URI requested is invalid or the resource does not exist." - "details:":"No such terms of use exists." } - + Response 500 (application/json) { @@ -10342,13 +10061,221 @@ Request "description":"Servers are up but overloaded. Try again later." } -## My Submissions [/challenges/submissions/{challengeId}/mySubmissions] -### My Submissions [GET] +### Set Round Terms API [POST] + Parameters - + challengeId (required, number, `30005520`) ... The challenge id. + + roundId (required, number, `1000001`) ... The id of the round to set. -+ Response 200 (application/json) ++ Attributes + + terms: 'test terms' (required, string) ... The terms parameter. + ++ Request Set Round Terms API (application/json) + + + Headers + + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + ++ Response 200 (application/json) + + { + "success": true + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The round terms should not be empty." + } + } + ++ Response 401 (application/json) + + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + ++ Response 403 (application/json) + + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + ++ Response 500 (application/json) + + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } + } + ++ Response 503 (application/json) + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } + } + +## Agree terms of use [/terms/{termsOfUseId}/agree] +### Agree terms of use by id [POST] + +- Only when jwt passed can we agree the terms of use. + ++ Parameters + + termsOfUseId (required, number, `534532`) ... The id of terms of use + ++ Request + + + Headers + + Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTM3MDM1NzEsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkzNjQzNTcxfQ.F2iohKp2nwjQeGqrBD1wn42GJUD0r28aGjhDle7KujA + ++ Response 200 (application/json) + + { + "success": true + } + ++ Response 400 (application/json) + + { + "name":"Bad Request", + "value":"400", + "description":"The request was invalid. An accompanying message will explain why." + "details":"The term is not electronically agreeable." + } + ++ Response 400 (application/json) + + { + "name":"Bad Request", + "value":"400", + "description":"The request was invalid. An accompanying message will explain why." + "details":"You have agreed to this terms of use before." + } + ++ Response 400 (application/json) + + { + "name":"Bad Request", + "value":"400", + "description":"The request was invalid. An accompanying message will explain why." + "details":"You can't agree to this terms of use before you have agreed to all the dependencies terms of use." + } + ++ Response 401 (application/json) + + { + "name":"Unauthorized", + "value":"401", + "description":"Authentication credentials were missing or incorrect." + "details":"Authentication credential was missing." + } + ++ Response 403 (application/json) + + { + "name":"Forbidden", + "value":"403", + "description":"The request is understood, but it has been refused or access is not allowed." + "details":"Sorry, you can not agree to this terms of use." + } + ++ Response 404 (application/json) + + { + "name":"Not Found", + "value":"404", + "description":"This message will explain why the URI requested is invalid or the resource does not exist." + "details:":"No such terms of use exists." + } + + ++ Response 500 (application/json) + + { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } + ++ Response 503 (application/json) + + { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } + +## My Submissions [/challenges/submissions/{challengeId}/mySubmissions] +### My Submissions [GET] + ++ Parameters + + challengeId (required, number, `30005520`) ... The challenge id. + ++ Response 200 (application/json) { "submissions": [ @@ -10433,7 +10360,7 @@ Request # Group Members API -## Search members by handle [/users/search?handle={handle}&pageIndex={pageIndex}&pageSize={pageSize}&caseSensitive={caseSensitive}] +## Search members by handle [/users/search{?handle}{?pageIndex}{?pageSize}{?caseSensitive}] ### Search members by handle [GET] + Parameters @@ -10444,58 +10371,58 @@ Request + Response 200 (application/json) - { - "total": 2, - "pageIndex": 1, - "pageSize": 10, - "users": - [ - { - "handle": "Hung", - "userId": 124764 - }, - { - "handle": "heffan", - "userId": 132456 - } - ] - } + { + "total": 2, + "pageIndex": 1, + "pageSize": 10, + "users": + [ + { + "handle": "Hung", + "userId": 124764 + }, + { + "handle": "heffan", + "userId": 132456 + } + ] + } + Response 400 (application/json) - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - "details:":"caseSensitive should be 'true' or 'false'." - } + { + "name":"Bad Request", + "value":"400", + "description":"This message will explain why the request is invalid or cannot be served." + "details:":"caseSensitive should be 'true' or 'false'." + } + Response 400 (application/json) - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - "details:":"pageIndex should be positive." - } + { + "name":"Bad Request", + "value":"400", + "description":"This message will explain why the request is invalid or cannot be served." + "details:":"pageIndex should be positive." + } + Response 400 (application/json) - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - "details:":"pageSize should be positive." - } + { + "name":"Bad Request", + "value":"400", + "description":"This message will explain why the request is invalid or cannot be served." + "details:":"pageSize should be positive." + } + Response 400 (application/json) - { - "name":"Bad Request", - "value":"400", - "description":"This message will explain why the request is invalid or cannot be served." - "details:":"handle should be non-null and non-empty string." - } + { + "name":"Bad Request", + "value":"400", + "description":"This message will explain why the request is invalid or cannot be served." + "details:":"handle should be non-null and non-empty string." + } + Response 500 (application/json) @@ -10513,7 +10440,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Check Email Availability [/users/validateEmail?email={email}] +## Check Email Availability [/users/validateEmail{?email}] ### Check Email Availability [GET] + Parameters @@ -10544,12 +10471,12 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Software Copilot Statistics [/copilots/{handle}/statistics/develop?track={track}] +## Software Copilot Statistics [/copilots/{handle}/statistics/develop{?track}] ### Software Copilot Statistics [GET] + Parameters + handle (required, string, `iRabbit`) ... Member Handle - + track (optional, string, 'development') ... The track name + + track (optional, string, `development`) ... The track name + Response 200 (application/json) @@ -10611,12 +10538,12 @@ Request - Only when jwt passed can we use this api -+ Parameters - + templateId (required, UUID, `E12C78DE-67B1-4150-BEC8-C44CE20A2F0B`) ... The template id - + tabs (optional, String, `Handle||anix`) ... The default values to set for the tabs. Double pipe delimited. Multiple such parameters can be sent. - + returnUrl (optional, String, `http://localhost:8080/v2/terms/docusign/returnSigning&envelopeId=`) ... The return url. ++ Attributes + + templateId: `E12C78DE-67B1-4150-BEC8-C44CE20A2F0B` (required, string) ... The template id + + tabs: `Handle||anix` (optional, string) ... The default values to set for the tabs. Double pipe delimited. Multiple such parameters can be sent. + + returnUrl: `http://localhost:8080/v2/terms/docusign/returnSigning&envelopeId=` (optional, string) ... The return url. -+ Request ++ Request Docusign Recipient View URL (application/json) + Headers @@ -10670,7 +10597,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Top Track Members [/users/tops/{trackType}?pageIndex={pageIndex}&pageSize={pageSize}] +## Top Track Members [/users/tops/{trackType}{?pageIndex}{?pageSize}] ### Top Track Members [GET] + Parameters @@ -10748,7 +10675,7 @@ Request # Group Download API -## Download Documents API [/download/document/{docid}?challengeId={challengeId}] +## Download Documents API [/download/document/{docid}{?challengeId}] ### Download Documents API [GET] + Parameters @@ -10797,11 +10724,11 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Download Design Submissions API [/design/download/{submissionId}?submissionType={submissionType}] +## Download Design Submissions API [/design/download/{submissionId}{?submissionType}{?submissionImageTypeId}{?submissionFileIndex}] ### Download Design Submissions API [GET] + Parameters - + submission (required, number, `123456`) ... The submission id. + + submissionId (required, number, `123456`) ... The submission id. + submissionType (required, string, `preview`) ... The submission type should be preview or original + submissionImageTypeId (optional) ... The image type id, 25, 26, 28, 29, 30, 31 for tiny, thumb, small, medium and full + submissionFileIndex (optional) ... THe file index @@ -10848,7 +10775,7 @@ Request "description":"Servers are up but overloaded. Try again later." } -## Download Develop Submissions API [/develop/download/{submissionId}] +## Download Develop Submissions API [/develop/download/{submissionId}{?username}{?password}] ### Download Develop Submissions API [GET] + Parameters @@ -10913,6 +10840,7 @@ Payments APIs } + Response 200 (application/json) + { "paymentAccrualAmount": 43, "paymentMethod": "Western Union" @@ -10956,10 +10884,10 @@ Payments APIs } ### Payment Preference [POST] -+ Parameters - + paymentMethod (required, string, `Western Union`) ... Payment Method: PayPal, Western Union, Payoneer - + paypalAccountEmail (optional, string, if paymentMethods === "PayPal", else prohibited, must not exceed 100 characters, `heffan@gmail.com`) ... Email address of PayPal account - + paymentAccrualAmount (optional, integer, must be greater than or equal to 25, `100`) ... Accrual amount to be paid ++ Attrtibutes + + paymentMethod: `Western Union` (required, string) ... Payment Method: PayPal, Western Union, Payoneer + + paypalAccountEmail: `heffan@gmail.com` (optional, string) ... Email address of PayPal account (if paymentMethods === "PayPal", else prohibited, must not exceed 100 characters) + + paymentAccrualAmount: `100` (optional, number) ... Accrual amount to be paid (must be greater than or equal to 25) + Response 200 (application/json) @@ -11106,7 +11034,7 @@ Payments APIs -## Payment List [/payments?type={type}&status={status}&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}] +## Payment List [/payments{?type}{?status}{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}] ### Payment List [GET] + Parameters @@ -11121,7 +11049,7 @@ Payments APIs + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) @@ -11275,13 +11203,14 @@ Payments APIs ## Docusign Callback [/terms/docusignCallback] ### Docusign Callback [POST] -+ Parameters - + envelopeStatus (required, String, `Complete`) ... The status of the envelope - + envelopeId (required, UUID, `9103DC77-D8F1-4D7B-BED1-6116604EE98C`) ... The envelope to process - + tabs (required, Array, [{tabLabel: 'Handle', tabValue: 'anix'}, {...}]) ... The tab values. Can be empty - + connectKey (required, String, 'ABCDED-12435-EDFADSEC') The conenct key ++ Attributes + + envelopeStatus: `Complete` (required, string) ... The status of the envelope + + envelopeId: `9103DC77-D8F1-4D7B-BED1-6116604EE98C` (required, string) ... The envelope to process + + tabs (required, array) ... The tab values. [{tabLabel: 'Handle', tabValue: 'anix'}, {...}]. Can be empty. + + connectKey: 'ABCDED-12435-EDFADSEC' (required, string) ... The conenct key + Response 200 (application/json) + { "message": "some message" } @@ -11318,7 +11247,7 @@ Payments APIs "description":"Servers are up but overloaded. Try again later." } -## Auth0 Callback API [/auth0/callback] +## Auth0 Callback API [/auth0/callback{?code}{?state}] ### Auth0 Callback API [GET] + Parameters @@ -11428,791 +11357,792 @@ Managing SRM Contests APIs + Response 200 (application/json) -[ - { - "contestId": 1000, - "name": "SRM 67 DIV 2", - "startDate": null, - "endDate": null, - "status": "A", - "groupId": -1, - "adText": null, - "adStart": null, - "adEnd": null, - "adTask": null, - "adCommand": null, - "activateMenu": null, - "season": null - }, - { - "contestId": 1001, - "name": "Name 1", - "startDate": "2014-06-02 09:00", - "endDate": "2014-06-12 09:00", - "status": "A", - "groupId": -1, - "adText": "Ad Text 1", - "adStart": "2014-06-03 09:00", - "adEnd": "2014-06-08 09:00", - "adTask": "Ad Task 1", - "adCommand": "Ad Command 1", - "activateMenu": 0, - "season": { - "seasonId": 3001, - "name": "Season 1" - } - } -] + [ + { + "contestId": 1000, + "name": "SRM 67 DIV 2", + "startDate": null, + "endDate": null, + "status": "A", + "groupId": -1, + "adText": null, + "adStart": null, + "adEnd": null, + "adTask": null, + "adCommand": null, + "activateMenu": null, + "season": null + }, + { + "contestId": 1001, + "name": "Name 1", + "startDate": "2014-06-02 09:00", + "endDate": "2014-06-12 09:00", + "status": "A", + "groupId": -1, + "adText": "Ad Text 1", + "adStart": "2014-06-03 09:00", + "adEnd": "2014-06-08 09:00", + "adTask": "Ad Task 1", + "adCommand": "Ad Command 1", + "activateMenu": 0, + "season": { + "seasonId": 3001, + "name": "Season 1" + } + } + ] + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized access only." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized access only." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} - -## Create New Contest [/data/srm/contests] + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } ### Create New Contest [POST] -+ Parameters - + name (required, string, `Name`) ... The contest name. - + startDate (string, `2014-06-01 09:00`) ... The contest start date. - + endDate (string, `2014-06-01 09:00`) ... The contest end date. - + status (string, has length 1, `A`) ... The contest status. - + groupId (number, `1`) ... The group id. - + adText (string, max length 250, `Ad Text`) ... The ad text. - + adStart (string, `2014-06-01 09:00`) ... The ad start. - + adEnd (string, `2014-06-01 09:00`) ... The ad end. - + adTask (string, max length 30 ,`Ad Task`) ... The ad task. - + adCommand (string, max length 30, `Ad Command`) ... The ad command. - + activateMenu (number, `0`) ... The activate menu flag. - + seasonId (number, `123456`) ... The season id. - -+ Response 200 (application/json) ++ Attributes + + name: `Name` (required, string) ... The contest name. + + startDate: `2014-06-01 09:00` (string) ... The contest start date. + + endDate: `2014-06-01 09:00` (string) ... The contest end date. + + status: `A` (string) ... The contest status. Has length 1. + + groupId: `1` (number) ... The group id. + + adText: `Ad Text` (string) ... The ad text, max length 250. + + adStart: `2014-06-01 09:00` (string) ... The ad start. + + adEnd: `2014-06-01 09:00` (string) ... The ad end. + + adTask: `Ad Task` (string) ... The ad task, max length 30. + + adCommand: `Ad Command` (string) ... The ad command, max length 30. + + activateMenu: `0` (number) ... The activate menu flag. + + seasonId: `123456` (number) ... The season id. - { - "contestId": 132678 - } ++ Request Create New Contest (application/json) -+ Response 400 (application/json) ++ Response 200 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name should be defined." - } -} + { + "contestId": 132678 + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name should be string." - } -} - -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name should be non-null and non-empty string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name should be defined." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of name must not exceed 50 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name should be non-null and non-empty string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "startDate is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of name must not exceed 50 characters." + } + } + ++ Response 400 (application/json) + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "endDate is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "startDate is not a valid date." + } + } + + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "startDate does not precede endDate." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "endDate is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "startDate does not precede endDate." + } + } ++ Response 400 (application/json) + + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status must be of length 1" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status must be of length 1" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status unknown." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "groupId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "groupId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "groupId is unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "groupId is unknown." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adText should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adText should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adText must not exceed 250 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adText must not exceed 250 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adText contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adText contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adStart is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adStart is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adEnd is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adEnd is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adStart does not precede adEnd." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adStart does not precede adEnd." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adTask should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adTask should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adTask must not exceed 30 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adTask must not exceed 30 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adTask contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adTask contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adCommand should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adCommand should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adCommand must not exceed 30 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adCommand must not exceed 30 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adCommand contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adCommand contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "activateMenu should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "activateMenu should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "seasonId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "seasonId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "seasonId is unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "seasonId is unknown." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized access only." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized access only." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } ## Modify Contest [/data/srm/contests/{id}] ### Modify Contest [PUT] -+ Parameters - + id (required, number, `123456`) ... The id of the contest to be modified. - + name (required, string, `Name`) ... The new contest name. - + contestId (required, number, `123456`) ... The new contest id. - + startDate (string, `2014-06-01 09:00`) ... The new contest start date. - + endDate (string, `2014-06-01 09:00`) ... The new contest end date. - + status (string, has length 1, `A`) ... The new contest status. - + groupId (number, `1`) ... The new group id. - + adText (string, max length 250, `Ad Text`) ... The new ad text. - + adStart (string, `2014-06-01 09:00`) ... The new ad start. - + adEnd (string, `2014-06-01 09:00`) ... The new ad end. - + adTask (string, max length 30 ,`Ad Task`) ... The new ad task. - + adCommand (string, max length 30, `Ad Command`) ... The new ad command. - + activateMenu (number, `0`) ... The new activate menu flag. - + seasonId (number, `123456`) ... The new season id. ++ Attributes + + id: `123456` (required, number) ... The id of the contest to be modified. + + name: `Name` (required, string) ... The new contest name. + + contestId: `123456` (required, number) ... The new contest id. + + startDate: `2014-06-01 09:00` (string) ... The new contest start date. + + endDate: `2014-06-01 09:00` (string) ... The new contest end date. + + status: `A` (string) ... The new contest status, has length 1. + + groupId: `1` (number) ... The new group id. + + adText: `Ad Text` (string) ... The new ad text, max length 250. + + adStart: `2014-06-01 09:00` (string) ... The new ad start. + + adEnd: `2014-06-01 09:00` (string) ... The new ad end. + + adTask: `Ad Task` (string) ... The new ad task, max length 30. + + adCommand: `Ad Command` (string) ... The new ad command, max length 30. + + activateMenu: `0` (number) ... The new activate menu flag. + + seasonId: `123456` (number) ... The new season id. + ++ Request Modify Contest (application/json) + Response 200 (application/json) -{"success": true} + {"success": true} + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "id should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "id should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "id is unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "id is unknown." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "contestId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "contestId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of name must not exceed 50 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of name must not exceed 50 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "name contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "name contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "startDate is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "startDate is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "endDate is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "endDate is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "startDate does not precede endDate." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "startDate does not precede endDate." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status must be of length 1" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status must be of length 1" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "status unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "status unknown." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "groupId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "groupId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "groupId is unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "groupId is unknown." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adText should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adText should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adText must not exceed 250 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adText must not exceed 250 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adText contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adText contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adStart is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adStart is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adEnd is not a valid date." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adEnd is not a valid date." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adStart does not precede adEnd." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adStart does not precede adEnd." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adTask should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adTask should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adTask must not exceed 30 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adTask must not exceed 30 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adTask contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adTask contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adCommand should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adCommand should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Length of adCommand must not exceed 30 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Length of adCommand must not exceed 30 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "adCommand contains unescaped quotes." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "adCommand contains unescaped quotes." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "activateMenu should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "activateMenu should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "seasonId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "seasonId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "seasonId is unknown." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "seasonId is unknown." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized access only." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized access only." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } -## Set Survey API [/data/srm/rounds/:roundId/survey] +## Set Survey API [/data/srm/rounds/{roundId}/survey] ### Set Survey API [POST] @@ -12223,101 +12153,102 @@ Managing SRM Contests APIs + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## Get Round Questions API [/data/srm/rounds/:roundId/questions] +## Get Round Questions API [/data/srm/rounds/{roundId}/questions] ### Get Round Questions API [GET] @@ -12328,704 +12259,709 @@ Managing SRM Contests APIs + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "questions": [ { - "id": 1000032, - "keyword": "keyword1", - "status": { - "id": 1, - "description": "ACTIVE" - }, - "style": { - "id": 1, - "description": "Single Choice" - }, - "text": "text2", - "type": { - "id": 1, - "description": "SRM Survey" - }, - "isRequired": true + "questions": [ + { + "id": 1000032, + "keyword": "keyword1", + "status": { + "id": 1, + "description": "ACTIVE" + }, + "style": { + "id": 1, + "description": "Single Choice" + }, + "text": "text2", + "type": { + "id": 1, + "description": "SRM Survey" + }, + "isRequired": true + } + ] } - ] -} + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." - } -} -## Add Round Question API [/data/srm/rounds/:roundId/questions] + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } + } ### Add Round Question API [POST] + Parameters - + roundId (required, number, `13672`) ... The id of the round to set. - + text (required, text, `text1`) ... The text parameter. - + styleId (required, number, 1) ... The id of the style to set. - + typeId (required, number, 1) ... The id of the type to set. - + statusId (required, number, 1) ... The id of the status to set. - + keyword (optional, text, `keyword1`) ... The keyword parameter. - + isRequired (optional, boolean, true) ... The required flag. + + roundId (required, number, `13672`) ... The id of the round to set. -+ Request ++ Attributes + + text: `text1` (required, string) ... The text parameter. + + styleId: `1` (required, number) ... The id of the style to set. + + typeId: `1` (required, number) ... The id of the type to set. + + statusId: `1` (required, number) ... The id of the status to set. + + keyword: `keyword1` (optional, string) ... The keyword parameter. + + isRequired: `true` (optional, boolean) ... The required flag. + ++ Request Add Round Question API (application/json) + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text should be string.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text should be string.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text exceeds 2048 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text exceeds 2048 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "keyword should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "keyword should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "keyword exceeds 64 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "keyword exceeds 64 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The isRequired should be boolean type." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The isRequired should be boolean type." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The statusId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The statusId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The typeId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The typeId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The styleId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The styleId does not exist in database." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## Modify Round Question API [/data/srm/rounds/:questionId/questions] +## Modify Round Question API [/data/srm/rounds/{questionId}/questions] ### Modify Round Question API [PUT] + Parameters - + questionId (required, number, `1000001`) ... The id of the question to set. - + text (required, text, `text1`) ... The text parameter. - + styleId (required, number, 1) ... The id of the style to set. - + typeId (required, number, 1) ... The id of the type to set. - + statusId (required, number, 1) ... The id of the status to set. - + keyword (optional, text, `keyword1`) ... The keyword parameter. + + questionId (required, number, `1000001`) ... The id of the question to set. -+ Request ++ Attributes + + text: `text1` (required, string) ... The text parameter. + + styleId: `1` (required, number) ... The id of the style to set. + + typeId: `1` (required, number) ... The id of the type to set. + + statusId: `1` (required, number) ... The id of the status to set. + + keyword: `keyword1` (optional, string) ... The keyword parameter. + ++ Request Modify Round Question API (application/json) + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text should be string.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text should be string.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text exceeds 2048 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text exceeds 2048 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "keyword should be string." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "keyword should be string." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "keyword exceeds 64 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "keyword exceeds 64 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "statusId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "statusId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The statusId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The statusId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "typeId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "typeId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The typeId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The typeId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "styleId should be greater or equal to 0." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "styleId should be greater or equal to 0." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The styleId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The styleId does not exist in database." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## Delete Round Question API [/data/srm/rounds/:questionId/question] +## Delete Round Question API [/data/srm/rounds/{questionId}/question] ### Delete Round Question API [DELETE] @@ -13036,385 +12972,390 @@ Managing SRM Contests APIs + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be less or equal to 2147483647." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## Get Round Question Answers API [/data/srm/rounds/:questionId/answers] +## Get Round Question Answers API [/data/srm/rounds/{questionId}/answers] ### Get Round Question Answers API [GET] + Parameters - + questionId (required, number, `13672`) ... The id of the question to get. + + questionId (required, number, `13672`) ... The id of the question to get. + Request + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "answers": [ { - "id": 1000033, - "text": "text2", - "sortOrder": 1, - "correct": true + "answers": [ + { + "id": 1000033, + "text": "text2", + "sortOrder": 1, + "correct": true + } + ] } - ] -} + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be less or equal to 2147483647." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## Add Round Question Answer API [/data/srm/questions/:questionId/answers] +## Add Round Question Answer API [/data/srm/questions/{questionId}/answers] ### Add Round Question Answer API [POST] + Parameters - + questionId (required, number, `1000001`) ... The id of the question to set. - + text (required, text, `text1`) ... The text parameter. - + sortOrder (optional, number, 1) ... The sort order to set. - + correct (optional, boolean, true) ... The correct parameter. + + questionId (required, number, `1000001`) ... The id of the question to set. -+ Request ++ Attributes + + text: `text1` (required, string) ... The text parameter. + + sortOrder: `1` (optional, number) ... The sort order to set. + + correct: `true` (optional, boolean) ... The correct parameter. + ++ Request Add Round Question Answer API (application/json) + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "questionId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "questionId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text should be string.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text should be string.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "text exceeds 2048 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "text exceeds 2048 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "sortOrder should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "sortOrder should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "sortOrder should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "sortOrder should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "sortOrder should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "sortOrder should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The correct should be boolean type." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The correct should be boolean type." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} @@ -13426,487 +13367,490 @@ Managing SRM Contests APIs + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "problems": [ - { - "id": 10194, - "name": "BlackAndWhiteGame", - "type": { - "id": 3, - "description": "Long" - }, - "status": { - "id": 90, - "description": "Used" - } - }, { - "id": 10195, - "name": "TestProblem", - "type": { - "id": 1, - "description": "Single" - }, - "status": { - "id": 90, - "description": "Used" - } + "problems": [ + { + "id": 10194, + "name": "BlackAndWhiteGame", + "type": { + "id": 3, + "description": "Long" + }, + "status": { + "id": 90, + "description": "Used" + } + }, + { + "id": 10195, + "name": "TestProblem", + "type": { + "id": 1, + "description": "Single" + }, + "status": { + "id": 90, + "description": "Used" + } + } + ] } - ] -} + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## List Round Problems API [/data/srm/rounds/:roundId/problems] +## List Round Problems API [/data/srm/rounds/{roundId}/problems] ### List Round Problems API [GET] + Parameters - + roundId (required, number, `13672`) ... The id of the round to get. + + roundId (required, number, `13672`) ... The id of the round to get. + Request + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "assignedProblems": [ - { - "division": { - "id": 1, - "desc": "Division-I" - }, - "problemData": { - "id": 10194, - "name": "BlackAndWhiteGame", - "type": { - "id": 3, - "description": "Long" - }, - "status": { - "id": 90, - "description": "Used" - } - } - }, { - "division": { - "id": 2, - "desc": "Division-II" - }, - "problemData": { - "id": 10195, - "name": "TestProblem", - "type": { - "id": 1, - "description": "Single" + "assignedProblems": [ + { + "division": { + "id": 1, + "desc": "Division-I" + }, + "problemData": { + "id": 10194, + "name": "BlackAndWhiteGame", + "type": { + "id": 3, + "description": "Long" + }, + "status": { + "id": 90, + "description": "Used" + } + } }, - "status": { - "id": 90, - "description": "Used" + { + "division": { + "id": 2, + "desc": "Division-II" + }, + "problemData": { + "id": 10195, + "name": "TestProblem", + "type": { + "id": 1, + "description": "Single" + }, + "status": { + "id": 90, + "description": "Used" + } + } } - } + ] } - ] -} + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -## List Round Problem Components API [/data/srm/rounds/:roundId/components] +## List Round Problem Components API [/data/srm/rounds/{roundId}/components{?problemId}{?divisionId}] ### List Round Problem Components API [GET] + Parameters - + roundId (required, number, `13672`) ... The id of the round to get. - + problemId (optional, number, `10194`) ... The id of the problem to get. - + divisionId (optional, number, `2020`) ... The id of the division to get. + + roundId (required, number, `13672`) ... The id of the round to get. + + problemId (optional, number, `10194`) ... The id of the problem to get. + + divisionId (optional, number, `2020`) ... The id of the division to get. + Request + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "components": [ { - "difficulty": { - "id": 1, - "desc": "Level One" - }, - "division": { - "id": 1, - "desc": "Division-I" - }, - "openOrder": 0, - "pointValue": 500, - "componentData": { - "id": 2020, - "problemId": 10194, - "className": "BlackAndWhiteGame", - "methodName": "displayTestCase", - "resultType": "String", - "paramTypes": [ - "String" - ], - "type": { - "id": 2, - "description": "Supporting Component" - } - }, - "submitOrder": 0 - }, - { - "difficulty": { - "id": 1, - "desc": "Level One" - }, - "division": { - "id": 2, - "desc": "Division-II" - }, - "openOrder": 0, - "pointValue": 250, - "componentData": { - "id": 2021, - "problemId": 10195, - "className": "TestProblem", - "methodName": "sum", - "resultType": "int", - "paramTypes": [ - "int", - "int" - ], - "type": { - "id": 1, - "description": "Main Component" + "components": [ + { + "difficulty": { + "id": 1, + "desc": "Level One" + }, + "division": { + "id": 1, + "desc": "Division-I" + }, + "openOrder": 0, + "pointValue": 500, + "componentData": { + "id": 2020, + "problemId": 10194, + "className": "BlackAndWhiteGame", + "methodName": "displayTestCase", + "resultType": "String", + "paramTypes": [ + "String" + ], + "type": { + "id": 2, + "description": "Supporting Component" + } + }, + "submitOrder": 0 + }, + { + "difficulty": { + "id": 1, + "desc": "Level One" + }, + "division": { + "id": 2, + "desc": "Division-II" + }, + "openOrder": 0, + "pointValue": 250, + "componentData": { + "id": 2021, + "problemId": 10195, + "className": "TestProblem", + "methodName": "sum", + "resultType": "int", + "paramTypes": [ + "int", + "int" + ], + "type": { + "id": 1, + "description": "Main Component" + } + }, + "submitOrder": 0 } - }, - "submitOrder": 0 + ] } - ] -} + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "problemId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "problemId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "problemId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "problemId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "problemId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "problemId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "problemId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "problemId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "Both problemId and divisionId should be provided if you provided one of them." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "Both problemId and divisionId should be provided if you provided one of them." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} # Group SRM Round Configuration APIs Managing SRM Round Configuration APIs @@ -13916,164 +13860,167 @@ Managing SRM Round Configuration APIs ### Set Round Room Assignment [POST] + Parameters - + roundId (required, number, `123456`) ... The round id for the room to be assigned - + isByDivision (number, `1`) ... The isByDivision flag - + isByRegion (number, `1`) ... The isByRegion flag - + isFinal (number, `1`) ... The isFinal flag - + type (number, `1`) ... The algorithm seeding - + seasonId (number, `10`) ... The number of coders per room - + p (number, `1.1`) ... The p value + + roundId (required, number, `123456`) ... The round id for the room to be assigned + ++ Attributes + + isByDivision: `1` (number) ... The isByDivision flag + + isByRegion: `1` (number) ... The isByRegion flag + + isFinal: `1` (number) ... The isFinal flag + + type: `1` (number) ... The algorithm seeding + + seasonId: `10` (number) ... The number of coders per room + + p: `1.1` (number) ... The p value ++ Request Set Round Room Assignment (application/json) + Response 200 (application/json) -{ - success: true -} + { + success: true + } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId does not have a round room assignment.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId does not have a round room assignment.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be less or equal to 999999999.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be less or equal to 999999999.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'codersPerRoom should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'codersPerRoom should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'codersPerRoom should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'codersPerRoom should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'codersPerRoom should be less or equal to 9999.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'codersPerRoom should be less or equal to 9999.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'type should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'type should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'type should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'type should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'type should be an element of 1,2,3,4,5,6,7,8,9,10.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'type should be an element of 1,2,3,4,5,6,7,8,9,10.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'isByDivision should be an element of 0,1.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'isByDivision should be an element of 0,1.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'isByRegion should be an element of 0,1.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'isByRegion should be an element of 0,1.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'isFinal should be an element of 0,1.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'isFinal should be an element of 0,1.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'p must be a floating point number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'p must be a floating point number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'Precision of p must not exceed (10,2).' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'Precision of p must not exceed (10,2).' } } + Response 401 (application/json) -{ error: - { name: 'Unauthorized', - value: 401, - description: 'Authentication credentials were missing or incorrect.', - details: 'Authorized access only.' } } + { error: + { name: 'Unauthorized', + value: 401, + description: 'Authentication credentials were missing or incorrect.', + details: 'Authorized access only.' } } + Response 403 (application/json) -{ error: - { name: 'Forbidden', - value: 403, - description: 'The request is understood, but it has been refused or access is not allowed.', - details: 'Admin access only.' } } + { error: + { name: 'Forbidden', + value: 403, + description: 'The request is understood, but it has been refused or access is not allowed.', + details: 'Admin access only.' } } + Response 500 (application/json) @@ -14096,90 +14043,94 @@ Managing SRM Round Configuration APIs ### Set Round Room Language [POST] + Parameters - + roundId (required, number, `123456`) ... The round id - + languages (required, Array, [1, 3]) ... The array of language ids to be assigened to the room + + roundId (required, number, `123456`) ... The round id + ++ Attributes + + languages, `[1, 3]` (required, array) ... The array of language ids to be assigened to the room + ++ Request Set Round Room Language (application/json) + Response 200 (application/json) -{ - success: true -} + { + success: true + } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId unknown.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId unknown.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be less or equal to 999999999.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be less or equal to 999999999.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'languages must be an array.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'languages must be an array.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'language should be an element of 1,3,4,5,6,7.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'language should be an element of 1,3,4,5,6,7.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'Array size exceeds number of known languages.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'Array size exceeds number of known languages.' } } + Response 401 (application/json) -{ error: - { name: 'Unauthorized', - value: 401, - description: 'Authentication credentials were missing or incorrect.', - details: 'Authorized access only.' } } + { error: + { name: 'Unauthorized', + value: 401, + description: 'Authentication credentials were missing or incorrect.', + details: 'Authorized access only.' } } + Response 403 (application/json) -{ error: - { name: 'Forbidden', - value: 403, - description: 'The request is understood, but it has been refused or access is not allowed.', - details: 'Admin access only.' } } + { error: + { name: 'Forbidden', + value: 403, + description: 'The request is understood, but it has been refused or access is not allowed.', + details: 'Admin access only.' } } + Response 500 (application/json) @@ -14203,145 +14154,148 @@ Managing SRM Round Configuration APIs ### Set Round Events [POST] + Parameters - + roundId (required, number, `123456`) ... The round id - + eventId (required, number, `123456`) ... The event id - + eventName (string, max length 50, `Event `) ... The name of the event - + registrationUrl (string, max length 255, `http://www.topcoder.com`) ... The registration url for the event + + roundId (required, number, `123456`) ... The round id + ++ Attributes + + eventId: `123456` (required, number) ... The event id + + eventName: `Event ` (string) ... The name of the event, max length 50 + + registrationUrl: `http://www.topcoder.com` (string) ... The registration url for the event, max length 255 ++ Request Set Round Events (application/json) + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId unknown.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId unknown.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'roundId should be less or equal to 999999999.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'roundId should be less or equal to 999999999.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'eventId should be number.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'eventId should be number.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'eventId should be positive.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'eventId should be positive.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'eventId should be less or equal to 999999999.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'eventId should be less or equal to 999999999.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'eventName should be string.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'eventName should be string.' } } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "eventName contains unescaped quotes." - } } + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "eventName contains unescaped quotes." + } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'Length of eventName should be less or equal to 50.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'Length of eventName should be less or equal to 50.' } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'registrationUrl should be string.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'registrationUrl should be string.' } } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationUrl contains unescaped quotes." - } } + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationUrl contains unescaped quotes." + } } + Response 400 (application/json) -{ error: - { name: 'Bad Request', - value: 400, - description: 'The request was invalid. An accompanying message will explain why.', - details: 'Length of registrationUrl should be less or equal to 255.' } } + { error: + { name: 'Bad Request', + value: 400, + description: 'The request was invalid. An accompanying message will explain why.', + details: 'Length of registrationUrl should be less or equal to 255.' } } + Response 401 (application/json) -{ error: - { name: 'Unauthorized', - value: 401, - description: 'Authentication credentials were missing or incorrect.', - details: 'Authorized access only.' } } + { error: + { name: 'Unauthorized', + value: 401, + description: 'Authentication credentials were missing or incorrect.', + details: 'Authorized access only.' } } + Response 403 (application/json) -{ error: - { name: 'Forbidden', - value: 403, - description: 'The request is understood, but it has been refused or access is not allowed.', - details: 'Admin access only.' } } + { error: + { name: 'Forbidden', + value: 403, + description: 'The request is understood, but it has been refused or access is not allowed.', + details: 'Admin access only.' } } + Response 500 (application/json) @@ -14365,325 +14319,328 @@ Managing SRM Round Configuration APIs ### Set Round Segments [POST] + Parameters - + roundId (required, number, `123456`) ... The round id. - + registrationStart (required, string, `2014-06-01 09:00:00`) ... The registration start time. - + registrationLength (required, number, `10`) ... The registration duration minutes. - + codingStart (required, string, `2014-06-01 13:00:00`) ... The coding start time. - + codingLength (required, number, `100`) ... The coding duration minutes. - + intermissionLength (required, number, `10`) ... The intermission duration minutes. - + challengeLength (required, number, `10`) ... The challenge duration minutes. - + registrationStatus (required, string, `F`) ... The registration status for the round, max length 1. - + codingStatus (required, string, `F`) ... The coding status for the round, max length 1. - + intermissionStatus (required, string, `F`) ... The intermission status for the round, max length 1. - + challengeStatus (required, string, `F`) ... The challenge status for the round, max length 1. - + systemTestStatus (required, string, `F`) ... The system test status for the round, max length 1. - -+ Request + + roundId (required, number, `123456`) ... The round id. + ++ Attributes + + registrationStart: `2014-06-01 09:00:00` (required, string) ... The registration start time. + + registrationLength: `10` (required, number) ... The registration duration minutes. + + codingStart: `2014-06-01 13:00:00` (required, string) ... The coding start time. + + codingLength: `100` (required, number) ... The coding duration minutes. + + intermissionLength: `10` (required, number) ... The intermission duration minutes. + + challengeLength: `10` (required, number) ... The challenge duration minutes. + + registrationStatus: `F` (required, string) ... The registration status for the round, max length 1. + + codingStatus: `F` (required, string) ... The coding status for the round, max length 1. + + intermissionStatus: `F` (required, string) ... The intermission status for the round, max length 1. + + challengeStatus: `F` (required, string) ... The challenge status for the round, max length 1. + + systemTestStatus: `F` (required, string) ... The system test status for the round, max length 1. + ++ Request Set Round Segments (application/json) + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationStart should be a valid date.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationStart should be a valid date.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationLength should be number.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationLength should be number.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationLength should be Integer.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationLength should be Integer.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationLength should be positive.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationLength should be positive.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "codingStart should be a valid date.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "codingStart should be a valid date.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "codingLength should be number.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "codingLength should be number.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "codingLength should be Integer.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "codingLength should be Integer.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "codingLength should be positive.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "codingLength should be positive.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "intermissionLength should be number.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "intermissionLength should be number.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "intermissionLength should be Integer.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "intermissionLength should be Integer.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "intermissionLength should be positive.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "intermissionLength should be positive.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "challengeLength should be number.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "challengeLength should be number.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "challengeLength should be Integer.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "challengeLength should be Integer.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "challengeLength should be positive.." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "challengeLength should be positive.." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "registrationStatus exceeds 1 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "registrationStatus exceeds 1 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "codingStatus exceeds 1 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "codingStatus exceeds 1 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "intermissionStatus exceeds 1 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "intermissionStatus exceeds 1 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "challengeStatus exceeds 1 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "challengeStatus exceeds 1 characters." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "systemTestStatus exceeds 1 characters." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "systemTestStatus exceeds 1 characters." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." + + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} ## Load Round Access [/data/srm/roundAccess] @@ -14692,49 +14649,49 @@ Managing SRM Round Configuration APIs + Response 200 (application/json) -{ accessibleRounds: - [ { roundId: 13672, - name: 'Test SRM Test SRM Round', - startDate: '2014-07-13 20:22' }, - { roundId: 13673, - name: 'Test MM Test MM Round', - startDate: '2014-07-13 20:22' }, - { roundId: 4010, - name: 'Contest 2 Round 10', - startDate: '2014-07-12 09:05' }, - { roundId: 4009, - name: 'Contest 1 Round 9', - startDate: '2014-07-11 09:05' }, - { roundId: 4007, - name: 'Contest 1 Round 7', - startDate: '2014-07-09 09:05' }, - { roundId: 4006, - name: 'Contest 2 Round 6', - startDate: '2014-07-08 09:05' }, - { roundId: 4002, - name: 'Contest 2 Round 2', - startDate: '2014-07-04 09:05' }, - { roundId: 4001, - name: 'Contest 1 Round 1', - startDate: '2014-07-03 09:05' } ] } + { accessibleRounds: + [ { roundId: 13672, + name: 'Test SRM Test SRM Round', + startDate: '2014-07-13 20:22' }, + { roundId: 13673, + name: 'Test MM Test MM Round', + startDate: '2014-07-13 20:22' }, + { roundId: 4010, + name: 'Contest 2 Round 10', + startDate: '2014-07-12 09:05' }, + { roundId: 4009, + name: 'Contest 1 Round 9', + startDate: '2014-07-11 09:05' }, + { roundId: 4007, + name: 'Contest 1 Round 7', + startDate: '2014-07-09 09:05' }, + { roundId: 4006, + name: 'Contest 2 Round 6', + startDate: '2014-07-08 09:05' }, + { roundId: 4002, + name: 'Contest 2 Round 2', + startDate: '2014-07-04 09:05' }, + { roundId: 4001, + name: 'Contest 1 Round 1', + startDate: '2014-07-03 09:05' } ] } + Response 401 (application/json) -{ error: - { name: 'Unauthorized', - value: 401, - description: 'Authentication credentials were missing or incorrect.', - details: 'Authorized access only.' } } + { error: + { name: 'Unauthorized', + value: 401, + description: 'Authentication credentials were missing or incorrect.', + details: 'Authorized access only.' } } + Response 403 (application/json) -{ error: - { name: 'Forbidden', - value: 403, - description: 'The request is understood, but it has been refused or access is not allowed.', - details: 'Admin access only.' } } + { error: + { name: 'Forbidden', + value: 403, + description: 'The request is understood, but it has been refused or access is not allowed.', + details: 'Admin access only.' } } + Response 500 (application/json) @@ -14755,7 +14712,7 @@ Managing SRM Round Configuration APIs # Group Deprecated APIs -## Search Software Challenges [/develop/challenges?listType={listType}&pageIndex={pageIndex}&pageSize={pageSize}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Software Challenges [/develop/challenges{?listType}{?pageIndex}{?pageSize}{?sortColumn}{?sortOrder}{?communityId}{?submissionEndFrom}{?submissionEndTo}] ### Search Software Challenges [GET] + Parameters @@ -14915,7 +14872,7 @@ Managing SRM Round Configuration APIs } -## Search Studio Challenges [/design/challenges?listType={listType}&pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&communityId={communityId}&submissionEndFrom={submissionEndFrom}&submissionEndTo={submissionEndTo}] +## Search Studio Challenges [/design/challenges?{filter}={value}{&listType}{&pageSize}{&pageIndex}{&sortColumn}{&sortOrder}{&communityId}{&submissionEndFrom}{&submissionEndTo}] ### Search Studio Challenges [GET] + Parameters @@ -15041,427 +14998,319 @@ Managing SRM Round Configuration APIs "description":"Servers are up but overloaded. Try again later." } -## Add Round Components API [/data/srm/rounds/:roundId/components] +## Add Round Components API [/data/srm/rounds/{roundId}/components] ### Set Round Components API [POST] + Parameters - + roundId (required, number, `1000001`) ... The id of the round to set. - + components (required, JSON object, a JSON object) ... The components parameter. + + roundId (required, number, `1000001`) ... The id of the round to set. -+ Request ++ Attributes + + components (required, object) ... The components parameter. + ++ Request Set Round Components API (application/json) + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) -{ - "success": true -} + { + "success": true + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be Integer." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "roundId should be less or equal to 2147483647." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "components should be Array." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "components should be Array." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "componentId should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "componentId should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "points should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "points should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "difficultyId should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "difficultyId should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "openOrder should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "openOrder should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "submitOrder should not be null or undefined" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "submitOrder should not be null or undefined" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "componentId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "componentId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "points should be greater or equal to 0" - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "points should be greater or equal to 0" + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "divisionId should be number." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "divisionId should be number." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "difficultyId should be positive." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "difficultyId should be positive." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "openOrder should be non-negative." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "openOrder should be non-negative." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "submitOrder should be non-negative." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "submitOrder should be non-negative." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The componentId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The componentId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The divisionId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The divisionId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The difficultyId does not exist in database." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The difficultyId does not exist in database." + } + } + Response 400 (application/json) -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The componentId and divisionId group should be unique." - } -} + { + "error": { + "name": "Bad Request", + "value": 400, + "description": "The request was invalid. An accompanying message will explain why.", + "details": "The componentId and divisionId group should be unique." + } + } + Response 401 (application/json) -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} + { + "error": { + "name": "Unauthorized", + "value": 401, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Authorized information needed." + } + } + Response 403 (application/json) -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} + { + "error": { + "name": "Forbidden", + "value": 403, + "description": "The request is understood, but it has been refused or access is not allowed.", + "details": "Admin access only." + } + } + Response 500 (application/json) -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Internal Server Error", + "value":"500", + "description":"Unknown server error. Please contact support." + } } -} + Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." - } -} - -## Set Round Terms API [/data/srm/rounds/:roundId/terms] - -### Set Round Terms API [POST] - -+ Parameters - + roundId (required, number, `1000001`) ... The id of the round to set. - + terms (required, String, 'test terms') ... The terms parameter. - -+ Request - - + Headers - - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY - -+ Response 200 (application/json) - -{ - "success": true -} - -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be number." - } -} - -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be Integer." - } -} - -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be positive." - } -} - -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "roundId should be less or equal to 2147483647." - } -} -+ Response 400 (application/json) - -{ - "error": { - "name": "Bad Request", - "value": 400, - "description": "The request was invalid. An accompanying message will explain why.", - "details": "The round terms should not be empty." - } -} - -+ Response 401 (application/json) - -{ - "error": { - "name": "Unauthorized", - "value": 401, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Authorized information needed." - } -} - -+ Response 403 (application/json) - -{ - "error": { - "name": "Forbidden", - "value": 403, - "description": "The request is understood, but it has been refused or access is not allowed.", - "details": "Admin access only." - } -} - -+ Response 500 (application/json) - -{ - "error": { - "name":"Internal Server Error", - "value":"500", - "description":"Unknown server error. Please contact support." + { + "error": { + "name":"Service Unavailable", + "value":"503", + "description":"Servers are up but overloaded. Try again later." + } } -} -+ Response 503 (application/json) -{ - "error": { - "name":"Service Unavailable", - "value":"503", - "description":"Servers are up but overloaded. Try again later." - } -} # Group Round Question Answers APIs Managing Round Question Answers APIs -## Manage Round Question Answer API [/data/srm/answer/:answerId] +## Manage Round Question Answer API [/data/srm/answer/{answerId}] ### Modify Round Question Answer API [PUT] + Parameters + answerId (required, integer) ... answer ID - + text (required, integer) ... answer text - + sortOrder (required, integer) ... the sorting order + ++ Attributes + + text (required, number) ... answer text + + sortOrder (required, number) ... the sorting order + correct (required, boolean) ... flag indicating whether answer is correct or not. ++ Request Modify Round Question Answer API (application/json) + + Response 200 (application/json) { @@ -15591,12 +15440,10 @@ Managing Round Question Answers APIs "description":"Servers are up but overloaded. Try again later." } -## Delete Round Question Answer API [/data/srm/answer/:answerId] - ### Delete Round Question Answer API [DELETE] + Parameters - + answerId (required, integer) ... deleting answer's id + + answerId (required, number) ... deleting answer's id + Response 200 (application/json) @@ -15660,11 +15507,13 @@ Source Code Image Generation APIs ### Source Code Image Generation API [POST] -+ Parameters ++ Attributes: + code (required, string) ... the code value to convert + lang (required, string) ... the code's language name, it should be one of ["1c","actionscript","apache","applescript","xml","asciidoc","autohotkey","avrasm","axapta","bash","brainfuck","capnproto","clojure","cmake","coffeescript","cpp","cs","css","d","markdown","dart","delphi","diff","django","dos","dust","elixir","ruby","erb","erlang-repl","erlang","fix","fsharp","gcode","gherkin","glsl","go","gradle","groovy","haml","handlebars","haskell","haxe","http","ini","java","javascript","json","lasso","less","lisp","livecodeserver","livescript","lua","makefile","mathematica","matlab","mel","mizar","monkey","nginx","nimrod","nix","nsis","objectivec","ocaml","oxygene","parser3","perl","php","powershell","processing","profile","protobuf","puppet","python","q","r","rib","rsl","ruleslanguage","rust","scala","scheme","scilab","scss","smalltalk","sql","stylus","swift","tcl","tex","thrift","twig","typescript","vala","vbnet","vbscript","vbscript-html","vhdl","vim","x86asm","xl"] + style (optional, string) ... the code's format style, it should be one of ['arta', 'ascetic', 'atelier-dune.dark', 'atelier-dune.light', 'atelier-forest.dark', 'atelier-forest.light', 'atelier-heath.dark', 'atelier-heath.light', 'atelier-lakeside.dark', 'atelier-lakeside.light', 'atelier-seaside.dark', 'atelier-seaside.light', 'brown_paper', 'codepen-embed', 'color-brewer', 'dark', 'default', 'docco', 'far', 'foundation', 'github', 'googlecode', 'hybrid', 'idea', 'ir_black', 'kimbie.dark', 'kimbie.light', 'magula', 'mono-blue', 'monokai', 'monokai_sublime', 'obsidian', 'paraiso.dark', 'paraiso.light', 'pojoaque', 'railscasts', 'rainbow', 'school_book', 'solarized_dark', 'solarized_light', 'sunburst', 'tomorrow-night-blue', 'tomorrow-night-bright', 'tomorrow-night-eighties', 'tomorrow-night', 'tomorrow', 'vs', 'xcode', 'zenburn'] ++ Request Source Code Image Generation API (application/json) + + Response 200 (image/jpeg) { @@ -15716,7 +15565,7 @@ Source Code Image Generation APIs } -## Get Rounds [/data/rounds?pageSize={pageSize}&pageIndex={pageIndex}&sortColumn={sortColumn}&sortOrder={sortOrder}&name={name}&type={type}&status={status}®istrationPhaseStartTimeFrom={registrationPhaseStartTimeFrom}®istrationPhaseStartTimeTo={registrationPhaseStartTimeTo}®istrationPhaseEndTimeFrom={registrationPhaseEndTimeFrom}®istrationPhaseEndTimeTo={registrationPhaseEndTimeTo}&codingPhaseStartTimeFrom={codingPhaseStartTimeFrom}&codingPhaseStartTimeTo={codingPhaseStartTimeTo}&codingPhaseEndTimeFrom={codingPhaseEndTimeFrom}&codingPhaseEndTimeTo={codingPhaseEndTimeTo}&intermissionPhaseStartTimeFrom={intermissionPhaseStartTimeFrom}&intermissionPhaseStartTimeTo={intermissionPhaseStartTimeTo}&intermissionPhaseEndTimeFrom={intermissionPhaseEndTimeFrom}&intermissionPhaseEndTimeTo={intermissionPhaseEndTimeTo}&challengePhaseStartTimeFrom={challengePhaseStartTimeFrom}&challengePhaseStartTimeTo={challengePhaseStartTimeTo}&challengePhaseEndTimeFrom={challengePhaseEndTimeFrom}&challengePhaseEndTimeTo={challengePhaseEndTimeTo}&systemTestPhaseStartTimeFrom={systemTestPhaseStartTimeFrom}&systemTestPhaseStartTimeTo={systemTestPhaseStartTimeTo}&systemTestPhaseEndTimeFrom={systemTestPhaseEndTimeFrom}&systemTestPhaseEndTimeTo={systemTestPhaseEndTimeTo}&roomAssignmentPhaseStartTimeFrom={roomAssignmentPhaseStartTimeFrom}&roomAssignmentPhaseStartTimeTo={roomAssignmentPhaseStartTimeTo}&roomAssignmentPhaseEndTimeFrom={roomAssignmentPhaseEndTimeFrom}&roomAssignmentPhaseEndTimeTo={roomAssignmentPhaseEndTimeTo}&moderatedChatPhaseStartTimeFrom={moderatedChatPhaseStartTimeFrom}&moderatedChatPhaseStartTimeTo={moderatedChatPhaseStartTimeTo}&moderatedChatPhaseEndTimeFrom={moderatedChatPhaseEndTimeFrom}&moderatedChatPhaseEndTimeTo={moderatedChatPhaseEndTimeTo} +## Get Rounds [/data/rounds{?pageSize}{?pageIndex}{?sortColumn}{?sortOrder}{?name}{?type}{?status}{?registrationPhaseStartTimeFrom}{?registrationPhaseStartTimeTo}{?registrationPhaseEndTimeFrom}{?registrationPhaseEndTimeTo}{?codingPhaseStartTimeFrom}{?codingPhaseStartTimeTo}{?codingPhaseEndTimeFrom}{?codingPhaseEndTimeTo}{?intermissionPhaseStartTimeFrom}{?intermissionPhaseStartTimeTo}{?intermissionPhaseEndTimeFrom}{?intermissionPhaseEndTimeTo}{?challengePhaseStartTimeFrom}{?challengePhaseStartTimeTo}{?challengePhaseEndTimeFrom}{?challengePhaseEndTimeTo}{?systemTestPhaseStartTimeFrom}{?systemTestPhaseStartTimeTo}{?systemTestPhaseEndTimeFrom}{?systemTestPhaseEndTimeTo}{?roomAssignmentPhaseStartTimeFrom}{?roomAssignmentPhaseStartTimeTo}{?roomAssignmentPhaseEndTimeFrom}{?roomAssignmentPhaseEndTimeTo}{?moderatedChatPhaseStartTimeFrom}{?moderatedChatPhaseStartTimeTo}{?moderatedChatPhaseEndTimeFrom}{?moderatedChatPhaseEndTimeTo}] ### Get Rounds [GET] + Parameters @@ -15757,8 +15606,10 @@ Source Code Image Generation APIs + moderatedChatPhaseEndTimeTo (optional, string, `2014-01-01%2000:00:00`) The moderatedChatPhaseEndTimeTo filter, can be null. It should be encoded in uri format. The format should be 'YYYY-MM-DD HH:mm:ss'. The from date should not be later than to date in same field. + Request + + Headers - Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + + Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZHwxMzI0NTYiLCJleHAiOjEzOTI4MTc4ODQsImF1ZCI6InRvcGNvZGVyIiwiaWF0IjoxMzkyNzU3ODg0fQ.7X2IKkiyyI1ExSM5GNpdhJ8fGGK5-oAjzccX6YL_BKY + Response 200 (application/json) @@ -16090,4 +15941,5 @@ Source Code Image Generation APIs "name":"Service Unavailable", "value":"503", "description":"Servers are up but overloaded. Try again later." - } \ No newline at end of file + } + diff --git a/bridge.js b/bridge.js new file mode 100644 index 000000000..bf6fd4333 --- /dev/null +++ b/bridge.js @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2016 TopCoder Inc., All Rights Reserved. + * + * This is the simple service that provides a "bridge" between a + * client and the database server. It accepts SQL queries and executes them. + * + * Added just to solve a deployment problem. Can (and probably should) be removed + * when this problem will be fixed + * + * @author TCSCODER + * @version 1.0 + */ +"use strict"; + +var http = require("http"), + async = require("async"), + Jdbc = require("informix-wrapper"), + tcConfig = require(__dirname + "/config/tc-config.js").tcConfig; + +var connections = {}; + +var server = http.createServer(function (req, res) { + + if (req.method !== "POST" || req.url !== "/bridge") { + res.writeHead(404, "Not found"); + res.end(); + return; + } + + var header = { "Content-Type": "application/json" }, + body = []; + + req.on("data", function (chunk) { + body.push(chunk); + }).on("end", function () { + body = Buffer.concat(body).toString(); + + var query; + try { + query = JSON.parse(body); + query.sql = new Buffer(query.sql, "base64").toString(); + } catch (x) { + res.writeHead(400, "Bad request", header); + res.end(JSON.stringify(x.toString())); + return; + } + + if (!query.db) { + res.writeHead(400, "Bad request", header); + res.end("'db' parameter is required"); + return; + } + if (!query.sql) { + res.writeHead(400, "Bad request", header); + res.end("'sql' parameter is required"); + return; + } + + try { + async.waterfall([ + function (next) { + var jdbc, prefix, settings; + + if (connections[query.db] && connections[query.db].isConnected()) { + next(null, connections[query.db]); + } else { + jdbc = connections[query.db]; + + if (!jdbc) { + prefix = tcConfig.databaseMapping[query.db]; + if (!prefix) { + res.writeHead(400, "Bad request", header); + res.end(query.db + "- unknown database"); + return; + } + settings = { + user: process.env[prefix + "_USER"], + host: process.env[prefix + "_HOST"], + port: parseInt(process.env[prefix + "_PORT"], 10), + password: process.env[prefix + "_PASSWORD"], + database: query.db, + server: process.env[prefix + "_NAME"], + minpool: parseInt(process.env.MINPOOL, 10) || 1, + maxpool: parseInt(process.env.MAXPOOL, 10) || 60, + maxsize: parseInt(process.env.MAXSIZE, 10) || 0, + idleTimeout: parseInt(process.env.IDLETIMEOUT, 10) || 3600, + timeout: parseInt(process.env.TIMEOUT, 10) || 30000 + }; + jdbc = connections[query.db] = new Jdbc(settings, console.log).initialize(); + } + jdbc.connect(function (err) { + next(err, jdbc); + }); + } + }, + function (connection, next) { + connection.query(query.sql, next).execute(); + } + ], function (err, rows) { + res.writeHead(200, header); + if (err) { + res.end(JSON.stringify({exception: err.toString()})); + } else { + res.end(JSON.stringify({results: rows})); + } + }); + } catch (x) { + res.writeHead(200, header); + res.end(JSON.stringify({exception: x.toString()})); + } + }); + +}); + +server.listen(8082); diff --git a/db_scripts/getTermsForUser/cleanData.js b/db_scripts/getTermsForUser/cleanData.js new file mode 100644 index 000000000..3d4ef1882 --- /dev/null +++ b/db_scripts/getTermsForUser/cleanData.js @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2016 TopCoder Inc., All Rights Reserved. + * + * + * This is the script to clean the test data created by insertData.js + * + * @author TCSCODER + * @version 1.0 + */ +"use strict"; + +var path = require("path"); +var helper = require("../../test/helpers/testHelper"); +var SQL_DIR = path.dirname(path.dirname(__dirname)) + "/test/sqls/termsForUser/"; +var async = require("async"); + +helper.runSqlFile(SQL_DIR + "common_oltp__clean", "common_oltp", function (err) { + if (err) { + throw err; + } + console.log("DONE"); + process.exit(); +}); + diff --git a/db_scripts/getTermsForUser/insertData.js b/db_scripts/getTermsForUser/insertData.js new file mode 100644 index 000000000..a49646f61 --- /dev/null +++ b/db_scripts/getTermsForUser/insertData.js @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2016 TopCoder Inc., All Rights Reserved. + * + * + * This script insers some test data + * to test /terms/for/{userId}/{termsOfUseIds} service in Postman + * + * @author TCSCODER + * @version 1.0 + */ +"use strict"; + +var path = require("path"); +var helper = require("../../test/helpers/testHelper"); +var SQL_DIR = path.dirname(path.dirname(__dirname)) + "/test/sqls/termsForUser/"; +var async = require("async"); + +async.waterfall([ + function (cb) { + helper.runSqlFile(SQL_DIR + "common_oltp__clean", "common_oltp", cb); + }, + function (cb) { + helper.runSqlFile(SQL_DIR + "common_oltp__insert_test_data", "common_oltp", cb); + }, + function (cb) { + async.each([ 1, 2, 3, 4, 5 ], function (n, cb) { + helper.updateTextColumn("update terms_of_use set terms_text = ? where terms_of_use_id = ?", + "common_oltp", + [{ + type: "text", + value: "This is the Node API Sample Term Of Use " + n + "." + }, { + type: "int", + value: 40000000 + n + }], + cb); + }, cb); + } +], function (err) { + if (err) { + throw err; + } + console.log("DONE"); + process.exit(); +}); + diff --git a/docs/Verification_Guide-Get Terms Details For A User API.doc b/docs/Verification_Guide-Get Terms Details For A User API.doc new file mode 100644 index 0000000000000000000000000000000000000000..0e32a1aee3c61c392a706da817046672378b006a GIT binary patch literal 639488 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

P?8iFTMIMg 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

FtXqGfW~ZT}3jZi{adJhZNx-BT$*? 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

    MA{l6KQ)2LNqy|eyFVY3ZCS;LY`d-_q9) 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ɋ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

    XN~3li`=>481jX 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 literal 0 HcmV?d00001 diff --git a/queries/get_terms_for_user b/queries/get_terms_for_user new file mode 100644 index 000000000..eb2137834 --- /dev/null +++ b/queries/get_terms_for_user @@ -0,0 +1,18 @@ +SELECT + types.terms_of_use_type_desc AS terms_type, + agreeability.name AS agreeability_type, + (NOT xref.terms_of_use_id IS NULL) AS agreed, + tou.terms_text AS terms_text, + tou.title AS title, + tou.terms_of_use_id AS terms_of_use_id, + tou.url AS url +FROM ((terms_of_use tou + LEFT JOIN terms_of_use_type types + ON tou.terms_of_use_type_id = types.terms_of_use_type_id + ) LEFT JOIN terms_of_use_agreeability_type_lu agreeability + ON tou.terms_of_use_agreeability_type_id = agreeability.terms_of_use_agreeability_type_id + ) LEFT JOIN (user_terms_of_use_xref xref + INNER JOIN user u + ON xref.user_id = u.user_id + ) ON tou.terms_of_use_id = xref.terms_of_use_id AND xref.user_id = @userId@ +WHERE tou.terms_of_use_id IN (@termsIds@) diff --git a/queries/get_terms_for_user.json b/queries/get_terms_for_user.json new file mode 100644 index 000000000..4706677a6 --- /dev/null +++ b/queries/get_terms_for_user.json @@ -0,0 +1,5 @@ +{ + "name" : "get_terms_for_user", + "db" : "common_oltp", + "sqlfile" : "get_terms_for_user" +} diff --git a/routes.js b/routes.js index e9d94651f..a6a68adeb 100755 --- a/routes.js +++ b/routes.js @@ -1,7 +1,8 @@ /* * Copyright (C) 2013 - 2014 TopCoder Inc., All Rights Reserved. * - * @version 1.68 + * @version 1.69 + * @author TCSCODER, * @author vangavroche, Sky_, muzehyun, kurtrips, Ghost_141, ecnu_haozi, hesibo, LazyChild, isv, flytoj2ee, * @author panoptimum, bugbuka, Easyhard, TCASSEMBLER * @@ -156,6 +157,8 @@ * - Added get user develop challenges api. * Changed in 1.68: * - Added get rounds api. + * Changed in 1.69: + * - Added get terms details for a user api. */ /*jslint node:true, nomen: true */ "use strict"; @@ -318,6 +321,7 @@ exports.routes = { { path: "/:apiVersion/data/technologies", action: "getTechnologies" }, { path: "/:apiVersion/terms/:challengeId(\\d+)", action: "getChallengeTerms"}, { path: "/:apiVersion/terms/detail/:termsOfUseId", action: "getTermsOfUse"}, + { path: "/:apiVersion/terms/for/:userId(\\d+)/:termsOfUseIds((\\d+,)*\\d+)", action: "getTermsForUser" }, { path: "/:apiVersion/data/srm/contests", action: "listSRMContests"}, { path: "/:apiVersion/dataScience/challenges/past", action: "pastDataScienceChallenges"}, { path: "/:apiVersion/dataScience/challenges/active", action: "activeDataScienceChallenges"}, diff --git a/test/sqls/termsForUser/common_oltp__clean b/test/sqls/termsForUser/common_oltp__clean new file mode 100644 index 000000000..fe66b5026 --- /dev/null +++ b/test/sqls/termsForUser/common_oltp__clean @@ -0,0 +1,2 @@ +delete from user_terms_of_use_xref where terms_of_use_id >= 40000001 and terms_of_use_id <= 40000005; +delete from terms_of_use where terms_of_use_id >= 40000001 and terms_of_use_id <= 40000005; diff --git a/test/sqls/termsForUser/common_oltp__insert_test_data b/test/sqls/termsForUser/common_oltp__insert_test_data new file mode 100644 index 000000000..a5e4637f8 --- /dev/null +++ b/test/sqls/termsForUser/common_oltp__insert_test_data @@ -0,0 +1,13 @@ +INSERT into terms_of_use (terms_of_use_id, terms_of_use_type_id, title, url, terms_of_use_agreeability_type_id) +VALUES (40000001, 3, 'NodeJS API Sample Term Of Use 1', 'http://topcoder.com/tou40000001.txt', 3); +INSERT into terms_of_use (terms_of_use_id, terms_of_use_type_id, title, url, terms_of_use_agreeability_type_id) +VALUES (40000002, 4, 'NodeJS API Sample Term Of Use 2', 'http://topcoder.com/tou40000002.txt', 3); +INSERT into terms_of_use (terms_of_use_id, terms_of_use_type_id, title, url, terms_of_use_agreeability_type_id) +VALUES (40000003, 8, 'NodeJS API Sample Term Of Use 3', 'http://topcoder.com/tou40000003.txt', 3); +INSERT into terms_of_use (terms_of_use_id, terms_of_use_type_id, title, url, terms_of_use_agreeability_type_id) +VALUES (40000004, 2, 'NodeJS API Sample Term Of Use 4', 'http://topcoder.com/tou40000004.txt', 2); +INSERT into terms_of_use (terms_of_use_id, terms_of_use_type_id, title, url, terms_of_use_agreeability_type_id) +VALUES (40000005, 5, 'NodeJS API Sample Term Of Use 5', 'http://topcoder.com/tou40000005.txt', 2); + +INSERT into user_terms_of_use_xref(user_id, terms_of_use_id) VALUES (132458, 40000001); +INSERT into user_terms_of_use_xref(user_id, terms_of_use_id) VALUES (132458, 40000002); diff --git a/test/test.termsOfUse.js b/test/test.termsOfUse.js index 8cbec092c..df029b3f4 100644 --- a/test/test.termsOfUse.js +++ b/test/test.termsOfUse.js @@ -1,7 +1,7 @@ /* * Copyright (C) 2014 TopCoder Inc., All Rights Reserved. * - * @version 1.2 + * @version 1.3 * @author TCSASSEMBLER, muzehyun * * changes in 1.1: @@ -9,6 +9,9 @@ * * changes in 1.2: * add tests for retrieving docusign template id + * + * changes in 1.3 + * add tests for getting terms details for an user */ "use strict"; /*global describe, it, before, beforeEach, after, afterEach */ @@ -21,6 +24,7 @@ var fs = require('fs'); var request = require('supertest'); var assert = require('chai').assert; var async = require("async"); +var _ = require("underscore"); var testHelper = require('./helpers/testHelper'); var SQL_DIR = __dirname + "/sqls/termsOfUse/"; @@ -45,7 +49,6 @@ describe('Terms Of Use API', function () { user12 = 'facebook|fb400012', user13 = 'facebook|fb400013', user14 = 'facebook|fb400014', - user17 = 'facebook|fb400017', user18 = 'facebook|fb400018'; /** @@ -382,6 +385,140 @@ describe('Terms Of Use API', function () { }); }); + describe('Get Terms Details For A User API', function () { + var SQL_DIR = __dirname + '/sqls/termsForUser/', + heffan = 'ad|132456', + user = 'ad|132458', + heffanAuthHeader = testHelper.generateAuthHeader({ sub: heffan }), + userAuthHeader = testHelper.generateAuthHeader({ sub: user }), + goodUser = '132458', + badUser = '0', + goodTerms = '40000001,40000002,40000003,40000004,40000005', + badTerms = 'abra,cadabra'; + + /** + * Clear database + * @param {Function} done the callback + */ + function clearDb(done) { + testHelper.runSqlFile(SQL_DIR + 'common_oltp__clean', 'common_oltp', done); + } + + /** + * This function is run before all tests. + * Generate tests data. + * @param {Function} done the callback + */ + before(function (done) { + async.waterfall([ + clearDb, + function (cb) { + testHelper.runSqlFile(SQL_DIR + 'common_oltp__insert_test_data', 'common_oltp', cb); + } + ], done); + }); + + /** + * This function is run after all tests. + * Clean up all data. + * @param {Function} done the callback + */ + after(function (done) { + clearDb(done); + }); + + /** + * Create request and return it + * @param {String} userId - the id of the user to get data for + * @param {String} termsOfUseIds - the comma separated list of terms of use ids + * @param {String} authHeader - the Authorization header + * @param {Number} statusCode - the expected status code + * @return {Object} request + */ + function createRequest(userId, termsOfUseIds, authHeader, statusCode) { + var req = request(API_ENDPOINT) + .get('/v2/terms/for/' + userId + '/' + termsOfUseIds) + .set('Accept', 'application/json'); + if (authHeader) { + req = req.set('Authorization', authHeader); + } + return req.expect('Content-Type', /json/).expect(statusCode); + } + + /** + * Assert error request + * @param {String} userId - the id of the user to get data for + * @param {String} termsOfUseIds - the comma separated list of terms of use ids + * @param {String} authHeader - the Authorization header + * @param {Number} statusCode - the expected status code + * @param {String} errorDetail - the expected error detail + * @param {Function} done the callback function + */ + function assertError(userId, termsOfUseIds, authHeader, statusCode, errorDetail, done) { + createRequest(userId, termsOfUseIds, authHeader, statusCode).end(function (err, res) { + if (err) { + done(err); + return; + } + assert.equal(res.body.error.details, errorDetail, 'Invalid error detail'); + done(); + }); + } + + /** + * Test the result returned by the correct query + * @param {Object} err - the error + * @param {Object} res - result returned by the request + * @param {Function} done - the callback function + */ + function checkGoodResult(err, res, done) { + if (err) { + done(err); + return; + } + assert.property(res.body, 'terms', 'response should contain "terms"'); + assert.isArray(res.body.terms, 'terms should be an array'); + assert.equal(res.body.terms.length, 5, 'terms should contain 5 items'); + _.each(res.body.terms, function (item) { + assert.property(item, 'agreed', 'each terms item should contain "agreed"'); + assert.property(item, 'termsOfUseId', 'each terms item should contain "termsOfUseId"'); + var shouldBeAgreed = item.termsOfUseId === 40000001 || item.termsOfUseId === 40000002; + assert.equal(!!item.agreed, shouldBeAgreed, + 'agreed should be true for 40000001 and 40000002, and only for them'); + }); + done(); + } + + + it('should not allow unauthorized request', function (done) { + assertError(goodUser, goodTerms, null, 401, 'Authentication credential was missing.', done); + }); + + it('should not let ordinary user get terms for another user', function (done) { + assertError('132456', goodTerms, userAuthHeader, 403, 'This user cannot get these data of other users', done); + }); + + it('should return the correct result for the correct user and terms', function (done) { + createRequest(goodUser, goodTerms, userAuthHeader, 200).end(function (err, res) { + checkGoodResult(err, res, done); + }); + }); + + it('should allow an admin to get terms for another user', function (done) { + createRequest(goodUser, goodTerms, heffanAuthHeader, 200).end(function (err, res) { + checkGoodResult(err, res, done); + }); + }); + + it('should return error on invalid user id', function (done) { + assertError(badUser, goodTerms, heffanAuthHeader, 400, 'User ID should be positive.', done); + }); + + it('should return error on invalid terms ids', function (done) { + assertError(goodUser, badTerms, userAuthHeader, 400, 'Each Terms Of Use ID should be number.', done); + }); + }); + describe('Agree Terms Of Use API', function () { var SQL_DIR = __dirname + '/sqls/agreeTermsOfUse/', heffan = "ad|132456", From 8c7bd6fbc79cfb6851f45f3c48dd93bf8dc6ca4b Mon Sep 17 00:00:00 2001 From: Vyacheslav V Sokolov Date: Sat, 2 Jul 2016 00:52:31 +0700 Subject: [PATCH 2/2] Moved some files to /test --- ...Guide-Get Terms Details For A User API.doc | Bin 639488 -> 639488 bytes ...allenge%2030054600.postman_collection.json | 176 ++++++++++++++++++ ...llenge%2030054600.postman_environment.json | 11 ++ bridge.js => test/scripts/bridge.js | 3 +- .../scripts}/getTermsForUser/cleanData.js | 4 +- .../scripts}/getTermsForUser/insertData.js | 4 +- 6 files changed, 193 insertions(+), 5 deletions(-) create mode 100644 test/postman/Challenge%2030054600.postman_collection.json create mode 100644 test/postman/Challenge%2030054600.postman_environment.json rename bridge.js => test/scripts/bridge.js (97%) rename {db_scripts => test/scripts}/getTermsForUser/cleanData.js (75%) rename {db_scripts => test/scripts}/getTermsForUser/insertData.js (89%) diff --git a/docs/Verification_Guide-Get Terms Details For A User API.doc b/docs/Verification_Guide-Get Terms Details For A User API.doc index 0e32a1aee3c61c392a706da817046672378b006a..a768209a49d8c2afdd6f0529dd17d2ddefd79eb3 100644 GIT binary patch delta 2793 zcmZ|R4NO({8OQPG00sWF6G{yQM7$`7FCF6ba=D;YSW_?zi8V+GBH>Mjoh5xCt0k-u zWpy>i(4OgOo$ob92_hEdSmM+X;}+=*EmD?R9YJjz-JAi&EQEI7Kis`ZcgW|Qd!KX8 zz4u(6-*awVeOz6ATuVg4W2a||xXjrJ7k_Ymw#Y||MBIrY<>uE3%cApVi5!m>`TatX zJf}!avWR1)NFj1lMJmjUC8u09(?s^;6n=wScz~tBA}`|u%ncFQfOnwZ(M)izGK-x4 zty`S^hT$^TyWTJZ6Fp{aR;W4Pa+pntF0(4pZ9Q10!X^s!Znv53cA24U`x4z|K~k96 znB*|$CArP}?l9Al=rG&a@Al}&QSW)ejG5-A?%C$mB#(I`JJjs=c%Cd#BLD5QX?eCy zt+p;o{*!-*D^eyFA3pxX;%bddz3snXX>i8xvhQq6Hzta=d_~?06M0;=@Z3+fHR$a` zwRL{R@`jXKS2Bb2k)`ETX~qjb@e|4H5Sct#*I6o~9{h;fqepH#(7XLWuVEkP^@)Eo zxGTJ?N*}z&UH*KUxz=HQxyCnQO4as%!8a--W$WA{Kh*~puY1nSb>@_b{I%C-%A4M$ z_UMt@3rl_BhsW%~Qvbom;P$6yPP~}0l32KANn45j>5COXb+QoXDe=D^ocFt}h;S{I>g3Gc6<5 zuFF*W45PxDm8BLNr|s2QYI}Him28yPrAijFE|u40lf1&S*JZKYy;1$a=l}1w4pyk8 z>ffhZLDlNV*5yrVz7<@p60Ci1sz~chg^IFUHmSCt|2=St-d*{hn$5{)eFMBNW*O_% zQ`YA{S25PrQuTyA{VjDW$ToJVxqh|R!$t1nTlhqX1S1kzC_+6x!X;crJ`vfB8Z_Wn z*o#J7LKnWk0}R7Mucjj(d(n>T_zM2Bq*j7Savru|D?Y)u$chp1Z4vmgb_ zQHUax;3ZU|8Z~H#o*QE$V`GCdFwoC3F!?toy`8<6CRpL7nr20r>S-SlE8SEd*QV;T zE}#$n_zDB4b`U7kp&oBz2eOz$Yj6lha1?qr70eN-LgZX#6E>p~ub>K_#PD??Ay&i* z7d)}GTrLk9=ZQqciOfMYKEo}P&u6&dkN5&#!nuHx;YJOPp$RQ$!zzYk7A`{%%&h2usl#4@p-8$6S**PT5Cz{9Q@c7>G6V2V7(%F52 z+8$}Pl6R{(t8BOWb*(&}khxwG1EnBP#CKhwAG&V9Ue;K|zJT`K(XQb!m&6{IA^Yr>^#|0T-IXiOl zWY0-<$zklqJNgNW6=bQ8pL#-nRnKM4kYY%X?@Pl0)~oNT@Y=wC6%+N_q+ll+kjK>8 zi3Xg<75prT?m!2wK;H%%(Tsrxu z!e{VHC8`L)41^&9a}a|pWMeIIP!0lTwY;w~EdLMGH%5HhUUl0i@YV1BJgqovcC7W? zJ{4mJ?N`^0M{5Var*`;zY9Fe<`#menBR#V^pl8!9^ualkJfHyYVGw#26)8g$^Vc>}M*?w$xcbCPWnS$B|ao%Joyd2jaS_Z-_yZ+@@n{Ms9u)Q3jC z&T$0E%7f1FE)t@X^FAIzCnlAI9PlRPjyEY`1VRVJ1s#+_&_OwdTmq2iw6Yty)BLST z#o7CtRjE;|bD}eH2|6P>9}m6x(Ag+QKXf)c-lpB<=zVUs#%aW(6$ms^z?u74>m#46~HFM$5#_>EQBq{1!d8P#L#u>#MkhtaxR1f7mX sG@%(f9HYp!qubPUgToVS)fJnY%Jm{21t>%jN>B!!jS4&VoVua@3BCin$N&HU delta 2704 zcmZwJ4@{Kz9mnzS19;v~9UfO|;70K{QT$hnH#kmEys{1mL5rr?4J}hdE39iw+gVB- zFzl)^t}-9>sYcPR&NxRb0mkEuo6MM{>z2iu8<>tcLvN;~n{A9TDwlTeA6(K!`oJr{ zd%pbc&vSe~-@BIAvRYot>hxq!+5b%uw>dle(l^e{7TLL2q&!!|XMU1hkl}koCEPW@Zdb&t6evT99!!s7j*Zk7iE<}BRI4Vu+? zIp(~)6!U6eo#lC2O>Efyq%L?51cT;#d9%zVfpqf#dxnC+q)H|7|Mr_!aM$E&_o8M0 zbhzDVGJeGI!p9GHcUtH}$AV8I#U-mFTZ)bG;*EHbsuYoF(!hCw>}u2Nc(r?e$?~@R zL+>80*E^qXt$V$3jqiIRWtT-J?yTz^&!>M@MD4+yyV?hKw+|S0`#{{1S6t5;N1OEK z)K^O#hyArvt-*?T&!npDSQDS_&OdeRdlTjXIGCH&NYO==#xn)57{r z`yEM#*R4y+wHlWx&!nn-YMJ_}YdTF8(wqA?8&*!4@=kqh(b{0a`|q2Nm&~ZDell`YnqI+Zo0R%+z?)=%oxQY%!af)nR9 z=NYcA{U?~!$8K*__3>8RdgZo!O)AqGu2RYN+9vhROmkz&6Snb&nv>8R zNfr4BBZ%{e_)&~{you8|ixAyihP9}{4m6?#Z8(iy^r0UgAf1L=j1XGT1uxla!)3VA zrCA!%MUJ8i7x8;U@dbqF`jClvSOPx^5keDM(27$yjkC~^9~&7PyCcKHLqo$8KVvd5 z@aKWPaeZTb+~Tm7n(CpX3+)#!UZmx-%hpS-Q#LrQVpILLxllh&p;x2`PoNZKSPd5g zBpJ2XifzzC#p`3B;3gu-p2KTK4uWXQ6gh~y7{Mr_=$cDz=7|j977DYPMGj|)`~nN- z^G@Oz+Hn#i7{z^r7Vsa#cD#f}%wW2?um^h54Z^dC{|a`X71NlDGoa^VGirr;*%9+l$I=k$_u!IM@s2v}#ni&ZXTZ<2=d2#WTR>dK8 zyg6S#U=v!u`}a zJ;ryS0gZm%xh8I$`<6&2y3mWX9IhT-9K%W6!3awEbkLs=|Gjtn-p7%_a3nnVF~5KM z!|x=*(G%&QBqwnYd-TbRFUo>^rxZA)XyMH5+bSw5{CLo1|G(h9k1q_1Q}4QjCuZ=esC@mE|$82z|`n{bBc6(qt1 zAFNAnsuD9hVW#CcqCPhk^&V9p#yNL(Dc&h#Aw09{B9X&!|hrD*btX09W8}NXE+eVd6?G2>GQoELb=+JDydFapx zVX2CR<|F~pp$S8W<}>KfY#<~$G&OLOi)6pG`m9Q`KJ8Fh_VIISv$09%M`vdzbaZrV zdSbEBk@2A&Ix=^mBU2WOjGHdiom&RoxjC_pZHaYkfKCnCn>y7Aqe^%0Ht6m>l|RwJ zAF=8V-dixy#Y3#Ri%02V-O2OmV%^C%K{rc!teHDl&!H28g;sS3apP*%TR-epW~%-| zcMA!$uLCL2U+_M+p6^hpmcK{+%{XW|f1^e-bU6(=9b2&t_0Z|)h1<^PRfz`Mvu$;C Zt~1K^oHGg%6qb-1F-1>VMP

    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 z ze2a}2wtcI#yWCN}t@0mUyoqe?QpFq>y)R|5Hondw-<4wUcxB5)*39P{g_glD$|`4V z++j{yCoqW@`L=;oQI?(9>%lLV7{l(JGA5BtvcrB?0gLk}$InOpjL8jh&7IzIg2Xc? z8`<*_0oFF2J*Ty}=-tZ_`O%m-?m1KJ)_h}RcOe3k)HCGgcDy#Py%@n)GxEhZdzfGw zUd!N~%Fi(Ay$#X^;QF(G+LMmOgMA@*_RN{fd8N&qCC1AEed(?|hC!d! zbON!-!;%+cIQHn7l|NEivF6}t^6|umz=%p+8+Ec z`$^or2o@p#HBIp0#%5wHL6|yS z|D}*myJ56$DV`TaCN;#nH%)V>8o#n4@8c2s=Uw5eU0vyeT|IX=%3zNq;`BqC`Ae|-ik1ETT~B~tZRFB5Gwpk9!N`nu+Zpu8x$0=rZlcj zG*J|;K->TObWl+8E&_^e0B+-5-RE7*JEZqfKW7Tvp#cGNN*mX;n$q^PW-|T)vQAMk z*;Na=x(;;TkF$3C6zOAORDxXp4tdNK>{O9UNUIbWGPNrpYAA-4WDF)_To%>@)y0<&ntzLn~)ia z@R1Fo2C83AaM6bb8FmChwvJ)80n+YiwJQ)8i*tQVh3_Nv35h=k2_xO&33)iffA*mL zXgVx#dEV!|w~|w83+jqsFR$x9hECzffW7MGdkPjEE97{)GukYdU0T!2kur{j=P+He zj$q?4c-!ZCw^2?{6M-|;rnG#;eS-pny#*e;b#`BFX}s=MJw_EiyuWxAwhah+cSP_& zuip1+4@QEhqMYG(W2#gw(ZG|UC1b^VVI>zEwNY!$A*-ua&{Zn03jmB_)z!;*R2{zL z0XHOxVd|UCW}rHAcGdj2UGJh6XVWMR{ozPoMaiJdPAHUC7r@mnks>~Q?yX)v+r7E3 zgG*&~2AWeN(zzu4>GFr?W0Hc2HK*j^lr9#??wYqXY`1;oX~K25+AS}OxgvLkJ!T(T z8TO|&C?Y!{eJw#{>|>C{U~+RY+3s-gm`QMm#5b>nFMmU)xHZJ1H!v}2KoA$qCyB)T zpf>krPuk$einU{zC>-!=Hd{3@-l-K%-LglMmFSzs&+pTkb{L3r4_I)=E^JGrn&nhh-Qm_ly;)$lw+2FV~LR+}&?eS*h zh*-_ZfSaktJS1=t%_5m~sS@nIKviw7K2sa%CTpe9RXB<_!?lqa+;S+X)>GzR!R_D@ z6RET16UiVo84MUAb-B$|rikj?rqmBhBC^|ZT%X9e5Oj&ci$L-g+*-#Sy0h7@ilfbt zw)#M4t-b5SiC^pGP;Z1qCb#9A&j4n;6>@ieM9@=H2fD0l>hIMSk9v)|uQE?N3RZZI ztFb-4uy8l&|E{L&WB6m-;+{|(hJD#DFJG5hELlH|dFlTi>ss(ac7~M49-7o|49_6< zC49iU@&Gj$3D#^vTffwuh z79|<|(9?0dH&4dZw(0L)wdF9bi%G#IMwy~F(y>CbO6JIdHK-m9G{9(OIGc=bd(u;< ztgG9~+4P~E1j2mGS$=%PDr$O5mU;X98Ja}+7c1HWo(AUK6LqJr=M9yY6>>yb^jL{N z1R)1SnVcO*7HW@k@etF+Dd5_KmhgPl#DJp~PFb>$ja2n~-cw%atoR zL0EKQDN`$zM`wy%|A`z(SSc4@Jx7$yMdT;EH-FO+_F=M2t?PRYv3iv;>5jpey)$=X z@^FSr#!crcbV`k)EGX4cRFAxwTKl`T zF@9)32GO@1=w71ON1BQ|=z-*ExwbDew!_L-!n_W=wZ_^zCd&XD&Cty!Ksd)-C;o=CDU!>b=w^@&XrERiH;VIDFGHvNxUDaD(1T-St|`@ zd}F)w`fAB+P!8&zQW2If8cFLk9QSEV%~4p&?I}*l-0h9XSaI;U14f`JGh(!S*gA`jiN<$gTb3_Ewc2rG1tk;}Ry|2M z(H|w5Nz^EYm~CxNt-RA|&85}J<<|scRQ9ZR5C|l_NDgi_Wnb{}4(v&a;)l~wVR$E5 zWDh0ou#=A_C8+IM-r94BH9AmtC%Tsorg^hHe71g`j!uNVfst|?J19=E5YJLK?^zYA zaI7Jh&VLa_^D)&m*ct3{r)wd>osV{ftv|=6D93Z>`_2LVxf6;IL+V)q?)yG@;1=t^ z6*PI^J{*#C*^w{3fO2CzWCDkcu+uTxnaLUUuX{sOxzvl2E{EkC<2gnmgT~dGE=W6L zta2r)sbH@Vt&kR{9w&P2oqj)@|6xZ^VY+XOOZE+SBZpO1*E9Axo=Pi9G)|-Sy_u** z8BgZGGh@Rl+UB-?=t!Z>vB6InEv|2<`gw*(Y#3t~(VCmYF>|xS`s^?yM45`) zGfd;0$vme(#%jjec)g>rN2K-pF^%;1ZW$*FAH1#&9|`Lcy)T(`2Y1@81f9!W?ZwREsz)io zVyJ!cSH&WIPxG5bsFl6(B-#a*@ApZ+(4^{)^b1B`0KA60_=kW-HEr#YTRPY(M! z`~^sCEzm|^{OgWBYibAPeD^krpuq=&caS#Eu?Cz)_mi)W92&CKq1;g$hj}7N#<8Y; zVH2?~7BxP2&Rp;_pAWdEJaEyLlU`=MW4b}fM{@yWmj*pN{0_3uo*cCJPhhrWuvNLt z#~_|h&N679z3CWGYPOAv?3{ca(pztxQWfWPK6n*fx3NxrK%X$7GU!Uzp8Y0aX*LCE zco_Z+!vJ4)JBF09n&4IM}Wq}Ws1u?3{opP&a*YW~n-O`1xR(zmW|EMSuFkqt7| zAI|WuWIIS}7=z7wN}1e-KII{$h4570GJqSCjrOl&x0+Dwg|i131A~-uJ#W?|Bqj1C z9JJwm6~5qKW`ZO5al%_Wjikq#pdqP)pWZW;d4p<$mFVt4QbXvgge_gB^R?uDj6}WP z@O;)I-)`y@;YWI@CD?l<589wjR!}bD#<5|~f1^!v%YYblB?HhB3H_RE4+K(NVO0&5 zvekZwGhF4%<|eAq5nqs(@U$F_Uf2uTApyn`Z?+D!=AGDOIvbDL-CtEd9N|+9YeLSm z@k}}e$E|0AGs&5ZT>?K3@^mm`*B~$Sub~L8#G35{L+ocwbomxI+!5Y2r5=6@wW@=;9 zJKEmc9d2;uN41y_@F8bfIo^MT!*^}C;pBD0R>suEwzP-L)mN4XPC{NXeqpu-9W^SA zX2WE&-*zf(&fYhpi$;hZ3MMJ#8(I!(Q!}TjDIJ95MJJ0cEsLz5vbo3~q@FZ%HN+*1 z)V+c0IG5SeTF5!Sy;*GMgXZpfT#nvM*lcO^-H+k=D%lP{Dio)UObv*rlf50 z;n#idd=Mh{cT?D-LFoU#+eF0w!AldJGO=)ws$Z5x3CSXJAk&gd#)D>bP|NdUWuCC7 z&VY{i1&?V#v&V`T8sB+^5nY%_|LfNkS`2eyEJ575iHAoQRMkBV{DtD;3#Nz{na(|MoD5pdu~vWIM3gsnE3IkwF$(|R00`rH8~76K7Ck(R{+rKHzuLC zOWJ7S4oVZsd3jDu<}EYH{+PIqRq7u_l?)q*{Vtne}_s_f}&a-iEKP-P*d74SJId^ z^1SppE|774i4a@wrZx1=>!6&kO*#1)*)2D=?w;7^a{!*4uB5?dG-NFot|fM~^<#@x zJ`qc+ItS+m zxGjVu#%pro+jBctM7Q_$MUJ&b$AGp4k7Y?SFBU?ui6?&6%X7|AdG(alzTrRoDE09~ zYNb3T-Hb*o)7(z4Ja1#6a~~7ZV)p_AJ%Q;X4z(i|m)v8d~ehvm3gF&U3sY+0`U)9un|q=0tBAiF5)! z^x@al6xfoZ_}TF7Gp?o9?e5D^!>8u8$@sg6GIl#_0y~NTaCV5^r&ax8Cc*x^x%)^7 zF8_+v7U~Ai%w&y_prE*1V+1jR^T|}B9-~)I&(XKs&<=E)vH`)QCn-GDFvVdS|2A$+V{?n!&q7@?k2!0sj2qD$N-= zT?1>^cub3j{?r~iwPr(xhhl{)NyIabRVL3CpZwZFau}T1s%o~vg|gLze+>JI+s%{O zQ%w}K%j0Wt696*3=JIG<|08h9b5K!G)FT-ko*pglLc+)He`Vv*3&pVdq0t)B5{-W} zt&HBU!RL3RSQ}+v*A;EmQ8w|?nq(yGy*o*)&RtsL#r%7djCqRDDX$(#3i9zdrK7EL z?#1lf;HkOz*FaQkbqWgCv7OoI)8}j}&$n|e(}ylIChf*IBl`8J$pxc-)KbT#3XFw7 z+yyLqz#Ld|A+(T0TX4%c-q`#$mbsJt;#0zI>PC6$d2x-}SI#C_NfI;T0ta@Yb?05C zaz+aWZHJI+r5B~|oEbOV?&_@^>~EiIKjsVWnUsIg&(^v&hkhf$#~y*6E?5olL{DI+ zKdiI1AaqnS2S_$fLXW3zO{)-6_QN|ufFW1}excCzx-E4w8pI~FTv$h4W!iRfW90Dk z9_koyKg^cx&4Lm*N&S}lkE)&ev?JFw#dM;J_R3+x@&mMeH;S+Lfab(feC_zE_pA^h z&k%PZtxvu!SgZ(DcTA>8{v_c%jDl5wXvK)$h+2wXv32I-7_kk!)>ieUl~7wNOLWqZ zHLNoeSkKZiv2eW+)1;}1JySg#xMS0plK7tM1)=7p`KrF#ygl{8<2348N@nkQmsTC( z9#RHKv{^QpRiJJ!rF?0b4u-#-MS}>JZYyL)4ab-O|dGf z1aht01%8w;3a81VkH9hUx-}Epe#bb}AISiREYB6UxLOT+z*;Q_zJ!UQODhurHA#SE(`0n6k=k#4 zn?dg3U1gyH;tMamiPAl=mR2JT3Loy|NUEpYdI`0uaw)m}iXu2CsS=&Nw}mndn_{Nc zBOHG{ezo9aGSeaDmpKlQfbqZur8o=6mR7b2$+(B-QlSfOEXR#fTcEYE`MV1kf7Pr? zrUt@FMiUX$(+@?^A-Nt7a zkJTe+!UF3m*)~Z;12X1eIjm z$>Sb8xV`U40@%;}mGU7D2JuX3`n(Rh8MeOhk&}rApk~YdgZ*4 zqKd64oXB`zt8crwcF?Vo7QIWm(1?2&eqC$T3E^|zq(VW6utG8sVLdzI$YON7bifH$ zOHol}M-%FlkQk2`CfVLCYQH6$_(gW7?NS>Wj1X=ro_MF+bnE z3+d8F9Ai}#vBdSo;seOBgs~iGp(n2+2iZwlTNC9fHSLY!CiLw3^eRZ1{5sGvEA5X> zp6?8#0l_TxlOh|ta#Rq8AQdzRVq6Hcm%C!JZY@7w^e}oPptIXE)+W20)j&66h59znlUn0x2`uU4 zU!(|mKn;o&5KwtsVE!l+Rdx*N2?j>f>cm_wQFU1#`yfoA{q${o2RxNE)u30>g% z!G<{PPU;0q+n5#qoe0Xj^-Oo_r<7?M^!&N5H@g`O*2eMGtFj|1 zz)egrG&f)Iyn!aPb%rk+FVxRB)K5p0uBLJ2S2e(JaV#x0%t_;2?<=><*ZJ9L&oqA9 z+acI%M;M%+t3~JlbL&TTZnFZ1jq13{Sv zB9!i3_nh`6TQhE$4nAgc4sn<7;sd;>{8I$$eKvvp`Q@A5Oh;BfTEeV}KaS<$fn~jt z@>R~)svaB}qA)cH;nh(rd+Mbpt?6^37ugs7L(DuGJQ!AqJ(@OceHZTbPx1myJlj$5 z`G>92vP=P>FU&&NzY(B97D6by*+P66@(*EUDW)zG_Pz*6!3}V=#|+OqU-?wbKboq8 zAhY9PU){2yIJ0d$p$nph5h9H+n{`q$=Hn$5_+<@H~+X2l{*>_{fZ zb3?9g^x-Zy(twZ#IiQ)npN>Y~9WWI|oBAq@K}VQ0iKRi7o_H||(YOk;MxOF!#tmiy zYls<9nje>bCdC`Gfy9TpR!5~@9w?$qavBYUo61%h(S9-gjJU-i% zB2-1rmt@4y{d&pER(y4-PPVZX%ag+hY?ql`J~z2X&QE&kjA-$CkgqM?k|~B64*~#} zPsf2j6ZIW1SmlexcrM#6SR$b(-CS-o7djKgKVHmyTFnWeLYx!eK7=qxgV}1frr+E1@}9br)k59gqth3qd@YV_f!Dwkh!M% zW-i8tVjtY%S%c}=$s-uG{mhy;SU)mhF~xl}OisDIum?*RQ8eR}Ss{+27vo<_pV zq~b4Q@vD8$MCfn_$4HFq8yFXFLd-eyt9gBHIo^cT`ibpc0VW5!Hy|OmC2uj7E%dc$ zj2^%jlRLrryU!VR`6kcz`eQLkAn30I7+3lMlsLKku1pohJ#o2-w=Ugb>sN`7=?3Ms z?#3q?$^O)N9|UdaQzM<$+1c6CDyg-+&B<+ zfrmB}>Z+l)vHY5+dty$jSrIKQ5(drMK~%NbJtr(IEVU|Q8E6|RuS3B$JpywFrB)M> zW>k{Qx3^wryVxB%={z`c6}CJ%;!;w#o<3jT&Z}+lZ_;p6QKpjh^FNI<2ve3s519s=n*zOamV`@tD z#dO|sg{%Xmxgk34p=Q>Os2oi^OtQ#F!PeubTrprP2QU(AY-OSQA}q{$FK{G%pmE82 zCE=`)K+6^M52F6`evhIwt>cnbQ=FxNr>M_Yx9H70_uGJV!lk3VfV&)0qCR9fGL6XA z04btIGNEyzz8qEW{CxqgpEK0X%Ga}HF0Nzm(;IUz_H#Ef`5mc$&p0^`PtuPcKd|a< zE-!6QH%EX6o}P54_+GyR>YXa^NkYWfT0&s4YgA;rb;}-PeODuJzJDw^!EhYLo4ZEZ1&=1GhlK zX%1)(lL-tyS8Kf|XS4qeB=70{0?G6humV2BSYPoFmRhfrPJ&ClL)W$i)6>#CcRkI` zuagFn5%MpdTaf7^h4A4xqeeXb=-{b3A~-Y~f1V*!XVHLha9@6wmgbEefpX>)ZU-An9eyuy?0O@JE=-2 ziN5Z&MjBt3JgFa=wwjm|GKL)H^I8zQt2+-J6|p4c;241D7cJkh-;{2uv#_xF z&7idfJZad0BI+BVn9gV(*J6*daF^q47Ak5q);Ibm1ZLLr!^>>R>(#j!of#Qxvx{8d zLtB>Cu1HAK&$!$!^#*?oqB?CvGMGVrv@ZkmzKSLzK@S4*`$cOfq7#y`B%#8wqXSI8 z7R;}v5P|?a4hVXejk!2PKGsyDe33GR*hX*62n$hVC4xZ`eSWI&bbp?4KXYVUusJAR zEP0HsTWR0QpYZ6EE5?nRlsMg0U=-qR31e;~)OzSp%4xTLgI?%)O2$c1lNDOjR4))O z1Bt*Ip^d{L$^@7kQ?WApafs2MzOW6i+-e7#F;wIlckrif9sfd$zuJ$PYy^hI=CtaW z&U&)=>9NBGF9YgQTg3D(f$yLbr}qWR@bFPb*RGGQi?AEUmPAUs0oG~A#^?$$;l;*7 zq5(Vb{IH$+8^EvkMYjECv$^NBs_g$Aq13MfLm^^FGygk8aYR!Il)d6S>2EqXZ0i47 zq+VdM<}*J(i#tB_3uUkq&qlZkdGzpoXicmDN`!Tde&ctgu~`WIv;RRsI4TI|T>s7n z7Hlv{+?-;6F*Z~I&}t`^B0gD0dt$b0)&9SDd&{V{y0&ZdZfT)-DaEaY0;RYUw9pnQ z)wZ+o8ezURmJ@r|>8WH3g6z4yA7Tx(u) z&Sg0C%ykshci!ZE0BdmV5r8@O8SK6VFfu+(2I!xY`UTsa85dD;T_Q7QUe5As*2(VvX@(Y^!a z8nFaXPe%gg^y(CO@NLr{T!9TLtyRc>PaVIn=;Y-hbm^IIOYX3)DUnzzHQO9 zsuvhq0{mt^8~9J8f@DcVSTPbXBj@nyt_cD@xk&%j`_Z54*{N}Vq0fK*&-__*f$Yzp ze&4`K=D)vk{r}~wXv$s_9>X#XF3RvO+nV|P+J=UV6`kK9`$YS9dS&&@$H#|&R#bL> zt}1jPJw07XR<@S{8i)QJ*^R#wvTRJNkstSVr-~Wa*zo+?K3Jp_R&7+<%x{h5$dhdR z#^=^2SnOFGs~xi|_Ht6{Kx$gi_%5}_p*6L+&EAL&ApDu}C4KYtj-VOGLcgzb;Hh9b z-Fb4&CM-IEt6rU^5zjOaJu1`c?#HvRunZ>ihsLvO!z)WFXMrzXyeM@)HOtJ(3Jwb^ z+5!HV&G5bBcnejz$eu)8fkuDi$g{O5&39~RQyPk|)d_10$tEL(Hd{)!XOe~0n}!6Z z-~Ej4EWp@2*F2`E5f_RRd#J9hI@91Po&i~SeG_=-B%_La5F|T9Moj$X_3J-GT=xt% z`r`n*I`;-I_UDO7NIrMf5u+mr;74a8sd0PMdI%Ae2}ujTE!@R&Z-bYgKZ1fjuJCBd6P`p@VWD`~~@LvMJkO&vNkPCYE9uBr}E#mA=_dokpo-=6erxYtzyd7gDh)*segwaxrD}&ISyl(wxpvA6_=)1rU2e_YzEs+jl%Y|HN z1Lw0er3!=Q1=Mux;;Xf2K2=O#vvFH0-d%ca@;4`s$3?w4sir_n8CmwD#gaN@%KmC)FFWv7V_t19y}>uj%j0qUl1H~=kdFZ7NLGulWeRJ&kt>3h zO%Zbh)?y#pms!D=PJtO_n>XiJ!7~<>%p6+WGGwIR_L=C7`%$i!C<4aAbE>APhJY>| zFVu21hUJ=He5xKyZU?n+I^F?ko^|2S`kq@%TmO-u5BM$+yu@`Aza;d%rlG7OOTnv& zx7q!$xJk2D>m)h*Y|nHB7TV2C+xb*)_+3K&iDX7rWrCOP7P)L=lPA z3Zj*#h;5PC#!uOIAxkw>nye_3c22Ylyd(2*$qGheyT!t(sBPoMec=anj+Pr+bDEyW z4t+$EEg@D6J9(q^X#M4f?g+6Ag0?QNh#9%X`lt+_^u8if?U^)-K27U0f?UIjsk1G? zs1*$D4+CrK;u17TSQ;libO>Sa!@`>GXrN0mKQT4Qn?PEx+O5pyN_;2IBbgjN_!5{T zvRItEc%4F-%U=3m_efrU^VTu!P|H*Ig6Ws6g9@40& zn~j-28Yz++Me6LTU^W?Ti`O5jqeW0;=Jf&V=BCI<3rb0amFwM0)@9Ac3x#^+fTtN6a>@CWrGKP2@yrZQrc2Mv*2kk66b(GmoZ(FylZYW~7@5Bh# z5$0ECu_4Sv3(G6Y=F0n=?RtAt0>-<}M-F%1-_42qhPxWnm<*tjG+SYHDK;y{Lj%=a_&9j52p7H^M?c$(d#dzcP7wG7B) zJgBX6efo4+FHfiP1jlC~t>&4hr+Z7B`tUZ0AV8uohjjkp%#pT${y&f@FL zmpiY2v`v0BB}7q&8_B+1!4h*q-qRUf*IsmUen>P#Io>E|JXd8c<%M#r*5bPvKOWny zd(j_PlGbr5u~D^jImY3WscY8aO#Qcy_*I z=Y9^+s1J*1*XX~_sdtE~+#!UM;5bhh&wQDyy$!JcNT?4-xHl5-U$8jMh^^vehK9P& zMDpy$5&OmaE7t_FWF+uCe2*=FqT@`Mp`7EVI@^SuEb|!+$aXh_1csNAg12MA6y$2Z zY>XMRKWZwy(R*LqLSK#S?3sT*>uvu^8P<@Pt&7cg=w!h}H$*8J7;3dq^{mRt1bW+r zxuz6V?wfyl=@7^IOuYn8WY>Du9CmW#e34LhNJQ#+MGneo8oZt6>u#7s+KR_{6ewMm z2K6SH@+BXgpLPuGMU4Kq7o4-YM<6l<#I?+4nE{gAoYo&m08H~7QGH2kyKC~1i%r2r zs#tcMhvkI7B*%Ei0OSoB?{LYYQd4y%XY-%(i`WN8M+w+)c{clYAU!?~(DuZz`<_v+ z`Ws#zH^CUR#)RAjw8!VhXQyAoOC~$tx#a4NYJ$VOD;w5H7s=yW7ik)1%dhpD-Bv*K zoDIQcHUrT#epKmjgucD>*JOb%>%My`d-%QE54T_kF2IJrw`4u_ouOv9o zLu32P|Js!WmU+(Olv6J%0qsRfa0chwp1$qT`>CKy6`7-GAKggxpV~#^fIC4x<{mcN zjr&H~!7{)Inxmh+8*q}_^-vcZamxARw1y_J>w7Un9i%H*RU-$2iUy%Lo>cOE8+Wh= z%}pM^Fh()Khi?+RW|>noLG8wrsuD99a9{W5W!WT+=Q?c$;Z)pjAn@FkG)qdjk~B=< zE*(Kb2ZhDX_w!m3K^iCHE;!F#_(YWS%Vxdp{-ZvuDMg03INRV^0Sxak4%R!(Btj(5+qEogWL%$%Zbqom^L3A2(1GK`n+C1Z$Xoq)NU6 zuR1Pz{RwI_IJ?FM*4y-mLE4ZQ7yfe}lCHal# zYZ1n=s&zGui4DV$@IvD{ednvB>n;$^xwFS16;brg00|!s4ng-1iqVaywf7^;2nk^e z3v#kTUl-I?o#Xr?$C1o&%O-~s04E*E0eML6ePv}x0kq$81*cOWB)AW||Bh=#du)8H zKv+JnC;*G2?I|pkBLEu>W~bfTE}VHf7j5`1WwBO9h|Yuf%G#VMO*>_#LNr1+ZFgN^ z;sY=_U6RjYMQd)frh`sY%n$>+m}&!9DEr39uYv5K8n39tFT~wmFflc9lyv@>58u`; zDm>uIFUmuqr*qp!H7g!JLF5*RUCcTG|+N zZuHucQluylou{HOiI%FR;9HFtRVRrA9ZQYa8Qr7qN87y*n|5O7xfZ@DyBXhvSt&qH z1ImG+gfwpkZa0=b>o0K?8dw`bTw%9&Z**WIr!z8J_|rD)6V z(mw4X7b~8d$zh)hua0_X)_Vk-c0oqHQD%(Z@C;IBUFE!MT2i9?ZXNc8r+hK}tMv(< zo(NevrB~B;^{8x~&u4eByd9JLjWUON0LcMek(vsFJI_siVG%7x_$lF|ALfVRd=?{7 z=}jKo#&eaFOD>IYi4}4Ti|N@;tU>~!wAxUu1)%9E9I!AE8G)$f&P^@nZK4FCckPLZ+d$M)NqcI%Uq zV@nhX#GDq$*87CvxF$Tg1=xNufoRPsly}{&t_{D9WeNCzNqG9|BF2s1;?32t^-Ob5 zXz@K8ay{4=i;_Smzm==w2s~E~Ejg%tGZ!yhE;X(fC_e%7w2!KgbM%t`!+LWPY z5~`oGrgg+JpH>qg(t>`w5{V%!QgZV!DN2>wEeW8k)jKkEkOTNtN<0l?rs~TB#)Qm? zQ+fW_s#txL&irZoqkFsPg zvNc}=dUV;e^gHeK@_rbhN>}yrMEo+Dj^yr+3L-S_#G;0lqpZ$0j!bs9pB_?ip!xl8 ztvLM3%p^4A&Q+t;q|xK9eDX}q);t9f>?V40zu(+=gh&6q-t5W1&MUBDGu?2=RxHae ziUnBS(VH!o&hK0$1#J!Dx}H98q{D~HnA;;(c(Udi>B)giD8OK->E}Mw$1AhJVLa|5 zAa?hE160d16!yH-hVUM`vhE(u;&@=t)*ybCvX>}7cucq%VZs5{xh|jYtM(Xkp2_KS z``%nU^0e*Gf*)^2<1Il;N-ANm8dZ8YmZOt3ojFt<<;%WJt-K} z`<1Yx)F(S=p-A-b#RjD8_>eOcAavwuwb`XaJ*7~NgE`;y^+;qWmQ;kzGFxk45h64z z*9W*hFZssj`D**Lk*8l((>-5@$qL^+>QZHKr7SX@gc6rGV`Ie3%xg`@I~nSN0;le3 z-I6YqH~bOEm{uv3p(**zE&jtjCJC!sGM#8SBQqB&iLLdWKKqc%@IT?Wr-y85ZyP_A z@Juf!nns|jZ+mXTP0oWp#(3FFS)AjLR@Y%t^%JAe`>c50&MlW5V~Yq1)rwW^h`M)Y z>&@mK@oq}PH(s^3KgGN3_^!r~&3W5;V{OpW%Vt!BRH3Mm^ogf}FA4l*iTBPq-S}*G`x|ozenMzqGCG$ba0 zaf-Mma&6Wv3C_)OV#a?}SPWnCpn%$K9#-J$rN3WfPKGj3*C$>0<24In{@s7&W*g3^(S)Xb5uZyYNBOuKtCYx|$@+QV4d@Pj%Cg!3!=Z0U91*tZ`>;+l5O9K`9FOJ_X3kE>_UL%P_! zZK#$3B2dKGr=G0~(5w)2s?2_%RG$u=5M%puB&Z;NHypirUeSKVm5beqi|ziwa)sc{ zW0m)nFTn!|I^F{iYT;@ozjwqa#-H-aU(tZJrFU*5O@; zJzsFY8vP7Ann*P+7TO2j!DBbm%=SRS{q;=8^xh7FJp-Vxc&l)J76P+_1CY#{cV zx#}HUt5|G+9#2Dx*e@Poa2wO2?MX~4;iA}>8RR$o{G~?5z8BvqM3Q(%>%OmDspjYL zx)A;a?SBHH@!bgv3Sc5n&FiDluGoVF=Rs`o_->fRvyLq9jq&@&54F(v;nyo$JVHTV z?x4F!QF#RK@X_5#QiD0211RCauG4NC!T z6V>fg3XC$Iv6m^}rh7W`rZ}8Wd8@a4yHJi>^_UYbBE0CA9K;ViJ==F^ygFV&lU3Zl z1}%ynugV(riy^Y3Tb*pz*VK`2Cw0L^94plWBnp=)bnAWcDXHnR(~3V+!ME=ao;}%8 z3uCz0yY1ndH1KgqNVS{zq=)eB0o7mFZtTz299ew0tY(k$Db6sXl7TXZjr!mV;dgcK zc(yVv#Jy?^Moe)fhJ|~tvv$`#g~%JT>JV{}TYQ`9&DZC4@wTF`%SlAvP>$rI+;wM7=g-OvyD`6tdr+w&B?14$-lIUBvV zS7yCA2wrRP)4S`0II2scgv6xr{n;&wx5!-ftvMgAEX=nhkLJ;hI&V#-gmN4x2Wr9J+gZA&-pe30zS`=L6~A32G($F|WC1$p z-JZ<-0*GOz4aarNueGdFbaw==>7+Y~rJ4RcrS!`E8f!I0dQ=shoYC{Aw?TM0k;ema zv^Ml7nbTLdnLMt%H;;J@_=fSwbqA$IjvGMH9}E-?vh{xwlGX^L4LB~2a5kaK6mru< z({MKCLUeZ!L)NE)2iBk)XB#>6=j!QR3%mOLmld318(v}JF59jvB!Gc!gR>HO$bhXY z2Z_W~Ard*5>gB_@-u}gI+!uxnLCdBS4u;DOT>Ds3t;Es}{=r^_RYT>8SfY_zPZr(m z1d)fd?|NE^Wri!5OH2^vDL9n^r$01%9`!Hq{)N?|DNzs5!$9^}r-I(+gh&<6$ZOgr zTCXP*b(fa%L1F^SSo(fhiaM8jJKvomo4tapgmewNjG)VJFz>x{A1fV~Q0;Ou8-d+* z;8Jr+XC_jUnPA&NMby&!lohsg{IW&#`ibgVKV@g_Q%pO`bBfm@hZ>}V8gh-+)I^a? zu&WmERt$nwS(G=;uljvoW$HcVMIQp5Rl$m_X}T*@OKQzHCyWqT{&h9;7l&aDUxgWg zOE-7nqKN5_d**!V=49xqRlu;ZYOd}A z&!)DzKr(;sN_R=z*LF2@SbTyBk=>a-`4T4N+GD!>EL1l*z5r?zo`+UsJRQgy^%r%U zbWOkZpy@N+-<$r*O4k%gC30%BOXv32}u6?YIVNPNhJU1Y3fR2is| z@X&8edvn6Jg} znDerO=T?yx;Y`(q>}$8U=w3)xQggXMst%zmfb?BXxT~qV>82;wREgr2m_8f}z42l) zvID!-CIr9Ub#xDHk2P?TrOqeM(e6CsK(8~C-^8L_1}@$VV1E1NE<*Q|f#S3uo35*lx4M;^6x0}&~N8_AF< ze}D!)PTd^?GL+^eU93&CXh%m!udp!JJ3|G4GhZShs4|;vcgd`yphu03o->W6)+F#s zya*tH?cBSY>lL?aumPX{nAhMWp5@1cpl8aPX{L;Zr@-c$GxaG(@aWxvdTrB&t+>w- zJ}IN*>*-tfwHs*-w8Q{;Si&?!-u{I--Q4*|MGt%>FJS)J<=(K8`4EzMGE_#@_V$bs zb2gsK-Tg80_Cdv_#mnM$K_MS#hM{EU!u2jwD*9Brs4^m4_nR9*&9skZ1t^x^W1R&r zu|wN&WvC>l;Pm&>uc9YCxL7ACZLQ{8ZF_H@95#M!2lp6T$gDd{A3Zy(akLoFB1qmD z%eB;Zc4&Nyi$vAbx9G>qtrCPqAS^bbq1JNRKOBd2NJO&)u41Go)fU8ZoxlOQd z>Qg`i$|3@i5)>m7X6pBUt;M%beb$y!n3psfWpby@*|gKY^Je0m1t)OZ_(x-+b0c^r z>sHgMX>QMCqa;s_&5|6tIQ&aDkAPqkC13*!s;Qyd-e%#mUWC;(b68qhLXobYT-4;v zxrj#_@0AdJHzLf9a$;m-={#K6(Fudz{=!yFCRn{OEObAcZ=#-YCD#fdqFGHRt}U8G z^VcY9gcTnNLd^1>f8XNT4Dr(jWb5VS4QV=|AV*#_BTXLhBifS+8kr{u47NXbCSV5 zbS<{;<%ce(1CjmAq% z%*=$B>;`8cbI04Q_>mI>RBJrn=ANfVRYh#eN5a=Zqo9oPmv-uYcFeRMryi8kxIG=E zv7Iz!CS$(8WI4kc#DXoO1T8#2@O>1QzNnqdia6DKKUbIG?7}H#V|9k^tol=!%|1wD zZ~d~!y?|+6=gwf*lR zV1?qjJ-}MEI;}JB5a)S?cxKgFIDr7rtr3ujbxWE_WjZZkx?xSgg5MMgP+3nG4`9-e#o(#`EOrqVnLCusAkk{Ie(>FvjNa}N4xnw^vrA^i;iIV>qY?utlaj?05D z`l#$P78#GW+{(Hj#b;Y$hLSeNi*2;q7hG3dlz2A}Q{2>w$M@E{{vpUh@4HtB&+lvS z5YN_l6OE&^I*8O$e||q$=x$sd4KC|~9XIR?fVt-#s|`S6hLmCCq4KQ8Ym4b-F<(i^Y;%+KMo=-NdMy5EhoPj;z0tyb4Hq^K2>SI5 zG?V5JUib+E?;5l}5#$25J&DhIIC^;E{T5DRr93-O@-(PGJ*73sV}d)k!f@O1{#?}$ zy;!YpX3_@mm-7TB@w?(ts;Uf!68W0tt`$HsXX~k8(x0g1C5}fbn`NtC4$4;l88-a- zZJKEV>(AC?MYs80R639!gvR#rxILjD-h;)z1*!;WUUa6$M@XLEcerKtC#GfI*L>07 zdPLAUu)OnKPY7Am30t$S`sFu0rudF&z#(efeqabU(#WsCbmMR@BTIPR$nbn;veIHS z6`x7~-Uy-KnGyHlw@hmoE7w;=s6kpuX~V69`WIAN)^6)$%D`2*3pqU)2^y=jPq3O8 zjDu`-uzU#09WHI}6Sf8A;s?JcytivsO(S*-0lR#3Lcbx=UOrHh2zQ8bqya40Xys>f zu5w|qT5R-tef)i)0P$j>8c7}mV&KKLwdcFRy!A{i$KN_mH9bb&yPmwS)|?+bftA5l z%iDbz~7%phhs6JnQPDu0=L-Q~6)3sgV|{A+;xGf0YjE;%Y{Z z#i4oIBd-idSYuXYp9kFdNjq5D-`A^3Sr0RpF<}-C;52sC!7Q7Pe60Wu$k-*2F)L@j zektQ>E@W5w6R!p^-DR^D^_9~6lVTGpo2m41iz`Fl#Ltb%1bESGvx!K)m5MIg-(;h8 ziJs`XIJ(7aqVdG%spE}eRb?@yUe9A&();y7oxo!)h$VBUy5keQ%KdRV>;9iG+s*5} zU^bLD&%T{#h5!}$GdWfsk2Z)gMpRfWHIkS z$~ly26BtlQ07AbnlS~awr?Aks$NHsvGu=e;0xT&6QV9VMQl2rm3Sv|0eOxb!rfEoJ zkN0(U1T}>kZv;FDx6{1;_j_hb-)=|GU*%WQl!K0ZE*H8{BwE{O4wQ~Kc(m>*I4X{T z)q9;}Qza%$m)HIBIEm3#SxdxUFl`{1+GIbyO`CA|Wu@!*Ld~(I`>DD@Qn`RvH;o{P zJ|)0QsS#B^3t0Kstt8ZJwvB4q(!rs-bn%_GEbMU@Q1q|K2Z|2TqBRJBP>pi-jYaj#j8D}eFds*=TBGma z%L97hdTg&-e1oYBUO8pu;vL}US9W%GH)nKFryfh`3#s@Hn*T()KPNBOfWW!OfKSau zZJlkobY4!L-RHFw`akA|Ec!U!)M=^JYcX)#fuFnVOk~N8lL7{2U-9z#b%m0`8%wr} z-;?}B5{!OjUNI*t_06;fS_sv#p6v{jM=N z8-;qg;6ra-gLtNArA5h`i*%S$G>YY{NexK#`TJ3R;{^Hla4=6C8zR*W&6NDsx}6NWO;mS@zNE-l>@+(VIQC zG4Nu4in`zr6&YIlY%bIgM7I7!E#O_^E8dNhzPY|D^JX)@F6q`%uzR`kv$~vN`>DQA zPfwws$C0pW}wxP#qS42U(q2#^Y=Z?3ttiH z7~$mTnq$dNy%??0f86sXNR5DP>Al4v`f#A~+y;(#KdKpZpQp+Mi_qPc1Ewm_v%6~v z-rUDGi;h_86QE(Q!(O9Jx{RaI?3d|H<@eG*$6Nn(2lPF7vvx2N5+7O5hb%Y=+E*$Q zwx3Wv)*?6_?*7B$OpwdQDbB1Ej{rz2A`K$mh@6}c(r=+c5qLc++JEOfM(=7`nG+7e zZlDsi7^z^rJG5n5ocrQoW%93$fO(zO<638aE}*1&kBJ)1cK46Q-kgnAt0^p(ACTc! zxis_Rk~atbo&dv#4g}^?#hCQqh~>HFXg9PrVS3RhSzA|X$QJt5^l`?PbecVb<*YO; zt-+khRQ0lPfMQ{evqrmm|0Qk<#c;tMu&5fyvp~gjlDp!JEfD8bA}DTb9w=bKuHUuT z8|t>#uLVRQ$-Ff)-Y?o?C+?oFRgVrGvr>*$GFLccB@s-6jgNw|o%TD}<}(yi$en^+ zOt`?t)m<@Oq}Adi|FjoNfz|^K?uVnz#Gd8CzV|TRa2YbX&Jsw~U$pgPCEa1ZP0V5!TFkfH=R!}a@q zl6nPk!4H=H^jo(a=A>DR4wXYq|69ONx{nI|M_{1W9hLO29wO=Jhhfh% zrV>CHW3IpfBek)juxyC=BX27kmb_UKiFsv>%f6AKSG{P&Kz3+#ckT0}=5GrLK;fsz zRz_*5xyrVqYfOU6-FNI@YWeC1V@^S20Si5s<=y|tWXtH#B*bUVCS4U4{f-JWcF*#-w}KrQ{|QNS z#e05iov$pl09`y{4fkvjj4|~xmP&?>M%>G?>VK62gx3y|f2vNqE;9rYVcZ(Pp8E+U zuXC_wHQsO8+Sp&VFU0#!emr(cYOiLas1a!XIt34 z%3a{9-{-&}CD^-STMYXyc3jsF{QoLC{gp@8XjqtYw?n|`kImWKqh!@fc?PJzJlzHpxlve^rc7u*N%&;I995l_*4t95u zEYiGa%8Tdy9d3(3E@3RSGax1mPbTsDSf=RMLCuemieA{MW9ta^K7YAxPj2_>B(`p^ zZ`<6Kd45N3+%VyZ>dV)b%!cD?VeG;mvdKjM(GvjwYqc*BwVyps2X7~$y2)i*Wb||O zefQJZOV+zcuMdCM@1U{Jjkn%szl(m>|Fh`V?A&r_S)Y(t5t24QJ`%D^2mEYgWw0sTQG_-cYp*^(M!5D@mUeZrKuFohQF0_XZj5+F2 zeFdLhX$y``lm=oGig!&2Y5ShxQd=vpwFbOH9Iq*}&BXaO)q3G%qpbGo-c`@a%?Sh^ zir)pib5Pq1Zn7Bh!JEcEl+1cfd@+Ghq<M-rOS*Vpf;O&+Mq&OHnDwG^!&BRx zw*f@Uhq{xR(c|sy0oaGf^XYqymjWuTn^?k%-!ga;nO;23py_JWbGbU*6oWE^&{}s; zlfUa}V<5lPaca+SkIw*^#HTm=wAqlt?o;yG4|c&Et=Y6QZe!QCMn&xvK@o#jF(3g` zBJ#=PbY$R|@wUnZaOigm_)6)oGzm~R5&Xz>GaZAkh)(WH#@7V?(0f@aA_r#Li(n8; zA%Ol?Ll#z%gilp*vM7>@8nzzY(hFR~$dc7PqRhzF8(#Cm9674toQe6oJd;MHnJ}K| zgkPuzd~tnkUc201GU#E*(U+5LcgE>~U?M=X3-(8*-X^2yMT$7?y(lv|f3H?7-(79Q zUBQ&XC3G_IJE|l(zin&Ksp#kX_dS1^6B=(GV07{oghOi7Kby<-4~3QxdcB^`EL_8F zKF+=Epc_Zd+&YtPxNu%tjAV$f$Rwf`rK?R*UCpN)CidfWGxbbOGZg?HP=!U`a}FU0 zhKm@y{O9*GiJ@RCIF{Oe?KOX{_AQsJj?~v7$&;Isakx3mry}HQjbybE)9g&emE-75 z{J?vO-t$~p1AZ@D)x~t_BHo6G?9ZMTz59b!P6TOlRX=Su!oevEI5tv#>Km`!M*H+n$l%@q=G@Hwfl-!xpmEqhyAt~$li{(uW}LOc`) zq=MdrAXA3L5&lWmgwd8qnQChhVYSzk9KcoGWyvzi3Ods{BOoaI}3(_VLge ziRqGEYJ?a-JHg#+$6A82*0|8uet%z1lM1B~^d3^$-2G*(w;B5}I*-Meo?lr*_7Anf zI2#dT%O|>I%7jk8<7dL?e&|{a6cYzTa*yKp-%k)wF#?r&fma+D!qMcLu{KkWOt!0?hZ?@gRJ`B)1Po36tcKRSFT`nkUwNm6q!QDE0?WNc#@=)L59 z4Yev(cxuHmC7<8hsz`&LQKr1&w=6>HwL6JFVP#)Ybph#e+4cpv~&VpVPHbE=M= zGUO_TttDP8y2UfY!`-(RQVS2Lx|V5I*tGPHG+5!Sn9kHZUl$E;uh%->QI|F3Ua+tr zi#y?sQ2ZiWSfgL0@!Ux#iQt&|KI@?PgDR+3Py(mG@$iI%X4$|s`wu0MaNui1yA%@k zTkw7#y(5U`W%goKMdNsJjt`Bfp^U)*RRJg6@#?Er0#0h>)H(w@XdlYrP}+?lRw~2y zSW5=V4>>~DM!(=ciXGkLeCLL+(1fcjI-!l73W^^ZSa<)liiV|v_>r?vbMS?WI3 z<9WBcIR2Rk9YS-lha4LcJ%7ucLJz@~HS-Q2b?dPH&1VjipGe{1%5>gs;b&TR*u;cV zH!+rM%D^{EKQix8vIeT(wdE}#`ZCcTY%oOdw!pW-K#l9OV|{xuOmxzwxY+WG)YiZL zBw{t~_G{AVIb=|LB4Tr?DI}K`YMoM@0+2wqX9EgnT_^6-KIaq5<4gz#MA}y2VvW8k zKjfZmpzs+mMtBw(`iE}}hnqg4b@uV5R<1gI{UaMUEoSW16qQD-Yv{Rp+C>JBB zwCQ5L0G;1!|Z1W+Pze4oo(n>s0CZI^f&)n~4+Xxi4zU{e2ZBzyCrj*oX8 z5Bo`mI>c3|;i4Pezr>T@PCI$i{UXBnjL6ftRED<|GLvcUB4CJh(vp53?LBdKQvEK- zyJ^6aL=-;x^Y~~Sw3*qR69S0@ zphfvr*3%rWU=I)B=g*&;3#p^-U1YJPH+ElNt*9iN4j)QEjw}@ro{&=(L-trwy4-1Z zLuxw=w87yqGwgayDgxi!PSI@sE1kR5M+#!Ly$op9WnK)gkHv?B)|=`M)Dis6Ay1)! zU2zcuP>(BmleBofU!BfaLG>`T_4B)n;$N}v8!X(ZA69qWLEl807>iWX`z`qR3=v}& z9_zIP`1MTXl{vLdi_*<}8@9Fj7U&`oo9+>&EJ!2q1dQpB5`Tou%_$o4PMOB^|1NZw zy?=zR^&W|t(Q(xBgwIr+lDD`L;X*t^5~SVLD?MJ7+~4?Bxm)jpsVo}5Q?xBQiw#WY z^_7|0+nfb;k1_t>CcD5kflj=g5eo!hVLEM;ZS5-M-lZkp)-V2nIn8-UCrAAPaud>! zk^Bx;R?b{zdQc-;-U%@aBYvgQg@=iOzcXocdw>C)Cy`$ZaCwhl$o;)&eGx6c z!^GF9v86FIGz1WGKdjTzwwYr=-7J1?q&y;x+X7FiRcBUm@$ve46P5XGWZ$*}IA&X%1Z1?r} z4f~^&M-_{RXMzSBQ(r<4C~3<9D50CeL1CO;S+pmo zYO2OgL)zwm&jiz^sax*v5<(WFz7`WnikNc)m}ks0xA~Qi5kVG>yo6;AqYBMwwwouk zZH!nQj{V0gW#~zkqob}!8DsDmYJIvuEnu!WbG1M3IeG9-dI9w!yn1jsjxauE6;^Zb z3tU%`MR#}3YOXL|bP}IM@1j4|*#X^Mv490y2UhSSu}OY(rtJq{Y*JSye@dvV&ZkI=AYtG^WU+IU^PgJiD@s=tgx6Z zH&xnwpE4vZC3QbV(2hx1IJs9=toKt1&~@l4R15%Fu<$W7Z&xtD+iwjbH~?xG`g&C) z)t`FWTBeGuSx=>Rv56;xE0u@AZpb@=tIf`&hOxY2GGn?#rQkOUx0ma6gtjZGUtq13 z)=Z~#)9~uXFbc4s;05-u&FuD4S{WgY>EsacjF&w@Y)#m5dh7MZ;$_>^yRUYb%2xcg z(mxo<)%REj+)ZBlJIGdc=*>yC_CJa%j{0jE`6?hbb z^27Ry6`8y2NgCA4rP_Vgq5W=V zrJOST(zdq;dxr>>7$O)HGHS!QBdhY_i~%LU+WQI3AH&nmi9T4eKN!#^P)}FBsV5~7 z_^z%`8_SFMB0tP=Ubch~c2Zs0T5Xwic|)8$xj*y}KbOm!taB)R06GBqnGXm*S5=2U zh;pzV3bK9v9rV3v&nq-B1JnU_t@9J4+j;*%iP1I3F7LH%voZbcKvH}VITuB^5MD$% z=r=AC{p#~yAYEHv;QdF(y=lKXuJJ;AD#Ufbn&vz1scqQUdooGKEp+w`+h&*#)TbD# z{B4%PjjiUjYYR=W3ETgtH_0IQ2O6sz`i<4SgxIE58UF{Wqs)S)x9UTbTV0Xtcm$u- z^Fo4xgP%Wp_Ju~owbXH=Kh>q=53}2g{os(0f>l_WKTq}XZV_56(=^AMndNifWs9zd z`llUfmL>8<@a)#G>v-w2>d=H0%Uni-zfld{@(-X1=R7wzs#X?#oH4Q)Ygi^dw!)+n zvlpXHsi=<*SUF{0+VtDe8%xu3!kJQZnIwIIRXKH?Cr?*Ng7m$ae%olPhvi9#cNGsW z!3>@;BoD2eDhkA?A=`vDS668l!|svkce}hve*8h|)6nM#j5_Rb;0JJo4}$y%I1#$I zGJduF*yLdDePfka7h(SgK)-eb&ZL*-^yFSB$hV&RMsNc*l|HDOiX99FByRjj@)7dl zuxQ^rv~#%g&>XDXPZ+I*dU)$c&-0Bn415rN_#FjG-8f2b%)lZphT5c&RSt@@1PYq+ zKOu?Mac%IUX}DP1dA|7ay-)UUNqPPOdIKHI^6jo>p^fBv&2x5KL&8$@(37mSVpa*01LD2GSt6Pva)~daWp>x#sCFDj8A{)YZ30rgz7Caro~EVX{f+ z49c;)&N}0p-F1*uZb4aSYatg&e=n^cL2e)U zr$ILn0Bz8nqU5nOo)kIWo<*C`cqFldx)4!?7n|&tykLV){txSIk!NZuQaOg!eNld`hYZO&J2xC87g2r(PnEaAJZe&Do#&yCK^)1}yw^a=!7R70m)4&9&X?ie=7%ZPu!=e`TP?=_l}Da3@!;ZZyuzKJok}{7NwL|ggv_?U%Lg^f z_1{V(+=_syHA(Bx{m6&s`}uvJOk^dTOpL7nJQU;{ z&p;|dh0+;{=2*byhUX^Lo!Y_a`WJ>PB#qnqMJ^Q_c%I0C@b$Oj6PB{S8y#ew#4*&P zr~mjpKAwn;0rz~BYA$P=MH-3^2}g};C($KG^){t~tMoVUtTLZ2Sx@W0Hx3-p)Ax)@?ye_|I&0CQ4Wf;+2t z$t6s2S(pT=XGsxS_$%E+;eF}n+!@J`<ihb45nGrna$n- z=Q(&&Oq@U4vW8eE3_CLXh=i_Rtl*8bO8>#TBHYYlM69r7 z+pxFS>`JQZs}&~5Q`9MtU}cMKk({ivSLwNiE9YiHMm$YMU&GgpUtzl*3W!g%-hAQm zST*!xnsYfVN=B~l4{}>e#4Hl&_W0e#tuzF`-lZ!_O}Ucp59ux}H;VJUyf$vuK(kA> ziG<_&0-qcAfklt3*s|(n48rDH!}Q@6p7PN=d*NblJv^8cjdqOq(tXwT(K80U3QK|c z^4M}f2E@-qJvKfp%~Rr-OYER7*49^g)5+p*X>5&?YV3^(vN`f>(f5k7e71szR$`NQ zC&W*UavIbTU7r&E*2%@&NAzF&O{UlXZNG^l_Qnjzx{~@4HY)JldwTJ8OQS9gi?#dZ z{=>Z;Pa^J!1q5P&Kx@gB8N<4+K)^0+;7Q1K|B_WQH&ZLg>VJd$jQlF)Of)aLcppgc zKaHYnYfqOznV2t%IOPr0-Nr+o+Q{z9YC?Z**p*F?tjwJ=kAn!|0b9~K4o-sbmd3;v zz`f*C2D`yNkygP!RH1W@JpQ~_z9|~WRv9)~1=H&qJK==(24FhZ7Y-0#Ml|{~_+J!rEHfw%u8S;>Dq8ai_RLTijdRDH_}@NYWN75TLk2ad&rj zcXvr~2^I*j=$voAcm8Yr-}V|C*B%!$1FpO<}TBfIrxN({VjK= zG}&2`Gz}#%6N&e~k=hZ7S)NF2um;W77)UIEwYVfpVTDg&RIWLcf|safdkY@unTfA} zraa~I#THh=eZg~r5PmUVv01WqomPT*FTSXWpM-Dh1Y~!fONb1^vBjRHVpnqvD^d=A z;&;$q5MZ_4haOtf3$gn9Woif)^=B>W7x&cs0|<@F)gj9|UU(-3d$Kk1!n7^-6SMdI z(g3!uEmbhw;IJl z;QHf%=JH64J1=$KEo;+*3z;Z*C;xnqMs0tO=FxLh(_@wT8UFELRJa0HS31?D2Z*z};Yhi002^15lpoqgFY60)IPD33UNUtC`%`5Gp+I53{x zPE#tRP^@7TJ!R4NnbV}g+=y}FuwlwsC%o+BwjYtQ_7(hv;{ClFCY1K`s6yxZzV1k% zE1H+a!RM=hX5q+HDUI0g2G6{GIv`M2a?FNyXT8a9NXfuFa)VSHB) zH3!Y%S6@&7 z9hhkm6dxpeEJn>kYFzSd&{+l;BYy024$@rHpq0aDqq*(LU zyAHlsNSS=ai2#oERYk4uJ36buVpI+O(N0RfPaYXH!b_I5KWrh;7g6^f_~I%IfI(3Ua|2u(<9-P8*{diAb! zu{0O(qvM?lh8e}$mHVpsSp)+AsH%D6X<~9$SsIm!7$^{RuoUVzz*;e{mOf&s;6;00{klzrdLLTj_BY=v3BI-Le!Uzm#Nqo7kBdHc zI=Ef~m&y&?PI2!Gd_(EJR8}@~5p=tnHs`sNEYxBq8RMjcC9RC)>D|d(%0k<>=r`UO z-nJ$Iy0JpRHWA_|cn}ozfpVE6dGZgM|A#o5+NRWzQ%t1m($*+5)UB6GyM8;1omAYG zjp$AIKy-f2e65r?lvQ6i-z0_~Vr{d~ro(M99t4xZF!^j^$gLcsCLjA8GppW!=p@KS z={ST98qjVuy%tx}2Nn;>`J|rmLI4HO+4-9)rB=cO4%qW}K!dQmV&S%v{pNV#@Ots? z)XW+(RSoDpJT)NEG;Lz{rT9$db%LQWN_B{Z{gw!aaJU%PR~*h4p2h z*hx>OtCLG%u?$g?T*Qbba&hj3-t;Nrac34I`N!-ey7Zy`W}y9C={o5aw5V8-X&l%X zSOcA3v1}5sLTtzi$wN^|i7nGV2GD80AVCi7EPI{4 zB2S-RxVt04Df9L1QqKD1%?%h2-eRHi`C-XEnGLCXS?P>nx+M$@ z;6)CmK(BUK5wu&@dLAm*X+*zBIwDEvVy+d96_zF9ecMa5L$lyCVt4-1L?&$ny@29N zsYnbf$^AAg+e^S^a8UmpS}N&5k7i}$?sz2z)X!rhqC6%Jtk=!0L&LOB&eZxKNWQA~tOLI3f zp|`QxEfph%QgA)}UFplN%`}Yo#hNVfGOU)^XNZqKL3-%q*m_(A>?yc$PPY_7a&=*D z6=60;>lM`Jh0tRbpuyS%sZ^YNiJ97{#RrjM(wi%+p76Bx8E(zNkJJXPf{yKZuwTnH z#^|d zR>{Xsfc&=gp~CH=%j2sJx{H2e&+<*_z=G426*l^ux)Zqd8QMfEjmEOf(p<7$XBr0g zHp~VX$R}>lX5o9)h>|HfsPRdb_^cFy(;caH*dpB#qnlfhY_ z6jUG5x$}}uw3YB`UKMzg_WVq`n;Xt!dQgut(g-31>biC-i;i{Pi zrD`WYs*BEIT<_1KNAddB*xDgUf+@!n5bi@)QFozzKv*RxjMfD6r_mP_!>fmH1 z(WVaF@zx~1Bybq55cC~;Vkqdx{@&1Lap1~ld8xk+dxg7FW)HTOVX_y*R8tp5Rm3d8`qzHTA!IG zXu+9lE_p*Is;ywv{4HXaTmo2RVv>_WEe~EN)P&zrS*VG9AF5-a(vkek_Ue&@-&na@ ze5$Y-8=?C!({#hkb@wPcKe7^K|Eyj}3Vu9A%4+dqr7IJn_9^}l2lttS;v(%fGOgm? zBt}6SUK=E8BwyG;>XU0NRsLunZ!b41D#jz%6L+40!H{Hu3fybH6{j;3vxXOr_iN5C zSNW3&-Ocf2dcOc<&`oZ*v%iW&6eHuvmMx|ba~W|v4EQ?7mU@SEKpp2Ci9*hM9Ou5T zw#Ho>k4B31m@y%heoQ=XO%zIN^5Y}FP1QGe^Za(kd<$)}j-i#WvC}Wf72_yi>C8*= z!f419I?>k<&Z>JExrWNrP*2FzO6`MH=mtpsNY=wS$$sbYIJZ*&_%jOt=jlFGU&X-p zsrH!lI_<pjVCKk4stmO0M)I2+=pvFsd@5AeR;j3$8z#U5OZYEf1*VbxD zHe&yYJ5yax)Hmoy-@;Tse_x_s zf+JUAH>kgdf=58F2AxodIn7Ui&go1b@z72dpUz|iD9>#D1D5R8rX!12!f^{OdmH?Y{_ z+H*r@kg^g2TU5O~1?Z7Tx!Si~*4LZ7GnlI+Cr-LIcF$G_vZZPQy4w|1riIfTtvQU( zCARyOCSm&~p+vQRclY3qbA8#9{AuJY2D^);(tDe9Z~Pa@us)${&ifmJ61bCg|1Hpe z-0Byw%hV1^s5yIhFsz`z(XDSX3T?~f(gx3cla_GSfghT|XG}?vxJ1e6(9PWea77R4 ztDQ3=j1w7F!N_X8N0Y_0d<-(1X4C0&3JOfBF6!F5mQJfq(rN#~-gBy+#g9GX zfQX_L2zbYuSIg!(dSe{@?eoant4(wOS+kZW**xy`{sqchNvnT*dbeWHKP}k&LXwAa z>zAh+p+y%!HrNbJWEXp{XXjZE0)EA-gGD-2H!^>q(+XiHxOLWD?%37Btv%^3cxy)n zWQy_YRf*h7rSp}F=Ec@+H^k_uN(1@v! zQIK@Vyp988kR{B}Sl%#w9rIC?^8cI`aBIgzDth z8>^@PEz~p^HCX=t5xKvEK}(lKdDOpuLPSK883?5a%@Al?20<%J>Bzj2>a2;CL)qsB z>7C*Wf z6`gvYf?El6%#>HV3n>nnwkd_AYuUFgp(tr|#syWV|1Ng+``Zc(stuO?Y(EH{Cy*cUbD!xPf}5j;V44}1 zFZ7N0<+W>a)<{#Hs)}u)t#SxY2$kwqQ-@}6_Eg%=+3I1(^#9vLZ2oT(G3}_rK+X{` zj;o; zx7_geHNrW~>0tREpKggo7UO^PK-;kB>ZaSvr*5t--)|l#^fWLzxjT3H1w>< z`46DMLU8wlnG4=0@m>d$Z-s@|!@Ui`x>pa~|AP!P`Drb^XQwd<;doN=)azgL^{ca~ zh`)bsJbv_P=PbNnBhx-*Nvt4M?In51hIdjKl@j}*;}bLajOoPT8u@r+Pk-fn;!NsD z3lgV$F&$e0*M+biiU6T6iNOw{FZB=G&ODk6K1&qK6WU_ zJoX4BXHe!*GT9cq_v1G`Lj5nY{5rWzUhdQqUuNjD!{=)JrS|_@m6$}2rGInLn`1GsvkmqUwBti}RP(q_wi!U=VsExdgM zJMM&UuaUo2JnRg4^l=L`e;6Q&K6@@Dd>5KUuGAYq-%V!g!c}+gn=f-&bec5x8*}cz zQEWG5h2I}hUvBDBq}kr|XZU@e@}7RwAWCMVzLKw=3^2>1obf)E$)SGBACcCg^Py|5 zM8ab>H{^JeSDvq8Z*iDD(_ z+QUk(u;3`}>aX-ApY)iZv=OuL>1nKGrJCueoK7~{oR427{v$a2v}l_Cm)`K_wGdZo zz_p4^k*kUFDzc?cB9HxMbQVWsv4&MILQDI5NPfcc={g<8Kkj5N&;NrH4z&M|dpWz# z8BcK#Zy}1Fg8zP{ScC5fn68`dQvxnix1{ZyR^cjoC>H)SMBwZ0d<1F$9wk-m^$~To z1==xh>iu_w{|-vbz9Npy%m>5uqCdOx8-Ev>`uoa45p0B{*(Wh(k-b&BCS;&JKE6U{=nV}Ut z^y@kB#_UD``~ymuE4beo+V}nnX8MrQba9~E#ao}kS1Qs~i1pAna7Fu-?M}{={=~Lozt3+ zS(G%ak!Czw?ptb&Ty41tHk_r`WVkD+zc)e$-GlYiTOD*{oeeftMr$GurxTG^>XTWO z#fD3fiv$*%be8**GWlTVQCtFQGov!vyNzy)hxeye?J371GMTNZ>*>etn+*tq!=uf^ z2xgD-d>|?7$98&k5W0uth567$rvUvxz4U+`fwx#HO2{VTrG^m74PqRstnPiU;0U@; zJ{A2I2rsohOMVzTD2^m9~{R zoo^Yi0{q4zZ8o&X=8CN!7V}fVr5%ly;KZ5hf(O@w)%zo4E9Q~@d=}kfrssvrZ z*3IH(!s)f^P+N!_R!jS@(9zSmW90Ib9|N*X(l^;FVgi=$KBlc#rCo~3N6Cflq^Q9~ zUOUeFbeH*GIFWk(viA= z&`nJaq=O$mBd&>U6e~9k?4PrX5_QC3g#*N;j*fcTj)c!`r0=~EJ{noEr!p2L;-yD+ zh`W0|w|bq0tcSs_esPcWr5=w`ZOO#Ub68^rQ$I6!C)_BUvtdz~&M)le{hmFXztmNS z&3(_!^8LcMaCqT`{<-bO@EN{kJyzzCYuz;*T32UxUx$#szB`qMgWT<8+K6Tnj953| zrxBJm!W+V?5&no(Xfe>|;N9NnwOEaSoLCD2ok+aFVUjFm?q=6{NH9JLEPcaEaD=&r zi2aJFc_^!_BA+^*_+Et{#h*;*35&- zzTw}9JssXpBR^YR)0x$w!}GZ1IdEIPFx8bsllMD7h-p~;n@p%4^fZk*d)XCAcL>|GlDff z{UW0yn=%4VYqOWd1S&4y+IxveorjxFXU%mi4&=2~5Ir;b&SATigzsqDc=lLlh9Vbz zE8z`B!g)KLlOS{tCY>fmn~#zv2H^N3!|c`T3_<=kp(lbsC~a4o93Ufa$jjzl{gD%A zu7Ef}G8?q+NYJVI5pVS#TBcd{%EIx!b<@&2shfmU3l{o%hL# zxVOs`Fm36KsMer0=5|Hr(de%GdVYq>PFD)0I0NE$S?}A+R?fM5nCsyx|GH&-`Iqi0 zT2wm_Uf6#j27Gh|UmNszA9&if74BvWd)ZU(fEw~1Nxn`TbKmc*$wTcLe#C-766x_D zi7zw>yv{^1Uyo)>4^q~YDs-?my=ZQfc!j4z0p6tJB>Q`rWrUYpKK3Zz|MV!3ZyRAp zkR!t9JIq)j-T7SOj@Nfx`HFJDgp7nMyy75SADv?2>rZ@`fYr+k@zu|~h_V>SS=RB9 ze-clMO&|$&`kUvu@f@bPCazbV&3aJx!>z{@Zcbi)q%ol*zI#^A>m;w@u&T7%6##^`CAP^B?)R++0pnf0E~IAa)+i%}$0L{QOTeR1?UI zgBh*V@=_ZT^-97|Q3LzoWvxh8$yb;vGm4w5wLt+yk^wUKG=&|#YO#Jcn-*qcft zno_W<UuH6s*NLWmG*)VR2jSRqKLT-?D?8rr`+2OMjctkNdyr@p zL+IZd`_bS&Xnjz7SuXX0BZ@AY!v5$>_Do>r%dL|-3W1Gld{w$QN{+e+3?K`&#~ulc zoGlexc<%~*pPiq>ZI)iFP|bAsl06E+O|cZC2O#7;?AgZ>zL8HdpmD!4_<1)v%up`y zxM1MwOLqDCu#h&h!}WrFn#)}vD6~D4w}gkvm)M7+V&nG+F-p?7r(fSuzIyrm>DRT) z%wUu^G-m=(Iwjeq_q^i9X^tBieqS%noarl&a`$Ld9XEZ7yGPK0SfOsttk^&tVOwa1b6$D@BkKGspAQWvd zuI~ByzD^aSI=F z+{inQJn6%XaSy{Sz%Hl#wPI-k9gd8D_r&iG5fyd9!ZhRooG1^U82Th5x1%aJ$K@nn zpxJrk6#3_L9V0BMdLHxBRR*TB^W7R_1W%`bVXHaZ`i4S%BJk}$Og6RaT?EOZk~~DB z5t<~-9g-{&koWX9AeGpX)mKsh3vyS^L;Gi|o|&Z`85fl%_x-e8vX}@w9$fxBy=-@a`ue!*PUgTrJ#`ziQjN^#ah;TId7J0aa^hQ$T zr>^3KOGx|S1){1uo{NlD{=!;YSGjh!TC{zAN%4UXu5-D9E|FM@bl5sNnk`9Ehr9Xt z3&Qh<)<;C)0-hHrm5?smVtenyPB9_2 zJ@!eglA@B@Dq2lyF*_>vo}m3EI_I`U{1X(qc(h-YHup-`p0BgxSCpZZWWIe%&uKex zNprMH*?V_AG|w`}?LrB@VhgauZKlvy<)%CM5O$dSpV{{AMsdrDKcb^?^zCveQ5>)(ULSA zwuWC@$r+Fv^rT_l5mgl7&kX!!cc3%SBi&CXFS1L|ua-GDi$a+Hf#O|jxcN=>5*OzOzPMX?|^n&BrKRtlHUXk_|zucdX#;fVu<+E1zKGs!W zjM_rG)2c70*o#9Z;sf!GR&P80;!(YM__Dg7dcB~QK6%Bfr|*(7#&V4TNzvu>(jQdQ zY|>h>r;DRj_gmE(+=?mQ9XG<0zlqO4_ZmvD-3MloapsN`Ac$W*L|Q95o!mk2qaTyB z`@2I~mSDp30{Fd^%gzZTi!Wx|E8*=r!H8)Qr6M?PX_uff<=UL_j-248py`v68kLQ2 zBK(ae&msc)9+YQWxseqCL)|>!GZ;SL6d?UwSSTvpS~zI(*F)#eV{N z4?~k}ls#c?ipuYxSSzaL(h9E;x{{nCT*d{8@%xii8}L2FtA7s(%U2X#7sY7YfhB=c z3>(y^{H`L)dF(unEl_QdPtK+UYLmpR6?O$X9^vQW>>P~`*=mGpe#vRltFZpu-rTWc zkA}C7sYT@6!oDs|T0*8%jgkF6{N>(}JADd&>91e(m3j`>%ii(F-Kb32#$J#_UJ7)p z@}eKK2e@|xI$L^Duw}R2BhlXX5^!k3MM}i!KC-O8K?bD_9t9FZ_y;8J=a89yZ8uO& z;#G}=wOI?rX9}!Hh9l&_m!YrEl{}xVn2I}t5q?=>SoVYbK=tS0m?fW=+7&8t!#Xzm zjupm81>p=A6kX#SBK!r^I_lBLw*+CvhEi7shGrVIg@PaUgA7aWg-v(A1m&k;$hdOyvBO7koNHE@!uc(yX*f6 z!S7D`-~8(-e*$xqI6vEq|B2K8{I#7v@LzBKpPS#5G5>CtZ!GC_d;O9%HlkfY)~VOM zdF@lF8Tf^h6|k$SywBmMUR|%D)hX%JZVv3Ea+uel>bA}gk3QE8I0!^s^Q87IzJCL& zv3~8-V_IpqAlQ<^@z>k*P8*FY7D&HzUuUk;(q=I_Ih+uSDl3|}E_&PcUSA&@QR&T8 z!|*45d82-B3444~BFNKK>JXy0$Ef4oBqyC~ZqdWGABIA_NLMOC{KZF|8fMjYTv!6K zX{QP|&g&T#T9;YTjJN?DDWAe+lx!nbdsP7m)ctM$vEW|1@e2>j$zK zgB`v7`)YPa#~(i54}5TBoM&<#e$FZ+IDU(-0~=~Sr}%;Ha!yg(Jvznqr-RezDP|q> z!+MX;p3G1H6~5~Pt9i+?QcEAQA(n>18qv(lnC8f(Cuy+0=;XiKP)j{-*^muXaP9B1E zP7{0WY8|l@+G-pG3gQO+fdtYL8KB|p>f6(F$~$DAyOD4boIw>AlJR7dXP8dE!UxZb zroJc7+sTXKS>Z*bH=zc1&?rA~O4ubZpo%f=-@P%4_-tBW|E=!HnZ*iWJ2{reMR`CN zDkr72=k>hFmoSinE}q+)Ysg!+rPKu6!ZU{%j~S7$+u6>CSvWZEA#JBMJxyxMlE>c> z$ae;_KU!F+U2BCzaIpd)*(W{NEDiQDwxE`awDddEdT&wk3?ES3V+%sCJi{`&W}|Cl zZ$nxoBKrXiT}04=>3-l2%GY4jIhspbv#mTW%(O}@lw!jqQpT{Sl9XVvifp%MDAK|! zp>kvweq10)%hkK$Nlp%wd?FvpSKdl_R3dYNV2s>nDkY?5%KmPU{bEb`im|5!ndHvb zIZsii(v^-Nizt;DhT{yg?|HrSc0Rd?CvUKGnT;7MHLHAb`z3tSeQ4G{BQFdp{;;DJ zd<-U*eb{p&e$c>yc2mthS{oys(rHZGhJHGp+j*YPeRJQa)%iRw=>qL6!>V*`BZ?_dO1!aohjw%}0 zHM^3_*XplZ(!}#?W^IEy9~>hKv6@gIpQx)@6*4IT zIWx3DDhT_6*{iv#UsyGUCvWsv+lR{kib=XMo4}&wz#2uQX4AmVineLwS(57FX6MSB zgpf--aSOORM8j=2ESjDs{IW(pEiI|EoW{J=2Y!%gl9G0g$@o{{vgI zp}x61mi~`jmJsywo<~wO(cAD#`?0MD;j5>c5jujZ-Qg*vK!v)aqys~+L9{GD!5c>ovF^3cNb;P#~|3b zYIlbQ%(jQ9Y;Fa#r2~et?GYf*q8rLp*>i}KM#g?$dlj$XXa)W)|0Z@oM_rsTIt$ zJStV1wK!X5lH4<50sA2Hjr@;O6QtY;ym2KjCVTKf=5(Dio;dafsfGmZTc=sF2UnVO zD_rb+-~CgBR{wDK7>l5&ocL1Tl zsNcG-M{L0>(O{6dCIWJ6N$Z+3 zFvrIn_I4cI50N$!uDVBSxZjaj8TR-ua5a0qgyp1CT`M+Q+2qxlAFE)87tf zgq=C+mN;hl39QgLa z`1!nna9`ES6aXgm)ukg#Lr&=EcZ4k+SHqfU4_iwKP#RErk5NfM?NnElr5lK(Heiwt zmpa*+iWQr4+Qvt%UOxkvi#0?T>sN3rH}G`QrqNEw*el-FB#Net6D7wKe<^S7lM1$L8=~YJzjgz zGSb%x$c;q&3gT|@Ek}gmL!gm9N>W*vmoD_wx;(Lpn3tf}fp3OIw4+8lDX-F%GKMn| zW~~GHYHhyx)|k6BklXn5rln5Hdc)1Cch79yh1e-Pb}(l$Tc+SKii}hlHvQHA-B9cG z!nbL#TW(c;j)-@TB^K=q2D{VbUc39QX%?vnJD3&$Z~S;E=<}UgT-Rgqz2l`XlZD#) zd8mgVa$name2qJ|SPbWfjH4b3+|7_Hfwq&cUS&s@Xx6<1-9rzYAyRB6Lsg_UNe1`L zX1pVlU)rB##B&}Cm!qolZsotnRDV$;q?p->pwwYcRzA+?kulBD%CdxIYen02_ZdV$ z3{JnSLX*a_4wZ-8)HfV0o)x;Yn!l^V*X@a(tlAH(&u37CtrRoZkayKzB=OfcVAHn5 z%Lg`b4iif80|3gLH@J}|)TI51Lh(D}BbhrdN|(g z{Roi@J`zuh491W*f&&}NtLPgSgYTc-BSXi)r_NS)!hzI^XFolv(oU&)oo5T^ngbd> zP6)`ZT#Dzg43GWYp71Z zI!{+aX-@6_-WC^H0mSg#V02OeWmxEbJI7EyxABt{az(R)c1`cHlI$m^h1oc25g=jE zYe~yq$i`o{H>~iDKF$(p}35=HVaf01w_zisfy&QLf^_sz4UpVoS$L4kEU zd%Ru{X+1flQd6^;|9XsO!IeR`cWJ(pe4go<`xNiGC&s{NVRzYQMd?`My25qRMDFtS zyN6^Q>0k1f>~r0xDtFf!J~6gfs9YYV`c65x%Ywdj(d^3RH%;#-Wd_B=^UzD^PR^D7 zGHrLv*XW`HeSDojydU4d*x9AG__$4z|43c!kfTuF!EcoqzyKgC3>xNtV;oHh?8fzSLZ>S7DowC;Z zo-JSEI9`gD9n$yG%ORvq_+poBx$CSk97T~Kppq$`q;@O%;8R5M?&}YgoFZD+^1z}< znAIjI=DX(P`1_+JZf1^CqN+t~C96kUTd~eds=OJeUi~cX+|t-g z(L=I(k{m0VF%LX*Rp>`jeTy2+P`RwyI_Jx*hHf+r+n0*kpjq#n!tSl11q(tD|9N%c(a z@%fFHo0X~T*5zVuM~9s?-8P_3(1IP7^DvzOmp@|_RrI$N`oehxMO&sy1zJs6HEFBk zxw5&caXYnDn^V!0i;{WLdg!8Os8!w0ubTH133^cU&9KM6FJ0~yE4Py7bzI-BJ;STl znQZ>_zNmVhbrm9tamlr2K~%r*Eg34&zB1qi19F((kNc}EbeF5AlakCUySLbMx-3Xa z0pk+POEMW(@8`=UeJ7^|06!IT8RPIcC$L>nviR7zZVFiSq2Zg2TNE+OS`E(Tb#zMM z4mfhqcR8JQ&mVeah8YoN$PM26AI6tnlVAe7f>`(G;O;+m7Dd=?a}=``Tkt}#*4OGd zY+$lZa2aQ{Y{>*lH;8CQ=BrRze?8+)itU64RdH1E#V>I>?$=;)Rk@3V;p+xB%aVfT z87`Lrfe+{>{CSzFj&MJ$nzKFbTP9!Rja26&S&$B&!_EwOYt_|xbed?ETQ>upR~KFF zUmMjxjE4R&AB=>hs<&RTB>dA;G|1Df$4ZTYl8&6JI3BmJtY=6&xpe#;?`MXH*86Tg zS$i-j%T^Ll=hitGFL5qqoa6m)WBN6fzSRgMgaw;9)Ks?9T%+#C*>tj+$z-zKsRTNj zOj6iy!W!FYTf?e`EYsn}GERE=8O=ar0}R4kRlPpVxTkNzQEE7gydN;`qIK}0N#rHm z#nFV!l9c37xAGl!zHd>PKjvby6_4$>OXHti4DKhNfgVE1)Pi4;>(|Rm6n~pb5>hqk zU_iAY?XE!1*OyZ{*bg_e>RyKEoxQ3rIpb>+b?FBrw_XBg)r>+IbIcKpTQsx?Bi+17q|+u+cGGq;I8C&L&whq8;`M~J>7XM z@?OEr%FLgESvQgcFBI5L%lfNf-%zq^xRrm(7(K-*)ud3>8g*rUs9CVqRw_rQk8aqnro z>8n!CJ~Awl;Xx*8l?eIA?Q=aOxVWX7K)3|op>#z>4DNXFhBIHbFQm3X^tam!*5hLL3-Ha3q zn`Tn+k1E?HP&R3y1x)F)1#IQ&3+%h++$1h)=UVkDI53&!!o|Y+v|Kl$;nePU47dc7 zXZzi|9}=5RjGo!!1Rv};xyEBdfd8&=-T zRg*YM2UPRk=#83Ups#La>lzRnfyq+{h#{sTFfaBeh0DY65>`~D^`^B`)7#1QTC>}l zE@#y$IJ~RHU89i$?R%(;KL(!JcO^!PYa+^Da?-TC+LdO)S7qZvU% zK+;h4@kDR!G1B6GCOpsq`5kp*HC7_tW-qXL!jH$5O@3t7-4UEJQLK&&o5B#Q+`*gl zp7eULhxssy8+cn_R97-_&)VK(>Xn1e+%Z2LhvB62+K=W*YZR1W;#O!NRZBJzzw-A= zr-t3q6v><6rtOuwgx<>lAl_3S4Q)1gZSwpP9r%dRKQ znYW16Q&gv1wF(RifMi-~Gm|fmg?)}R)+{Hl7sfpMm^R7zf|`C{2iQJDta}n#`*R6P zm1qve5e{yCpCwnI+p0qQhNFVUFlMI8#R=MV_*MleS(X-isUa>fF$V3Gjv(I(c$L~- zJm~%QZTNof)YpY)0b|@&Xk5s8v~x}9w&2}S_Fzgn#09DURD|ap^2A#=A=O*`H*FQ% z!?)^P3~#ObY2sdS7B;C_t6*3^EI;q@Gd_Q6WwoMOAzeO2BosLE1dX_5Ay6;-;H3}I zJC>UP!*HKpQODb~BYxpIMkw;+%Rw{IB@oi-J)^77B;+^AQoGrMKkuXLOzjK{esU=s zdm%Z;MX*?I_Qa#)=LTELzIFvNIFZ`wE0v3kx^LAtN35!ltMsmc4hUlJz~(bH$0!B8|>vHd18I6F2kB!G#Hy7uo9>%vnjI*> z68pzsbUD1vaeDBMgcI-y_O+{ySV(dV z0h0|4kmQv#^B0O-&9f3Yjl#CkgaR4xiAtxcp$WGAg1*1Lajz>Bv2gl~@5eDZqvsD6 z&FFq>ebR6t>LhdMXsP#fw<4-YR4)!?7%d&-6nO!l`Vk9H9k^_;ZF`lX>;V@AjuwQq z1hT&VVeV$5128ZnW{^HJ7st^a$PrIiRD^v?@Q`_tCUTL8zti6{PI@7uQ^_*4PwLf# zj>6d9*YQ-_=6QMk&Psj^hXif>=a_5xhg_~W^}UawE4~FVn?tp*Yo9jkG#p~7cEb66 zo}iiwXO7w9XLhHw;I4pe!t4Bf)7T3Y-1R#?X?x)}1?e2b2?!yr=qzo;7t%T8oz&y< zuX>7~{XcY_WmsG5wzgLVr%>FXxVw8P?(UM}4#lBZae});in~K`Qrz9GxI4iuA6;wh z{jIb2IluBFxpKWTne(0Fn&W=%(PzP1%mpKN3ZdajI1FjET&QEaw%bKWoL9Y*g(J4R z5wo)(o?#Ub@_x6fWvh!5*|$$G7F{g!DxN?CH`?kH_*gN1=@9vJQuy^}gpoH+ZMOZS z_F3i=gRVm&OFjO6*ZU*7?e49*v@lmRAb}=dYOwN$O2kuD<)TPrTBwOOTNSGJg+~wE z`AzYMc3UmP(iS_hK}Y4<3YdmjA$C3A%a^A$$MmEr5dPD1+f|{jN0VHP`zdP4;r%4de_yb}1Hk(vatO9N;jQWzBHtTd73(vJv&>!N!AGaC2&zIGuuA%s3tD-&$|AoV_K zUd*Y_GS$5^N=z;NwK}WH3{N*@(@8SwrVL;#sfoE?TP1g#I$%??)kTTxyQ*mSPahv~ z@c2ID6(mV*R|BK^6MCL7wj3kR6d zIZqP;_XB?!ope2|l!i~cdg_$(ki$|G~8z8{C-uHs~66Iuc*mrvgMtN@Cb-eky zKGLJ)A@fe;DUZy|7<#RgoSDvVIYuPg5V4P%Jctxe36~?82Yx|Qk*D02Ih&&fLmY3+1Hd-fDtEV)zDvPDmkZ=&|hrTP!$1exw zFPN)61O(_Lx>}sY~(~Zh)UHQ77F*E#q$+#(S-T%)p#El zLnh+YC#ez6Oz%>Gy3A*S@?SPtR9#XY+#YvKoUu32Us_agthSrG(dv<0%1^6U2@cJv z`pHAN=_EGR>_=L(z&^#m=B5-O;S?i4BmVJygmKI^a*`g3Y#Fuf3f*JnMME7-B+2NS zWk$Fk@7?Z|s@Z0Qy51jt#e~A=*<(PChu6B~$4`1%15fACld(x`F>fHdjtn1)A(jU1 zsH$M;r;iu-A-+rJPi3)~&5pq>hSFma0={9bmaG|&^f>MUfNkKKDIh#c-;ajUeowMpopPK#a-09wf-$X z;6o8EPDNNX8J*=mvQXf&X|N2~+k5Aw?#S=0nnoX3dKG5HJI1t1QSx!9dqI9*!&D@x zD+t@e$9Off5?6!q=~7}Oyw*!R!iT>@2#6uClX94b5Y=6R`|g6!xQ~`3n1eA?-Oe1Zlw%{u3C_q@ykp^JeF%*6;7`UugsvzcLV*A_GjZL49UPS_b#4<`VYT{F%V{ zvkTg-KCBU=LL1BCB%dI@q6qZIM@eMU41a(DO}%%?Nz+GZ1YMe3Y@Ko~u6ecyR@)&V ziZ``)u5WxCst0fTGUQn0c2G$bRr*-{=G}Y|rlLDR?9?3gq`R}zNh_u$!k9--j4p^& zkzQ)4DHQd6w91mJ#_PBGDb54~-(*nKtfoQ?H7nS5viP43Z*Hy4dT(Ac=(!{nP8Ym4 zCH%R$!&(udu~oW-mJcM!(ZS;s+=|GHU&K}nn|pdM>2&}RU9aOTKXcp65lX$xsbs3v zvOmq%4Iao|+aFawLapr2SivZ^O|*2zGYTCASL(NdqRhsyrwUWO(?|Iv%p{~O_o@gw zpv;vy<+O22ulFHkr*Q zP{AmZqoCP_WfF}0u(5_}1&g1kw984R2!pC(A22Gs#fU5$eTp~WJsp9Wa0l#_%Cuz_ zdZcXI2A}?*#u-_2-D2M$M0U}8hTNyVKM$j+wc4tR*&t5F1OY`~l^MSQDp?IdIjak{ ztEWZ{B8J3hr)9R#)?0ltG0pW%sB-0ES6PO90I+|`d%VvAJ{6I-HDWCS z@0p@91c^<47MSmE`9}ZXkbj5?#Vlnz#=XjAFWhBb*C|0OJh=U%HOEnzFByRwL^&GS zSD>Uk{08;?efAaeo6DuS-4V$vSK2pB)h63mkMY7;>S<8M@Yy`KTEiiYBiCQldrBDQ8b>zZj>UadA_L?m`e(f5pSK0h+|x&j;8bGt{`2dU8uib zdD%2Ngn@6<=>$_3wqZoMPQNSKlQg?N#>w0bheB@FE-Umi+^rPKvyJz(FOC}<15>2x z4!KJ=$bi#cnOam#T7{p8GcQSTNr*~4SgCpS&^L_Y3wUV~EQNO>F2)G_}=@T!JFHZR#$!0F;8OSOS|3jvJlRb ziz6bu=tecd7-_J1ZI$a)M?4<$l&e_dyG7I4;?<|wQ?C5>{>y1~!cG^T5*remIh{z_ zI^8LGH1eSUFXt&bNd;khpzbGy4FG*Vpd9^e^QAz0+U1BHU`MUv zLakIAF=QI1q_|MS8*Fsb$o?o~fi5DGP&jv^a ziu&HW>lIshkiqJO(Ts=xQTuoA=!>_6sSzR%=~9`uR+sQ}jZYoDkoNvC?rh6npDXUW zac8MD{&zfBW)j`}f8fEFH^ZwWSJum}fWoKl;Q6mDc-Ru4M-_S*ZwO};>gbo_`~?4Z z&6_&o0g?28{L}(km$JU9^9szb-eCh>TEkTi7jShws0&%C3xMXNGlM5DY zmtyW?wUk;7iNe4O8oYCCBue0iOD6J{Yormhv*zV`YdC*2y1LA(MJG? zP&k#$B=yFX!hSTTWj_zswNTj#K3vn*wN887t9{c0z%3iL$fQaV78OPXrTMX8AQzBl-3vdEk zdLmJ1{f52B*Za!&j>{(aI`?dM`o|K-k#L~hMg375UML6P-J&lDBpc54WvnjP?(Ut) zlF$pyWHdGg>CD3{*W*0y>Pa0q4!}%DB*MK?6=Gu4>a50bur!VG9S91qmOHwBXNQEk zX{`Td?nl(JcB~a`xXm6&X!`5%A!O&J`55UqXL!5Cm%7Z^XS&BS2@N(?StBr$AKt<% zCIUpJiXXhY9v*Zyl%Psim0>_Sw*_T;rLXJbp(N_EG&@S%loj7Ve%2}S&lq+x+mA&$ z&Y0|7rdbB4+YP)OIcM75+cH>#KQ6%{cL^L_1FYKhD#bT47e6I zKlpe)D38nAN;EP!-|Dc@?P2#_7t{tsp*mqG&<_tEUV^Y|fKhW+pSux=%8us}1sTn% zS|6Fdj<%-OVej5&bMP#OZXZ6x)=@`9=(&Kik7`VBr)@;A-UK_z5DiWgsW7>UW3Q#B z@y1J%r73-Pr9{-f>aG?M4Ffw^6(N8HKvA3Vk{CzCvQyxtDmz=L_T*T ziKjBwlAsx*;YR9VJ&%YdYk_K7m2i^ai0?Z9j8xZ6LQPq#^ky`F?whl>Ih=MKs6^8}nFafka9JsGn`Y%4fwjQP`&~P~7jpndlOUGD-gP zahs?OTSK1nm2;FV#r(|CP)RWggPv2MAU#g?+_GP%Y5i2z5v#*AvuXhKLg`T1T>4wx zOw(AAN7(-J$mxWfku;@^GZZg-qU~r|OV3YSGn|$R)}Kbr2{^BtLvR+uZ<00_9eML% z%Rj3h>cMW&A9{>wNiMNSae@p~YwW{=3yZ760ryrL1M!9e9srv>S*q=v;iAYT&bKqI z?Ger2ZAT2)8=R;WkR=lX(%)1{?vygS?5mjAy45;VMmxA&}sPbIZZ>v2$Y&edu z_7dOyqDX)56}(T*y;eMp0iI4;G~S)8Opv~K^N+-VTMqdL&hs&as<~RUHe`KsG0PR0$4k$lO>a_GIs}@+gKii=?^yGn`@NH^nHxEy$h?eB09HKRM4c9zoCCa1< z6U$8U0?|)9$kc1IA0xtm4QML>9+*r50(^=Rq06 z_oW3n$Ks|~^B9&)sMngB@#el}3stp~1Y|a+tQdyrrRcHo#Pj3n)jQ80Im6qW%h4!3 z>_5Y}uvQj!No2(`_z$ueLl-s_;{eKTcZc=S?t&MTE4%|?l;#N2KFxtE>t~T0&cw~%o_Xbz1BG{YVtW|)K?`PF`{Sxm^bjlO zm-*?&Q>RqCueY;~R<_5G=X$qD8bWsW6E8FG=k$f|k0r%#BkSc17Sf1`B&zeGX$PzN zG8TShNlwtIu`VPCvyL%0T~olVj%kT#mr7;nP1m7%W>IgCHM2bha~FI^!_26TOAxZ+DJ)w2li~nhVJeqV!$FLlEt+yiI#w+1Eq+ISwarHqI@GJ5D=nx_?%#02H z*1zlnYe$m~y@WN2cM3Mt&$iIl{ib((MvpMABiqp!vS@5)^=LmDU>k`IzBsf@IH()=cAiF_ z+nDLHJViF8oJDc+O{@B8tV~h3%4db?s|mKLV|(VIvtiawKl~G0;-G{+Rs8nXDOK## z?_fLh*JG?^w{~*(%)4Jo^?)QoR*40*glhvptlGP)4W?^B>!05?^cTK1TT|`h##NT> zWWF$_`*1ZqWqHMlprEhFeW0NDTqpHm(v~2cyKIcYis(K+39`{iWo8kD91xso ztOBjeFFsr72nDgb-x}`~UIUBz2=&;20eGvFzfKA1`>dkWG*??4w{B8a9}LpoUo0W* zyYO!__{+vWCq^<-Nha>EYbw_{!a-?^ZbWd1t$FPUvzVS?=*ADRa^h zjBM8UH+-q-_C(G--p=8A;ePrl_-KS7z|n5(aO~KvqBQhEpeN1p<=_0A<_^kw zj^9rs7fpCRB1pUzEKPL#Nx(U&3e8SVSrK+Q%pu!)6u8e)doy+Ta_rkp z-x3d7jqjVILw1Qj^CD~U62%^V_U4b>Qz<{v25w-G0f`sFlAk`9-!zLBXL)5xwr0I0 z3D!Cd*Nf&_A9_7&FZ7i{#n>i87UB}{iJ=|W-=hFY8R2&{bXAOuwX@q}%Zxx-Nf$>j7+4-`hHjx4 zkesU`yY*fm9@2ntqo6$9R!6W@t9_=~$i{=#44w?+GTaR5_woReM*2Z$NN`GAJ3E6`J(StyB|LO17Mr$YYlR#{p7xtM<&ZY*C`8RO}d5d3*#C2pr8{~Po%yD@@~U8YRK%WO$s zgKd$RZ&5$ElyxPn%Fnl&p-S#Vu1Dh@*O3|%A|@BOCJ#i|tCBhdko-<5dFj=ua_(MF zva74&;K?Oo!M}x)P`m}0?1#GHl%RPL!}sO?{!|I>Ztl}1EeSsk6j7z+K+XVwo!a&e z`pd)}L*`1iqsIrT-zg}6hQG5zw{K&NPCi4b*-8JE#(CND z6yg7wnEE>z0wVlpbpiP&; zuI?Ru+hA?zjv6jkw8Duht}jLC(c{iDC}FifHHp1f#eEYVdnNkGZ4&d5+@wf2#|Jv~ z_rZKb&k;q4fGq|hupPqyX?c-$q4NvqzmH>0I7o*$bgUNVZMR8}H(A#Y8;oXGD}Py1 zf{3lkMsIg=@Ts>{9zFvdiizRP$DN49j@sM2_vnWu5otG!+|+WL?lCfM_y30H3-JGj z=RwDhhltD_t^WYXZ(8#I2FMF-ejX%CtMT%sAyA7dfq?@F8^WVI=HWBQ`a9u6c|Di( zNsfxrDRY#r&+Umw%$w+4Qo|Qh-**-3D%OhjY3Sfv&vAyh^)?bEc!1vC1x&|L6Fafe zQH(&W#E?;Q_gIJ=ZhPiDm1@cyt3B+bn3Kc(SQ%nbHu)oV7VRZwm;@tpZ?%lm1QV`1#XH zxv-k$57@33pCrXwwBKz3oE-E~6y_aL71c(kBB0Vmw1 zhG^r7dU&-o{NYtIwp^qW=YI(6GO+5reF$30k`(Md}1pI)B^mdfX24VEfW6d8|nz^F0 zoPAYBAI~}NE_8SUi*Y#b$*K!Grh_gSGMF|el2e7;If=2GkAw$&Mh35q_fxD=3Q;N> zN0y(%n+QtzeQtOJuX4wpRcAUL4gfn>^j%F&C)c+5ia@tR$#^j3@hQ7q>kl7}ZPgMS z+1|NMGWETGMJWozo##*AZO9&0L)A_z$I$+|AOn=qp4VuGd{_I5Jw>{WK8;RtTF#Xc z5Ya7UyH~|21VqK(uDIFq$>Uo$#(m8`ZOo*h^-}{%gW%D#w41gEAC&g2pEon8Y>8RRfk1TU{)16j43a+eKoMFuhR;*4!B#PX`-9`*{V%jO1=zpxe>C_wld> zDSp2h24rQ*-z9{*aC81B^ndO{sRRP2FFT&-WjxrQ^+Ap4PVurlICIjY5X^x!(wf zhdC4Q$JjAbRb42kNMXa4is$YTG}Quz$#9eXoCfqz$?~8MOK38@r{C(n8v-wQ zZv64-MJ|>gus06ADF=8T>+0Cs_Wl>h?$CUs8E@@<4NWEgGpPFc{Y$FrS$Z`aE@tkq zqs)b~ztF39eHFXf>sIt}m-(|+(233RNoNLeEf3(p+*Ph5G^iV%T~@lporC0^c)Ow2 zDSR(;n_?N;{#7y8p!BBD3VcelKRfGr5qgNAg?*rt>$S5F7?3q_Xm)O!C53`|(q+@| z5mPvU;@9pUU2rEI%}dN>M7o&l&>;r=rU=$4$0~0_V@IUb-*;2^XVJRUwj{2*ya97k zLPG9fTcP5wKUJI%eHZ+gR-2VL8WMM6B{Sx0qB4Eqvd5iU?QQNik86Fn8@J|SlXw|9 zDyMPPSPk?ps`ItA`B7StXD|KaX|>wmC+s}oXRn1KA(Li{YAgGPo!`z>N;kZwx)KW# zFO2fxyEm7aW*@gDs$Ske=*U=g2r&~RP~95j%Fe8|&L%Jj2AH4EQngK+1b{|3+W_ z1c|2l(eXK8l(2dox8iW=`i65D(%pf|hb`6)jbJR)ubl+D_9GE!QDr3c!66r07d53l z{j^LOxDCkMwnROGyUX#9b#`mR<$^wZ=y4cdZr+2-nff13R+VmtzY1KLGW`X2I+eJ4 zC9yvPRC$vTLI49-NQI@(5gB)O_y1;KCH_AHi#E!Ast*Nz!f=2vqtxSy7N+gaA55qD zyK&Xhd0ZyzfSwB_jpTz!B&MdG;n|b*DU?9FHzc#ZKy}{sQnbEoTDV4%oB_Fhm|6RZ z!B#GpekV(k_Q`+Hq;=u{gC;GfC3l%-X9AsdXc%Og0Zcyx=t#GENb5u&$qXSz6}@?h z?>$>7+|j?x6lQ0nzUkSjBv0{~iWt1hsETUq`>}O)KLl`l$bZQMYx?HDFlFyC2=nI# zO1!xw+fM3O1xL#^rOCPKSK^Kq!4b5}OZNd!AGw9-#VZ%xmz3Y79U zZAVudZ{1dPBcY%|Nube;ST@@yRt()R{k9YIVvZU3g;^ZST7Un}(AfsBY&ttbr#V%! z=f1X7Uz@NVfZ21faeu6!V8`3H5-PFvBl*vQs>3&ECD+%a;TkpG=#i&Vv$;hj;{es< z=tkz6A+0~7Z$b;Jd>|QSB-YZvEle$w8yHJ@S5jAyAJ0#17eeVWt*+b%_$uA-m9k0* zORjMkFF6j;j`5w`0T2D-WnLwm_j*3cG%-tHfwFE2?;2glj;Y0itgnyqTh{f;U7E`R z5XZrZ(iYERbB2*;)@i?!Cpnlh>W4DM0a0*X1P1nw4BfVdv7Kfbp_yC1C0Y+e>3Dg1 zTGXE+O)>o6pdpoleq`5fHw?POWj5sS-4WP+Fqw0ssqwyi^AjC#ZMIEdx=ioe_+-=h z^8>L50seD&HhpX7seq(t??hc0R<1O-;wWa>sp?v0LnL0J7&+aBa(I6o@=4l zlV0VPNgsIhnyPp&i=$wun!=jzlhQlBb;hbq14Uk{EW3z$9%QLyrIu`JAHJJJahkEt zdTNWl;^$z?8~Qd~jV-vS^Tq2L;ZX%@mmvQzhXXcnUI3FGySX0RT!C3$c$+7DBPfXV zuc93Gdzkz1UE$}M@7O&m-Z!$xgA-*LXgC$CKV^UUd%^xFIe44@Oe?Ds;i&R(_^Ir1 zQviG!3+YlM+E)S#jhLqKkX1NtMZGrdG}7^DJD5s^_mSH_~q z6}3|&DQ09Y^d}LgB23Xya`71(xiT>So>y{*dE=AP;1@QmbyO%-kt%1Hw%&S_EzF=a zN!7Kf#@Er)=;?E$G;E0ZZhz@*pOqttC#a2JrHK9eE0~+gK6(RRLSU|)>#xnFcJDoU z;Lce>!UUIHasmZmvHC-GHo%=9bK} zjcVeD57W;5zH3@h;)EETd=+crffrLiMBMHnirS@M{}w9Sv`j~72+(u_vTn9crt*f<6r9U$-We-G za00mEnx5Vy4~*!gXlHiSW8Nr;@}@7$8Gj+!aKcA!{^7zFEM}!xPHbDv+Z03IzVF=i z#{>7^OosMh8dw@~;!ircObnxGyaQ=qRSZshN+uwM7uE7D;e_%HibuJPNr zw4(IzeMkW9bx`R<#TXB)_UPwI13SRFVaDDzT;TqNI zfq9P$;kx-3xpaIJAaXYz)y(^|x?j8QEEQyC%PyXRiiVBVuRDoO9^Lh*UqzoNyVJpU zf+cd1up2km__!2xY95(4p2)r|?_h<$T`+K#wI#$8jo?Pc>PXYW-FDAbt;?}F>-l{J z^-~Vf!hvrhIG@qt@e8ctre2L2Y;#vBu+=wkDYIFLevUG#NWaM1J0wz3Rk3_l?0eMK z$uFcjXcHbKS6}w@x?&8juH_&XO67cD_ig?2TWKpmh#CQiZiPD)^AM2;Z;>XDQFWEi zr8XoibXPH!n=#nQNA)6DZ@1ms5^+H|H_sNH`}I5Z&f!C0%2QseA30^Gyu>^W-<6-! zAGaY~c2D=rJ?#>TK0o5oj8!6xuGxqsd{fZ$7iN7&8rW5|jS}<2uu{czE7N4cqF<1v zsA9Tr61$hl zzt6sw`_jKCtf@8rqlHb;6*J1}m7BQtE-G3N2m1SKU!v|p3|jfor~h~u^NN&xIzObg zzJ{VKQ~(5N-te;cGWETVTU3Kwc&FUUV_y{Z`CKhQcmGzzyy|B-o?u$vzjAMQbipEcs8~<>$>p^~laOWNy06GU0V`^ynV++3T*v~Pj7mL>c`rjXpwZe~pJJ@P0ULB*Bz znE~sgj(F~UxG#-^AnXl-{A1{rXJ5}1*B2Fo+RsOc9y^B zYpmsTfMD=eZZh;+mOp(~q59SErA`zZL!s>67Wbdb$~~Im!biN@ln zX_SM~w!`8@PlD_*IO_z^g#8Po1dZ;(wP(!NOY5&#zluzzD!_KB*MPgWC# zP!Rjyd)9|)x=-c)Uv5UVPsDvhQ_eVWH>y9am5wm*q zfP?l=Uy=|h=CdBpU7Y>b%kSrhR~eTP-4vBb@>bG3&^gXewxt)w4P*j~Zh_#o+!(%u z0>e!&F^^Um&P)aAwUHKz$H}my+v?*1@b-_l>ivvS!j|$6qnu|t>28*DFbM`w)5RV3A&7ZrRYT12lmhs4!U3)EE+$ zDr+CiH6FJsJOJNSU%7hTv`;5wm=a7u`c&NQL7{FNWSK8rq>qE+QSwbS8yr5^SQe{; zsk@#aD!b*ly}gogKV{+V%}IYsLQgdFJ;h?CkExd1h%RS(2DpG489bN@0QY4RJ9 zbo!JDf$;_B@yCV27TiO6YBr0Pxd)f)502bgF5G*x;u-sFREXtEs$p0$nn^AeQ@X`Jr z_T7j6)yWz50 z>*b}QkgRL_FORU_$DUW;v|Xj^=P7t`etnCz{QP;-17OmVKF(p!qUo)|Wx&?$1NHsO zOULpySAgSC9dx`o#%ikLLv>jpX$WL4)L>qhlM~W=m?aBQdw65XvA7^rGCvn6L0eVD zMwRQ3Qs6OU-3i+Lb?ms zo+Z`f-AVnHXCZ!}yOlfrE%=DUJMM{G67APEe>rQ$-aj(ud{&LozH*vDgn-|Z02$!C} z1qhKUa%&H|3rz_@^*F2bZIN zhXaaoHhX3MtloEvCscM+ygs=w54JYGh+gV~m{3lYLTL{nly4o(u6#-qpMg8v=2d-j zFQd%C8d;*1sgqE+$JwmTxdOz@_J;L?oWnpWGwp$)uA$qhY!cC=`c56ZpON~q3%4{2 ztQ7V6*IM#RN`n-AUx^GyC$ZENt|?ZO59fSKLP^A@-Pska3vH zF~cyjM_%q|2D62`yfcYW7fZkhiaAxy5Ag#+&ok@Fg=G%CZsZ9Zux>`yy)+IW_!>kc zr1WGKCIMxx5EhI5^`t%D11p_?io;dD)<2ZTHLCRRI?n6Cy(Z27PZ`v zBCXevh+5RYZAv9_!x{dpUL_b+FhHK3fJmXReb=swK}T)JL)vHCfr%|VD%+6y=5~?w z*n%v7)uC68S6nXBhv6~%y`_r|fd=3aN`=_^*+@)zF_n}WMB*qb4J=x zR>*r$$~$C$Ezg_jZg*nC4$uk3yjEPT6~Wgz^%}QXQbZIeu;kPZ_;{Lgxm&47$?Okx zqL`mM7(3W+(yDoe-}JPf(JDva9hx>f+pw#nw~gv_B44>bS`WHDZyDOVTw#-Wr_)g~ z+w|)WP2)f<9RRyxHhCb+KccJ>E?4LZBmCNt)oE z`9|4vgXaVCqUutcG2Bg=hU%qRBZ7z`ZWpQ^@rVr~$%N3ORp+E@nSqa_vT$-KZqJV%N_lXMpI20UhZ)0NVYJAo;pr_HVIWb(d{E<<+e;R|hmuJmoK{q%PZO(T-B z&p*>`_M`#D%w96Y?6kg#&)4*x_XHzTQ@(8aP9}jD+aeN;2Ss>IJ`Xd4OQ%GhTr579 zGttBkit-Zog$+K)kE*Lt{rJK(Z-|HA>dO7lM)a2ap#ds^0ks%<%e<~yX^ z6wivUTsRuIj(;)&B+V}ALQQLYH8LB&*|?Hxt~qrOg(y7Xo%I@)6h!XiQ{2tflfT(5 zS3ZeO!14P)9xu$L(0a!tEKw<6oHiH>LNn(NYv3Th@D!s91_QUy4^ZQ6_yP|ubqE*GD=mV6nf7{;p zv8Bldx{YaAdz-9W9J4$=eb0H#1{fdXzhEN;dK)^!7!O z@TIqs=C}pyqGJ^+CEQ)4gjLPTMp&*|>i@QQB81qXgi0h^hLACh)Avj`7U!>ndg(rP zk=0g8EdlscDI4$(&ZskV9tco{x;MT;sin$FS&Y{I80=j(Uma9mW^)!r?x5}f7eeXC zP9Fyz+XVOc9ZB`&+7@_>?$a|fpdLc5_x=&LU+$?7ZdA8^gNHVRN)H0$ACMPL-l6n=1G5LLf2unU^bbEw%>S@#WryH32Dyug;Mi7VzfFLn1m#kIZ`q*5^p z^9DWg(bzUQ1#Kcj_I9)M*= zr*enzEXP}~##p>N_`Q^#Fs>d3&R@J*R50KIC*TMJ?xw_vN)N4m4o@Oo;`i_JR8dsw z94CcLXv#U1O{$fLG_||obY~BlEbVrCp>iz*D_4a)vqjPQTS@D9G9=*TaN8FDVnOHk zoX2_i*6^E;_SW<6m4Cb$!ha8%P77n?Kl6TNYhsmSXKywtEnMP8_f0wj)z{WT=I%Mb zB1KmB-M~~H`=EvwGNLgO+tu;GpgGLTP?;65gN2VG1h4y6TN#2;s*8u!D1r4?2^zH}At1@LnF{K9)R0dnJ155_v>ZhBK|{ z*JJgxJLGGoxR$ts8dQ4{pBIv9D|k&s zHZkuCRmJ&;e>A}UU{yC_`59{uH>QLgghlAQ(PT&gEj4-vq_~PIU{En9Nyf%vvP&%f--cDp|Zv?Ul&=Q8RhSGfnna6g;2nWk&K` zrsB%oc*9y=tSzxkm%tg2R@@RvKA}DOoO>)h_eXym`Pd|1{os2h+oho%7F8RY^6Ca< zv@#Zk;G0C%e*hT2k&V^O_%C_|5@v?sO?*NF(#f!@VVo7gjtk;hGxt$O1^afgw#91d zy%)NEnBK?o6={InD_#7PA78nBii;^#JZy3T#uyell0PJqS96Gz5Uo(leh^}}HV?nbt3?fjm35pe`DBsmZKcFSBP&CLDvqL`ZGYpsoL7D;<+&*gyZK>U)Ns@$m8 zR6SzUV(5%EbAUU@i4eKCGo=G7-qlvK)#M>S)qX0zNZG9BvcSul<%* zia@q6gr${mrhY2^cRK`?(hZ9`!c-;Wcx(BcvQnQ$i*;05pjN&}loX>xR8T+K#d~`X z+QAfRdG%!LPV+6ZcrC14ku2jQp6#xf0+?zUY`t=s@leL8OvM1F1U#Kndx4-uX#W{q zlI4(^S?m?t_;iDg?kVjq9n3ibof;4)FJ(arh!{oss@Bac2U_d+Z$t54+>Q{XP|2nW z-WMPxedQWRpj9RRZnefj{;M19H`?k`*cdI9lckFzJzp&FU}Qgt>4xn=Wt!txpKBp8 zX03ZPa(?t`E6uU)*RzMX9>RoyaTFL1`d=|Z+w~{{ocZm=-A%{7HS@m^G1O=b;J(wC zd{)8kv7B2ID#fYXZp@^mpm@Ja5^i}F0a0J57krg|&0;5piEd1u_y1EsE<5ZOf{0}D z8~t)>?l#&zb?iwgX(>jTwJa`av)TS_+DSt{DSV0W)9j3{kF4i)`(x5{jCaq{GJOpw zZxlKIGbTj6)ZhnI=KT)?G6#LCt++lyH&Q%3Z!aR9f>#$s6-s<_E+75MWouvOAr*P zzD|}3tuJyxRNEOEKXxVA(fGyFOrdPBOM6rM<`%G62Eix+9SuU22NlmOa}~jn8J4`p z3_;vcEJ~+P2ZNFwivB}T z$z-ED0>XJz_6mJWP2NrJA@UHgM1OcnlujOeXJkl?N+r*u@Yyw4Zw|-zh&&1PF?PE~ zj{_tWW%M=26AsvZ@upau)Qa;dPN&{VmCK9sO#y(M&a~BkI_f^&Ctq_SVQpRD;o*aC znQ#w#)2jgd;UN}_efY49jNyJ;A)t$qfhAA)Vl%7R2JfdCHk%=?Z0ka*M$DQHspqhz z5bleIUm;>tlFY0lvTYtK2%q= z2($N{^l*#jvyg?z$~L=Le9RZXE;8_Rv>GC@X}X}Z3>g1YsES>zN$L6H#GEP%Q9N_y zexT@?bGtV0$-6gFF&{uBzTf^?;0jRjxj(~N%;dXU>Hsq*vsf3gpoMDb9~$Q(%M%Hw zX)8DIs(9$XQaUru*^hNY>QEnS3~vK5fOk{*!srk8a{7xzxg+FwFX-Fbf6`t-=ID`n zNPSb|O#2=lF>sowcE*Qz_C{*3fpf-N&0Y4?KL#*&T!zy{`Yo6gps9&Mlr^T%g%RH$ zOC**kX>#eZbN-ghA)wTOs`{+%Lj(oatECUl^PujSN9#^a`##0Y_MEbKgzCx@M;i#} zs0mBvlk4HCpn~E4IS}KU(Tk)otQd#<=X|W=aWH!$K!2G!lVZH+|C0Zy zf9kb-UX>@CRQ5?@(~zYsB71UwFB8)E2y|e&Puj+3e>b!muDtoLQ;D-?&t`DS1zUBP!Lq{;{ii2(B~xAJTq09F-ZUhozP1 zL`c;qrTfRte0LsysUaB(;`Cp3(p-~qUSi(aoV;z9io%=4IN&2Xf64Vjs%wGdol8HV zfsT3sB|gabtt^i0ve`K3Z1uWz#to{d?djZ6l! zSe~6Ua5KKQW<51RZ@ay~6FTu|!vWOpdo9I6(MrsQ3i<}^IBz7LezsM}M?>1Xw4gIa zZQqc;+zBp>zq*9NsEH5~%mo;y4&3jYm%Esc2mE&Bx zxdlvqaDtk$NtI{MLY}Rv%$m=LZS-G{$G{|XHLixBxLHZ-Q)=)(#y2}ou+ykWJSwsTAe@&LBm@ zjx~?P82|D52b+(Dak#DFV=*&VJZX`&YFLb-78|`a2J6)zpy-kAGXg^&h2!yD3g1z7BdW%>M!3 zDS?WP!K`Uu(yCm~p~2Qgu87TJ#E|vv)rMQnZI*>HpAaCJROk6#)a1VC`Z0%l3L?$? z+kFQf=@nbeEk{HkyfL3Ax<`>~bd{{E?=S`JOsZ1Xq7Umgj1dPWyZmTrsMVYSZtD`l zt2=~zy(8yBaEriKBeT@&vS9fy2Xwc$h1&RuH0hm%bOsWSbP+kfCva%YrQmMZ>N3Bd zQx?Bvq+Q4)?+UebzS`cBAywNN5$(L<#b{qn6PqINWIZ==XKn5CfBh5~p*9^9gKTus z`ei4aIyJHudfPj>^G9Zs+rwdm<5USe8E=Ld{g`?r3^VoV%@D0wYT^GzesP%zW&JZH zM%o zIN5mO5awW}mt8q!w2-0aB-i=2K*=i@EkV%eM2o;oiT1hH(Yo~+D7qRLE0w8&46=*Z zHKry%{@g_=BkF2ICac3YBH-MQ+oND`gv|j}U7*-8_qvS$*5Wnke-yn0N#KC$H{@_T2?6n4%t z({5Lpy7ZnscUE+6Ys9sYgPx>Y+3#m1FC+Y?VUoag3w6#MUWuvlbz`p01+`i3i))rk zS$5VGTM^xg3URA(?S;NIse8OvfQef!= zQwf~*Y&&{h=WwpE8ZqhCKL|@DNz96Uwl4ROK#zGB*;&)RU$cXbrC}f&%^HDIvB(Mk zj9a}kh3JC`B&FK=K?VtJ}q@qWO8kH618$ znOurO*Tg@`$0RsJ%Q#F%|Aib2mMEi#YjH?_Y)?qkuii85uiTuN-w5lh#^Yq0BmatJC`a?qSPm(wYuvaOC5aPQ;) z6qB-~pZQT*ZJ4*#G+kIcbwEIL;r6Pz- zQgAC#Pt%3T;;=CNzG{0{9Qy;EZD&jiv_YTQW$M z^kuhcaa!su9cUJ%50jv&*!w)>IXZ>Un9XV{mcTGlR$j zD{W||&kl?dmXU%fg&fmDD_T-ncv4lgS`p4(z4ZO|Fp@Mu-z4H>OQ@R46{7LuOoyoN z1tXER*1HGGZO1wAxA0co$eCTbJ17vWik?NvP%x$$!sA`&W!P0=?7uu|MG|wq8X3CQ zJ76WJM~}&qP=-TsHh#(i#Q_FF$jwJHJnXqk%H(^6@|bG6xCX|Of}IV^66CQFVTQ^) zA|$;`oix|~naJbFYhzh3k-^p)+g6bhq>6aV>@aiu^N52+(0Xhe{T|B3%?%d zELKHzxL+ikA#gS(*puWjPnPA5pb@uaPFT^e$Nd5BZeBsr>~yqTw&SR`sFR!V1%K5QfhjNS7h{M24?`R zsEaE@kppAs%6zzq%=HjEgygz0)2;?(V7 zfrk)Nj=|Iq--SYTq#RH>MUG`%@7B{(60_Eew>lcLct$P~E69xrdpI{x<&9_h_3(SR zX-bx*vEjbpV2Sy&c&V3e>82Y4PM|d6uO*i&?pOLZ|IMf2$E^%mW01{7W-5{IQ7OjWQy-6oNMbwQ*XZc_oPf@(f$~q&#FHlZ zevg=sKL&&u8*y&K*H24?NWAeI{m_#jg zkm(tNFs}bQnMPD3HJl!%k?8|@t|&5!wNM@$bXD^;)X{J-M8rxpr>V+z?czZ3v5VX# zF*3XNdq}y+yiL@vlAW*EZ!AM;V0+4E264{)u&|oMOrma4 z;rG^KSzWwTJQ*zihs|I^{zesGFlr_A)N~E;2^=YKAeR~#ae=sfMp5+|@VA*F0?0Qg z_0Ab0G(lY9xb8oOwUR%u*MV5z?-6p+JgGfwUI0MDr37wEz!NyX7SXjU%5%gE9McIEuk z5ykr3BG*o(R&U3w#+^EHQ}7!X?opHfg;%W`Y9*)D{CS)!#S{<=} zYe3%GAlt2(!`rIy^j{$&tt;4r|zE-idw zwH#7kH0a_)2W&&qtr$=PBK~YU(Dk{`yMK%ee80%+b(N)k{|vY=W24#3tTH|q!KFa@ zZbcvd_6j6s|8vMrlg>}M1I(66(q=X@2qgulvLO<|AkK)xQ{;h|We@bd9d~>{pjnj~ed(os9z?z#C0lb?OezeAnap38 z9+Z~kknJKHNNpKV!hsElJG=o2Od2C8v`{?Ew{fvBptn_bq<#6*xbSTCXl<+ad!~c> z94Sn@N6|vd30%)1)~Dws&u&|rCGQ6x+=0Quk56A<8F%nD3+j`~L;o-G0A@7KW#|OB z9Qa>R4EDE0I-3lUAEU}FQ`!mbHc>z{)4NGDz0D?Qy^mnR#6|6%F@WB2X82T;kF#%E zX2hORDwWEOS7cMdRuFzF7h6hhY|u|PBjk6^?xX>82VFUHQv1)Zy)9(dEffP})|PCY zCY%Inex}g>MmV5W)IQU9YfsUNR6_JNppH|mFBA=ur`k6NWjLZYsjt|Lah|hr`fqlc zMjSoE<=!X|l;@~{_7dJ6PZ@lZ6si!=^T$38Rui;4Hm?FU#q5v$o|m2q>|`h}UEIn` zia4O9?XJfe-850ZEgjq*?M=kthb@{PkOp(YCRLrzmr<1iQoSQ2;bV4_84S5IB{Vbc zE;_UKaLl-jP$QUqdZ9gR?UtzOGbAy+id+(ejmR=zs??V3jq*IJ5o|2WUt97IfAXnr zy;c%IH_bX2$HMlSh*@s}SAi1NiObp_$K!wm{y{F=wfhVo=3dSAD@hP!J&yz`C%uue z%(fqQ?A6k`AQjcJ`{d(1t+WOKZD?<%1lW&HJnaeC+?Vw|U2gHpv;>|uB~aBJijOr> zqEkd{^jvv8G_Sm?7%=pBN5Tz?>ed*$C)IY`U*cW4Y7d!PsC#~9%YwWZo*m!=p_k}$ z29S47uJKDVaahPx3(Q)9N1V~4&=GN?Gj?2@mzC|@L!1X5N1)@p75c^}%kkDihg zv?m;e#>VnaZsRZB&`2Nm6)0U3{z~&O`T@t9Jk=Idi4uIx**92~N;oq!MealPxWH;I zm-?{^L51#%QYp5u+jpCFGO*FdmV+y0W2cr4Oe-ZT2wt;SSnp_EuYwo#aZkjQh9r7xwL=w}-IcFJ2@aGkSNOLro2hw3XyV6D=6W&G(=#_pbJc zU2yBu^5|!Tz{R59vt*{iQ>W4(IaooNmos*)&2C?}QwcYJ@MGgl`Q@bu9|Kdr5ym|~ zS#Xj29OJT6c?qQKH2}eiviE7hAMO-NMsst_s-@CxzK9eYzDc-axyWgt!2x_2%}o$IA2C=NNQ7)g08y zg0=-9In~e*?He9Dh&kuP%}t~v#E=v>MXm`FbyGAc-FdrnH{?oz!Z^Sb+}-^u4vKeU ziZVzf<`{2zuJ-;&DqNsHC4Ut&X@5KO=G}>vc{{IEa6C= zp~2u?gVPC|qysX%V>vigP0+ZwB3#RS&7n12sJ&0!;f3p(;AR%{sP$id}cLkCq3L5U+gWHT&$HxGPb& zBlHKY(B}vCFD%7BE*c1f%MaopIXsb#x5?N@Q$;osEnW~O6ZoM^Sd~b@12Yl=xl@SD zBpmdbm--K}7qTf1eU!$39@C#dhCk2nX$hTu%Dz_(&IY?9_r3~`ll9r>;c(mLAG%@W zD$4WzgV*Uz4Otf7DaOCLX;Xcz@BI=Zv-<}I!k2ga1UyP6Z9mmH84P!aC9|Y;wnn-! zzCj=9+2^e}uY#8@94WBqsCDTY8#bKRklm&vx3EN0TK_}k4+ zrcna<$A1~I|1t0G#r6e)fxO-4cP+3CCet4>iO~|fnM@T}b-F#`*1OU;+V``yjWTYWjEFOH;YO*h4{nwo&E!V)hd<&E0mWk;%twu`SxSEODZtU^x?HtQ8AmIfh+JopZeZ)c zH{NH%XTLYK%E{FClR@2?Fp6lCHMY%%zw-@_6}UlV9OAr*ktKm{2dAM+!=U!$7JDxY zxxFjP^d%Gu`il7Jk2=pRkI50KFxFY}Mfw>m_Y0e+{JHQNpbH zDic-60RBlil7aI3$bW{mtc*+MZZ`+pG}syrrh*?J94^)}u_XW!8^@ta?3BV`zvch% z>hk=&HpUzHFksX=yrj@!#yX}$;$}Y_s#L@`@AUMZd70BB9e_#fH+t4z^@*4o;IQ%q zkn}&@$lMj9PP8LQpv@Kw*~VC)6oTl|M-C~dE0=%D#_0ixdNuf5bj(*=M zNk{v{P1v%vHGN)1bq?{K)ismAphW5_^^>9NWlr!DF_#7L^D1uN@np81E%u#RuCPI* z-I+J~f)gT-=*;=lQ9i3*lR5)8bhmbHNB7HtXujP|G>^U4MfX!NR4vFCh0D*%+$!yl zg2%utKLF{e*OlKe7g}kPzC=#ph;4IKqND}_V0ipN+^&2jVHV6U)Ed;qFm)pxHm>I? zIqW>D_hXxHT873EkKNz-<<$Hg6HQo58v@Ce%^Blns>t{I2D{;l(2i19>4UA>jx9YX zJM*r~lQ#JvJ9hyDnWFR|`|&T+YzHgs{m2zJ8aDZrU}g-XAN;-Ht36@Y=LIAmAwAG8 zRkvvIkas-t|BC;45`m|&SyJj>N~V18dB+Z(MrVmJmPMm;0@zFz=Qr-Ad&FkV!lyUY z^_{#n`4O++Wy}by)J`ok2VA|+u#f!MwqF+9c#9UK5uT$s;$R8sgLQDGsV6XK4H3~g zSzy@NLHNxENS}9DTEHwu?s*$(%WcB7Jfs1)XyKZZp=EhRwiH53C9H*fL1qv7ZHb5$ zT*#ao)mm$GZr{ldRe-rNbF)fgHWA`m>c&#dd;#KlWZ&&jhH&$bt0k)dyon{KE{ygA zg8EiNlZ7sw(ULqZA!%2UuW9|5CsP%^yCdeVfIp@m z%|s`oWlu!$PUMy&JJ0SAMXV@Z{G59^Y#&Fu!~S37HO9LGU435zZ%P51m7jLO=};rc z*T4LlQU?_v2CA{Mge{ZRzJv!~4=q#MQx%_JT-i6WsvKq~S&KsZOxQP{nG+ymlWvsH zZD~r_1KN-Hl5DieQkUQaaP9PmIGmp{7|dmYJnsf~3#E!YC$V+uoi#*5HIlzjRrEa6 zfsi+qZ*cV&rypD8G~|IsMmkoRy>>33VBKhswVjjq0SWq=1;`coLCJ2!5OSlCxiFM0 zK&!W1+RHvg@-!4-v$v3UmFK66pQJaAS;~|Ep=kA{g6!=OcG-B7uIK?uZKu$uzOs9? z`5HIgxz`);=M&-zhr7SLvRJ%57=Jk`9FLcq7=&sq^fHEp)|Q;5`YCe9w4arh{udW1 zJsU~B1GO;RihS(FWATgG5@gnFuSxv&=}Pn-!>IYKPkgN`y!@;SRRH|Bv`@xk=lLZ+ zIku;gfSF+Y)lw=Dux|G}wh7zwvn8Q$m zWzpl)v=0W-p3pzM)I0h_ae8N*mWtWiVAr%Wd-Yntj*c8-xkf-6&iYuW2bs(~v6B-r z4}D@>Jf_!njR4HR!_sbly1x~>h729AeNre};|nKDc&y>CH*{c`GuKU~nB<+@U?aL9 z0n1`;Te>T+x$2uyMSUQ(zuyFPF7LRfe2OBqJG^VhE%Oxm7HYx%*#MuJ|Mt6L_5KeF zd1~h28G^fC1K#U`1S=Js{dwMhRyh!BdwOk#-jY%BSo!gbdg{*OogQK`b`=HOwIuDn z3IJ-h$oFj$`=)|IM@7N6fhz+c;EtD>k$ZHAU**S`B60&Cnt>E(tj1dkx8uqxMrF!w zJ5WAvRF{`sg(`MfT0>lVJ>-(b@w>0mRD;kxzV&i0I7~+D%I|AgD`06Y&Kb`w?q8~# zi_GwB?$1^+sd~3bN~ye??2Zv&L39l&R0>Bax_gar-xkXqM#8Xb$D|@`ac;!#V2C7F zeAQnB@SH}p0c{a?*0QgPSQ&Y0Cq%JQ!0Io9sRpv~c#OxsPqP@w#&FxXu> z*XmJg_$tm2Q`I?|Ln-e%`+!T6Gl8(gW7d62mGHW0RPbtU`W@R3kP=}N9ZR1WhG6Sr z@Ul!Kn^5ZKkSKmL%LsbB4w4_ITvM8XKJ}T5Ii8$MRNxzoCRXD~ z{Q7?3XP<%);yd53zS*BY3x1S)xu6)xU>LH&ccb>|RW&~xgVD)Mb#q#+**P%Dk=RTn zMffC3m&t82-Q$@3n&SY>b7#0k=Y?qOpY(r@sRL*l>VEd36u|C+LE#o1ie#-k{BQCsjC@b>Je(ZX$M9lcn zgk&ZW=29G6vnkSV4jy@5{79!Rj0NHn6z+jS$|T`?(3T+|(ERwJIksu(CmruXjjmTL zagEDl+Y}k_06)gojJI7lgS4b7&2B>zV{e|P@6Kv-V>?R1E5c9^yV3vjd{=j}s!`!M zkURXCHA)c^c5{e2omIqJsOt+FW7EOr1qRCn-M}bwmur~sqW04I^*suU+G_uF$iuNl zF|n@q62nDYVqV-m!#eE+r1=WNZ?c+KXaP1%zk<$9BzvJua zo9O}DVB75AqtnP0b(=(WB1EFwFA;*RT^Bb8`;f%2RuKF2Jkr|-A@VIx&to7T)MbV z?U_x|(h}sdk=R42uC`k~+~T_~Ri2a9-ZUuuhsWILs|YYrYbjOny0Kz&JGHtJvVujn z!g}e?(c?oIxpW!tBX={Myc|;#K zfA9p^Rf?7Y2b+5i*_`L-5Rr$fA~=Jwv{L9A1k*>4B~aI$24j(~D65(bca}FN-Nht` za8gG-GL)g>i#se%;5T2N&=1eYsXLi9JWn;&Zb%lgc&2=c@!QwxPDsvMx^-&OD{0(J zqMk)K><#pVzp+%p zun+XlxS7(??>PmQ+iK)78>Z>*bz^;7N~t|AO^}f9yIoo5rUC8P*hLK$q0-y^9XmRQ zg+nb^Y~>#yw3yc|r3NJOcIF}vG?9eXsy0*~EEd(4I&vF?9Cr!qcU@%gWV=nmi9ES? zv}z2!eS|yNb*-qt^B@`fV$#DO?ppR~sn?2ChC>|UA0tU2bSrR-&A^kW8KUb-&Sg`v zo@ut8)*0bzL@7^nM$`u=leSFS8nRYxU9K*~Kxu4h`Dr;~c2~i;3^wCi2tCfnyU#3U zm?>61Q}>i3Qu_bj16)-S)?MU>`U8f#pprmySeeF3VInSQ-?#GoTJ^G|J9BMB*5ZJ%N}Syjd`#StaxrOe>oMih zo7Bk|UkdQ)zW3T_Vmf!h=8j)2xncTzzb|4*@pjGt=ZT*W6+1HPj^u2=5~XA=K9pZi zDYgEqi&SI^TLZxbOq5BB-bc=qtaO2W(EzlrU~cyTHE42ngDmYw@P!|EN1mq1Dc89X zwn)aJJj{jU3HOEYH}lpNdVid__MPgCGxxRIm4OFp*Sn9%Nq#Ztq&@MR!*O$y~&)NVQIZ&H9 z5t-PrIb9CWz1d1l?Ox*jICI3ks2aX;m^UD1#ya05*%jQNX=^*^PIEs?RISY)Im{lm zpZ>M_3pWoYuDI*+ClRmOa0hj?n`RF!DYzVGkZpZM2!8e*rI5;n=>FCeBheMSOka>( zjWZ_Nj?S*91eXm^3Dsyg3O)46(d9!8Z#_JquB1B!wP+j-AbH=b*O4Nu1*HMD^)v0#(R8`Pr@&$V=ELt*xsC%SA2H2P@)L`r8UY|A3fM7{pTO#(a<`suO zon0%%mCM65U-UdGG{#0Zm`MurIW@Ow$HtYhet%X#8vJq2WUUdOKQ%Eb{jn)%;=2Kk zV+(7|t|yg-G!?yzf*9@kGB-^{uSp&qnvC*6wO;JIf zHhZ`XrF5!h^SjNK6{F4~i+)$23hsFvb39MH#YC_#Y5mzQJaG?}Gk*1rS>k8}i%i}o zwG8W2mX=J%41?xzY77M7q(qdRTHhfrNh4U$O@{a3lF{bN-oUYgQ zHP@C+hhk82<1gyW?-4^;>;O^mMR4)JOhF!7da>x;z32`eZcj@_rpe7*ka#T{4`{!G~tM0N1J8=voU)t!6)owm`<~8ABQ??LlAEoXe7*`H%b8Y*?FJ zWr#&;UW$SO2juxK8Zp%mB)x8LLGZIO&ymrq+$mLZ!Vmja56(YHj68>XOl^ehq$YfO z=U8oLk8-HZw3h9@#Xc5&zj>6>oQwYaZP4*ubuvZ;tkbI6^3ZtH57|pp|8pe!_ zzqz=YbYkC;$2GctVOCU4?{aikUqA3`PfH|{UWMSYZZ<8s)DlM_$P`Mk03ENS8jmFU z+agIBZfqEk_7hL(&P+of;%zuB&7C6>;K*cPu4M$5VN0bEeiLYAV86j`e2qDjDHL|Y zRg<9W%_%vs;YLRQg4~!0g^$VXT)T1ox7v~^=ZC08i&=9I@mOy&P(+4uruMd}V_ePf zDEnv)bXAlA+c!1e$8x-bZt)YsC`sw~FFwWKMdsB2ken{*S;lmS*$uw3q4`{gS*$m= z>g2r$!032YQ-qsgY#wE&CL_DU+)jzJZDSBy)7n=cwc$+QLEVfO2Ni|*&j)fQTkH-O z@B3q$YWx7?FqjF}!p&9!bvje5HvsnvI2YGH$7BW2unPr1>iZE=v8vNZ+xIOa*Zk= zSpqYDksT$~9)<}7Hgp6UGWQi;6EPeboJ-t^rp6~@BnIiMjV{Y>C7sn!>RIvTHT858 zFTSJNpGqK3+*rxVG18><#vb>ppbx}kfUX1;TW@JJARq2BPQ0?z-) z+>9pAa#h;Y?0{jgm86Uf_Mw;vnx)h9Ug)&-jOu4+xlZddfzfopF*10-T4a5g3co(| z`CdY(IoBlY$;7l<)Af+=V(7zQGB>8T=dKA>k8FQm4RXj|3wij;^DWL|m(H?+`SC;V z-0N6~PL3z4p`0GF`Cz>_rt`WytHLF@y-rJu=WGAAn`!Omwa+9p|ImI;`N)=ElYiRd zPd@{??~9%LaKB5)^2#B16UXB9j}=wY){FOWzeUHR~b{KC&e zN=*$PA=0%ylq6rGbaQvdvrqCC%2!l`gH;7SuVJdsB4oAAf1<^Kng9(Q@sSWBKwd)* zQUNfw6yf&g89(!AX=|UIo#m)i>1(xnXV`BKa{sF4kC=D|Iw=jYxV>ZgpOVj)?yfGs z`1p9zmG^%fM+Yyq{9iAs{m3*lG#dzOf3*0%qLKf60Q|A^_QP&ssAQF;d;9A$o%YKraGh8NNILLp!vrv0(MR~_w`yA(9U+_CFf z4?bO0`Wxr;Kjjm_CoTj;d@=iY)byMt^jjAr{!z~_trMJ6!+j9kYS^dzU zT6JkPiWvpHUOKuNop|#6I>pX|P@fF0oBh0&-TQfML4>=29!!T=MXvwXVAY$X&4=y+ zLoPWfEgl*a=whYz)CZB{i%X$MAJ)(@))x8FubTCExFMCIcH0S}x2cSW^Ptt>Dq-yl zQxl2?8e-(hYA79;Itg(eUY|7|%B9&(mwAqL4mD|j)vmG$w};IOrPPKa!$Qtao~xM-Z{N11p$HRanJlx~Auf%Q`r1Hq z$fgMFelIJ}WJTy20BR z`;iB>@4Ez5X9KQ6j(S@^Rs72=)32po9o{+aMtzV>RvW`Za%Q-^ido*T4{ri>+0I}a zY%C$4;&G;th!)Zx2k|x`WrZ@_KsS4X--0CEj1McO8NRkHjoEY3BnU*@G34%sL0N#$ z?Sh1-wdsOpJ7`=3nGL3E;nJ}uqmV^-)mp?Pwl@afA{0^zS*Z3#<6@aj=6x(HeC#eE zz%fgxPTaE&!%$>3c&od((Bz1LE!|E`Sh61H7LsB~fyW6U6_1oS-JhB>eIqdQK!2zY z0iNcRCoiIpy_COa*&_9~ORTXhe>?|#Yr}O%s&sp6s4}bEg#_0{dYV>J|PXi@0 z*41@Z9$sLUJ(ivhv?6lhWdzknf%P6ZMOo#wT95$5ka4oCIvU-L4lT<{UJkZ9gn6VcunI(6eX?<{8VdRlPy9a?R1S=4{P zH;l95HN38KF$Tt7B=T&hZ?YVmRCB6^!xt_qFRej0^*JEF8i6~(?hC&Gk{rXT zT}e4^9++jRsKOpQq&zqr=>_Y$Q+20n!cM2DF<`3ZG;ANI{pUCR`E<{-Mn<5bopbGK7f&Z(Sw&xH)zaL2g4d-9uG zi8zlsUa&MhW5)57p*OifQdqqUWv2FRf)M!L-#oxl3?B>GwegQ4de6xijj|@3PGlOb zd-x@LWaAnenw^U>CN zZJ+UhD!Qa3S`N&plstx>(fOJqi!gJIHamT7hF-H?aQJqz7{`WXxRckp-TmX$xB*U$ zt70$Smz}*j*EY^9cxi!PUb-ajtmW)4IBnXxz?+UfCdR7_bzP{P)hs+u3(~&bnOQbY z@BaP6@@tL_tJ}5mh?h;hjP_hI^%vUFWo!1zuAGq=Wos|%yhcby@!TynFPd^d;sh+h zmOJh9CavGAt2sq_#WveY`I%h4b-)M+*`Jhg@_{;t9~^2u$)*Q z`m(|LT*aBJ6yP=k$Q%>Qyb+c(^wT0*tGHNR$GpSj6xfu&%t_!{=1m@&$Q1udEVK}8libmcg>8?vpjC!-SdC7|cesY1$LZed^!`3LW?M|SD9ntL~4?uWkS5D?JY_E2b=*ccM zn+0^H-IfveHiF!RA@l|bAg^UztGi%+W1=R$pE|a|^ZZGi}3@azwJXVX+3MA9trvJi z!PI&e_FoN8P&lOFv6{qDXv<2VX;cJ;b=sa#;4J#1>)YTNjHfLz`0N$sO`sN5bKtbO6k;bZ)X=`ao>2Ha zfCdj9b)eP=JH5$bb85jvi}X;qm@$U}>2`n_8|;=m;>H)pHVWDVrw0Qb8aKJ##=cWH zH$vj3+*We$clTPU_RRjl_#^J}##KFtwKwd;6fDdhBdrJ#7HSft<9nIiJc-?J`;Lg~ z$CkInOJ-AT^Ow&{K0zA94c|3Y{W=PicR*8;3+JF7*;JZuc@|N~lewJyaEEtCcl3wr zZ&DsN$9LUgtXM_L``WbKI3fZn)DeQCkIO(?dQ@t776FYM0LnI>CMy)x!e{&5y9F!{ zXz4qSgp0N0EY6C+gu$%g0Rc?|?v=t3^U-0iIjN^h5x5V$rsapRBc9nZOj~V}J8oli z$kgnoLG2|c3hX8mXj8g_QNX&4&5Q=+6SiH$-S6qwqxE*~imWwfmaHyYgQ$zk-nInB z_E9zw*d93h_x<`yfnxt2!SVC=?HrM=~<@ltP;`#xy#zI-yUGN|2PYmZi4)0qN*;_T!q z^^Wr{{w{vl+;Dkv!UGbVyGU}a~O-K%z2C4e$OZZpdLImV=UJC5fEQ2 z?|92{*eNhuCP~C059Fi6EFuP*b5(ltG!CMiX#_;Iv-n)vI7bui)uAXt+*I!-Aoaq}4hwcKsD39zrmYg5w7LD5RZ>us{oTG`a zWm64h)X|8moEo@C4HR*pRZm*L#WGll97!HXGVt0hLg1>T^7?A>HT~K;E;`|Q>j9}~ zpx?v!F~pq73v~`GHxeKoKNt_J8cT)Ew3?v!B z7-gHB4ZL{HzuI&ZT7AWCNG?of+QxM7S?rKwG$nhq}BOj`H@cRKC zkX4j(F`VLcPghQ;(U;4~nlCKW-1~!?4Z=2%C%+DwA>UX#Fv2j?25zh}AG@LuGTow} zkqy)YaGgSiNXyN5D@<+UZHxD*^Efbm%eWh#zY3o*INEneV4#2xf7hK~POQ&9)ZVWV zPTa1VU_JP5v5IOzE$L}Qa-EPE$%`0w&9-SpJxI@9XJ?UKnVfT%{E=LDCW!cX$=75? z_N{|*Zn+lDHQwBJQT5FAfcX3jF`+Uzq92mvx<1-pBfdSpV} zo{By%`n2;-G2YhIWt9NzYiqmomiVtUTraM<>bX^Q7ckzLO^}vH)-AjJSe>6rzH*{j z_9H6~T|W&VIuLPBqYC>n9f#Kh_V6#_OB`XIXD=CmWpYTc_&p;tm{v{cb0gSPqF(#*w?No@iSH zfF^1aPZQd9FQuvs$p)QYFO;5`e|HWy`^F7;C0a4Tv|K8>x{NGbvTUII zNiL!2Fj&Tu@llauG*qzYbSLHRgrQm&UB~?$yCF4u;!)OaDG^&P_GI;n(w-s&`vVj7U?czLOJ;gPnzj#vb@?8TT@Zp|&`7urKKFLS8;8+@NNupdck{ zz^#6x$n{mru6C|a*qhr|%zar+mkSp`kay%LT;WX5W4`(}^t1X;*9LCf%Ym&x3YqeT z?=!^VB%rd>zIZVWA4R{YcFfF%dQIyZ#!pQ2ERenj?svx7EB7#9{V-K&b?Zz8gF&xL zQB4so5I><ax?K;}!@(uMoaY?GT zf#>2eFBGKp)JFNA?ZVqHbsLkmK80V+wJ{p<%LeL4Yguuro>^#S{Sk@=X=@zb`^2dJ z)UL$I8a6Y*2XHF3A6i#Qe?n2q8Uq4suF(fFc>o8VPl8U>R<^XFSpg0XJS`|WkLAKC zSsi(OmDJ+p2i32o}lg)XB_)&=`OQ}~q{%gc!DA^(#-eRuPz z@(Xx0C){{fC#beH#nhqE84?U5e2pui zFoF)|J8f)QQ=22TJ2PYg5=$a&kt4boqLu+rbJY=DVhEvSKm8r>ff(lvKEK2X|4hRc zCtL9XGKmYz2vrJv@qM8?`QnAp3&R(l7W#s}zWC>K%Ed%d`?B`sKbQTtd4v~Gr^b*k zs-fUc-#|WJLO}|+7cXjFygL(>Hk{^#s8~nnBVH>{jL1=^7;As zh2L-U?JqyR`1s-(GXJa2kEg#Xg-l=dU%;LgOhC4Ssp7Ll__e6V6baf94G9LaC&=>O zHvYBv*JO=*>IPZ%pKCsc$jOMp!(l=W@&&xOn2^GY7f>Hxym%G<22#lj1w_g77cVAg z#fA8lT+@#-pp&&{W&-C-jTsp2{D`{61R&0FMXt8j0y(Z>iS>M%WWwfhaJ))iKbeME zoNXv9lgqs67F;I9xPETstO;Tyy&lDB+FZNmB2Dpd#9J}}*Z}IB?`p<)G!@m=%}`NM zRg{zrdwP0Qw6(36nVCuaKMK6ThZMobu&I3R?#%@S1zz_)W@aS`NlBXC-oOYv-qk{> z6#X{$EAx|TxL>ROT0b{Kt;M;*>u$dYyq%=WLF&ixQg5Z%$@y|ZR8vGG@Pdzwipug| z>x)TC*Nw2QEt5zke?j1V_>PP?`BoF1)jAy+0S*psu_gTXr8@680ixVZSO3ZLAK?_Vo#;J@Vm?c{$IZ{^?k{rSy=uv)!kN`+cgCy8|GR_BKo zLEmVBH=QsDxR!n}@aACP_P5WFnjIZWRhL>Co`+V|9zo@`>HI9l|Bt7)4vX@89>1lR zSXeq%8l+R{ZUiZ%W9eq;PDzmz6;MD@5a}-ImImqW?uI3voA>AUeg52Q_rCU=IdkUB zoO#XM{YLOz)f^74YRf;REP6H>{*BY8HPe&)@SUNjp^P%82R-;)Jq98UlB)tr^eVf> z@6X=}pwiROd7qe^tajB{{3V!k{BuyG29yrZwh%(5>rqjk%y7^P(Kt zAfaX6s_{Oucu;Uqb-E;jZ)v}@+~XyzGI_DDwpd=JoTr}UHEZS5d?;ji;VzBX^05?_ zmDa;G;n<|Yc&N|OA$TU|+oSx>%aUwdTuze@#O?phh~m@%@h-?pA-=b&+Uap7@c!tg z#$oa;+hR?|#@B(`E12(ucv^M4Qo+ljspF3||Hc>KXTjf--oCSOTl8IoJ=m0NU>t;x z?>F;1+~L+7r4tS``!7=Y*#_jSe(`&7$k2_5729+WameYqyk4TJnF;l*4G>5-cM7U% z#R|Ee&$U?Iek~ zXCG7?rSty|ipc#sjPT5m*_sid9`^anMYZwU_GxQhcQNq?4M8u@{pb(A8e!=9{xLLpQXjbYPHr-PS(CB%N_a!d)r@rp z$w5W{mvQraIOlTkr;LoF&8xks;TNiD+ey`^m>@uLWEFlL5*nFMOL*1}=5v`0^Lq8Ty!v#mY} z)-Xm=%3R%OgjYq`@-RT9_sx9mQhY3Ko?%ewOlPLSENH}G?h<2bdX)Yx+-H&c;C5;< z1uQfWc;0cO3)^vLyBVb9ue1r@NYu5*-TZdv$4LzcY`CVcdkb@@yRWYUWWH2;ODhX2Q@u4{B!~n z1(O>Fui*x{1t#Gf##9$bWHzZkOKUdz2b5ghLYC|~{MH_{pARtqE+}8rYh&+3r=Xwc z;=gKnESr-^vt&~$kU`{^r}T;|SQXV+_Ph9Rn+K9UEtAgH2Z=k=g{9g>-$KM=%*&zt zQ~~RuG?D}A6O-90+Zy+sw^x4cVVFaU89e3@&>u)AG@`;X?-DSc4B_bLZ-o5T%n<2A zce4QNzXCR;V&?-^gX)@2_UamZbtAjnV2un@Ep2_+9~ECfbK|Sb18>|?&zFAf&*LWtO?nxsd?^gIDGOYo@J{i%D-A`;xRbX10I-n&rAmv#NbOR8384X-y*0n#&X| zmC)4lVLS+)J$WvD5R$Tc5piEzIav$ct){dqD1K#A_4RGK%bz*V)OEd^T_J5lQx8Pp z$Lir@+euk5;wJ-AV?J4=ci=j25#KJE-__`I=CD^>TS7=!vlQs3tgKv_K(C+=9JGl^ zN&NPY9#kNXkN=%JvWSFPC+M8{y20gjquN212A!f=&ipwyT^eoOoYeuGjOO&}4QkSPbAmH^mh@uu{ADX9;iw^)C zrq*S&Vk=SCmYfZy2eP!CogDyXHDE5rS67U^RcxJ6Cr}kN7>jIC@p?=ZH3BT)&d>8| zBd+GrxZa|Q>ZO5l%Uq5AKLe8`e``461cyCESo+7_*%eh(wQ6%2INlKRC5e0EiL6z0 z6kB)SIt6I?WNmO6TNN5^wzINT@_3HRP0g@;XOL#EypzLr@R?y2*|~*s2;_Dq4Zuv$ zq_mdo|6m_3!7t1+LC{bk6yaq;18v8E9^=#0H;kBc0}BIxhoy7_-4D z=e2(s+6ho;SSoM%o9`6>(=D&cQkc;aNVl`K?1vu;+-TFHJ-I8}W#gD2a&qzmBa%@K zOl_= zOKZ&yg#97{{Cct2bonK|wIf)n$k|p8z8JAr&%D%Mq^EmQ{mC9okeKheIzd+n?p3lO zX=37@7&?Vd%e#U?j@+UFOmtf`w4`SL`dqYkz*}09YJ976iw(A9!@nV9Bzp&{`X26! z-A^spQn}k$F>tGPi`WH>sWAW3LBLY^I3tI2hH|P}=H`-+8q5}GB{f^co;`P#mZl5Y zqRai+IW}41(Jm!CH}#M~vX5a(o10D7OcpHoDaCH$`}d?~_usi(hBm|<5kmM`t~s$q z6~+>ULw^%KJ^4LPYX0N>d1qmys*1_7`To^6vAK#ol}f5gD?K}@;4^kb5VExG?=xP- z{$a16HTZj*Wz@)V&8^q!|I{C1mIZ&e-Rce&GrMBgnV38!TkL4 z>o>+3g331p|L>2oW$5t2N^o-QQ6qxlcm8o)#R?Q{VNeU=g?#Of;2z%;mt@Z;#Nj@) ze`NX<+z%fqoVvZi50waq_xH{7yd>c?JZdVlNtig_UO|nGacV9f`$$;q+WP(iSz13u z%i7vN>+xalio8fihv*@p?*C?Y5J3nDy#1F^5M zRw{bF*22>5RYr||-PvPeWKvi9x3_GpHPTul8U-cDR4%+2H%_B1kUljJeeMz~DITYf zr`cL<&j98qzl#baDZL0ZONvUzAF+6Ow2X|7 z#(~u26B9KW+@(QfFgrN8-M)bfQk$uTD$ok%g>0Cmp59^5P;rbQ4gvoEsgBmC_akyH z$kLX%FFPwk9(l%iDo#+ZtBfVA#|2)Tg$pd>Ln-LVWK9E(7~j{npSCU=YeKWj3Ka05 ze;j|jye+ivPczcmkd2tn99TqYqXxSm;Y9$oT>Leet?+mq;6>U24)Ue28s2FymMpL% zJ?8)IzJxanH0~N8>TP_oH8C=@VDez8SeICgwuafV&>Gaywhh62Vj@F9Ig{fcas&zgj0b90}c$UD=EP5a`Z zy1qEyS(x+v;(%`&T!DUuPu}~3J3GIZpM~9B8fA|+Lln=OF$QaM_;0@(jAWmbHcQ$R z{NH}h4h^;Wl$4|`Af=_1sPzQMk!I)6AZ0<92e;yW8m&^cuH*Qtsl*ZzgH&3fZ5zh< zd=LK$3ypL;_Q&4N<=0Jz^Wqe$^wseQ5%%@Noy#0#O|$yTkM)+C`9-*f87(w*{})eg z=l?`MFqI9B$)p?z`=%aC%0r(xQDe+V7a13ViaP3&KNzk~shLSUY6&y!9dM`TS$27^ z&TV?2&t_cN9sZJA)&iFbr|mIJ=p1kIyN-yN3=%y*YNE4cvGf0_Xca$80{<^O1(Rk{ z(Ad9!3t#o;$|H1_Wk|D4!7IlR+s$GV6CdB^VvqVW&_oVN71ybgXqIf)+N!>x!7)?e zPWYBEN)CcczM`RS54-ahXz$2RdyaS^Fhz2;zat7I>#iu%e)B2vf0pF4%Jep#AHHn( zGwPbwM;LeO^%e5_M{uCT3JW`T80MC0BswH1cj4X@b^JGx7!2mJWZyDU?Q^iO z=8r$Eg?x055Z~C~XTA<{=gwG(Lont+~db48y;51ymH2T+(N(`l{ChH6ijL| zp06=kYAivT@lWF^lpp*dGSx&B8%)Z|#PsXXazDyKOH=n~+1CPXYnu%+R8^km`m0`E zGpenMPH^gU>@6GY&m?OSS8X3LTalVeIkqK@S9|8EYau&(RaRSrOsKUN%(I3Ad&tT1 zSfu6W&(RxN;av|F@K95Jz9KamVAtS7xIS|H<<{k~eXO-FA!P_x5zS&Ct=+lIbSMog*>y$O zoO}7@iY+{~NC-YKKR?fJ&-SjlJu`NRNVD0=R`n)@fhLAhWb*dvXz3?P6%ib1+L2UYAnRmxYn(?bk7?IU2b*$*TSPJr=KhAi zIdqDr64S3#yimW){f>`Nv4)~>| z_T8tL1zQT1b1ITX!ZIt2fBb-B`(Ak>x0jjB=4ZBIVxUAt%|AwB)dOZQvu>JXYjaj$ zW5a_MAIxa5-#e8{pR58LQd6eGi+lUyv}|h>n38;m4(8 zX_((_6Cy}g_Sh675`*Ia2{-zgDJ>1f(DGEcjbrE~5uT_@y*1qS&R4TJX>{DHqJLd- zTalLdKvjL`Jin-_aqR6LIa&94<2y!;dri+1d{99sRy~7YOU1mQL2{yH|JkVntR+xY zlC0dfI##c`Kvk6Nk6Abvce4~{(ul&4{xb(BcFkWVA@k!?688#=XiAo!Pv`3tP_E6k zzx=SLUxkNr5gox*&7^ZtF_#Q}^Y-uLztMiC*^DxiWjDg>zg&2aONQ+*!chn+7pxOY zXB!kE^);`G2TDPiUA?^xUoO#Z=A@^Ibb1Yj&8HI+Cy|o<{hpYpD#(l*vtk*{6KiTX z+D5%fLWpJ0tfJ-x!z=_&VjstnRQY1q!Hccf_oULtkJ~1d_-&8&q3~l_nwixiSkqSr z4Zs!1-)M|Yo=XqF`dlN?j^6v)d2O}r^^CCsSH?D(tQ&S1*uO>8Zd@R|Ocw%{05OT3 zhs8tFr@lIWjF6^j?{Va4-}=bB3LcANj)+X6N6NyM?v+;cslQ-hDW{TR)S_zaWb?bM z3JlKl@;h6@!7Y$LlEh^Xca6>wx>Tt^d$?s zM&*K2Em&lj^k+vfwclyk@)b6h@5&kLPpp;}-R{-uH~D8D9MeNPU(Pqt#yUeTC7(HY z`_b32NJ|&tlVx}Ep6B$N!%2w+?izL56*NU{idUc=Jy%mB@z=|x#oH+iT9PzY<}LS^ zl_zUGQ;Zgh=ox{xzr`N!&a_F$Jm`3SSJUDEmRG&AxP`k;U>%KFNzF^%!>i*1|JSW` z!BSKLj@4LhQHiApA`*R7ZZHdn2c49i`e+;rb6Fr@n}60#ivzboR_D8xH?fhgDR|7n ze)w#DKYUCoGwZ@a{L6T-INKU_8V!8f^hwgH!QQ4wVsS0qW3?h8Z$lpBQ-T>|1PJDykZJEAZXnHz2E9?Nt3f zPA0vXgDuq9@B(d?jO(OH*Nr%ee=GR7?Ge>nGVFN4&T4_|9pa)AcH2x8eLR!fSSyyJ z_*7<;FYmnS?p8*kkGW$xPO>8vbh#rpJtIAaVoxM92mRL*6dGEb>NiN(aAy~@&A(_O zt(0}(x~)o8%((V*EIdBm3Cetp6+Up| z5K`9Dz)Jl!L6O#?Jp_1WH`tXOH z)gnH9(i3^*?@gw1WCMWcIq+zStN}*75VspQ-hej;Uo!U`>fa zd>vf~DPG`p2Q~j6>7AL%U-xU&kBU){r>LO{H9|UuFGWgM^qDAxf&lL=KZO&yUj}?5 z{%*ENFer56d8oNqUG_N#ApF@Vd zjV4J!c3h@y_{@|@V}%BW*U~biF&u3pM6vcAqCC?2Pn6ZFv!NTNX%q9_d0az5Xl*`} zNu&dF)n{>Wgh~R~sPNU!j~AQ&{`S0bT~{=ycg3xYYAo zixrsX4T~dG6CItwkEASZd1w&3wK;3-SRG{*f_&cbJh)06_ynRomOsA1@5N8ZNVZlE ziK1h=&gba;Ti!J@!|%Bu3^hrxxczBMTP!oYGIA}hYO3%J^!_HkLn$=xsB?%=bEtR^;V|~FJpQOw z-8Vz6djsIYOR>58)DmUsEsw2HrL#pl9vD@rih)q-r>k7hZHHG}@7p zRfeYYg4*!`jcd0{<$Z)N(rcw&h0%&~vFkoFldSVU8LDTY7wp7Jh?Kjg@;RpYm^8DM z2pYzVW&;QR;%GvcZm;}W6BH1rH4?*z;BhvckJbI~AzMGtYA!5kD1g;pBZ?}ADx^Zu zh1%Zl?Mj(QI!J2Po%XSP(MD&~*w3!xju<)8L`*`Z#((AU|D}89qP|0HVbx&qC8iZ{ ziWd#g6IYf2@7{NURk>KDRS_gx|CtqQ^q}sf8+wrSfvRE(=Et#l%JMF+jtcw8gK73d zGvE%%PcUWpk1fjWjPHNau@J&P3OzrFFJhwlDsk!8FSuT{O!X?i?H|&GZgZL zgI>QmdA7Z=^(}Ug4^rsAE}HMX z{QWlq6Y7JYtbU{rkC$aX&Ni8|_((+nAvjKMx$8p5AzOxp-QD?5k=1Xd`xU+7W)@*> zEZJ%6|1lJOpf#}UByX))6WLn5LUDf*A5=9gj$r@m=Oiq0Q1xXHa7Sl|aaX`yQsFx3 zKMqilPpQ`vlMS>jbHO-=H+gM=$(tMXqF4;M4$Rackn8|j3&-Q-i;mJ2-amE|tbT}t z+5_Xq+hpZe6J)A_E2#arix)u;XBowMn!z?grFLe|G)8Xn!eLUr9S%tNEX^B2te-Q7{z;bqYzK9AB7JiSu({xe|7>n z2P3D{(HsQ>*hoq1^y-Xd_F^^%%DMEJ!@utA*t46h3=vYN%;Y4`Y2X%l{wVPN_UYDp z7w4wlZEJS6+J4QbSsveWCO%FH!tWk1d9Uku|M1wYS{@P@HQZVblfqLz{|#a*$8FHgF$7EU5XemrZ6#f>G;r9Ej4 zZHq2nr0Qg&M)&r6A;@Gb>qff{#N$xu(6b30V~@ns@*b+aP88X&I4o%?&k;e-4#LmV zjNU#koyl`5UP}`s#$gdp{AJ46M~x+6Nou<=%kQryC+AEveb*Tlg3N|pVp&?j3#BBZ zy=iOYZ6qcL;|0;qCNJG>3S5pVP}fhZtP*oI9s}{e`_+P%fSn)3!Fis$2SlfFC00Xv zk@mBU4+UFY71KC^%!bYNG#dH`M9<5Nks0?VkiAP-ImsDaLmjR z%u?&0adp9?7~lZ#TNy>zRrP@t_LX)33mbpmlp8xcX@{kwr{ow^XeAr5ESmNWLg#V4 z*(M%xKZylm5!;PMi{+p`!a3-UhyjaQa+g6UpOwEq;GeM|)UoEdo$iJ@?T7I!-%#<{ zeI>-tKHmj8MdDE(u9o8?KJ&~5$N#=6IZxL`cNByMc_Z?C$vgKf;~6QuJ0xb;sQV4* zl1_%#{YF!H<;1w|9y*Yf*_|SFk!6bPsrF`NyFTP+QNx&EdL47!Y-;RCZPDl}rrb@n zNMWV4?NWj*a*bKfU4E;{`fVc1e2bRzi;t7Hk#oz+q0v*6v_XAUl&6xqnfLn3i~2t3 zQx*d8S1s@@m+4~D)#4t(GOeJYOBXS}c{k3K&4T+s6(hsG;@ZVsU$uN1o7P32tsndz zyPBl6rx#Pkb1DK0>t8Kl(uNwB)8=?OE?>yjf-$I^xpsJZp082u1Iguv1TM%+!E}1> z-!DVs)nLb?e{scWY#X<$&kC=jzx?{V?km6%VO<#%0tn z&cEdE=5@c#D0;h{v*06sG5(GdA9O9qOcXHwrUVJGN>O$|Zk@K`ixzYoN?nKdf?8G6 z-z;f4&27jw;S`3i>B|<1cb(kiXK=Kv|C!L#StCIORAQ;Y9R%l2w6M~bds|`{5cr5# zs%?jbZwHQil0Uc1PKZGXA^U*SHq(9Ao{;j_RG-`(Fe-X~^rE(3~m?ze}`5+B%$q#Q!R@)^#bx0KTA~WXNSdfd#d#qMCQ&kl7<#U3q zZK@iW{o``F4kLfF+Zcs}RX~+L5U@04QS1%w2@Lq&Et4qk{Yii((&ip@I|k0?iRey# zuhrWb{H3e%@VVilP~4~64!4np*(+({D~WzrkP}?{#+%bSsdr`K)0EwG>)FwKwp?_Y zv!wj3c);y+2paahe>&rf^fsVoZfXv1m?s^y_>S4|7hke&yW~4D%yxubFE&kjK7^6N z6;e81j&px}`A|y@&KBAtCdSC#BIa~s4;9m|0RkdXyol{`vv4!nQuwP*hNLMZk91OP z|9t7`f34A=lXR|@B3h)va(QQkH!tD@)XznZRvP`^c1(r@2wXKVR2mXMC@^F3a5Tf- zdoB9>8l4;Ez6U~@b=JqTA(7$c$NQr>ry#^!!v@*p`L~YJzzeo3D80|H*i}_1p7=D! zT8GRV4(jM+nD5_WS620{=B`ghF9LYV2Qb&+M1X0ORj`R)VRgdqQ))TUeR~lFE5L8r;oq zhTLN7PS5)c-26^es0$PK)mtQ_wbG#bLbv;z@@ay63hYq%<$YKayGUJ2j#a;Rn-8L*BYS`i`iX(=@ z=hWzu0U?1%UdxZVy!S$HxevT~pd%~eJP75enQrI%7LY^Hkznp+b@B||vU~U|HDkb^ zoK>zO=E|yK+_HjMQ$nbjCZQ-KdqWv2+y+FCEsKo<9b9@`R2CcXvH-iIwj`f*OKs0N zp^MFAL%+z2yACF8&#m|(yUjm?tkm*k=we4wjZVVD;uk1KNFljF-QJ7d-8NoyCO$cz ztYfSbJ>QN0`)ob&fu8}}=~Fi^$h^MOFS}{G+;GOcezPZq^x*GRPgJdA5f#ElEzo_5 zqe=XvGfsC4%GF7mo=E`XY7A^NWrLo|M-q^L&3t^Xxlw~2?@ygUGS}11qUDVm?XS9? zZPq)+udhCTnKUA`#Yr15%4^!eeTwwsM==YH=+(U2#b*Y7k2wokq%8dBuD!I5$P^#F zkzbKeD7`9qpAJF|=PqqLRayv@4-M}ohx}?s*(H=5weRZKK|>{ipW@2KS`>Im6N5}? z0;zTGJlY!ULy|Ki%e~n2jin_=jt@P~FPDjzjZF3Ab6yVoQ>VY!4OAa{SbxABBgrF*Yp ziX6A1EI3gZf1nPm`{6ljTM~yNI{W~r-CXq)%wP&6!_CNJuJGZA(4*2x@CNpF*L&B9 zB93g0O7_SGhL(h&dRu~tF1lLb6#3R`t?Ltx&AC}?c`k)urlfEakBr5n2$nTC7cR1RSQ4u$`Fx~ceuKCv^45}3nhQ9&L{O>u6<@?t1 zb{S)S^b%9i;g6d@dIR6N&DQy}Rb5Y~lc(LhiFw6BRr7XKH*?#S+FD*FEFNj99kF6}N37Frgia0GSn_kZ&{ ztR2if^nH&Y0^PJQBogw~OT}3%*~JxD|Y7?0J-!7C{NnLB%@%^GN4 zDE>V7h)6zG4Ma-SGEb=5xeflZ-DuJ2DC1t_6L|JR?)}x$iLR+5+2g!O1|r0d?1AK_ z>>KyIGDT8RPh~fsVg#w2UuC0cu?q||p{3n)ZLeGm#*2JQ$XI5uFFTxvBT zkks(kq7bGr$KMOJ;bUtl|0l1y#J#t=vVIG%@ZCJh%$IHmWq zjD5d zSoW(lC-2p0qnVAS;&;uV0+*jMGVpdocW2^jVKRv0{`Q~`erru_l$=i9u&N?(;)1a~ zm!Yg1aadRAanpGZw(+p{mFQxH_ebI!^{p3uP+2lb^EO>adn6={%&h0&uha;3Z9yr6 zb;Y`y%~a@fGhQr9vs4Q@Kp93_TSeZFAp3rX1>RUrRjxu`Jji`abf!h!@`)NXz{C-amUlhrCv;L1_(Vm1K-5H!Wu)#L6VmEAbOalQ47wEp3}u=(NHN<4lVa zQ-6@x5+Q1mHg@fuHcf;jznXNFUhG5|&WN1mi)(-sBKeS!N0ze>y9q-Z$a%+Kl7{|7rPZN0%$p{1eTA#C===@sE{tyrfV*?yg-ZDnOj3Nj{f&1{qK-17zIp~=11 zJ7RU|-p_2?#0yBe4qrPc-Msh8@Ins;5?&!{Dcf=6q9U;>+I=FS8p};2?{C5JXugsL zDd(>o+#~$@?;p!!;1X|T$he-<@V>2$5Q8=b@B4Lk^u#?-lHg<`K+wSxoSTT4pccpM zi)?h?x+!u0L9>fvzwC|6uqKiAo~W&G{QeG_^kC}rrIBqcFea#6HfM8k4m7H=Bj#kM z=BJ$HPip8al`|PjaqKTJOE({4ZWwfbaS2diw5H;ilesT>XEr{+A3;5qZRJZ8MV}Wu z!k6^!0F3&PD+vR(nGKnEOc{ouyzQqEvX4{Fg`re#s9`|Tet)#XhyEv8;>%U3qs)X9 zV$D@c_;UCNks{XLGP?Yj{4MbvqAX0qcNA6wOnTq(j3dLnvK9bzb>69w@befqUJ0=e zuF~r&8AhdzzmGM6ozY*dw6g&`ifNwvj9Sz8TR^r1wfrQRA{NvGXlFd^x(mk{@qSGv zLTE@Y8?3uT8-ptEL_=QYr2ZwWOsvfY(;9V4+`NqM+=vE=LE1ww>3Mv(taAoF_*&a5 z_ZZE0PGI=;F(spDW<%c?(~)&zhPd@k7|zI?VWoI}+XYab_GQK=Dd4avxLjhP@34h= zlPA@n8MuY0j5lCb?RwLGTXBtHs`et)S;u-&D{_Lv+bU zPHH;sdzg6OQ96u23|2H0u4Ao{|4KCle;|G12F5VX%g3jTFB1sviC=9M*;a^%6zG%m zPR;iUCS_VBzaE9%Za3cvuef1ns5R0)zZcdZeaxQ=ltFJ;Qn-E$2h&Jmp!7K4{yp4q0tw4Q(2r#! zndqvLyq^(3Ql4?)P$5YmW`+%sp}u*ShNYh+XMNuG{PK6i}}MR_~!G z-JCvn+Gt#on_6BpNWth#m@n#^W0Y1Ff+DqE5DH`V*c`9i zoUDIQ>t4XybC$pr-lj<&OjDxyF6K8XilLeDw=qf+x%us7!Hccs`lm}b?^m=97-R`# z@5RHAxOgKrH;g)#J5pnQRu7Aw#q81AE3HM0QjqC=m}fs~MgWLhyEJdpdj^NQ(fGi1 zS?d^-#)3%1FY!GG6I6K3jMb1$TW_A!umD~HDN68J*L!(Gg*TC#e_oT!D^v3$y|OXC zsB?|q$=XPjrvHZcr%pyk13Mes&@=IqSd}$j7IuCJ<64%QCjO>9{}1<&dWlgycUV5@ zVhy7>uMtQ}B5Jin19Mlr5`u$#;H3ovidE{Kk}=gcmI@y;>6t|#V$+Vn@DduIF!dF)0+EI!0(+BUt*=2Y&~E8i zU5loCuQ&lgABhg>_oO7*?UL+jq0VHoqN7Nw7n41^6IXj5YNM-FWtuKd=C7gphfN&W zSw|mA6cjoJ_9(N;CXK7S%X! z66^P;_n)3ckmJa-vx}mLzQXMwZ+Z>dHoZIHWKO$Nl3lXWLqK$!MhEC9^ zrQ(vo;IdaXo$DCjt@&m8u*kBL1`mGb{7gkG-8YPhsQAIjjQ&)kZh526BYs9|^opx` zD-u!sj%kHpccyM%g!WMR4XFH$*sWo$g8^?-jYV`ozVEENXPT*g)=^-u6{eLvGqoVe z9LjB`!{?OF{a{grbK^Vj(o;{xE8Ckt7a*$WD$gq$Hk9#rw>4z*69aklUk7)B^Iyi~ z@e4yVad{1l#_K;2K+di3%x$Q>qnb$?u;8zL#w4?Xogw#3FJ)j*<6QJ^)f z>5e1^V?G~bWS6Z%Z4M9na{^yB2wvHH#ApVX{Wo_i(l<4|Y|j{kE`@r{R?x&UsFCP@ zoQ^u$*q^i#D$ClyPo4q5k5oQu)XSIf*8ma3ZBs^2Ic$R@6WaYR(&S-m8L5M^CC8iA z9i9HWy%vGtOM-WFbU!f?nWw%!CtR0dR%%zoSqb~7l+7&LZwl&?rIDwj2{X0PjaReS zYfGgWurF=e%=7N)>TSNioLeA@-hL29CVPyzBg9@Ri$+^je5D4CWs9fQ=#dE}a{9y# zA^{#Bb7sm=yA0ys(V$qsV9_8Y5JxZImljx%aIY@k^zxwy+$Vs+pdPE^jL`H?r z-Tg&KU-Dgl7x&qyDFILC4g}7XK!b0J-?pV-10QAljf{M#-AR_sz*xAvIFVZ!pF5w2 zny9LG98wCTby7BQ9Tm zJja-Kg<6YGfU8V27uCq0;quQK&Ew)SA+}|?Kd;Kh7ek9TrwfZj<(tv)OtHPGXs9%s zebfd#QVg08anOGSakXcGApD;@WW*!B@JE2PoMI~D%T8h-%L{u=JcAGI9U$K+giR!} ztQfM{hCj$pQMNV~H-5V|dLt2{{4-LnQ9YvO1?y+ovsVnttu!ZF4~Qees{&vM9R`l%6(aQ(G1Noc5E==JiZb*CXbtWE~*@ z(k6AZs48l5-G&cj^`q*RGI_1N+oL>*AgkfD?y|?6%f5+L7IlxmImzkVOq|8s$UoBN zOSb3Q|jshUO2eS`JE+EpY6C&u2x^_Z2;X zPBRh>!v#8AF)UQAvC$ZR%o%h2o2H^M;?CbFQ&tz}9=WHTvA5E<6|gO+$Hvrr8nccx zke`+o9S%+UTKXphe_z1_gpEO#wlWfy{|m{xV;-+-cL8x?b{rz*eR|gFCluy)aPNAg z0lBn_j1ZCiRi+TugG~Svjr1k%#1^q(KcFS4VyX%yH>=N)^Z}VNwJf*|i%l(d*}j7B z&?W#W?{HF>^P|&Kr0?>EgdumQh$rU&9R|V?`}W1$4RKK!3!siAb&Y?bA0OKg=D zMPElLLZX@~5UhwH)&K4*%nf`TGGSxi@q*PI37>T zB5is35d*F==0*dQT+vEZaSdV9vh{DiEYdut8!=xjEgR`BF|rSrvNWX9L^r-VgxfRH zy?S$u)Qc-Fj-sRtmvp}8z0pOhtgl)B)_XKl$?4z5#EB2!$zn9+4DWQdYAjKVzO|+Y z@Dn|wK%tXnhy5LPLpZWr^yyU1DwWL6jn&K#7g#kC-o>puD`Ka#XvLlpW%&aWoLW8g z5bz(C@R4eyJ&1LZw?&c-W)AFCcrmF!WCF$UcIs64<;>gd92j=Y53%2teH3A*2`%g7V{SlK%AQXAJs4j0DnGx4;#IFND%V4&NjqfG^}=q-FRqt6 z)TQa=%Y|*QnGA18RE4qL_gGHmGTQL)Bw|CE&o72{0P+L(xlLhZrN;q~Yj^i?)D`XB zK(;Aik|y%K{9>Cn#RjB*v;ywl>=Q#-s2KkEFMwlIL@^szcD51-+x#$O72bh9a9-c6 zK*E_vv#6U~`o-IOVv~DlM7cC7+G~^yr}3p^ZFV4W*?S|Fs9_}}Zr|ALLa-|H74TA* zYD;rbxdQcUf2-(K_o1UdIuYNgRV%%D957+s&U;M^b?q>#3SZpV;JjJS+ncP{AcYud zk4NzuPPH%J*0`faSd2_8{Cz?MB+k#(*bZ$aX1(?1S11XC6Vz0LCqdZT+Z%hTvI;Dq z;rJ+I04;OosvZ6g=|9GcMp?veI}%9|9N%%EQhOdEtJ}pVv3Vo1)(gux1t{ zhf6I%UvNjXUor0SIBGC>>~LzL5wl?uw+!`Ht_I#4-icFzLY0-_rzw1#VMuskV`*s( zKckFRDNaV)s$&Pr{RLNxBK(Yo`;?MFqs7nx`WB?QEwr-}(PiNTk!)+d@5M#Lc$?#K z&FT|KohZxcm;mii434-UeW@_rc0biknMF(D$PhXaFmHoi{QXl|PIBp=wYhI6IOpE9 z$SW5Ci=ocq;bkBQu2Ccwav*d2v3Nj8*S1TiZ^~HrdCqAyBdc-0O#yh60m*c8004Rx zoBaNSy`T)Y>`$7RuXlqs1xlHKHqpAPhR0_qnG5pECZsI&XA6@z#v^#v(a)}f?q;iN zxS4vi(GrEskYS)7hZNzR$YIY!F+ei_-%DRleJzq0uVPWzx6D{<6&7V8^iFNQGUOmS z3DBJ8&@PFp#=Ql+I^UY3u9~|o^@$ZSC z{0$J41FQf`_(V{$4OX=S1f>KF2|kmvH2Opk=Ess>zKX;R-99msELx$^BO$?SpS!;I zD~%Z11&9_UGau_t3iJxbSJkn9@6lWhtHQxjH&~%HzUCS?yZ^>drM_rBgDFPTZ0{eB z6&oa{T{o%9sb?+Qatm<#3t;BOMn%Kbk4JE@AE*fp;{hO>^E;h9Pt)$+WC=Xo#c*!! z$oJeHjF@bv{NUY?NzfHd!^M5QKyp%Y?`$}*J)zk)USm}&ixeo{Pa=q%L$jbU12DG4IR;)r_1Rdt*`*Y;1)!|3-2Pcqf zUu>IV0|=hSanMq$VE4$P13(pHvYN+iOax~&a^_n^hc4x|-9}=S2*)tK7{@~0sWwA; zv_?&I(N^a%AK4nG*es@{Q%{M}M|!4))ER)pwpYKk{QLb2_ z3!R2y9E;}R9}x#5CLz8$$@=E(6X|YM?41c%fTtn^eGI4N4>EYqxR8%DmI;}7R{`{B zHI`_^NI?yf%?CjD;5KYiIqjrDteBM*0BRS_cR#aRI2XWu;54co!a}C^v5coumDQyv z+LH@Y`f3opbe8dM&tthW+@#MY^GbsJXILY3qi*Z32sPA4QVi;pjcO`lk94ByGL@su zflwu-v}e*cy?(71EI5-_Ff#kl$CllHKsAkhh&|njCZWextXY$G*9x3w4iX7Q}`1Ls%N11(fkA2QG=zoO)J9BLxx zBI>$SYtAz+6dapI(5amm7KDT>A=9h)n>sl@^6JGM%7g$W2%lvVJ;KknmyPE8H6&tS zc9b|x7n1fa(0L$gb_7Kf9W)_{8X3WJ%vM-2CVn(Ee2c!7{x)?lGgJGOiJvT_X6>$U zP7((=eF6Dgw5`3L$5=@qg@7Rt1}e~K4KR{C6C88q`Ad;*kRXKHSyz7{YnOKzi2M@1>9d!-lkuC9r*f`%RiCBOS0yN7A=qX| zCik}!AE$_tW{V z>@AhQ;iWQpD(RX;em?2Oy6*7o3dBvOgNJ|o%=qA{=Qw_M@Tq7t3^Ev&h5-|mR9p_C zZlF0r0RjR{P_}qA@-rdu_9zz)>z-D%Ddz7irG_rC$NwIX?re*%f?SHzxMbrQjpSoX zSK+BjUbj3VB-q&5i=Yx(cIl98`U(Kl>F@7%6C-G5qSK-`ch?h#A0fL-m)IO311K_q zB(rX<e%obOeH!E-eC^2F#^$_O2Zr-OPY?`vG>qW z1CI$#T~FJwfRf}~>*4eg0`pV4|EfhANT!*>*hcEVXJj~`pyQMQEX~}DREO0hOxjs= z;k^+o8^2IOh^wpXJPsFCFNzds6hDhL_zHJUHg8xLA4R=PCj;h!KzCnWB$Ef~K zu91@p9fJRVV+A@|0tjF;p9UrkN`U-ViT%INijn_y0{Guo3_rC{!wL#mpCo8rgLotl zlmm@=nCddh%N^%1T(2bk_lz($4z-@X{_Z|0*o8|UOD4|R(vnYj$ICz>NQHwMU^bcA z*eX|7&6r5k$@0?Do?o?eI}m5vcla5@U@!q<5|W0iWAqB&_K7S^Fiu-$iSq0ixEMRwb?e9A<(W$>?`T4(+t;ivTN;Fha zJP01pu_0~X6hzy=93}`^tpbn}Cc!?!|NE63@T+!`V^M&9%;N?+AsAHIBw)k;pYYwO zQW$AIaVMl<#DWcIL`2AEPIOHau}r=R7^b+nx$#MdLKZ-aS5N$(uk1(S|4xyxZP8bH zk~Bw1ulP;rWHi>dwnXr0aioz6+mSy`r0}{w1xcaKiVKnf+5S%@_P`>!=W+xnF6gshlAN_ZGCncZ5Mm5La(Ha13*v z*oFU(wXY6qGJ5=_8BzljMyG&+wB!f@!2l5hP(o5rNvXkTMvpQO1%`luN(#~qf=Y}~ z=@>1wkpo8DGyVSVz0Y&wpL_oiAK;m;y=`Ix+@(u>p`7|9fy3G9Q z<=;u{y5;<{x;Zuvm?5$SW_ z9`x;u0bQE>#tj4GjkOAE#yt4?W#F1dA^+9;JHT*Og&*)6bsH?2bCD5SS*SIfsIQpK z06ED-m5Him5A{_l^p>&m@Ehi<6%DRN0yj<=WvZ6iXmB-$DYqgFz{0r<_qpM&1nDKy+njP%Ns=R!;h|9%|emSSCb^|u&t78zI=PG^TVJi0DpPcp` zq>aL=h?sWY$6{7Dbf(zkLkt}VJ%IijgnjoSJhO_e~gZJ2K8`x zQKSl;6+wNac5SR+PptB=Tc=QMz{ln(W?kDVNe}OiXHMW>Y4&sCtrNG@{S+Xi6w}Va z$lWdxKb5;N)iDhW7rtDnF<}YcJbGHS>kyh#^Jqjo)@6ykj4QY##rozY=YE~^F z^^^mz47Um|r>QwRZrQW14K}7l1xgN`vxDbtAYThlte>lk>1Jd3JL{-ZAvEl{f`FHf z7sV(<1K*o{TG1&}Th(*54P_`8{Ih{Hj<3m7wv$^c5rm4!wSzlhQkq*I7E01G*<8i|(C=l}dCLB{Wc`tbT_V{{< z9q7$Cj|9aAuD}=N(<#5i#v@71pX)#F`(hdTwUd|nm0Ob5z6+7qc(g6+EWz*HC4UW4 z1*qQTz>dkFO=IU3%;O(tdiRneUS}muzh;bSS_Hw-fAlR|^92<(POBjWY1z zu0^WhkE6nq){|p(#terz!sr7Aj8%LaP5UikcyY8SPw6vP*sln1@m`=rlvMZHT%S_m z%D&PPW2KKx1z$W~E8I9k*f=l#M(^K3+_&CroA;E^Kw9&*>GE+6g!Hvf?O?E5xeg}> z%GQvJnp-uBSl+j=o-G0rEKngH3AR5SY|CUY37lW)&>su5H2TRFq=#pW)x8De(CdT* zHdeF;4UIs#J{8rnj`z&#fD|wKX*>Ndy0mYI*?U%2OhmE`%{};}O!iP}WA#wol$E1^ z&3u3f)zk%6q@fT(NJQybu`rLpg*mom@e_SnIa=$2GUW9jwg)mn<0DOWz7-KCBNI8k zFf1BvRhYo$akM(gnzji-%7~y2aoZONOWHmv{6n;r>uXQ|1;5W->YUrb_@X<;6^ZR7 ztmk%YEyuiw(ukJ85a*hnd%^8>BEGkHu(@Rc$5Fno8paK3G@(o z8%F}6Kuq+#{?i^z!Y>QT@E6o`3=SFeN;X)Hb)8H&tI<{Df@xv8XLWNzSh|>i4bveo z8J(F|&bNO?+1#8xxQW%i=aJ>2+uklFX3B0T%r5$`3Cfx>aPxb0v`QF#q~gQ2DCByp zExlbas-A|2nod;jTiHGIw@4QCeACg3ozcYeJ69D(omLpBiMun&9vdMU93vQ`ToGMl z9K8ViMwPZ!CS?w7G31B-aLe9dNnvomzKLqby{iw>=ye^0P!uZs_SV-g9Y7c-I>R_N z!NYvEIi;*L>)_C=NykQs;I96YZ(S;2^}{eWoQpMAHb7cZl=VE-<*QGxL;A9ChaPC5 zGh~q0m)fjst7`aIVE6h%CS`aE+bM#$Q28qY?PDQ*VVbGXV^TIFFX21BBsmvDVXDg6 zKEvx#hil>H$?#x~d@_qfu}^6dzzX^+N?43zXK!cJL&L-ChXGb~=T2^qSrMh*UF7sd znz~=r6{}g986-44rJs!QCt{M&3qj>GSe`*H;qS=Da@okNE;j6|m2hb1oH)4OQ%=p- zg^XScAL#X;WDDOA(igf$AZ&idH7Ej{RmsOjT`BTYR0d-*)O^wD7ERLEMW(ufXQ?QW zI2(A{=I4N4F}x!37h>N<3JnjXg7yx8mDCjwx}qm-J*jeAKoDaIP6Lah$b+Q{o57U) zPALC4Bu?Vhwb)p8#{DNzR8+Qaw6}WoWVr1dgx^!`bb@cL{(+57v4hlH!;e!|Iec zM!PcFadKTpNCsNgR#6w0`27U->a|^JZsP!MRaX1#kb~(U!GE79x7vCe zhf2C3yKZ(YR4$!6>$SWs%;2e13!5RIDPCpg>QMe$`u+FXhY#v~TSRsB4Pyv$kEw2+ zWLGix8cV3g09WgF+MZaPfPn|Wc5@Xt>g1CJ$4$0s>XTFG@>!6sowzaA znQ>Atd@-z_Q}&OLF#Xg;)H{@dZB<7gp;hQs%8U?az5+U#M?A=V-6}vX@RHedhaPj; zWC+PkF4;~v3OX5Kctb%q4Yi2g6}z+5^$*f=0!X_nZxE~y=ZL$ATAb94Eut6DLoACa z3Viw?bPE^`qx`^heA+F$O@=+eZ)ezfl;3|02hWP#dvr#uMY!v18iWMUfExa+)ylV$ z1CaX~`f!M*JpiuM@hl17vzi=X>Ei*QJQ{*?Va3hOI$Io%=h+?!LJ1 z6!DrZfs0CB&6xRt3xt7Q*C$vG@;%{6flvL&pZ$ZV~;YmdlE>Ydn~fUG8?s|CnFv6>Nf(a6jr>)JRfx84DGOWA`hKcatASXLSHs2uY(31qiD2Bt`35VP zYqumOCy1WuKmEdLnug}dkA81fLmzr&IwJ4Fe=r!jGZ0; z`^CQPre1xx(AM`sL4I2F)o6?TR>7mGrO#wH_0CEecBGkJ&=vgijpMLR*i)SiL$rBd zqx_oujXRuIb(&(|4rXo-SE}@r5$q^A!GJn}zB5KzhY1~o+eOH2QF?_r)B&zz2YhO; z(^bLF%Mb(zFEM+9#SH95rObn| z&=ffs!ER>61G`toFThFm42>z&N%{@h(J$DAr$ofi+A|8xd#-^6qm zh~n=#1mQ35<)@G(kks)dO23-3Aiw#!wSBqG()DaQSiYAEf5O>yVU-SweK>NPSAqVRnGPfcK^s;OEmC3&R>$b6{Y`7jtucFcDn#Mf6 z_Yj@A3+O5{w9<=dKIh z4EfzW^nPWI> zCE4AOc813xV*>HRM1X4ScQ_0YttXa-2}I*)ST$DU1{ssXue!8UdCk1?fj<_9zA&+l z^KS>4p#>%++QZ=TYk@h75ZJ{QZj0>M#P^wxI5GlI}xHP4<-x} zR;z8GIZbH;f}Bk%;TzM!Z1qQCTKWjW)amfP9$#XLzetVdAj(^~4fjnn*(dL|r$^8= z8dP$$0n&v@tV>@XHzL6pB?Bmo4jQ&B^?M=_m*~o+90GLO^9r*Y-=(oWIV*&a<4IQ! zEY5@Gk|Mt03~4EtOx{T%s8ER(tOiae*%|j|BTO9z5-7tK3AK}lMa`?NDO_RSTT`Mj z2(LX@j~Ej=VhEhGWZpgoqKZa#bqi4)5-DiRvU@8iBz zwj!C@mCu2jP{-W1nhKO10;<U(pdl)}~#kZu$8v+}@*8WT>xC)StNj zcWhe&1?BHw$bbBYW4$cQ$NsPGrUoQm|3U-uAO9CRR{!5h{P$PcLHiAPI{f>o45?w{ zPf~g+pcz=cC%?I|F>;Xp_a{Q&xB5P$t9W4MW@jzT%+j139W4N(*R}2F80V<{_{{7cpnbTwe&?0q5j*qOFP=EvN-c&l{lRe3KAH9*^BSLDkwdZ- zL-vdsGiXJth=!eMfDAr^xh>hZ@ysN6*3JO(_|`tZ{O{)Woo7g(7tlwcztzc{5mMr8 zi((TssLGjQZ{CR76usGZJrNUQo zo|35sGT>L!q`j7Z=(t+C*ZdJDr~Ov}5-rH+P{ngdTq_`T2MbHvt<?FE)|$g-Mz_ z7Q`U2Tu@)TRat$hX4QvYzT-Fx_60dnsoZVGZDW8fK#K6S?Pze8>14&!Bb}^O7^! zqH-=WeFMSdten`ZNYEk8%%@sn1EHR#&TYM>u{z5nH-?)GJq{jqNY-3J%b^u%Xn!{k zP?p+(;$vP2WFnu#jXI(S1O->X!W>)6LOlKwp^(>3Jt(rq#ADNxw(zk#K~9@P2`TxG6BAsDXc@_n*_wM`!qtQ`Wj%Rh^~)|Vow4^@857= zU+n+g0HGN9Ak4D>307fM-0bTE<9rmo za3q^3^a=}{pfh?u!%Z1+PhG?6QJqwk&EGju*XQ=)$u>?m*Y}RzfBLC_Ot(XqC#N48 zBdi||r$ND>f=MY*Y<@0%wS1epKz%!Cq4B4psy=nHp?61!rO>jn$9TPsS3ep-RO>q= zb~5P2o^PSgk?wwb)*$+)#oU#XNhM&Yi~<^J<*^*#jrnDqTVzA`It}Lh7ny_vg!l*{ zzUS@q|ILzeLzF(5eRS@|Y&lmMA>EXb*-@C3WW+Rf9h zc~VWalK(sbx<2$So73T8?`vsL%2Y%TChh5#KQG1gn-?xLW!U}tc-!|o>mf7+7K_r_ z6^jS<_b7q&Dcj>9HWsuUQfi=Bsl1++N|Stcx!@n#9d% zFGB!iDM678;i}+$TLot8_vAh9TJ@d!z%PpXYMj_kEz-(NS~ha6`dUhp6s=vPbL90% z*~WwZ!=ykOLYEv5wUaPY_=#yy6YnRW$Yt$gnpfNm7AF@_b6)t#<=esqk6`m3kxhG- zfDT8#@#C~34TbzQQk23p4A9G-vCHc9UFe1|Pl~pNPyk(f7F%FqmRfqV!c=u2dAnv{ z7u!dTUQdU#z(7VZk~uK@;^>7WrnU^S!F=3&gWZ#rjS&j{cH0Yx4Wp}-lWXEnoYuzNx8x-O-1>?(Dh<_9R3;XtMR?|EP4jVlTj&WP9-Rqzva)Rp4S2 zOEH%XC#^6}V{-3WeSjo97GhND^6eC#DBH8+*TKz5)ENPEO4IeE^`>t`!hwFaEK~41 zi>b?=?cB~)XHMk7QHFs{Qo?l}a9eWoh00fvyPP_&b$kd`LF-?=u;i8@^3BWjxlEa( zsIx{L_y#=oe{U3+pbZT`ZG#?NuvNQr_p4Kb-v1q)EV_Vx0Edad<#Sy4Yg7hNvj6!U z)S@)`2VgR+{OdUQ_w7E%e}ehn&;6%Ui-hGUGcq!c%N3Eo>B0;95^tA}++O;%=(ch7 z(aH<#^WlMe<|89h9(HNGS8m7$@_x0)Q6l&N@xW3^Oob%gTNZBFH8OoAx~D2Azry)EM%Y4|Jo}aU6J+If2ImAEb1Fxpo(xge?w;UV|{{9 z4bOts;Kb>Fqda%?e}fYL-sf19Dy7}KmhCZ&+KeVw$-X?+>-bajcdPTziBUVGzEXI=MPJATxHZGy2|_cC%B1<^EnM7j`m? z&W$uRGrJE;P)Zfm2Z77>%$YO4Kbgyp0u$fm$8)LG<0Jg>3P||76KcMk#wn21&x-rq zJj4vrFRPZpj{wyHI_Y=_5L4v-fyt%cI04c7r2>O4fbuFMcK|4WFvdh(z}j6ItE%3^ z36L#!!-Eo!DOJ~Fau?TgepQy6ckjL;b#Hosy8qw&vJ;APaoc11$$h=vqrIP_F{3Jz zK?4H8Tc)4#^GiUcs-28;%-f^Wyh7I+k3*24X=Qv{V>U(4b?N7a?gr=esmvY?JiN2J z+qaRlv-*gh&oeA|L1Xgrerb&c3Ef?C&$zoHE^?r-{B!%ebA_L^8}Ha-vH33e+%G4P zOjdTA@qr_C)0yd=hC9-qQ`NriEX9YrS$+1v@$LYjq1M9!fJ7v#0UCx|N&@tQpOpDc z3(yY@Hbhltu7Eiw$iM=#j)45lm)f#pQmLeNfFO6t>^ ziamAW4A^}TkzeCat%ahfc^d1HM0cM%P}X#_!nJ}0yAsmLWlbOrBB;T_t2VcmHLB)=hmI5(5`4p0-dWjVKAP!F`wb# z=X=2?bj*BhU2P$ArfBe7<=FI^#HcVIpH~~3GJqPD6CNR(yb^LuyvhacNT$aqP$X^a zoaq&fY{+dxzN=#sT&|AuMS~H5=*%yh)~vMhrir*JQ{DD_4vbpgPBvqnyU`^jE`1`k z08wY!wR!V~9DZT=;NT%?fcJD-#!GvRWTVP4 zfis1HV>=sau%W!Jo^hYFQ)cgmJ>D6Q=;-UftL*!gI*p4zKUfYNj{m&#LE>J(+$j>d z>B5k6m2-(@X}?EAfMT1*w~Y*#;~?cP0HjbH^m_{CWovjcvROL@Q`Xpa*Lhl= z53%$?D^LcY&{@EzW`<7jd;vSLQu4O8zA|VGF#8t%6Je6x00|A3KN!fwZP(+2vDU{b z6Npv}=wbusr1(bz43_OiP2av&y$AU4xxfszz$7qh)l9TSCz1NE$_@ht@*a_iU}bw? z+co9%7?Aum0Vo4otEmSi0FYE6TMnmG$I68DqN}2r=Ex+}3RyQ$l>TrN8Z0?rX6ZIp zv5Do2<{&=bY)Q{!Tj)f29sRs%QvIl9UDy?RlQ@pV*B5a;pUL!WVJKpwZQT7T>k4E6 zZ_OzLEBP5257ekBS=sQSUZ z6ebi;HLx62$N7WtYl-=U=tKz4XjcBU;2iH(P+|EoCt_)s&&`B*$wFn)30hNp_5lyY zIP_1nQLoA4{ptc^7GRXj7or#9YiL+c=tGydF;{=AOsdt{R7Gbh;-#?tWb4BcA7;5Z zlD>8U^Qdz()*`aETah!QSVJn7mixhdXU)4V9@yk@v(aFm8tX5iNydE7?lTUWjTYix zj4*pVuW>T;NPTduu0Gh{9~yobn2k}c2z|vNDuZnJhRHlCq;LH*x?Pe$?5YSE{;<|SIAjj4DyOx#h*a@r;%}03?`xG-gf z?Ei6}Yy_fQ);hY67heU7C#QV9XWA_;*uDPzs#NMc?nwLoH>0Hm569%eu zPh+A*@GNu5zT;KSE7^~Fe08iqyX4W-+WA4o83GU&gR`#d>OEVI*=>4ELpwI~r*QtR zXo_ttNYf9l9X2u2)TvxAH!`x~5dT3B`}8dNvyf-+X!rJx<^hV4z{mFaWW5>8uW38! zw0blyi0vF(Yc3%P;2E(%!o<{Ao!x5lc=|&00)+=vn|z(F(1apw--7srJWrrI8{_mj zJ;_+&m_n4E(}8k|%N<1a!6ER1DIu~fPY~HI(6F*ioN~#Z5TKEdiN3|biy?iM(*eGh~ zmiho6a`VA2w!tu5@Qu~=r-8$rWl}4w#V1F9>kX_X({GhW^z+otv?^4xP_-2r&W+4r zxkjgbfBDTFX|7f{Y`BhndE{z**|@~`)wricQgC(M4{$JSshhl5ch8Wp)ZJ&wtuf-L zi!_h~`c>`*il3rEco)OX!^D=djdFIf$V*MHV&fh_eUJs%V@Lw0(n7-ibuIM}Qgt4!AeVQ_H!!uLPpyPdZ$it|p zs3I>D2h~)&OQ(O(XC7Np^MvA}DH6}0os51hfx0Zl8W>tv8P7^v_2*s264UJ_TS%?g zX0sy|y2FC*_SM+aBDRZt>8n?!DWOHpwcj)tVRT!U$Zo100svUVEQC(ptM84KxDw_f z=K7FQ0%(8%Qi!G531yDCLe()#m4NgB<%a>VxZ9?c>>dENIpOj&J zhFH-FY8bJhBeRirBxyfxzp3^?|1RUbr}^ninzBRmn!7M~DGiO)#u<&?tBEc;S>KOT zUzDWMPe=)^T)}F2W+&5AQ4&ufVxXEXv!((QnrJ&v{CapeEkdHVwzDB) zsqeRGK(PDUaf086EMk`QXsFe@!^80#wX2agq>2t#j$GbLbGds?Q`5Rn+#HZ{T}o%t zu)C5Bj-i2sR;`9EhqCraeQ6X-b>N_XKWw>qcJ-&*U;=H&gr#knc_G$Iq1^xDYW)LJ zz%zr3G>ekclvBPJwIr69;a$+E4;h;9R=Z-ux<}CT0K>iL4Q5>>ka6g85F}I5$lvQ? z)1wK4?7rs(tiPXx3XMhQGFiXv{#kuhR$oHsl_UB`JY5MF+pczM>{McOTC}bb=h+JV z(v4Mq?Xgq1)`fKuN}_b1)2ZWq^g8C$UOT4O0mels*)cJv{D2OVkTzB9!)}pm{u8N(oYEW1zb~P_4`zTCh zolJ;c;&1y%I6u4h`iM~NOLzxqe3}@5p$tD^Lfg|^iH<;GehKnwA5}}VO?&B`wQB=?Wb8!5PfAeh{Mk|Ujk0HZ<&ChYt9mewRTi52b@zgHDW?)6iR{}VzJjY_n41mW<(DDd zxgj}84q7=ZHswyd4WdC@t!*T~%9E4PBHE00cGfxFKbM@FV&ami1g~j{2l0{VmJ`C&Jde!C3e){IP`z7oDJstJLxK&?@cEwQsAKIhjdf^y%< zDOGt@zDqS~Rp;AeMJ)BEbhu^h9f->qYKSVr?Y$|sS}kNS{t}tP2AzJpGYyRisg}n`L>OFA9_k8p4S&8ea#R;o7}ye z^=DZW-9z@d^wevNC<;p55(*q2k`UnCdbeRTV3~j$?qA@wLm8aym*HwWWS(Yd#f)Z4DOnj}o*` zbxvHMY7TdfzD^U!dWd9Oe!0;e7V6Hr2^L@xszFlQgE<$0h^_m{9y5fg3+li!PF7x3hzQ2^k zJnH2yPejx!cb9x_nmP`=xLI&i{pph{(e#gut6ks7whd(V!lI;)5>DvEBnL*L&7q;z z=%;nvQ!Vpb<@|}O(L;v8hV`9+6Ri~Mubf}*e>|N>=j;6B_x{XGlVO;6~Dr@uJQvRdzS+v%X2m{+`z{2LY|~LiW4xc!IvPwslck{ zuYnfPLg3JIrY?k-&D*xmzTCI}RP-)4CMQ+bMD69PKh`s&k#@^S^Xdx6n2y7dSnPLo8RpaIvn@~y*2vBUQ&sShg&8nO3Zzc-Jq zqZ51B8kV=92)}j8jh4qvjDL2xyYPt_yn2VW>itV@ zA+YD>#0IHsgyAthH}+Cxc_<6)9iWY|Y zx^im-w$)BH>$wzh`GKW-rn{g_LHYU9zbXb|nRo}Ze;utK?VEDK+;Cf~pI1^jHdnA7 zX%=>O5{-E>-5GzI4Hx3i%Mia>3qBwIFuGGhYJBmi^0>H5nfKX!K#m#J*{RUtGWS_a zSv8WcSvPq6JQH*^NRmbEmJ6Ps)xNaV!pOjS?;ajOcxY>>P6HK2U=CfFv@RFBqyv*l z)wRA$O@w(pfgXX08wgbw*VjJ#>p6P_91j=&S;k+ZQlH?6?@EXuDtWDlp!D6>i0u~> z{DRJ{UiGh%dCv%npecWEYO+CO;JrbM2#Z=>am&6MA(tUh!&-z(fsuDlPQ-*nqok{`K@dvW;7$~B#dd);(Dk9T7Nwn)uGZOKl0sC z;BZtA|1fuEBat98ZVDA_rE;v|3-Yh)WqXv}mqNuFeE7k5}kZai-=BvckFY~Fn>xtIVQTZH>F`CvRAfh`Zxq-_iT5EV^y#cwp%Ft3%sVu zt#>Xqj3b;Ay@~AC(iqCUr{`|I9yrZ&)K)q@*GFh=5RZuV+Z}7kyPzLOG&;?GI=91R zvD(e$PTc}0!hD8%fcc!B&lSIx5y?#L9G%jsmu^P&95$SIt6WlCJQZ$p$hpSoJR8+0X0zM>l(s+X=*cHuIq2kNTZV%64&6VnA zp!ndM54hmBU9~4QM~gI6J1~beV?D^+-lG5?cd4w~3+)ojU$0WIWi9Zpv)b{P@@T|g zmu$0ez2+*@Ac1g;x-hiKz|qR!|0liKlEFi&%_MEW%;`ASOYEYKjxd=!_ig3$Vxa`@~r#LI^Yl0!y_l*B`DkL^PYG#bd?$FbCWq#`v%P^4Lk#0wCD*> zVa^|+^!*m*@x^H8cm4Pg3MG>SJR5l%0TAwN@8pDdh~Dn~F*%I5Syg%e39|ee;YE z-}0Xs{y55Qst7JkDAVHoTWJhpEqwkC%gy@7jq!UnBKf zZ=MjY5iD(?A`3BnYA&T=IxFYa4#Xzb>zCTr>{rBY>QIase>)%6+%svqcqmbA{s=`q zMHgv{i)muei(s)T4>oyZ$os@3_Fey&9bbK{jtqNCAV@I()%5y&$sd>ukCSe>T>H)C z^6y1QR%63t$@*t^zx=E@t1!iV|Bg2}>Wlv0acj`rM}78`lqS^C%M6i};jz6un(MOyO_!2S zpMXy5z$m|SFnEEUf-9Gz!@_hT3~7bgXSH;`>0Gi!h<*-Iz{poaFNJV+YJj7kKqpB% zp)L)j2u*A9=G{>eS{D}9VW;?yI%RrSTF44mvgH?II-ols(LewACSgVp30US;@npg5 z5xwFE-pFgMz)P#e+tu0`X3CW-1Z(49&RrIDL8a!1k1(=lU(41SkApz$V?Au(ggEVg zkxOXH(`Uem8M~Wuz2t+QNMMTqU16#|8(TAyALNn$qmx6}$Rc7nJFwwY-u`6vi{cKBen}+yE}H zTC(d*zmjJCbyd~SV{cHs(H%ZBu=29_)7{crxutyNcV@c3V>FR>?d)=Rhp%O+BvLoO z1-aPIWo7?Ec?5-FapSC$TuN`Z&uV+EFeeX{jFE<gX6nh`u9O-GVRHe{wr_)H2~xybD(s> z`Y&kLb^gV}QPA%|e}(2={jXsVJ4-g*{nN_9iSPekulav<0FH!p$~KOXV{jSpfX7I# zi%L()2R8uG$`$zVUGcd-Qf5U~56A|jr({uh&6h=kvFPuUXEXo8vF^n(O)Y&2zH@ z&F#P;Zsf9YbOIa^*wEtp3iumOs@s-<@SQpfaQ1t*H%S%O^}A4pM`x=LEL&4xT0vF( z$d%IW5oNPspub$=Rd%&dNRYhST9>6bT3Wu&4M&tHzCp}`#OaJU`g>73$b)9)#Nu`V^*RJRiT8o}YmMak z^b1telmI*5*`mH9;Pf8?&ZYUKlfN%sayd(`;=gTfURfpW_7yyq)uRQgW56U2gM8$# z+(Y3j!d2%Db#}2Yp6?L-&#sgKXjxI-{)?k=OmV=Ecl=A6hHwqfbE1{)ho?m5cZcB3 z{x>R_b+G;9{44M#W}XAFP;R^@P{=K8Y%u)5#J#3cZwmxpJP5#$GJsFpt%!aVh)-X} z#;izWLi_g~;0IR0vR?rNQC_vjZ^)iKcR`p1tL9dU24{W6mMzAsojVN(GdvyOh?W9i z)a%6rE}bDe3fahXEA4e77-%WP{ zY6)_wMM{!))DF^ztOCKHUs<9~(r3>;)+F&Iw3C2b>EO_j*~e=9D8SCniU@Y%&)P*l3iqAvpuHJmIh{}U!xL(>CO=(mB1|*XZ;pH zjIAEc^E`&vnFHZ|Mm#AMgK;OHD^uHO`kR*dh|BrbFmp^HQEBmM*26*mvDP1Fy8$%G zov4v;e`@z$`__mZEe)#xL`_ZYnhxRFvu74S*RS=nVnv^xeAKCV=gY(Aq)|p_)BegQ zaIUy7=?-WE;5a*Eh}7dIpYcHgTHTljhV@5d(B5N9kd$8q=bx+vClkl?bF`YIAQvK> z(}*vKYct8(euK#=Ng%ROBU2tpd=l)P7|p`JlvLfyqEYo&6C5Ma)A=njHMy@lu%V#z z$H`##bumEIOXU0KzaZQ{p~tV__zg-_SrFt*M6d?PR&_kfc*MS}Zkm0A69q{V?eSc5 z?bsu`P{GNID?t5!R3gnEh1h1rsg2#k7nXs{c$N1>ohcq*x@{fzFS_cm#M%})gO@5) z!6#PVZoXwt%@mN1sC*N!NAhDOn8`G)~|bw zb|3O8&UcOx>aSF-ZkZP@%~=-S|6`5^A^XkYufV{2N8bITTjV8P?w+e$44Z; z={N~>hdnSpi?cw+m!Xn;a>gnU)%_!MhlX-+!Q;Mz)zNrhC3BX51mTgBW#CYyZtjnv zhs*b}asol7SUr3S-~hi-(`Y>wwYC5j+n=Im5iGzuuR>`<+pv&eu!IfSQFIpT6^-`P z(NnS+hLasCg(lfrYoX|qJ8Hl>O}5pJZvemWFJM`wbB6RG$cE(AkDrPj?wogLlyj-t z0Y{u=DBi6SK!u}uReHE(4nVb6=t2a#FS@EVxQRLAk-h`Jd^ibJdIDAig9Crtdqtlr z8CbK8qmFb7LhlW3xEV^GB*qT)P;tL@WBeOGd_Jdq<;%);Mfu#e+~@=SSM~5u4~U$+;IY%ldKGaYpM&T2N>w(aVM+1kGh zb+5h$yUBk6PVpmBwF3a|5c!Q@N#ooFaVGp^OBCa{#%k0v|HKidFp?5 z0;CRo)75=H*0Ma~>Psf7nch*SV*aHaOaHUeid8nrGYLfz5dQwmcE{vIQLLKa8ma0A z@HBCK#2hEwHX#+i74+H*Y!=$J`X#;Fa%0~E9D`+PavguW-ZSqlW``)w2>F!_ce`zJ z*w>$QkoY#~@LEan!%vvw%P%-tb(9eIYOVao;6cCVSRI*T52< zR&u~qpEBv91Ch|m>R*qv(P@(0*%o284g3yDMv1s(J(DbzSxHf5ugRMU^c}!ZYrQwz zeov}Mdm$Rve!jzV4nx_vu9cI@y7jyN>axSW*Pu;>>zyp&SP5#7)17+ku_!!01hZRD zum0TL&g?R_`Sni{e~P`L*{#v3v7`k|*Y?!DNZb0D!!s(nQ^Xb|A3>#P5_Sbv;yN=K z)z#Hib3LOZhH7)zL~rnOAs9^*?~LHixT;_jTvq)8`59y71RzIs^(v|OapD9^K}_@a z(%{2sO*k$y`9cVR5p&XMj%=WWmSVyqC-@Yh+oW7H(-w;LnO) z5?tbaQa1g7O?IphJiv@i<&!*`*|Nrb>>~P~KisMB{WwwAp%Ak3?CsXk4!;R^wQv3Q zM^KXvCWRL6sSlHC&Ha9AeciHRYf6_s19vWzybj275z?^K&9Zn}NKY-5}&1;AqljfrnS+-C7W{b}`HN|dc$nK7v6|9Eu=0CUiVKB4!W#4Zy zQ7uHHe~yMGuw^lek$4Fzh30h^$)6?reMp`6j;492y3d1S*{!MJEKoMNo^Z^~z~77V z@zdi4ye+)fbq=S;&HkKW;yqA0EB|h>kA?@!97hl1L<#R+XL#+r47x@NmggQB!R6_= zoi?IndrRIA4ss-YpW~|%=MM*-e9imp7pK(i#q3T}5`XZDZq3^r2=jO*25%^Y+JtCM z)lMaH{su<@VzbsER+XN7epRX15Pxvi5Ya7Hg3ZAVWMmTq1lpvD-`(p}F5nAJRvH_& zE$C1bNeyN@zjT&=Wt8es(Kv6K96_joXN)PX(Gn@BztlH>OXiA(hP)7(@NU&GSY#Ap z65795>1;W+yZ&U|GdMu}W!)lGU4~U&JG9uyIKaKNgx}7%AmIfK)tUN*x)_{7bQ~B- zI3iT80-PZ6kxSzQm=93)Q|DS#qW!5$PwyY75ViClv`JiveRETBrm*StL@5RVeY;=g zoRyQkKF|>%c*@LchA8d3%bBKN|7n|KJIq~4f6DUJ@@jG5vdz`e1*=cr@7do@K5XyD zHgw$BcXfQuder}MqH3Uj=K!~Vctpgf`E@-{3)x6qCYJfVd>e|t>)d1>x?RJ;B6l#r zaujttbl=DmJsOcr43w|jczIm*%qCL$kPCaK`|};MJ*=QbI~K!oHXA^OU(E-v;-7%( z-+J$RUz$D&F#qtM=U-0V8{RYv7z{}BI+|&2zik#kG$D_#J4;nrh4*n>W?rqOX*Juz ziCQ5@^7z@sv4&aJ_~*Lj(xm)1x;Hz*2tgmX1zSK0^W>Y~Aiv zf5}A)NG-2}YhRPAtF?X=r2tbK1!qa7U<9=O=eO$1hoLY*16*Kdv6_8Rok_T(;>AfMRJ28B_M(z9fBY!NJ@j0(nxm+B1kBqgo1!YgESI?D2RX( z(%sz+XD*+|_kGX#&Uwc-zH@%#cm6nx;TCqRz1F?%d){-->zdaL0eh0>nI~?<&x7K>m+!>fd$~SLoy7QAqL0d*;CATq|En1jW#T@;~Uf6aU=bfld#K%-NNhJJmukm6Y?B6E)(OJf8RA0EXPKUal zT~qSW=K~{ticYtZkX~C{eyUKY#g6lM;6QId+XBv$&y2O=b8%QQVo0}{Dm=kcJWLE; z1L0iPZP6E&5ZdM=?CQxlC4+Cwlsq0tTUdjvwy=W`O4T=X^TdgIW^2}U9p~!y%g;_! zx&vKO)LlF>lD}Q-=hg+27*v?Dw)->_aPnMb@GZ<4h^fYD{GohZ)Z#Wlr-X?Dg+9Ig zmsqJt_jn_z@egaNtJNT$u~ph^!eTF^ofgQxnI?I>JCR5Fvd|Nl2UVU?m^w!Dv<+Nh zn;jawp3;FhcgHrubp(6TRlQd0@eK)ZqkLQ9zZA^Pb|izAb34z><3PpK$9yeib#$`f ztftK2cp_WE%S}1*zAO10LD=G9!tZMMOljDDQhi`<` zv9iy{$Hoc0v}tybuQap^3Ot6Q#_zu09NDU%wtdi1X_I{&Q-%O7Ds1xQiR&Q#PN$)ZzE;AQWF;?}stNUYMG^YH~ z;|0DEQrg4G58)OBW~e8dB-bJ)Vv?DM3tU8r)rvPxZdqzcS6$$i4jWt4TA-6m-d;%( ze|w(0ZDsk0MT$1XhwHtdgX9f{W=XVA2ql)d6TE=s~EOlw~9Y>MT@Q9U;L zpwbv7-(Zm^zL(cjV|}iOow{Z|S|fXLix7u{si57%Vvb!v^Q0p$^VpKH){7`O2C}L*8M*YbbRM>U_dZ)$G1KIKFDn z9?5iK+V<%I*{&Rk>Hj7D_?i&mGZN#1dm1F{-G(8YO>PWT{m@jx;s{Hg|2ce&PEnH7z z0>Zp~gv_-kW3&@(kA$$W7;%(UxanL^zY=O32ZHF^o#cJ8vErIF^MbJSKnD9eKWDFN zJ`6I2?q?0?m!qK+WFH9&&0=2-m|PO-xk=kE+EhU+Df#LL>EPmk+Gdx^&q1o`kr!J1 zYqu_ERL!D7aNp~$rtGblQxOl!4w%cjg*ZNc@Ud^~PK4>WxRCncET^e;ZKL-E8}Cb= zt8Sa4=^Z!ARjMyHdE1i@n^jDjcL+_2hw74_=0*3oMtnD~T?_flF!??;i2pDiiq<#W>dZu!Q)%p74mqKHf-H$xZubCVu^0{07Uo ziLC*q=v%jPE#(T9NBI&e_lC7STR9Rcf3785cAVUojY;XfE`6kJcs6BbUSuus{NwHo ziBmn|d25KpxkK{vCTWOc9CtYNqq+33b0XQ7YR-@8PQ5urukzq@TDwyNi3^p77v=a8 zlnKf1Osv;<|7vPa=);`&$(Bc)wiewt5=2>Sg1dY8StA^et5Cj=^e3 z7XAb8saw6eO-ws3%+!J=nHGnmOmsA>HdQa|IqHw!rIr8S)Zryo6>QZI9Qt}$^{|*I zT|x9v<9+qU;MO_r&5_0*YL)d-81;TX)XIlBnU1#hEug3T{I-1WQdwcM1Mltg=$J8) zyFTV(2Q;E)^py3Lg~ZD}8LSW6FdRZ1+ZFEn+g`iA!tSTM0EsRM`?H&YR5ApGL#vtx z1LWd486ws*jcX#)E^E7A^#s|=4t#{5258}dy=`P`Er?-}N||hCFYTBMH5poz-I|9! zeRDKz%o=PfE7_GJ=C$T;BZpB#BVGK0DekMhgPLVasv|^8?vg^?^^URfM;Gip7ved7 zsd*T0C8+ebsuZGaGU#HV!`oFq?+zAd>ETL0t0hl0imiq>Dtp$MoVH&>%KB9K*bwkr z?GN2wUmQtwt#i5w3gR4>6?^CBkR)F!4Ua%+W}M3n}$ZiSyzin4K7(lA^_&>?OuD z^@BRw3oIGOBgn3f23%MPTMc~`Ez#dZ<6=Z`u2GV*^)y*y0Md@dp6UVUxqf90W62CU zFAu(I+M_d;A-ELOh08#n=l(|uUN-EtmNPoW^DHJNZ;0dR(b52B=qFpq$eO|)b#Y$V zbX6ui5yd`yxoaJvF3^3GXTJ(Gb~;1BKN-3+KmbrfuCMlAQQdCmX*Tj$wzjGPd@*-6^sRev@yV#M!>A1?19+U0GK0&Ba z-{yJnS2dXo0eRwSZ}jBkqp4>lHi0u;;XrI*z4ZR+e@D7cZ3j0UhSJV zN5#&#K_0Kt&d6(yRUi6mTUc3D`Q}3bZnkRbT{X$05|yM&^$5DxWA2?W5g*82=eEdo zQX?9ZMnqlfyBK9ZilU?w=5{$w6jbYsiwfH5W_F_ahrQ5fO9@L9hx^-m5Uf}JF#0W{r$;l0UL{h(SQ-@4amr4h| zUrNy5TDb)!ip)b zo8b;`=6Ic=u_82H2UYSV^snVK>@r_|A^RvY4K?-V)#HeY zW9VpoYscLjhwLB6%bjz^lDS90%lzseGqU@CfDo;*&fnT3{96ndc7^2-1VsJ&?dSg^ zMELhh|6e1Kf4;^Es{sbOzlt829t7&JB(k!ywAIzej!$QB+_AL04JssAnVBW->hOvC z%us0Rv%C6Np{cCd>seK*GiUTIEG)dwT)VH)(%PE3+Er}TzReQ>SIQG2LjxZQCk=1J z?$p>M2FU>h!M}}WCHj;vtesff|6pzZo~HjB<*MP@V^Abh03apOt{d<(P?EEkWwB%^rNvBc11Mz&bDmEQr!g3!t-*+hh(U*kh~4hTM$C8T-Iuga zdyhE1R?6Hy*Iw^qauDx)P$7J8F-obu1pl>xL$AZ}%T!MnCQ*-H#NJa2Q>EGL&7~4Y zW}*)B1zXk=+d66zf&=jRt#;XueJx< z{LJnH;M!oe0YJ^s1oKq@wLg`*E!}QyX(>X)yP(eV=^;_aL+MRvvC-Si6tZ$51s*X^ zo;(qVRe&36&H1|kH0sMU=S(}pH63riUx#3AClR?!692l@ z_Y@l@zuj~@sG!?Q=y&sL94X*^%ANF7Tri+)eE}kBfs}YyNU==Pjaar?rqX7PD}{XRwvb=66%MwAEL? zJs@Uv^zK!5Kl3%F61G}h^8*s!7Ku`Z#qrw?A*Q#YOH5&2Gx17xK6rahr%R@&0rUz# zLE(pl)#1;96+M70VZ{rtVE~lBKCYd21g{#vUmT((!;$_!NnK` zVv+!JBjS z1A!r0VDAT17k;Tvlhf0cd+I2G2he=`tpQpKg>uT|4L|Qusl$i(=W@ZwyvP=K58kO+Os_C>vHkj>-?>=9tDPe z3v+_+7+NlhobjLkYQPU{0`m7z zYoJH_TMFj>`O3lGSpX89nTC)$ET~Dn>Cgw@v>gIqE|pI_E=DR&+s^I%1TND;oG9WM zF($z81KbCYa$GT!utAXrD}0`S`r+QD7%xOG#>*yLG)pJch_)1AdJHV4fP(%*Q($oj zyLAqc>F&Lu+D+crJNHc^SLbdQN^bjMNPng#s^y5q!ht57TM_)IOVNr zN{YaOx}9hTR>Bh+o4}CBN2j^p9ZZu826mutKR84Fg#+47JcClzYGQG4_@63Q7 zPjkJ8=z{y}0g_(ByCbz(S9eoQuel4i^3>kM3JPx00R{bD1BDW1*91&i2q~Dry%hR^eU2afu{avYRXqoJEDalmM^KDBA9@q?X01`G z*AZFW`#6wpsq4^G6W@Bu;5ixVTEmOTHepHsVtqn`h>VM_VOT53(cNOCRYZhLl*C+{ zsC9mIy}gxdT|qr$#=5aQM(sltMcd(PO6{ zH`uz57_T~-)J%EsrT~qDB;hxwi2;!uL7y7MT?Jg~7gTjGP4jJExqbpW{(R3l)u)W{ zP%YQb{mS$S0j;(`csOqs8(!f!QWQp#ts4cB&Trajy;qjybFIT3*+mTE|8^Q=*)o() z5k$Jz07fs|iGi68GE^jVuE05}8p{>)Kpn!2E(2wThVPOmK5Xo$=g<-5TF0mHC+Z9! z)?%-`fGi3ge5_AK%$$&Yc$%@}chAb;sL z-8d95ZNL$#)}o@|9#6P2eyxG=OV}z1-o72)?NcYvCkPWk(_CtUW&~5RXy#W;lKL=< zghdVPcO*`G>rL+xEp6)$l#2c3T?mApCL{pO@ix2(;h)~oPAX(apn6NW9PCQDwJU^= z6Tsm1tDg1Ib3wa)JVNSMF_-4S0dywJCU6N)ED!f(MxhmCnNKipyaK%i-+zWol~mjm zC77_aOPzf+!Flr zS7cL62IqAzO^(B|LqseRVq?eRc#p@=)H;6B@Z42V#eGo6vLMj+>Z~g!4evp$JfqVA zX6d=YanKF!+-GC^eMjM;ggG}38<7}+{hBE7Eq4Xr9rH(@v6;U;vr5z3alaq_o*e>h zwcutJ<#F&&9IkWx37Nyc%e^Nc@L;|O0u)i&9W?#7?;zf-hzJri>FMG=gsym-C z?>rXUL{79bHs-f-9i{CA3V|0POcrW}?GNMnG$1MB;Xe~&Wc173o7Ck<@n@d*i~ zZ!p49UxSLOL5!gknk2B+_9SO~2VhUpbW? z-B3~a@Q{+NAG*(&0WER64x8*3&@}9R6`1~;h+77^^<-#P)+QiwQvbX*4smHAqV+oL zyJHBX!J=f)O2*}4XLn2^0$qmpQ8auFxxZxw;#id~ii!?+3grCzkef)|9FU|kX!ACJ z@Y!DYA6IbE(fe+8+SgEXY5%%LCVmI>or0%kW_tB!U?XrjKyD{8{>=SPAb<-2jg~@$ zLkQCMRrN(JEsAA}p!DKWOXy7_>Xw7Z#YH@NwDce2?eDL~KpXZ0v`4uhwhe74t?-$A z3MelTsF|EVfo~EbZ2H^1_VTI($6D0X1cLY?aI?N}hrx-u1^+WH-p&RKM1X^c!60o2 zVA7MjF#K!O{qR7=8ZV6~L=yc!kGk78>i7uXBRwXNF49h|@z(#05s{b<%M?3W^0?d% z`eO2A0(>g!vC0DpF6mMZ>#p>Lz^4xY->P~MUKe<@`Np@KAzps3^5MUVmEOR((deg9b(Wo52YR3eXvy4220~u)F-0-yHG8k!~uX ztQcRVM=1d^DFmKu1b}Mvh|1r(K!mms5u5{YlRAvVPXQ>{4NhNG!yrBa zPqxyIfDawZ(z>QhbNPURa;TQf(Mg*BGqsQ$}!$GGeYuKSN5OngbgSWnTqfRqrtG!ruX2p2LNe_Dh-;P>_ z+;z2Z=Pq^mCW8|MMK~CUp8qRl2Ezyb)zg5E{+N;9Ew+%!IQ#ft@*<7{dMM?(s)y^slr2H<D5yKY`P66=;dS16eR?-XPh7C^P-$w-TOe!+mu$8ceo~!oqU&vr6-{gp9|ZlMzY> zbCkBZd4B*>NK4>8m43L_D?%33S8P=^@?JaF+2|Cal7yHl`=g*BtSVrK*o`%WLYl?& zXn(8N_;@{0Rcv?s5w9)u)&UAGq9OF08JP;Be_dJhY+B&dXZ{ zx+DV-O)s6CX@SjAii!d7@zdF<-dDZga~!y4Z>DcikJx)G2^l!gf~~p#m(*7ED3o;+wsPS z+_nF(Ga}-Kx24!QIg7wN_kghUGO;U85F(9Nv2RW@11kXpH4#DDQpln7frQnH7%>kh z$CMp`u2!naDx#$$u{TMHd5{GgI4)-D3A&umt& zPJE7X8OO9O`g-B}D^tiOxYUvpeyIv@53&L+6IcHy#iQWM=N`1}-+HZ@dr*V4GwNhv z^dPDRRaV#9uNwtGp|05T&_pvzL9%I~CtZvHFTe_WN}gbh77=Y#ty?v#hdAmkL>N(& zQly{)kCz|(*Sv;43u=i}C{^(-&BSwP#d4uxez5vNNOBv0q4QN3k=`zd7FmFPY6z0R zb&3w2k)d(Eh`t@-Pnm}S9nu)3JaEh~YeDg7qSBS{N}UpOH8(TPv|1gyL>_8lp{S8!&^!68a&rB!74 z>ZV>8aBo8V;@@jm=Dq`9B;fVf2Ya3;lcjnopL!?Y(4HXVK`8~w@oO#YPDl-rOWxt6 zlm`gA%^Pew&Ajeq;KiXpk58|N6I^AJ4V}I~J*gWaYts0{Kj3EY8zI@tb^K#UEi4kg zFVmOH>*?tcmOM81axm8uxRqm004(j7{Y3sh9mNij+>qGRhbX{s0iXz#smMHhD?bf zDGmib3)-am@(0$)iyf%*_=iI)erH_H)~qTQCV^5foiKBy9}P~>rSpQDmt@b~qIuyM z%jjQ?N2`BY>;kQ#tpc=@mig>)U@jZ}neo;i1Gke6tvtO7Zk+z5d*-P0^w~cHPtYlF z+l~safhGx9sOs4Ne41}I?q3@iR{RgU^`8|5Wjp^CMEi5V|9&(4@t*|Br1cQQOCKbj zDFqQ}Y|z!M(l3REdVpWezz*F2C00vd(@Q~z`~1?c-1^17VnmnvuK?t)ZDHy^X~?&4%502M0Cj;h zW~(RbUwQN_N-`5L3T`0bXOBiBRInakpd)I$NDcwu6(~zlwG9B@U6dRveH?76y9^H2 zsWciSN1O`!U-rjHBR~)?a~$x2h+MVt7eK$c5Rd+e8W<_){Q>hsBob$YF+CIzo)OY5 z4k=#{hw^YisH|X%6oZY>o++hOaKLur`=5O-#F_~FFjRJCX5-mu@cr|1^@_98UdsZA zG}u9e699V0-yf0_kip5P9YmEi0s1`N7^)&P)P+dgiB3JeHRzQSJoX~IY{YK>5~BAe znxowhK7#nqZ(V6{xPKujX0{8X!hySi<*NV;_aTsr4i65B*K0KWAMQ*EH6#XJh8;g- zODjM!#jyWBe`;k4cHBJ!11*KbKa766raN@80Y}_=MU9>!yIUySRT_oHYR`?qQb6S( zKBz!lMuf$^Av*=^O4tXuMMb@X?c}3qEs)gih7=MVY{dL+Mj`fz;9*0fXjegzXaKQW zaqL((C?7>c%=gq=?|k-uy6RJniR^(gXB%J+y#nne+Hvx2WfT7pDMX%mSR|aBE%kmJ zB{M-TI>huA0o8`otA*8jzKn|Xm4YtDh1!6 zdhJ27{ECDpioojS3?q5KWP}ISc`UwwEfi}&HTL;yja-1ux;YMGh0uk3BD}Qv)o>MH zNMUsh^B3k=o}{Sr%jFZKJKlAO98uu;sHb%4XmRl&Pjp>^zP%0jOJxWuoU25ND~r=I z_C(+xT~F<#A&5aF&4rqRI;oK~7+%>65!ZRVjW6PLRJapqgapwhB{=AmF)*6Z75+H5 zyrdz05E>0Wwf^|vJ`gp24``))ABHLS z!T-G|-R~(mTL+S`yQ^a$2@Bv>c%$lH)2E*-^wK{r;=g2F|JNF{|3{7ZfAVX<;5dRK z-Ved<;7C(bQ$l>a#oM=Umv_KtJ_B8ai(MCb`hdw|hCnscR8+d{Y2tS4lV9C>^sMv% zr~7sUY=kU9r*T7Ri%6<~M635CtX#V)X6z5V1G+L1^|{Hm*nX zXEElg!7KzzURhbICb4&?3NUlK(Yip_4HWV3_Cb83kPLHgMNt9ifL=!oY25&5N*^dl znj;E!+~PIItVprb|17G=QZ4_7b*aRH41q!;kU1y)34? z@Xl{^*EBIkjukhSl?sJJl^75paH&mNxtaB8C#F*I*Sq};#WtO#HvQR_KP)*lSQzLH zB9!aS-@5sT^`(gv%7TboQ$ec7_yzyQV1)rM{l3%K_|(>OPrS614c|0y;A=Phz6+0> z=Ds~?LAG`bm8u}VEuxjW0r80l*a+s8td25=k^7KoVTe$|$G`~ia@E8Qp_$YX)DuG$ z`XG^%@c9r1QMXJmw=+l7oS&oU5_hC9;GGW^Ut%>tC<*_y{wqXLq5v^uH+g~wOGzJh&y@fWYVXKOm7#O2p zoNr<>FPq%_xxF;tLS+rI>c^iY(pJ<$9(Uj)GS=vY=~V1>G$+7|!1PhzBQ0qL<2R8g9M1zmWeLPIIaTiv>l`A##5< z2En{GA$vIa42N9kcB$<%2y|l|I(5m*yd&Ev%{^sQoa7&H+{z{(fWy#hk$z<)fCBJV zOlC{wM$jUM=3sBPJY=KVeV1Jhd>!DWpNPKwZDa6O9Q{I)+6p8KD_G#80ytsk(Tx{F zpcoPovfj=EH6v~{y*Ek{7xI_jQA8@W$-IY!rUK%}-mqOkWfrA5&FQMnr z|Kg9?msm1SE~xy-Gpw4QzYT8+IM*eO8v@W$Qvc^?Zq2_t!UmZx^trv z(dFALCX2UdO~`^K6(2tGV#CL_=U!T&OYU~R%gf7B72BVEH3w$1|U1> zX@h9u{sd-&PW1!HqdB!XDDzdZ>o57*N;$qEc{oP)8mI|b(B$jYTR49km}9~`#EfEB z0UKefC55k-e}{JlMXLEt>WyxpnOvI1C5PeaL$L(Q#$i%ORh2SBw|eOF76&aq z%0_k?BLjW=3eDxat(q=|NBc~ka}b?@*{lQueZytuds{I**y4?oDi7qgeS6#=aMN(n z5aoR#l7^2(GP)0+920i@rz_K_;Nt?Hz4hvg%#G8rg-kNxdU$~1eQ!nIhKgKc{mT0` zenv+dW^OXof`F)qDUE^4)5>fPbA4-7A7)NnASLSf9ym%i{UtUwu&(z!;nFr3@e040 zOtr*&mP!$CLi}jBm8SauMaS`Zfsa4^S{SKTzM)&6#T-~pHGZq_-<;CH37-QZg9=h< z{S)-V{Y> z7fd*8(MMfCdlPV;{PND+_+-ELC#2t#Kdy%IYBD5?xZd3dJ?=DnsOvrQ8;0z9LQkGy zvgC&KC8zPmO;FY5f^jzVX7Gm)?I%!#k`QD10y0G_-~A^*e|d6de=y&)hF zbzfEn0*nDt+YY%nx%r;l0i%3*`rX}T$uuB=JUNCUqHLzaQT(@%^KlR*`~7Y8xFLwo z;CX2f3=cgeq?}WS0izUvzn(qDL)6% z_)dCmGqfboPTzT~K_?#8+FGZH&o=v;b2boT&NUG64leBY&!&g{0O0EdeF8v3DjG7CcYdf>x)Xak+`N)XO>e1N_*hZQk zGi=3G9AszBfI=w3L)i%$w04= zAOZ@YzI^wlZk*A7Bd}^V5v8eS2WNwpTr->J|A1oiKHIxko!qChm zlr$pUqNQ~D-J@EIkY~F6nTgT-hOo=(ntJ^ zful6zs4;jop4l>up#)ThmG{4T3y6W(gXeW=*3&6&{Wg2WW`dtUpF1tO>4Vm>F*!d4 zAVGVZ5Zz_v`!3zn3O?Q)Bp@yPhW2Z2nd!NZ;L%7NndFONu}888o}cC94CHa15wP+t zj6x=N+)t7cndMp1cp)^(JM-OK?U%#P5+YXCb57Tmbk z^&)PJ42{^$mKeU}wEmT?cFAje=DNaeyZ`Z%7fb+S35&?;zG-~0yGTIM{lQ^Gf@!4J zDol47r9?fx^9ZHx^oc|$6UYcGN2_6y-&&bj3}l~%pQQw@UHeQVgQy^HTX-Kn;w`oE z$uvgoioeGX`E`kJTM9;fboTyD%rUtB?>{Hri$eB$J>bg6&c`IgO5=kbYKC*r>mhBN zDR`qr0-HH|y}9dvro5RV1oZMV#JVMyyKe3Y*6gE&dk%EmK}mDw8D627sqx*9Y(e!9 zuEf>WNUl_GyvwryYp^$ibf(?Yl?|OQL^u8jo991&*Uzm9Nnvjmzc{)mzFLPZOcj#! z426kiEWAICG>kc}>Z;!UWv~uQv#prLtm3+yY+Mqv=`&mq`Cf~hAQ|-TzJfaN!1Qok;LVgkOWgj+=iZ?2UT-7G8Z3dW7 zcS|ft_F`x_iqE7jzz2aK<}#nCwzN{;rOaq8Uq&{}!FNIb;KT; z>?D|GFpPkHt<7I7znV9Jx6v}H(8lbLf#vkaBH{%N6(pa{;?(GG#hOHrdQnE0baGm9pn}&nj>6PXB(pyKwcOyo|AU!;|plge!aTj@`Lj2<%C7tl+SCxov zzJn+);=2oes5#9~ZPp_rH|UwM?lV~Kw5Lu{pCQP{b#7am;EIra4u_=#3|B`1LtFrA zBwMd|R;3_gjT-BtIC;m@3?pLX% zzo#Z6y)y5EPRFvV&rqf798d$40QOJ$WvBU zCWveR#Fh=)3f~9YKIi-iFy{(z17zpH>kv2W3mmBNcJ~6#EiMvaJSHHqCkp{1pAFk) zHuMF^0;g+vs~_@fKLPvtks|DJ*B4O{nGxeca`*Bg5cB_pec(CLUwRX!=S(j+>d8F7 zZs~$%n1UyMU%h8$yLbDh623q~ZPxX2ZUVKKYD zB35vOT=qP_m4>%JE_dv=d7Xv$_=V=p(;MR{G`opN=n4&P&Ot7j%YPe^1j+V*aaIqS zfy*m=q4A0kF!h>4A*1&ioXX1iO3=~B^bu<$#)VP6YCx+gr3)@JqfawNZ6!qg=h~8m zcnw|Jt~9kHTkvBnW=lNV{t^yxD393llnsJyEDI3MY#zf(&D1mMXiMU!Il6@`wL*EU zU|q$}L)4RKCEpks1kO{f-JG09yZ7*u3uqS8XnB7_#QsI3Vg~l=$E#BAzLh3CZ%}R2h;cF@5 zV{|dlx;JmgXr}SXpyMYJVVT42vf4H!n%|+eFkpqY5^OAuFc+HXMG#--=tLU6{N-bT zHvx{o&Rg6%1i1El@G{aq>D@$Oe%o1YvrLhxfynI1i=5=au4l?DyOC>&s~rF(r&(84;kwxR@9Bce3YiJuXwhHC`yIb zP?%-QOj$KqHF}SeQvP<|!<2$g5x8=jNqwX70C#j_ORhOz{iD0jqv2HR)N^1XMIt~ga^`XA;uFUAH>5Cz z)oFosNqgn4=13x#EE2_y+dv?>F?2EsoKjG*6-!M`6vem~+!!%1V{ zArBamzaIlJPfkuSf`9*Bi;2QOVVuD4$T3l?$U)&JzzhR_)mIfhhxg-c)DZHNHU_p_ zmIcQH3=BPZ{`ZHGr;#6f##MEA?tgse$-|qf@+7Bd;UqCgZYaoVz{fb@p9TS9s^yg8 z;51e7Z^%k(dZa9+5+-R*#qX%OpGl4w$1}Tx6^nlKg@wRW9aB!zvEKI)-}vPVkU)9( z+4JMq9hJ))ZE?HbuBr*l`{YR*pih}nllRHu%4%cw-7%(;PN(yFyK+1{U$(wI)zf1* zJ3q+;xpLOAeA|`aJb1V;_R2wsoLL%2m28-R4IPN|Qh6(CKe2pI+o3HP}l zO^t8h)U0k}lXH|^xn$Utq46|k^wf0}&YK0r4!$BMgI4f5#+MBNaZy%o!RrzxTY$6+ z8{pL%*PFG{;oYlHmpe0A-Dkh`Np7gxvv_lPNR;O`KrT<>;wWrJKGw*x#O~%0%w@o+ zP_g#}wPs7PNFkbR;F~v>dz~IGUW9s>c!>5bd<;IoAWP{%j<1IP4Bz-v^XJ^V!T;_) zhcLn?J4m4e_zq+ga?PiqeGC)Gzw*lLhT)&jc4pS1dN}p#%cLjx3a8vkI1FEV_eJBwUhhy$I4jyJ3u1v8J;LhcmTTcGt`U!}(^ z!kYS6){{8&`NX-GD*ZwV1q{NHmgNW zLr`XH+Y)H4nk=X?-Ii?C!~6!}Hy3J>cSGj31!~laosFp9-5%Zc43gC*TUin;9l$&p zN}D+?v^{yUvVt*xTWecvd#WtsaAuw8Y(k1RW0`W4))%Bk&OEo=q;L=ll(RpX^Kf&? z&NCg4F)3S+1x37gzkakKdEye~ymkz9pF~(-bf)8#w^5g6N!Ip3hE;#Y<^9d9z=8SC ztr3s)3k?gggt907`?jQaT9 zMJmo4lWLA$)fMQ6lkGka7cvQ5 z?Vm#Y{yYlQ46?u&T+cZ~D)F5Gtv~C(2jIunkNR)MnEXTE?RwNMC?DHnJMgD=RZKBGk8k$3E%aSYYi*ym8Lq)b>uhqGeM>^9?yj?cM=G#N~TE7tbk%Q@wDp zNgs>IWQm>XK$&3R#45#N8T{xEqSMuhTnJOB2jDhJsuQb0rPOsnyO@4#Je0Q*VsKh~ z>w(hT!WpUXHu>w!Fct%q8~& z`d;ftvPxCK<)$^;6E1HFciqPyP(v%Dr;51Vxz*S`+a$U)b7NcooH9@m^8jxA7ET$c zm4mx&<;j!t_CA+BPbeq3hmgT1^sbR$xuLP+V!u(M?NcrpR4n;?z(E*MSZE348))MR z*5-$64){Kbp5gdO-v9Nb%&xf<$<}(6VxB_9Cp`nxRekkR-lts7_H_fib<1wc>$2KU zj~1EeW>3W&jM(2RD>SocA6uroW6GlG*IAN>9=Y<&buywG_7!eppvrxhJ$3o5^ z_3=!KbdVx_xIN+V<+1BOe_U_X_dV4Ow)`GWD?c>0m35p0Er@%4kWA4lfKBx0;oQj& zF==w%kVv}kad!L?XRxR>@eW3AU+76KDyBnIZ;c)F*4Uw~2VbW~T zY9pl@O<{wa>`Pn80$>UB-m55>zM43Yb&jF@!NZI7%HgZH&~BRg3}?|g*0yS@MB|!uSuAW2Q%U%7Q!=CsmwHPVZ zBCo@l%}13VG8T7bPF#sjEmsZ9TxL(>D8Kbg7yH?5QrFORaVV#@v0FHEinfThL1l^_ zfh?ztkEe_^J|Fzr7OLG->1m;!8>}dvQ;p%dFIpGjENO0ogA}s;cRjiyiw~LDe0OmOS~+8NE%YJwZnYRT|1jTPOVL$#m>o)8(*6B?Y54#K~7ACeeA+`g?3DB zQ7{+Gm8x&N8h-BleT4?hPTp?@E+5FX)R5YnjMNTuzYtHO=I888H1>Oz*hAHo-NdP` z6KH!arc#i_0yjNf^!2zFD+QN+wry1g?g;#?}Ez>>EwN)0kxid39;}D6&KRiLrNSC}Z*_OQ7 zcNVYV(N0Oh70r<>`1(H0eOcX4^`G-m*ezin65lg!N}FjJv*6Z4*hb)p@kyV=1%@jbAOPL^b9G5dT*Nx9sW8sXY~U2Xn)@rljgo{ ziE4ML!Dh&g(8;Z_hlEp#ks4zW@lnRziRJHaYMFDh8%T>j2^=|c&W%PZHH}=UTe)6g zpE*Q&I8M>EpP-OA=z7dJ_x0oZq2U#yO6^qYH$ERSG^DX(7-%&{+78}IoiCgwcw?Tv zDy;L#<1(fx!UBlA*=;3d9NJP(l5i0E35?>=As@TDzRsut-Jq*QIz+HJZv3=3$JD4`wNQP5Tqh8U3+^|xLk(1L`?mqDEle{ zmA7I^?ukXB{$O3{(Msi0=>**lcOvJL!6aQ4B_*4y1&Zr8GHFjyb28bZYIvFn=2!0Y z?irS$gYXCjEbLQSMe&q)y6ySsx#IPLYb+}#=b{9zy2$DQ);VI@@trK6XUa~QQ}1tFK;GJ*@wMk7nc~&L zcB-J^ahZ{m;6rYLiSSYfLVNcyj7b%?pHyY5ZwyAh({^`ifog7n=W; z-dXIE^DR=xR2#3m&qN9f^rfo`Pd!bcl2U&f<2)G-DOqNf5nmlnQTK%PKx|gU`2xJt zT%tqdX4JxnB+TX{1XDC|%X#{2tp2;fRBcJj>S}K|#q+uLQ&++#ts~Cka0TgQu}83c zLs!`)e<^ojS*dBxanrcJTOcbYbd!aA0&hA(;ax=)wHyaVQci3|t>t$r&xPEiOII9t zE}H}>L^JZ;;|#lV&fzoiPZQL@k@+aXTp{W-qQ7H~=Oe+cQ;Eacqr+DXmdB~Q{ ztBcb@p22a;Ok1n@F^lhhc#bYPSNmFXbI|PkKF8_l`;v~M0nav#_&cdUs7Is7E?Hn> zFz?Iy6h(dadV)m=+j*@tR!y&?Ee+S{XBtjDdOrqTdR0ZXG&vNXz6tcUZD)*?Jkh(e zfB)fQT2^`9DrHVGhB(Xj+Be9*+SN=Xc$#TT=LKGLS3{rEbZKu=el4vQ$|>su;L-KW zr&!~&>JM!P*}26Etp&{=P0a(DfT5BhK3*4>W?5a+GPMpCaefzQryEmqwsd-UA+5>(Q64Mf?LnnG@Gj2&c1&)`G|M&Y9)P# z(ERu#x#f@glZP8}1t~dFC^05c!P65BxW(FMdb$YN6rR%j82j|&P7BrB#a^{{)hseXZWd@o8UV#n0py`FeARP7rep7hcOq8*m@b zR$)nb6xb9_u1)^7i!k$?vR!}UMUJ>=in8(0n6-Cq*oAo!ACGTGkTMF4cX#9lAYTw; zqGFm36m(?Jy zEXo@K9tCs!)O+i#x|H*39?9jjmU^Z*OuaUXwu$QF4yU-@o=I zBQ#&akmIqEa)i`AgL~uceItLv5YJf@kEIg&0ce}9p*>@DKC|@b?d12rGdsAzZyEkA zjX{)0=D+dw)=^RZ@A|JI9RiZl9Yce3cSx5*Dcy~9Nen3<9nt~7|ozmSU(jYBx z-t+nHy}x_?&TpSs>#V~cE}0paXC9t--}il8uWJi!GM@4Q3gP(9$+usWtqwX7$VCya zcV2JBnVzUO@;I!0!FtPb%u3k^l1+DST=2NbdWy%QYAk|IA^&&t&xX{BC1- zcxipKSH4Hja?7~M0KVW7UX_uJF!t^zuWWl?Z3c`G!kW8qE3&HI8*mdLcP5r z2q9AP`8jHo|3BAz1bc_tF=nB2axS5;~UYZ~W8K6rFCg6Xj|=JDRB04?9IiKjm|Wu4w+_;^cgNmSH1EHE^GC*8sv zAf)k%(sda=O#)-W0k8^Q&Xs~G@ERO{e{t>CO4hV1{-hf{Ug*9yyujsBr0hZ3yy*_GQ9z4d4O@$om<$LP~;f3128>59qD(z;P>$NX_)A!cf z(q{>|pOy}jR67*z@O=d>zwh6op=lV1r_@*vuQru6 z3`)Tl8lU^DS#_d!ZtQ=)H=_oc28?Ds@44_+Z#%ft!~p9n?Vcnqq|6D+bIPh)DjLx^z?3X z8sTzW6xjVOx?AtK1PK=<3RUXh@&LE8o>=$8#W{QI{lUwfe$_@nd4o~W%HB0$$GNI* z`*3$5=T(VsPn|edqK{q*UVTlfZ|z91tqRD-rS9tE(EX~QQ!CbMpTo7-`zLFi`n|x( z2m0dd&FsHGSU%*m-su#gV8Y90)TkLHQYmEC6)}5v)FKW9LBqyoV9;mUEylx`2m+ z*W{a`*u2K+f%}krD@vO5gd8c09L$N&y~=uJ6r`wSY*6{v774BXW`qQ4IgevHnJDh2m96tS=m(7aCDN-Y;E<3(rtK^4Wqo_UiwJ*zAN@h}WR zyggRbPrj|o*$bQ?l&L{|%~g*-59V3!C8WiyTIL~(gC`LRbrPqQU~56?1RgFs{cM5J zVa$Q@`}_Sk_j7Xn7QlsV+!kMnIf8B3uzmG`*(vUkge0_t8&0ygHNGOuxVbZRzsgt{ zaB&iS?HRwGy(u~9KXm7Ry;bQeDx3RpC3a;Rwt{eFbcN*&b$MfAqnC$HVn0-A`!WDs zr>;_b{Ut|thQl>=!_PX($l6jIo_kuQtLw$%vQM8ft&F;i#8ar{wE0*?g;PgsY-o&{ zx>)O3vG%)!Ix{-EpNsi<`3dqT2Hs%SiIP$MVl}8R4ysIf$7lxrH0ygGh40LYC;9F} zC5(-zwIig6S`8irxUIb5iyh@U7+zYOq3jj4QuodfqP;n&Ba224Ei^ZIp7JJtLwov% zHbbw(%BSCz9`xC@8P|%yp!K92p(^Vyu&vmOdCUCF}*t5k! zXk#+5fqvR>1P$(ca9;EI0 zJwo-4RKczD!i1OPx=DL9w8ng1j*sn ztO9|DID{XXg@yAhc&Urc@FfH_z-#-`q|-M$7L{O|V_o+9`;VEVW|PIUlO$>LQ!N3* z-c@>swm8ob+EMYSUc=4jm0r#mje5V_2$G(ELH#hEB_2{ZO> zIu7k=@?FC7LF}r#u^>f6$E9zN6;|kOT#sVWJe2=JlOLC?^o24%hoB-~WUp;EoRTE3 zw6lqg?c7jAtww|;aZWJr_h#bo3$_TYU4pjKGr{39)Wwf4Q@SXU?rypd7ckl6zfxim zp+4hM*SEMkVX0d)k?=e7BKsXP`Sri%NERNOo8+c~Bo*{?5cqca;73!@f|L?h-I$6ENx4@r(8O z$zrkT=sZt|fAxWft8!Q9EgnWxI`%%IcP%2<`V>`p{#3F06k!<+B1TTmE>D_Vh*D?F zyD6!Pw5XgOzn@A$@7$#^IM4EZb@4jfEY+Ci8YhO%WcZPK2Dx5Z>GnLBbm01C3GosJ z%KC|7jJ-|nug2VkXuAh}CLot)R3m)OBe!|6V5Y`G8ZkO{OhRAqbA2Ws7O6tu>zG(s zCi10AS=`Wnlv7=gJBwqfyC19X`>SEGE27|DpQ_T~55lc)ro8!vAJZ6(YRJi_4L zDx%ThsfzL4H5|Ruvd^Y!xqVoDWqDv=wH}Et>66l*D_PlC?3#Jd zz`ki!@&j?b0HLq|LpRyVo3iy>S8)DIstlj~2ZrqK5K`-+`@0)E!NcTN1zszyP?VqA zCv=vWOKopx$bR4zDx44H>3q&Ky(s@RE}KE4Su-$x!lxz;uj)ZDWva8KwT=QrYlzx7ltw|^F?sEF)qBaiG< zDg=SrZ!`Eeb1-fqz-xUN_|27Gv^82CT&gNOY+k~wl$=!Oqo7*I=qDeBmB{V-#ABa0 zM{u&h?K35mA{xI~9ftZaNv!nPSeX4)I5y5#bfMK{*XX1_M;zU6trYlv1d-#eX^ho= z!7cOpQZ0Xmsp-r$$+R@oJ(sVT(cw=}iX$m6ExgLJgjuCTi#Su^Zii>3#ETW(;b^v_ z_$4fzo;&@aKeof3sZy#yzd$fC0$nGO zpZy3~z|+Q7pEl(*gEXs#63RjX+$O&AVEb%uAS_S6F{5X1|_=RFrh0jaA_EBVggHNdcJ(%4R zghvjVh6sz@T*X`telHoeqN08v6yX`H3t{?tq-Y0;mmo z^i5Ce;ATQqI+%9`)%T3c%7c=5F^n57(5m3I)O8Mxg8h-mMsV*^DcB3hyq~ zK;TH*g0EVEnlqhHXMAMBnG1OFC(y&%6RTRle9ZC|9)t(Y1>JC7|G2c-n4`{3$0Q`` zJXYW`-PXq>d7%KOQJ=L`qRyq9BFxy0WC|A1a&*{#WkksMrB6Ev5pB~#*5sZRw=|$2b$A%5inz{%#A#hNKK(ikipl$V42iVf~hS9d1QuSl=pkQFd9Ct z`c4UyIW9anJkS=O+P}Z##krFc*ja$j|FwvbPyU_P4KQXdqoNY*AJnh#B_}H>7s8P% z%JWBCgQ=u0eJ@mmwi*CaCWeYSsv#2W1>P-5kC$2Yj^S_Lso7^%4+M5?|YOrJlmAKPN|VX?pe9E4AtxdA5k^Xq80` zmAK`AdZqyCtk~U{#aOb?spGC9DZSzb4}EAE!;O34d>lK0E|n@smApCy%opNljQC*S zpZORSo&4;@R3C7alErCI`+>ic!{0RB_i5hGB(FfHct{Y}5)sAOEkp*Vk^-Q#{3O`( zV?Hdf3%;1~{5{!^ieqXwXgk>H-p*YG4?K(>m2d_)kV#_cUMs}s0u*f_S;)jJ&cIRU zlBeWRZZu127ayPwwMbWHS)5hRv!zq-C}z^eDMKwobacjGMbo~8#y|cDf>*cm&kToz^W8UiC1YXb_gJ4YiU)CQ5x4M(G&W9N47urz$XjEgoz2gwxkav~j$!)N=&{(}<6w`J^Ih5zy#>h8ay)ZGl z28NIv0LfQ`kG&m>-pW9x0xg^)%86D7>eC z$)8W;+`q7Btk7?;BwMJfDGYX_vW*bza1MQ}G3v1&zTsl1PlHQ=h`fi#!ty*ReD9?l z{fVflK~3qp<}-ua4(tH+FSnrrZ~U?I);uLJy;rBhp(T5%JFDo>25LYz&AYNHdulhf z8Z~x9&;??7ZT*V4p_K|Xlms6JRHN|;5(jDkj2<3s>hicz&qa@$xeddGW8rt2wSoT5 z-`THd_m_kamU0)#tHHh3;t#x1GG2N(gbQAeUZDT1+F_ilMP8Jhv4F#ho(z)kd7(N} z;_z$dX-Yl$ikTAZFufxu`<;82rSJuN1IlkZ1O);}q3+LX9E@ONAxAXADNuYSyFAj< z7?*@8mGFY;EFXt#iPQf^zw?g{?4Q{Qo=K)|o|HJ1kAT(q<<4GJu?XK?gtDFiHOfF$ zA`6@TP5Gq|9ZGiJz#4ub^4m`Hr)&=by>D}+Az9`jmMzu_G?<=D+QcEznxFJ=UCgYkoqZrSjKKViA4!C z90%O`gro^y`^+Q~6oI^1S70mKZi4o&t{ZKZUU_&>$wNP+9OqzfQ9JVfkc$H@gXK`(G95jcy=7Y-Lq#U#EeqVwTmp|Aqj0J zo?8UmWI?vn-!9CpcW|0xK{8|b+U-%Blcp^_gh#5Kk1P>i)i3blz;4OsZ0?m1#P4)} z=|odi3Y1K>5JP1Op~0Aa^c>W??G>TKt1p!}KSpzo)vgKbWV*$c0YwnzF}>mrP>u{A zodUs*lAd1r{%qxsO;tLs9ylZ7tYVEUNjwK8umJza=E2mWxCF2PNm=K-{3YO_E^^h3 z2eP>qFLsd&3vxw{ouPDEfRZo~`3m$3op<|I;yh2ZTsZh0=IP+9k`iZ*mOlx&bP#@m zShKZYjS{_Aq%0=Db-{p55j=3s%tF&uSt(|(sRQv>FCq<0R}51`(2ni6v}yx}!n7k} zE#DI(Xk5FxW06SJTq!P2bF8v3Q0(yM2wq&BYz&{T`Z6^0wF`X(b`by<#noI7YuEwC z^Vm0T)6`*pD4_!*zw^2TR7V_KblDV)!b|QjkaE?cOw7-fjOWWA@cvfk9@-20{u74U+a-Vbh$AcoK@d&M8^r z3bBfO!@m}CX~kC;x1NWKdfTHp9Kcn>wT{B)#zhlc*e_VFKG*fBY(pP(gW1Ix@ovqg z3Y+-eZCSB#v=ZsQ#(~<9MXw;#^DXU@gf)091?gbg1;#w5G*|~O!zkRQ%lZCM<0>lR*Ni%l;YLrOi zR$yMYkigU%jh8`%Q$?jMlKffaqot#!DFU|0@w>=)V;?OIFYekN);?>|GAdZ%#$+Yl&^PKAbg-65xceb26Kbq7&xqA5U7Gw%APdLc|U`jUr+WM zQGr0m6d5q6(lDQM(}^jP6Kn!+aG^H@__f11rdIotDh zI~e7z@4Dy4zmjn;?JQ#e#jeH9DB5hb)H%jmz!~cmSbbopFos;Av{BNuO9x%)a62=j zeLv&u7?*f2Ksk-Tz5o=b_J*n{c-3nZ{S0t1VsfhM=d-&*e(>_CW^zr-i zbWb{rx0Nxl(2^2;bB@x61;+*W&ap!f;;S5O#c-jfLwdmpe$-t-xNvLM=gjNG$1us{+SM{n*!KDI)qk@NI7eXq!?<)c9$bpzhPSMoKUVz+IQt z!I#>7pqLofmSZK;zY`#A!(x9QvvQU9?BUR}Ejp0l@a-_~OaUv$C6cbl<;y1Lw$q=$ zM$NBMxN}d+W2rn%>DvEQh5PEz3(t^$y$$4>0fbWt&*Uet0x>Ut|3Z!`;2NU&fm2R) z=Q|Y+rarrut?^QW)>Z!OVa&Uq%Gn}<0UP59>m!7HT1%bSn{gPk0`0&7X#t_rB^s^+ zYcaE!28Gts!IJQ;DYe+X*)x{SHEK4^qt%dH?i5R$C&-w^C+Shrv}mhEYZ=YQKOc9+ zPP2(4zIRw%fce5!XbCbY?F1*P5R&&m3f0%j7=sZR3%OM8rs{v z@;mL<{8gN^-*C^YR|VWC&O1G!S1*?9i`3@S8ijAJ?Rry6r5y;SJ5G)aVhdC>S2?*$Yh;fZC#LSn z9Hl{eo=oxT2?qLL_@mN=#Vl)IQY|VuiLx(zv-fN-BsXaEQ#o^(FJ3eaq(}L$Py~;hE%vMwmcS( zAwYOtK=5HGf^|-pTKIx2WrUF|$A?jtSv?jPf{-7X(csd7!%V~?R&#%4hEw*EPW67{ zs=GJF_XV=aDNmqVBj)d)GKae}%B`Z#nXD^G-mVI=%=o7ZF2iO;e!7P(Ptz{P#_yK* zNCkhg^umB{JO6)_MpNh4-3{RvR(_Hqp!qda$}|`Dxc@r#e~_r)e^=)!(Qj1?%40f5 z!n=W)$Snnb&5OXFSg_=dyCBGVY5rS3D?!%gFQ*HAqFEE3{&p1V88Z=NsH)E%_mH)) z#Orqk;c2@;A$Oo#GMUITm6nkFO=8Pg3(F;$=gtWoi0MQ9Id(LMWWSVb^?5lGUOB0X zQF;{lo$ECEU2nygQD|wfZjw>GGA2g+T!&u+Zz}}k{>Mifa07^J!9toqQ1YU}rfod2eKHr7X0VcD!SIHvmh`bjRRdF_EUXl_!e)YjCs&Zv z3`vm#o{(vor(L;Qvh>IL8rkM3@(8RMKxanoQORPzuNNpfKgy5wee9fFHBb+sd<4#@}iIKF?A(FzLGBWcrxCi zg`nPtN<#%9VZSS9tsXE?`sfatV%+|leYlB+T}8B?MOu8$6X3UEdwDP(FFig|zRKzGmwi5NrFcGc9DffY}k&!*)x2>N*9S?UYxGePHYM<=M-OXm&KZ_Y8?)wn{(T#Z0FOGwc7$ow(z{gXs z!8xzrP^QO}N|>h;)=ooZzQo{Epn@Fb1=m6|{NTIuc6L)NP^^D85R$7wv7C4i@i!iz zO+Vsh!V?7|2-X!26>kOr2EqRnIOsEu)Yf$`)c&*xjD}&6zK7W)hCv!Z&4~MMDwqI_ z|2WcW%pD1L;iJ%hjjfWgUs5wQ9|0rj7J&Rk1Tu`V9Ac}V1Z59w+I5+Ba!Z!YV%wp( zND74b+?sJ!j#OC=lQgadW2|#k0w)7WP^A=X5T@{Wckb6j$hl0D$7(YIP1m5MuiQI@ zwSePQ$;8(&XN!Rkcb4SCe?S+iYJahDB8hSCQnM4xxM?5nMNFDQ`Jp_7tjK|*zKhH$ zDDkXvFm-70WZe_$V98aoyw0jUK&)83M-7c`v;XsMI}K!d^=6I+sy4SYKMev>N@f?< zGEr9gXrq+hzRYWq;Ijt7LWOI=F>%GsirdE2sH@0FWpM>Orb8~C00iOjckoT!__(Io zU1NEyJIu_)H{j`lXZ8XJ|c|{PvL-2`hSgBLkx-l7!q)&DUyvB(1hTm!6`!wOj+zTleqFU z3aWyU7`S$We5jLvm#Oj>qdr!EygaESv=o#qMbro^=fKgO0+JKVTkMtKb%vni?x6$c zyi|7qFDpTfBfae!+}WFuy-`*@k^s=oH9g$*NZcBq)%1URUFUs#_vX*y(Ql5pHaC`X z7-1PN>o8S{#_z!Nf#3%bfBIp%T2LFm6mb`roi4XUfQ1KDtNVE@!y8lL`i zsIh=)pi+i-uv>sdE`>)P`|N?!FQ|kQhqdQ57Xw6(rc<1iRn05dB}W@>ThU|$7eFyy zT`xj>+Trwr4`@AU3ADIp{EXRcR^4Aqg@`mYlIFFp=RZAb*$w3K8uN>FG@>TJ`#viF zvatBzGTr;+8!4qA9YNr|__MopEj7dp#m$V~!eX;FvgE(tWYUf@uFLOuxJ@m%W_a=P zO!Tnf6 z`Xg{YKfRowZ@P6W@j9fiIgMtf8Gc3z!IBKM;lQCST0B<6?->eLcJHu{ zP_7xZe?R23X{COf5UQ&aSGPN?Qoy8ir#|WZp|5I&uF0+3N>nGJMqn%=NpEK4%ca%j zdnbch`=}TGZ*}dBNJlvZ&zm*3^o+ZA{*20wZOEjh_945tJlV~EggOh>{KJT5${*tP zQmvz=+pZ-OL#5p9IAYY8mA*0yRmR9*@AI*%jw$l)OhIh*vYzh$GKn8|D)`&xbib!G zN|5veg`}dOLniGn_nLr>~S4zWlxg8yDAeoV$$CHCqo3 zBCEj;h1%?8=ZD7q0!glvqpr3Kb7u!4GeYE2iJ&6|6`in_V%XDhr?cFp&aCgInQ zw>^d9AD%@ib86d`<;u`LJtY8DBRQbE@6XYKVlSm%NqR-RN_yg0x`|DQGx5zaNMho? zrPG&Rk!aec8ypE?Vh6$z^G`0RD%m1)?|oZN2UzUvM~@`-u8K82DL+@#kh_-=(qc6D zTp;&NGg}&Ib=STeL!yH95A60V=fOU~@sy5I=xuQcX9c*;Bu0_*$GI0IDe<}?Pm_M7 z3Yi6v606gDE<*h1SS96Pt)`j^ilBU>RIMT_Xw6`55QxvEGxk< zeG3*Tz2aH{tk1i`0s@oBse=Lat!uC<@Zmmmk4d`9!~{^;L=v;J?abFQ-1le4-cLG9 z;)6DXIXAb~>sEe3G9!P5iVSO`CcQ!oa?tld){ww4j6eOcPee!6?US28%?+0u>B(Dk zICLbNUIXHKqK6{&oe&{f? z&b%QEs>pXB%o9n~0FP)@;j4#PfEsjsqA445H_CxZkZ|2U<^ScpKE(S|E1SqO$?6Fu#kyMSY|cu2|b`C>7_ee3d&YCgIcI z2r76&5Go5H4IzZwO|)0$LqhozyV?_Su(V+W6vj70JD?y|T50uv@|ky? zq-x}F(9jWT2s~0xMTllzXb5T=Ic`;;6xmBcVTd)rweH*;!%D8bK=+G1Xlc zIeon*q`zke8s~EDR>M(PBeLo)xXk>wraF4gvU72dZ@p)vsxkJn z)Fa-3E0FNi4|PK2y)|~hosi1?#ci^reZe>~1F+a`ey`tpE7Yng#-QtDhX})Xr3Rm~ z8EZR3Mt}}4@ld{-TI>&eZ5cJ_;=Gq2X^$=mug7qoj=%;(lan#K@FabKnJ|V}V-3yF z%*G@OESMzVzX9)9(Bp*f0amhZTs>|F1a4#Mj#T>Rh8U}DpVKCjmQaa2vqk;T=ANvMTOJIvOetu}a z#GJ_RxqdYXOBbw+B`P_D*V5o=@(qdxLv}iZ>;snd^RL*G=UTtX7hjY?Fla1{IAs-4 z2uh{iMeglF)HO^PPC4>RGUxO~_ZXrq5-p<*96D@Y4H}hTK(wzBgQXcIU)xv?GfCw> zrA#qJ{^_{PO1~WaAdB)8Mei=e=cQe%tWmYl*U2USYJ)ehwNLC{Vea%R6N)aK; zMIOELAR+T|qgGVCQ!35PqvYgnR#wZW5i$i;cCR9Zq*d_g?ZH8hk-eZ>ap+g`4LKWbr`PuK$V;UP%--+7^k0G3;w6@S>XXqb z$b5}r6r)PQy3IsEA6^NQ=;Ek|R{pEk%-!`%46@2(J9_3S-~B7Y-I{1 zebSg97Q*|YzD0_P&&4p>&C=O&yNSn~%_SX0#QMQ{Z~7Ua4wjGzYUb}`G3vDVJnwi$ z%4(%VJbL=f(GdCB=ecf44Oeiwh)H7p25y!OE0W6W!kKWJ^=lNO>g>4|WYS#`_mniGV!_Y9>q|;j#J$U1_T^yUizey~-783> zo3H(%9YevUllq3juH#4WDF#lKnE2nH`$XquthBaS!VgpPnn^gHJZ;h>b7RSH=jzp> zfLk>mINGnWJcmwy0nI*uG|?+o>h(AzI7xgXh>PBb2Sq(|!tuYDF#v)_Vxx0M{ zt_1W-rjPUw)0&z4qN==lA^O!l4bebYN)T;wzF+dgGUZkm8n+r{Yv$YQ|-!@w)l?rWE$u z)rmxF)X;uFuSZVd}$Ui^E93M6U*ZnH2G_moMBH+-iCjMeof-$I!zTdhwae zdyQK3H$$*ZrPW2Kaf=qZ^A%^dl#o+Md7gW%PfiNUf02zY=&Jq|)pDkbMQm)UF&53i z*WpU5J|AMpY>ci}%nDT@<%i(4zS&Bet^gcrA-RO&vvey{_O%74-a2|aR30sl z-Deo4RuJ9k;LiLXrXPi0nV*>2+>gnR2YctMit0eVwdj_9ZDg1xic(ESvPS|D)piVM zp(_1f@!4UF+E50lEU=4=Bz89N8?vxqzC-%q+g0Z8TU7jB59rFwh6a4DOt>ND(I-%7i&1C0v0CnstJ)uMBE~0xnzeMnG10m=mW%%d3`aBG_s=gAZo((h^dRV4FHt+F zW@14{868`EuO~7mlCx=E>ken^jAf5(7p11C$ zd>4&$zU)gw8A#?kHqf`azV@SVsJh^(&q8LDSCjN>&Gv#jP^QFSOvxRk(e=@J7ZE^Q z=PQl4`x2Ce&U%=%0Um;Px2q5R0G)tSlp77&|6clZ3XswU;KE;+CrJp}iX=1(Cl2kN- zZFO(~l`Z7<@`%5;E*++LE|afO#hvJ%b_oO>C+xkl*_R^n0boc-EV=4Ox4+5LFDiJr zkiGX_R=zF^(7Zp=eS&gletzQLL1#&xKzl5zHl!FB0PvSHS6}@YpLr$RMEy|%(|^A7 z@E|hpf@SpJqs3|~HTdi&rdyGZP#mgVK>Er4B2B4*Nja~ofz3oWslvy(zrqI$amiSj z8PY&D2(+Dik0m{~L3gtGsAq8y38PQyIYu9zo6VF`=<+61Z29CWs zT?K{XaToR;DodoHD*(Q}-#N0|XiVL#GMh&1g6+4PhfwP=KmTw97z@AG$2VSWeDynEU=;k(IY^)Y8{W;i>;`DD;e9%`{P`z zQ`Q87fC{ph7BRl}t(TQj200poi#k>oVbJ$5Qctp^NT$QWoYGVeaji1HV%4#UnZcv0 z)0tN5oI&jgYmi4afgD*Bx^l2u=qFHa$uac_4PlrdjHesST5>tsKPn*I5tvq@#^ZEh zhlo){g&<=^ImO{2KH5^z{=GgGJ`WO>N=4Q^wAk0%T_js_ELz8Ye z6BsQ3;(*=lORJ?y0{$8ZS3&k`g?|#R>V9HF2QBi!8LE8W%6a{*t9{mZKkjBCa zSd{VgS0k?I@YtLhVD?{o${o#M^en<`$=6BQI3Y4AD*%>#_|`@u*LvyrojgteuJ&HF3c->^6kcc*!`Du5@$7=a7SNl&8i=cSD~fA_rrqJ?ckO z_3qfpIjdr5OcfTT*dkQ6A((yha>J0YO`${Ns6OxeVJq|ZEHRgWMzVa^pnZ6Giv{iNBcwuYX3kj?36s9b=RO(VCZ;@VSsJZ2Vk zZGqVEJ%wnBU>E_f&)YI#X;F7x2|8z3acE0qmZEZn^MSLCeW@p8AM`0{>K9$3ammZj z#H8cZ1aOfSb3xF+S=t%yn^U)<9f}PP*QYX%2GK5^0GV*xu)wpI#8nopBIR%Xjuj|8 z8R|l1t&E^{V`J_?TMe*=q`*thK%y0FjY8!(ky8b~=QJ^1^ifvKYlWOJbe9uH(~aMv zxAv^6GL(>>b1vb>To6`f2!yMID&7?-%DDM5l%E3}pki&xh_y~oil&3B03E?D& zN=)pjO>)*ulY+H-C3hh<;4&gChCl5#o}aVu9dGkc@#xFb>lj(LD5pf?@* ztg;sH+llkmees}|Avm|G)uISdh2a$}*U~2F1X9w+iz6u#myZ#nh|vfiAy}~BEX?QD zV}0j%L$Nm&>l=a8Erif%P9~R&N{pvvlWW3(m~ppCcv3|LBCB?(e{b3;Ht#anOtRTy?cG39co) z!)cxv$zIDp4viudedaYz6D~l_9ibCPQTfniTv21qTum;Crb%mB<3sHT^lca^)iGA- z#4J%nmDq?7QnSYdvXNR)&|<&b{Y;}Kf@`7NzF z&@d|8h0b}OGZkD*CgWc!Y@tzNa`($?Q3+VY?^VQWfVLJalDLB?Q*|Y8|#p<)DYH&Z| z$HvHVN$~KqQq1mE)hU*GS6lp!6n#uHPt!J<0CGrs$a4Qhws7)!aMndhZ<+`zizNy0 zMcO`*f^oWt&s}M|WP2*;=Aol4Dnw{cX!Arslpg=j6UTqUyZ(nM)$?*O!=AvMHj!&xjg}>yaBy}qc<)S z@V3ugje&LFKJWi6sp|jZ%|{dc4~6+Z+_eAGuD^cxo8st^Md6$d$Z-GW=IvHI{)e0A zXJ;x6f8xJ?9gDnRfFeK<{`+J9yZ`_H&&}fiTaApoL#gEr-<~l#TAmND6hTx826+5` z<>oyBkNvN&{NHf%5OE$oLU{iVH%}Ay<>{lx-x~kL&D+mHN+Z*m4jY9oN@wD9C*YtG z1~=bgBYLL7WIarX2o0d%%aF*^6HPLt876?{;+bx~pK}?uFsWT?Vd+!kYuS3~?NiiT z+Vp$+z(D8H?=sWvOzrt(oBcHPLycR#okgO&h=VLSUp+vqv9Pf4{AVVS)C*RSTvrbG z$92>Cc6xw_U!I%W-f}9=L2e(oTvK}|WEouEJRHww{gcWL@QaHES^hH@C<3$6dW_~4 z2rukGOu#e<1qBSP^eqmftJY*?a#MI9vlc#x3~+pz%0B#7@4rH3hq@p2;-n)rBZ;EyXF6132za+RC%T@E|ptnL3%|0x$&sf`BbLV z3{*^h|AgEB^JXXiJrTTsDfGXdDP|nX;2qo^N;kW^y{ym7B&){^4+2@&b0AQ}9K>;y zowjZT!QanZxbW=Y4CTR!cKe}{>6^FwUiFDb-PwobY3_QTW)1_csn!R_rrJeow>^WU zEYPRKp`l+6xOKP;1PUjG1u-I4s4+;~4EY$0i-Y^!ixcSgKLQ7^LuEJNbdkzO$iWI4 z>b~JWiDU8Qn|d36r;gC)-&XL|b#1d|I+%(3FB1}ETFX0(jg&fGq|U8ZQqCW%5zaHT zAnWB23fe%b;d@n+I;&1#841V&T(#IiEYg%W)hg#ZuSXz|rtT@Z&@6yym(~RSEBebl zETwJ>jcA@)lw>Yn?ZNJq$l1qX67h)?r{$51Z&$;u#P>n|JOQ!gOl%dpOSf|$vOFsu zlauJF&S~DBC)OXdI5Ez5p59A2PSn+1+=Mt>X7Rna-E#1Cx%#czeHnK*(^`*UaQTyG z{~i0pL7{L?H5$2R#ZvRVZBBr2cS_Pxy-H5G{pB#}oZ3-<{ip4(HH(CH3zok7Rtx90 zj*YtZ7=hPa%eS^kD(TIWQ3I#tvh@LV2ZzFX4;M%&)wbi5xBGnkVz-C<28NkV4nEkG zEthlSO?)X{@Iy;GJU^di!S+je8Hlz4l81pL=1O;XU@TCW{{$RzgRMK3e~y7Z4}{TQ z`PUN;wvMrE`r0)p4==C-jM#~QWr8Gse`y`w(Xmi^Yn938=^h^4^~KxZuUJ< zy3=;6KGWu7&|8=BxQl6)^0KqakaBVM}iEEpTiicIE4*EvtfH za5hHF!!zIPW|x6iCAwt=Bx;n_23`PLf;~~wJCshqFkdul1;!gX7+TPX+mR)ocRxOsnYB z+Yr9mVKuRdr@QfX)dsJf`28FD%FZ5pTre9L40dYNtq+9TFIEZGRaA5}ZSLp|4vzqJ z>R`1Fi>|)Q*f(9DDgTSJ@62`1TZGf>4{`pEKBt0wHS(0M3r4pI+E0w;PjCp&$mAD zGl1T=Dc*|lS*Jd6_;&8*uzl&~U~^ry__d|nc;v-L-3+tx=_7N#szv9V#zhi`rWP#Q zlVX4VTUy^=O{3*Md<^Clt9hs> z5Us3=Sx+V47m2E@S)Qgs2e*!751DUry87DIFNub$y`y#0w(ghFnAmDMT|c$9E0sA< z9j)|_R#*Ma_V`6lr1#+Yrka0+(!#ALz-LQ%+m1DGW zd?j^ji_k#vI{f?TmSno|)+F}+R9vsV$tQP*xQ&aN`*N!}QcqE{Ptm$L(t49((Jv3; z*p;10!C9N{fktww@gc3EN#=l-{PvtxzlMphsN%3`uPGBnES{#-aq{ z20Xbq{vhejWb|9c-Io}Sl3(=dKLg0^%-ZHUpPM=8n!MVZwuY&YHaDGB=*CT_RQqKQ zv)b6Sc#3tf&)F1+dY%8^b6vy#*jP3xRQKmbI1? zo2M3qy3l1C<^qwu17m}-iE-WGhp7}IJ^Mflja$rYOTAew_~}zD3Xji;-zf4WM3!O$ zAWrj-j!ibo%Co?f1k$ueeJ=KGuCK3k!Ogz#u2%%76z`u{;E1941xKER${ogw@dC>I zx$w{Wy*)1-E`oI|V{R5yN%^WfDRXMV#h9x`mW1>%K04tkMEop>cDIYSOPQFRFQ4kN zx6QlzvyR92Stq-e#5LleR<-b@37e364Flg2y1bZG9AUYI>_kBAF0XSd{22Fd_Z2D7 zYLFlXIb4knb#s>N<{dwLQ`n4}CV?eIck8Yf5pnXLo3A-Ff!xjDG;s+Ni>*0nme<#< z)|+6ghYS9XEh3}(mx}`zB5yhNbc9w2-4}jN+niR$Q1;fS2u_!s$<&N&hq7)WcrKRwGJE3Px;gi8Te<;QqTM$toTqbp{G}}<+1Q1>}k50S|HzW0Lu|Z zdGlGnhwko~M{jdrlJNJ@sOBV;U~p9n`vHc{w&raSh~GP}zN1cooBZbXwyv)g_*|jI zk6q{IJ&0BuQFtMhvWbDUdN7kg-$FM1pObt-zsMHuXBkp*v@E+}FYWKk=ISbnhfakL ztUtf@$mL~$-j#9a)lL$QWLumWZg)O2u<_r2xWAzkZpDqnc{Sf@qh)_F@Y-WvrQRSq zlYq~x6W>77blNr=WBGW_qJhcK5@;c&XZ93ej8!u)Nv(}P%P zL($E_qi-`PxmUBip-quhgg7l9rJ2aM3=fjK^xQz@2&;D1&dY+R4? za&xIBEZ}L`GWZr>?C%RI`NYTg=vnMLhFodIOr7)Ib{l>aa&Zh^;;4F_IPiubg}r`v zqX)UZDj(K1Hwz>1u;*cXUn~Ap&-|t3o$fvQp;bvt7M@eizG;yPvB4cKF8o$GDWWQ2 zz1UEh!1P~{sx<7X5+A(&y~vW;WL%N?=ZJv+gGKI5^HqsbjIyMg7@ESO_WRz8Hdlw#xE3?|04=TAX zJ;V=woKJnJU+hO?cdJR0QTm6=pvGFmu8m_0o-$Y1`swseQfJ^5^J5cWD69p_hF8BI z)k*?z^5O%Cz5;IqbY@F&;~%WY3nFiGY@gULxof}qU0AgP-#6Of+l};fPPejkYR#}| z8jksj zS+dJk*|Lu83`U3+M7AWMLXT_lRXGr*1@gGO!=i5^?u|cS@Ft<3${-UOv_k;+Jm$s=a8)F|Fiuxya zAGv(Eb#%|Pamjf6PQ~<3^{&E{`|jGFjzc5q_lhNnSIZx)_->eIvif-L_A0s7aoIQ5 ziPzgV#-l5h3W}Xxf7;!mG3NNRt6JD?t|DU9cu(Np-NR-6$SSS$cqMn`bCnvNs_T+B zVaMRsxLsAcAq2TZ{@-myYjTb!yJju?;dMXzqp9d~SfFR+NLu>O3Gy#Ii-x9+Q#sLM zUaKc*!*6rv!5-9o`Tkq?X(!R_-Go$qK983-Rf{*bXdW8qp^Mwb`ArJ0t0P=Mbn0$7 zI4srDQjokyAQN~OWT;PqB#GfFL*#8Dy=LsztL$GV=5dO?zsCCHzq^B&IIGOd=ZN=( z!H2euj?OLQXOnn%LbS*HJbcNk&XEbOqra`sw}jceX~z_RPXvz-rF9?2h4p*gqAZd?K0 z@8&(g`C^QD1>Tb3NvU~e+M@j`0fVIew5(z4^2DAv zTIo_8hJ;ti&zo>K`TZm<_8PGVxgI@EucyZu!vUQl2%M}oz`B1KzW#i-e@Uq)3_kke zb0r@-wQMHuig@_o$-LJYtD$9ii_OmDx0@e7E3))82919lSZ=DkNZ8X8ZP*hO<>g*Y zGWxO=-~Bi}eIfCtEd-)JoYN(x60zimr>)DbnuC|mH%_zq zq9;4W1q5NPgBm-Mb)cSll`gW&j{cVd=DfU zHU1FZP9ERHN&%QMQOg}X8&eV#*ZxAs2T?G*I1G;xKUMIxPWp{ylQ1-n|#&1{i1TZmExTT9WtSgFDbF!2bU9i7~Wco=4_Y zA$n4>)y-9TS3_?H_(?kwAP=U=PZdjZ4J4m>AyD0XC$<(S$b!hm!mm9hcBUgmD$0j5 ziWCFi6R7+zNkO7siN7FdaL&5U)PSf&u0LpXRL#!kD?b>2Ii$Fj{8dcH0P}1xq^o|w ztE|)#aqka83L%FOu?EpYw?w1=om}UA09|krchgXbf{e{tCc1ThAsH6?Oo4ID?12K1KA$=1^4p_+y^ON>39Ttmtu7`7^ zQr!d6CVdxS*HwMstPD-EGVVw=T0Vv0%&Y_4ygg@HdTu$D==suX2WZCzk_ZPLRtgNI z7V}Z?={R@4Y6G(7t^Au-2PhA@A>}Rz66_gkE`Z+IIAA|gZ6KK$t?cC{gawB)&Zb1= zz2loYw_-{9WSEZ30oj~>9up$@Mv!i~D*(obpVNT(@NZ-}W7SxQ5$)iz$R~f^>N0&G z(-wirj~x(TqO@fVk+;c@qreIhHSk2Zr#8V4*cz0|Zh;s+O9uys!h|$7Bl(dbu=9DT z0ntcd!cDDM`gh?=yU*R*)+f65juY=)n&!aDZ6b0a!q_N8JCg*e0 zcqaTVgfb|!x+F#6-F}?>+r@c4tJ$m6mMx{PtWF9Emg6P!W>tQXY{{6hEvhvK(cIb* zpUn5~=LVSLSiO5q8Fsu6o_e&%Q~t(r zs&CGF{3$&1+CkU2_S`xUcGoX2f>~_>S2p10`o5S3L4IW$*&qT!Ihy_E!>XPH0(&S| z^UO<+;m-WzZQvrI$l+!GBrR+Vz_(Kipfw%`tp+c5ZH~g-e3027Z2QNVC((Va?1)-T zi7#L@d7+<=rv>WC$4VJR)hIs|G;0I9&>zhoA^)rO`=8TjMXD%UhyxSiHycyx3nXVh zjGb-c(Z&Ldl_9_T83fIuNrC&ap!n21$m5|NYQuiR@r`Q~X1;R=3e|X#2yf8PPqy*v~ycD|La`v(J_fB<|#TTxR-GH{orRulzg-F% z7v}}UguMJmWjZHPt=`XftT>F`_*4Xa^K&`9#J|_H%DF^G)YiA7G%MiS+o8em8@6SA zZ`~JBJ-3FYFK0Y_euT<;3PV&ABDO-GtnUSqB46Freuwz7b+>QOOW(mDBO z!T_V00sD~?uM;rXiV)V{_m1-J(z0NMl+w{cHIOaoiq>+cs$%>U$;&GA`|In~8isUD zp(VD|EranuT`&eh*>AVTK?5C02QH|(evT$hKXh`E;o!tuvu5P*CJo*%!K-W3r9`BV z`Mm+TyNk8}2Mm<=BDQU-fTQ>}MQR=RLj=-nz<7wd3T^-iF24u$+-UpDDIf^;+`&GB z@QwjLxUqogAXkoR8JAwpdXPz*RnZ%hEZY4*dF{6+RQBJ)@Mj2K8Y%Yt zMb}3EAf3UxUwC?iX+Z_J(FX&AiY&(t8F*9;$v~FkFcm%L%u=#3UW-w&EqejP)c#_Q zj7W~w99oFg+7idfINw^ZzDx&b`x0-*ZvtfKuku@;~i&G^zC%ukGtb*Y1Bj?n$q z6FA(;fBfJ|!TJ-a?#^Rs^LBeOkw@~`-gp{007DXSvMC4`KbjRx1K(zYamClh(BNlM z4pCRkSh0jN12~Xw-0uGs@YCt)fj!5~0s6JLhMIJ*%09WZoV0kZxTx_@p$iu;U&!m1 zy00Laa~(C%Fw`%zMo4Vj3ImCLr3OcbfWuuEtVTc-a{W#m%2)+{;=vMI%1L}`jhBbz zDxttmM=Ry9@C{G$mY8kB*y?0*l`*{g`^zgF@;+BAh54G!zGy#MTS<0Cd67mZFI*gu z(|I6$15@Rzidt96VzF$$CGQ_ZyYzr^Q}^6Q%*?0nPGwIqFu_-O59b-iYNzm`r+rr* zaewdIzBXXWCt+t$9p+imLEAI&)+5QVv2$x8;BKYN&-bfKX~a_VszGow?Yio8H+w(M z!*1)C+pKEuV1C}y(K+VI+uz@UUz@5D5i#2MjiulMr^_Y{wzBv$T>9qy)#(d&1ixBmc2&R=4a}!XIswEz)_)I zaN4-4^vKSJrj#&cC4Fk!q@q<@P{~R+ylr7pzFzY6ic-&6Qlxf`y|fV%nJS3#c+#ZX zxdUuR0_0D@Y-cxQpsz_W$8Cu(s4xZ_cd9aE#P9}1R^oZtUCKrpWcA87saV( ziSxby`KWjh{+7Oz<9<;C2A;2zA5%LZ_%eJ9h`kn;A{fWoIqX)Hx~I>^Coo7yD7B>0 zLZd)ntuj-Tfnq*+wnrO<>hPkD6Nyp?G4h3l=XU`aS;yPz=_Tva-(p{{%RC&qjyq(8 z1|-(`ISX{y&*$s{YWS$?!B3Xu;aAD^$<)eDxIA~=YXWJfi-zGoWk7KtQN^&Qr{n{| z?^47qnODuS8SK04N4&%5YOyVNVP?;XupRoLGy~f8+VJ6_*_^c&Dc!`*u9ou7zR5W1 z3g}YGkokI}4KKzM;j=$vLm!qi+d>fSY#nSh+U5-m6T(tbz;cY~d1kU(T$}82njlo} zS5EC;B+1?9qK=sDdbeBwYHseAImN2s38x876>cx*Ju1>uk5oMz`R`rFlOwGg8$7uu zx(##Rl)o8@47U=8U$|AJ7SlV5S|JNfhRZOFd6DAyj~e#9}w zX$<(o)-wzy7fzb}BkUI^Iaib9bedR5Mcr73%@*ZjRK#z+R(=1xbcVsj%R2Z)E`d5f zi-S69n3akWkV4{HjE^zTVGiUdVOH!mH=1h+CT6k`a-@pyiOSdB-)~95*+;d{9K?P^ z;t4dlR^B#7=sc*wDavGy)U<=7(8iU&R-rSIS&4J%Y=NZpId@JMRr~VFbClTX>3gp= zAGLLd$=m3u>qQ>#P7ZvGFyPN2Dc01D?`M-@j?9Arm+9}x7cVG@`SnLAu$?I~Bxx^V zOB$ww2v7Xv?a~q8(rB$8m7a(;j|hx$=FRR$lr^2yZEtbPxj(Ic=TY(LoPl>s>yJok zIBwp|0%$kf<9GvbG>|Fb+>otH1Ta{da^+jr&&J-QkAX3;(BD%kQkCWqI08U~!HwNM zKa;8Nz%3H=8C670@9uQ4*Iq{dI`}v@@CfJEcar9~f+XGaZy*Ws-Ixu93A3z=GAg%5 zp77u?-`RQiKxlfuNJkCzkaCuJDe_zMX_S7a!(vITl4GY_*>``mm_xSF#{tu7rno4~vf4>+^`@M~5)K05z_$DAx z4u4Ln(GpxgC{fFf?||&dqA4k2?d@JkoEzD;C7*g0O{F#}Hd>T?483<3efCUZra$uj zhC9s>l$P|Fm{T4xt1YiJqi{Tn8dP3RirXTXAk+U zAOCdl8;mZBe;4nn0bBFH7zN#|FYRTGVCsXYN&6|HW8=?PBiQ;&F-axXjTJ$U#RIb=&6F1Q8Z~+t&Ex_r=KWUK z0{NV`dl+_qt@frJJ0vdnS(Y7bpG$Hm{bQdy7%UShkF(@k;iFce#}D&p4nA(--kIfMib7f$ z3+&BS#Hw}DLF3c?q;EI1{Apx7I-PN+YYC-Lkvs}$%)!U=zL;s;1CPIM>FcWyay_=h z`3ZIyjFNfYE$?W|)p(ZT!$W~tV1iFjQth#PS`AQ&36fS>ddV51lFE1?G|MDw|EF0zS ztNIWmYRa(Tby*-~hbS^9!e|^DKT9y!P+e7yc6wy+v)eY^1BQsl4+A~rxZ4yGhg{- zVK6CixA9|U*4Jzi9CeC$WAdY0Ljv)s=lQ%>eftnnl$1Ifmsq|@hs!@PiM&JgqB&Tc zWKSN&&Pm#5`gu5SbB!kXr*HC~AjYU!$P7c6?QAj6u{)*4QD8Kc-05*(ty$^{&KMw(0R@mjqSO!cE_Xj4=7HJ^NIY$_6I!V2dOED?KnX%?`Nxg^y!#|UG z8BQLiu+F58X$4!{q7Qokouk`R)x>gYYn{cEL9Y1GyRUmvSRdWeHsUfK2>pCslcmT+ z$wf@aG6QOd!`Babg1PgW>@)0$s$|@rZCR$I`N% z=+<0Wry3(EHKCdp^k_kNmh|P>G&OIi=*g^jkB}3|k8*c^qiF6~=otV=+!(HeOUm!+ zj&}>4o(bwLNdq^|t!MJRSB%H~#^7(Xa#JlnH+1N?#4_%*zfiUI?R;BrvFP=^UB$(@ zoXY%$NT*tZJPF=Q%O$Ye4T&PevZtw`aH?C0pXD8OH{&a!UD_q_E| z)TO0#%kvEc=(}zwO`%y%`705g2I#R#9`+8)&3TM zfs8s8SZj_r|8{pEIfPL)bUn>Xzrzp>^^$q?wGlvso~CbPvbkOE*t_uhRL-#9e+pxL zv?WN-uR5%#9uy=_y7J?f^`QD-n`97fVkamQ8!Em1pj{Oq}(DCuc)gSe3 z3-1>lub%9@Pkk%${*h$PyZrQ0=_3iBV9(pN-{jsu;`<(;bI)^>;mxO*vKzC!x=NcQ zlBBl!&uf<6T8%2WT<(C@N72k~cY(nC^6=AW^-=0Y;aDvJ>izqQE#~Q>Q=(+&xD^}Xf;pI zL&(U=GWp$}P@fW*!XSoToUEJ;n=87Xqvyy*y}h5!1lCS}BweLBGwM)Aefmu}YBIQ0 z6;-b_CD@#50&h_$FRZHqaPX;3!}a_ zA#2pYPrPF+*b~yS8a;FGnK(^#jYZS~ld7vypN8Ij&e#G8Y#jFa<8FF-W5hIe8A_C+ z?UlSPI3!`!ETEFDB-yiGGZ(~b7wx1Zrk%HgsvUXD-%o^a1%Mj*Qomj-ZZK#_n?v!% zLna8?5IT&;e?Qr+9{Vka*RpAg+kQwOWolcf*&O~PJ+bI&Yfq7DNh`v#oGCKmLskB=H-ZO-KX77Q5Ak$?T>y{y%Frp zT+rq|pTyYIKd&NeRoi=?{p4X{h2Q7uH8uh&^!?j=vm$rG=3QMVuZG#lb(@9m+s7Q= z6?P$1*W+}rcC|(iZOPIM*P_k% zz*1>ZE%4CfLSo6VAL$w*I4`!UZxBvm)Hzajq(mZ-9SV+@O)==fyyVO|=_NK4!r!GPAAP!S+c5EwITCU0sJ&7mU9;ilMW?9a4;ahSRvnKgk=!}4 z;E3C(m=Q%;X^jaWo|+)D6r`6FRM$16-1#vNX1yt!#8#Y{cDwb`^oJ7YQx{Klg7mO4 zv2|pzn8Es37-gX@MdGGkKfBSmk91!MCKFA6mkKR=mRV3hn1BBWa#6ev%xlz9n) z8rB8-`)DOd!lmi}E5W#NN-n#{E?Z2f>D_$Qnv=6u*@x>)2ka=U_)Jg)#^`AC=EF(T z4IQr{0wH_Gf(=Q6IljcSY#ZeB9YHrXcj}W$WxW-zJDH%4)ht{>u;b}O2 z1f6Sp)+im)facd6yD4B%H50VIu5-+8Jk4iJ7&xbQ1V$gh9n-GNZFFcK=JTH$_Y;d! zR_z1rd_JA+-z{PwfO!s?i7^8lr7&AG;GAw__A*qrR_K1+)dneS9sSbT(yOz^Jx<>r zzKR61+N%u&nOQoluagLQ*wuG$E)2k*)~00-i%)C|W?)D}?T%huR3XraW~*JihKiVc z73kA>`O3kKGIl7>L6TVY=&v-jpWX|W5xP;S?DfTGGCYv4uDVt~D38J9P=7gZ7mDZp z`sM7GaZh|~@ZcSiAMoU}xi18Nv&|%hN!~*TF=M3harXN+BTmD-)#6bC_-O_Wf$u+D z%^*3t`QyBJ$H?zq7GjX5{0F&j@sV+1QYK=qbWh@70b7$qB}#^bLH9^u9Qp<&)}b}F z_Vk&1#U(KZJtf5Xt2RkoYz%Z$u}0!7eSFVonOOlD#8cg;1Hk=t$$+8e_HTeRFi9LA`uD4CEbQO%J+ zyonA~4~41|nT7zT4ykRyh9bR!T<2NEf?Q9Tl~kCdyr#&UhWE#!Gl_GfXE*bzE(J4E zpeZB;Awz>3@mIj0@B+P_*r(Tx+s$tnCG_oI$=#tPDUQIw+6i=4b)n|zwDVSS-_5M+ zU(b6q#HA)4zd7<1j?=OY+N&14XvoyPx04m{MIyI|XSO^V!8zN|5V=MfV=vR`WdD<} zj^>(iz(1#&T|E|Kp8kOp5sKn~9lg&E*0{*Abnz&4zORRsHndobt z&!&gw$%;yZG&yy4hi_$>3)|g_PYv1A*@-=WpL!8|7fRzMij%52oUfk*LYkU=j183{ z7?faH1awj_{_cZ?@WpQVtjvhPX4hkU1+iMfb7xCg^9zgR$uvU~6yMO`eY@{}`9DU& z4h7*qw_E}OMlJ8Y3e>04QB|b8%`b+S>=C*qlw~@|-DixX_#pklTtw%d>G&KIy+0xg z`BVT2U|fLo@@sqSoK}2HF5bGH3=I6Pk&$J@Ojdi@6_by!r+&JZIM*37F<6w?J(03h z)Hrg*xnB$L3W`KHzp5oKI}obuSOa5Yg{SnXwkK=G>2J#*9jemHoMz74^~ zMAf0T;PkgPp3|wuMeS8Verav!}z`%WvCYBrk2SWg9*B`2XTT9M(Vz&Ku5>h zb1##D$Q3`{(Q1=DqbZkOO0w}dK>N*L@VjMKq1eo*?dNeyv$NoTv36os%AyC39T6Cn}dGO-%*ulfD-P`gdnpEYSoo468? z*g!e%@8hkGA=zjd%~!-Ywc>@O0`ZFcn{Hg=Nz*}N!RMMdoX zbiw7xh!a%s0p)5sQ(Q65e$xXLGb%8>Ox*It$uH?r{f7uR?lAd(=o{#-OgW`eZuSCa zi1{fW_lAXNk+4LBHCiRzw{JgolAH!WD0qh)cZ_+;6|1E zqKwSK!h)5pZO)Za!6hLzr#cedJ&}vo2Q&|`eKA;xBQ^j*rx~Pg zu-z2IcHPdrc;}a=V?zV(KiZ0(8vWPjY=e7LLWm1q(^KLbbCD=ONF0Y)KHXGRN4rhD zFRstH^p}tae*N)GBnb{eKNU&15|{O$21|}a%SC%Pf4qO%P!sq+e=Gl&y55Fk6bo#G zltXib(nvK3$-kezX7`UDIVmFcYmx|1fr+j zc-krQGr%!?agIn;&=jP!iX}BdekMJ3#F8Ag78^~jmQ~D0zo&sDa7YH6D*G=L-1>rb zi$E}gxz5N()Km(fZU1O%2je5>a=*X7@zX;L;`3GK3Da{EcFxI`9;BpS9D(0Aah`Dp zcx3wr3SoB=Z;r|&FlGONdh~Ct+#pWD!urlV=HjH0#_hn})&dNr=KT>^ z9Nip$4h;@6RlxfB-`z!jd(llsmP3uB#)<)YmP}XNV6Cs~vx|4qSa{~+|L5=IgTLcI zhXG7>wDWHe*KqZjTwjbFSUloew#0ay8K(DCuRq$fmHla|19&9+Z$_@HG}ANGT&Q*% z!YAp|BF|7+uLB1R|2?L&X8-PD{+iJ((#Qttl-qc8VZH_MUt?j4LI`eXS|Hxta4viR zo>UJQW39Zmnz8DCJgX(DRCd_!omZKA5grQzx$6K9CHE4uSCAt66yB7Cra+!y#LA>V zHU8&SEN-QD1#aM#U>HxF9J{CFhWS4}cNLiE1`sF9U-Z=K!Itccp1YKC`8V0*Y!FG7 zx&_aSlN18Rgn1_}WHs8#b@}pTcfdfd0)wz_DQ14sDcu^|nzEk@=D|AS7iZuXT>E(f zqZxwLX^bt2Z(fe&tgER_Dl^~Iz!a-G3~;E zPWRzEBh~{ZJzN3d+HX0Cu@MZ-`r%qL(}2cv^Z8o**Kgnt+1fUMHofQG-kQzq7@!zE z`v}5Y0=mz?YHN&hI2zLBs}0>g2BBevJU4P_iL@CoG(8tmI4s$$XXl#j|2bgFG|#;O zl@$m$+#)-^x59Ur!VVXO%nb^SUU}>;4hwnE^ooijQjVn9^qxX&87@)elk)O6ny`@q zEq#;!C0?Kry%IS4S#Nu5OXMRT61^G~5wUrlg-VrH99o?zw}d{9lfw$}R)R(|d-JH6 zA(`ZXhHFc*5_o>Q#6S$%-HsKB`jxrFONpx)vaVn2Bk3qsw4f>@44)lSR8Nn#L7@06 z#rowW`RVfP!0B;@=`i5-vs?@(AcfPOg3pU5pQA*Vp~q%VPbgl;*+^0(-l z`n5V@RM%ccixSl&l9yi-&{|BlS@*};uhm8z$(<;tM$&3w@*Xt=qAgN{Ns*}UzdIeTw8=rTdPv}=xW+=LDW}Hb9{amh<#%-AP6O$%x#l8*4R0Za$ z?K(e@3VkX%zrZuFfVEqpsrn<=A=z}~XcvC$-`h9=M#+yE3+7hU^~mK|I>!M8Z7T0P z9Hv^vb2=^*Tfb)(3}o!z?8O~^Jc<9o1L#owjSjrK^wDj~E9KFZkE0OGAml-KH)Csi z>cwftNyCD?I~b$9tFWhQw^~?zfkyPY1CyW92dEJ)fyIW~WGE;MS|osuD#yWCq2 z55xn*?CflxF^4$Co7>>E^6%8f>;u|gHu4_$B<1>Fz`@KLuZaqVD#sa7bw5aocIX+I zg1ZZK>sTn3VU|e@V~H6Y@pFKzPyuF@N-nO_ZV7|UBr5=T<(j0QdnH?G+>OuQ9Zn`7T^^Ymd6&vcjO2nmjnI4ZN!ErKu4 zF?6e*?Ef&hFdNckPGTHievruU)Qwk;v-8i|9z+0RCNKk=S*X#)!8E zfZS&e18)6KaOyS!B+i;Bl9gfmHS!H4>(Q?#G51=vVzz=vBfleV+kJU?&9xsIBfZA3 zj4o$TlT!1OA&vCNE7{b%;PfbHa0YN@mm0`9k6jg06J`y_pipVWX^+@FQ#nr+QyG5J zo(3UOZ)wVp0yPc@enB5u+BoC9MD1f7_}4YL1)1i=iWtUk)eJ@h)~KjmlIUj|gecN0 zXwnr%Dv8InJ2xeh;3^YI{p8=bqev-MWz~k+W@7r(MQw-2TyWGFs{P1mV5udttI{M! z+rX`Gj=T!wij~N2NLw%VP|gy>4Bs<0eCrH%$-;oi_&3)Eekv%O=a$#CI1HAs&Isg2 zLBa(l>JjBQ_1~0EU>PV#a~GPUh2r>%Ug?Krb3pgATUQ@T9orkkms~5Z++#qpk&{4W-AW=Fz!qJ`N!a`v8$Ge6Pc`85mM$e{-(<&vQahXDV+1&TaLoUzN+5J z7kc`mtj?5pFxzJ6MAyYk($mK0I<$!DWIg48BCh`tXLIYd#x=KhBpcMekYMbNyYjFp z<&qDRn93M`e6s}Yxt3O# zK9wfPyHjq@n&&K%`*7Q@pO__m#Hw1O5%h{wPZvoHJ^SN~@3_C3Q7_`7-$im@r4gCl zYtxS-r@Y2YerB}lwU^FK&Ak;kB_;n1%2dC}5MaXht_=tBg92h?9#xWhQ7+z!}A}Fe_ocX>x3~Ii(~&Vn5{-ayZ%+M{%?}Ry+1)S~;pJ?&{@d zGxF%EO}Ma_E=tcey#6zprU+G4X9DR@q`ELdAHf6=>-Cpp3}=v037xKfLf960pEHa} zEPrs_H@S1&qb!*e*ehjWV4i=M;d0vVls|1$L0{td(2h~CRBBQrZ~k*)ZHe~KvLGRU z!uerLfODGjJ+VZ=uRrV|k^Bvq`OV`@H8VG(1<9KB{Ip>Gg~@~m>Q6~#0Gk{N~>ZDyBbb#xHebiY-o z>`loAOktLVp(ZGPxHo*vt(fy*%nl+9=++i*;P2YUpgJE6?USj=^C=giBaE+;k_z*^ zI2|Y3Jy+?7U`710SBu*gC}(h_%Q=`WKlCG3xv_EGkCzf@j&K()(1)^$h1oYIAO|S5 z1ayjDAT_R|DNLnylb7)CjH*LEqYw3l|@Ek!#`JwsxuWSD{4cB87LTnxII-&w=MDx7hWM02P4eIL_$qdXV zw&@Z!Q~I>K~D0JsN5Ef(oSqm>#KFg^PI-hEuC5~1M7HW7=silI1$15gm;s#lY!-D^=O>|D9zw{}-Ol!DA(3Dks)rHgQhv{?iu?w6e{dT{ zb+;KIl=3p$ecx@;rg1Qduym`x=!iMT1Yr}tW}MeOv&Jll@jP*4jGoofF|c*m1+>nK zX-r;%*nM)i{gx_>fo)3kdBwXo#JlfoUoaume>3l~hIvC}OpypE|Bw8*RWs0akPh0j z3Ea$}N5Eh|ds1gInjDd&EFPNk`;gUJKWoKGYBMC1BnAr~mqEI5nHwxpR5U9nkfx8h{9LzVf! z>z&`IUK1eKzL8L8m>Qj&5k<}v`7;{y1|n1P`Gp&wCY?_*m z<|X@au5}1(5+DzL<=VlZtidd?l<{=8x=B$$MPcEBCTZvCUeoC+UPOVz5w6$-2vz-G z6ioz?5JUh;{LQkuC6RPg+7A=kDW1?dV+Uq$^$ zmlp&Gt*Oi+d+&%zULaN=xRt^iivu5-q&y}r$d_nqY9X-@t$uQy3h9DMZInF~8+Kqx zf0YIM&|i&?4o;~bgpFv1Y%?mar0ftN^f>Bf9O@5c?_JdGks=ESrNAykT7xt)!>Q_f z7-8)Fl_$}bj!&1m7D|woE1(ACCNMgZ&PB$-7=K0XdRrH2I3Aw0uc8m@EV_A?e|i`2 zf*w5cNnb2e;48$xT_@8VY*qhadPH}B@ilyT0 zLS&rcGihrsOX}`V!D=FQmR&SITC^e*Q>AyAL^jCubQ-Xa631kdWqj2-qwg_l*+vzG zYNyIC$xbqN!x&8xl+5_^t2!~~LS{kf7RcX!an#zRIP|a33fG%bMKcy(<{Ut!^s{E0 zUyQ;oZ08chSgpmr-JY?rW-X&c+RDWWG8aP*?U3=@Ro@NQS%1BBJ;u0qr@~34!vt}= z?lQgKT595oP}F(1PaMs{s=$|=f%5}&+9bmuErmj-Qc+GvxreBo7)w-yaDkv?+wO(t zyO%hF=Hi9w1~7a^e8!z~;SJmI6JdZX{X=eTMX&>eadKZ@Tq z&)CwKprB~hn`yrUe3Um5`Xx?9m2aQL7FpTT`;gCdbcT|=P|UcS^)_V(+RDZByadMI z`~;g=q5G~A9z14udT8!y!Eypi2IWidSu?>v(tOfC`u!1k!WtN|St=YqCK#sK!g}?m zEMh0}JLQkl_rnHPYL7s)oqrIgM8k&W9v2ep^my|D8;Wm>TTq1iIWxxD8;;|4A09ON zO$5D!PKUJLqY6e@7L?e$rP4O)xz}iRTP}LzP2;}W&b%Q5Mzc%u~g((W? zBzntoj$D`gPa=meas@^Ux10bV6#(u@-QFyU?(abaX81&H8~Ticl8)MZKJg?68v)J# ziOl`~i|0!8h~lv0r=X&F^XKN@M=%0Fx#(<1U|I545(kuMKr&}xYis*6K&Ap+w+Ipf z06{k_Y2No&Z}FcBG0TdAugO4K00FWvGeYyZcqx+(WW}qzh0C_=G zx4)F!5c^w;U|}EVj^~IJ?`Luzw^ulc?;`Pgk100o+wZe|1-MzD7Te#Sn%{_z7;gyL zo+4zjG7(o|>1+bKc!h*bogV7H#eg3+fE$VHJoM{sIf5cHthNYb__DFc}hQ|2|o>fF22Z z*_1#%gT-z+J1{-BrGg=Zs7z@I15%dpoFmp5juUM8b zJ4d{5aL11Yfld#`M621e^fDqv1V;xPFT71!&PLy=gTc|q4pTLE13{QMD3MqBYhB>_8Vbe^3@Bdc zB>4yo)z;R2EwxeRzTlRU#H09`%MV!M1?UJ(dI9!_*^L{wiQoMY)`3-ULg=qRq?iK{ zl3Qvf(#K;Nd6y=1WpHXlQ-5~=ikO+1xmdZsiy^Ym!Q;0*b_hKFN8Y+tMF6~Q{E|?% zll(Wo$3#^!pwKH+e%@k1mk5%{eF1|ZWe_NI6E1_9XaHRlix&ORr7yGA!)@TbECpm@lN^egvE_jZkAgjSdE(r{eLduV?*@b^`JRV3J)dew zk~4;(jZWMC38z*9hYo)krkszy^ljCIh+O^@uzC3lVKX-jHV2SXGbSck$aW`=l0{+n z44S3daV#IG^BM34`Q=Z*1VqvBF{lB)g`S(5Z(}ih54tU6aYTe}H`rBY69Z9(Bm*(q z18U#<6&H9$zgmR1vzaTblj`}`u{F@_OUwak4L}Igglv(5fQ6*$$>rGW5XZ}YCm3Ue z(8st1L+o(e5YC3bZwF}K;eT$ZBdSz{gkIq*fH{le+AjE-cgLV~^c3VIB?;Wc%*Z`Z zm}zB0B~r1F&9UQ`NsS5J{^mVC#$n3_*YuA1q!DCTgr!DCa|ysM6RE_L?v;IC zYi$3!v_E`Q3h5G7zgAeMZ@#G756wgAePoAa%6Zgvh|$jufNc^1B}G!T#R&+u$(9t2 znBtV+FFJ^LFAJ>eZQe%A1od4vuw$;V88&D*;r5h;2*=0w@UVQBeZ-TOB~Q>!dPySY z72a47aXGTqNbpRLo_!t%_fce#05N+{wv_*SikG1DQDxR2M0UB7gWL{-G4Eg5(m}41 zM&}B~JALfr%^Gsl$z)=R>fpNj%l*m<##=CRAX~}*GKT&u3*i9=`HN4qc159IZ31mL zWHz>XB68Xu|mJK8WG=Mz1u$$(@n(q{yG3u=It? zh9586nUqEcP6u_$eGl>F2+&f6;`yIY|7RgYY8;&jeo6|-LyEYXQrYg_6*>sD`U(Nq z=q)5lBx+R5%WA{sp{#b*v)!Z)hL&xvRB9*R(k(g}|@LBhrEhgzZ z>>UYdq&3^=ey7?BkpB8fK5}NB^8pdVuil>m=aQ*o*Bd$%=jo3DqOMq#!v%xfo#Etp z7NC7iyW1OVtP?=N;T1Ua=)H6=*c?5GPKAUuAUw1_A)hwaNjwC~k15lX8li*p@U#DP z*kJ!NmZYRe41a{zZo$2dGyXjj(Bkg^W3HOMw@ljuxucGrVbkU}_fA9`okaIW?Lo>g zQd(ptiXG$v-?a!d)spm~w#GA;yn(){&YaUF2-3e3VXo=@9n;L?KVrPbrd=Zzp&t2r zhS;C|$Vu>&c9$vh};QEM9j!Y=Dl&Y~_bZ-U=C5L1i33+4>tAlk`tb!+AT8!>L=YXZ}J z-_C9&*r&|@_bnw(r9aSf?cC)8)l7)>03{Or3j>sLHjN3UE-%JFbL5x<*N?vh>0;95 znN=+VbD3M`p$-yYr~h$=OjGNr&*LmX05q4;4gKdz@GuDI^JIV+AwD5ci1Y=X1KTAL zcC@KWw3NxZqkQ_f#a+B1B864+aTHQob!rAU{l5o2=|JC;ci=zu#{OHk-@A{0_Ry8- z16ygkj|XN0i>N)vPgVxt7m2Fyv>!-mpre%crB@WwtE0gfdN&X~sm?|@7bdkbDvMoX z-Tb6+X(E2F9R#(mtcRc02cLpncnpLp-3FFi{&N4H5V0RhOnYDbzxnRdDjls zLZNwiL>WWSoe=!Bzx9goMdGgqQ>4(s1TY;X5jgm2<@LeDK(W2A=#fEb# z97p@>$1Jte5u1B!<{OPYKFodBR9#dZ(lUt{e(EMTa{_BM^SdJyH1dsIF3;8wCv>te z3vPrJj%w?x`)OFr$g9H?!HF<@IQh3mz99J5ZsM)nJ?S;3gGckKMPir>_VmG2j6A zE2Z@*_w>k>8;r}JeZEjaKSRm3%cpvZo~N$T1yGJmnx}&v@tw(kPOQy`W?HyO0>gFc zKbg!eG|a2W+M1@%{6?*S!l0j*&nqff?PM%zPS(+mi}U%OJ=Vmm`6XZ1r-*72DYEZi z=6G>8GEfs^R}QjV_jtSKH-SWry6}`fff}Z2*C^{T@qX+LvN4S2!^ZG*Y)=a9W;Yac zW@-hi^T=?jAsdK~S(GUDkg)$#o*nB)>)L=!mFK z&;5RHS$tv3a4H1Ec>_4F@J<8J!13EGiqdslK+^ri_XB9yaAd9NJktUO5+=`;z5?s!MesL-66EJf8ovvC1IO*T#S^EP-` ztW*3p!OrbhX=dNW5~i-FoiDS$HTSY5a7@DDbhGhFBMnNXt1KeD6=ck~_db>W=h1{M zI!Cm?V1T2e5S+z{`Gmw%&I63_3~jE2UeP`P6Y2+JiZ;lgvV19iDd;FcQ9)^Yeqs4a znADwC@#?8L>pdE61<<~Zj!U_Ut9v;snvs8h#lkBv&t9 zJ%>z_mY9u~zLJtf0fEGKN3;ycK@@%(*Q`|Zh(I8ljS2h2(?y9XW`p&Cn%{3D0w@tg zZ36!82AkB(Fm%#G-|=%95>Z87S%1vl^2Az%@|8iUdHqs?&*B%jAyK5gtZ~LOo9Yq~ zML**;HVh!a!q~k_*EDV6i7Q|_E;$>ff)fJO^#REB=~J7V-t<{=Ez)K4PD2oB%UWS0!zrg)ofWTYf8R zBl!0Zk=Hbd?1mA3;*?nh^mAY91HBf)avxa2|J89t3|SGd-uL3@2?fHce!BXId|2*D znM5T(-Rjf-b%_29LI_jm6A!?B@o?$S%2?$8S9%TE8$*a*RR6x{(f?*Gf&c&iF|ql- zh&aS{AN{ca@QjEg7ousfpYeYeeD`m+d+A@B444d6LEFD9LAdhSf0u>3$1q14YIoRt zF&=!zZ5;5!BPx3PfXgDFEWQ3vc61bC1$vA(Al&C-smNCjA`|9h00jIUv;X@oBj)8y zFlY#0O(F13L^DX=+i`nER!B~P1JnMxJ#P1MjT^gMKVO$MR{ZLFW(8OXpBvZp@eJ<^ zz4HHkzy(%tamHGhP5Z}J<%;dwWX_y`7hw!U47~-^k}AN%68a<3oG=SYqkz*pQGhRW z!@$5`WgB1!tH7+ma6daoCAjXt)z5bTtS{V|b11S077=bU+7u^3EKCr)h^1J~0$L=? zr@2>vNn|bh*DeXHkQ4Pq2}A=ZIV7I94nEiN052A?iy!}DZf7$b$HxDfCILd!5*8+y zlA;8t7|uLdbo}oQR^Z;#LWq$&?&&rG@4&+%;6Xr#aH@vXyak1UocByK?Xvg633vlM zfO%Y1ztXZP!9wkL$3(23N8VS*;qJ1FU_g&}^_$(37zi^vQ$;);k01L0LnHq~c`jIg zK8H90N0DdAdk}Oj3<$s}Qy%?Uie}fYIR*sC!@+3nurLgTb~Oqrd|1uN0vYPNRD(Ch%c*&y&2au=Ps~6xB|S8 zIMnL{R^34o)>j~@u1>V@X8uTQZ}C<7&*c4=O!pdfli{~6VgRG@R|Bh5Dd=C8Q2hJJ z>22Vo_^tEs%9ShM?q+yGyF3k#4#BQG6;KlkBAmx*B%Ga{zrL}Qm8a#^w--XQLT-GZ z%;){YCrUT!B(Iuu+zJ&m?%x zFo%Z)=3TZnQv6uCD(+x<({v2rGyjXSw~mUki`zzNh8{`=X^>EqlM_)m&c}-Zr+q`d z(A;RrK9HX}T<$}dNr2!+tT7Vu6aFkxeYjgzq*rQOEOYtf%X zTdiPt0-7`JeyF zzmp$`1&}89Is$=lZqb)qLn#Ja8_4U)xf}4*r zx`!fR%j|4L+{265irqOXk?G&K|GraYzZd>uxPc-W0Y#HII2`*SgcK#QcupWz;1iI; zh;8W%YqLd-#xp@ha8J!-2+qLevwq{%F81py!4#YYL07hccTBx!5Zc7{|;>jN*YK<@c2p8OOs?slKzZq5|i&70`Hf6emG&DiF_r z0<(0pAK-}i=x{!%D0{2Iv}tqRJCO1fYKh~T5LHgS&BuMCQ;7dK6pp7-t8a~Ucz@g?RFrqvY+L;f*d+a#Dh{ZHI3g5-SdeT`!DvEzT zYNeoNN6ql<_nZ+qaCX@r&K$(g5hKb}D#~~}?(%3YKgxgpUnu++G%ATGgPp`40MxYa zm5NBK1gCKD@Npvu|G8PvUI2T|2}9k^it{tw>+OyEswV#L{&!6YdNN+Gve=|`Zsk^K zwKUbg*EBov{|^|uPrnfe361J+Z%`XUQ}|&7*sW}ba$ZzD`*CAs=jP3upVVic*p$Xx zuU1*vd7(etwPdGK=x%$MqUvCXx}5w}US;z-{`=9pckilEZ8!$yrZ0S+(p~4}{gj?Q zG9YGj+jjH|=(Do|KxozTY3S`J-u8l1thIugRjy$bN*mPnbRDF1w5Ue_95r-X>QR1P zUMGD*>_@ayw>t0UD?v^X{hM((_s;H{e-`s(8Nc>!3zAk6JbO~(U=P-C5rf*Rra+zw z;O*5XQp}1ZxP~J})zfDG%)-+toPXnut0=M93bT+2tPJ7Z$4~T_A195~^iR^8b#)`(IPU zzh8smwJstUh|KD9llbouSX`GlHk-kF@bic)K>Eu;P_X&(xaONY(XALOken;>km{e= zMp=la{amQ7{tmWb3 zs|K|+Q<57+@%#QNho`^tv!Dabr|wq_rRCA0zd;<#1SrExcLv(Lv`IiIIDkvC8XUU- zaD~|faC;TlktYE~J%5BNY&GCEmj=pErab2Sj;lbX?`W|Z1`>3v@cx=@Y5?HB4U{BJ z+yhSim+Qt`pl0j4#0*$Gs{!WF(}xSe6~aZ=t!NB62Bi<83MnRk0fJ(A(yQ$202m8_ z%rG_Ea~AA#Ebbm77jkr%fO4mX++zKL-TFCLqVF!9XHhP1Yi4dSyym70iJ_ zOn@94Ezssj159+G`u3hLBy_bO17PBkxbG!cBRwn#qdRy(2&&(EKSQ9QC|~Nb)yXXI zpq54Ec%)ey<#<4($rPy6K!Nxv5J{Rg0YTV(KxNi47=KUJ27n)Rg#a|28U!Ibt2Zt! z_vX_fWEol$Fw@oc22< z`1ttrym}TXGCtKJK+50LeiMk-nNyMlJ(0%H^J;s@1I)%baJi=3Fe zqKK?PX8OkG18=a6+SK^m;}iGGD?6OV6=g?fP<35DHPzv$;s&f<^c&aJ1}Rub>ADzl-Yum z5TLwi5(uI!pkuJD6;R%!Y?XD8LvVzZlMzU65k<9PjSY;GbG)o>1$=F+pBKDQz~$o& z=2kF`*&EfneJF#_cvqyAwDl6CpJJ%$scit>tu0UqRe(A%-DGR#EUcOAOePYj5Oio` zD0|d4Mmx3whRv;Q{Dt$qhJA)C@1Ln9&ESS)KK9v{2@MG$m;4Oj$~7~Idd9!-!rr2y z6r#VuLw$z9T(Lf>m*QpL$FQfp#kG!zn6z(npZ>I1Ww6c|H18OIN#pGY80^L<$D3ADkTOIMH+b%(WM^rObLYG%r7kfWpw`yQ3n!CYo^VyIshqo#H2IZ7_i-dr zqFQqh>>T3x$e6V2Ss~=F^d|NFdZxZFN;kNeUy3N>b%yj~Vk)nka*Db*^QL_g5&hH5hI#8x>TiQuPp8sS-bHMuta)ZZX!K{tIe*6za5i)}^LIVQbGt?fU(*Ou4*k6k z5LbzEtOZn--%&Z>um@!KuC)bfjyAy};E~%Q4GLh)EVysRx%@ow??Qlr}G617tozsYY~b>8P403 z0l=(&E_5zrX*bOs%<=B#JjdW|JAz;QN%$t__pc>omcGhfuC&^nQ_=8+&YeDQlP^ON z2Nvz(0b5mLh8a%2u&bR>S7iVV=RlLV1VOze)cAi-O<-8_})k91OiEnMYJ+2G|X3 z6NpU0=Tdeaa3hWo(Ul_2>gRiD>?K%-vz0bFW8|u@u3A74d-~eq#xqcA?%5)>(t6*D zh94~_hMKdxr%D%`iG6kf#gn=J!p9p3am^W^WR_->$`q$B)x_Uut4Z_fQ5$iv(c2q! zmg%+ym>;IN;Q|Z{w`!t2!t-(16>{9qjL)vX=o)ur=NWUPMZOcU<1b>j2#$F)V#v1; z*klS}9$ig%6vWE#ZQ)AwzRgmJM&kmdfz*w}>Pjdo(}#Sk9#G3AGdeYus-0Iu9VQ>| z)|V8rUZGh|&A4cPfcags_}SiLEyHnadt&;J`;-y@!>R}y_@ekqmr zf@yD=s=>6zvf2S7&5blXIui16A7No8<+dLh=bQcTq007+ZATB?gd@qQZ{`>Q497ES zXG0k;H25tf3?JtLaX|AX5e0osw~4p)pZXmpHpmUVx5@wQXMJ25uuX*SGh}G}^b=4O zl^}3YLLvU#m29Xd+fiBS=V_`|?anvVMg0Yp(6?UmJL>L~f0xRISC2>$5wKq`1|~t8 z^Ry4MQ}Zxc!FE+~qmQQ(KNX%zXqgv$P$`>lLACUklbOb_HY8E92RF}L1|eZLH-+Dh zWpp+!BFs)nW?m-Pgn^bzaW!q=8=#DrkNkc-(vw)C&lQ_>7Nh|cYGkY3ugZg4W}k*VNc}Q0VUy+?~r{k#x-!M+~$Lc}BU8y4pn%E0afAlD@n+ z$23qmgh8O$2@DLh%eqN%fHovD;1-tA+z|m%dhKP#mQLi}o?) zK%8XzZeFI~8?jk0vzq7uj#U~04#tpPCDl0F@O{-E3@!AS{DBXIoi8AOe!J#55lSlJ<%D&T}-kae=K)-=Gy+egzqdG#_ol7 zDwfZ|kh3{KycwjL*uGGdIgoPFs(czMh{xq<=9fs+WCq;ZjKM|7K+ic8~wO%RW;l0$#obix%#aMVm z%t)Ko*^fvJYB5b;Gfa5W5zd9Df(P6TsiaS_wmGDC1a`eI!m_u9j%ubHq>fWX)w2?O zc-XJw;3$d)W1lqBZos9VKL5q(xq|@hcqAh880loV(XdJxMVD)=E!{nKe&&%CS)G|% zb#Qhwur1Rg&a;QfWohPtG67BhF|ZBpc8C0e01=~2@W>raMR`*E>&qzj9u{n@wV)%G zfD{*bt@-pPgVjj@kcewZzt#ELPa@e?Mz$WN-NJKrapohr6NNHc?v&!oeZv^3z0A{b zOYPg&tT;7Et*AAApn&MA^$AJQdH|O-!@@zbaKv~~pr$dDuCv^KmF>uWzubiQ2LT)7WlyUP7|0A?~u3Ufb)&?$E;B-dVBK4))*%1rZ0qpDOxB^v0AVR#K(v+#LwSd2vTo6qB-w;;b?ARMJ)RppY^RWR<_kEAB9qH8z6Fg z#r~fQj^Aj*Yfva^t*_)@OrbuTymr+!pv$_)tSj9ATKx{|dq$^LY(db&J+|1fTAI=?mg>WDZOE7k%9g>Taz*Ziax9%Bk$i=XC8 zW6U3vXOx{jD@Uy@soS+T{*chBuNtT_!dMP4$=zg^uSOFFj?tc`*E-Idgz+yG`S^M!E+Su%cJNqkhR3fpeG(}#c!-WUAVV)7a%5WvNRS2{C@B2jh?e9 zcgLb*{ey>fpT}XD;c*af$`VV4AQ13(-}6Jt(1DbMhbszeZM&r0_<0=)s%hFNBzEp= zwxR6q@zvv8f8Ts*jq$EDa>-!roTcyN2zv9*Q-En!K`>>Bx)nSWx9`guTkb7{TSAsC zO|BpeCrnP34abWgHEpUa92}94MQ~^2_^iNjoGc?6;f-i4eC~Bucg_-9DU|Y?0OA(H za`t`>?j2K^^{7AO(bc#Z)U_)ySdM2-hEdL0-}p)0JH6-0sEmISc|4J6^JsOXk!I=Z zMDwp$Rwm6wJK?b;y)M!i5uT%Xd8JvVlUJv<mc7vy3aqD!5fhn2EB z=ssLzo$+=7{X$1S78`apk8xT%f~-1Cxd%OVVO{e`zh{3}GRc*hQ7X~>LXyIm@D~9E zdt-c#n%kU05%DP7RtP41usB3aW%rH7I~iOY+Dvk^63iPm+QumDp4ie{KAm~y@Ghgp zPp83S(9&aDRMYM+Edm%Sp}BP7dt4h92pyvYx!MvaylN21Fqa%{O9^Pz zd>t+AuyJ!$xHl^Yy}F&YRx7Xi^08KR8^TOtmN;TMoYEUoOX^vYUPqG7`RvG8eH+RQ zUJX(gMY3S>%~quJYYo0PpB3So9~^(XqcoCpa~c<6ahyBnHm-IS78DhSR$yjyCx~9b z=Wis+SzM*(qL(K3!Yjg4G2B|eg+qIB|rSOd#j|A>JyXV_6F9r*0^j0mr zKu9(xr1_Gx%DkLQ^d&>{n+zf*2?s-z?Oz@cK^FvTs#&9lx=go0k03Z1OmgKWWumMV zZ)`N8smW~$$X?HQwr_>361L|apJg`@-l>uq7VXVf@@JNQ?1X!4BIcg4W0f#oeviLO z!RTN!L+43@K7F+Rvk%(BBqaTIgBV^eL1WsNZg2jyQz+DeKk2mWhOBFV@#Iof2uQAn1cpRuA*S#25n^>fU=4G1q>NyA9KOF1d&BGa37(@qp#gZ`Rre zW@v$r3NY+2>@XVV?pByMUm{vE${JM$_h>J`=kV}Np1YONvvRe=>o*$(;+gCh{3Qyd z?gpy(`((HbxrtkXH()_;i)xSJb#Rq}4p0V*1E;qH9ezFb7PF6Xo=y^+{XEs`5oLEU zvD((knPJa^n{ivx-Jj;okiMkpY^-W6jDZK?-Z`Ta0E^Yuxn1!TWYV1EC8B9Y7*KAr z0hi|kO;XZAEVMV^C1OVrJp{QQDs7Oqg3^Uk&6LQsJQrzyiuLel+lpQMb>d_fX*z*{ z0#BshFP%K7Qf>aT3Km69I7M*odeqOj(7}!!f&c=PLp`)?lm4~lewo(r@!nz_Z(KY>t1}YG3`<%cxN`) z=+Bk$K9`VyFX z9*P$cYhNvo!7v>gRUa@DpvNjLw)K9biWIQvv^)>EF3%mJrTVC1MaZ3k;*R8Xo^hU9 z|L08FVr;2!{>x?|ooNv_0Xrvd%RI(CEKafE;hZ0YYOvqnq%G+wwXG+;8%*Ed@oizX zdAW_Ju(wn9P*a6Mk^4oQi;#$LefJuFSTT#yJBMEK7);e=6oX9f2ExM9$Ml9EeAwMk z@-E_0C|em5LGoa38AMio_%nV1@-aR3vS3;;7?4y}@)pKKa)tfAyx6&%_KErq$xym< zKgrOKHudiVsAC(sFBrAv7H3W7>4v(NBHAk`D1XWvD*Vk=j?M#!!c&7 zRC2j{lFCO_Y(~R^n{LZ&9f@YyYya{rxNp`|oX+2Mo9%4&(Vi~0+$&)moH1{K&37d( zUzxw!EtQ-eeH}41D9afM`^{4(yXCso%&#|C(P~Em4oIDua_`?k$WgVMMe5;Bf}_rr z#PO!5c}bYXI7hunqBOB;?igzm3je0>qH8Hu4aHMDr*sTFzxnGf*^Y+zxut_v8IEZ( zIb~_W8E^ddtYxO0?U;Y@8(^26+fvMpS5NqGanSHeD>;Ucd*6Afbbt=)A!mY*A>H|J zQR%z~5e&tJCzQl|G<>%u?K}H~9>uHz@F%7#&qX^s1w$y^O`M^(9v$xJ^jt8MdK6zu zM>@|h|GSbZ-I!7W=B+vd-4PIA?jZ5+V-ShEy;%rajuN7!j5M4KO9w=6Ujm;s2SRDO z$ZJqZ|C;Ke!dC@9mvdACWk}Ql8oTZD4dUnHUD1b)($YK|N|u|GcuVaaX#6mHnrVJP zWV@GA`;ycuV#{2JqUBhi{>^6XG^SDA6R};@n9~=8z5F7&z%NXRSQ@bpIDPMBNn~Jf z9gehiH>bV$2_sB4(hF(ghOZJ>;EL{}Y^@4pL*U^i>d|Oy(Qz3%Ms@b6%OdO;_L5HV zqB7@qR#XS$6R%IpwVfP>Ii#Q}G*I`i8O!2l)-CLEN7I(dE$91b5-@Ge*Wp`*z^F?# zIjK3@p~E?KapagokgZ6jV1_kQj!r%GXxPHp64`?xOP#tMys<8+fDx%o5?*+dN&!12ZsdiNbd zLLFKWIkPLDnir}0_F~`1M;g#`@VebZOLRVhi>XM`8(xcY5@K)V!T#3P>Sc-7eUGiX zt3MLdan~&U*D5Wge-U0NSPr$Tdxe6FG0_Jj%X> z_la|96kQvN6>^`-EkNZkLACu2pclLm8Hc$>d%L;4y=tR(=yIxwxF6CeqBZvZtmW*F z<%CYLVr??_1OH`K%Z!b!C$`Al6vvWc1Vi{Cc6*~_-`{I*BEdy3Uj=}EQ)FRhN~eI8IYlnR z(i=)Yf*<;{KF*yG9?*TA}$)Y)Fn&tln{Ak(Sq17{T1qq?K*SUX6dLWPH`Oenw0 z+D)^RDbBX|06@SO-4|g-8!UD4t!!IFD5nM7i|N1W6L!NW9o?I`a3d)Z5!h+#< zUKM%}(-vd$RcKyjZ?BhXN#KE2w@DUu>X+fD+Ia0L64*7l{b9icrqFxs+lS9l=Ds^P;T0$6L5B)0!#v6IQYg z9`0+!q0^2ROd)AIujeCuiM1ydCzuCG0Mno9_~t%gBa5&9%Z~{kKE}RC{i8}s4}^1t z_vGB^FkDK)CgkY`Bhz#3rgw(^A)4T1kw_$xZ~OU;Oy6kG@LoJlPqH-&Y~x zTqbHA=cZW%vMT4?3)x?4;_*@&XZs*dpcI!vk${cG%MfJ_(9U7LdqG(^H%QqDiM$$X z<-LezsndNLh4wJlZaBItAW-CH?er%*d(15V^0=XJQ_YXym2R4f6Sfstj4+r{EQ!%a zCFJvJGwq!>I=SAvt$39`3!8vStqBrh2ibLR7hvj!W-}mX zW8-IB_hDu_7GeY(p_JZOASP#BgWxb1nGuY*MAe2&?0wyV7NKh+lRHAW?$IhBV1?# zFI)lk3sBi8k^82C(YcfI4nCe7KhG>y?bh-7kN&RD`8clkT^l3$>OcR$MoJ#6yk}>f zuW|;ApM+WJJ{6a|1R|oROcpSQ8Qgf?QaO05Yt$FskHZBuE^zTk@zMc7C!4fOp3BHj zVCm6192|?gf5i*r`QPS#h?>_4V4MqgK#g%A*;WmK+l&`r7^1c6ylPZ66wKquqfkKo=)MMi+ zGQP__OU>2-3fHAqV%@V#3az}vq?(R)i|$T<5$G9Zqe%yC6^XK3%;Xx8o`AO!AHu#D z0aVVlouM#TAgYy@67loPbS$iqa`EfUZy>QLIZ*H=P=;S$@DG86{Is$hk^(=THrDA< zs+EAv;%@SX`q&;e@fRGsQ~P!G5m*0a-2ttU>;n#@!k9P|J5wO_6S8pNpMX_{kcNSe*<^f`xbC$(i4sg z*Kl?#IVur+*FK|zyi(4K${Rll_1;JR_cs(f-#tkZNxl8aMyrogJ!u^LiY<^ARoka~8sCE!wn?iL?luFF7?)_=)qz&QTH{P>$Mrw!=+OVdg4o+cqCE-EV%crfqv zGu6rtT(Z@WHVsGyR`J3h0`M#LJ+*Ei1S|46-gcM*cEN8z^ZDzjLrD20xW#6}$QUdE ziA1%4gb9}lK zBj*toFxTv758RVSU?G`+9PCg^VQ?EzIu;ideKGdg60rrszwa)M;Ivl_47iU$+n|vb z4hA4XOpFTv-peB@F0&)dmy(1HFglLjc^&h$IdU%eIR9Bri_1kz#bKvYhU z%w8w;wkuFsWsKpl;Xws5nOK{Vjl|4~q-uGepGW@yF=gY>OxzEsc^OD=olz^FgOnx# zo#I>LmC0xv$ROx*58VN@7FIwPSx1tKoaLn`^*cfOqQ6|d!Dk$9-K$(BdnZJ zj%9oF$G_GN+?($Xe+~Cc);MMjn2uhx%JhDJepnh%1xg@0lR(ZCT29) zb8wSt=s$j@#KK?Mwy``B)fJ$@IbCQ}Vn4<^xP5M#nDI$7mo!OK7Ptjn!f3+21>=)U zlbBUB548jYSn-&OUjQ@05m=N)H&U%%zI+J@QJr5M0U=|b=r{`30614?s$oQlVB+Hg z-r^@)6(d)``cQ}&tn&xVdo>8}cxW4degJcLLc&B5xCY!%kHnqJYPSzIq5eV}8EIrpE$lx=EB;YgY`RZih5U_m2#M ze^+Iw8Eh^)6Y@6J|FIt{nYo(tRd`U^47h_c3&VjZZR`l>-D=KQE>FUlyyk^3E-XP^d}8ZJFTau``FFO^Srs%@~2J|Z*@#HzM>szJMvDr*16c5IVl z_c)$GAUc|Y0ys<5w^?rHYdRY@`5b#JD$zteJKh)@G>U=oPxIFf z`hta~K<^$i4b0390ujHt z=9}B)VAo(b(XYTCNb?arMy#6w^MNxnZ|LeS=D8!&wq`o-Ak#W(bG&@pGv7G41sBH& zEWTsnr80t3v7SY8D5$e3PLYM(TrdG%1({6XzFV^=n=Q^m-WHbDVgjh4FYKwnlGUWLnU7032D2YeMtN7 zZVtTU)MG74xxi<*a*bvBd_oSM#-wI4Nb|B&gKcGp8DseOo}8e+>lJiqn9&ToWmYW zq(_h|>0H|}G`6$<#op;M)l`9ciHMQCxt&Gd~%D$859K55-@ zdG>z)JJuMb`#c%*dZg%dxtXe!xT%w=n&3KVqiR{3d?zaJoLzp`G=mQAM8EpHmtYTz zhk~7Db*1g(-B-J+AG+JZ!Qm~VACjS%h6wI-M}#s?$s^>arr2P$UXiGv=(q^M7NB2~ z;&@{lhaowXc9^bBfyGC8StxF{2F?HtWqJ)&3tJ0zH~$I>!vp7R23@~aq=c^wn+HXJ zyl6_C(ru+L(Rt%K>0zs1`17}o({hm5C(ojnz1zhQ4u37J88^zlt zTpSN^C`|27JkeAX^8@!H*^@h{=V*aLgFbtC%b>_@xgjawo188Q!AeYF#dSFYEsVR6 zQRR<>x#PQGGY)m!vyW`Bvwvg8ikGW4ZtcwT-twF&?mvF?>|KlB)6y>7Zy6xWWHE3- z(HKk8-fbDNqNwpUUXOOye7BptTN*u1zM0fyE1iPY$KvUPfz)9m&tgUfsr(Vis?V~==Al&n)cz#vtv(-7_f6EiV{m6V zzM*(bTKAbcao;*LeWU$-A0>fld;9e^~>%pXfHVfE%5>)Gc&9O5$DA*MHO_VXg8=b6XIA z-Ozke!k_EePeGir@SM0q0`nZj0;8-9smIF1OPKI^c|Y09kByb}`@BiFABXWQ>2}A5 z3v!lwPjsw*pWPPrRzt&oy|=q~$a{Js$XmNB(rh&k&8bvSm1)|Kkhg+_mb|eLBBAU86<<%i#2f}vFa4$D zm3MJ)rsjZ!UN9(V4lAymI;!{mK>%pF8P~ZdV*zA>l}tb-!q>@0Y??H6Thr+6vzco> ze%uUu67az19Xws|yo-)H1%cPTJ`_GQcr`1>D7++(&yJx%Z)^nimtL^pO;OypZ1k-) z4%&#XR`h8Pfx!t7`V;|KJM80>lk?gBHa?AwYdDp4^Hp!qUKWeb=Q9?nyE$3Jt%)<$W{7wumveqNxndv50w*tS4j3pQwRHYZ`Y^U=SsWGk)I=KV8`4g zWSvP)n9}tfIM)l+K)6l5-6r=6!J#f~XNbT%x#nM_=fMZYH!ts-tJJWV)Xj)hq%)@# z%@S^C`IVh@C#@ne>ayO``yNvLpp&xfHC<`tnK1LGbWx+ClV9pZ=A9i$HN)2nk1^Xu zNuFyWNdePag~y+)lU7)qLxktmRRfkoaY-*5{Vq-4$u(;GM-lc(85VX;FN!%-rt31@ zy5x7%pD5bX^}X!Xbz0b15zCVMWA<*PzyGD~Lpa5abWG!Q5Vr1ps^w#SC>Y>7^^!%R zhxp>`!D(_o#w#Y%);rwLzHYG!4k>2jej>focRqF{lq|V2ZiQ2aBAAWNf`eqHe8d}mXv!U=ABHY9!YZUkDW$r5p_ujM)%N2Z0RRa;snJ2tbcCVW3qX_%^ntV|0QGVTlXDlZTei73qR|sp88k8z)2@6V6+RwqoIwow!j`uV269cvq=C$ujoP%jkZd zqK4AQl34buic&i+-=_NxjS-D>3bCl@V4f4c+~ekAf^5EEHtZ1&W+rWm!1?nV+Nr*o z_)#cj3DR@(?&k0%As;dmrfGG-KTF<VSOFGW7FBkfv9}Wxj&sdA~+cZ2W8=P5W z<)!y9(2)Q9OSm@JnT1Ahmx{+&oWr4xNYmPF?^(HMzRui!_=Tjd2q_aC0*K&jFe%zD;Xzi&Pwm4EWq9Xg#BGf+Om>wXLq}( z*~Zy4ABq~$OAa z45X}v6?c$C2Xad7vt}`2aH|IY z-Ds2M5fG7y?Yz`%$eVE?J7t8;t6B)cKL|Urn%?%#{Si~7GxywOP_taK=wql9>QX*fCY}o0u979h4aOTwrIT1nsdH83eZU7&zdrzc&{V0oZgglSZul$(Q;u~jX7#`h3xp>{1dInjy9Ta#9K^KD;KftmA9LTL+6a+;jxTGv+2;Fk|5;RWiJk6M?|bcZ3% zcWZImv2w=|AE)!hwFG`gV2C6neYGOyMVLx8Mx;#SU|5^fLBrvqtT;{q3zPeGNUXhZ zCs@=|IShef`XFul`HNKQ;7E6izQqK)U|ArF$Fif}@n}Rn<6p7azxMDN;&UXv&ZmmJ{+oup;s-?izs9G4$-88h z?+@#%K8!l3>uakUEcRz1T&2IS`^=)npFSh&t;(sZ{az7qBwRh+>HY&d3w6Z^hbH;h z#XaE&YIp@3Q5^7hQSU|h&$We=kw}KshiiG4#WP36#5}nd{+)ZCq`ly67J<++{YHAY zQwW)sP13UofuD%0lzGV>Yf-uDEY>&BoGgsXA1Yq*?pllG=}{D3ILz6gq>?;r%&=vp|8685ASs zpP(*FAk&LnqHI2ve<<@J`BeE`;&pW{dHJa49;n~Kk;*A=S0BUi?zERke;~dUh<-b9 zMY%e5*j=gr*QZ2U8Q-Lpoy(dZy*PsPxVgXT(zb0mcji|2nI9iigNmXet%51juget* zFbbY#%;Wx<&DI~?zC(9;4Wy@BCQBv6A61*)@iy7Nng4YigX*=q_XL0Ft-dX9n#_>P z^I}=cZ7xjh1V_4foF2-;HQ-Zv^~&J8MtO(S{S|MitaTUuT0;U2+|)E%3)jAyt&tuV z!p&!0$Bd43O3{_+{(UTrOk=}j7MtQtr&crUyZ^4ab&^*PAv8`L*S&en;DY#gLxUyQ%II8v`DidIoX zf7EtbZYefDnbAF4%hGK)TNU&0rrfWVn=Kw>s!dM3m0mSz0gbMeYrMl^NL+Gz{N+&8T144A2=96$C9(rC$l9<3Dw7-vp) zxyrF&!@=8b-G@(R2P1NK%sY?% z{`>uNyyHhEMwdp@yu`1$>gnlo3Oe_MgZ?tA?EQ~hlolHaH0C}RvMHE0+oe>Om&B4S zsQh9z=0O9i*e4SEjq07feISS$>@bTL9SMY2AvAJ2=(Ks=odFiWi;}VIq{#k40e(a z$v7Y;jCvEe!OA&eq`ynLuO~Q70poZ-^3{_W?I*y2DdI3a-n0W?c_#mpg-3iHA|Xjjm?K*0P9xiX0Go8^kU+Qft?B9J6uiM99zyU0S;9%WHvhD44Rs( zfiJKcq*~^=w+OiY)L;-a4Ta1^Hgh%qeg=3SJaO8gSUhCCIUOe}Ue}Gjf1AeCbd)2e2G6A8l z1N}i304sm8lmew)0)fhmw-Qv0^Xetw!~Q_2!&3n9-Go{^0Oj_0W3<>Fa-Ra9DUx~c zpr5~G9FXJIAThFhQ0{ViD<33#9DzUIaIho|a4oS7U`(C5XvS=RV)7Vo1Kv%hno`Kd zxec1Sr`(1$Gn|{;em!6iKm{IHqbf69{s!igocwuPQa~7*0%Zk(dKh|Mik5y|1N#;5 z5kM)5dY&L*(scvCth!Pw2|AmA%yMzKNS_15p)KUST!E&58IOde2<}WL_wRrqsG;!p zQF}NRBfXE7dWuIYZ@6#_(l5VV?b)-~KLc5eCFIvVLFLU>ATGI6O9u$onD2{N!%p}G zW`-KzKb?R$m{rbJZygq|uGWzcIz~(!7jA3c+RpimYuS}U=AtCG0iC&3zfl5wu(=|W zOMqBeZpHv;7FcANEI`Lc6;$5fz_OYATml4<6n@*^ps3W=CKTT&25B>)LscAr20_C> zFi4{qIPH1&@>c8h@D}MTkrkD>#Zgm8Pt{z;+fT2v_V?SH*CkmQRLcxxra!MZv=$w& zcJO>DLSkpYRG9@b~H%I>o z5ewRCe2Z@ScF%82)szZ53GxVT2X~9G-v13KP5Nat4&-hY=9?f?#KxdP8F9h=Fjon( z$LwA$;b*5KE&v}_0@cMj&@W>5$ZS;(+kv=%lAF*FCj3C~3(>FElfwl@z&pBb2t4o( z=wb4#)!u<ZdLJ-js@#$fX7(`-xu4PURi4 zRU3r2=*LfwCZ)wcy=Zw?HL#OZVw%T9x`3*XjjDhOf#@3%Q;1&w-?GezcOV=9P(!=K z?PS1X%EVB2j8Z<{nVW0kUPeJNkTSC{MAU3krVA^cz+EGKI800K-0hedw;9wxi9(TZ zlV8^)gVA&p(#8U9t*ccFVTJLTCRk>jI$C}G-a^F9Lr8|Yp;G}y++=_Gaa0})EnaGe4YdHJ{LvmGz0!{wLoL!Er0 zg8c+UY{x<5`afI3N2N);(C-zm_cKH)1~mUn5zS6z z!O*QC(8GX_6kBE}zNE8x;*RCrxxjLLV zz#U>tc<4-tXW9Q_9ksws_xoA%E5DjG`i)UHYTNWN(^rQQNgLASeSJ6NOfxl6n}UC$ zNn~)^LElkDx2TCi5GAGzTb((C$1HYe1+v}_q;$)35@MsA7A;w5hqqt#KSY@`RnvWUune^sw7tn>mfVX)*NZvnKpcn5AYwx;bBfpDQ zo(rQi-e);^9vq8q5%i#Z8Z7Kfs7gj(Qr7+-Mlu-Ai2lbGS~d!_XhgfnzwBwwjXX{H z@usCYyYWri&3CDEkF|ff7!+!=*v5^qRbS+u*3{A6p^4eJP_8FW6AHaL@4{@ct9NDk zAe@ZhC#j0#8h)F658A? z^Aj%%j?y+xvR+r;S z&cW-pgJqv0`Q)m43V%uZK0psyjfgYh;B-rOR}A9936$I*T4;d)(Q{40TolLhKI<8F z$ZPHA$c+xvvS5WKGj^1Z3yr|nYuTh=Hz>o%PGAH{osZ|tVr1B3=tAjf)NYEqEUSsR zVzpy`!i5{e_(*pz1NlYaE!MJ9h>eS&-;5l;DEPqX$Bg${38zQ(44u3i?P}^lXc_W< zNP7=xIJ@@kTQ?YtAVwcVv}i%}&PaslL3E;oXwiw@qeVhUbP~NLh~9e=UGyHk_s+K` z_x(KoZ@ph#>s`yTOkyrG*LBU_=icXW{EmkY%o(z-!q-3TXdw5cc=A=wc0YuP^a4mE z%_O&rvK{*GGfIkFmECZ5JOXKB<1}{-_c4lYo-?{`5>o%%fU)+M@XPBkPBlYHH3X!; z_it)2W%FWsAkiyR{BVjFdhWfuwW=$3Y(5*JOzMAc5p@Pz44F#lkPE~ek>{>{a+knw zTD<#F3~SG{n=<$b|NT0YB|HH)FiMx;mOn$pz~cZ}sOZ81uN5y8&%B9{URE-G5qo}2 zDGH9I#`p&4(^%K;XO}^59e#djJ|Tr%0ByGg{2#B?6;yV`NSKHuFL$dhT6rv=VyI-+ zbm$?b9;gcw&7jTKoHR<#iUPqNMoGoQiLvC&V^x|mis>i zFk{kR8PwlFf=%YWQ})E&JWmJqoe+pe%fnSV0o&?zHt{?8i%NgPDE~RdL2LC{+3faV zJnyL%(7t&GtBHRJm2*kP`_Dy)HRln3a8|m`r=)8z{i2P}KXTzsTLJNi#(7tEO&q|Z zpx%SrZU3@;i$PHN!*nwg6D@3g4x|l2)3-4ub$%uHOas zKY!f&FDLKLJm5W)0?`xC7h4iIisdi~7~d$#Oz!--@$l9IB=kJxLz5*0Yi_i6$C8)j+ z3e7sBE1rI+fd;sUp}2HZ!pq=FSx?uxeGdo-!2j_g6a|!=srMS~a-_Zmw1`QyPg{3} zno$ZERN>`?r$+hr3}g9J2KV^oGy`T{5sbb82 zSYk|q1Z(P~3Ug52{ar`Ux=on?EK$k656NAgE)5bG57JMh1~geycHiLvKs_I-L^A+2 zoGY01YRrLY@H44Vn&&#(1z_gH#l8w}iv)5CJct+zpiLYkhWWYgg0}zUJLbp9LICDI z3r*nvR;W|fvLtT}5(!8J@>tfN1LL_<+R!h+3)lo@Xdz-9N_qdz-QM;^zzK9~q&?|- z_wE)8+Pt)`9@YjPDo}EpaBWre3&vFeC^d>1LbT$$-?P+SEvSXTzi?K)U|9%500?r_i&H-oaIFX~P`V6HrHSszZ!xB@$lRk6PTW4+%y z6;yE4?QN{?Ai3RuWe13}zJnrm45*#ADk%l5<3I!6yYl7u{SB}vxB>&M>jv*S?{gIF zbu@g;Dl2O9&wCYDVwb55)a;8?psW@Gq~WQ+zS@U;o^PtqfmFuDyd?`IQm`v`0af7# zpcXm~^(WPOfTZ(wZwINW(3<}3#0D9G*4!!LPUJpFr%8AxhusP?2VHmD!B-$;Ixaz4%-s&P zMy=4A06Z4=JwGoHQ03Iuhr<2WuXwghLWrqTO9aqU>92h>KkhhiV@4WTe8^WuM-MoX zYYe~OJt+k%{gKl$Nw9+ z&Fyi*MebfsLbsl!+Y99M?^7M+S}I0SK^+s$LyLu11<3GPW=n@~*3N zk_VE{6Sm^2MU(7;M(Kz*_tZ8@1|n#xaIrXXiNZof&x_;p)a?bN|LSBCJBMFJzIEtg z2o>tXtNYXo@GKM|^R3X#CLLM1wydUvqzzK^=u)iXW-E%N34l{2b&aczahzs=GE((d zXWI!G$w7!iV5VKn3HtBKeT0dTpT}8l^7wj|u|u98F?}VNAkG?@@*;tr5<_(KWeXpV zTG@GL>VC86x%n z*qC#M&Gk@{R7;LNeHfeH(eTsA-$Pu1S+=iH zf;qFa)~(bBy)H5jNsQk*5uQaqn7O~#hKVH~8J6xSzmn4XHT2bm7-Gtel|u%S@~1~; z#TjVrBkL97vYe7wt2a=hxT(~u2X&nr=z>OKEUfgVh$BD5+>UJcIt2=@HFm}@=J3lC z9X$}IIdln>w772c$2fTpmF~VmxRap!N6q5#gx#TQ!_A8IY66Z6y(MqN{x|w<>AV1| zPH{qpcLR3k%=$wnI}eLxI78HMf?ulf#75WNW(cdqERJHwtrKf`3Y(Xb3n zhY3=7rV^@fow&qs#SYo5(!}Ut5+qP~*f^N9r@hxvB57~JhCmj=84LKeyGk}Y9onok z|1P7nsvIN&cTbG$Yf6o_DS*Yn;DfBkkzWVO2;blWY*sKRC-q`y3Gy$sf^nH~-lUNS z#9|<&vP@Gngi|SG(b`i(sdiNfsV>F%)lR$(aU+xE0FcS01s0$?>!CB~xJSIN*%KPU zml9?yCdBneT5u(O6ayz*5_g~!Z&_+iggLUqZFRN$%tcD{fa|lf6mRm2G`K8$BGsWb zhnCUKksGZzb}p_6T%2Mf8(HsH+w37;NjySki9EW=b2^W3cagf2j5S~kWSs|?# zx6<{=!PcSvH0aAzR{pz<&>H#I2rQCTVM7B_sxI%2Kocl@W=1R3>se*g>kH2Xy7nua z67E^tIYWQdjRWS`Kumi)Ulj&QzEpJx1eG++z!>C;U0(@9Kq@e{?Wd?o)LTw&2bpZE z4D($??Y~t*#)UOC0F+pQ2pANn?^Wcgt^UK=eWDu{f}by#Wh)KHpok2`gBfaQmB@kc zKtn!eadg{|I3Tr`5n&Q5%3)(+(N#(_VK7NN)MQ~Y>xSC%FUaH>$z{9J8bcuKY1lBvgJGh0Gc;#6W>Ay z?qXrd*zXd}IjO>+-vva{f=JsRKZTdrdM4<$VHA@Kffr!Fie^F#J^~GTu0Zl%Ga$c{ zx`~Zj9A0V+tDE6)Dq>-LP472%q+prqgiygel2g}S=Qq5{R=*t-hvH=~xBG{+#R@8XB|U^RQbVPp*%?0u-ZB`a6WeSSgI!i33n=LK@N%_i21*oFQlz3c^{C#(C| zhh#n|bbjE0RX^e+|DFj+bLiQy%O2XgT{n}|xEVf+2!37XRa6_Yd+N#SS9j=r;9$2_RxIJ3qZK|0jvQ;G8BY>M9bD^ZyA&c`}OT=Dm5mpOZ+Z9TeRZhOQ*B;(f z$`a0)!B=jQ<|wgR0VCEwtmay+^JMaiWi#~!xPI4Pd4{G*%ZYeqr$tk$|3JaxT2LE*KwuzpS@e#|Dewm~9Usiq~5? z=S1h%7mgrdph_(W+H$vVDP;{CeIm9i_F3|Y5td$OD9#rQB*#e#qM0%)U>Msm^?`yo zGB}`rd6jSAE~S+;WNt=on&}c*(Y-6|G&|p*NFULFyCBcAXPXZuh;szE@wvPqbm#hE zKbe)77=8yo@#|Ac#e)|WuD|XbM>9X!>yY8Uv*1B^N`ng@%L~H|KaOV?Lu=LexQF)H zDWvH;5ItA*QWdv~C0Fgtd9E$q?(b->jL4pN`~?oH;c#D&OLGnaZ3VEQ5-uGZqipDU9lnz2rF7ufxy{k$dak z*;AIBgM0+;Sc~Ff1gHRjCsLQEEHlkO?h<_zyU((ic8=;UWjf30W^};$-3EF`dJ+=1 zD^01cMZ+aa2gXkH07>tUJYofBTVE-IbXw}V$ODUH>KWe}pE}tMbDyYi!!R+JF@H^| zR40@rpFbDvr7Yo)d)&q=Mw6>2HaNzzpscmWh|$Q$C}%)Hoc_#G^?Y3T>4Qb_Z&MgQ zUeq@%*||pP7BpBybn0~z->^5!n|-!8Hs0rgm?P=I&z_#ym1E(- zLaVa)DBr>sAE)otldnXydW&#R_rhcLcZFLjlJp2G{6UXrU;0f)(BIR2`3MF2{O5iya1+43aMf<@ceakd3^({Ba3mQRaY& zekx3ei-IR5!+1QAi>Ni|XsXIVxW#rz(&1r;oWcEx`FRTmFx$69k|6jv8#x{sEsS6b zii@a<)txHC%RW0P9KTplswUxi_BiMMdIuX;e@7Teq@rI~SQA7_>_`G~k-JS6y|--H z*>!@o7>%A_N_>I8pUioIIMB9j8IYG_N3&Q6-LLI^sW&u*M zA*3|)s%evjZachcZZTfjHw|6;{4NwG=RbPqQ3f9U0v*i0R!N4|`27GyE6(CfU{Rnp zhPU@itWDnSoUvz8DZHxzUEzetN%OZKw@!;s?wjAn!4lq)4!>G?U;C82XT=gTpIB25 zqkF9`Wr?V6OtG=5Nl{_ewpvf$k~uBj%{s}sd}`}j+h^ow*EwE)1o-0PevDyP!6TgNH@KdqkN%8bL=HLa2GG)El1+g!pi*!s_ zft1=xaTV?z1cJCo29GeO_wMIwIn&sGqTo|^#zS}f_yQC=gRzkC>&X0$zz8xmOlkiC z^lYuY;yCzPB-blxb^Ewh0?06VK0DLLDMWXfAEepiyylqpt!8*Wfn=z-pha}lX)ECe zwI}Jlcv>d>-}A>e zCg&r?6GFDwZi=t9x z-``SNj3UFh7b}iC8-^}I3BQbEHrywLy4>_HnM#Y_q0Va@NWX_uf1BqI<*(fZT&}n7 z_-(B*6HE{0es>8Y5Lh|73-E@Yeq8}lbKi0@End+9cQ!#}jpl>aSDFSq&mwu|`eGK- z85up%8ns-qdr1fhCInOY!u3CrN{1HL%oE6jo#SRb4`Rh?=3`k+8B$H}BYA?33TKdt=HiL40rr& zdHTJNRrD_(L4q#`6~_TA4^EJW))P=h^V2UfDJCtAqGeCrogAx=?<3?E8CSrH)I+RH z!lh7$OViz|Dh!jc1HD*za>uN%kMuIv0}k$lu&uHquTDSn*J;d3Mj9+cLPCxwV`n>A~?uiDu?QGnG>_vPCZk z;42wTZm*WT&CH!7zSBG|@$=K;b##rquPxy5Hk1cVjIu5V{lX%SE+z=9Bl_?lAgUpk zuZs8fg0h~b?!!MpFuzIhthFEvccBN}NjyqCO?V2sj+%2TTwe+s#N08k>M=8W`Gi!Q zfWlS!l*j}x$Qkij^%}^RIJb}EV)Y5CSQ!y=)nxL)a4fzqn%#!+M%uG)VQ{>7n z8a{k$rd+x`WyNu}7V^r*$+dc9VtW6f5wjV$E1_aAMJhDsI)3>tuEcB!#h>ixWXXgCPnQLM!h=*2Hsf!(^ceW z(yXw79w-L+t0B`y!>A%FCNVtyd;F}>VV%H;}@uiNk8;A)^x@ZzRJ(^%x8=P$b~ zjQB*FQusNt3+ys&*~QTXiVA&`f&Vu9jA}gh8Y}pj90&JEy+dN5-|A(kd@IVRTZPsk zF;5iU6Jm+W$33U)pCjimnOigG#;`}QqC$t;!rJAK6#hph)8`hqBapwLx-ds6HIgLe zXwa?nGTIPboJ<6pXUUrb_wboSJqs!3Po_jd%l0n!(AcCo51~-QtGxBJ6YTJ)M zf=@t>gc%;x>}UBPh_%HWt&Jpzgge^rq#Q9|#?!hcPhp@rU)${2y4c)TK`3D_JA5Jr z5xv$?d&|KvGt9QPj={^Ivy-}8{kIwPoCz8hgF(+S}J3xt^x@ zmA*waT$IT>U?-3K%2X|GNkEpNl7R=dW&R7<~pnWha4+ zn$G~ruuhBGXE@rL97S13Q4I}%u#fpG%=&x9|9#TmGYMh%M{KnYm%KjBT3TAty}70c^>4>C6#h6lyxjVcZ zM@g1Y+9s3^>KFvROrm0S%FBmQU7wcQEhxuhC6EH>0>RF-W{?D83xNLH z;uovHSkIaK5xlop@xP~5qz%=8;Lt8E=d2uS@xBH|^}_@0FrWJL`Mz* z>5Cag%i-EkkMEClrYR!RP{uFTuTPk%dYnG7iUKf^kju&^+SlO-D4L@gJ@&C}EK zFgLU>vdI)~GG;u7VBe)};E?minSTkQY@bL;@uRl%^%`EEy+S3iq0G2_?i-r78$>}f zm>TT-UqlLxg2;zMazk*@b1}iGt>^{$i<`j|h7Pn<;JkEzJ;1~@M&_U=tlPy3v@V+2 z5sXwkAVsJ5U=HY)zJUSg7bP+b16WZjfl#VbE*Jq=?YU#p_?@K9N2 z5jXX(@FB4HQ6&A9k6i*J*pv74tNNE7%<201ZOYPD{eGC)B_j5^u1fVI59*@>CU#(@ zr#lu~1qwrFLH5uL5kT9g7IC(k+Svrnscmc&wj5;&FFr7!t$VAchavNIk(VkE@ebtZ z?2SJU#htDGaTnP8pOfBI0&U%|?|^(wqzp|3OHOEJ@#z(4ABtqa)S4|bR?bbaKE#f# z&x{7;au}~3DAC-1{_y2^2({g69jxlE`|Xa$tTiAbp=O*4WXY`0k9W^u?9!%whqwpf zGtfY(_#dL~;4mC{AePDeDnre?<9cD6fB=21Uni zHut+~9#9$^alS5ZISF;G9X;otEPiHg{Ks!Vm{{Z9KzA{_Gvd?-c#ZWt1AEW^)%a!q z*oA@{rRec+P!48)UXwW3)2%)R4&v&2ea{sv+c52Mkq>rX8S4%oszlN?fB?nfR+-KF znGmk`pkda?SBD~F3%+V0(*XUW627~c(JLloA#5{XgjxLh?HfHb5(UOdp#S$^xNpPd$oyUZri? zvZncU<^Xj6t83=<9dKtsYbYfnm;w2Ub3N3IZvtyrd;z1g*?cMj5m#{kXe}ceB?(0J zu}puUGDJuHr;P&%7k-;-iW+-V)xQh(1v`CDs_P>*QGKoG`W#L#?U!J$*F>t^KA1Z! z1Pc>yiXzbXvXhiBU`S#x22svMCuVeq3!n_Fx`3$0-M%;K_~4!P%aUkqotzG89g{Ui z7CQGz`x}AM(7T%*aWOOE|crafu2}L3X~6Rh*vFy2TwM&r=}Q5>dh(L+{^dfhY z|H@0{mXBEwjGHPbLqCk?TKv)4F528wfqGhZx?$G(eO*z=ckKa(=3r_!n>O)@f593f z%(nGC|KCEpA6Q;_67Xjr=(Lz`if0qfCIOVN`C?QX)1%_v=ZB6s)EL-EuB`siQ3r6DR?!iVVpv3U$ZRP>G1q8MVA-`130<_fl53Ae0Z8kSyPN* zsLA0e$OTB_i=3 za)6u<|651iSnepzWw8!k-#otmDCEvtwPFX>d47x*fbQ;(!iST&kj1gGs;OnVw~@OY zEci|r*6vzRoCt8O%vCy&a6#WCrNbO}7V+ui6RzQ*(M=SQU{ zsoZHM*#!j!srlQ^CkKGv5*CTHTg`ND7L)B;H;2EO^+Tu5>b zNkB7&PU0wJv}`ej?*ACjnbv7)^4A=!QeJw)G?GeoZJc2eP$23stgS6&kRkKvOCmn! zQpSduI3rxt-)=YV{Z|ilj2A-b1dTSOk}XTQIw9Lf>E9C+zj%3XJCLPnFgaVHndqbU zW?A0wxHBj$iWf1_L;0VpvW*&Ct`W+7^d?c7t;$m9_$`hHcji%DO4GRiyTqtO*~>W1 z@v~7{cJuXT8vnuJ>*t24)EzbHId~;%9na><3GBVsHbh`p(*Jx}J(97ITD@i0vV`|o ze7n|i*E44AJJg*+bHqk<-jqiydO_V|@%3RragE|+XZ0SGhXNlHBVLHzeFo$GnoY&f zujH&9=<sd1P|m8nGso@YkOt7H+xs?!S{*Y0zkXPF?l$4*5@@K~fh@CAnJ5?;D{6 zaS)6#N7XIlWboX#kLytxIiE6r7zZXFlyG}@f8k29kuuf=Me%SX<-G_Fwo|>Hclf^P z-it)>)>KX(xQ&V_(N`Dfa|t9Dl~heu*zqU0Jl_LAP3hmIx5;a_UYgGJ026iWC;mJ(fFH(ibkIT!; zab9eXqHAmQXY4U1UONYO;M;46)g68LzR@&##108S{Qc_J7l}vDs4#XwK8b)-ObRI^ zQPxVkb+1_Q4Pog1lKSt(ggv{(i@-uRm;s=za&pMM+mE|`?0`JGO0ikVn==(#vSd2Q zVe;;>?mvh9`@JX_4h!&0MZ3t~6JYP_+Vy^hgAA9-L$gt2n1ca7^ z7xjd4lKp*Fh(Cib2kOQ3OTaMyeUX2U=0ozo@o)eNi7q6u(w*b3XGj_Kd+wa6;7KF(VGRFGQH{zQ=ozLr0`=_weqH`O*#G~BK~EW7*R+LR?SPk`HEo)FL#%n_C7j=Q zp%OUz-?uJvkv>EPYpFSwQhG|l{`8VAn)`Z5!02$qH(>tf<7DcNV!x}>bG3+d`UlO| zC)LWuk_(Y+xz{@rcj;%h!^33SN}W`%j=XF+!~b3()N%Xqou6UKfFsBq^{O|Xu^V3d zPK35y?@$QsH+eLb$^I&+d#o*|Y~W{>GUg|>DBZS8_V?QVa|x0WLA`!3%BbAo+VX+R z(qeHnuQ>%8uRqU*=_JzGmM2ylGA$-8bFcRr!^F7jo9B<01T$+6uil24!fm9tGB9(m zURZwX!J{`u{t2>CwV90SdNi7`u+_-mxxOW|AL``KUi*RN)gVpKi6|{O_q4XQ2U(=x zCGC8DXy%U+0<|jxJoee2==mHZ9@|Ix(@qs)(NXfb_w@CRwEz5p%0<`Sf)FT-;PzRi zA>}$5JUgxwJ<`(m<#QKrK6_{f9nplX7F>tz(&eQ8_JPOS|4BbjA}*ILUqfrZks3B{ zl-F^-7k#~k5%a=C9H%MqxDgVu6Gb&*PtJY))J8BP17Uq`KkTtpeC~|Pj(?3iaC>A1 zPRfXroY&)dE4okn0j$C>dnOQF0XzE2o69$dWjrmt^c`MCM3c9 zB4==}_XW);gKX_4blt#+Nr^3ipKevN*b@?cRFe5y4R82q)_T2f=3}Hpe&ZEZ{LVdX z{F`eK*!{bRg3;F{(4sEvQ$y+a5+%|wtmkCk@sHc0|0ioWPR!`w;R_P}M9pHK(^K?( zZ*m|%SXA~9ItD5CYxA)X(LCa4t_D??rxecB7Xm@VR1u$w(prog;3PT9EdyVM1lnsJ zFXP+d%l~q^lt)iofT*72(ds%2nu^^h9 z!7Jj;n>yNxi|?ZeBM8oW&<^UG=$`M_g&t(^-qbwhtx`!J(v~ONIX>L3RA|SqaobX% zG-r76I}&-6PuPvF0z=^i=VJzujGSkhpCmVLHWPT$tVk}L4 zPi?)dD}P)G=0j%bd~ux3G#^{)bkx*Nzy zO#G)ksrPP1lr%R61g)zP$>!?IF$7d_;;EsQi@SOEX^&QV%I00V%L7|hU;?m;npd1^#+(a6!iBzQB3%yh~By_B&&B&a$$b&4Uu z6WOTl)VNaauiBgkFV^%mD2&^XL@Q%qV-_bTDo}rCV}r@Dk>K6w%MqO7jci#Ug?TUS z_&xSroT8*GiaY*JO-D1*{;|>Sj!~!vku~wQtximl{^OEaS3bI`9A10(KDoBbzE6u6 zF|=t7+KDCbCIy@Y#CG>gcGN6Ue0ZyQ`|H`2!D2 z?hmD6zJEs5j05$8!vYXQsOyDm_lQZR3kn(eLXX%_*3D(Rka7CvmQ$IHq+TK-AXYG5 zcin||=;#0HUeUxS{1Rq%sU!!bD=F&e=b!pql=nLlhvwtTaNwI3Ne`hrRkzj0i}h1B zL=h%Syg4h<3B`l~VuP&G!PDgIfT-ZJJA?C`p9*2!^L=himXB&h#JMSNS8!s!J}NnS zfs2&4_bTauOZ(n<(!>KZIf%?-={`)}|4dLU7_V2v*FL{51rW<<6RBMHE0wT@eIIy9 zA9kiGfAFwNo4EC}?BfiAi?YUF_*xZ&r7P3@#-i38I~8mg6V8F}FKnct9J4xuo1X9= z4A0_eZ+qRc_PP8za6OUrAjoaw%Mm7f%sICT+pro%Z)e#SHM+~aKvL@&YP;gAXk~jQ z>-DYN*9UzQ*QJSex#N4xEsRlNaAC?3qv9b`1RSZ{UN%*LVW;w|SlxwLj>*)SJzwzl zix&>>LRA+%BH0W)AD{ zh3xR%Gp595&=Ingj>P?Ex@rl>nDy54T(?`z=3x!~x=?MD)zVtbbmNrWDI0y|@vJNV zL}BcacM3X*tg%!-+4icAP+@_XrO+`!zM`Sb&rE^b>-;L8j}PrjY1o%}-5T@b^}POA zYSuZ}XN{qe2S<>IAE38A_szA{ZfMYg8F~v$sgI^ZR~#B$cl*Iw?5nf86<>L5D-eQpzf{su-qvaOJsz z50P*Xbao&QGK=|noGADc7Mw4l{W`{_@rYte!|1rawY~?rI?)%SVnyS=T#W2KBonH< z_iK?spN{V>{}YehxF@Ue4&}Xk^X{h1o4#oqTEm~FXZiQ}9eJ9}rq{_Ep6}lUCDFeH zLBFfBHKxqt<}q9W+!O0Jwg3GOL^31{odE(@$N-atH3v~^s;{M91k-<>hkz7?pentC zn;5Q-Q@>6B=ig-tnEtn_nE%#0;D`UU0?MR>L4}hhpAr3^s-y|t1^@qf)sO(AHoyPt z!+v~}S*D{coRk-YtykXuGI9#GUsUzzc!c8-vElxfo`+NK#oG^6o zLo)%8RZ|03D-c;g;82`ofJ&_b%>8~~Qm(ws`A1VrYaZ}eTR_yanyxNh)<7=XHRz*Q zcWrzfe|dVoQQ`<yV)KNsDCA1Nt-F&g#4s00eS71*xZQ+Zd*9&@u+Iy!Ka zJK>iO#XSK5fw5XQ?pwER1xWm^;0`?uYZ^RZ-`iXv60)}Dtzz+&AEH|RXq!A9) z@)yLL)<0l^Xe+&nt*3NEn>Xuv#$yhLyG{|`cFyocvqH^E^O*k>G~@1Q&s`r0jG2{S z2Ya}?@@G2}Vnz!)+zgTHm}rbg&YxD)2=;A|X44-0E^xhceO&akrCKA(-CYT5Y6pJo ztyOh1qF6Y#^V3rEBv(Fxnpc4%>-MCi#G4nA$i)L)9G91z4QHqD;xRJ+QTsO?FJd#S z(=aEEjH1bB>7F*`s~He(P2=N`BES4<&+SWVnV9(&D=|Zsk6*7EA#S8KSL~L*S5yPr zT<6>TY4yj*)bHuH^$i81f+mgH5qnvEbA*4djRn&3wf$~l&1v73LH{p!2=k7nshS#dsGk)rD#fFdz#XlYngX2VhWVNN+gJ=}G?NjfuWTeg zPsd05tg8%|OcHz1xNWwv?D#~R1YT0YHpi~FaZlHiP2exBGpJ3H(a+rEO{Jc5{%&;C z)XrX#U#=AkZo#mGjUg)xz_*|HKWJAJL!#6*!!l%PgX0jwhn^>$F({6 zy*}BbnO4hLB9R%!@_na zZcXDQRi>GbwEmti@@aIw=2H#XzftpODP1|p60(f137sYL5bMK3ih7cR(%Gs}PC;RD z%Bim%tY`bq%a1lj7e892HVbJJ)KfC?~CJ+V{c%7(y4s;(Zc7a;J?=0P*FEDEVlg?1A>duzl}%k z?mBGFHX3p0?bP!13S~X&F|b*15HhZKwg*~XHnwna&+^}QTYP4|nn(PmGgJX%jO@#o zg%5r$Hr`y7EMGNWZ_PIP2Hpp|yMk0z;f2_uz>mgB zV5U&7eK1}k8%i`H7BzL?krcf+k-*X!H2AyotOa2HnNcb}46d+nlCO4QS& z9V*LDe5o&UazX!nrJAw5vc6M!QJpB@1ce$Ewbc~iI-E9XxZn4IbEODFH`1O(&3s#t zrsfB?^!gG9iKLgrU3f#Y9`;81oBs7ENy`uCdc~?21P%`S7@t#?y9-!pR-y-Xn%8wF zSfIz8>y}!CPcI=q>kw0Gy8V*3hT`=%h!jkRDb^eKC8#hHXGZ)yyxGhCbWY&l1c@7I zn-sB8rA3a4leYAGx%1OqFF<^?noT56CFkYS(^!su#W%Oyk+Kvf6NKVuuHYNpwC}_? z1;sQG(sG$`tv!HyawckChgg=~-Y^1DZ6YlLdg3Z4mxcRByvEsOIP{wulaj{(XCTL>XK08)G!RLDJ)0M55h41PVGfQcLi zaK$!AOm^yV3E_HX81Db4n*>EfSWKHcL;1`avD{6>0=}B!|;tPEG&{LqL@my z6$^;s^?Ez$0oTLgP6opquoC8JGN8zL6|()x1dhKqc;Rf84!p|Y`qe+JK@^5f_Kv3yz+i)1itds{veeKt|dsc zH85s;a5O{p%UE_1UDzH*2suWcVM#-XTK&k9>2JhR4I6N?dWCTpk%WHTu+X9G&vV1} zg2q!*!u?0*%^J(brT!-()Dni*{1Rh)_}Y<*?ZO*wrWbKZ4((`x7CgHlTa(146&KF; zs(?|yoMwGIcb|F_?y`MWdO~2VsIDdOw6LT-E{~sTcn;SK-a);wy%cK#&weu|m9>-c ztgVx_vGZg-V|~VeAaYQ{y3AXTQz<8isX-b$KQhDQbiPrbbQH`QlG+SgYu3r0wotCE ziH^Q!p@fw)-*|S^->)x^xF4=@_wQt%J>0SN+ge<5KMzcSJIPCK>et_z4DIU(;JrJt z+ZTItsQ6mIiYO$-lc+ZoZ@ONh*t%?O%k1H-YM{N=Y;QviLAJA+Jeb^4s~ig5&sewB z6(vED#PKuf%n7)4fT0Y>xep~a} z9_;XPUICcMKpY8x>ot>rVoY9{@-w5dyslfxvQ@UktM0G4a)WT-h=nSbWw*2>V%lPp zE3>Pn8rS9psmC%NDj6ra0YVL%esW;yr%(A?S?_+9gDmp089yocXhVwRuXAj!SU=WA zOVYsdoo31WH5L_2heBa&+>Kwo95?q=LxQ%lPwUZanOW$vqDpStP^;ez1Z+kQSGrWy zyKFq&`fi7n-ieXXi66xh6oQ?-VTcv^NLn5=3+9j7#%M(RkH>$fS(gi+#kzQICHl;> z8o;xvrzWFE7K#Nqb}t0TCtkmP^{mgKkiE$ISxyCd!+Df%l9&p>%M70Xn5>|;k^pz^ zl7b%LhnpOH`=8?1Cs%`@_K33Eq%L&EnJPNJQlX$dd1&0|Tib{!Oyu?`YXB$Ve6hPy*RM*Ugl2; zJa}&6-$9Hg1%!yIm`a0a3)oHk+Kj+3W-YN9wJx|osEX7gkDRO>>1B|bu7n6-v2`yxrT z1{JHNDKpGD{tvKsf=q_x75y8-_88cCZ}QAemHXiL)H~_QM@***x!mXO7!OS<#2#B< zNu<$66H63#H2cTu@RZ-?m~opcF;ZAq?wWXeapO-d^8fF-}) z?+<8dB-~QVmB%nhftEa1u1t4Fj+E z`(ek}gm;5p)CBZNIBc0|o87v2S9}W8M+GWoH>>6~CpPKcNGAX8F;%9mr{8VYZ-rcN zg|%q)(Kg;)7->$ zLvQ8XJW^0QZ1;(L6|v;yuEBu+J*Gw3siWz6>0-g9LK$1rAZ>IFeYRR+wK4qo^?|U2 zPBqO&=r8H>vwBR`8tc;ID6^_rlHe9f7wN0qI4Ya6tJ0cB{d{@(x0B$fD$~SI#2-y3 zd^8jcs2|PFmzX}1APGUoY&F(XX&(`&GUaTTR*#sGZQU4pLQ54cpAc#`rlAnqz>Yz0 zv~3bpKf=Sm&Jp8n8P>V`QPAX5jt4%v=_X~K@>SJM=QFsn$?7!AEsgbTKPYwa`DPT= z=J<;0MQdzh6D5V|a=)UIo}vGdrE{~pn`}f9>mHpPAEDsF`;3uOV_EWT-$Pd9ukC