From 37d8424a5c91c46021712f8db7566213ac6fc42d Mon Sep 17 00:00:00 2001 From: roost-io Date: Sun, 11 Jan 2026 03:46:01 +0000 Subject: [PATCH] Functional test generated by RoostGPT Using AI Model gpt-4o --- functional_tests/README.md | 23 +++ .../.roost/roost_metadata.json | 34 +++ .../TCSBaNCS_functional-after-fix.csv | 14 ++ .../TCSBaNCS_functional-after-fix.docx | Bin 0 -> 11676 bytes .../TCSBaNCS_functional-after-fix.feature | 193 ++++++++++++++++++ .../TCSBaNCS_functional-after-fix.json | 1 + .../TCSBaNCS_functional-after-fix.xlsx | Bin 0 -> 9469 bytes 7 files changed, 265 insertions(+) create mode 100644 functional_tests/README.md create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json create mode 100644 functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx diff --git a/functional_tests/README.md b/functional_tests/README.md new file mode 100644 index 00000000..7e0358b1 --- /dev/null +++ b/functional_tests/README.md @@ -0,0 +1,23 @@ +# Roost Generated Functional Test + +**Execution Date:** 1/11/2026, 3:46:00 AM + +**Test Unique Identifier:** "TCSBaNCS_functional-after-fix" + +**Input(s):** + 1. bankspromot.txt + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/bankspromot.txt + 2. TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx + 3. TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx + Path: /var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx + +**Test Output Folder:** + 1. [TCSBaNCS_functional-after-fix.json](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json) + 2. [TCSBaNCS_functional-after-fix.feature](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.feature) + 3. [TCSBaNCS_functional-after-fix.csv](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv) + 4. [TCSBaNCS_functional-after-fix.xlsx](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx) + 5. [TCSBaNCS_functional-after-fix.docx](TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx) + +--- + diff --git a/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json b/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json new file mode 100644 index 00000000..2b8d8036 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/.roost/roost_metadata.json @@ -0,0 +1,34 @@ +{ + "project": { + "name": "TCSBaNCS_functional-after-fix", + "created_at": "2026-01-11T03:46:00.357Z", + "updated_at": "2026-01-11T03:46:00.357Z" + }, + "files": { + "input_files": [ + { + "fileName": "TCSBaNCS_functional-after-fix.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.txt", + "fileSha": "cf83e1357e" + }, + { + "fileName": "bankspromot.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/functional_tests/TCSBaNCS_functional-after-fix/bankspromot.txt", + "fileSha": "0664b099ba" + }, + { + "fileName": "TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_ST_BSSB_FSD_CallCenterOperator_v14.2.docx", + "fileSha": "55a242034e" + }, + { + "fileName": "TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx", + "fileURI": "/var/tmp/Roost/RoostGPT/TCSBaNCS_functional-after-fix/da05e5ae-caf9-4b36-a894-d9f1055540db/functional_tests/TCSBaNCS_functional-after-fix/TCS BaNCS-Functional Specifications-Securities Back Office Processing-v1.8.1.docx", + "fileSha": "2cd5271236" + } + ] + }, + "api_files": { + "input_files": [] + } +} \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv new file mode 100644 index 00000000..c7423a34 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.csv @@ -0,0 +1,14 @@ +User Registration and Account Creation +Product Search and Filtering +Shopping Cart Management +Checkout Process and Payment Gateway Integration +Order Confirmation and Notification +User Profile Management +Role-based Access Control +Data Validation and Error Handling +UI Interactions Across All Screens +Guest Checkout Process +Wishlist Management +Order History and Details +Password Recovery +Multi-Currency Support \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.docx new file mode 100644 index 0000000000000000000000000000000000000000..4b361541c8a45d09a1beb4a79597c46716a265b4 GIT binary patch literal 11676 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", email "", and password "" + And I agree to terms and conditions + And I click the 'Register' button + Then I should receive a confirmation email + And the account should be created successfully + + Examples: + | name | email | password | + | John | john@example.com | Pass123! | + | Alice | alice@example.com| Pass456! | + + @ui + Scenario Outline: Product Search and Filtering + Given I am on the homepage + When I enter "" in the search bar + And I apply filters such as price range "", category "", and brand "" + And I click the 'Search' button + Then relevant products should be displayed according to the search criteria and filters applied + + Examples: + | product_name | price_range | category | brand | + | Laptop | 500-1000 | Electronics | Dell | + | Shoes | 50-100 | Fashion | Nike | + + @ui + Scenario Outline: Shopping Cart Management + Given I am logged in + And I have added a product "" to the cart + When I update the quantity of the product to "" + And I remove a product "" from the cart + Then the cart should be updated with correct item quantities and total price + + Examples: + | product | quantity | product_to_remove | + | Laptop | 2 | Shoes | + | Shoes | 1 | Laptop | + + @ui + Scenario Outline: Checkout Process and Payment Gateway Integration + Given I have items in the cart + When I proceed to checkout + And I enter shipping details "" + And I select a payment method "" + And I complete the payment process + Then payment should be processed successfully + And an order confirmation should be displayed + + Examples: + | shipping_details | payment_method | + | Address1 | Credit Card | + | Address2 | PayPal | + + @ui + Scenario Outline: Order Confirmation and Notification + Given I have completed a purchase + When I check for order confirmation on the website + And I verify receipt of email notification + Then order confirmation should be displayed + And email notification should be received + + Examples: + | purchase_id | + | 12345 | + | 67890 | + + @ui + Scenario Outline: User Profile Management + Given I am logged in and on the profile settings page + When I update profile details including name "", email "", and password "" + And I save changes + Then profile information should be updated successfully + And changes should be reflected in the user account + + Examples: + | name | email | password | + | John | john@example.com | NewPass123! | + | Alice | alice@example.com| NewPass456! | + + @ui + Scenario Outline: Role-based Access Control + Given I am logged in with a user account assigned a specific role "" + When I attempt to access various sections of the application + Then I should be able to access permitted areas + And I should be restricted from unauthorized sections + + Examples: + | role | + | Admin | + | Customer | + + @ui + Scenario Outline: Data Validation and Error Handling + Given I am logged in + When I navigate to different forms and enter invalid data "" + And I submit the form + Then the system should display appropriate error messages + And prevent form submission + + Examples: + | invalid_data | + | invalid_email@format | + | negative_price | + + @ui + Scenario Outline: UI Interactions Across All Screens + Given I am logged in + When I navigate through different pages and interact with UI elements + And I resize the browser window + Then UI elements should function correctly + And the layout should be responsive across different screen sizes + + Examples: + | page | + | home | + | product | + | checkout | + + @ui + Scenario Outline: Guest Checkout Process + Given I have items in the cart + When I proceed to checkout + And I select 'Checkout as Guest' + And I enter shipping details "" + And I select a payment method "" + And I complete the payment process + Then payment should be processed successfully + And an order confirmation should be displayed + + Examples: + | shipping_details | payment_method | + | Address1 | Credit Card | + | Address2 | PayPal | + + @ui + Scenario Outline: Wishlist Management + Given I am logged in + When I navigate to a product page and add the product "" to the wishlist + And I view the wishlist + And I remove a product "" from the wishlist + Then the wishlist should be updated accordingly with correct items + + Examples: + | product | product_to_remove | + | Laptop | Shoes | + | Shoes | Laptop | + + @ui + Scenario Outline: Order History and Details + Given I am logged in and have completed at least one purchase + When I navigate to the order history page + And I select an order "" to view details + Then order history and details should be displayed accurately + + Examples: + | order_id | + | 12345 | + | 67890 | + + @ui + Scenario Outline: Password Recovery + Given I have an existing account + When I navigate to the login page + And I click on 'Forgot Password' + And I enter registered email address "" + And I follow the instructions in the password recovery email + Then I should be able to reset my password + And log in with the new password + + Examples: + | email | + | john@example.com | + | alice@example.com | + + @ui + Scenario Outline: Multi-Currency Support + Given I have items in the cart + When I navigate to the currency selection option + And I select a different currency "" + And I proceed to checkout + And I complete the payment process + Then prices should be displayed in the selected currency + And payment should be processed successfully + + Examples: + | currency | + | USD | + | EUR | diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json new file mode 100644 index 00000000..0c78c904 --- /dev/null +++ b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.json @@ -0,0 +1 @@ +[{"type":"functional","title":"User Registration and Account Creation","description":"Verify that a new user can successfully register and create an account.","testId":"TC-001","testDescription":"A new user provides valid information to register and create an account.","prerequisites":"User must have access to a valid email address.","stepsToPerform":"1. Navigate to the registration page.\n2. Enter valid user details including name, email, and password.\n3. Agree to terms and conditions.\n4. Click 'Register' button.","expectedResult":"User receives a confirmation email and account is created successfully.","additionalFields":"PII handling, data masking for sensitive fields"},{"type":"functional","title":"Product Search and Filtering","description":"Verify that users can search for products and apply filters.","testId":"TC-002","testDescription":"A user searches for a product and applies filters to narrow down results.","prerequisites":"Products must be available in the database.","stepsToPerform":"1. Navigate to the search bar.\n2. Enter a product name or keyword.\n3. Apply filters such as price range, category, and brand.\n4. Click 'Search' button.","expectedResult":"Relevant products are displayed according to the search criteria and filters applied.","additionalFields":"Boundary Value Analysis for price filters"},{"type":"functional","title":"Shopping Cart Management","description":"Verify that users can add, update, and remove items from the shopping cart.","testId":"TC-003","testDescription":"A user manages items in their shopping cart.","prerequisites":"User must be logged in and products must be available.","stepsToPerform":"1. Add a product to the cart.\n2. Update the quantity of the product.\n3. Remove a product from the cart.","expectedResult":"Cart is updated accordingly with correct item quantities and total price.","additionalFields":"State Transition testing for cart status"},{"type":"functional","title":"Checkout Process and Payment Gateway Integration","description":"Verify that users can complete the checkout process and make a payment.","testId":"TC-004","testDescription":"A user completes the checkout process using a valid payment method.","prerequisites":"User must have items in the cart and a valid payment method.","stepsToPerform":"1. Proceed to checkout.\n2. Enter shipping details.\n3. Select a payment method.\n4. Complete the payment process.","expectedResult":"Payment is processed successfully and an order confirmation is displayed.","additionalFields":"High-risk edge cases in payment processing"},{"type":"functional","title":"Order Confirmation and Notification","description":"Verify that users receive an order confirmation and notification after a successful purchase.","testId":"TC-005","testDescription":"A user receives confirmation and notification for their order.","prerequisites":"User must have completed a purchase.","stepsToPerform":"1. Complete a purchase.\n2. Check for order confirmation on the website.\n3. Verify receipt of email notification.","expectedResult":"Order confirmation is displayed and email notification is received.","additionalFields":"Data integrity checks for order details"},{"type":"functional","title":"User Profile Management","description":"Verify that users can update their profile information.","testId":"TC-006","testDescription":"A user updates their profile details such as name, email, and password.","prerequisites":"User must be logged in and have an existing profile.","stepsToPerform":"1. Navigate to the profile settings page.\n2. Update profile details including name, email, and password.\n3. Save changes.","expectedResult":"Profile information is updated successfully and changes are reflected in the user account.","additionalFields":"Data integrity checks for profile updates, PII handling"},{"type":"functional","title":"Role-based Access Control","description":"Verify that users have appropriate access based on their roles.","testId":"TC-007","testDescription":"A user with a specific role attempts to access restricted areas.","prerequisites":"User must be logged in with a defined role.","stepsToPerform":"1. Log in with a user account assigned a specific role.\n2. Attempt to access various sections of the application.\n3. Verify access permissions.","expectedResult":"User can access permitted areas and is restricted from unauthorized sections.","additionalFields":"Decision Table testing for role permissions"},{"type":"functional","title":"Data Validation and Error Handling","description":"Verify that the system handles invalid inputs gracefully.","testId":"TC-008","testDescription":"A user enters invalid data in various fields across the application.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate to different forms (e.g., registration, checkout).\n2. Enter invalid data (e.g., incorrect email format, negative price).\n3. Submit the form.","expectedResult":"System displays appropriate error messages and prevents form submission.","additionalFields":"Handling of invalid inputs, error messaging"},{"type":"functional","title":"Integration with External Systems","description":"Verify integration with external payment processors.","testId":"TC-009","testDescription":"A user completes a transaction using an external payment gateway.","prerequisites":"User must have items in the cart and a valid payment method.","stepsToPerform":"1. Proceed to checkout.\n2. Select an external payment gateway.\n3. Complete the payment process.","expectedResult":"Payment is processed successfully through the external gateway and order is confirmed.","additionalFields":"Integration testing with payment processors"},{"type":"functional","title":"UI Interactions Across All Screens","description":"Verify consistent UI interactions and responsiveness across all screens.","testId":"TC-010","testDescription":"A user navigates through various screens and interacts with UI elements.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate through different pages (e.g., home, product, checkout).\n2. Interact with UI elements (e.g., buttons, links, dropdowns).\n3. Resize browser window to test responsiveness.","expectedResult":"UI elements function correctly and the layout is responsive across different screen sizes.","additionalFields":"UI consistency, responsiveness testing"},{"type":"functional","title":"Guest Checkout Process","description":"Verify that users can complete the checkout process as a guest without creating an account.","testId":"TC-011","testDescription":"A user completes the checkout process as a guest using a valid payment method.","prerequisites":"User must have items in the cart.","stepsToPerform":"1. Proceed to checkout.\n2. Select 'Checkout as Guest'.\n3. Enter shipping details.\n4. Select a payment method.\n5. Complete the payment process.","expectedResult":"Payment is processed successfully and an order confirmation is displayed.","additionalFields":"Guest checkout, PII handling for guest users"},{"type":"functional","title":"Wishlist Management","description":"Verify that users can add, view, and remove items from their wishlist.","testId":"TC-012","testDescription":"A user manages items in their wishlist.","prerequisites":"User must be logged in.","stepsToPerform":"1. Navigate to a product page.\n2. Add the product to the wishlist.\n3. View the wishlist.\n4. Remove a product from the wishlist.","expectedResult":"Wishlist is updated accordingly with correct items.","additionalFields":"State Transition testing for wishlist status"},{"type":"functional","title":"Order History and Details","description":"Verify that users can view their order history and details.","testId":"TC-013","testDescription":"A user views their past orders and order details.","prerequisites":"User must be logged in and have completed at least one purchase.","stepsToPerform":"1. Navigate to the order history page.\n2. Select an order to view details.\n3. Verify order details such as items, total amount, and status.","expectedResult":"Order history and details are displayed accurately.","additionalFields":"Data integrity checks for order history"},{"type":"functional","title":"Password Recovery","description":"Verify that users can recover their password using the password recovery feature.","testId":"TC-014","testDescription":"A user recovers their password using the password recovery process.","prerequisites":"User must have an existing account.","stepsToPerform":"1. Navigate to the login page.\n2. Click on 'Forgot Password'.\n3. Enter registered email address.\n4. Follow the instructions in the password recovery email.","expectedResult":"User is able to reset their password and log in with the new password.","additionalFields":"PII handling, email verification"},{"type":"functional","title":"Multi-Currency Support","description":"Verify that the system supports transactions in multiple currencies.","testId":"TC-015","testDescription":"A user selects a different currency and completes a purchase.","prerequisites":"User must have items in the cart.","stepsToPerform":"1. Navigate to the currency selection option.\n2. Select a different currency.\n3. Proceed to checkout.\n4. Complete the payment process.","expectedResult":"Prices are displayed in the selected currency and payment is processed successfully.","additionalFields":"Currency conversion, Boundary Value Analysis for currency fields"}] \ No newline at end of file diff --git a/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx b/functional_tests/TCSBaNCS_functional-after-fix/TCSBaNCS_functional-after-fix.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d4d5842d19729d010427f1645ddf461110aee7db GIT binary patch literal 9469 zcmai41y~f^(q6h#x?4&>x}-ruknV;>dg<;)x*H{>yF*Ip7U}LlV7t;nTZ|!nv*d%*bV_H{<3SupD`oC)QCU}O(Fb)dPo1K zb>KkMr7$D`X5Xpqbd?>%BB74RdXu)+d2lQVJifCNK~e1o2&4dhDN}|mh~SUTnXg6> zq5QH5o^#UdO_o4d!QJ1&2FV3A4A|Sw3d@#$tt1zzcK;%k%`CP z|FvKrU+LKaE$x|q$^6XL$vdgpoyYHFAOQfRzhs!cOP0oV$aS$G3mtlhuivIxOTuU6 zHIwBo(69@%Q&|(%M&x|*KR67H7DA3NgNwA?-+D8!H^d*Y8=-hXgv?k>fCV!!96a1U z@L*<(Mvnv=ObN$olZ%|TX>$LHQo69OHA(|pvKQ7Z=IXs;-3!@dhDfab*8^rEbR!cx zAx`a)XGLX)4mW*1n*oJ&!$Px7)CKp?$2lymwLm*DV1sP3H=1|-w8pQ9Lw#K*4%36w zHnZsEN4IoTr<(6xe8`j>&3a##Zi=B)D7QMG+2%+zr-QIH5-uZB|E-ZIHPDaJSp&i7 zj&=Mg*Qf{JS4939HK@mkxLE!bvVRI7{1o_4kqw}#RQ(>=#>dDK{9Vi$WM^Rr0$F_j zCHxAsc^3=1*x@~5<)x;RrZioQJ)N(%)+JOxP2DR?DN`=1`%4u2eFa0h&a`U4YpO5vP`gO4E2|O5hgHc^=~lg4MCUGG z_569lx38rGs4{~FnF%s@jbUEu7?Va%t*Oa$+b@2$zj?=xTC9bP7N)xFAaXlQCwSBn zdVPg6xE9NzM-J{IKfzyTzY!nmDa3a@UfU)8?}0}B8KCc>u{Q+*9sb;=!zIty{2mKR zDlPzk_Yc`0kmujynUJg#l`V-Cba<(Te()hn`R*-m$~oVREN3%YiUolTH58U_mEgq` zD73EdQha7JU(2Ngil2Hby{K=hp50d0SfQIft!cH-nK(t<9QRFd;qBV(?!c&{G_grD zi$Y3z(_xiE+pt$!OVO&DYrG;KjgYF`LeAv%^lAS#?UxD<#l}J8nPLi*S{_DJ-4tBb zc@_WhPkUEhOEO*D_RJXFpWhf3+zUjmi->$`OsXM^36Lf3~Jyt!_0dW?7Y$>unDes)=^K_9uTiSJ`T z<^=7U;)#ELS=81hec`Z*Gw)(6voSuto)Q=Qa8ih}qN;ZWyTC}3>+DhK%{PL>vtzr6 zZDsR>hnCC+)Mn&uZ8!%I6l9yN&>`>p%NYjfDTthJjegFq@%=Lt6DyXA1!^A(GV=zz zPSKRYUpk9jz0PPK6mfVs;5r4`7qRy+vw5$!rmyMF9CAMC-Q?UO)0!>`voxzFsY)1v zG`2`PkFm1k6soJ8IqK%m+1)Ju(yi9>mWx7<^9hwbYP2O2AarKjRywylWMU|}2pI1TMBy{`K!^@62gDw82(f;IknFAp_}?zNS+$%Kw9J%< zvT?&nf<8l%;p;)>T9jE%Q?FV07<)iPhl3!T4&9MvU68(u$$S?(9Q+|hwZ`x$ff9Y- zWYk51zXXYO*?K{YC(Ba z#<<)Bh~9$~DnkM^G6B~AdP6!9Xg~<+f(3CRHGKbEze`{W#zz|$V5bA$e1o>z zSrAdL;LnwI{&y%Rkx6NXET91PZc>A`O$$SEx^QRb_Wl=1bo&k-gly~nhpOoSdW}DSQ z$WL6rz}v$~Cc6uD&ck4C3PjsHW2PvhmiQFKYE--tY^v!Ez^cuF?5v%KZ>ZA}YDgqr z={BFifOA%-T4f3o8$=kduDd!pBKw9MCYqigM{$`T@Ffm6>3(dtTGjQuZ*aJJTr-dK zrNzf4 z;ZFqsVEwFH_NE4QKw~8bJ2UGy_CHQTnp*aAoH$-1;dLHHa;ddDq>(w?dlwa@Q>VI{NLmI(Os2CBMa_z z31|~%q^Dn$>srH1OqOtniI)Hi?XwtYV2Z#)GI=pO#jq~*@fLwmzKbE0Q2Z6IlOR1T zRwTYTQtgeDCF0xQts<&ha5QpfgbJ=};?fdC-zmbB`q^7(6wDNJu^nfLh-;vxBr>3l z6HUh_pk(4G^d+QLVJfi}CJw*APaDy_XL*tosKO{ZlVB7l`vlGL}_ zZgk7qg4q%1f-A}}aFAkeKa;tFO8e3V!`!K@>Znl491*$!?E;3`TEzCTOJW8b{*_(E zI#5!$(23B=GgmY~%D^!44jFiQt!Y%1HRA5icq-$Xr&M;Q%D&#m&>vQrNh?>8&uY04~r<&?k)pDbhAka!Me%m~-9C!3?drwRpeY>=&oMt=j? z+naH%Rx=V(Gm%qUr#tx)nyLtGx4E>jJ4SSt=bo=RYjjBI7Sc<7?m`ZrV#St4!BF0( zDOQEWLrd*i(NV894AUgXhsUQ`N23hTj*(y@V>PPrgtbkB^abV7AqGk%#0}9BqvbCF zGhgl_3RAv__I%e%=m3_1GMMtB9Q5-FRtxcQ-YM$3!-`od9+K>s-Iq8-PG zyvy}Oi2?65!|Z-U67?4{h>w>AV5o{YGbV2Ny*aF)B7L>Bv;ZzOnS>Xq-ALR^%KGx7 zrSoLYpFlp>R9vgDa)t))p4Dmz08Lbq=o^?V#3y1x58~|NE&n#B6j+$bK+gmCuzreYZ2F`=m@E~>nA**MM9}H7euQ%JQi@JLK&Q_ z-39U9<%4bXnlEB>d5obLBujW2Iq3_J;f7lfQhXw?Q=>nZ2=W~1&;jwWn_D8ZRI zIs>NCl9X-{+~+u8GoUNt!wYa74he(KK@m;(!=*xCT#)Tx`A2*8k>XhVxz@4<*=N!{zH zedaKi7tS@xT;R`7D0F+PV*e3s{9_}6MXh5$W#-&4bQZ=qr7+ z?KMY-%S#Uug4JjLQYYcVu}r(V&?e#Xk{FtbC;9Vn0Y*SHiMb}&)xlT_-5X5@dV?@I zT9J-20O_hxa~rXY?5>0Vww#V4gj>u8C!L92+KaE~$sUu&z2t3e%`Cf3B-S$&?YTsS z*Tmz>@gtpD9D`Z2JOqMpLqje&hneRY?jg2rJysJN90`{1>9y_!b4^ESsEO1A3_nAm z$k^&h9EV~NuJ69Fd{GD7gbFuT^&rXu4sz~JbD10 zU?ru`Hc=Hc_OCtsA65kDF12}fL63|kEm!Hedv8kso{8^8m{!0BG%5IPWtrb4SL z5~Ur8(lQK^UZ+CQH3&%T?UWUSb33R90Hy5AOtg*Q@@0f%E*OTi=;!h>mrF`u_txQ& za4_S;y`>g&V2`lGc&Pd9HGP8ek;h3r;c?yEA|+(bT?QejttOu?F<`O}%RN5{!K=TG=dT7=*8S9{ zgMI&b3AB1og?|b63w#4{?BV*oyRRGGL2LU&H8z$nwqeM{;XDQm*?VV9;!@>IdXZ%O zb>#3aZ+CLfO|vC#Ihm7|T{!g{C zOKLYOf^ZSDKq6(ru${IkNSf^yT{X2Stqk%R!cxRYRYNtTr|q8}wAwgK#k|*!bT|={ z*%19+_N+bAybtuFg*1tXPiRtbmcK z$%0$Hg6i|~aSG0t+oeyL!HLxJ`*U?E7NwaN`>Y%!Ox>jUpQlYcjbnIVo#dCQ7D$}B zaG0Lv=os;3I2smoz&vqR8@aHedWmwt@40QligLDiZ^YnY4A;jO5Ow5JnV!Fh7IoFN zq6^3MIA*B~kJeO0>vpl!hzMCYV-f~+Iw~lT_YZV(+R|I?GN7e~a zCLHLKKmZ-j@RQqOI?Oh!Y^^K}-rK;*#%Ydwt*G8deMwF#lhq&?R%`OJEkSr;RNz^7 z4gK7bf1Qpb|G2nG>Eodal`j4>B6)yU9_c~_*bB;JV@fhPCh+V~cISLd1&R)XfGqjj z?(B5y23=}5u^@PrF8HoOM7bA@!btx`6@Zs`PL7ZFa5}}3u(3oXwygv7rlc*yf!7#E z#$qFNido?RUp|nQZMv=H>J)Z(`Fm2@QhZvV^eJ+|+G>`}mhVhbrsh)+CQPi{>f9&^95UV{N;C4bRj`4U zFV1w{EyoP6CGlumh1z5=U7C41&4N4`4>!d*{~_+uCAFDen=KKmgJeK1|E~IZF$Ypi z?*>W4U8JKocf)vHv@-Vz%NoXxx)MbxVH&AU44`@SC6E5>w4!%$9Rq_F%(QY9Ad?w*8vE15FyB$wh(wNw4{G?D% z=X|BDT+_q%0=LW`s(PS#Kb08yGDVT1^i@`&cPVy+MXIFTYjC~?^F$QVH%Sl=KG>Pd z9itM^sa)mwX_3}UmRpU~va>#eHEmluJm0e~q=Rl|y3)}Ls)q%;)kl|fjlb~^(j6+S z#i4CV+++o|&VhONfYM4iHHmcKSxt*#h5Q=!w?;>K&0qIQ6X+r(G_>-O%Sy{1<>?sp z*?HAzsES|c)$o`O&OBqwK?!$?AtxA~RAh<6DC`eMKBi=X^^r^>VIUyqi0H#>_Ss*t zp`y(+>mY=-D6isCV;Z4GjB$X8Q0cj$>XsL2dD(o-Qzi1augsutAacRvT?df#77 z1T0~?J$HJ0a$S~{S-ri*0l!>{`oP9qUPH}R7aR3kCIW*w@t~ZP;9xBK$C@Ra>mgKQ_2!I zIuSlJ`6RX+KPx-+Adx_Q6D(T-Xv6WFv4%8IXR(}CKk-Y1wSq$o zx`Asz+%YXazMRonX1-gI zH%ortVRePD`xeYAU#DX${!k|b<$mCkHp|r{**h!j2La9c$r7vk-b`u4VzeWp{^^gY ztadN+Gj#pZ76B$-#=_O+3046l_Ibcu<|9iVXtj5W*!ytYusY|;5zO}2AH|+0*#Ikx zuyfUn5FbWpGFDlUTuPi8l7_it>gPoidC!1SI&2tKP5qm-r^O{7rV|_|GY~U|&3LU| zw99M3Kh?9Cm?9{Ii55@BVAcqKCHYbP(0yZXNk)z-Y`jhi{qPD28H!zDWDoDP-a`j~3Oj&z*l;z;QS0=yQ3ct-_HPaa!+@9Wss9 zLdkCUq%yd}Up3W@B%#8J{lwSj3U)a zwO;X4&N$K1g*?TogKaqTs2fRn(-?a6fc>JuwJ+;m3G;Nga1-kD8^5v+lSr&bR~RU6 zTS&1mVy%OpMoGWb)|8x651{luf*^|1JZy;?`dT|&msfYTAUdZ!IRff4Z*I=7QCRWn zavhMXYl-NwIT!AO+XpB&yyAO`c1>aoOCN~|Z+9-u$1rJV2VGb1DEP$S8@RGqCjkN1 z%kAsxQpwwIh0-HWynE2SwkEdcf>P^h!xVY7A8aF|NPJ=DY!K2aETy|y1~Z++cOOFB zzucwt)g&4F(s9D$fMcF#FWOeFBPk4fou`uGU$DNAqD8c}$F}Ys<;?e6QV-O#;XDm9 z>v*@oAHkZOF9As`tkzUq) z2qVdDDy6>MZ2Q%Ces&ZXJ|A7D$4NBQV^=}>*C4{d)e`t)0+AQ514?80J~d@vTvCEU zVGQ*#H+!pGm`2YL=d|Y|RdNG`|0PED_K*)26Vq`v|DwOAJnG%)4O`<*t`PGeyLK@a zoSJ~dE9|Cq^Q6`CwD~ln3H2gr`WizzfeP3qW761e5@`2XHWLhV<+#<>+Vj}x{Ao6+ zGzJ|u7|I0BSk3KJVl(qD)0qY-#puyXBMLe-7cxfRu^_tCkiC|BU?NAY#{f)yaAsf( zW8x)W9?Alu%`6O?=6j|PS(lPgnew-ix_ArQ{kjnG+eND|?qEk@oB*6B2o)eo7>wgC zgB1-$Ga#YzwyMUo=X<{3fj4<=#q%gUw!QtaB1l%zfr^8D&<^yC-0yMe6^VGWxH@5l z?WW)A-aUsG7JNBo)cFkC!=m9ypL`aGVA+mbu1tgX79~$X)?ulf-`0g7O$TB>XyNLH`;dZ zcwxSDY|;}98x5o+8wd|09ukz*d^^JHfA96J{i5+w9PjpBcKhXth2W9N^9=XXE8de6 zTKK7BOGn&|v6Rd0h_-;&e)_DW&z>c{viZye1`VrlQ*A#0G1gr$jc-0yFa6q}|M_HO z3^J0p1KIpZ1Q;RD#rQt5ihfW3|Q+kZWS%$8UeH!xF`1A)UVnd|# z{)V`$veJ%beF4ogM&{Ey&DG2?HFX^arT5%4Ozsa$qx8wXQM&cPOdDp7bB@CV%V%*n zeW`e~6Y2N!gbvcf!SpazqaI=da2X6d%wM~Gx>OJ+Ik-ir1qpW{45nuYEU8M}bT3S~ zKZWlf*3`B z@{DY#-H*=P;}Cm*vwi-Q1piaGE!z>c-j$r*4TC%OEUJg*`}Bz?F4HT^8523@hiBtf zUBoPzoF0qHX|NQkI|})@$ppLPSrS}VYA9F4s!vCzI&9F&d(x&ppHqCx+*-p=ca!$Y ztbc&|mDQhR=b8*BN$)XTYmcP||Ae+6LL_?jtx^nq zLXirntkp-xQ0rnmx~=?_3_U>!#K%{?=E9eXSS(_18f6m%M z=_{HKJy7e%Q`jCO?i6PiXJfVU*&GUox}lwrF3E=NDW6!J{O%Ph;--Xd7JuVdo&I*# zf@0TIrj>7Gj;REa5DgxyCSg#%GgU_3a% jx$}bP-e-S_gKL&u1m#6@kr~qb#`n zB8I@_qBF6J-JH1A3dR8i9<$t!-;%vbGWF6FL<@ISY{@j}T{@q!OmMm@x#!6wjE89t z<$NNlqFD$OunR5+El=mWFB?HbYMG5L6;i_?ct^fa&a3Nmb@JJjc^*(&ry`RP1IJ_E zaI&>1iH`QQajH#u7F?GBA-3!sTSLhI{4lQP!+EUnnkhe04tMyPBfFIKhrY9i>H}AK zZ%)Rhmk(eU*6mHgyMcY&f6s=xrFhnNYTouS8)!e9z~9Nph*%j=Ckt}V;VqWJK{PC$ zCHAxN8rfA=a z0`}SMp68jE)T>Ta5k4fC7oxevCkCz#25pYkuUVG5{W$5a(<^BSStuei;KH8PB1up= zbVZ7j3Mp4YNJ>;oB@U%v^p7Kvqg}FS>o6dc%hkbJHVHwR#>jhG#z#R7^}5?g1bFVf z9LJ9eDIKTJaHpk~*xbu-6t?7W@?4FA!msBt%`vta`)U?mP~4m5<=V~NR-?^ik+-tN z>PXS@4L!d&n{JFEzh0WU0P!tHEnjDwkmr2cuA^HOG;xD*G1lw2n zryAWn)atCl)6kCSC*dnh^=i1~iD!FFyTc)1Y)>bQ#cw_V2g2fkr$X3`ofZZ@Um@I{N=J_MH&_xxO1~f80ku=<#2c{^{L!g8b+D4p{jK_|Fdh zNtpivK3*(&H2Y}hC+zP#_J8{Oomc+3zMH3eWRM^A{2R;s%k`i2>QA2e7a9Oi`3Lql z>-;-nKehbH`ux^{@)(at5B|Xc{nqfmLP-30r{+<^uc^VmyZ`6h;J0D1zr%h{5q{hK z&&R~y3KH>udj8j;@i+8;xy(iMw?6$F_S52@4gI%8-M_>B)!zR^|Jh%DqftoyX7pFL o`4j$ULHrF*dz`%dYpeXat06A~^W(RM{&?`{e%z7divR!s literal 0 HcmV?d00001