From 60f0dcaac44841f69a7b517f39c796f43d0277f1 Mon Sep 17 00:00:00 2001 From: hoshikawa2 Date: Wed, 18 Feb 2026 20:34:33 -0300 Subject: [PATCH] first commit --- README.md | 37 +- README_COMPLETE_TUTORIAL.md | 295 ++ files/app.py | 126 +- files/config.json | 26 + files/faiss_to_oracle_vector.py | 205 ++ files/graphrag_rerank.py | 1104 ------- files/index.html | 297 -- files/modules/admin/routes.py | 160 + files/modules/architecture/routes.py | 83 + files/modules/architecture/service.py | 56 + files/modules/architecture/store.py | 4 + files/modules/auth/routes.py | 64 + files/modules/chat/routes.py | 82 + files/modules/chat/service.py | 44 + files/modules/chat/store.py | 4 + files/modules/core/audit.py | 11 + files/modules/core/security.py | 92 + files/modules/excel/queue_manager.py | 113 + files/modules/excel/routes.py | 110 + files/modules/excel/service.py | 115 + files/modules/excel/storage.py | 67 + files/modules/excel/store.py | 4 + files/modules/health/routes.py | 8 + files/modules/home/routes.py | 16 + files/modules/rest/routes.py | 29 + files/modules/rest/security.py | 30 + files/modules/users/__init__.py | 4 + files/modules/users/db.py | 50 + files/modules/users/email_service.py | 72 + files/modules/users/model.py | 27 + files/modules/users/routes.py | 157 + files/modules/users/service.py | 204 ++ files/modules/users/token_service.py | 14 + files/oci_genai_llm_graphrag_rerank_rfp.py | 3095 ++++++++++++++++++++ files/pgql_oracle23ai.sql | 112 + files/process_excel_rfp.py | 286 ++ files/rfp_process.py | 428 +++ files/source_code.zip | Bin 0 -> 128792 bytes files/templates/admin_menu.html | 67 + files/templates/base.html | 321 ++ files/templates/excel/job_status.html | 82 + files/templates/index.html | 1023 +++++++ files/templates/invalidate.html | 203 ++ files/templates/users/form.html | 25 + files/templates/users/list.html | 33 + files/templates/users/login.html | 114 + files/templates/users/set_password.html | 20 + files/templates/users/signup.html | 51 + img_3.png | Bin 0 -> 505602 bytes img_4.png | Bin 0 -> 220821 bytes 50 files changed, 8099 insertions(+), 1471 deletions(-) create mode 100644 README_COMPLETE_TUTORIAL.md create mode 100644 files/config.json create mode 100644 files/faiss_to_oracle_vector.py delete mode 100644 files/graphrag_rerank.py delete mode 100644 files/index.html create mode 100644 files/modules/admin/routes.py create mode 100644 files/modules/architecture/routes.py create mode 100644 files/modules/architecture/service.py create mode 100644 files/modules/architecture/store.py create mode 100644 files/modules/auth/routes.py create mode 100644 files/modules/chat/routes.py create mode 100644 files/modules/chat/service.py create mode 100644 files/modules/chat/store.py create mode 100644 files/modules/core/audit.py create mode 100644 files/modules/core/security.py create mode 100644 files/modules/excel/queue_manager.py create mode 100644 files/modules/excel/routes.py create mode 100644 files/modules/excel/service.py create mode 100644 files/modules/excel/storage.py create mode 100644 files/modules/excel/store.py create mode 100644 files/modules/health/routes.py create mode 100644 files/modules/home/routes.py create mode 100644 files/modules/rest/routes.py create mode 100644 files/modules/rest/security.py create mode 100644 files/modules/users/__init__.py create mode 100644 files/modules/users/db.py create mode 100644 files/modules/users/email_service.py create mode 100644 files/modules/users/model.py create mode 100644 files/modules/users/routes.py create mode 100644 files/modules/users/service.py create mode 100644 files/modules/users/token_service.py create mode 100644 files/oci_genai_llm_graphrag_rerank_rfp.py create mode 100644 files/pgql_oracle23ai.sql create mode 100644 files/process_excel_rfp.py create mode 100644 files/rfp_process.py create mode 100644 files/source_code.zip create mode 100644 files/templates/admin_menu.html create mode 100644 files/templates/base.html create mode 100644 files/templates/excel/job_status.html create mode 100644 files/templates/index.html create mode 100644 files/templates/invalidate.html create mode 100644 files/templates/users/form.html create mode 100644 files/templates/users/list.html create mode 100644 files/templates/users/login.html create mode 100644 files/templates/users/set_password.html create mode 100644 files/templates/users/signup.html create mode 100644 img_3.png create mode 100644 img_4.png diff --git a/README.md b/README.md index 75db6ae..64b31e7 100644 --- a/README.md +++ b/README.md @@ -64,15 +64,23 @@ Each question is parsed into a structured requirement: Facts are extracted **only when explicitly stated** in documentation and stored as graph triples: ``` -REQUIREMENT -[HAS_METRIC]-> messages per hour -REQUIREMENT -[HAS_VALUE]-> < 1 hour -REQUIREMENT -[SUPPORTED_BY]-> Document section + SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY + SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY + SERVICE -[HAS_LIMITATION]-> LIMITATION + SERVICE -[HAS_SLA]-> SLA_VALUE ``` -There are three types of information: -- What metric: HAS_METRIC -- Value of metric: HAS_VALUE -- Font of information: SUPPORTED_BY +There are four types of structured relationships extracted explicitly from documentation: +* Capability support: SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY +* Capability exclusion: SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY +* Technical limitation: SERVICE -[HAS_LIMITATION]-> LIMITATION +* Service level definition: SERVICE -[HAS_SLA]-> SLA_VALUE + +Each relationship is: +* Extracted strictly from explicit documentary evidence +* Linked to a specific document chunk (CHUNK_HASH) +* Associated with structured JSON node properties +* Backed by an evidence table for full auditability This ensures: - No hallucination @@ -178,7 +186,7 @@ POST /chat This code implements a **GraphRAG-based pipeline focused on RFP (Request for Proposal) validation**, not generic Q&A. ->**Download** the code [graphrag_rerank.py](./files/graphrag_rerank.py) +>**Download** here the [Source Code](./files/source_code.zip) The main goal is to: - Extract **explicit, verifiable facts** from large PDF contracts and datasheets @@ -212,7 +220,7 @@ This represents a **strategic shift** from concept-based LLM answers to **compli - `REQUIREMENT -[HAS_VALUE]-> 1 hour` - Stored in Oracle Property Graph tables -![img_1.png](img_1.png) +![img_3.png](img_3.png) 5. **RFP Requirement Parsing** - Each user question is converted into a structured requirement: @@ -294,8 +302,7 @@ FIrst of all, you need to run the code to prepare the Vector and Graph database. ![img.png](img.png) -![img_1.png](img_1.png) - +![img_3.png](img_3.png) After the execution, the code will chat with you to test. You can give some questions like: @@ -368,13 +375,13 @@ root Call the http://localhost:8100 in your browser. -![img_2.png](img_2.png) +![img_4.png](img_4.png) There is also a REST Service implemented in the code, so you can automatize a RFP list calling item by item and obtain the responses you want: YES/NO - curl -X POST http://localhost:8100/chat \ - -H "Content-Type: application/json" \ - -d '{"question": "What is the RTO of Oracle Application?"}' + curl -X POST http://demo-orcl-api-ai.hoshikawa.com.br:8100/rest/chat \ + -H "Content-Type: application/json" -u app_user:app_password \ + -d '{ "question": "Does Oracle Cloud Infrastructure (OCI) Compute support online resizing of memory for running virtual machine instances?" }' --- diff --git a/README_COMPLETE_TUTORIAL.md b/README_COMPLETE_TUTORIAL.md new file mode 100644 index 0000000..06f147d --- /dev/null +++ b/README_COMPLETE_TUTORIAL.md @@ -0,0 +1,295 @@ +# 🧠 Oracle GraphRAG RFP AI -- Complete Tutorial + +Enterprise-grade deterministic RFP validation engine built with: + +- Oracle Autonomous Database 23ai +- Oracle Property Graph +- OCI Generative AI (LLMs + Embeddings) +- FAISS Vector Search +- Flask REST API +- Hybrid Graph + Vector + JSON reasoning + +------------------------------------------------------------------------ + +# πŸ“Œ Introduction + +This project implements a **deterministic RFP validation engine**. + +Unlike traditional RAG systems that generate conceptual answers, this +solution is designed to: + +- Validate contractual and compliance requirements +- Produce only: YES / NO / PARTIAL +- Provide exact documentary evidence +- Eliminate hallucination risk +- Ensure full traceability + +This tutorial walks through the full architecture and implementation. + +------------------------------------------------------------------------ + +# πŸ—οΈ Full Architecture + + PDF Documents + └─► Semantic Chunking + β”œβ”€β–Ί FAISS Vector Index + β”œβ”€β–Ί LLM Triple Extraction + β”‚ └─► Oracle 23ai Property Graph + β”‚ β”œβ”€β–Ί Structured JSON Node Properties + β”‚ β”œβ”€β–Ί Edge Confidence Weights + β”‚ └─► Evidence Table + └─► Hybrid Retrieval Layer + β”œβ”€β–Ί Vector Recall + β”œβ”€β–Ί Graph Filtering + β”œβ”€β–Ί Oracle Text + └─► Graph-aware Reranking + └─► Deterministic LLM Decision + └─► REST Response + +------------------------------------------------------------------------ + +# 🧩 Step 1 -- Environment Setup + +You need: + +- Oracle Autonomous Database 23ai +- OCI Generative AI enabled +- Python 3.10+ +- FAISS installed +- Oracle Python driver (`oracledb`) + +Install dependencies: + + pip install oracledb langchain faiss-cpu flask pypandoc + +------------------------------------------------------------------------ + +# πŸ“„ Step 2 -- PDF Ingestion + +- Load PDFs +- Perform semantic chunking +- Normalize headings and tables +- Store chunk metadata including: + - chunk_hash + - source_url + +Chunks feed both: + +- FAISS +- Graph extraction + +------------------------------------------------------------------------ + +# 🧠 Step 3 -- Triple Extraction (Graph Creation) + +The function: + + create_knowledge_graph(chunks) + +Uses LLM to extract ONLY explicit relationships: + + SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY + SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY + SERVICE -[HAS_LIMITATION]-> LIMITATION + SERVICE -[HAS_SLA]-> SLA_VALUE + +No inference allowed. + +------------------------------------------------------------------------ + +# πŸ›οΈ Step 4 -- Oracle Property Graph Setup + +Graph is created automatically: + + CREATE PROPERTY GRAPH GRAPH_NAME + VERTEX TABLES (...) + EDGE TABLES (...) + +Nodes are stored in: + + KG_NODES_GRAPH_NAME + +Edges in: + + KG_EDGES_GRAPH_NAME + +Evidence in: + + KG_EVIDENCE_GRAPH_NAME + +------------------------------------------------------------------------ + +# 🧩 Step 5 -- Structured Node Properties (Important) + +Each node includes structured JSON properties. + +Default structure: + +``` json +{ + "metadata": { + "created_by": "RFP_AI_V2", + "version": "2.0", + "created_at": "UTC_TIMESTAMP" + }, + "analysis": { + "confidence_score": null, + "source": "DOCUMENT_RAG", + "extraction_method": "LLM_TRIPLE_EXTRACTION" + }, + "governance": { + "validated": false, + "review_required": false + } +} +``` + +Implementation: + +``` python +def build_default_node_properties(): + return { + "metadata": { + "created_by": "RFP_AI_V2", + "version": "2.0", + "created_at": datetime.utcnow().isoformat() + }, + "analysis": { + "confidence_score": None, + "source": "DOCUMENT_RAG", + "extraction_method": "LLM_TRIPLE_EXTRACTION" + }, + "governance": { + "validated": False, + "review_required": False + } + } +``` + +This guarantees: + +- No empty `{}` stored +- Auditability +- Governance extension capability +- Enterprise extensibility + +------------------------------------------------------------------------ + +# πŸ”Ž Step 6 -- Hybrid Retrieval Strategy + +The system combines: + +1. FAISS semantic recall +2. Graph filtering via Oracle Text +3. Graph-aware reranking +4. Deterministic LLM evaluation + +This ensures: + +- High recall +- High precision +- No hallucination + +------------------------------------------------------------------------ + +# 🎯 Step 7 -- RFP Requirement Parsing + +Each question becomes structured: + +``` json +{ + "requirement_type": "NON_FUNCTIONAL", + "subject": "authentication", + "expected_value": "MFA", + "keywords": ["authentication", "mfa"] +} +``` + +This structure guides retrieval and evaluation. + +------------------------------------------------------------------------ + +# πŸ“Š Step 8 -- Deterministic Decision Engine + +LLM output format: + +``` json +{ + "answer": "YES | NO | PARTIAL", + "confidence": "HIGH | MEDIUM | LOW", + "justification": "Short factual explanation", + "evidence": [ + { + "quote": "Exact document text", + "source": "Document reference" + } + ] +} +``` + +Rules: + +- If not explicitly stated β†’ NO +- No inference +- Must provide documentary evidence + +------------------------------------------------------------------------ + +# 🌐 Step 9 -- Running the Application + +Run preprocessing once: + + python graphrag_rerank.py + +Run web UI: + + python app.py + +Open: + + http://localhost:8100 + +Or use REST: + + curl -X POST http://localhost:8100/chat -H "Content-Type: application/json" -d '{"question": "Does the platform support MFA?"}' + +------------------------------------------------------------------------ + +# πŸ§ͺ Example RFP Questions + +Security, SLA, Performance, Compliance, Vendor Lock-in, Backup, +Governance. + +The engine validates each with deterministic logic. + +------------------------------------------------------------------------ + +# πŸ” Design Principles + +- Evidence-first +- Deterministic outputs +- Zero hallucination tolerance +- Enterprise auditability +- Structured graph reasoning + +------------------------------------------------------------------------ + +# πŸš€ Future Extensions + +- Confidence scoring via graph density +- Weighted edge scoring +- SLA numeric comparison engine +- JSON-based filtering +- PGQL advanced reasoning +- Enterprise governance workflows + +------------------------------------------------------------------------ + +# πŸ“Œ Conclusion + +Oracle GraphRAG RFP AI is not a chatbot. + +It is a compliance validation engine built for enterprise RFP +automation, legal due diligence, and procurement decision support. + +Deterministic. Traceable. Expandable. diff --git a/files/app.py b/files/app.py index 077e50d..9831ede 100644 --- a/files/app.py +++ b/files/app.py @@ -1,67 +1,83 @@ -from flask import Flask, render_template, request, jsonify -import traceback -import json +from flask import Flask -# πŸ”₯ IMPORTA SEU PIPELINE -from graphrag_rerank import answer_question +from modules.users import users_bp +from modules.home.routes import home_bp +from modules.chat.routes import chat_bp +from modules.excel.routes import excel_bp +from modules.health.routes import health_bp +from modules.architecture.routes import architecture_bp +from modules.admin.routes import admin_bp +from modules.auth.routes import auth_bp +from modules.rest.routes import rest_bp -app = Flask(__name__) - -def parse_llm_json(raw: str) -> dict: - try: - raw = raw.replace("```json", "") - raw = raw.replace("```", "") - return json.loads(raw) - except Exception: - return { - "answer": "ERROR", - "justification": "LLM returned invalid JSON", - "raw_output": raw - } - -# ========================= -# Health check (Load Balancer) -# ========================= -@app.route("/health", methods=["GET"]) -def health(): - return jsonify({"status": "UP"}), 200 +from config_loader import load_config +from modules.excel.queue_manager import start_excel_worker +from modules.users.service import create_user +from modules.users.db import get_pool +import bcrypt +import oracledb +from werkzeug.security import generate_password_hash -# ========================= -# PΓ‘gina Web -# ========================= -@app.route("/", methods=["GET"]) -def index(): - return render_template("index.html") +def ensure_default_admin(): + """ + Cria admin default direto no Oracle (sem SQLAlchemy) + """ + + pool = get_pool() + + sql_check = "SELECT id FROM app_users WHERE user_role='admin'" + sql_insert = """ + INSERT INTO app_users (name,email,user_role,password_hash,active) + VALUES (:1,:2,'admin',:3,1) \ + """ + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql_check) + if not cur.fetchone(): + pwd = generate_password_hash("admin123") + cur.execute(sql_insert, ["Admin", "admin@local", pwd]) + conn.commit() + print("Default admin created: admin@local / admin123") -# ========================= -# Endpoint de Chat -# ========================= -@app.route("/chat", methods=["POST"]) -def chat(): - try: - data = request.get_json() - question = data.get("question", "").strip() +def create_app(): - if not question: - return jsonify({"error": "Empty question"}), 400 + app = Flask(__name__) + app.secret_key = "super-secret" - raw_answer = answer_question(question) - parsed_answer = parse_llm_json(raw_answer) + # NΓƒO EXISTE MAIS SQLite + # NΓƒO EXISTE MAIS SQLAlchemy - return jsonify({ - "question": question, - "result": parsed_answer - }) + start_excel_worker() - except Exception as e: - traceback.print_exc() - return jsonify({"error": str(e)}), 500 + # cria admin no Oracle + ensure_default_admin() + + app.register_blueprint(users_bp, url_prefix="/admin/users") + app.register_blueprint(chat_bp) + app.register_blueprint(excel_bp) + app.register_blueprint(health_bp) + app.register_blueprint(architecture_bp) + app.register_blueprint(home_bp) + app.register_blueprint(admin_bp, url_prefix="/admin") + app.register_blueprint(auth_bp) + app.register_blueprint(rest_bp) + + from modules.core.security import get_current_user + + @app.context_processor + def inject_user(): + return dict(current_user=get_current_user()) + + return app + + +app = create_app() + +config = load_config() +API_BASE_URL = f"{config.app_base}:{config.service_port}" if __name__ == "__main__": - app.run( - host="0.0.0.0", - port=8100, - debug=False - ) \ No newline at end of file + app.run(host="0.0.0.0", port=config.service_port) \ No newline at end of file diff --git a/files/config.json b/files/config.json new file mode 100644 index 0000000..0ead701 --- /dev/null +++ b/files/config.json @@ -0,0 +1,26 @@ +{ + "wallet_path": "Wallet_oradb23aiDev", + "db_alias": "oradb23aiDev_high", + "username": "admin", + "password": "Moniquinha1972", + + "service_endpoint": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com", + "compartment_id": "ocid1.compartment.oc1..aaaaaaaaexpiw4a7dio64mkfv2t273s2hgdl6mgfvvyv7tycalnjlvpvfl3q", + "auth_profile": "LATINOAMERICA", + + "llm_model": "meta.llama-3.1-405b-instruct", + "embedding_model": "cohere.embed-multilingual-v3.0", + + "index_path": "./faiss_index", + "docs_path": "./docs", + + "graph_name": "OCI_5", + "service_port": 8102, + "app_base": "http://127.0.0.1", + "dev_mode": 0, + "service_server": "10.0.1.136", + + "bucket_profile": "LATINOAMERICA-SaoPaulo", + "oci_bucket": "genai_hoshikawa_bucket", + "oci_namespace": "idi1o0a010nx" +} diff --git a/files/faiss_to_oracle_vector.py b/files/faiss_to_oracle_vector.py new file mode 100644 index 0000000..86053cf --- /dev/null +++ b/files/faiss_to_oracle_vector.py @@ -0,0 +1,205 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +FAISS β†’ Oracle 23ai Vector migration (FULL GOVERNANCE VERSION) + +Migra: +- content +- source +- chunk_hash +- origin +- created_at +- status +- embedding + +""" + +import json +import argparse +import hashlib +import datetime +import oracledb + +from langchain.vectorstores import FAISS +from langchain.embeddings import HuggingFaceEmbeddings +from tqdm import tqdm + + +# ===================================================== +# CONFIG +# ===================================================== + +VECTOR_DIM = 1024 +TABLE_NAME = "RAG_DOCS" +BATCH_SIZE = 500 + + +# ===================================================== +# CLI +# ===================================================== + +parser = argparse.ArgumentParser() +parser.add_argument("--faiss", required=True) +parser.add_argument("--dsn", required=True) +parser.add_argument("--user", required=True) +parser.add_argument("--password", required=True) +args = parser.parse_args() + + +# ===================================================== +# HELPERS +# ===================================================== + +def chunk_hash(text: str) -> str: + return hashlib.sha256(text.encode("utf-8")).hexdigest() + + +# ===================================================== +# 1) LOAD FAISS +# ===================================================== + +print("πŸ”„ Loading FAISS index...") + +dummy_embeddings = HuggingFaceEmbeddings( + model_name="sentence-transformers/all-MiniLM-L6-v2" +) + +vs = FAISS.load_local( + args.faiss, + dummy_embeddings, + allow_dangerous_deserialization=True +) + +docs = vs.docstore._dict +index = vs.index +vectors = index.reconstruct_n(0, index.ntotal) + +print(f"βœ… Loaded {len(docs)} vectors") + +# ========================= +# Oracle Autonomous Configuration +# ========================= +WALLET_PATH = "Wallet_oradb23aiDev" +DB_ALIAS = "oradb23aiDev_high" +USERNAME = "admin" +PASSWORD = "Moniquinha1972" +os.environ["TNS_ADMIN"] = WALLET_PATH + +# ===================================================== +# 2) CONNECT ORACLE +# ===================================================== + +print("πŸ”Œ Connecting to Oracle...") + +conn = oracledb.connect( + user=USERNAME, + password=PASSWORD, + dsn=DB_ALIAS, + config_dir=WALLET_PATH, + wallet_location=WALLET_PATH, + wallet_password=PASSWORD +) + +cur = conn.cursor() + + +# ===================================================== +# 3) CREATE TABLE (FULL SCHEMA) +# ===================================================== + +print("πŸ“¦ Creating table if not exists...") + +cur.execute(f""" +BEGIN + EXECUTE IMMEDIATE ' + CREATE TABLE {TABLE_NAME} ( + ID NUMBER GENERATED BY DEFAULT AS IDENTITY, + CONTENT CLOB, + SOURCE VARCHAR2(1000), + CHUNK_HASH VARCHAR2(64), + STATUS VARCHAR2(20), + ORIGIN VARCHAR2(50), + CREATED_AT TIMESTAMP, + EMBED VECTOR({VECTOR_DIM}) + )'; +EXCEPTION + WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; +END; +""") + +conn.commit() + + +# ===================================================== +# 4) INSERT BATCH +# ===================================================== + +print("⬆️ Migrating vectors...") + +sql = f""" +INSERT INTO {TABLE_NAME} +(CONTENT, SOURCE, CHUNK_HASH, STATUS, ORIGIN, CREATED_AT, EMBED) +VALUES (:1, :2, :3, :4, :5, :6, :7) +""" + +batch = [] + +for i, (doc_id, doc) in enumerate(tqdm(docs.items())): + + content = doc.page_content + source = doc.metadata.get("source", "") + origin = doc.metadata.get("origin", "FAISS") + created = doc.metadata.get( + "created_at", + datetime.datetime.utcnow() + ) + + h = doc.metadata.get("chunk_hash") or chunk_hash(content) + + batch.append(( + content, + source, + h, + "ACTIVE", + origin, + created, + json.dumps(vectors[i].tolist()) + )) + + if len(batch) >= BATCH_SIZE: + cur.executemany(sql, batch) + batch.clear() + +if batch: + cur.executemany(sql, batch) + +conn.commit() + +print("βœ… Insert finished") + + +# ===================================================== +# 5) CREATE VECTOR INDEX +# ===================================================== + +print("⚑ Creating HNSW index...") + +cur.execute(f""" +BEGIN + EXECUTE IMMEDIATE ' + CREATE VECTOR INDEX {TABLE_NAME}_IDX + ON {TABLE_NAME}(EMBED) + ORGANIZATION HNSW + DISTANCE COSINE + '; +EXCEPTION + WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; +END; +""") + +conn.commit() + +print("πŸŽ‰ Migration complete!") \ No newline at end of file diff --git a/files/graphrag_rerank.py b/files/graphrag_rerank.py deleted file mode 100644 index e7be703..0000000 --- a/files/graphrag_rerank.py +++ /dev/null @@ -1,1104 +0,0 @@ -from langchain_community.chat_models.oci_generative_ai import ChatOCIGenAI -from langchain_core.prompts import PromptTemplate -from langchain.schema.output_parser import StrOutputParser -from langchain_community.embeddings import OCIGenAIEmbeddings -from langchain_community.vectorstores import FAISS -from langchain.schema.runnable import RunnableMap -from langchain_community.document_loaders import UnstructuredPDFLoader, PyMuPDFLoader -from langchain_core.documents import Document -from langchain_core.runnables import RunnableLambda -from pathlib import Path -from tqdm import tqdm -import os -import pickle -import re -import atexit -import oracledb -import json -import base64 - -# ========================= -# Oracle Autonomous Configuration -# ========================= -WALLET_PATH = "Wallet_oradb23ai" -DB_ALIAS = "oradb23ai_high" -USERNAME = "admin" -PASSWORD = "**********" -os.environ["TNS_ADMIN"] = WALLET_PATH - -# ========================= -# Global Configurations -# ========================= -INDEX_PATH = "./faiss_index" -PROCESSED_DOCS_FILE = os.path.join(INDEX_PATH, "processed_docs.pkl") -chapter_separator_regex = r"^(#{1,6} .+|\*\*.+\*\*)$" -GRAPH_NAME = "OCI_GRAPH" - -# ========================= -# LLM Definitions -# ========================= -llm = ChatOCIGenAI( - model_id="meta.llama-3.1-405b-instruct", - service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com", - compartment_id="ocid1.compartment.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - auth_profile="DEFAULT", - model_kwargs={"temperature": 0, "top_p": 1, "max_tokens": 4000}, -) - -llm_for_rag = ChatOCIGenAI( - model_id="meta.llama-3.1-405b-instruct", - service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com", - compartment_id="ocid1.compartment.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - auth_profile="DEFAULT", -) - -embeddings = OCIGenAIEmbeddings( - model_id="cohere.embed-multilingual-v3.0", - service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com", - compartment_id="ocid1.compartment.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - auth_profile="DEFAULT", -) - -oracle_conn = oracledb.connect( - user=USERNAME, - password=PASSWORD, - dsn=DB_ALIAS, - config_dir=WALLET_PATH, - wallet_location=WALLET_PATH, - wallet_password=PASSWORD -) -atexit.register(lambda: oracle_conn.close()) - -def filename_to_url(filename: str, suffix: str = ".pdf") -> str: - if filename.endswith(suffix): - filename = filename[: -len(suffix)] - decoded = base64.urlsafe_b64decode(filename.encode("ascii")) - return decoded.decode("utf-8") - -# ========================= -# Oracle Graph Client -# ========================= -def ensure_oracle_text_index( - conn, - table_name: str, - column_name: str, - index_name: str -): - cursor = conn.cursor() - - cursor.execute(""" - SELECT status - FROM user_indexes - WHERE index_name = :idx - """, {"idx": index_name.upper()}) - - row = cursor.fetchone() - index_exists = row is not None - index_status = row[0] if row else None - - if not index_exists: - print(f"πŸ› οΈ Creating Oracle Text index {index_name}") - - cursor.execute(f""" - CREATE INDEX {index_name} - ON {table_name} ({column_name}) - INDEXTYPE IS CTXSYS.CONTEXT - """) - - conn.commit() - cursor.close() - print(f"βœ… Index {index_name} created (sync deferred)") - return - - if index_status != "VALID": - print(f"⚠️ Index {index_name} is {index_status}. Recreating...") - - try: - cursor.execute(f"DROP INDEX {index_name}") - conn.commit() - except Exception as e: - print(f"❌ Failed to drop index {index_name}: {e}") - cursor.close() - return - - cursor.execute(f""" - CREATE INDEX {index_name} - ON {table_name} ({column_name}) - INDEXTYPE IS CTXSYS.CONTEXT - """) - conn.commit() - cursor.close() - print(f"♻️ Index {index_name} recreated (sync deferred)") - return - - print(f"πŸ”„ Syncing Oracle Text index: {index_name}") - try: - cursor.execute(f""" - BEGIN - CTX_DDL.SYNC_INDEX('{index_name}', '2M'); - END; - """) - conn.commit() - print(f"βœ… Index {index_name} synced") - except Exception as e: - print(f"⚠️ Sync failed for {index_name}: {e}") - print("⚠️ Continuing without breaking pipeline") - - cursor.close() - -def create_tables_if_not_exist(conn): - cursor = conn.cursor() - - try: - cursor.execute(f""" - BEGIN - EXECUTE IMMEDIATE ' - CREATE TABLE ENTITIES_{GRAPH_NAME} ( - ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, - NAME VARCHAR2(500) - ) - '; - EXCEPTION - WHEN OTHERS THEN - IF SQLCODE != -955 THEN - RAISE; - END IF; - END; - """) - cursor.execute(f""" - BEGIN - EXECUTE IMMEDIATE ' - CREATE TABLE RELATIONS_{GRAPH_NAME} ( - ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, - SOURCE_ID NUMBER, - TARGET_ID NUMBER, - RELATION_TYPE VARCHAR2(100), - SOURCE_TEXT VARCHAR2(4000) - ) - '; - EXCEPTION - WHEN OTHERS THEN - IF SQLCODE != -955 THEN - RAISE; - END IF; - END; - """) - conn.commit() - print("βœ… ENTITIES and RELATIONS tables created or already exist.") - except Exception as e: - print(f"[ERROR] Failed to create tables: {e}") - finally: - cursor.close() - - -create_tables_if_not_exist(oracle_conn) - -# IF GRAPH INDEX PROBLEM, Reindex -# ensure_oracle_text_index( -# oracle_conn, -# "ENTITIES_" + GRAPH_NAME, -# "NAME", -# "IDX_ENT_" + GRAPH_NAME + "_NAME" -# ) -# -# ensure_oracle_text_index( -# oracle_conn, -# "RELATIONS_" + GRAPH_NAME, -# "RELATION_TYPE", -# "IDX_REL_" + GRAPH_NAME + "_RELTYPE" -# ) - -def create_knowledge_graph(chunks): - cursor = oracle_conn.cursor() - - # Creates graph if it does not exist - try: - cursor.execute(f""" - BEGIN - EXECUTE IMMEDIATE ' - CREATE PROPERTY GRAPH {GRAPH_NAME} - VERTEX TABLES (ENTITIES_{GRAPH_NAME} - KEY (ID) - LABEL ENTITIES - PROPERTIES (NAME)) - EDGE TABLES (RELATIONS_{GRAPH_NAME} - KEY (ID) - SOURCE KEY (SOURCE_ID) REFERENCES ENTITIES_{GRAPH_NAME}(ID) - DESTINATION KEY (TARGET_ID) REFERENCES ENTITIES_{GRAPH_NAME}(ID) - LABEL RELATIONS - PROPERTIES (RELATION_TYPE, SOURCE_TEXT)) - '; - EXCEPTION - WHEN OTHERS THEN - IF SQLCODE != -55358 THEN -- ORA-55358: Graph already exists - RAISE; - END IF; - END; - """) - print(f"🧠 Graph '{GRAPH_NAME}' created or already exists.") - except Exception as e: - print(f"[GRAPH ERROR] Failed to create graph: {e}") - - # Inserting vertices and edges into the tables - for doc in chunks: - text = doc.page_content - source = doc.metadata.get("source", "unknown") - - if not text.strip(): - continue - - prompt = f""" - You are extracting structured RFP evidence from technical documentation. - - Given the text below, identify ONLY explicit, verifiable facts. - - Text: - {text} - - Extract triples in ONE of the following formats ONLY: - - 1. REQUIREMENT -[HAS_SUBJECT]-> - 2. REQUIREMENT -[HAS_METRIC]-> - 3. REQUIREMENT -[HAS_VALUE]-> - 4. REQUIREMENT -[SUPPORTED_BY]-> - - Rules: - - Use REQUIREMENT as the source entity - - Use UPPERCASE relation names - - Do NOT infer or assume - - If nothing explicit is found, return NONE - """ - try: - response = llm_for_rag.invoke(prompt) - result = response.content.strip() - except Exception as e: - print(f"[ERROR] Gen AI call error: {e}") - continue - - if result.upper() == "NONE": - continue - - triples = result.splitlines() - for triple in triples: - parts = triple.split("-[") - if len(parts) != 2: - continue - - right_part = parts[1].split("]->") - if len(right_part) != 2: - continue - - raw_relation, entity2 = right_part - relation = re.sub(r'\W+', '_', raw_relation.strip().upper()) - entity1 = parts[0].strip() - entity2 = entity2.strip() - - if entity1.upper() != "REQUIREMENT": - entity1 = "REQUIREMENT" - - try: - # Insertion of entities (with existence check) - cursor.execute(f"MERGE INTO ENTITIES_{GRAPH_NAME} e USING (SELECT :name AS NAME FROM dual) src ON (e.name = src.name) WHEN NOT MATCHED THEN INSERT (NAME) VALUES (:name)", [entity1, entity1]) - cursor.execute(f"MERGE INTO ENTITIES_{GRAPH_NAME} e USING (SELECT :name AS NAME FROM dual) src ON (e.name = src.name) WHEN NOT MATCHED THEN INSERT (NAME) VALUES (:name)", [entity2, entity2]) - # Retrieve the IDs - cursor.execute(f"SELECT ID FROM ENTITIES_{GRAPH_NAME} WHERE NAME = :name", [entity1]) - source_id = cursor.fetchone()[0] - cursor.execute(f"SELECT ID FROM ENTITIES_{GRAPH_NAME} WHERE NAME = :name", [entity2]) - target_id = cursor.fetchone()[0] - # Create relations - cursor.execute(f""" - INSERT INTO RELATIONS_{GRAPH_NAME} (SOURCE_ID, TARGET_ID, RELATION_TYPE, SOURCE_TEXT) - VALUES (:src, :tgt, :rel, :txt) - """, [source_id, target_id, relation, source]) - print(f"βœ… {entity1} -[{relation}]-> {entity2}") - except Exception as e: - print(f"[INSERT ERROR] {e}") - - oracle_conn.commit() - cursor.close() - print("πŸ’Ύ Knowledge graph updated.") - -def parse_rfp_requirement(question: str) -> dict: - prompt = f""" - You are an RFP requirement NORMALIZER for Oracle Cloud Infrastructure (OCI). - - Your job is NOT to summarize the question. - Your job is to STRUCTURE the requirement so it can be searched in: - - Technical documentation - - Knowledge Graph - - Vector databases - - ──────────────────────────────── - STEP 1 β€” Understand the requirement - ──────────────────────────────── - From the question, identify: - 1. The PRIMARY OCI SERVICE CATEGORY involved - 2. The MAIN TECHNICAL SUBJECT (short and precise) - 3. The EXPECTED TECHNICAL CAPABILITY or CONDITION (if any) - - IMPORTANT: - - Ignore marketing language - - Ignore phrases like "possui", "permite", "oferece" - - Focus ONLY on concrete technical meaning - - ──────────────────────────────── - STEP 2 β€” Mandatory service classification - ──────────────────────────────── - You MUST choose ONE primary technology from the list below - and INCLUDE IT EXPLICITLY in the keywords list. - - Choose the MOST SPECIFIC applicable item. - - ServiΓ§os da Oracle Cloud Infrastructure (OCI): - - Compute (IaaS) - β€’ Compute Instances (VM) - β€’ Bare Metal Instances - β€’ Dedicated VM Hosts - β€’ GPU Instances - β€’ Confidential Computing - β€’ Capacity Reservations - β€’ Autoscaling (Instance Pools) - β€’ Live Migration - β€’ Oracle Cloud VMware Solution (OCVS) - β€’ HPC (High Performance Computing) - β€’ Arm-based Compute (Ampere) - - Storage - - Object Storage - β€’ Object Storage - β€’ Object Storage – Archive - β€’ Pre-Authenticated Requests - β€’ Replication - - Block & File - β€’ Block Volume - β€’ Boot Volume - β€’ Volume Groups - β€’ File Storage - β€’ File Storage Snapshots - β€’ Data Transfer Service - - Networking - β€’ Virtual Cloud Network (VCN) - β€’ Subnets - β€’ Internet Gateway - β€’ NAT Gateway - β€’ Service Gateway - β€’ Dynamic Routing Gateway (DRG) - β€’ FastConnect - β€’ Load Balancer (L7 / L4) - β€’ Network Load Balancer - β€’ DNS - β€’ Traffic Management Steering Policies - β€’ IP Address Management (IPAM) - β€’ Network Firewall - β€’ Web Application Firewall (WAF) - β€’ Bastion - β€’ Capture Traffic (VTAP) - β€’ Private Endpoints - - Security, Identity & Compliance - β€’ Identity and Access Management (IAM) - β€’ Compartments - β€’ Policies - β€’ OCI Vault - β€’ OCI Key Management (KMS) - β€’ OCI Certificates - β€’ OCI Secrets - β€’ OCI Bastion - β€’ Cloud Guard - β€’ Security Zones - β€’ Vulnerability Scanning Service - β€’ Data Safe - β€’ Logging - β€’ Audit - β€’ OS Management / OS Management Hub - β€’ Shielded Instances - β€’ Zero Trust Packet Routing - - Databases - - Autonomous - β€’ Autonomous Database (ATP) - β€’ Autonomous Data Warehouse (ADW) - β€’ Autonomous JSON Database - - Databases Gerenciados - β€’ Oracle Database Service - β€’ Oracle Exadata Database Service - β€’ Exadata Cloud@Customer - β€’ Base Database Service - β€’ MySQL Database Service - β€’ MySQL HeatWave - β€’ NoSQL Database Cloud Service - β€’ TimesTen - β€’ PostgreSQL (OCI managed) - β€’ MongoDB API (OCI NoSQL compatibility) - - Analytics & BI - β€’ Oracle Analytics Cloud (OAC) - β€’ OCI Data Catalog - β€’ OCI Data Integration - β€’ OCI Streaming Analytics - β€’ OCI GoldenGate - β€’ OCI Big Data Service (Hadoop/Spark) - β€’ OCI Data Science - β€’ OCI AI Anomaly Detection - β€’ OCI AI Forecasting - - AI & Machine Learning - - Generative AI - β€’ OCI Generative AI - β€’ OCI Generative AI Agents - β€’ OCI Generative AI RAG - β€’ OCI Generative AI Embeddings - β€’ OCI AI Gateway (OpenAI-compatible) - - AI Services - β€’ OCI Vision (OCR, image analysis) - β€’ OCI Speech (STT / TTS) - β€’ OCI Language (NLP) - β€’ OCI Document Understanding - β€’ OCI Anomaly Detection - β€’ OCI Forecasting - β€’ OCI Data Labeling - - Containers & Cloud Native - β€’ OCI Container Engine for Kubernetes (OKE) - β€’ Container Registry (OCIR) - β€’ Service Mesh - β€’ API Gateway - β€’ OCI Functions (FaaS) - β€’ OCI Streaming (Kafka-compatible) - β€’ OCI Queue - β€’ OCI Events - β€’ OCI Resource Manager (Terraform) - - Integration & Messaging - β€’ OCI Integration Cloud (OIC) - β€’ OCI Service Connector Hub - β€’ OCI Streaming - β€’ OCI GoldenGate - β€’ OCI API Gateway - β€’ OCI Events Service - β€’ OCI Queue - β€’ Real Applications Clusters (RAC) - - Developer Services - β€’ OCI DevOps (CI/CD) - β€’ OCI Code Repository - β€’ OCI Build Pipelines - β€’ OCI Artifact Registry - β€’ OCI Logging Analytics - β€’ OCI Monitoring - β€’ OCI Notifications - β€’ OCI Bastion - β€’ OCI CLI - β€’ OCI SDKs - - Observability & Management - β€’ OCI Monitoring - β€’ OCI Alarms - β€’ OCI Logging - β€’ OCI Logging Analytics - β€’ OCI Application Performance Monitoring (APM) - β€’ OCI Operations Insights - β€’ OCI Management Agent - β€’ OCI Resource Discovery - - Enterprise & Hybrid - β€’ Oracle Cloud@Customer - β€’ Exadata Cloud@Customer - β€’ Compute Cloud@Customer - β€’ Dedicated Region Cloud@Customer - β€’ OCI Roving Edge Infrastructure - β€’ OCI Alloy - - Governance & FinOps - β€’ OCI Budgets - β€’ Cost Analysis - β€’ Usage Reports - β€’ Quotas - β€’ Tagging - β€’ Compartments - β€’ Resource Search - - Regions & Edge - β€’ OCI Regions (Commercial, Government, EU Sovereign) - β€’ OCI Edge Services - β€’ OCI Roving Edge - β€’ OCI Dedicated Region - - ──────────────────────────────── - STEP 3 β€” Keywords rules (CRITICAL) - ──────────────────────────────── - The "keywords" field MUST: - - ALWAYS include at least ONE OCI service keyword (e.g. "compute", "object storage", "oke") - - Include technical capability terms (e.g. resize, autoscaling, encryption) - - NEVER include generic verbs (permitir, possuir, oferecer) - - NEVER include full sentences - - ──────────────────────────────── - STEP 4 β€” Output rules - ──────────────────────────────── - Return ONLY valid JSON between tags. - Do NOT explain your reasoning. - - Question: - {question} - - - {{ - "requirement_type": "COMPLIANCE | FUNCTIONAL | NON_FUNCTIONAL", - "subject": "", - "expected_value": "", - "decision_type": "YES_NO | YES_NO_PARTIAL", - "keywords": ["mandatory_oci_service", "technical_capability", "additional_term"] - }} - - """ - - resp = llm_for_rag.invoke(prompt) - raw = resp.content.strip() - - try: - # remove ```json ``` ou ``` ``` - raw = re.sub(r"```json|```", "", raw).strip() - - match = re.search(r"\s*(\{.*?\})\s*", raw, re.DOTALL) - if not match: - raise ValueError("No JSON block found") - json_text = match.group(1) - - return json.loads(json_text) - - except Exception as e: - print("⚠️ RFP PARSER FAILED") - print("RAW RESPONSE:") - print(raw) - - return { - "requirement_type": "UNKNOWN", - "subject": question, - "expected_value": "", - "decision_type": "YES_NO_PARTIAL", - "keywords": re.findall(r"\b\w+\b", question.lower())[:5] - } - -def extract_graph_keywords_from_requirement(req: dict) -> str: - keywords = set(req.get("keywords", [])) - if req.get("subject"): - keywords.add(req["subject"].lower()) - if req.get("expected_value"): - keywords.add(str(req["expected_value"]).lower()) - return ", ".join(sorted(keywords)) - -def build_oracle_text_query(text: str) -> str | None: - ORACLE_TEXT_STOPWORDS = { - "and", "or", "the", "with", "between", "of", "to", "for", - "in", "on", "by", "is", "are", "was", "were", "be", "within", "between" - } - - tokens = [] - text = text.lower() - text = re.sub(r"[^a-z0-9\s]", " ", text) - - for token in text.split(): - if len(token) >= 4 and token not in ORACLE_TEXT_STOPWORDS: - tokens.append(f"{token}") - - tokens = sorted(set(tokens)) - return " OR ".join(tokens) if tokens else None - -def query_knowledge_graph(raw_keywords: str, top_k: int = 20, min_score: int = 50): - cursor = oracle_conn.cursor() - - safe_query = build_oracle_text_query(raw_keywords) - if not safe_query: - cursor.close() - return [] - - sql = f""" - SELECT - e1.NAME AS source_name, - r.RELATION_TYPE, - e2.NAME AS target_name, - GREATEST(SCORE(1), SCORE(2)) AS relevance_score - FROM RELATIONS_{GRAPH_NAME} r - JOIN ENTITIES_{GRAPH_NAME} e1 ON e1.ID = r.SOURCE_ID - JOIN ENTITIES_{GRAPH_NAME} e2 ON e2.ID = r.TARGET_ID - WHERE e1.NAME = 'REQUIREMENT' - AND ( - CONTAINS(e2.NAME, '{safe_query}', 1) > 0 - OR CONTAINS(r.RELATION_TYPE, '{safe_query}', 2) > 0 - ) - AND GREATEST(SCORE(1), SCORE(2)) >= {min_score} - ORDER BY relevance_score DESC - FETCH FIRST {top_k} ROWS ONLY - """ - - print("πŸ”Ž GRAPH QUERY (ranked):") - print(sql) - - cursor.execute(sql) - rows = cursor.fetchall() - cursor.close() - - print(f"πŸ“Š GRAPH FACTS (top {top_k}):") - for s, r, t, sc in rows: - print(f" [{sc:>3}] REQUIREMENT -[{r}]-> {t}") - - # mantΓ©m compatibilidade com o pipeline atual - return [(s, r, t) for s, r, t, _ in rows] - -# RE-RANK - -def extract_terms_from_graph_text(graph_context): - if not graph_context: - return set() - - if isinstance(graph_context, list): - terms = set() - for row in graph_context: - for col in row: - if isinstance(col, str): - terms.add(col.lower()) - return terms - - if isinstance(graph_context, str): - terms = set() - pattern = re.findall(r"([\w\s]+)-$begin:math:display$\[\\w\_\]\+$end:math:display$->([\w\s]+)", graph_context) - for e1, e2 in pattern: - terms.add(e1.strip().lower()) - terms.add(e2.strip().lower()) - return terms - - return set() - -def rerank_documents_with_graph_terms(docs, query, graph_terms): - query_terms = set(re.findall(r'\b\w+\b', query.lower())) - all_terms = query_terms.union(graph_terms) - - scored_docs = [] - for doc in docs: - doc_text = doc.page_content.lower() - score = sum(1 for term in all_terms if term in doc_text) - scored_docs.append((score, doc)) - - top_docs = sorted(scored_docs, key=lambda x: x[0], reverse=True)[:5] - return [doc.page_content for _, doc in top_docs] - -# SEMANTIC CHUNKING - -def split_llm_output_into_chapters(llm_text): - chapters = [] - current_chapter = [] - lines = llm_text.splitlines() - - for line in lines: - if re.match(chapter_separator_regex, line): - if current_chapter: - chapters.append("\n".join(current_chapter).strip()) - current_chapter = [line] - else: - current_chapter.append(line) - - if current_chapter: - chapters.append("\n".join(current_chapter).strip()) - - return chapters - - -def semantic_chunking(text): - prompt = f""" - You received the following text extracted via OCR: - - {text} - - Your task: - 1. Identify headings (short uppercase or bold lines, no period at the end) putting the Product Name (Application Name) and the Subject - 2. Separate paragraphs by heading - 3. Indicate columns with [COLUMN 1], [COLUMN 2] if present - 4. Indicate tables with [TABLE] in markdown format - 5. ALWAYS PUT THE URL if there is a Reference - 6. Indicate explicity metrics (if it exists) - Examples: - - Oracle Financial Services RTO is 1 hour - - The Oracle Banking Supply Chain Finance Cloud Service A maximum number of 10K Hosted Transactions - - The Oracle Banking Payments Cloud Service, Additional Non-Production Environment: You may purchase up to a maximum of ten (10) additional Non-Production Environments - """ - - get_out = False - while not get_out: - try: - response = llm_for_rag.invoke(prompt) - get_out = True - except: - print("[ERROR] Gen AI call error") - - return response - -def read_pdfs(pdf_path): - if "-ocr" in pdf_path: - doc_pages = PyMuPDFLoader(str(pdf_path)).load() - else: - doc_pages = UnstructuredPDFLoader(str(pdf_path)).load() - full_text = "\n".join([page.page_content for page in doc_pages]) - return full_text - - -def smart_split_text(text, max_chunk_size=10_000): - chunks = [] - start = 0 - text_length = len(text) - - while start < text_length: - end = min(start + max_chunk_size, text_length) - split_point = max( - text.rfind('.', start, end), - text.rfind('!', start, end), - text.rfind('?', start, end), - text.rfind('\n\n', start, end) - ) - if split_point == -1 or split_point <= start: - split_point = end - else: - split_point += 1 - - chunk = text[start:split_point].strip() - if chunk: - chunks.append(chunk) - - start = split_point - - return chunks - - -def load_previously_indexed_docs(): - if os.path.exists(PROCESSED_DOCS_FILE): - with open(PROCESSED_DOCS_FILE, "rb") as f: - return pickle.load(f) - return set() - - -def save_indexed_docs(docs): - with open(PROCESSED_DOCS_FILE, "wb") as f: - pickle.dump(docs, f) - - -# ========================= -# Main Function -# ========================= -def chat(): - PDF_FOLDER = Path("docs") # pasta onde estΓ£o os PDFs - - pdf_paths = sorted( - str(p) for p in PDF_FOLDER.glob("*.pdf") - ) - - already_indexed_docs = load_previously_indexed_docs() - updated_docs = set() - - try: - vectorstore = FAISS.load_local(INDEX_PATH, embeddings, allow_dangerous_deserialization=True) - print("βœ”οΈ FAISS index loaded.") - except Exception: - print("⚠️ FAISS index not found, creating a new one.") - vectorstore = None - - new_chunks = [] - - for pdf_path in tqdm(pdf_paths, desc=f"πŸ“„ Processing PDFs"): - print(f" {os.path.basename(pdf_path)}") - if pdf_path in already_indexed_docs: - print(f"βœ… Document already indexed: {pdf_path}") - continue - full_text = read_pdfs(pdf_path=pdf_path) - path_url = filename_to_url(os.path.basename(pdf_path)) - - text_chunks = smart_split_text(full_text, max_chunk_size=10_000) - overflow_buffer = "" - - for chunk in tqdm(text_chunks, desc=f"πŸ“„ Processing text chunks", dynamic_ncols=True, leave=False): - current_text = overflow_buffer + chunk - - treated_text = semantic_chunking(current_text) - - if hasattr(treated_text, "content"): - chapters = split_llm_output_into_chapters(treated_text.content) - - last_chapter = chapters[-1] if chapters else "" - - if last_chapter and not last_chapter.strip().endswith((".", "!", "?", "\n\n")): - print("πŸ“Œ Last chapter seems incomplete, saving for the next cycle") - overflow_buffer = last_chapter - chapters = chapters[:-1] - else: - overflow_buffer = "" - - for chapter_text in chapters: - reference_url = "Reference: " + path_url - chapter_text = chapter_text + "\n" + reference_url - doc = Document(page_content=chapter_text, metadata={"source": pdf_path, "reference": reference_url}) - new_chunks.append(doc) - print(f"βœ… New chapter indexed:\n{chapter_text}...\n") - - else: - print(f"[ERROR] semantic_chunking returned unexpected type: {type(treated_text)}") - - updated_docs.add(str(pdf_path)) - - if new_chunks: - if vectorstore: - vectorstore.add_documents(new_chunks) - else: - vectorstore = FAISS.from_documents(new_chunks, embedding=embeddings) - - vectorstore.save_local(INDEX_PATH) - save_indexed_docs(already_indexed_docs.union(updated_docs)) - print(f"πŸ’Ύ {len(new_chunks)} chunks added to FAISS index.") - - print("🧠 Building knowledge graph...") - create_knowledge_graph(new_chunks) - - else: - print("πŸ“ No new documents to index.") - - retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 50, "fetch_k": 100}) - - RFP_DECISION_TEMPLATE = """ - You are answering an RFP requirement with risk awareness. - - Requirement: - Type: {requirement_type} - Subject: {subject} - Expected value: {expected_value} - - Document evidence: - {text_context} - - Graph evidence: - {graph_context} - - Decision rules: - - Answer ONLY with YES, NO or PARTIAL - - If value differs, answer PARTIAL - - If not found, answer NO - - Interpretation rules (MANDATORY): - - If a capability is supported but requires reboot, downtime, or restart, it STILL counts as YES unless the requirement explicitly forbids it. - - "Servidor em funcionamento" means the resource exists and is active before the operation, not that it must remain online without interruption. - - Only answer NO if the operation is NOT supported at all or requires destroying and recreating the resource. - - Reboot, restart, or brief unavailability MUST NOT be interpreted as lack of support. - - Confidence rules: - - HIGH: Explicit evidence directly answers the requirement - - MEDIUM: Evidence partially matches or requires light interpretation - - LOW: Requirement is ambiguous OR evidence is indirect OR missing - - Ambiguity rules: - - ambiguity_detected = true if: - - The requirement can be interpreted in more than one way - - Keywords are vague (e.g. "support", "integration", "capability") - - Evidence does not clearly bind to subject + expected value - - Service scope rules (MANDATORY): - - Do NOT use evidence from a different Oracle Cloud service to justify another. - - OUTPUT CONSTRAINTS (MANDATORY): - - Return ONLY a valid JSON object - - Do NOT include explanations, comments, markdown, lists, or code fences - - Do NOT write any text before or after the JSON - - The response must start with an opening curly brace and end with a closing curly brace - - JSON schema (return exactly this structure): - {{ - "answer": "YES | NO | PARTIAL", - "confidence": "HIGH | MEDIUM | LOW", - "ambiguity_detected": true, - "confidence_reason": "", - "justification": "", - "evidence": [ - {{ - "quote": "", - "source": "" - }} - ] - }} - """ - prompt = PromptTemplate.from_template(RFP_DECISION_TEMPLATE) - - def get_context_from_requirement(req: dict): - query_terms = extract_graph_keywords_from_requirement(req) - - docs = retriever.invoke(query_terms) - graph_context = query_knowledge_graph(query_terms) - - return { - "text_context": "\n\n".join(doc.page_content for doc in docs), - "graph_context": graph_context, - "requirement_type": req["requirement_type"], - "subject": req["subject"], - "expected_value": req.get("expected_value", "") - } - - parse_requirement_runnable = RunnableLambda( - lambda q: parse_rfp_requirement(q) - ) - chain = ( - parse_requirement_runnable - | RunnableMap({ - "text_context": RunnableLambda( - lambda req: get_context_from_requirement(req)["text_context"] - ), - "graph_context": RunnableLambda( - lambda req: get_context_from_requirement(req)["graph_context"] - ), - "requirement_type": lambda req: req["requirement_type"], - "subject": lambda req: req["subject"], - "expected_value": lambda req: req.get("expected_value", "") - }) - | prompt - | llm - | StrOutputParser() - ) - - print("βœ… READY") - - while True: - query = input("❓ Question (or 'quit' to exit): ") - if query.lower() == "quit": - break - response = chain.invoke(query) - print("\nπŸ“œ RESPONSE:\n") - print(response) - print("\n" + "=" * 80 + "\n") - -def get_context_from_requirement(req: dict): - query_terms = extract_graph_keywords_from_requirement(req) - - docs = retriever.invoke(query_terms) - graph_context = query_knowledge_graph(query_terms) - - graph_terms = extract_terms_from_graph_text(graph_context) - reranked_chunks = rerank_documents_with_graph_terms( - docs, - query_terms, - graph_terms - ) - - return { - "text_context": "\n\n".join(reranked_chunks), - "graph_context": graph_context, - "requirement_type": req["requirement_type"], - "subject": req["subject"], - "expected_value": req.get("expected_value", "") - } - -try: - vectorstore = FAISS.load_local( - INDEX_PATH, - embeddings, - allow_dangerous_deserialization=True - ) - - retriever = vectorstore.as_retriever( - search_type="similarity", - search_kwargs={"k": 50, "fetch_k": 100} - ) -except: - print("No Faiss") - -RFP_DECISION_TEMPLATE = """ -You are answering an RFP requirement with risk awareness. - -Requirement: -Type: {requirement_type} -Subject: {subject} -Expected value: {expected_value} - -Document evidence: -{text_context} - -Graph evidence: -{graph_context} - -Decision rules: -- Answer ONLY with YES, NO or PARTIAL -- If value differs, answer PARTIAL -- If not found, answer NO - -Interpretation rules (MANDATORY): -- If a capability is supported but requires reboot, downtime, or restart, it STILL counts as YES unless the requirement explicitly forbids it. -- "Servidor em funcionamento" means the resource exists and is active before the operation, not that it must remain online without interruption. -- Only answer NO if the operation is NOT supported at all or requires destroying and recreating the resource. -- Reboot, restart, or brief unavailability MUST NOT be interpreted as lack of support. - -Confidence rules: -- HIGH: Explicit evidence directly answers the requirement -- MEDIUM: Evidence partially matches or requires light interpretation -- LOW: Requirement is ambiguous OR evidence is indirect OR missing - -Ambiguity rules: -- ambiguity_detected = true if: - - The requirement can be interpreted in more than one way - - Keywords are vague (e.g. "support", "integration", "capability") - - Evidence does not clearly bind to subject + expected value - -Service scope rules (MANDATORY): -- Do NOT use evidence from a different Oracle Cloud service to justify another. - -OUTPUT CONSTRAINTS (MANDATORY): -- Return ONLY a valid JSON object -- Do NOT include explanations, comments, markdown, lists, or code fences -- Do NOT write any text before or after the JSON -- The response must start with an opening curly brace and end with a closing curly brace - -JSON schema (return exactly this structure): -{{ - "answer": "YES | NO | PARTIAL", - "confidence": "HIGH | MEDIUM | LOW", - "ambiguity_detected": true, - "confidence_reason": "", - "justification": "", - "evidence": [ - {{ - "quote": "", - "source": "" - }} - ] -}} -""" -prompt = PromptTemplate.from_template(RFP_DECISION_TEMPLATE) - -parse_requirement_runnable = RunnableLambda( - lambda q: parse_rfp_requirement(q) -) - -chain = ( - parse_requirement_runnable - | RunnableMap({ - "text_context": RunnableLambda( - lambda req: get_context_from_requirement(req)["text_context"] - ), - "graph_context": RunnableLambda( - lambda req: get_context_from_requirement(req)["graph_context"] - ), - "requirement_type": lambda req: req["requirement_type"], - "subject": lambda req: req["subject"], - "expected_value": lambda req: req.get("expected_value", "") -}) - | prompt - | llm - | StrOutputParser() -) - -def answer_question(question: str) -> str: - return chain.invoke(question) - -# πŸš€ Run -if __name__ == "__main__": - chat() \ No newline at end of file diff --git a/files/index.html b/files/index.html deleted file mode 100644 index f5ae32a..0000000 --- a/files/index.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - Oracle AI RFP Response - - - - - -

🧠 Oracle AI RFP Response

- - -
- -

- Oracle LAD A-Team
- Cristiano Hoshikawa
- cristiano.hoshikawa@oracle.com -

- -

- Tutorial: - https://docs.oracle.com/en/learn/oci-genai-pdf
- REST Service Endpoint: - http://demo-orcl-api-ai.hoshikawa.com.br:8101/chat -

- -
- -

Overview

- -

- This application provides an AI-assisted RFP response engine for - Oracle Cloud Infrastructure (OCI). - It analyzes natural language requirements and returns a - structured, evidence-based technical response. -

- -
    -
  • Official Oracle technical documentation
  • -
  • Semantic search using vector embeddings
  • -
  • Knowledge Graph signals
  • -
  • Large Language Models (LLMs)
  • -
- -
- - -
- -

Try It β€” Live RFP Question

- -

- Enter an RFP requirement or technical question below. - The API will return a structured JSON response. -

- - - - -

AI Response

-

-
-
- - -
- -

REST API Usage

- -

- The service exposes a POST endpoint that accepts a JSON payload. -

- - - curl -X POST http://demo-orcl-api-ai.hoshikawa.com.br:8101/chat \ - -H "Content-Type: application/json" \ - -d '{ - "question": "Does Oracle Cloud Infrastructure (OCI) Compute support online resizing of memory for running virtual machine instances?" - }' - - -

Request Parameters

- -

- question (string)
- Natural language description of an RFP requirement or technical capability. - Small wording changes may affect how intent and evidence are interpreted. -

- -
- - -
- -

AI Response JSON Structure

- -

- The API always returns a strict and normalized JSON structure, - designed for traceability, auditing, and human validation. -

- -

answer

-

- Final assessment of the requirement: - YES, NO, or PARTIAL. - A NO means the requirement is not explicitly satisfied as written. -

- -

confidence

-

- Indicates the strength of the supporting evidence: - HIGH, MEDIUM, or LOW. -

- -

ambiguity_detected

-

- Flags whether the requirement is vague, overloaded, or open to interpretation. -

- -

confidence_reason

-

- Short explanation justifying the confidence level. -

- -

justification

-

- Technical rationale connecting the evidence to the requirement. - This is not marketing text. -

- -

evidence

-

- List of supporting references: -

-
    -
  • quote – Exact extracted text
  • -
  • source – URL or document reference
  • -
- -
- - -
- -

Important Notes

- -
    -
  • - Responses are generated by an LLM. - Even with low temperature, minor variations may occur across executions. -
  • -
  • - Results depend on wording, terminology, and framing of the requirement. -
  • -
  • - In many RFPs, an initial NO can be reframed into a valid - YES by mapping the requirement to the correct OCI service. -
  • -
  • - Human review is mandatory. - This tool supports architects and RFP teams β€” it does not replace them. -
  • -
- -

- GraphRAG β€’ Oracle Autonomous Database 23ai β€’ Embeddings β€’ Knowledge Graph β€’ LLM β€’ Flask API -

- -
- - - - - \ No newline at end of file diff --git a/files/modules/admin/routes.py b/files/modules/admin/routes.py new file mode 100644 index 0000000..c76b4c9 --- /dev/null +++ b/files/modules/admin/routes.py @@ -0,0 +1,160 @@ +from flask import Blueprint, render_template, request, jsonify, redirect, flash +from modules.core.security import requires_admin_auth +from modules.core.audit import audit_log +import threading +from modules.core.audit import audit_log + +from oci_genai_llm_graphrag_rerank_rfp import ( + search_chunks_for_invalidation, + revoke_chunk_by_hash, + get_chunk_metadata, + add_manual_knowledge_entry, + reload_all +) + +admin_bp = Blueprint("admin", __name__) + + +# ========================= +# ADMIN HOME (invalidate UI) +# ========================= +@admin_bp.route("/") +@requires_admin_auth +def admin_home(): + return render_template("admin_menu.html") + +@admin_bp.route("/invalidate") +@requires_admin_auth +def invalidate_page(): + return render_template( + "invalidate.html", + results=[], + statement="" + ) + +# ========================= +# SEARCH CHUNKS +# ========================= +@admin_bp.route("/search", methods=["POST"]) +@requires_admin_auth +def search_for_invalidation(): + + statement = request.form["statement"] + + docs = search_chunks_for_invalidation(statement) + + hashes = [d.metadata.get("chunk_hash") for d in docs if d.metadata.get("chunk_hash")] + meta = get_chunk_metadata(hashes) + + results = [] + + for d in docs: + h = d.metadata.get("chunk_hash") + m = meta.get(h, {}) + + results.append({ + "chunk_hash": h, + "source": d.metadata.get("source"), + "text": d.page_content, + "origin": m.get("origin"), + "status": m.get("status") + }) + + return render_template( + "invalidate.html", + statement=statement, + results=results + ) + + +# ========================= +# REVOKE +# ========================= +@admin_bp.route("/revoke", methods=["POST"]) +@requires_admin_auth +def revoke_chunk_ui(): + + data = request.get_json() + + chunk_hash = str(data["chunk_hash"]) + reason = str(data.get("reason", "Manual revoke")) + audit_log("INVALIDATE", f"chunk_hash={chunk_hash}") + + print("chunk_hash", chunk_hash) + print("reason", reason) + + revoke_chunk_by_hash(chunk_hash, reason) + + return {"status": "ok", "chunk_hash": chunk_hash} + + +# ========================= +# ADD MANUAL KNOWLEDGE +# ========================= +@admin_bp.route("/add-knowledge", methods=["POST"]) +@requires_admin_auth +def add_manual_knowledge(): + + data = request.get_json(force=True) + + chunk_hash = add_manual_knowledge_entry( + text=data["text"], + author="ADMIN", + reason=data.get("reason"), + source="MANUAL_INPUT", + origin="MANUAL", + also_update_graph=True + ) + audit_log("ADD_KNOWLEDGE", f"chunk_hash={chunk_hash}") + + return jsonify({ + "status": "OK", + "chunk_hash": chunk_hash + }) + +# ========================= +# UPDATE CHUNK +# ========================= +@admin_bp.route("/update-chunk", methods=["POST"]) +@requires_admin_auth +def update_chunk(): + + data = request.get_json() or {} + + chunk_hash = str(data.get("chunk_hash", "")).strip() + text = str(data.get("text", "")).strip() + + print("chunk_hash", chunk_hash) + print("text", text) + + if not chunk_hash: + return {"status": "error", "message": "missing hash"}, 400 + + reason = str(data.get("reason", "Manual change")) + + revoke_chunk_by_hash(chunk_hash, reason=reason) + chunk_hash = add_manual_knowledge_entry( + text=text, + author="ADMIN", + reason=reason, + source="MANUAL_INPUT", + origin="MANUAL", + also_update_graph=True + ) + audit_log("UPDATE CHUNK", f"chunk_hash={chunk_hash}") + + return jsonify({ + "status": "OK", + "chunk_hash": chunk_hash + }) + +@admin_bp.route("/reboot", methods=["POST"]) +@requires_admin_auth +def reboot_service(): + # roda em background pra nΓ£o travar request + threading.Thread(target=reload_all, daemon=True).start() + + return jsonify({ + "status": "ok", + "message": "Knowledge reload started" + }) \ No newline at end of file diff --git a/files/modules/architecture/routes.py b/files/modules/architecture/routes.py new file mode 100644 index 0000000..c9378a6 --- /dev/null +++ b/files/modules/architecture/routes.py @@ -0,0 +1,83 @@ +from flask import Blueprint, request, jsonify +import uuid +import json +from pathlib import Path +from modules.core.audit import audit_log + +from modules.core.security import requires_app_auth +from .service import start_architecture_job +from .store import ARCH_JOBS, ARCH_LOCK + +architecture_bp = Blueprint("architecture", __name__) + +ARCH_FOLDER = Path("architecture") + +@architecture_bp.route("/architecture/start", methods=["POST"]) +@requires_app_auth +def architecture_start(): + data = request.get_json(force=True) or {} + question = (data.get("question") or "").strip() + + if not question: + return jsonify({"error": "Empty question"}), 400 + + job_id = str(uuid.uuid4()) + audit_log("ARCHITECTURE", f"job_id={job_id}") + + with ARCH_LOCK: + ARCH_JOBS[job_id] = { + "status": "RUNNING", + "logs": [] + } + + start_architecture_job(job_id, question) + return jsonify({"job_id": job_id}) + + +@architecture_bp.route("/architecture//status", methods=["GET"]) +@requires_app_auth +def architecture_status(job_id): + job_dir = ARCH_FOLDER / job_id + status_file = job_dir / "status.json" + + # fallback 1: status persistido + if status_file.exists(): + try: + return jsonify(json.loads(status_file.read_text(encoding="utf-8"))) + except Exception: + return jsonify({"status": "ERROR", "detail": "Invalid status file"}), 500 + + # fallback 2: status em memΓ³ria + with ARCH_LOCK: + job = ARCH_JOBS.get(job_id) + + if job: + return jsonify({"status": job.get("status", "PROCESSING")}) + + return jsonify({"status": "NOT_FOUND"}), 404 + + +@architecture_bp.route("/architecture//logs", methods=["GET"]) +@requires_app_auth +def architecture_logs(job_id): + with ARCH_LOCK: + job = ARCH_JOBS.get(job_id, {}) + return jsonify({"logs": job.get("logs", [])}) + +@architecture_bp.route("/architecture//result", methods=["GET"]) +@requires_app_auth +def architecture_result(job_id): + job_dir = ARCH_FOLDER / job_id + result_file = job_dir / "architecture.json" + + # ainda nΓ£o terminou + if not result_file.exists(): + return jsonify({"error": "not ready"}), 404 + + try: + raw = result_file.read_text(encoding="utf-8") + plan = json.loads(raw) + return jsonify(plan) + + except Exception as e: + return jsonify({"error": str(e)}), 500 \ No newline at end of file diff --git a/files/modules/architecture/service.py b/files/modules/architecture/service.py new file mode 100644 index 0000000..1bfedeb --- /dev/null +++ b/files/modules/architecture/service.py @@ -0,0 +1,56 @@ +import threading +import json +from pathlib import Path + +from .store import ARCH_JOBS, ARCH_LOCK +from oci_genai_llm_graphrag_rerank_rfp import call_architecture_planner, architecture_to_mermaid + +ARCH_FOLDER = Path("architecture") +ARCH_FOLDER.mkdir(exist_ok=True) + +def make_job_logger(job_id: str): + def _log(msg): + with ARCH_LOCK: + job = ARCH_JOBS.get(job_id) + if job: + job["logs"].append(str(msg)) + return _log + +def start_architecture_job(job_id: str, question: str): + job_dir = ARCH_FOLDER / job_id + job_dir.mkdir(parents=True, exist_ok=True) + + status_file = job_dir / "status.json" + result_file = job_dir / "architecture.json" + + def write_status(state: str, detail: str | None = None): + payload = {"status": state} + if detail: + payload["detail"] = detail + status_file.write_text(json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8") + + with ARCH_LOCK: + if job_id in ARCH_JOBS: + ARCH_JOBS[job_id]["status"] = state + if detail: + ARCH_JOBS[job_id]["detail"] = detail + + write_status("PROCESSING") + + def background(): + try: + logger = make_job_logger(job_id) + + plan = call_architecture_planner(question, log=logger) + if not isinstance(plan, dict): + raise TypeError(f"Planner returned {type(plan)}") + + plan["mermaid"] = architecture_to_mermaid(plan) + + result_file.write_text(json.dumps(plan, ensure_ascii=False, indent=2), encoding="utf-8") + write_status("DONE") + + except Exception as e: + write_status("ERROR", str(e)) + + threading.Thread(target=background, daemon=True).start() \ No newline at end of file diff --git a/files/modules/architecture/store.py b/files/modules/architecture/store.py new file mode 100644 index 0000000..a3346e5 --- /dev/null +++ b/files/modules/architecture/store.py @@ -0,0 +1,4 @@ +from threading import Lock + +ARCH_LOCK = Lock() +ARCH_JOBS = {} \ No newline at end of file diff --git a/files/modules/auth/routes.py b/files/modules/auth/routes.py new file mode 100644 index 0000000..ea40e2c --- /dev/null +++ b/files/modules/auth/routes.py @@ -0,0 +1,64 @@ +from flask import Blueprint, render_template, request, redirect, url_for, flash, jsonify, session +from modules.users.service import signup_user +from config_loader import load_config +from modules.users.service import create_user, authenticate_user + +auth_bp = Blueprint( + "auth", + __name__, + template_folder="../../templates/users" +) + +config = load_config() + +@auth_bp.route("/signup", methods=["GET", "POST"]) +def signup(): + + if request.method == "POST": + email = request.form.get("email") + name = request.form.get("name") + + try: + link = signup_user(email, name) + + if link and config.dev_mode == 1: + flash(f"DEV MODE: password link β†’ {link}", "success") + else: + flash("User created and email sent", "success") + except Exception as e: + flash(str(e), "danger") + + return redirect(url_for("auth.signup")) + + return render_template("users/signup.html") + +@auth_bp.route("/register", methods=["POST"]) +def register(): + data = request.json + create_user(data["username"], data["password"]) + return jsonify({"status": "ok"}) + +@auth_bp.route("/login", methods=["POST"]) +def login(): + + email = request.form.get("username") + password = request.form.get("password") + + ok = authenticate_user(email, password) + + if not ok: + flash("Invalid credentials") + return redirect("/login") + + session["user_email"] = email + + return redirect("/") + +@auth_bp.route("/login", methods=["GET"]) +def login_page(): + return render_template("users/login.html") + +@auth_bp.route("/logout") +def logout(): + session.clear() # remove tudo da sessΓ£o + return redirect("/login") diff --git a/files/modules/chat/routes.py b/files/modules/chat/routes.py new file mode 100644 index 0000000..95efc05 --- /dev/null +++ b/files/modules/chat/routes.py @@ -0,0 +1,82 @@ +import json +from flask import Blueprint, request, jsonify +from modules.core.security import requires_app_auth +from oci_genai_llm_graphrag_rerank_rfp import answer_question, search_active_chunks +from modules.core.audit import audit_log +from .service import start_chat_job +from .store import CHAT_JOBS, CHAT_LOCK + +chat_bp = Blueprint("chat", __name__) + +def parse_llm_json(raw: str) -> dict: + try: + if not isinstance(raw, str): + return {"answer": "ERROR", "justification": "LLM output is not a string", "raw_output": str(raw)} + raw = raw.replace("```json", "").replace("```", "").strip() + return json.loads(raw) + except Exception: + return {"answer": "ERROR", "justification": "LLM returned invalid JSON", "raw_output": raw} + +@chat_bp.route("/chat", methods=["POST"]) +@requires_app_auth +def chat(): + data = request.get_json(force=True) or {} + question = (data.get("question") or "").strip() + + if not question: + return jsonify({"error": "Empty question"}), 400 + + raw_answer = answer_question(question) + parsed_answer = parse_llm_json(raw_answer) + audit_log("RFP_QUESTION", f"question={question}") + + # (opcional) manter comportamento antigo de evidence/full_text se vocΓͺ quiser + # docs = search_active_chunks(question) + + return jsonify({ + "question": question, + "result": parsed_answer + }) + +@chat_bp.post("/chat/start") +def start(): + + question = request.json["question"] + + job_id = start_chat_job(question) + + return jsonify({"job_id": job_id}) + +@chat_bp.get("/chat//status") +def status(job_id): + + with CHAT_LOCK: + job = CHAT_JOBS.get(job_id) + + if not job: + return jsonify({"error": "not found"}), 404 + + return jsonify({"status": job["status"]}) + +@chat_bp.get("/chat//result") +def result(job_id): + + with CHAT_LOCK: + job = CHAT_JOBS.get(job_id) + + if not job: + return jsonify({"error": "not found"}), 404 + + return jsonify({ + "result": parse_llm_json(job["result"]), + "error": job["error"] + }) + +@chat_bp.get("/chat//logs") +def logs(job_id): + + with CHAT_LOCK: + job = CHAT_JOBS.get(job_id) + + return jsonify({"logs": job["logs"]}) + diff --git a/files/modules/chat/service.py b/files/modules/chat/service.py new file mode 100644 index 0000000..0ba1cd4 --- /dev/null +++ b/files/modules/chat/service.py @@ -0,0 +1,44 @@ +import threading +import uuid +from .store import CHAT_JOBS, CHAT_LOCK +from oci_genai_llm_graphrag_rerank_rfp import answer_question + + +def start_chat_job(question: str): + + job_id = str(uuid.uuid4()) + + with CHAT_LOCK: + CHAT_JOBS[job_id] = { + "status": "PROCESSING", + "result": None, + "error": None, + "logs": [] + } + + def log(msg): + with CHAT_LOCK: + CHAT_JOBS[job_id]["logs"].append(str(msg)) + + def background(): + try: + log("Starting answer_question()") + + result = answer_question(question) + + with CHAT_LOCK: + CHAT_JOBS[job_id]["result"] = result + CHAT_JOBS[job_id]["status"] = "DONE" + + log("DONE") + + except Exception as e: + with CHAT_LOCK: + CHAT_JOBS[job_id]["error"] = str(e) + CHAT_JOBS[job_id]["status"] = "ERROR" + + log(f"ERROR: {e}") + + threading.Thread(target=background, daemon=True).start() + + return job_id \ No newline at end of file diff --git a/files/modules/chat/store.py b/files/modules/chat/store.py new file mode 100644 index 0000000..8787749 --- /dev/null +++ b/files/modules/chat/store.py @@ -0,0 +1,4 @@ +import threading + +CHAT_JOBS = {} +CHAT_LOCK = threading.Lock() \ No newline at end of file diff --git a/files/modules/core/audit.py b/files/modules/core/audit.py new file mode 100644 index 0000000..484f3f0 --- /dev/null +++ b/files/modules/core/audit.py @@ -0,0 +1,11 @@ +from flask import session, request +from datetime import datetime + +def audit_log(action: str, detail: str = ""): + email = session.get("user_email", "anonymous") + ip = request.remote_addr + + line = f"{datetime.utcnow().isoformat()} | {email} | {ip} | {action} | {detail}\n" + + with open("audit.log", "a", encoding="utf-8") as f: + f.write(line) \ No newline at end of file diff --git a/files/modules/core/security.py b/files/modules/core/security.py new file mode 100644 index 0000000..2b78874 --- /dev/null +++ b/files/modules/core/security.py @@ -0,0 +1,92 @@ +from functools import wraps +from flask import request, Response, url_for, session, redirect +from werkzeug.security import check_password_hash +from modules.core.audit import audit_log +from modules.users.db import get_pool + +# ========================= +# Base authentication +# ========================= + +def authenticate(): + return redirect(url_for("auth.login_page")) + +def get_current_user(): + + email = session.get("user_email") + if not email: + return None + + sql = """ + SELECT id, username, email, user_role, active + FROM app_users + WHERE email = :1 \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [email]) + row = cur.fetchone() + + if not row: + return None + + return { + "id": row[0], + "username": row[1], + "email": row[2], + "role": row[3], + "active": row[4] + } + + +# ========================= +# Decorators +# ========================= + +def requires_login(f): + @wraps(f) + def wrapper(*args, **kwargs): + user = get_current_user() + if not user: + return authenticate() + return f(*args, **kwargs) + return wrapper + + +def requires_app_auth(f): + @wraps(f) + def wrapper(*args, **kwargs): + user = get_current_user() + + if not user: + return authenticate() + + role = (user.get("role") or "").strip().lower() + + if role not in ["user", "admin"]: + return authenticate() + + audit_log("LOGIN_SUCCESS", f"user={user}") + + return f(*args, **kwargs) + return wrapper + + +def requires_admin_auth(f): + @wraps(f) + def wrapper(*args, **kwargs): + user = get_current_user() + + if not user: + return authenticate() + + if user.get("role") != "admin": + return authenticate() + + audit_log("LOGIN_ADMIN_SUCCESS", f"user={user}") + + return f(*args, **kwargs) + return wrapper \ No newline at end of file diff --git a/files/modules/excel/queue_manager.py b/files/modules/excel/queue_manager.py new file mode 100644 index 0000000..632bb74 --- /dev/null +++ b/files/modules/excel/queue_manager.py @@ -0,0 +1,113 @@ +from queue import Queue +import threading +import logging + +logger = logging.getLogger(__name__) + +# ========================================= +# CONFIG +# ========================================= + +MAX_CONCURRENT_EXCEL = 10 + +# ========================================= +# STATE +# ========================================= + +EXCEL_QUEUE = Queue() +EXCEL_LOCK = threading.Lock() + +ACTIVE_JOBS = set() # jobs em execuΓ§Γ£o + +# ========================================= +# Helpers +# ========================================= + +def get_queue_position(job_id: str) -> int: + """ + Retorna: + 0 = jΓ‘ estΓ‘ executando + 1..N = posiΓ§Γ£o na fila + -1 = nΓ£o encontrado + """ + with EXCEL_LOCK: + + if job_id in ACTIVE_JOBS: + return 0 + + items = list(EXCEL_QUEUE.queue) + + for i, item in enumerate(items): + if item["job_id"] == job_id: + return i + 1 + + return -1 + + +# ========================================= +# WORKER +# ========================================= + +def _worker(worker_id: int): + logger.info(f"🟒 Excel worker-{worker_id} started") + + while True: + job = EXCEL_QUEUE.get() + + job_id = job["job_id"] + + try: + with EXCEL_LOCK: + ACTIVE_JOBS.add(job_id) + + logger.info(f"πŸš€ [worker-{worker_id}] Processing {job_id}") + + job["fn"](*job["args"], **job["kwargs"]) + + logger.info(f"βœ… [worker-{worker_id}] Finished {job_id}") + + except Exception as e: + logger.exception(f"❌ [worker-{worker_id}] Failed {job_id}: {e}") + + finally: + with EXCEL_LOCK: + ACTIVE_JOBS.discard(job_id) + + EXCEL_QUEUE.task_done() + + +# ========================================= +# START POOL +# ========================================= + +def start_excel_worker(): + """ + Inicia pool com N workers simultΓ’neos + """ + for i in range(MAX_CONCURRENT_EXCEL): + threading.Thread( + target=_worker, + args=(i + 1,), + daemon=True + ).start() + + logger.info(f"πŸ”₯ Excel queue started with {MAX_CONCURRENT_EXCEL} workers") + + +# ========================================= +# ENQUEUE +# ========================================= + +def enqueue_excel_job(job_id, fn, *args, **kwargs): + job = { + "job_id": job_id, + "fn": fn, + "args": args, + "kwargs": kwargs + } + + with EXCEL_LOCK: + EXCEL_QUEUE.put(job) + position = EXCEL_QUEUE.qsize() + + return position \ No newline at end of file diff --git a/files/modules/excel/routes.py b/files/modules/excel/routes.py new file mode 100644 index 0000000..a19a234 --- /dev/null +++ b/files/modules/excel/routes.py @@ -0,0 +1,110 @@ +from flask import Blueprint, request, jsonify, send_file, render_template +from pathlib import Path +import uuid +import json +from config_loader import load_config +from modules.core.audit import audit_log +from modules.core.security import get_current_user + +from modules.core.security import requires_app_auth +from .service import start_excel_job +from .store import EXCEL_JOBS, EXCEL_LOCK + +excel_bp = Blueprint("excel", __name__) +config = load_config() +API_BASE_URL = f"{config.app_base}:{config.service_port}" + +UPLOAD_FOLDER = Path("./uploads") +UPLOAD_FOLDER.mkdir(exist_ok=True) + +ALLOWED_EXTENSIONS = {"xlsx"} +API_URL = API_BASE_URL + "/chat" + + +def allowed_file(filename): + return "." in filename and filename.rsplit(".", 1)[1].lower() in ALLOWED_EXTENSIONS + + +# ========================= +# Upload + start processing +# ========================= +@excel_bp.route("/upload/excel", methods=["POST"]) +@requires_app_auth +def upload_excel(): + file = request.files.get("file") + email = request.form.get("email") + + if not file or not email: + return jsonify({"error": "file and email required"}), 400 + + if not allowed_file(file.filename): + return jsonify({"error": "invalid file type"}), 400 + + job_id = str(uuid.uuid4()) + audit_log("UPLOAD_EXCEL", f"job_id={job_id}") + + job_dir = UPLOAD_FOLDER / job_id + job_dir.mkdir(parents=True, exist_ok=True) + + input_path = job_dir / "input.xlsx" + file.save(input_path) + + with EXCEL_LOCK: + EXCEL_JOBS[job_id] = {"status": "RUNNING"} + + user = get_current_user() + + start_excel_job( + job_id=job_id, + input_path=input_path, + email=email, + auth_user=None, + auth_pass=None, + api_url=API_URL + ) + + return jsonify({"status": "STARTED", "job_id": job_id}) + + +# ========================= +# Status +# ========================= +@excel_bp.route("/job//status") +@requires_app_auth +def job_status(job_id): + status_file = UPLOAD_FOLDER / job_id / "status.json" + + if not status_file.exists(): + return jsonify({"status": "PROCESSING"}) + + return jsonify(json.loads(status_file.read_text())) + + +# ========================= +# Download result +# ========================= +@excel_bp.route("/download/") +@requires_app_auth +def download(job_id): + result_file = UPLOAD_FOLDER / job_id / "result.xlsx" + + if not result_file.exists(): + return jsonify({"error": "not ready"}), 404 + + return send_file( + result_file, + as_attachment=True, + download_name=f"RFP_result_{job_id}.xlsx" + ) + +@excel_bp.route("/job//logs", methods=["GET"]) +@requires_app_auth +def excel_logs(job_id): + with EXCEL_LOCK: + job = EXCEL_JOBS.get(job_id, {}) + return jsonify({"logs": job.get("logs", [])}) + +@excel_bp.route("/excel/job/") +@requires_app_auth +def job_page(job_id): + return render_template("excel/job_status.html", job_id=job_id) \ No newline at end of file diff --git a/files/modules/excel/service.py b/files/modules/excel/service.py new file mode 100644 index 0000000..51d02f2 --- /dev/null +++ b/files/modules/excel/service.py @@ -0,0 +1,115 @@ +import threading +import json +from pathlib import Path +from datetime import datetime +from flask import jsonify +from .storage import upload_file, generate_download_url + +from rfp_process import process_excel_rfp +from .store import EXCEL_JOBS, EXCEL_LOCK +from modules.users.email_service import send_completion_email +from modules.excel.queue_manager import enqueue_excel_job + +EXECUTION_METHOD = "QUEUE" # THREAD OR QUEUE + +UPLOAD_FOLDER = Path("uploads") +UPLOAD_FOLDER.mkdir(exist_ok=True) + + +def make_job_logger(job_id: str): + """Logger simples: guarda logs na memΓ³ria (igual ao arquiteto).""" + def _log(msg): + with EXCEL_LOCK: + job = EXCEL_JOBS.get(job_id) + if job is not None: + job.setdefault("logs", []).append(str(msg)) + return _log + + +def start_excel_job(job_id: str, input_path: Path, email: str, auth_user: str, auth_pass: str, api_url: str): + + job_dir = UPLOAD_FOLDER / job_id + job_dir.mkdir(parents=True, exist_ok=True) + + output_path = job_dir / "result.xlsx" + status_file = job_dir / "status.json" + object_name = f"{job_id}/result.xlsx" + + logger = make_job_logger(job_id) + + def write_status(state: str, detail: str | None = None): + payload = { + "status": state, + "updated_at": datetime.utcnow().isoformat(), + } + if detail: + payload["detail"] = detail + + status_file.write_text( + json.dumps(payload, ensure_ascii=False, indent=2), + encoding="utf-8" + ) + + with EXCEL_LOCK: + job = EXCEL_JOBS.get(job_id) + if job is not None: + job["status"] = state + if detail: + job["detail"] = detail + + # garante estrutura do job na memΓ³ria + with EXCEL_LOCK: + EXCEL_JOBS.setdefault(job_id, {}) + EXCEL_JOBS[job_id].setdefault("logs", []) + EXCEL_JOBS[job_id]["status"] = "PROCESSING" + + write_status("PROCESSING") + logger(f"Starting Excel job {job_id}") + logger(f"Input: {input_path}") + logger(f"Output: {output_path}") + + def background(): + try: + # processamento principal + process_excel_rfp( + input_excel=input_path, + output_excel=output_path, + api_url=api_url, + auth_user=auth_user, + auth_pass=auth_pass, + ) + + write_status("DONE") + logger("Excel processing DONE") + + upload_file(output_path, object_name) + download_url = generate_download_url(object_name) + + write_status("DONE", download_url) + + # email / dev message + dev_message = send_completion_email(email, download_url, job_id) + if dev_message: + logger(f"DEV email message/link: {dev_message}") + + except Exception as e: + logger(f"ERROR: {e}") + write_status("ERROR", str(e)) + + try: + dev_message = send_completion_email( + email=email, + download_url=download_url, + job_id=job_id, + status="ERROR", + detail=str(e) + ) + if dev_message: + logger(f"DEV email error message/link: {dev_message}") + except Exception as mail_err: + logger(f"EMAIL ERROR: {mail_err}") + + if EXECUTION_METHOD == "THREAD": + threading.Thread(target=background, daemon=True).start() + else: + enqueue_excel_job(job_id, background) diff --git a/files/modules/excel/storage.py b/files/modules/excel/storage.py new file mode 100644 index 0000000..cef3817 --- /dev/null +++ b/files/modules/excel/storage.py @@ -0,0 +1,67 @@ +import oci +from datetime import datetime, timedelta +from config_loader import load_config +from oci.object_storage.models import CreatePreauthenticatedRequestDetails + +config = load_config() + + +oci_config = oci.config.from_file( + file_location="~/.oci/config", + profile_name=config.bucket_profile +) + +object_storage = oci.object_storage.ObjectStorageClient(oci_config) + + +def _namespace(): + if config.oci_namespace != "auto": + return config.oci_namespace + + return object_storage.get_namespace().data + + +# ========================= +# Upload file +# ========================= +def upload_file(local_path: str, object_name: str): + + with open(local_path, "rb") as f: + object_storage.put_object( + namespace_name=_namespace(), + bucket_name=config.oci_bucket, + object_name=object_name, + put_object_body=f + ) + print(f"SUCCESS on Upload {object_name}") + +# ========================= +# Pre-authenticated download URL +# ========================= +def generate_download_url(object_name: str, hours=24): + + expire = datetime.utcnow() + timedelta(hours=hours) + + details = CreatePreauthenticatedRequestDetails( + name=f"job-{object_name}", + access_type="ObjectRead", + object_name=object_name, + time_expires=expire + ) + + response = object_storage.create_preauthenticated_request( + namespace_name=_namespace(), + bucket_name=config.oci_bucket, + create_preauthenticated_request_details=details + ) + + par = response.data + + download_link = ( + f"https://objectstorage.{oci_config['region']}.oraclecloud.com{par.access_uri}" + ) + + print("PAR CREATED OK") + print(download_link) + + return download_link \ No newline at end of file diff --git a/files/modules/excel/store.py b/files/modules/excel/store.py new file mode 100644 index 0000000..cca4ced --- /dev/null +++ b/files/modules/excel/store.py @@ -0,0 +1,4 @@ +from threading import Lock + +EXCEL_JOBS = {} +EXCEL_LOCK = Lock() \ No newline at end of file diff --git a/files/modules/health/routes.py b/files/modules/health/routes.py new file mode 100644 index 0000000..f7396de --- /dev/null +++ b/files/modules/health/routes.py @@ -0,0 +1,8 @@ +from flask import Blueprint, jsonify + +health_bp = Blueprint("health", __name__) + + +@health_bp.route("/health") +def health(): + return jsonify({"status": "UP"}) \ No newline at end of file diff --git a/files/modules/home/routes.py b/files/modules/home/routes.py new file mode 100644 index 0000000..305f512 --- /dev/null +++ b/files/modules/home/routes.py @@ -0,0 +1,16 @@ +from flask import Blueprint, render_template +from modules.core.security import requires_app_auth +from config_loader import load_config + +home_bp = Blueprint("home", __name__) +config = load_config() +API_BASE_URL = f"{config.app_base}:{config.service_port}" + +@home_bp.route("/") +@requires_app_auth +def index(): + return render_template( + "index.html", + api_base_url=API_BASE_URL, + config=config + ) \ No newline at end of file diff --git a/files/modules/rest/routes.py b/files/modules/rest/routes.py new file mode 100644 index 0000000..706b3ad --- /dev/null +++ b/files/modules/rest/routes.py @@ -0,0 +1,29 @@ +from flask import Blueprint, request, jsonify +from modules.rest.security import rest_auth_required +from modules.chat.service import answer_question # reutiliza lΓ³gica + +rest_bp = Blueprint("rest", __name__, url_prefix="/rest") + + +import json + +@rest_bp.route("/chat", methods=["POST"]) +@rest_auth_required +def rest_chat(): + data = request.get_json(force=True) or {} + + question = (data.get("question") or "").strip() + if not question: + return jsonify({"error": "question required"}), 400 + + raw_result = answer_question(question) + + try: + parsed = json.loads(raw_result) + except Exception: + return jsonify({ + "error": "invalid LLM response", + "raw": raw_result + }), 500 + + return json.dumps(parsed) \ No newline at end of file diff --git a/files/modules/rest/security.py b/files/modules/rest/security.py new file mode 100644 index 0000000..e6a3f66 --- /dev/null +++ b/files/modules/rest/security.py @@ -0,0 +1,30 @@ +import base64 +from flask import request, jsonify +from functools import wraps +from modules.users.service import authenticate_user + + +def rest_auth_required(f): + @wraps(f) + def wrapper(*args, **kwargs): + auth = request.headers.get("Authorization") + + if not auth or not auth.startswith("Basic "): + return jsonify({"error": "authorization required"}), 401 + + try: + decoded = base64.b64decode(auth.split(" ")[1]).decode() + username, password = decoded.split(":", 1) + except Exception: + return jsonify({"error": "invalid authorization header"}), 401 + + user = authenticate_user(username, password) + if not user: + return jsonify({"error": "invalid credentials"}), 401 + + # opcional: passar user adiante + request.rest_user = user + + return f(*args, **kwargs) + + return wrapper \ No newline at end of file diff --git a/files/modules/users/__init__.py b/files/modules/users/__init__.py new file mode 100644 index 0000000..a4b7f91 --- /dev/null +++ b/files/modules/users/__init__.py @@ -0,0 +1,4 @@ +from .routes import users_bp +from .model import db + +__all__ = ["users_bp", "db"] \ No newline at end of file diff --git a/files/modules/users/db.py b/files/modules/users/db.py new file mode 100644 index 0000000..90eaebc --- /dev/null +++ b/files/modules/users/db.py @@ -0,0 +1,50 @@ +from pathlib import Path +import os +import re +import oracledb +import json +import base64 +import hashlib +from datetime import datetime +import requests +import textwrap +import unicodedata +from typing import Optional +from collections import deque +from config_loader import load_config + +def chunk_hash(text: str) -> str: + return hashlib.sha256(text.encode("utf-8")).hexdigest() + +config = load_config() + +# ========================= +# Oracle Autonomous Configuration +# ========================= +WALLET_PATH = config.wallet_path +DB_ALIAS = config.db_alias +USERNAME = config.username +PASSWORD = config.password +os.environ["TNS_ADMIN"] = WALLET_PATH + +_pool = None + +def get_pool(): + global _pool + + if _pool: + return _pool + + _pool = oracledb.create_pool( + user=USERNAME, + password=PASSWORD, + dsn=DB_ALIAS, + config_dir=WALLET_PATH, + wallet_location=WALLET_PATH, + wallet_password=PASSWORD, + min=2, + max=8, + increment=1 + ) + + return _pool diff --git a/files/modules/users/email_service.py b/files/modules/users/email_service.py new file mode 100644 index 0000000..73248f8 --- /dev/null +++ b/files/modules/users/email_service.py @@ -0,0 +1,72 @@ +import os +import smtplib +from email.message import EmailMessage +from flask import current_app +from config_loader import load_config + +config = load_config() +API_BASE_URL = f"{config.app_base}:{config.service_port}" + +def send_user_created_email(email, link, name=""): + """ + DEV -> return link only + PROD -> send real email + """ + + if config.dev_mode == 1: + return link # πŸ‘ˆ sΓ³ devolve o link + + host = os.getenv("RFP_SMTP_HOST", "localhost") + port = int(os.getenv("RFP_SMTP_PORT", 25)) + + msg = EmailMessage() + msg["Subject"] = "Your account has been created" + msg["From"] = "noreply@rfp.local" + msg["To"] = email + + msg.set_content(f""" + Hello {name or email}, + + Your account was created. + + Set your password here: + {link} + """) + + with smtplib.SMTP(host, port) as s: + s.send_message(msg) + + return link + +def send_completion_email(email, download_url, job_id): + """ + DEV -> return download link + PROD -> send real email + """ + + if config.dev_mode == 1: + return download_url # πŸ‘ˆ sΓ³ devolve o link no DEV + + host = os.getenv("RFP_SMTP_HOST", "localhost") + port = int(os.getenv("RFP_SMTP_PORT", 25)) + + msg = EmailMessage() + msg["Subject"] = "Your RFP processing is complete" + msg["From"] = "noreply@rfp.local" + msg["To"] = email + + msg.set_content(f""" +Hello, + +Your RFP Excel processing has finished successfully. + +Download your file here: +{download_url} + +Job ID: {job_id} +""") + + with smtplib.SMTP(host, port) as s: + s.send_message(msg) + + return None \ No newline at end of file diff --git a/files/modules/users/model.py b/files/modules/users/model.py new file mode 100644 index 0000000..108c114 --- /dev/null +++ b/files/modules/users/model.py @@ -0,0 +1,27 @@ +from datetime import datetime +from flask_sqlalchemy import SQLAlchemy + +db = SQLAlchemy() + + +class User(db.Model): + __tablename__ = "users" + + id = db.Column(db.Integer, primary_key=True) + + name = db.Column(db.String(120), nullable=False) + email = db.Column(db.String(160), unique=True, nullable=False, index=True) + + role = db.Column(db.String(50), default="app") # app | admin + active = db.Column(db.Boolean, default=True) + + password_hash = db.Column(db.String(255)) + must_change_password = db.Column(db.Boolean, default=True) + + reset_token = db.Column(db.String(255)) + reset_expire = db.Column(db.DateTime) + + created_at = db.Column(db.DateTime, default=datetime.utcnow) + + def __repr__(self): + return f"" \ No newline at end of file diff --git a/files/modules/users/routes.py b/files/modules/users/routes.py new file mode 100644 index 0000000..99c7e0b --- /dev/null +++ b/files/modules/users/routes.py @@ -0,0 +1,157 @@ +from flask import Blueprint, render_template, request, redirect, url_for, flash +from modules.core.security import requires_admin_auth + +from .service import ( + signup_user, + list_users as svc_list_users, + create_user, + update_user, + delete_user as svc_delete_user, + get_user_by_token, + set_password_service +) + +from .token_service import generate_token, expiration, is_expired +from .email_service import send_user_created_email +from config_loader import load_config + +users_bp = Blueprint( + "users", + __name__, + template_folder="../../templates/users" +) + +config = load_config() + + +# ========================= +# LIST USERS (Oracle) +# ========================= +@users_bp.route("/") +@requires_admin_auth +def list_users(): + users = svc_list_users() + return render_template("list.html", users=users) + + +# ========================= +# PUBLIC SIGNUP (Oracle) +# ========================= +@users_bp.route("/signup", methods=["GET", "POST"]) +def signup(): + + if request.method == "POST": + email = request.form.get("email", "").strip() + name = request.form.get("name", "").strip() + + try: + link = signup_user(email=email, name=name) + except Exception as e: + flash(str(e), "danger") + return render_template("users/signup.html") + + if link and config.dev_mode == 1: + flash(f"DEV MODE: password link β†’ {link}", "success") + else: + flash("User created and email sent", "success") + + return redirect(url_for("users.signup")) + + return render_template("users/signup.html") + + +# ========================= +# CREATE USER (Oracle) +# ========================= +@users_bp.route("/new", methods=["GET", "POST"]) +@requires_admin_auth +def new_user(): + + if request.method == "POST": + + token = generate_token() + + create_user( + name=request.form["name"], + email=request.form["email"], + role=request.form["role"], + active="active" in request.form, + token=token + ) + + link = url_for("users.set_password", token=token, _external=True) + + dev_link = send_user_created_email( + request.form["email"], + link, + request.form["name"] + ) + + flash("User created and email sent", "success") + return redirect(url_for("users.list_users")) + + return render_template("form.html", user=None) + + +# ========================= +# EDIT USER (Oracle) +# ========================= +@users_bp.route("/edit/", methods=["GET", "POST"]) +@requires_admin_auth +def edit_user(user_id): + + if request.method == "POST": + update_user( + user_id=user_id, + name=request.form["name"], + email=request.form["email"], + role=request.form["role"], + active="active" in request.form + ) + + return redirect(url_for("users.list_users")) + + # busca lista inteira e filtra (simples e funciona bem) + users = svc_list_users() + user = next((u for u in users if u["id"] == user_id), None) + + return render_template("form.html", user=user) + + +# ========================= +# DELETE USER (Oracle) +# ========================= +@users_bp.route("/delete/") +@requires_admin_auth +def delete_user(user_id): + + svc_delete_user(user_id) + return redirect(url_for("users.list_users")) + + +# ========================= +# SET PASSWORD (Oracle) +# ========================= +@users_bp.route("/set-password/", methods=["GET", "POST"]) +def set_password(token): + + user = get_user_by_token(token) + + if not user or is_expired(user["expire"]): + return render_template("set_password.html", expired=True) + + if request.method == "POST": + + pwd = request.form["password"] + pwd2 = request.form["password2"] + + if pwd != pwd2: + flash("Passwords do not match") + return render_template("set_password.html", expired=False) + + set_password_service(user["id"], pwd) + + flash("Password updated successfully") + return redirect("/") + + return render_template("set_password.html", expired=False) \ No newline at end of file diff --git a/files/modules/users/service.py b/files/modules/users/service.py new file mode 100644 index 0000000..d06af9c --- /dev/null +++ b/files/modules/users/service.py @@ -0,0 +1,204 @@ +#from .model import db, User +from .token_service import generate_token, expiration +from .email_service import send_user_created_email +from config_loader import load_config +from .db import get_pool +import bcrypt +from werkzeug.security import generate_password_hash, check_password_hash + +config = load_config() + +def authenticate_user(username: str, password: str): + + print("LOGIN TRY:", username, password) + + sql = """ + SELECT password_hash + FROM app_users + WHERE email = :1 \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [username]) + row = cur.fetchone() + + # print("ROW:", row) + + if not row: + # print("USER NOT FOUND") + return False + + stored_hash = row[0] + # print("HASH:", stored_hash) + + ok = check_password_hash(stored_hash, password) + + # print("MATCH:", ok) + + return ok + +def create_user(username: str, password: str): + + hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt()).decode() + + sql = """ + INSERT INTO app_users (username, password_hash) + VALUES (:1, :2) \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [username, hashed]) + conn.commit() + +def _default_name(email: str) -> str: + return (email or "").split("@")[0] + + +def signup_user(email: str, name: str = ""): + + if not email: + raise ValueError("Email required") + + email = email.lower().strip() + name = name or email.split("@")[0] + + token = generate_token() + + pool = get_pool() + + sql_check = """ + SELECT id + FROM app_users + WHERE email = :1 \ + """ + + sql_insert = """ + INSERT INTO app_users + (name,email,user_role,active,reset_token,reset_expire,must_change_password) + VALUES (:1,:2,'user',1,:3,:4,1) \ + """ + + sql_update = """ + UPDATE app_users + SET reset_token=:1, + reset_expire=:2, + must_change_password=1 + WHERE email=:3 \ + """ + + with pool.acquire() as conn: + with conn.cursor() as cur: + + cur.execute(sql_check, [email]) + row = cur.fetchone() + + if not row: + cur.execute(sql_insert, [name, email, token, expiration()]) + else: + cur.execute(sql_update, [token, expiration(), email]) + + conn.commit() + + link = f"{config.app_base}:{config.service_port}/admin/users/set-password/{token}" + + dev_link = send_user_created_email(email, link, name) + + return dev_link or link + +def list_users(): + sql = """ + SELECT id, name, email, user_role, active + FROM app_users + ORDER BY name \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql) + cols = [c[0].lower() for c in cur.description] + return [dict(zip(cols, r)) for r in cur.fetchall()] + +def create_user(name, email, role, active, token): + sql = """ + INSERT INTO app_users + (name,email,user_role,active,reset_token,reset_expire,must_change_password) + VALUES (:1,:2,:3,:4,:5,SYSTIMESTAMP + INTERVAL '1' DAY,1) \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [name, email, role, active, token]) + conn.commit() + +def update_user(user_id, name, email, role, active): + sql = """ + UPDATE app_users + SET name=:1, email=:2, user_role=:3, active=:4 + WHERE id=:5 \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [name, email, role, active, user_id]) + conn.commit() + +def delete_user(user_id): + sql = "DELETE FROM app_users WHERE id=:1" + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [user_id]) + conn.commit() + +def get_user_by_token(token): + sql = """ + SELECT id, reset_expire + FROM app_users + WHERE reset_token=:1 \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [token]) + row = cur.fetchone() + + if not row: + return None + + return {"id": row[0], "expire": row[1]} + +def set_password_service(user_id, pwd): + hashed = generate_password_hash(pwd) + + sql = """ + UPDATE app_users + SET password_hash=:1, + must_change_password=0, + reset_token=NULL, + reset_expire=NULL + WHERE id=:2 \ + """ + + pool = get_pool() + + with pool.acquire() as conn: + with conn.cursor() as cur: + cur.execute(sql, [hashed, user_id]) + conn.commit() + diff --git a/files/modules/users/token_service.py b/files/modules/users/token_service.py new file mode 100644 index 0000000..284b26a --- /dev/null +++ b/files/modules/users/token_service.py @@ -0,0 +1,14 @@ +import secrets +from datetime import datetime, timedelta + + +def generate_token(): + return secrets.token_urlsafe(48) + + +def expiration(hours=24): + return datetime.utcnow() + timedelta(hours=hours) + + +def is_expired(expire_dt): + return not expire_dt or expire_dt < datetime.utcnow() \ No newline at end of file diff --git a/files/oci_genai_llm_graphrag_rerank_rfp.py b/files/oci_genai_llm_graphrag_rerank_rfp.py new file mode 100644 index 0000000..9a9ef93 --- /dev/null +++ b/files/oci_genai_llm_graphrag_rerank_rfp.py @@ -0,0 +1,3095 @@ +from langchain_community.chat_models.oci_generative_ai import ChatOCIGenAI +from langchain_core.prompts import PromptTemplate +from langchain.schema.output_parser import StrOutputParser +from langchain_community.embeddings import OCIGenAIEmbeddings +from langchain_community.vectorstores import FAISS +from langchain.schema.runnable import RunnableMap +from langchain_community.document_loaders import UnstructuredPDFLoader, PyMuPDFLoader +from langchain_core.documents import Document +from langchain_core.runnables import RunnableLambda +from pathlib import Path +from tqdm import tqdm +import os +import pickle +import re +import atexit +import oracledb +import json +import base64 +import hashlib +from datetime import datetime +import requests +import textwrap +import unicodedata +from typing import Optional +from collections import deque +from langchain.callbacks.base import BaseCallbackHandler +from langdetect import detect +from config_loader import load_config +from concurrent.futures import ThreadPoolExecutor, as_completed +import threading + +def chunk_hash(text: str) -> str: + return hashlib.sha256(text.encode("utf-8")).hexdigest() + +config = load_config() + +# ========================= +# Oracle Autonomous Configuration +# ========================= +WALLET_PATH = config.wallet_path +DB_ALIAS = config.db_alias +USERNAME = config.username +PASSWORD = config.password +os.environ["TNS_ADMIN"] = WALLET_PATH + +# ========================= +# Global Configurations +# ========================= +INDEX_PATH = config.index_path +PROCESSED_DOCS_FILE = os.path.join(INDEX_PATH, "processed_docs.pkl") +chapter_separator_regex = r"^(#{1,6} .+|\*\*.+\*\*)$" +GRAPH_NAME = config.graph_name +LOG_BUFFER = deque(maxlen=500) +MAX_ATTEMPTS = 3 +GENAI_MAX_CONCURRENT = 1000 +GENAI_SEMAPHORE = threading.Semaphore(GENAI_MAX_CONCURRENT) + +def call_llm(fn, *args, **kwargs): + with GENAI_SEMAPHORE: + return fn(*args, **kwargs) + +# ========================= +# LLM Definitions +# ========================= + +llm = ChatOCIGenAI( + model_id=config.llm_model, + service_endpoint=config.service_endpoint, + compartment_id=config.compartment_id, + auth_profile=config.auth_profile, + model_kwargs={"temperature": 0, "top_p": 1, "max_tokens": 4000}, +) + +llm_for_rag = ChatOCIGenAI( + model_id=config.llm_model, + service_endpoint=config.service_endpoint, + compartment_id=config.compartment_id, + auth_profile=config.auth_profile, +) + +lrm_for_architect = ChatOCIGenAI( + model_id=config.llm_model, + service_endpoint=config.service_endpoint, + compartment_id=config.compartment_id, + auth_profile=config.auth_profile, +) + +embeddings = OCIGenAIEmbeddings( + model_id=config.embedding_model, + service_endpoint=config.service_endpoint, + compartment_id=config.compartment_id, + auth_profile=config.auth_profile, +) + +oracle_conn = oracledb.connect( + user=USERNAME, + password=PASSWORD, + dsn=DB_ALIAS, + config_dir=WALLET_PATH, + wallet_location=WALLET_PATH, + wallet_password=PASSWORD +) +atexit.register(lambda: oracle_conn.close()) + +def filename_to_url(filename: str, suffix: str = ".pdf") -> str: + if filename.endswith(suffix): + filename = filename[: -len(suffix)] + decoded = base64.urlsafe_b64decode(filename.encode("ascii")) + return decoded.decode("utf-8") + +def default_logger(msg): + print(msg) + +# ========================================= +# ARCHITECTURE-SPECIFIC SOURCE RANKING +# ========================================= + +class BrowserLogCallback(BaseCallbackHandler): + + def __init__(self, logger): + self.log = logger + + # ---------- CHAIN ---------- + def on_chain_start(self, serialized, inputs, **kwargs): + self.log("πŸ”΅ Chain started") + + def on_chain_end(self, outputs, **kwargs): + self.log("🟒 Chain finished") + + # ---------- LLM ---------- + def on_llm_start(self, serialized, prompts, **kwargs): + self.log("πŸ€– LLM call started") + self.log(f"πŸ“ Prompt size: {len(prompts[0])} chars") + + def on_llm_end(self, response, **kwargs): + self.log("βœ… LLM response received") + + # ---------- RETRIEVER ---------- + def on_retriever_start(self, serialized, query, **kwargs): + self.log(f"πŸ” Searching vector store: {query}") + + def on_retriever_end(self, documents, **kwargs): + self.log(f"πŸ“š Retrieved {len(documents)} chunks") + + # ---------- ERRORS ---------- + def on_chain_error(self, error, **kwargs): + self.log(f"❌ ERROR: {error}") + +ARCH_GOOD_HINTS = [ + "overview", + "concept", + "architecture", + "service", + "use-case" +] + +ARCH_BAD_HINTS = [ + "home", + "index", + "portal", + "release-notes", + "troubleshoot", + "known-issues" +] + + +def score_arch_url(url: str) -> int: + if not url: + return 0 + + u = url.lower() + score = 0 + + for g in ARCH_GOOD_HINTS: + if g in u: + score += 3 + + for b in ARCH_BAD_HINTS: + if b in u: + score -= 5 + + if "docs.oracle.com" in u: + score += 2 + + return score + + +def resolve_arch_source(doc): + """ + Igual resolve_chunk_source, mas com ranking especΓ­fico para arquitetura. + NΓƒO afeta o resto do pipeline. + """ + text = doc.page_content or "" + md = doc.metadata or {} + + candidates = [] + + candidates += URL_REGEX.findall(text) + + if md.get("reference"): + candidates.append(md["reference"]) + + if md.get("source"): + candidates.append(md["source"]) + + if not candidates: + return "Oracle Cloud Infrastructure documentation" + + candidates = list(set(candidates)) + candidates.sort(key=score_arch_url, reverse=True) + + return candidates[0] + +def strip_accents(s: str) -> str: + return ''.join( + c for c in unicodedata.normalize('NFD', s) + if unicodedata.category(c) != 'Mn' + ) + +def normalize_lang(code: str) -> str: + mapping = { + "pt": "Portuguese", + "en": "English", + "es": "Spanish", + "fr": "French", + "de": "German", + "it": "Italian" + } + return mapping.get(code, "English") + +# ========================= +# SOURCE VALIDATION (POST LLM) +# ========================= + +INVALID_SOURCE_TOKEN = "---------" +URL_TIMEOUT = 3 + +_url_cache = {} + +def url_exists(url: str) -> bool: + + if not url or not url.startswith("http"): + return False + + if url in _url_cache: + return _url_cache[url] + + try: + r = requests.get( + url, + timeout=URL_TIMEOUT, + allow_redirects=True, + headers={"User-Agent": "Mozilla/5.0"} + ) + + if r.status_code >= 400: + _url_cache[url] = False + return False + + html = (r.text or "").lower() + + # ==================================== + # πŸ”₯ ORACLE SOFT-404 TEMPLATE DETECTION + # ==================================== + soft_404_patterns = [ + "page not found", + "that page is not available", + "class=\"page-not-found\"", + "redwood-light-404.css", + "error-container" + ] + + if any(p in html for p in soft_404_patterns): + _url_cache[url] = False + return False + + # ==================================== + # πŸ”₯ conteΓΊdo mΓ­nimo REAL (sem menu) + # ==================================== + + from bs4 import BeautifulSoup + + soup = BeautifulSoup(html, "html.parser") + + for tag in soup(["script", "style", "nav", "footer", "header"]): + tag.decompose() + + visible_text = soup.get_text(" ", strip=True) + + # se depois de remover layout quase nΓ£o sobra texto => stub + # if len(visible_text) < 300: + # _url_cache[url] = False + # return False + + _url_cache[url] = True + return True + + except: + _url_cache[url] = False + return False + +def validate_and_sanitize_sources(answer: dict) -> dict: + if not isinstance(answer, dict): + return {"answer": "NO", "confidence": "LOW", "ambiguity_detected": True, + "confidence_reason": "Invalid answer type", "justification": "", "evidence": []} + + # cΓ³pia shallow do topo + cΓ³pia da lista evidence + out = dict(answer) + evidences = out.get("evidence", []) + + if not isinstance(evidences, list): + return out + + new_evidences = [] + for ev in evidences: + if not isinstance(ev, dict): + new_evidences.append(ev) + continue + + ev2 = dict(ev) + src = ev2.get("source") + + if isinstance(src, list): + ev2["source"] = [ + s if (isinstance(s, str) and url_exists(s)) else INVALID_SOURCE_TOKEN + for s in src + ] + else: + ev2["source"] = ( + src if (isinstance(src, str) and url_exists(src)) else INVALID_SOURCE_TOKEN + ) + + if ev2["source"] == INVALID_SOURCE_TOKEN: + print(src) + + new_evidences.append(ev2) + + out["evidence"] = new_evidences + return out + +# ========================= +# LRM Definitions +# ========================= +def build_architecture_evidence(docs, max_chunks=30): + ranked = sorted( + docs, + key=lambda d: score_arch_url(resolve_arch_source(d)), + reverse=True + ) + + evidence = [] + + for d in ranked[:max_chunks]: + quote = d.page_content[:3000] + quote = re.sub(r"Reference:\s*\S+", "", quote) + + evidence.append({ + "quote": quote, + "source": resolve_arch_source(d) + }) + + return evidence + +def enforce_architecture_sources(plan: dict, evidence: list[dict]) -> dict: + if not evidence: + return plan + + ev_list = [e for e in evidence if e.get("source")] + valid_sources = { + str(e.get("source", "")) + for e in ev_list + if e.get("source") + } + + def pick_best_source(service: str) -> dict | None: + if not service: + return None + + s = service.lower() + + best = None + best_score = -1 + + service_terms = [t for t in re.findall(r"[a-z0-9]+", s) if len(t) >= 3] + + for e in ev_list: + hay = (e.get("quote", "") + " " + e.get("source", "")).lower() + score = sum(1 for t in service_terms if t in hay) + + if score > best_score: + best_score = score + best = e + + return best if best_score > 0 else None + + for d in plan.get("decisions", []): + service = d.get("service", "") + ev = d.get("evidence", {}) or {} + + if ev.get("source") in valid_sources: + continue + + best_ev = pick_best_source(service) + if best_ev: + d["evidence"] = { + "quote": best_ev.get("quote", ev.get("quote", "")), + "source": best_ev["source"], + } + continue + + if not ev.get("source"): + d["evidence"] = { + "quote": ev.get("quote", ""), + "source": ev_list[0]["source"], + } + + return plan + +def build_architecture_chain(): + + ARCH_PROMPT = PromptTemplate.from_template(""" + You are a senior OCI Cloud Architect. + + TASK: + Design an OCI architecture for: + + {question} + + You MUST design the solution using the provided documentation evidence. + + **DOCUMENT EVIDENCE** (JSON): + {text_context} + + **GRAPH FACTS**: + {graph_context} + + Rules (MANDATORY): + - Use ONLY services supported by **DOCUMENT EVIDENCE**. + - The architecture may involve MULTIPLE OCI services; therefore decisions may require DIFFERENT sources (do not reuse a single URL for everything unless it truly applies). + - Set each service from this OCI Services: + Oracle Cloud Infrastructure Service (OCI): + + Compute (IaaS) + β€’ Compute Instances (VM) + β€’ Bare Metal Instances + β€’ Dedicated VM Hosts + β€’ GPU Instances + β€’ Confidential Computing + β€’ Capacity Reservations + β€’ Autoscaling (Instance Pools) + β€’ Live Migration + β€’ Oracle Cloud VMware Solution (OCVS) + β€’ HPC (High Performance Computing) + β€’ Arm-based Compute (Ampere) + + Storage + + Object Storage + β€’ Object Storage + β€’ Object Storage – Archive + β€’ Pre-Authenticated Requests + β€’ Replication + + Block & File + β€’ Block Volume + β€’ Boot Volume + β€’ Volume Groups + β€’ File Storage + β€’ File Storage Snapshots + β€’ Data Transfer Service + + Networking + β€’ Virtual Cloud Network (VCN) + β€’ Subnets + β€’ Internet Gateway + β€’ NAT Gateway + β€’ Service Gateway + β€’ Dynamic Routing Gateway (DRG) + β€’ FastConnect + β€’ Load Balancer (L7 / L4) + β€’ Network Load Balancer + β€’ DNS + β€’ Traffic Management Steering Policies + β€’ IP Address Management (IPAM) + β€’ Network Firewall + β€’ Web Application Firewall (WAF) + β€’ Bastion + β€’ Capture Traffic (VTAP) + β€’ Private Endpoints + + Security, Identity & Compliance + β€’ Identity and Access Management (IAM) + β€’ Compartments + β€’ Policies + β€’ OCI Vault + β€’ OCI Key Management (KMS) + β€’ OCI Certificates + β€’ OCI Secrets + β€’ OCI Bastion + β€’ Cloud Guard + β€’ Security Zones + β€’ Vulnerability Scanning Service + β€’ Data Safe + β€’ Logging + β€’ Audit + β€’ OS Management / OS Management Hub + β€’ Shielded Instances + β€’ Zero Trust Packet Routing + + Databases + + Autonomous + β€’ Autonomous Database (ATP) + β€’ Autonomous Data Warehouse (ADW) + β€’ Autonomous JSON Database + + Databases Gerenciados + β€’ Oracle Database Service + β€’ Oracle Exadata Database Service + β€’ Exadata Cloud@Customer + β€’ Base Database Service + β€’ MySQL Database Service + β€’ MySQL HeatWave + β€’ NoSQL Database Cloud Service + β€’ TimesTen + β€’ PostgreSQL (OCI managed) + β€’ MongoDB API (OCI NoSQL compatibility) + + Analytics & BI + β€’ Oracle Analytics Cloud (OAC) + β€’ OCI Data Catalog + β€’ OCI Data Integration + β€’ OCI Streaming Analytics + β€’ OCI GoldenGate + β€’ OCI Big Data Service (Hadoop/Spark) + β€’ OCI Data Science + β€’ OCI AI Anomaly Detection + β€’ OCI AI Forecasting + + AI & Machine Learning + + Generative AI + β€’ OCI Generative AI + β€’ OCI Generative AI Agents + β€’ OCI Generative AI RAG + β€’ OCI Generative AI Embeddings + β€’ OCI AI Gateway (OpenAI-compatible) + + AI Services + β€’ OCI Vision (OCR, image analysis) + β€’ OCI Speech (STT / TTS) + β€’ OCI Language (NLP) + β€’ OCI Document Understanding + β€’ OCI Anomaly Detection + β€’ OCI Forecasting + β€’ OCI Data Labeling + + Containers & Cloud Native + β€’ OCI Container Engine for Kubernetes (OKE) + β€’ Container Registry (OCIR) + β€’ Service Mesh + β€’ API Gateway + β€’ OCI Functions (FaaS) + β€’ OCI Streaming (Kafka-compatible) + β€’ OCI Queue + β€’ OCI Events + β€’ OCI Resource Manager (Terraform) + + Integration & Messaging + β€’ OCI Integration Cloud (OIC) + β€’ OCI Service Connector Hub + β€’ OCI Streaming + β€’ OCI GoldenGate + β€’ OCI API Gateway + β€’ OCI Events Service + β€’ OCI Queue + β€’ Real Applications Clusters (RAC) + + Developer Services + β€’ OCI DevOps (CI/CD) + β€’ OCI Code Repository + β€’ OCI Build Pipelines + β€’ OCI Artifact Registry + β€’ OCI Logging Analytics + β€’ OCI Monitoring + β€’ OCI Notifications + β€’ OCI Bastion + β€’ OCI CLI + β€’ OCI SDKs + + Observability & Management + β€’ OCI Monitoring + β€’ OCI Alarms + β€’ OCI Logging + β€’ OCI Logging Analytics + β€’ OCI Application Performance Monitoring (APM) + β€’ OCI Operations Insights + β€’ OCI Management Agent + β€’ OCI Resource Discovery + + Enterprise & Hybrid + β€’ Oracle Cloud@Customer + β€’ Exadata Cloud@Customer + β€’ Compute Cloud@Customer + β€’ Dedicated Region Cloud@Customer + β€’ OCI Roving Edge Infrastructure + β€’ OCI Alloy + + Governance & FinOps + β€’ OCI Budgets + β€’ Cost Analysis + β€’ Usage Reports + β€’ Quotas + β€’ Tagging + β€’ Compartments + β€’ Resource Search + + Regions & Edge + β€’ OCI Regions (Commercial, Government, EU Sovereign) + β€’ OCI Edge Services + β€’ OCI Roving Edge + β€’ OCI Dedicated Region + + STRICT SERVICE GROUNDING RULE (MANDATORY): + - For each decision, use evidence from the SAME service_group as the decision service. + - Do NOT justify one service using evidence from another service's documentation. + + SOURCE RULES (STRICT): + - Copy ONLY URLs that appear EXACTLY in DOCUMENT EVIDENCE or GRAPH FACTS + - NEVER create or guess URLs + - If no URL is explicitly present, set source = null + - It is allowed to return null + - GIVE MANY SOURCES URL + - GIVE A COMPLETE PATH OF URL SOURCES TO UNDERSTAND THE CONCEPTS THEME + - GIVE one or more OVERVIEW SOURCE URL + - GIVE one or more SOLUTION AND ARCHITECTURE SOURCE URL + + MANDATORY: + - Break into requirements + - Map each requirement to OCI services + - Justify each choice + + LANGUAGE RULE (MANDATORY): **DO TRANSLATION AS THE LAST STEP** + - Write ALL textual values in {lang} + - Keep JSON keys in English + - Do NOT translate keys + + Return ONLY JSON: + + {{ + "problem_summary": "...", + "architecture": {{ + "components": [ + {{ + "id": "api", + "service": "OCI API Gateway", + "purpose": "...", + "source": ["__AUTO__"], + "connects_to": [] + }} + ] + }}, + "decisions": [ + {{ + "service": "...", + "reason": "must cite evidence", + "evidence": {{ + "quote": "...", + "source": ["__AUTO__"] + }} + }} + ] + }} + """) + + callback = BrowserLogCallback(default_logger) + + chain_arch = ( + RunnableLambda(lambda q: { + "question": q, + "req": parse_rfp_requirement(q) + }) + | RunnableMap({ + "question": lambda x: x["question"], + "text_context": lambda x: get_architecture_context(x["req"])["text_context"], + "graph_context": lambda x: get_architecture_context(x["req"])["graph_context"], + "lang": lambda x: normalize_lang(detect(x["question"])) + }) + | ARCH_PROMPT + | lrm_for_architect + | StrOutputParser() + ).with_config(callbacks=[callback]) + + return chain_arch + +def score_url_quality(url: str) -> int: + if not url: + return 0 + + u = url.lower() + score = 0 + + if "/solutions/" in u: + score += 8 + + elif "youtube.com" in u or "youtu.be" in u: + score += 7 + + elif any(x in u for x in [ + "architecture", "overview", "concept", "how-to", "use-case" + ]): + score += 5 + + elif "docs.oracle.com" in u: + score += 3 + + if any(x in u for x in [ + "home", "index", "portal", "release-notes", "faq", "troubleshoot" + ]): + score -= 10 + + return score + + +def score_architecture_plan(plan: dict) -> int: + if not plan: + return -1 + + score = 0 + + comps = plan.get("architecture", {}).get("components", []) + decisions = plan.get("decisions", []) + + score += len(comps) * 3 + score += len(decisions) * 4 + + for d in decisions: + ev = d.get("evidence", {}) or {} + srcs = ev.get("source", []) + + if isinstance(srcs, str): + srcs = [srcs] + + for s in srcs: + score += score_url_quality(s) + + quote = "" + if ev.get("quote", ""): + quote = ev.get("quote", "") + + score += min(len(quote) // 500, 4) + + return score + +def call_architecture_planner( + question: str, + parallel_attempts: int = MAX_ATTEMPTS, + log=default_logger +): + log("\nπŸ—οΈ ARCHITECTURE (PARALLEL SELF-CONSISTENCY)") + + def worker(i): + print(0) + # raw = chain_architecture.invoke(question) + raw = call_llm(chain_architecture.invoke, question) + print(1) + plan = safe_parse_architecture_json(raw) + print(2) + + try: + score = score_architecture_plan(plan) + except: + print("Error scoring", plan) + score = 0 + print(3) + + return { + "attempt": i, + "plan": plan, + "score": score + } + + results = [] + + with ThreadPoolExecutor(max_workers=parallel_attempts) as executor: + futures = [ + executor.submit(worker, i) + for i in range(1, parallel_attempts + 1) + ] + + for f in as_completed(futures): + results.append(f.result()) + + results.sort(key=lambda r: r["score"], reverse=True) + + for r in results: + log(f"⚑ Attempt {r['attempt']} score={r['score']}") + + best = results[0]["plan"] + + log(f"\nπŸ† Selected architecture from attempt {results[0]['attempt']}") + + + plan = safe_parse_architecture_json(best) + plan = validate_architecture_sources(plan) + + return plan + +def architecture_to_mermaid(plan: dict) -> str: + + architecture = plan.get("architecture", {}) + comps = architecture.get("components", []) + + if not comps: + return "flowchart TB\nEmpty[No components]" + + direction = "TB" if len(comps) > 6 else "LR" + + lines = [f"flowchart {direction}"] + + # nodes + for c in comps: + cid = c["id"] + purpose = "\n".join(textwrap.wrap(c["purpose"], 28)) + label = f'{c["service"]}\\n{purpose}' + lines.append(f'{cid}["{label}"]') + + # edges + for c in comps: + src = c["id"] + + for target in c.get("connects_to", []): + + if isinstance(target, dict): + dst = target.get("id") + + elif isinstance(target, str): + dst = target + + else: + continue + + if dst: + lines.append(f"{src} --> {dst}") + + return "\n".join(lines) + +def get_architecture_context(req: dict): + query_terms = extract_graph_keywords_from_requirement(req) + + docs = search_active_chunks(query_terms) + graph_context = query_knowledge_graph(query_terms, top_k=20, min_score=1) + + graph_terms = extract_terms_from_graph_text(graph_context) + reranked_chunks = rerank_documents_with_graph_terms( + docs, + query_terms, + graph_terms, + top_k=8 + ) + structured_evidence = build_architecture_evidence(reranked_chunks) + + return { + "text_context": structured_evidence, + "graph_context": graph_context, + "requirement_type": req["requirement_type"], + "subject": req["subject"], + "expected_value": req.get("expected_value", "") + } + +def extract_first_balanced_json(text: str) -> str | None: + """ + Extrai APENAS o primeiro JSON balanceado. + Ignora QUALQUER coisa depois. + """ + + start = text.find("{") + if start == -1: + return None + + depth = 0 + + for i, c in enumerate(text[start:], start): + if c == "{": + depth += 1 + elif c == "}": + depth -= 1 + + if depth == 0: + return text[start:i+1] + + return None + +def sanitize_json_string(text: str) -> str: + return re.sub(r'\\(?!["\\/bfnrtu])', r'\\\\', text) + + +def recover_json_object(text: str) -> str | None: + """ + Extrai o primeiro objeto JSON possΓ­vel. + - ignora lixo antes/depois + - tolera truncamento + - fecha chaves automaticamente + """ + + if not text: + return None + + # remove markdown fences + text = text.replace("```json", "").replace("```", "") + + start = text.find("{") + if start == -1: + return None + + text = text[start:] + + depth = 0 + end_pos = None + + for i, c in enumerate(text): + if c == "{": + depth += 1 + elif c == "}": + depth -= 1 + + if depth == 0: + end_pos = i + 1 + break + + # βœ… caso normal β†’ JSON completo + if end_pos: + return text[:end_pos] + + # πŸ”₯ caso TRUNCADO β†’ fecha automaticamente + opens = text.count("{") + closes = text.count("}") + + missing = opens - closes + + if missing > 0: + text = text + ("}" * missing) + + text = sanitize_json_string(text) + text = extract_first_balanced_json(text) + + return text + +def safe_parse_architecture_json(raw): + """ + Robust JSON parser for LLM output. + Remove control chars + fix invalid escapes. + """ + + if isinstance(raw, dict): + return raw + + if not raw: + return {} + + raw = raw.replace("```json", "").replace("```", "").strip() + + # pega sΓ³ o bloco JSON + m = re.search(r"\{.*\}", raw, re.DOTALL) + if not m: + raise ValueError(f"Invalid architecture JSON:\n{raw}") + + json_text = m.group(0) + + # πŸ”₯ remove caracteres de controle invisΓ­veis + json_text = re.sub(r"[\x00-\x1F\x7F]", " ", json_text) + + # πŸ”₯ normaliza newlines + json_text = json_text.replace("\r", " ").replace("\n", " ") + + try: + return json.loads(json_text) + except Exception as e: + print(e) + print("⚠️ JSON RAW (debug):") + print(json_text) + try: + return json.loads(recover_json_object(json_text)) + except Exception as e1: + print(e1) + raise e1 + +# ========================= +# Oracle Graph Client +# ========================= +ANSWER_RANK = { + "YES": 3, + "PARTIAL": 2, + "NO": 1 +} + +CONFIDENCE_RANK = { + "HIGH": 3, + "MEDIUM": 2, + "LOW": 1 +} + +def score_answer(parsed: dict) -> int: + ans = parsed.get("answer", "NO") + conf = parsed.get("confidence", "LOW") + evidence = parsed.get("evidence", []) + + # πŸ”Ή base lΓ³gica (jΓ‘ existia) + base = ANSWER_RANK.get(ans, 0) * 10 + CONFIDENCE_RANK.get(conf, 0) + + unique_sources = set() + quote_size = 0 + source_quality = 0 + + for e in evidence: + src = (e.get("source") or "").lower() + quote = e.get("quote", "") + + if not src: + continue + + unique_sources.add(src) + quote_size = 0 + if quote: + quote_size += len(quote) + + # πŸ”₯ pesos inteligentes por qualidade + if "/solutions/" in src: + source_quality += 6 + + elif "youtube.com" in src: + source_quality += 5 + + elif any(x in src for x in ["architecture", "overview", "concepts", "how-to"]): + source_quality += 4 + + elif "docs.oracle.com" in src: + source_quality += 2 + + elif any(x in src for x in ["home", "index", "portal"]): + source_quality -= 5 + + evidence_score = ( + len(unique_sources) * 3 + + min(quote_size // 500, 5) + + source_quality + ) + + return base + evidence_score + +def ensure_oracle_text_index( + conn, + table_name: str, + column_name: str, + index_name: str +): + cursor = conn.cursor() + + cursor.execute(""" + SELECT status + FROM user_indexes + WHERE index_name = :idx + """, {"idx": index_name.upper()}) + + row = cursor.fetchone() + index_exists = row is not None + index_status = row[0] if row else None + + if not index_exists: + print(f"πŸ› οΈ Creating Oracle Text index {index_name}") + + cursor.execute(f""" + CREATE INDEX {index_name} + ON {table_name} ({column_name}) + INDEXTYPE IS CTXSYS.CONTEXT + """) + + conn.commit() + cursor.close() + print(f"βœ… Index {index_name} created (sync deferred)") + return + + if index_status != "VALID": + print(f"⚠️ Index {index_name} is {index_status}. Recreating...") + + try: + cursor.execute(f"DROP INDEX {index_name}") + conn.commit() + except Exception as e: + print(f"❌ Failed to drop index {index_name}: {e}") + cursor.close() + return + + cursor.execute(f""" + CREATE INDEX {index_name} + ON {table_name} ({column_name}) + INDEXTYPE IS CTXSYS.CONTEXT + """) + conn.commit() + cursor.close() + print(f"♻️ Index {index_name} recreated (sync deferred)") + return + + print(f"πŸ”„ Syncing Oracle Text index: {index_name}") + try: + cursor.execute(f""" + BEGIN + CTX_DDL.SYNC_INDEX('{index_name}', '2M'); + END; + """) + conn.commit() + print(f"βœ… Index {index_name} synced") + except Exception as e: + print(f"⚠️ Sync failed for {index_name}: {e}") + print("⚠️ Continuing without breaking pipeline") + + cursor.close() + +def _col_exists(conn, table: str, col: str) -> bool: + cur = conn.cursor() + cur.execute(""" + SELECT 1 + FROM user_tab_cols + WHERE table_name = :t + AND column_name = :c + """, {"t": table.upper(), "c": col.upper()}) + ok = cur.fetchone() is not None + cur.close() + return ok + + +def create_tables_if_not_exist(conn): + cursor = conn.cursor() + + try: + # --------------------------- + # KG_NODES + # --------------------------- + cursor.execute(f""" + BEGIN + EXECUTE IMMEDIATE ' + CREATE TABLE KG_NODES_{GRAPH_NAME} ( + ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, + NODE_TYPE VARCHAR2(100), + NAME VARCHAR2(1000), + DESCRIPTION CLOB, + PROPERTIES CLOB, + CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP + ) + '; + EXCEPTION WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; END IF; + END; + """) + + # --------------------------- + # KG_EDGES (estrutura + ponte pro chunk) + # --------------------------- + cursor.execute(f""" + BEGIN + EXECUTE IMMEDIATE ' + CREATE TABLE KG_EDGES_{GRAPH_NAME} ( + ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, + SOURCE_ID NUMBER, + TARGET_ID NUMBER, + EDGE_TYPE VARCHAR2(100), + + -- βœ… governanΓ§a / revogaΓ§Γ£o + CHUNK_HASH VARCHAR2(64), + + -- βœ… link principal (melhor url do chunk) + SOURCE_URL VARCHAR2(2000), + + CONFIDENCE_WEIGHT NUMBER DEFAULT 1, + CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP + ) + '; + EXCEPTION WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; END IF; + END; + """) + + cursor.execute(f""" + BEGIN + EXECUTE IMMEDIATE ' + CREATE UNIQUE INDEX KG_EDGE_UNQ_{GRAPH_NAME} + ON KG_EDGES_{GRAPH_NAME} + (SOURCE_ID, TARGET_ID, EDGE_TYPE, CHUNK_HASH) + '; + EXCEPTION WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; END IF; + END; + """) + + # --------------------------- + # KG_EVIDENCE (prova) + # --------------------------- + cursor.execute(f""" + BEGIN + EXECUTE IMMEDIATE ' + CREATE TABLE KG_EVIDENCE_{GRAPH_NAME} ( + ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY, + EDGE_ID NUMBER, + CHUNK_HASH VARCHAR2(64), + SOURCE_URL VARCHAR2(2000), + QUOTE CLOB, + CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP + ) + '; + EXCEPTION WHEN OTHERS THEN + IF SQLCODE != -955 THEN RAISE; END IF; + END; + """) + + conn.commit() + + finally: + cursor.close() + + # --------------------------- + # MigraΓ§Γ£o leve (se seu KG_EDGES jΓ‘ existia antigo) + # --------------------------- + edges_table = f"KG_EDGES_{GRAPH_NAME}" + + if not _col_exists(conn, edges_table, "CHUNK_HASH"): + cur = conn.cursor() + cur.execute(f"ALTER TABLE {edges_table} ADD (CHUNK_HASH VARCHAR2(64))") + conn.commit() + cur.close() + ensure_oracle_text_index(conn, f"KG_NODES_{GRAPH_NAME}", "NAME", f"KG_NODES_{GRAPH_NAME}_NAME") + + print("βœ… Graph schema (probatΓ³rio) ready.") + +#create_tables_if_not_exist(oracle_conn) + +# IF GRAPH INDEX PROBLEM, Reindex +# ensure_oracle_text_index( +# oracle_conn, +# "ENTITIES_" + GRAPH_NAME, +# "NAME", +# "IDX_ENT_" + GRAPH_NAME + "_NAME" +# ) +# +# ensure_oracle_text_index( +# oracle_conn, +# "RELATIONS_" + GRAPH_NAME, +# "RELATION_TYPE", +# "IDX_REL_" + GRAPH_NAME + "_RELTYPE" +# ) + +def create_knowledge_graph(chunks): + + cursor = oracle_conn.cursor() + inserted_counter = 0 + COMMIT_BATCH = 500 + + # ===================================================== + # 1️⃣ CREATE PROPERTY GRAPH (se nΓ£o existir) + # ===================================================== + try: + cursor.execute(f""" + BEGIN + EXECUTE IMMEDIATE ' + CREATE PROPERTY GRAPH {GRAPH_NAME} + VERTEX TABLES ( + KG_NODES_{GRAPH_NAME} + KEY (ID) + LABEL NODE_TYPE + PROPERTIES (NAME, DESCRIPTION, PROPERTIES) + ) + EDGE TABLES ( + KG_EDGES_{GRAPH_NAME} + KEY (ID) + SOURCE KEY (SOURCE_ID) REFERENCES KG_NODES_{GRAPH_NAME}(ID) + DESTINATION KEY (TARGET_ID) REFERENCES KG_NODES_{GRAPH_NAME}(ID) + LABEL EDGE_TYPE + PROPERTIES (CHUNK_HASH, SOURCE_URL, CONFIDENCE_WEIGHT) + ) + '; + EXCEPTION + WHEN OTHERS THEN + IF SQLCODE NOT IN (-55358, -955) THEN + RAISE; + END IF; + END; + """) + print(f"🧠 Graph '{GRAPH_NAME}' ready.") + except Exception as e: + print(f"[GRAPH ERROR] {e}") + + # ===================================================== + # 2️⃣ Helper: MERGE NODE (otimizado) + # ===================================================== + def build_default_node_properties(): + return { + "metadata": { + "created_by": "RFP_AI_V2", + "version": "2.0", + "created_at": datetime.utcnow().isoformat() + }, + "analysis": { + "confidence_score": None, + "source": "DOCUMENT_RAG", + "extraction_method": "LLM_TRIPLE_EXTRACTION" + }, + "governance": { + "validated": False, + "review_required": False + } + } + + + def ensure_node_properties_structure(properties): + base = build_default_node_properties() + + if not properties: + return base + + def merge(d1, d2): + for k, v in d1.items(): + if k not in d2: + d2[k] = v + elif isinstance(v, dict): + d2[k] = merge(v, d2.get(k, {})) + return d2 + + return merge(base, properties) + + def merge_node(node_type, name, description=None, properties=None): + + name = (name or "").strip()[:500] + + # 1️⃣ Try existing + cursor.execute(f""" + SELECT ID + FROM KG_NODES_{GRAPH_NAME} + WHERE NAME = :name_val + AND NODE_TYPE = :node_type_val + """, { + "name_val": name, + "node_type_val": node_type + }) + + row = cursor.fetchone() + if row: + return row[0] + + # 2️⃣ Insert safely + node_id_var = cursor.var(oracledb.NUMBER) + + try: + cursor.execute(f""" + INSERT INTO KG_NODES_{GRAPH_NAME} + (NODE_TYPE, NAME, DESCRIPTION, PROPERTIES) + VALUES (:node_type_val, :name_val, :desc_val, :props_val) + RETURNING ID INTO :node_id + """, { + "node_type_val": node_type, + "name_val": name, + "desc_val": description, + "props_val": json.dumps( + ensure_node_properties_structure(properties) + ), + "node_id": node_id_var + }) + + return int(node_id_var.getvalue()[0]) + + except oracledb.IntegrityError: + # if unique constraint exists + cursor.execute(f""" + SELECT ID + FROM KG_NODES_{GRAPH_NAME} + WHERE NAME = :name_val + AND NODE_TYPE = :node_type_val + """, { + "name_val": name, + "node_type_val": node_type + }) + row = cursor.fetchone() + if row: + return row[0] + raise + + def extract_sentence_with_term(text, term): + sentences = re.split(r'(?<=[.!?]) +', text) + for s in sentences: + if term.lower() in s.lower(): + return s.strip() + return text[:1000] + + # ===================================================== + # 3️⃣ PROCESS CHUNKS + # ===================================================== + for doc in chunks: + + text = doc.page_content or "" + chunk_hash_value = doc.metadata.get("chunk_hash") + source_url = resolve_chunk_source(doc) + + if not text.strip() or not chunk_hash_value: + continue + + prompt = f""" + Extract explicit technical capabilities from the text below. + + Text: + {text} + + Return triples ONLY in format: + + SERVICE -[SUPPORTS_CAPABILITY]-> CAPABILITY + SERVICE -[DOES_NOT_SUPPORT]-> CAPABILITY + SERVICE -[HAS_LIMITATION]-> LIMITATION + SERVICE -[HAS_SLA]-> SLA_VALUE + + Rules: + - Use exact service names if present + - Use UPPERCASE relation names + - No inference + - If none found return NONE + """ + + try: + response = call_llm(llm_for_rag.invoke, prompt) + result = response.content.strip() + except Exception as e: + print(f"[LLM ERROR] {e}") + continue + + if result.upper() == "NONE": + continue + + triples = result.splitlines() + + for triple in triples: + + parts = triple.split("-[") + if len(parts) != 2: + continue + + right = parts[1].split("]->") + if len(right) != 2: + continue + + entity1 = parts[0].strip() + raw_relation = right[0].strip().upper() + entity2 = right[1].strip() + + MAX_NODE_NAME = 500 + + entity1 = entity1[:MAX_NODE_NAME] + entity2 = entity2[:MAX_NODE_NAME] + + relation = re.sub(r'\W+', '_', raw_relation) + + source_id = merge_node( + node_type="SERVICE", + name=entity1, + description=None, + properties={ + "chunk_hash": chunk_hash_value, + "source_url": source_url + } + ) + + if relation == "DOES_NOT_SUPPORT": + target_type = "UNSUPPORTED_CAPABILITY" + elif relation == "HAS_LIMITATION": + target_type = "LIMITATION" + elif relation == "HAS_SLA": + target_type = "SLA" + else: + target_type = "CAPABILITY" + + description_text = extract_sentence_with_term(text, entity2) + + target_id = merge_node( + node_type=target_type, + name=entity2, + description=description_text + ) + + # πŸ”₯ Evitar duplicaΓ§Γ£o de edge + cursor.execute(f""" + SELECT ID + FROM KG_EDGES_{GRAPH_NAME} + WHERE SOURCE_ID = :s + AND TARGET_ID = :t + AND EDGE_TYPE = :r + AND CHUNK_HASH = :h + """, { + "s": source_id, + "t": target_id, + "r": relation, + "h": chunk_hash_value + }) + + if cursor.fetchone(): + continue + + # ===================================================== + # INSERT EDGE + RETURNING ID + # ===================================================== + edge_id_var = cursor.var(oracledb.NUMBER) + + cursor.execute(f""" + INSERT INTO KG_EDGES_{GRAPH_NAME} + (SOURCE_ID, TARGET_ID, EDGE_TYPE, CHUNK_HASH, SOURCE_URL, CONFIDENCE_WEIGHT) + VALUES (:src, :tgt, :rel, :h, :url, :w) + RETURNING ID INTO :edge_id + """, { + "src": source_id, + "tgt": target_id, + "rel": relation, + "h": chunk_hash_value, + "url": source_url, + "w": 1, + "edge_id": edge_id_var + }) + + edge_id = int(edge_id_var.getvalue()[0]) + + # ===================================================== + # INSERT EVIDENCE + # ===================================================== + quote = text[:1500] + + cursor.execute(f""" + INSERT INTO KG_EVIDENCE_{GRAPH_NAME} + (EDGE_ID, CHUNK_HASH, SOURCE_URL, QUOTE) + VALUES (:eid, :h, :url, :q) + """, { + "eid": edge_id, + "h": chunk_hash_value, + "url": source_url, + "q": quote + }) + + inserted_counter += 1 + + print(f"βœ… {entity1} -[{relation}]-> {entity2}") + + # ===================================================== + # COMMIT A CADA 500 + # ===================================================== + if inserted_counter % COMMIT_BATCH == 0: + oracle_conn.commit() + print(f"πŸ’Ύ Batch commit ({inserted_counter} records)") + + # Commit final + oracle_conn.commit() + cursor.close() + + print(f"πŸ’Ύ Knowledge graph updated. Total inserted: {inserted_counter}") + +def parse_rfp_requirement(question: str) -> dict: + prompt = f""" + You are an RFP requirement NORMALIZER for Oracle Cloud Infrastructure (OCI). + + Your job is NOT to summarize the question. + Your job is to STRUCTURE the requirement so it can be searched in: + - Technical documentation + - Knowledge Graph + - Vector databases + + ──────────────────────────────── + STEP 1 β€” Understand the requirement + ──────────────────────────────── + From the question, identify: + 1. The PRIMARY OCI SERVICE CATEGORY involved + 2. The MAIN TECHNICAL SUBJECT (short and precise) + 3. The EXPECTED TECHNICAL CAPABILITY or CONDITION (if any) + + IMPORTANT: + - Ignore marketing language + - Ignore phrases like "possui", "permite", "oferece" + - Focus ONLY on concrete technical meaning + + ──────────────────────────────── + STEP 2 β€” Mandatory service classification + ──────────────────────────────── + You MUST choose ONE primary technology from the list below + and INCLUDE IT EXPLICITLY in the keywords list. + + Choose the MOST SPECIFIC applicable item. + + ServiΓ§os da Oracle Cloud Infrastructure (OCI): + + Compute (IaaS) + β€’ Compute Instances (VM) + β€’ Bare Metal Instances + β€’ Dedicated VM Hosts + β€’ GPU Instances + β€’ Confidential Computing + β€’ Capacity Reservations + β€’ Autoscaling (Instance Pools) + β€’ Live Migration + β€’ Oracle Cloud VMware Solution (OCVS) + β€’ HPC (High Performance Computing) + β€’ Arm-based Compute (Ampere) + + Storage + + Object Storage + β€’ Object Storage + β€’ Object Storage – Archive + β€’ Pre-Authenticated Requests + β€’ Replication + + Block & File + β€’ Block Volume + β€’ Boot Volume + β€’ Volume Groups + β€’ File Storage + β€’ File Storage Snapshots + β€’ Data Transfer Service + + Networking + β€’ Virtual Cloud Network (VCN) + β€’ Subnets + β€’ Internet Gateway + β€’ NAT Gateway + β€’ Service Gateway + β€’ Dynamic Routing Gateway (DRG) + β€’ FastConnect + β€’ Load Balancer (L7 / L4) + β€’ Network Load Balancer + β€’ DNS + β€’ Traffic Management Steering Policies + β€’ IP Address Management (IPAM) + β€’ Network Firewall + β€’ Web Application Firewall (WAF) + β€’ Bastion + β€’ Capture Traffic (VTAP) + β€’ Private Endpoints + + Security, Identity & Compliance + β€’ Identity and Access Management (IAM) + β€’ Compartments + β€’ Policies + β€’ OCI Vault + β€’ OCI Key Management (KMS) + β€’ OCI Certificates + β€’ OCI Secrets + β€’ OCI Bastion + β€’ Cloud Guard + β€’ Security Zones + β€’ Vulnerability Scanning Service + β€’ Data Safe + β€’ Logging + β€’ Audit + β€’ OS Management / OS Management Hub + β€’ Shielded Instances + β€’ Zero Trust Packet Routing + + Databases + + Autonomous + β€’ Autonomous Database (ATP) + β€’ Autonomous Data Warehouse (ADW) + β€’ Autonomous JSON Database + + Databases Gerenciados + β€’ Oracle Database Service + β€’ Oracle Exadata Database Service + β€’ Exadata Cloud@Customer + β€’ Base Database Service + β€’ MySQL Database Service + β€’ MySQL HeatWave + β€’ NoSQL Database Cloud Service + β€’ TimesTen + β€’ PostgreSQL (OCI managed) + β€’ MongoDB API (OCI NoSQL compatibility) + + Analytics & BI + β€’ Oracle Analytics Cloud (OAC) + β€’ OCI Data Catalog + β€’ OCI Data Integration + β€’ OCI Streaming Analytics + β€’ OCI GoldenGate + β€’ OCI Big Data Service (Hadoop/Spark) + β€’ OCI Data Science + β€’ OCI AI Anomaly Detection + β€’ OCI AI Forecasting + + AI & Machine Learning + + Generative AI + β€’ OCI Generative AI + β€’ OCI Generative AI Agents + β€’ OCI Generative AI RAG + β€’ OCI Generative AI Embeddings + β€’ OCI AI Gateway (OpenAI-compatible) + + AI Services + β€’ OCI Vision (OCR, image analysis) + β€’ OCI Speech (STT / TTS) + β€’ OCI Language (NLP) + β€’ OCI Document Understanding + β€’ OCI Anomaly Detection + β€’ OCI Forecasting + β€’ OCI Data Labeling + + Containers & Cloud Native + β€’ OCI Container Engine for Kubernetes (OKE) + β€’ Container Registry (OCIR) + β€’ Service Mesh + β€’ API Gateway + β€’ OCI Functions (FaaS) + β€’ OCI Streaming (Kafka-compatible) + β€’ OCI Queue + β€’ OCI Events + β€’ OCI Resource Manager (Terraform) + + Integration & Messaging + β€’ OCI Integration Cloud (OIC) + β€’ OCI Service Connector Hub + β€’ OCI Streaming + β€’ OCI GoldenGate + β€’ OCI API Gateway + β€’ OCI Events Service + β€’ OCI Queue + β€’ Real Applications Clusters (RAC) + + Developer Services + β€’ OCI DevOps (CI/CD) + β€’ OCI Code Repository + β€’ OCI Build Pipelines + β€’ OCI Artifact Registry + β€’ OCI Logging Analytics + β€’ OCI Monitoring + β€’ OCI Notifications + β€’ OCI Bastion + β€’ OCI CLI + β€’ OCI SDKs + + Observability & Management + β€’ OCI Monitoring + β€’ OCI Alarms + β€’ OCI Logging + β€’ OCI Logging Analytics + β€’ OCI Application Performance Monitoring (APM) + β€’ OCI Operations Insights + β€’ OCI Management Agent + β€’ OCI Resource Discovery + + Enterprise & Hybrid + β€’ Oracle Cloud@Customer + β€’ Exadata Cloud@Customer + β€’ Compute Cloud@Customer + β€’ Dedicated Region Cloud@Customer + β€’ OCI Roving Edge Infrastructure + β€’ OCI Alloy + + Governance & FinOps + β€’ OCI Budgets + β€’ Cost Analysis + β€’ Usage Reports + β€’ Quotas + β€’ Tagging + β€’ Compartments + β€’ Resource Search + + Regions & Edge + β€’ OCI Regions (Commercial, Government, EU Sovereign) + β€’ OCI Edge Services + β€’ OCI Roving Edge + β€’ OCI Dedicated Region + + ──────────────────────────────── + STEP 3 β€” Keywords rules (CRITICAL) + ──────────────────────────────── + The "keywords" field MUST: + - ALWAYS include at least ONE OCI service keyword (e.g. "compute", "object storage", "oke") + - Include technical capability terms (e.g. resize, autoscaling, encryption) + - NEVER include generic verbs (permitir, possuir, oferecer) + - NEVER include full sentences + + ──────────────────────────────── + STEP 4 β€” Output rules + ──────────────────────────────── + Return ONLY valid JSON between <json> tags. + Do NOT explain your reasoning. + + Question: + {question} + + <json> + {{ + "requirement_type": "COMPLIANCE | FUNCTIONAL | NON_FUNCTIONAL", + "subject": "<short technical subject, e.g. 'Compute Instances'>", + "expected_value": "<technical capability or condition, or empty string>", + "decision_type": "YES_NO | YES_NO_PARTIAL", + "keywords": ["mandatory_oci_service", "technical_capability", "additional_term"] + }} + </json> + """ + + # resp = llm_for_rag.invoke(prompt) + resp = call_llm(llm_for_rag.invoke, prompt) + raw = resp.content.strip() + + try: + # remove ```json ``` ou ``` ``` + raw = re.sub(r"```json|```", "", raw).strip() + + match = re.search(r"<json>\s*(\{.*?\})\s*</json>", raw, re.DOTALL) + if not match: + raise ValueError("No JSON block found") + json_text = match.group(1) + + return json.loads(json_text) + + except Exception as e: + print("⚠️ RFP PARSER FAILED") + print("RAW RESPONSE:") + print(raw) + + return { + "requirement_type": "UNKNOWN", + "subject": question, + "expected_value": "", + "decision_type": "YES_NO_PARTIAL", + "keywords": re.findall(r"\b\w+\b", question.lower())[:5] + } + +def extract_graph_keywords_from_requirement(req: dict) -> str: + keywords = set(req.get("keywords", [])) + if req.get("subject"): + keywords.add(req["subject"].lower()) + if req.get("expected_value"): + keywords.add(str(req["expected_value"]).lower()) + return ", ".join(sorted(keywords)) + +STOPWORDS = { + "and", "or", "not", + "de", "da", "do", "das", "dos", "a", "o", "as", "os", "e", "em", "no", "na", "nos", "nas", "para", "por", "com" +} + +def build_oracle_text_query(text: str) -> Optional[str]: + if not text: + return None + + text = strip_accents(text.lower()) + + # pega sequΓͺncias "fraseΓ‘veis" (com espaΓ§os/hΓ­fens) + phrases = re.findall(r"[a-z0-9][a-z0-9\- ]{2,}", text) + + tokens: list[str] = [] + + for p in phrases: + p = p.strip() + if not p: + continue + + # 1) quebra em palavras e hΓ­fens (word-level) + # Ex: "store-and-forward" -> ["store", "and", "forward"] + words = re.findall(r"[a-z0-9]+", p) + + # 2) remove stopwords e palavras curtas + words = [w for w in words if w not in STOPWORDS and len(w) >= 4] + + if not words: + continue + + # 3) recombina + if len(words) == 1: + tokens.append(words[0]) + else: + # se quiser manter hΓ­fen, vocΓͺ teria que remontar com '-' e sempre entre aspas + # aqui eu normalizo pra espaΓ§o (mais seguro no Oracle Text) + tokens.append(f"\"{' '.join(words)}\"") + + tokens = sorted(set(tokens)) + return " OR ".join(tokens) if tokens else None + +def detect_negative_conflict(graph_context, req): + + expected = (req.get("expected_value") or "").lower() + subject = (req.get("subject") or "").lower() + + for row in graph_context: + service, edge_type, target, *_ = row + + if edge_type == "DOES_NOT_SUPPORT": + if expected in target.lower() or subject in target.lower(): + return { + "conflict": True, + "service": service, + "capability": target + } + + return {"conflict": False} + +def query_knowledge_graph(raw_keywords: str, top_k: int = 20, min_score: int = 0): + + cursor = oracle_conn.cursor() + + safe_query = build_oracle_text_query(raw_keywords) + if not safe_query: + cursor.close() + return [] + + sql = f""" + select * FROM ( + SELECT + s.NAME AS service_name, + e.EDGE_TYPE AS relation_type, + t.NAME AS target_name, + e.SOURCE_URL, + e.CONFIDENCE_WEIGHT, + CASE + WHEN CONTAINS(s.NAME, '{safe_query}') > 0 AND CONTAINS(t.NAME, '{safe_query}') > 0 THEN 3 + WHEN CONTAINS(s.NAME, '{safe_query}') > 0 THEN 2 + WHEN CONTAINS(t.NAME, '{safe_query}') > 0 THEN 1 + ELSE 0 + END AS relevance_score + FROM KG_EDGES_{GRAPH_NAME} e + JOIN KG_NODES_{GRAPH_NAME} s ON s.ID = e.SOURCE_ID + JOIN KG_NODES_{GRAPH_NAME} t ON t.ID = e.TARGET_ID + WHERE s.NODE_TYPE = 'SERVICE' + AND ( + CONTAINS(t.NAME, '{safe_query}') > 0 + OR CONTAINS(s.NAME, '{safe_query}') > 0 + ) + AND e.CHUNK_HASH NOT IN ( + SELECT CHUNK_HASH + FROM RAG_CHUNKS_GOV + WHERE STATUS = 'REVOKED' + ) + ) + WHERE relevance_score >= {min_score} + AND CONFIDENCE_WEIGHT > 0 + ORDER BY relevance_score DESC + FETCH FIRST {top_k} ROWS ONLY + """ + + print(sql) + + cursor.execute(sql) + rows = cursor.fetchall() + cursor.close() + + for row in rows: + print(row) + + return rows + +# RE-RANK + +def extract_terms_from_graph_text(graph_context): + if not graph_context: + return set() + + if isinstance(graph_context, list): + terms = set() + for row in graph_context: + for col in row: + if isinstance(col, str): + terms.add(col.lower()) + return terms + + if isinstance(graph_context, str): + terms = set() + pattern = re.findall(r"([\w\s]+)-$begin:math:display$\[\\w\_\]\+$end:math:display$->([\w\s]+)", graph_context) + for e1, e2 in pattern: + terms.add(e1.strip().lower()) + terms.add(e2.strip().lower()) + return terms + + return set() + +def rerank_documents_with_graph_terms(docs, query, graph_terms, top_k=12, per_source=2): + query_terms = set(re.findall(r'\b\w+\b', query.lower())) + all_terms = query_terms.union(graph_terms) + + scored = [] + + for doc in docs: + text = doc.page_content.lower() + src = (doc.metadata.get("source") or "").lower() + + term_hits = sum(text.count(t) for t in all_terms) + + density = term_hits / max(len(text.split()), 1) + + url_score = score_arch_url(src) + + score = (term_hits * 2) + (density * 20) + url_score + + scored.append((score, doc)) + + scored.sort(key=lambda x: x[0], reverse=True) + + selected = [] + by_source = {} + + for score, doc in scored: + src = doc.metadata.get("source") + + if by_source.get(src, 0) >= per_source: + continue + + selected.append(doc) + by_source[src] = by_source.get(src, 0) + 1 + + if len(selected) >= top_k: + break + + return selected + +def load_processed_hashes_from_graph(): + cursor = oracle_conn.cursor() + cursor.execute(f""" + SELECT DISTINCT CHUNK_HASH + FROM KG_EDGES_{GRAPH_NAME} + """) + hashes = {r[0] for r in cursor.fetchall()} + cursor.close() + return hashes + +def rebuild_graph_from_faiss( + faiss_path: str, + reverse_resume: bool = True, + consecutive_threshold: int = 20 +): + from langchain_community.vectorstores import FAISS + + print("πŸ”„ Loading FAISS index...") + + vectorstore = FAISS.load_local( + faiss_path, + embeddings, + allow_dangerous_deserialization=True + ) + + docs = list(vectorstore.docstore._dict.values()) + print(f"πŸ“„ {len(docs)} chunks loaded") + + if reverse_resume: + print("πŸ” Reverse resume mode active") + + processed_hashes = load_processed_hashes_from_graph() + + docs_to_process = [] + consecutive_processed = 0 + + for d in reversed(docs): + h = d.metadata.get("chunk_hash") + + if h in processed_hashes: + consecutive_processed += 1 + if consecutive_processed >= consecutive_threshold: + print("πŸ›‘ Boundary detected. Stopping reverse scan.") + break + continue + else: + consecutive_processed = 0 + docs_to_process.append(d) + + docs = list(reversed(docs_to_process)) + print(f"πŸš€ Will process {len(docs)} chunks") + + for chunk in tqdm(docs, desc="🧠 Building Graph"): + create_knowledge_graph([chunk]) + + print("βœ… Graph rebuild completed.") + +# SEMANTIC CHUNKING + +def split_llm_output_into_chapters(llm_text): + chapters = [] + current_chapter = [] + lines = llm_text.splitlines() + + for line in lines: + if re.match(chapter_separator_regex, line): + if current_chapter: + chapters.append("\n".join(current_chapter).strip()) + current_chapter = [line] + else: + current_chapter.append(line) + + if current_chapter: + chapters.append("\n".join(current_chapter).strip()) + + return chapters + + +def semantic_chunking(text): + prompt = f""" + You received the following text extracted via OCR: + + {text} + + Your task: + 1. Identify headings (short uppercase or bold lines, no period at the end) putting the Product Name (Application Name) and the Subject + 2. Separate paragraphs by heading + 3. Indicate columns with [COLUMN 1], [COLUMN 2] if present + 4. Indicate tables with [TABLE] in markdown format + 5. ALWAYS PUT THE URL if there is a Reference + 6. Indicate explicity metrics (if it exists) + Examples: + - Oracle Financial Services RTO is 1 hour + - The Oracle Banking Supply Chain Finance Cloud Service A maximum number of 10K Hosted Transactions + - The Oracle Banking Payments Cloud Service, Additional Non-Production Environment: You may purchase up to a maximum of ten (10) additional Non-Production Environments + """ + + get_out = False + while not get_out: + try: + # response = llm_for_rag.invoke(prompt) + response = call_llm(llm_for_rag.invoke, prompt) + get_out = True + except: + print("[ERROR] Gen AI call error") + + return response + +def read_pdfs(pdf_path): + if "-ocr" in pdf_path: + doc_pages = PyMuPDFLoader(str(pdf_path)).load() + else: + doc_pages = UnstructuredPDFLoader(str(pdf_path)).load() + full_text = "\n".join([page.page_content for page in doc_pages]) + return full_text + + +def smart_split_text(text, max_chunk_size=10_000): + chunks = [] + start = 0 + text_length = len(text) + + while start < text_length: + end = min(start + max_chunk_size, text_length) + split_point = max( + text.rfind('.', start, end), + text.rfind('!', start, end), + text.rfind('?', start, end), + text.rfind('\n\n', start, end) + ) + if split_point == -1 or split_point <= start: + split_point = end + else: + split_point += 1 + + chunk = text[start:split_point].strip() + if chunk: + chunks.append(chunk) + + start = split_point + + return chunks + + +def load_previously_indexed_docs(): + if os.path.exists(PROCESSED_DOCS_FILE): + with open(PROCESSED_DOCS_FILE, "rb") as f: + return pickle.load(f) + return set() + + +def save_indexed_docs(docs): + with open(PROCESSED_DOCS_FILE, "wb") as f: + pickle.dump(docs, f) + +def retrieve_active_docs(query_terms: str, k: int = 50): + docs = retriever.invoke(query_terms) + + hashes = [d.metadata.get("chunk_hash") for d in docs if d.metadata.get("chunk_hash")] + if not hashes: + return docs[:k] + + cursor = oracle_conn.cursor() + cursor.execute(""" + SELECT chunk_hash + FROM RAG_CHUNKS_GOV + WHERE chunk_hash IN (SELECT COLUMN_VALUE FROM TABLE(:hashes)) + AND status = 'ACTIVE' + """, {"hashes": hashes}) + + active = {r[0] for r in cursor.fetchall()} + cursor.close() + + return [d for d in docs if d.metadata.get("chunk_hash") in active][:k] + +URL_REGEX = re.compile(r"https?://[^\s\)\]\}<>\"']+", re.IGNORECASE) + +def best_url(urls): + def score(u): + u = u.lower() + s = 0 + + if "docs.oracle.com" in u: + s += 3 + + if any(x in u for x in [ + "compute","database","oke","storage","network","security" + ]): + s += 5 + + if any(x in u for x in [ + "overview","architecture","concepts","how-to","use-case" + ]): + s += 4 + + if any(x in u for x in [ + "home","index","portal","release-notes","faq" + ]): + s -= 10 + + return s + + return max(urls, key=score) + +def resolve_chunk_source(doc): + text = doc.page_content or "" + md = doc.metadata or {} + + # πŸ”₯ 1) URLs reais dentro do conteΓΊdo + text_urls = URL_REGEX.findall(text) + + # remove urls genΓ©ricas + text_urls = [ + u for u in text_urls + if not any(x in u.lower() for x in ["home", "index", "portal"]) + ] + + if text_urls: + return best_url(text_urls) + + # πŸ”₯ 2) reference (geralmente melhor que source) + ref = md.get("reference") + if ref and ref.startswith("http"): + return ref + + # πŸ”₯ 3) source + src = md.get("source") + if src and src.startswith("http"): + return src + + return "Oracle Cloud Infrastructure documentation" + +def extract_first_url_from_chunk(*texts: str) -> str | None: + """ + Recebe mΓΊltiplos textos (chunk, metadata, etc) e retorna a PRIMEIRA URL encontrada. + """ + for text in texts: + if not text: + continue + m = URL_REGEX.search(text) + if m: + return m.group(0) + return None + +def aggregate_chunks_by_source(docs): + buckets = {} + + for d in docs: + md = d.metadata or {} + key = ( + extract_first_url_from_chunk( + d.page_content, + md.get("reference", ""), + md.get("source", "") + ) + or md.get("reference") + or md.get("source") + or "UNKNOWN" + ) + + buckets.setdefault(key, []).append(d.page_content) + + return buckets + +def search_active_chunks(statement: str, k: int = 3000): + docs = retriever.invoke(statement) + + hashes = [ + d.metadata.get("chunk_hash") + for d in docs + if d.metadata.get("chunk_hash") + ] + + if not hashes: + return docs[:k] + + in_clause = ",".join(f"'{h}'" for h in hashes) + + sql = f""" + SELECT chunk_hash + FROM RAG_CHUNKS_GOV + WHERE status = 'ACTIVE' + AND chunk_hash IN ({in_clause}) + """ + + cursor = oracle_conn.cursor() + cursor.execute(sql) + + active_hashes = {r[0] for r in cursor.fetchall()} + cursor.close() + + final_docs = [] + for d in docs: + h = d.metadata.get("chunk_hash") + if h in active_hashes: + d.metadata["source"] = resolve_chunk_source(d) + final_docs.append(d) + + return final_docs[:k] + +def search_manual_chunks_by_text(statement: str): + sql = """ + SELECT + chunk_hash, + source, + created_at, + origin, + status + FROM rag_chunks_gov + WHERE status = 'ACTIVE' + AND ( + LOWER(source) LIKE '%' || LOWER(:q) || '%' + OR LOWER(origin) LIKE '%' || LOWER(:q) || '%' + OR LOWER(chunk_hash) LIKE '%' || LOWER(:q) || '%' + ) + ORDER BY created_at DESC + FETCH FIRST 50 ROWS ONLY \ + """ + + cursor = oracle_conn.cursor() + cursor.execute(sql, {"q": statement}) + rows = cursor.fetchall() + cursor.close() + + from langchain.schema import Document + + docs = [] + for h, source, created_at, origin, status in rows: + docs.append( + Document( + page_content="", + metadata={ + "chunk_hash": h, + "source": source, + "created_at": created_at, + "origin": origin, + "status": status, + } + ) + ) + + return docs + +def search_chunks_for_invalidation(statement: str, k: int = 3000): + results = [] + + manual_chunks = search_manual_chunks_by_text(statement) + results.extend(manual_chunks) + + semantic_chunks = search_active_chunks(statement, k) + + seen = set() + final = [] + + for d in results + semantic_chunks: + h = d.metadata.get("chunk_hash") + if h and h not in seen: + seen.add(h) + final.append(d) + + return final + +def revoke_chunk_by_hash(chunk_hash: str, reason: str): + cursor = oracle_conn.cursor() + cursor.execute(""" + UPDATE RAG_CHUNKS_GOV + SET status = 'REVOKED', + revoked_at = SYSTIMESTAMP, + revocation_reason = :reason + WHERE chunk_hash = :h + """, {"h": chunk_hash, "reason": reason}) + + cursor.execute(f""" + UPDATE KG_EDGES_{GRAPH_NAME} + SET CONFIDENCE_WEIGHT = 0 + WHERE SOURCE_URL = :h + """, {"h": chunk_hash}) + + + oracle_conn.commit() + cursor.close() + +def get_chunk_metadata(chunk_hashes: list[str]) -> dict: + if not chunk_hashes: + return {} + + cursor = oracle_conn.cursor() + + cursor.execute(f""" + SELECT + CHUNK_HASH, + ORIGIN, + CREATED_AT, + STATUS + FROM RAG_CHUNKS_GOV + WHERE CHUNK_HASH IN ({",".join([f":h{i}" for i in range(len(chunk_hashes))])}) + """, {f"h{i}": h for i, h in enumerate(chunk_hashes)}) + + rows = cursor.fetchall() + cursor.close() + + return { + r[0]: { + "origin": r[1], + "created_at": r[2], + "status": r[3] + } + for r in rows + } + +def add_manual_knowledge_entry( + *, + text: str, + author: str, + reason: str, + source: str = "MANUAL_INPUT", + origin: str = "MANUAL", + index_path: str = INDEX_PATH, + also_update_graph: bool = True, +) -> str: + text = (text or "").strip() + reason = (reason or "").strip() + author = (author or "").strip() or "unknown" + + h = chunk_hash(text) + + doc = Document( + page_content=text, + metadata={ + "source": source, + "author": author, + "reason": reason, + "origin": origin, + "created_at": datetime.utcnow().isoformat(), + "chunk_hash": h, + }, + ) + + cur = oracle_conn.cursor() + cur.execute( + """ + MERGE INTO RAG_CHUNKS_GOV g + USING (SELECT :h AS h FROM dual) src + ON (g.CHUNK_HASH = src.h) + WHEN NOT MATCHED THEN + INSERT (CHUNK_HASH, SOURCE, STATUS, CREATED_AT, ORIGIN) + VALUES (:h, :src, 'ACTIVE', SYSTIMESTAMP, :origin) + """, + {"h": h, "src": source, "origin": origin}, + ) + oracle_conn.commit() + cur.close() + + try: + vs = FAISS.load_local(index_path, embeddings, allow_dangerous_deserialization=True) + vs.add_documents([doc]) + except Exception: + vs = FAISS.from_documents([doc], embedding=embeddings) + + vs.save_local(index_path) + + if also_update_graph: + try: + create_knowledge_graph([doc]) + except Exception: + pass + + return h + +def build_structured_evidence(docs, max_chunks=150): + evidence = [] + + for d in docs[:max_chunks]: + quote = d.page_content[:3000] + + # πŸ”₯ remove qualquer Reference textual + quote = re.sub(r"Reference:\s*\S+", "", quote) + + evidence.append({ + "quote": quote, + "source": resolve_chunk_source(d) + }) + + return evidence + +def get_context_from_requirement(req: dict): + query_terms = extract_graph_keywords_from_requirement(req) + + docs = search_active_chunks(query_terms) + + graph_context = query_knowledge_graph(query_terms, top_k=50, min_score=1) + + neg = detect_negative_conflict(graph_context, req) + + if neg["conflict"]: + print("⚠️ Negative capability found in graph.") + graph_context.append(( + neg["service"], + "NEGATIVE_CONFLICT_DETECTED", + neg["capability"], + None, + 999 + )) + + graph_terms = extract_terms_from_graph_text(graph_context) + reranked_chunks = rerank_documents_with_graph_terms( + docs, + query_terms, + graph_terms, + top_k=30 + ) + structured_evidence = build_structured_evidence(reranked_chunks) + + return { + "text_context": structured_evidence, + "graph_context": graph_context, + "requirement_type": req["requirement_type"], + "subject": req["subject"], + "expected_value": req.get("expected_value", "") + } + +# ========================= +# Main Function +# ========================= +def chat(): + PDF_FOLDER = Path("docs") # pasta onde estΓ£o os PDFs + + pdf_paths = sorted( + str(p) for p in PDF_FOLDER.glob("*.pdf") + ) + + already_indexed_docs = load_previously_indexed_docs() + updated_docs = set() + + try: + vectorstore = FAISS.load_local(INDEX_PATH, embeddings, allow_dangerous_deserialization=True) + print("βœ”οΈ FAISS index loaded.") + except Exception: + print("⚠️ FAISS index not found, creating a new one.") + vectorstore = None + + new_chunks = [] + + for pdf_path in tqdm(pdf_paths, desc=f"πŸ“„ Processing PDFs"): + print(f" {os.path.basename(pdf_path)}") + if pdf_path in already_indexed_docs: + print(f"βœ… Document already indexed: {pdf_path}") + continue + full_text = read_pdfs(pdf_path=pdf_path) + path_url = filename_to_url(os.path.basename(pdf_path)) + + text_chunks = smart_split_text(full_text, max_chunk_size=10_000) + overflow_buffer = "" + + for chunk in tqdm(text_chunks, desc=f"πŸ“„ Processing text chunks", dynamic_ncols=True, leave=False): + current_text = overflow_buffer + chunk + + treated_text = semantic_chunking(current_text) + + if hasattr(treated_text, "content"): + chapters = split_llm_output_into_chapters(treated_text.content) + + last_chapter = chapters[-1] if chapters else "" + + if last_chapter and not last_chapter.strip().endswith((".", "!", "?", "\n\n")): + print("πŸ“Œ Last chapter seems incomplete, saving for the next cycle") + overflow_buffer = last_chapter + chapters = chapters[:-1] + else: + overflow_buffer = "" + + for chapter_text in chapters: + reference_url = "Reference: " + path_url + chapter_text = chapter_text + "\n" + reference_url + # doc = Document(page_content=chapter_text, metadata={"source": pdf_path, "reference": reference_url}) + + h = chunk_hash(chapter_text) + + cursor = oracle_conn.cursor() + + cursor.execute(""" + MERGE INTO RAG_CHUNKS_GOV g + USING (SELECT :h AS h FROM dual) src + ON (g.CHUNK_HASH = src.h) + WHEN NOT MATCHED THEN + INSERT ( + CHUNK_HASH, + SOURCE, + STATUS, + CREATED_AT, + ORIGIN + ) + VALUES ( + :h, + :src, + 'ACTIVE', + SYSTIMESTAMP, + :origin + ) + """, { + "h": h, + "src": pdf_path, + "origin": "PDF" + }) + oracle_conn.commit() + cursor.close() + + doc = Document( + page_content=chapter_text, + metadata={ + "source": pdf_path, + "reference": reference_url, + "chunk_hash": h, + "created_at": datetime.utcnow().isoformat() + } + ) + + new_chunks.append(doc) + print(f"βœ… New chapter indexed:\n{chapter_text}...\n") + + else: + print(f"[ERROR] semantic_chunking returned unexpected type: {type(treated_text)}") + + updated_docs.add(str(pdf_path)) + + if new_chunks: + if vectorstore: + vectorstore.add_documents(new_chunks) + else: + vectorstore = FAISS.from_documents(new_chunks, embedding=embeddings) + + vectorstore.save_local(INDEX_PATH) + save_indexed_docs(already_indexed_docs.union(updated_docs)) + print(f"πŸ’Ύ {len(new_chunks)} chunks added to FAISS index.") + + print("🧠 Building knowledge graph...") + create_knowledge_graph(new_chunks) + + else: + print("πŸ“ No new documents to index.") + + retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 50, "fetch_k": 100}) + + RFP_DECISION_TEMPLATE = """ + You are answering an RFP requirement with risk awareness. + + You MUST validate the answer ONLY using CAPABILITY nodes returned in GRAPH FACTS. + If no capability exists, answer MUST be "UNKNOWN". + + Requirement: + Type: {requirement_type} + Subject: {subject} + Expected value: {expected_value} + + **Document evidence**: + {text_context} + + **Graph evidence**: + {graph_context} + + Decision rules: + - Answer ONLY with YES, NO or PARTIAL + - If value differs, answer PARTIAL + - If not found, answer NO + + Interpretation rules (MANDATORY): + - If a capability is supported but requires reboot, downtime, or restart, it STILL counts as YES unless the requirement explicitly forbids it. + - "Servidor em funcionamento" means the resource exists and is active before the operation, not that it must remain online without interruption. + - Only answer NO if the operation is NOT supported at all or requires destroying and recreating the resource. + - Reboot, restart, or brief unavailability MUST NOT be interpreted as lack of support. + + Confidence rules: + - HIGH: Explicit evidence directly answers the requirement + - MEDIUM: Evidence partially matches or requires light interpretation + - LOW: Requirement is ambiguous OR evidence is indirect OR missing + + Ambiguity rules: + - ambiguity_detected = true if: + - The requirement can be interpreted in more than one way + - Keywords are vague (e.g. "support", "integration", "capability") + - Evidence does not clearly bind to subject + expected value + + Service scope rules (MANDATORY): + - Evidence is valid ONLY if it refers to the SAME service category as the requirement. + - Do NOT use evidence from a different Oracle Cloud service to justify another. + - PREFER ALWAYS URL to source + + SOURCE RULE: + - GIVE MANY SOURCES URL + - GIVE A COMPLETE PATH OF URL SOURCES TO UNDERSTAND THE CONCEPTS THEME + - GIVE one or more OVERVIEW SOURCE URL + - GIVE one or more SOLUTION AND ARCHITECTURE SOURCE URL + + OUTPUT CONSTRAINTS (MANDATORY): + - Return ONLY a valid JSON object + - Do NOT include explanations, comments, markdown, lists, or code fences + - Do NOT write any text before or after the JSON + - The response must start with an opening curly brace and end with a closing curly brace + + LANGUAGE RULE (MANDATORY): **DO TRANSLATION AS THE LAST STEP** + - Write ALL textual values in {lang} + - Keep JSON keys in English + - Do NOT translate keys + + JSON schema (return exactly this structure): + {{ + "answer": "YES | NO | PARTIAL", + "confidence": "HIGH | MEDIUM | LOW", + "ambiguity_detected": true, + "confidence_reason": "<short reason>", + "justification": "<short factual explanation>", + "evidence": [ + {{ "quote": "...", + "source": "..." }}, + {{ "quote": "...", + "source": "..." }}, + {{ "quote": "...", + "source": "..." }}, + ] + }} + """ + prompt = PromptTemplate.from_template(RFP_DECISION_TEMPLATE) + + chain = ( + RunnableLambda(lambda q: { + "question": q, + "req": parse_rfp_requirement(q) + }) + | RunnableMap({ + "text_context": lambda x: get_context_from_requirement(x["req"])["text_context"], + "graph_context": lambda x: get_context_from_requirement(x["req"])["graph_context"], + "requirement_type": lambda x: x["req"]["requirement_type"], + "subject": lambda x: x["req"]["subject"], + "expected_value": lambda x: x["req"].get("expected_value", ""), + "lang": lambda x: normalize_lang(detect(x["question"])) + }) + | prompt + | llm + | StrOutputParser() + ) + + print("βœ… READY") + + while True: + query = input("❓ Question (or 'quit' to exit): ") + if query.lower() == "quit": + break + # response = chain.invoke(query) + response = answer_question_with_retries(query, max_attempts=3) + + print("\nπŸ“œ RESPONSE:\n") + print(response) + print("\n" + "=" * 80 + "\n") + + +def safe_parse_llm_answer(raw: str) -> dict: + try: + raw = raw.replace("```json", "").replace("```", "").strip() + return json.loads(raw) + except Exception: + return { + "answer": "NO", + "confidence": "LOW", + "confidence_reason": "Invalid JSON from LLM", + "justification": "", + "evidence": [] + } + +def answer_question_with_retries( + question: str, + max_attempts: int = 3 +) -> dict: + + best = None + best_score = -1 + + # πŸ”₯ Importante: precisamos do graph_context aqui + req = parse_rfp_requirement(question) + graph_context = query_knowledge_graph( + extract_graph_keywords_from_requirement(req), + top_k=20 + ) + + for attempt in range(1, max_attempts + 1): + + raw = answer_question(question) + parsed = safe_parse_llm_answer(raw) + + # ===================================================== + # πŸ”₯ AQUI entra o tratamento de conflito negativo + # ===================================================== + if parsed.get("answer") == "YES": + for row in graph_context: + service, edge_type, target, *_ = row + + if edge_type in ("DOES_NOT_SUPPORT", "NEGATIVE_CONFLICT_DETECTED"): + print("❌ Conflict detected β€” forcing downgrade to NO") + + parsed["answer"] = "NO" + parsed["confidence"] = "HIGH" + parsed["confidence_reason"] = \ + "Graph contains explicit negative capability" + + break + + # ===================================================== + + ans = parsed.get("answer", "NO") + conf = parsed.get("confidence", "LOW") + + score = score_answer(parsed) + + print( + f"πŸ” Attempt {attempt}: " + f"answer={ans} confidence={conf} score={score}" + ) + + if score > best_score: + best = parsed + best_score = score + + # condiΓ§Γ£o de parada ideal + if ans == "YES" and conf == "HIGH": + print("βœ… Optimal answer found (YES/HIGH)") + return parsed + + print("⚠️ Optimal answer not found, returning best available") + + best = validate_and_sanitize_sources(best) + + return best + +# ========================= +# ARCHITECTURE SOURCE VALIDATION +# ========================= + +def _sanitize_source_field(src): + """ + Normaliza string ou lista de URLs. + """ + if not src: + return INVALID_SOURCE_TOKEN + + if isinstance(src, list): + cleaned = [] + for s in src: + cleaned.append(s if url_exists(s) else INVALID_SOURCE_TOKEN) + return cleaned + + return src if url_exists(src) else INVALID_SOURCE_TOKEN + + +def validate_architecture_sources(plan: dict) -> dict: + if not plan: + return plan + + # ------------------------- + # components[].source + # ------------------------- + comps = plan.get("architecture", {}).get("components", []) + + for c in comps: + c["source"] = _sanitize_source_field(c.get("source")) + + # ------------------------- + # decisions[].evidence.source + # ------------------------- + decisions = plan.get("decisions", []) + + for d in decisions: + ev = d.get("evidence", {}) or {} + ev["source"] = _sanitize_source_field(ev.get("source")) + d["evidence"] = ev + + return plan + + +# ========================= +# LOADERS +# ========================= + +def load_all(): + global vectorstore, retriever, graph, chain, RFP_DECISION_TEMPLATE, chain_architecture + print("πŸ”„ Loading FAISS + Graph + Chain...") + + try: + vectorstore = FAISS.load_local( + INDEX_PATH, + embeddings, + allow_dangerous_deserialization=True + ) + + retriever = vectorstore.as_retriever( + search_type="similarity", + search_kwargs={"k": 50, "fetch_k": 100} + ) + except: + print("No Faiss") + + RFP_DECISION_TEMPLATE = """ + You are answering an RFP requirement with risk awareness. + + Requirement: + Type: {requirement_type} + Subject: {subject} + Expected value: {expected_value} + + Document evidence: + {text_context} + + Graph evidence: + {graph_context} + + Decision rules: + - Answer ONLY with YES, NO or PARTIAL + - If value differs, answer PARTIAL + - If not found, answer NO + + Interpretation rules (MANDATORY): + - If a capability is supported but requires reboot, downtime, or restart, it STILL counts as YES unless the requirement explicitly forbids it. + - "Servidor em funcionamento" means the resource exists and is active before the operation, not that it must remain online without interruption. + - Only answer NO if the operation is NOT supported at all or requires destroying and recreating the resource. + - Reboot, restart, or brief unavailability MUST NOT be interpreted as lack of support. + + Confidence rules: + - HIGH: Explicit evidence directly answers the requirement + - MEDIUM: Evidence partially matches or requires light interpretation + - LOW: Requirement is ambiguous OR evidence is indirect OR missing + + Ambiguity rules: + - ambiguity_detected = true if: + - The requirement can be interpreted in more than one way + - Keywords are vague (e.g. "support", "integration", "capability") + - Evidence does not clearly bind to subject + expected value + + Service scope rules (MANDATORY): + - Do NOT use evidence from a different Oracle Cloud service to justify another. + + SOURCE RULE: + - GIVE MANY SOURCES URL + - GIVE A COMPLETE PATH OF URL SOURCES TO UNDERSTAND THE CONCEPTS THEME + - GIVE one or more OVERVIEW SOURCE URL + - GIVE one or more SOLUTION AND ARCHITECTURE SOURCE URL + + OUTPUT CONSTRAINTS (MANDATORY): + - Return ONLY a valid JSON object + - Do NOT include explanations, comments, markdown, lists, or code fences + - Do NOT write any text before or after the JSON + - The response must start with an opening curly brace and end with a closing curly brace + + LANGUAGE RULE (MANDATORY): **DO TRANSLATION AS THE LAST STEP** + - Write ALL textual values in {lang} + - Keep JSON keys in English + - Do NOT translate keys + + JSON schema (return exactly this structure): + {{ + "answer": "YES | NO | PARTIAL", + "confidence": "HIGH | MEDIUM | LOW", + "ambiguity_detected": true, + "confidence_reason": "<short reason>", + "justification": "<short factual explanation>", + "evidence": [ + {{ "quote": "...", + "source": "..." }}, + {{ "quote": "...", + "source": "..." }}, + {{ "quote": "...", + "source": "..." }}, + ] + + }} + """ + prompt = PromptTemplate.from_template(RFP_DECISION_TEMPLATE) + + chain = ( + RunnableLambda(lambda q: { + "question": q, + "req": parse_rfp_requirement(q) + }) + | RunnableMap({ + "text_context": lambda x: get_context_from_requirement(x["req"])["text_context"], + "graph_context": lambda x: get_context_from_requirement(x["req"])["graph_context"], + "requirement_type": lambda x: x["req"]["requirement_type"], + "subject": lambda x: x["req"]["subject"], + "expected_value": lambda x: x["req"].get("expected_value", ""), + "lang": lambda x: normalize_lang(detect(x["question"])) + }) + | prompt + | llm + | StrOutputParser() + ) + + chain_architecture = build_architecture_chain() + + print("βœ… Loaded!") + +def answer_question( + question: str, + max_attempts: int = MAX_ATTEMPTS +) -> str: + + def worker(i): + try: + # raw = chain.invoke(question) + raw = call_llm(chain.invoke, question) + + parsed = safe_parse_llm_answer(raw) + score = score_answer(parsed) + + return { + "attempt": i, + "raw": raw, + "parsed": parsed, + "score": score + } + + except Exception as e: + print(f"❌ Attempt {i} failed: {e}") + + return { + "attempt": i, + "raw": "", + "parsed": {}, + "score": -1 + } + + results = [] + + with ThreadPoolExecutor(max_workers=max_attempts) as executor: + futures = [ + executor.submit(worker, i) + for i in range(1, max_attempts + 1) + ] + + for f in as_completed(futures): + try: + r = f.result() + if r["score"] >= 0: + results.append(r) + except Exception as e: + print("❌ Future crashed:", e) + + # πŸ”₯ fallback absoluto + if not results: + print("⚠️ All attempts failed β€” returning safe fallback") + return json.dumps({ + "answer": "NO", + "confidence": "LOW", + "ambiguity_detected": True, + "confidence_reason": "All LLM attempts failed", + "justification": "", + "evidence": [] + }) + + results.sort(key=lambda r: r["score"], reverse=True) + + for r in results: + print( + f"⚑ Attempt {r['attempt']} | " + f"answer={r['parsed'].get('answer')} | " + f"confidence={r['parsed'].get('confidence')} | " + f"score={r['score']}" + ) + + best = results[0] + + print(f"\nπŸ† Selected attempt {best['attempt']} (score={best['score']})") + + #return best["raw"] + sanitized = validate_and_sanitize_sources(best["parsed"]) + return json.dumps(sanitized) + + +def reload_all(): + load_all() + +reload_all() + +# πŸš€ Run +if __name__ == "__main__": + chat() + #rebuild_graph_from_faiss(INDEX_PATH, reverse_resume=True) diff --git a/files/pgql_oracle23ai.sql b/files/pgql_oracle23ai.sql new file mode 100644 index 0000000..86b45fb --- /dev/null +++ b/files/pgql_oracle23ai.sql @@ -0,0 +1,112 @@ +-- Tabela de entidades +CREATE TABLE entities ( + id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + name VARCHAR2(255) UNIQUE NOT NULL +); + +-- Tabela de relaΓ§Γ΅es +CREATE TABLE relations ( + id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + from_entity_id NUMBER REFERENCES entities(id), + to_entity_id NUMBER REFERENCES entities(id), + relation VARCHAR2(255), + source_text VARCHAR2(1000) +); + +BEGIN + ordsadmin.graph_view_admin.create_graph_view( + graph_view_name => 'my_graph', + vertex_table_names => 'ENTITIES', + edge_table_names => 'RELATIONS', + vertex_id_column => 'ID', + edge_source_column => 'FROM_ENTITY_ID', + edge_destination_column => 'TO_ENTITY_ID' + ); +END; +/ + + +CREATE PROPERTY GRAPH my_graph + VERTEX TABLES (ENTITIES + KEY (ID) + LABEL ENTITIES + PROPERTIES (NAME)) + EDGE TABLES (RELATIONS + KEY (ID) + SOURCE KEY (SOURCE_ID) REFERENCES ENTITIES(ID) + DESTINATION KEY (TARGET_ID) REFERENCES ENTITIES(ID) + LABEL RELATIONS + PROPERTIES (RELATION_TYPE, SOURCE_TEXT)) + options (PG_PGQL) + +-- Drope o Γ­ndice antigo, se necessΓ‘rio +DROP INDEX ent_name_text_idx; +DROP INDEX rel_type_text_idx; + +-- Crie com o tipo correto +CREATE INDEX ent_name_text_idx ON ENTITIES(NAME) INDEXTYPE IS CTXSYS.CONTEXT; +CREATE INDEX rel_type_text_idx ON RELATIONS(RELATION_TYPE) INDEXTYPE IS CTXSYS.CONTEXT; + +EXEC CTX_DDL.SYNC_INDEX('ENT_NAME_TEXT_IDX'); +EXEC CTX_DDL.SYNC_INDEX('REL_TYPE_TEXT_IDX'); + +SELECT from_entity, + relation_type, + to_entity +FROM GRAPH_TABLE( + my_graph + MATCH (e1 is ENTITIES)-[r is RELATIONS]->(e2 is ENTITIES) + WHERE CONTAINS(LOWER(e1.name), 'gateway') > 0 + OR CONTAINS(LOWER(e2.name), 'gateway') > 0 + OR CONTAINS(LOWER(r.RELATION_TYPE), 'gateway') > 0 + COLUMNS ( + e1.name AS from_entity, r.RELATION_TYPE AS relation_type, e2.name AS to_entity + ) + ) + FETCH FIRST 20 ROWS ONLY + +--------------- +-- # 2026-01-29 - VECTOR 23ai + +CREATE TABLE rag_docs ( + id NUMBER GENERATED BY DEFAULT AS IDENTITY, + content CLOB, + source VARCHAR2(1000), + chunk_hash VARCHAR2(64), + status VARCHAR2(20), + embed VECTOR(1024) +); + +CREATE VECTOR INDEX rag_docs_idx +ON rag_docs(embed) +ORGANIZATION HNSW +DISTANCE COSINE; + +------------------- +-- #2026-02-07 - app_users + +DROP TABLE app_users; + +CREATE TABLE app_users ( + id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, + + username VARCHAR2(100) UNIQUE, + name VARCHAR2(200), + email VARCHAR2(200) UNIQUE, + + user_role VARCHAR2(50), + + password_hash VARCHAR2(300), + + active NUMBER(1) DEFAULT 1, + + reset_token VARCHAR2(300), + reset_expire TIMESTAMP, + + must_change_password NUMBER(1) DEFAULT 0, + + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_users_email ON app_users(email); +CREATE INDEX idx_users_token ON app_users(reset_token); diff --git a/files/process_excel_rfp.py b/files/process_excel_rfp.py new file mode 100644 index 0000000..e3e206d --- /dev/null +++ b/files/process_excel_rfp.py @@ -0,0 +1,286 @@ +import pandas as pd +import requests +import json +from pathlib import Path +import os +import re + +# ========================= +# ConfiguraΓ§Γ΅es +# ========================= +EXCEL_PATH = "<YOUR_EXCEL_XLSX_FILE>" +API_URL = "http://demo-orcl-api-ai.hoshikawa.com.br:8101/rest/chat" +QUERY_LOG_FILE = Path("queries_with_low_confidence_or_no.txt") +TIMEOUT = 120 +APP_USER = os.environ.get("APP_USER", "<YOUR_USER_NAME>") +APP_PASS = os.environ.get("APP_PASS", "<YOUR_PASSWORD>") + +CONTEXT_COLUMNS = [1, 2] # USE IF YOU HAVE A NON-HIERARQUICAL STRUCTURE +ORDER_COLUMN = 0 # WHERE ARE YOUR ORDER LINE COLUMN +QUESTION_COLUMN = 4 # WHERE ARE YOUR QUESTION/TEXT to submit to RFP AI +ALLOWED_STRUCTURES = [ + "x.x", + "x.x.x", + "x.x.x.x", + "x.x.x.x.x", + "x.x.x.x.x.x" +] +ALLOWED_SEPARATORS = [".", "-", "/", "_", ">"] + +ANSWER_COL = "ANSWER" # NAME YOUR COLUMN for the YES/NO/PARTIAL result +JSON_COL = "RESULT_JSON" # NAME YOUR COLUMN for the RFP AI automation results + +CONFIDENCE_COL = "CONFIDENCE" +AMBIGUITY_COL = "AMBIGUITY" +CONF_REASON_COL = "CONFIDENCE_REASON" +JUSTIFICATION_COL = "JUSTIFICATION" + +# ========================= +# Helpers +# ========================= + +def normalize_structure(num: str, separators: list[str]) -> str: + if not num: + return "" + + pattern = "[" + re.escape("".join(separators)) + "]" + return re.sub(pattern, ".", num.strip()) + +def should_process(num: str, allowed_patterns: list[str], separators: list[str]) -> bool: + normalized = normalize_structure(num, separators) + + if not is_hierarchical(normalized): + return True + + depth = normalized.count(".") + 1 + + allowed_depths = { + pattern.count(".") + 1 + for pattern in allowed_patterns + } + + return depth in allowed_depths + +def register_failed_query(query: str, answer: str, confidence: str): + QUERY_LOG_FILE.parent.mkdir(parents=True, exist_ok=True) + print("Negative/Doubt result") + with QUERY_LOG_FILE.open("a", encoding="utf-8") as f: + f.write("----------------------------\n") + f.write(f"Query:\n{query}\n\n") + f.write(f"Answer: {answer}\n") + f.write(f"Confidence: {confidence}\n\n") + +def normalize_num(num: str) -> str: + return num.strip().rstrip(".") + +def build_question_from_columns(row, context_cols: list[int], question_col: int) -> str: + context_parts = [] + + for col in context_cols: + value = str(row.iloc[col]).strip() + if value: + context_parts.append(value) + + question = str(row.iloc[question_col]).strip() + + if not context_parts: + return question + + context = " > ".join(dict.fromkeys(context_parts)) + return f'Considering the context of "{context}", {question}' + +def build_question(hierarchy: dict, current_num: str) -> str: + if not is_hierarchical(current_num): + return hierarchy[current_num]["text"] + + parts = current_num.split(".") + + main_subject = None + main_key = None + + # ancestral mais alto existente + for i in range(1, len(parts) + 1): + key = ".".join(parts[:i]) + if key in hierarchy: + main_subject = hierarchy[key]["text"] + main_key = key + break + + if not main_subject: + raise ValueError(f"No valid root subject for {current_num}") + + subtopics = [] + for i in range(1, len(parts)): + key = ".".join(parts[: i + 1]) + if key in hierarchy and key != main_key: + subtopics.append(hierarchy[key]["text"]) + + specific = hierarchy[current_num]["text"] + + if subtopics: + context = " > ".join(subtopics) + return ( + f'Considering the context of "{context}"' + ) + + return f'What is the {specific} of {main_subject}?' + +def normalize_api_response(api_response: dict) -> dict: + if isinstance(api_response, dict) and "result" in api_response and isinstance(api_response["result"], dict): + if "answer" in api_response["result"]: + return api_response["result"] + return api_response + +def call_api(question: str) -> dict: + payload = {"question": question} + + response = requests.post( + API_URL, + json=payload, + auth=(APP_USER, APP_PASS), # πŸ” BASIC AUTH + timeout=TIMEOUT + ) + + response.raise_for_status() + return response.json() + +def is_explicit_url(source: str) -> bool: + return source.startswith("http://") or source.startswith("https://") + +def is_hierarchical(num: str) -> bool: + return bool( + num + and "." in num + and all(p.isdigit() for p in num.split(".")) + ) + +def normalize_evidence_sources(evidence: list[dict]) -> list[dict]: + normalized = [] + + for ev in evidence: + source = ev.get("source", "").strip() + quote = ev.get("quote", "").strip() + + if is_explicit_url(source): + normalized.append(ev) + continue + + normalized.append({ + "quote": quote, + "source": source or "Oracle Cloud Infrastructure documentation" + }) + + return normalized + +# ========================= +# Main +# ========================= +def main(): + df = pd.read_excel(EXCEL_PATH, dtype=str).fillna("") + + if ANSWER_COL not in df.columns: + df[ANSWER_COL] = "" + + if JSON_COL not in df.columns: + df[JSON_COL] = "" + + for col in [ + ANSWER_COL, + JSON_COL, + CONFIDENCE_COL, + AMBIGUITY_COL, + CONF_REASON_COL, + JUSTIFICATION_COL + ]: + if col not in df.columns: + df[col] = "" + + hierarchy = {} + for idx, row in df.iterrows(): + num = normalize_num(str(row.iloc[ORDER_COLUMN])) + text = str(row.iloc[QUESTION_COLUMN]).strip() + + if num and text: + hierarchy[num] = { + "text": text, + "row": idx + } + + for num, info in hierarchy.items(): + if not should_process(num, ALLOWED_STRUCTURES, ALLOWED_SEPARATORS): + print(f"⏭️ SKIPPED (structure not allowed): {num}") + continue + + try: + row = df.loc[info["row"]] + num = normalize_num(str(row.iloc[ORDER_COLUMN])) + + if is_hierarchical(num): + question = build_question(hierarchy, num) + else: + question = build_question_from_columns( + row, + CONTEXT_COLUMNS, + QUESTION_COLUMN + ) + + print(f"\n❓ QUESTION SENT TO API:\n{question}") + + api_response_raw = call_api(question) + api_response = normalize_api_response(api_response_raw) + + if "evidence" in api_response: + api_response["evidence"] = normalize_evidence_sources( + api_response.get("evidence", []) + ) + + if ( + api_response.get("answer") == "NO" + or api_response.get("confidence") in ("MEDIUM", "LOW") + ): + register_failed_query( + query=question, + answer=api_response.get("answer", ""), + confidence=api_response.get("confidence", "") + ) + + print("πŸ“„ JSON RESPONSE (normalized):") + print(json.dumps(api_response, ensure_ascii=False, indent=2)) + print("-" * 80) + + df.at[info["row"], ANSWER_COL] = api_response.get("answer", "ERROR") + df.at[info["row"], CONFIDENCE_COL] = api_response.get("confidence", "") + df.at[info["row"], AMBIGUITY_COL] = str(api_response.get("ambiguity_detected", "")) + df.at[info["row"], CONF_REASON_COL] = api_response.get("confidence_reason", "") + df.at[info["row"], JUSTIFICATION_COL] = api_response.get("justification", "") + + df.at[info["row"], JSON_COL] = json.dumps(api_response, ensure_ascii=False) + + except Exception as e: + error_json = { + "answer": "ERROR", + "confidence": "LOW", + "ambiguity_detected": True, + "confidence_reason": "Processing error", + "justification": str(e), + "evidence": [] + } + + df.at[info["row"], ANSWER_COL] = "ERROR" + df.at[info["row"], CONFIDENCE_COL] = "LOW" + df.at[info["row"], AMBIGUITY_COL] = "True" + df.at[info["row"], CONF_REASON_COL] = "Processing error" + df.at[info["row"], JUSTIFICATION_COL] = str(e) + df.at[info["row"], JSON_COL] = json.dumps(error_json, ensure_ascii=False) + + print(f"❌ ERROR processing item {num}: {e}") + + output_path = Path(EXCEL_PATH).with_name( + Path(EXCEL_PATH).stem + "_result.xlsx" + ) + df.to_excel(output_path, index=False) + + print(f"\nβœ… Saved in: {output_path}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/files/rfp_process.py b/files/rfp_process.py new file mode 100644 index 0000000..db264ef --- /dev/null +++ b/files/rfp_process.py @@ -0,0 +1,428 @@ +import pandas as pd +import requests +import json +from pathlib import Path +import os +import re +import logging +from config_loader import load_config +from concurrent.futures import ThreadPoolExecutor, as_completed +import time +from queue import Queue +import threading +from oci_genai_llm_graphrag_rerank_rfp import answer_question + +config = load_config() + +logger = logging.getLogger(__name__) +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s | %(levelname)s | %(name)s | %(message)s" +) + +EXCEL_QUEUE = Queue() + +# ========================= +# ConfiguraΓ§Γ΅es +# ========================= +API_URL = "http://127.0.0.1:" + str(config.service_port) + "/chat" +QUERY_LOG_FILE = Path("queries_with_low_confidence_or_no.txt") + +CONTEXT_COLUMNS = [1, 2] # USE IF YOU HAVE A NON-HIERARQUICAL STRUCTURE +ORDER_COLUMN = 0 # WHERE ARE YOUR ORDER LINE COLUMN +QUESTION_COLUMN = 4 # WHERE ARE YOUR QUESTION/TEXT to submit to RFP AI +ALLOWED_STRUCTURES = [ + "x.x", + "x.x.x", + "x.x.x.x", + "x.x.x.x.x", + "x.x.x.x.x.x" +] +ALLOWED_SEPARATORS = [".", "-", "/", "_", ">"] + +ANSWER_COL = "ANSWER" # NAME YOUR COLUMN for the YES/NO/PARTIAL result +JSON_COL = "RESULT_JSON" # NAME YOUR COLUMN for the RFP AI automation results +ARCH_PLAN_COL = "ARCH_PLAN" +MERMAID_COL = "MERMAID" + +CONFIDENCE_COL = "CONFIDENCE" +AMBIGUITY_COL = "AMBIGUITY" +CONF_REASON_COL = "CONFIDENCE_REASON" +JUSTIFICATION_COL = "JUSTIFICATION" + +# ========================= +# Helpers +# ========================= + +def normalize_structure(num: str, separators: list[str]) -> str: + if not num: + return "" + + pattern = "[" + re.escape("".join(separators)) + "]" + return re.sub(pattern, ".", num.strip()) + +def should_process(num: str, allowed_patterns: list[str], separators: list[str]) -> bool: + normalized = normalize_structure(num, separators) + + if not is_hierarchical(normalized): + return True + + depth = normalized.count(".") + 1 + + allowed_depths = { + pattern.count(".") + 1 + for pattern in allowed_patterns + } + + return depth in allowed_depths + +def register_failed_query(query: str, answer: str, confidence: str): + QUERY_LOG_FILE.parent.mkdir(parents=True, exist_ok=True) + logger.info("Negative/Doubt result") + with QUERY_LOG_FILE.open("a", encoding="utf-8") as f: + f.write("----------------------------\n") + f.write(f"Query:\n{query}\n\n") + f.write(f"Answer: {answer}\n") + f.write(f"Confidence: {confidence}\n\n") + +def normalize_num(num: str) -> str: + return num.strip().rstrip(".") + +def build_question_from_columns(row, context_cols: list[int], question_col: int) -> str: + context_parts = [] + + for col in context_cols: + value = str(row.iloc[col]).strip() + if value: + context_parts.append(value) + + question = str(row.iloc[question_col]).strip() + + if not context_parts: + return question + + context = " > ".join(dict.fromkeys(context_parts)) + return f'Considering the context of "{context}", {question}' + +def build_question(hierarchy: dict, current_num: str) -> str: + if not is_hierarchical(current_num): + return hierarchy[current_num]["text"] + + parts = current_num.split(".") + + main_subject = None + main_key = None + + # ancestral mais alto existente + for i in range(1, len(parts) + 1): + key = ".".join(parts[:i]) + if key in hierarchy: + main_subject = hierarchy[key]["text"] + main_key = key + break + + if not main_subject: + raise ValueError(f"No valid root subject for {current_num}") + + subtopics = [] + for i in range(1, len(parts)): + key = ".".join(parts[: i + 1]) + if key in hierarchy and key != main_key: + subtopics.append(hierarchy[key]["text"]) + + specific = hierarchy[current_num]["text"] + + if subtopics: + context = " > ".join(subtopics) + return ( + f'Considering the context of "{context}"' + ) + + return f'What is the {specific} of {main_subject}?' + +def normalize_api_response(api_response) -> dict: + # -------------------------------- + # πŸ”₯ STRING β†’ JSON + # -------------------------------- + if isinstance(api_response, str): + try: + api_response = json.loads(api_response) + except Exception: + return {"error": f"Invalid string response: {api_response[:300]}"} + + if not isinstance(api_response, dict): + return {"error": f"Invalid type: {type(api_response)}"} + + if "error" in api_response: + return api_response + + if isinstance(api_response.get("result"), dict): + return api_response["result"] + + if "answer" in api_response: + return api_response + + return {"error": f"Unexpected format: {str(api_response)[:300]}"} + +def call_api( + question: str, + *, + api_url: str, + timeout: int, + auth_user: str | None, + auth_pass: str | None, +) -> dict: + + payload = {"question": question} + + response = requests.post( + api_url, + json=payload, + auth=(auth_user, auth_pass) if auth_user else None, + timeout=timeout + ) + + if response.status_code >= 500: + raise RuntimeError( + f"Server error {response.status_code}: {response.text}", + response=response + ) + + text = response.text.lower() + + if "gateway time" in text or "timeout" in text: + raise RuntimeError(response.text) + + try: + return response.json() + except: + raise RuntimeError( + f"Invalid JSON: {response.text[:300]}" + ) + +def is_explicit_url(source: str) -> bool: + return source.startswith("http://") or source.startswith("https://") + +def is_hierarchical(num: str) -> bool: + return bool( + num + and "." in num + and all(p.isdigit() for p in num.split(".")) + ) + +def normalize_evidence_sources(evidence: list[dict]) -> list[dict]: + normalized = [] + + for ev in evidence: + source = ev.get("source", "").strip() + quote = ev.get("quote", "").strip() + + if is_explicit_url(source): + normalized.append(ev) + continue + + normalized.append({ + "quote": quote, + "source": source or "Oracle Cloud Infrastructure documentation" + }) + + return normalized + +def build_justification_with_links(justification: str, evidence: list[dict]) -> str: + """ + Combine justification text + evidence URLs in a readable format for Excel. + """ + + if not evidence: + return justification or "" + + urls = [] + + for ev in evidence: + src = ev.get("source", "").strip() + if is_explicit_url(src): + urls.append(src) + + if not urls: + return justification or "" + + links_text = "\n".join(f"- {u}" for u in sorted(set(urls))) + + if justification: + return f"{justification}\n\nSources:\n{links_text}" + + return f"Sources:\n{links_text}" + +def call_api_with_retry(question, max_minutes=30, **kwargs): + start = time.time() + attempt = 0 + delay = 5 + + while True: + try: + return call_api(question, **kwargs) + + except Exception as e: + attempt += 1 + elapsed = time.time() - start + + msg = str(e).lower() + if any(x in msg for x in ["401", "403", "400", "invalid json format"]): + raise + + if elapsed > max_minutes * 60: + raise RuntimeError( + f"Timeout after {attempt} attempts / {int(elapsed)}s" + ) + + logger.info( + f"πŸ” Retry {attempt} | waiting {delay}s | {e}" + ) + + time.sleep(delay) + + delay = min(delay * 1.5, 60) + +def call_local_engine(question: str) -> dict: + return answer_question(question) + +# ========================= +# Main +# ========================= +def process_excel_rfp( + input_excel: Path, + output_excel: Path, + *, + api_url: str, + timeout: int = 120, + auth_user: str | None = None, + auth_pass: str | None = None, +) -> Path: + + df = pd.read_excel(input_excel, dtype=str).fillna("") + + for col in [ + ANSWER_COL, + JSON_COL, + CONFIDENCE_COL, + AMBIGUITY_COL, + CONF_REASON_COL, + JUSTIFICATION_COL + ]: + if col not in df.columns: + df[col] = "" + + hierarchy = {} + for idx, row in df.iterrows(): + num = normalize_num(str(row.iloc[ORDER_COLUMN])) + text = str(row.iloc[QUESTION_COLUMN]).strip() + + if num and text: + hierarchy[num] = {"text": text, "row": idx} + + # ========================================= + # πŸ”₯ WORKER PARALELO + # ========================================= + def process_row(num, info): + try: + row = df.loc[info["row"]] + + if is_hierarchical(num): + question = build_question(hierarchy, num) + else: + question = build_question_from_columns( + row, + CONTEXT_COLUMNS, + QUESTION_COLUMN + ) + + logger.info(f"\nπŸ”Έ QUESTION {num} SENT TO API:\n{question}") + + # raw = call_api_with_retry( + # question, + # api_url=api_url, + # timeout=timeout, + # auth_user=auth_user, + # auth_pass=auth_pass + # ) + raw = call_local_engine(question) + + resp = normalize_api_response(raw) + + return info["row"], question, resp + + except Exception as e: + return info["row"], "", {"error": str(e)} + + # ========================================= + # PARALLEL EXECUTION - FUTURE - OCI ACCEPTS ONLY 1 HERE + # ========================================= + futures = [] + + with ThreadPoolExecutor(max_workers=1) as executor: + + for num, info in hierarchy.items(): + + if not should_process(num, ALLOWED_STRUCTURES, ALLOWED_SEPARATORS): + continue + + futures.append(executor.submit(process_row, num, info)) + + for f in as_completed(futures): + + row_idx, question, api_response = f.result() + api_response = normalize_api_response(api_response) + + try: + if "error" in api_response: + raise Exception(api_response["error"]) + + if "evidence" in api_response: + api_response["evidence"] = normalize_evidence_sources( + api_response["evidence"] + ) + + if ( + api_response.get("answer") == "NO" + or api_response.get("confidence") in ("MEDIUM", "LOW") + ): + register_failed_query( + query=question, + answer=api_response.get("answer", ""), + confidence=api_response.get("confidence", "") + ) + + df.at[row_idx, ANSWER_COL] = api_response.get("answer", "ERROR") + df.at[row_idx, CONFIDENCE_COL] = api_response.get("confidence", "") + df.at[row_idx, AMBIGUITY_COL] = str(api_response.get("ambiguity_detected", "")) + df.at[row_idx, CONF_REASON_COL] = api_response.get("confidence_reason", "") + df.at[row_idx, JUSTIFICATION_COL] = build_justification_with_links( + api_response.get("justification", ""), + api_response.get("evidence", []) + ) + df.at[row_idx, JSON_COL] = json.dumps(api_response, ensure_ascii=False) + + logger.info(json.dumps(api_response, indent=2)) + + except Exception as e: + df.at[row_idx, ANSWER_COL] = "ERROR" + df.at[row_idx, CONFIDENCE_COL] = "LOW" + df.at[row_idx, JUSTIFICATION_COL] = str(e) + + logger.info(f"❌ ERROR: {e}") + + df.to_excel(output_excel, index=False) + + return output_excel + +if __name__ == "__main__": + import sys + + input_path = Path(sys.argv[1]) + output_path = input_path.with_name(input_path.stem + "_result.xlsx") + + process_excel_rfp( + input_excel=input_path, + output_excel=output_path, + api_url=API_URL, + ) \ No newline at end of file diff --git a/files/source_code.zip b/files/source_code.zip new file mode 100644 index 0000000000000000000000000000000000000000..541d58a45a1bb0b701cdffdafe09fcc3c1163a11 GIT binary patch literal 128792 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%0As=CsuNt{$h4V({lupdlKv$g+3C6!u#t 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 Y+#?vE#RGx#fd77!K(qHAsLG)K2Zseq7XSbN literal 0 HcmV?d00001 diff --git a/files/templates/admin_menu.html b/files/templates/admin_menu.html new file mode 100644 index 0000000..a10e0cb --- /dev/null +++ b/files/templates/admin_menu.html @@ -0,0 +1,67 @@ +{% extends "base.html" %} +{% block content %} + + <h1>βš™οΈ Admin Panel</h1> + + <!-- USERS --> + <div class="card"> + + <h2>πŸ‘€ Users</h2> + + <p class="small"> + Create, edit and manage system users and permissions. + </p> + + <a href="{{ url_for('users.list_users') }}" class="btn"> + Open User Management + </a> + + </div> + + + <!-- KNOWLEDGE --> + <div class="card"> + + <h2>πŸ” Knowledge Governance</h2> + + <p class="small"> + Invalidate outdated knowledge or manually add validated information to the RAG base. + </p> + + <a href="{{ url_for('admin.invalidate_page') }}" class="btn"> + Open Governance Tools + </a> + + </div> + + <div class="card"> + + <h2>♻️ Maintenance</h2> + + <p class="small"> + Reload all knowledge indexes, embeddings and caches without restarting the server. + </p> + + <button class="btn" onclick="rebootSystem()"> + Reload Knowledge + </button> + + <pre id="rebootResult" style="margin-top:10px;"></pre> + + </div> + <script> + async function rebootSystem() { + + const box = document.getElementById("rebootResult"); + box.textContent = "⏳ Reloading..."; + + const res = await fetch("/admin/reboot", { + method: "POST" + }); + + const data = await res.json(); + + box.textContent = "βœ… " + data.message; + } + </script> +{% endblock %} \ No newline at end of file diff --git a/files/templates/base.html b/files/templates/base.html new file mode 100644 index 0000000..ac6bf08 --- /dev/null +++ b/files/templates/base.html @@ -0,0 +1,321 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>ORACLE RFP AI Platform + + + + + + + + + + +
+ + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + {% for category, message in messages %} +
+ {{ message }} +
+ {% endfor %} + {% endif %} + {% endwith %} + + {% block content %} + {% endblock %} + +
+ + + \ No newline at end of file diff --git a/files/templates/excel/job_status.html b/files/templates/excel/job_status.html new file mode 100644 index 0000000..e51bdb0 --- /dev/null +++ b/files/templates/excel/job_status.html @@ -0,0 +1,82 @@ +{% extends "base.html" %} + +{% block content %} + + + +
+ +

Excel Processing

+

Job ID: {{ job_id }}

+ +
+
+

Processing...

+
+ + + + + +
+ + + +{% endblock %} \ No newline at end of file diff --git a/files/templates/index.html b/files/templates/index.html new file mode 100644 index 0000000..edd6010 --- /dev/null +++ b/files/templates/index.html @@ -0,0 +1,1023 @@ +{% extends "base.html" %} +{% block content %} + + + + + + Oracle AI RFP Response + + + + + + + +
+ +

+ Oracle LAD A-Team
+ Cristiano Hoshikawa
+ cristiano.hoshikawa@oracle.com +

+ +

+ Tutorial
+ + Oracle Learn – OCI Generative AI PDF RAG + +
+ + Oracle GraphRAG for RFP Validation + + +

+ + REST Service Endpoint
+ + {{ api_base_url }}/rest/chat + +

+ +
+ +

Overview

+ +

+ This application provides an AI-assisted RFP response engine for + Oracle Cloud Infrastructure (OCI). + It analyzes natural language requirements and returns a + structured, evidence-based technical response. +

+ +
    +
  • Official Oracle technical documentation
  • +
  • Semantic search using vector embeddings
  • +
  • Knowledge Graph signals
  • +
  • Large Language Models (LLMs)
  • +
+ +
+ + +
+ +

Important Notes

+ +
    +
  • + Responses are generated by an LLM. + Even with low temperature, minor variations may occur across executions. +
  • +
  • + Results depend on wording, terminology, and framing of the requirement. +
  • +
  • + In many RFPs, an initial NO can be reframed into a valid + YES by mapping the requirement to the correct OCI service. +
  • +
  • + Human review is mandatory. + This tool supports architects and RFP teams β€” it does not replace them. +
  • +
+ +

+ GraphRAG β€’ Oracle Autonomous Database 23ai β€’ Embeddings β€’ Knowledge Graph β€’ LLM β€’ Flask API +

+ +
+ + +{% if current_user and current_user.role in ("admin", "user") %} +
+ +

Try It β€” Live RFP Question

+ +

+ Enter an RFP requirement or technical question below. + The API will return a structured JSON response. +

+ + + + + + + +
+{% endif %} + + +{% if current_user and current_user.role in ("admin", "user") %} +
+

πŸ— Architecture Planner

+ +

+ This is an advanced analysis engine for designing Architectural Solutions based on OCI resources. + It uses LRM mechanism with Chain-of-Tought to prepare solutions that require a set of components in OCI. +

+ + + + + + + + + +
+{% endif %} + + +
+

Submit your RFP (Excel)

+ +

+ Upload an Excel file and receive the processed result by email. + You do not need to keep this page open. +

+

+ Follow the Excel format:
+ Column A: MUST be a sequential numeric
+ Column B, C: MUST be fill with a context. Could be a domain and sub-domain for the question
+ Column D: Optional
+ Column E: MUST be the main question
+

+

+ Exemplo de planilha Excel +

+ +

+ + +

+ + + + +
+ + +
+ +

REST API Usage

+ +

+ The service exposes a POST endpoint that accepts a JSON payload. +

+ + + curl -X POST {{ api_base_url }}/rest/chat + -H "Content-Type: application/json" + -u app_user:app_password + -d '{ + "question": "Does Oracle Cloud Infrastructure (OCI) Compute support online resizing of memory for running virtual machine instances?" + }' + + +

Request Parameters

+ +

+ question (string)
+ Natural language description of an RFP requirement or technical capability. + Small wording changes may affect how intent and evidence are interpreted. +

+ +
+ + +
+ +

AI Response JSON Structure

+ +

+ The API always returns a strict and normalized JSON structure, + designed for traceability, auditing, and human validation. +

+ +

answer

+

+ Final assessment of the requirement: + YES, NO, or PARTIAL. + A NO means the requirement is not explicitly satisfied as written. +

+ +

confidence

+

+ Indicates the strength of the supporting evidence: + HIGH, MEDIUM, or LOW. +

+ +

ambiguity_detected

+

+ Flags whether the requirement is vague, overloaded, or open to interpretation. +

+ +

confidence_reason

+

+ Short explanation justifying the confidence level. +

+ +

justification

+

+ Technical rationale connecting the evidence to the requirement. + This is not marketing text. +

+ +

evidence

+

+ List of supporting references: +

+
    +
  • quote – Exact extracted text
  • +
  • source – URL or document reference
  • +
+ +
+ +
+ +
+ +

How to Use the RFP AI with a custom Python Code

+ +

+ This solution exposes a REST API that allows RFP questions to be evaluated programmatically. + By consuming this API, users can execute a Python automation that reads spreadsheet files, + builds contextualized questions, sends them to the AI service, and writes the results back + to the same spreadsheet. +

+ +

+ The automation supports both hierarchical and non-hierarchical + spreadsheet structures. Depending on how the spreadsheet is organized, the Python code + automatically determines how to construct each question, ensuring that the context sent + to the AI is accurate, consistent, and auditable. +

+ +

+ This approach enables large RFP documents to be processed in bulk, replacing manual analysis + with a repeatable and controlled workflow driven by a REST interface and a Python execution layer. +

+ +
+ Source Code Download

+ The Python script responsible for reading RFP spreadsheets, calling the REST API, + and writing results back to the file can be downloaded below: +

+ + πŸ“₯ process_excel_rfp.py + +
+ +
+ +

1. Hierarchical Spreadsheet

+ +

+ A spreadsheet is considered hierarchical when it contains a numbering column + that represents a tree structure, such as: +

+ +
+    1
+    1.1
+    1.1.1
+    1.2
+      
+ +

+ In this format: +

+ +
    +
  • The hierarchy is explicitly defined by the numbering
  • +
  • Parent items provide contextual meaning
  • +
  • Leaf items (those without children) are sent to the AI for evaluation
  • +
+ +
+ Example:
+ Item 1.2.3 inherits context from 1 β†’ 1.2 +
+ +

2. Non-Hierarchical Spreadsheet

+ +

+ A spreadsheet is considered non-hierarchical when no valid hierarchical + numbering exists or when numbering does not represent a logical structure. +

+ +

+ In these cases, context is distributed across specific columns, for example: +

+ +
+    Domain | Subdomain | Topic | Question
+      
+ +

+ The pipeline uses only explicitly declared context columns, preventing semantic noise + such as internal IDs or technical codes from being included in the prompt. +

+ +

3. How the Pipeline Selects the Mode

+ +
+    If the order value is hierarchical:
+        use numeric hierarchy
+    Else:
+        use column-based hierarchy
+      
+ +
+ This decision ensures deterministic and auditable behavior. +
+ +

4. Key Code Sections

+ +

4.1 Hierarchy Detection

+ +

+    def is_hierarchical(num: str) -> bool:
+        if not num:
+            return False
+        parts = num.split(".")
+        return all(p.isdigit() for p in parts)
+      
+ +

+ This function determines whether a row belongs to the numeric hierarchy. +

+ +

4.2 Hierarchical Question Builder

+ +

+    def build_question(hierarchy: dict, current_num: str) -> str:
+        ...
+        return f'Considering the context of "{context}", {specific}'
+      
+ +

+ This logic walks up the hierarchy tree to build a contextualized question. +

+ +

4.3 Column-Based Question Builder

+ +

+    def build_question_from_columns(row, context_cols, question_col):
+        ...
+        return f'Considering the context of "{context}", {question}'
+      
+ +

+ This builder is used only when no numeric hierarchy exists. +

+ +

4.4 Correct Row Retrieval (Critical)

+ +

+    row = df.loc[info["row"]]
+    num = normalize_num(str(row.iloc[ORDER_COLUMN]))
+      
+ +
+ Important:
+ Always retrieve the correct DataFrame row before accessing column values. + If this step is skipped, hierarchical processing will not work correctly. +
+ +

5. Best Practices

+ +
    +
  • Do not include internal IDs or technical codes as semantic context
  • +
  • Explicitly define context columns (CONTEXT_COLUMNS)
  • +
  • Avoid heuristic-based hierarchy guessing
  • +
  • Prefer deterministic, auditable logic
  • +
+ +

6. Summary

+ +
+ This pipeline is designed to: +
    +
  • Support multiple RFP spreadsheet formats
  • +
  • Eliminate semantic noise
  • +
  • Produce consistent, high-quality prompts
  • +
  • Scale for enterprise usage
  • +
+
+ +
+
+ +
+ +
+

Configure and Test your Custom Python Code

+ + Before running process_excel_rfp.py, you must configure the input spreadsheet, the REST endpoint, + and authentication. These parameters can be set directly in the script or provided via environment variables. +
+ +

0. Prerequisites

+
    +
  • Python 3.10+ installed
  • +
  • Install dependencies: pip install pandas requests openpyxl
  • +
  • Access to the REST API endpoint (network + credentials)
  • +
+ +
+ +

1. Script Parameters (Edit in the .py file)

+ +
+ Main configuration variables

+ Open process_excel_rfp.py and update the values below: +
+ +
+    EXCEL_PATH      = "/path/to/your/RFP.xlsx"
+    API_URL         = "{{ api_base_url }}/chat"
+    TIMEOUT         = 120
+
+    ORDER_COLUMN    = 0   # column index containing the order/numbering
+    QUESTION_COLUMN = 1   # column index containing the question text
+
+    # Use this only for NON-hierarchical spreadsheets:
+    CONTEXT_COLUMNS = [1, 2]  # columns that contain context (domain, topic, section, etc.)
+
+    # Output column names (created if missing):
+    ANSWER_COL      = "ANSWER"
+    JSON_COL        = "RESULT_JSON"
+    
+ +

EXCEL_PATH

+

+ Full path to the spreadsheet you want to process. The script reads this file and writes a new output file + named _resultado.xlsx in the same folder. +

+ +

API_URL

+

+ The REST endpoint exposed by the AI service. It must accept: + POST with JSON payload {"question": "..."} . +

+ +

ORDER_COLUMN and QUESTION_COLUMN

+

+ The script uses ORDER_COLUMN to identify hierarchy (e.g., 1, 1.1, 1.1.1). + The QUESTION_COLUMN is the text that will be sent to the AI. +

+ +

CONTEXT_COLUMNS (Non-hierarchical mode)

+

+ If your spreadsheet is not hierarchical, context comes from fixed columns (for example: Domain β†’ Subdomain β†’ Topic). + Only the columns listed in CONTEXT_COLUMNS will be used to build context. + This avoids adding noisy values such as internal IDs or codes. +

+ +
+ +

2. Authentication (Environment Variables)

+ +
+ Important:
+ Do not hardcode credentials inside the spreadsheet or the script if the file will be shared. + Prefer environment variables. +
+ +

+ The script uses HTTP Basic Auth to call the API. Configure credentials using environment variables: +

+ +
+    export APP_USER="YOU USER"
+    export APP_PASS="YOUR PASSWORD"
+    
+ +

+ On Windows PowerShell: +

+ +
+    setx APP_USER "YOUR USER"
+    setx APP_PASS "YOUR PASSWORD"
+    
+ +

+ If not provided, the script falls back to the defaults defined in the code: + APP_USER / APP_PASS. +

+ +
+ +

3. How to Run

+ +
+    python process_excel_rfp.py
+    
+ +

+ The script will: +

+
    +
  • Load the spreadsheet
  • +
  • Detect whether the sheet is hierarchical (based on numbering)
  • +
  • Build a contextual question for each leaf item
  • +
  • Send each question to the REST API
  • +
  • Write ANSWER + JSON results back to a new spreadsheet file
  • +
  • Log LOW/MEDIUM confidence or NO answers into queries_with_low_confidence_or_no.txt
  • +
+ +
+ Output

+ A new file will be created next to the original spreadsheet:
+ RFP_result.xlsx +
+
+ + + + + + + +{% endblock %} \ No newline at end of file diff --git a/files/templates/invalidate.html b/files/templates/invalidate.html new file mode 100644 index 0000000..8d49dae --- /dev/null +++ b/files/templates/invalidate.html @@ -0,0 +1,203 @@ +{% extends "base.html" %} +{% block content %} + +

πŸ” RAG Knowledge Governance

+ + + + +
+

❌ Invalidate Knowledge

+ +
+ +

+ +
+
+ +
+ + + + +
+

βž• Add Manual Knowledge

+ +
+ + +

+ + + +

+ + +
+ +

+
+ +
+ + + + +
+

πŸ“š Knowledge Matches

+ + {% if results|length == 0 %} +

No matching knowledge found.

+ {% endif %} + + {% for r in results %} +
+ + Chunk Hash: + {{ r.chunk_hash or "β€”" }}
+ Origin: {{ r.origin or "UNKNOWN" }}
+ Created at: {{ r.created_at or "β€”" }}
+ Status: {{ r.status }}
+ Source: {{ r.source }}
+ +
+ Content: +
{{ r.text }}
+
+ Change to: + + +
+
+ + {% if r.chunk_hash %} + + + {% else %} +

Derived from Knowledge Graph (non-revocable)

+ {% endif %} +
+ {% endfor %} +
+ + +{% endblock %} \ No newline at end of file diff --git a/files/templates/users/form.html b/files/templates/users/form.html new file mode 100644 index 0000000..2b086c4 --- /dev/null +++ b/files/templates/users/form.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} +{% block content %} + +
+

{{ "Edit User" if user else "New User" }}

+ +
+ + + + + + + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/files/templates/users/list.html b/files/templates/users/list.html new file mode 100644 index 0000000..a38c2fb --- /dev/null +++ b/files/templates/users/list.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} +{% block content %} + +
+

Users

+ + + New User + + + + + + + + + + + {% for u in users %} + + + + + + + + {% endfor %} +
NameEmailRoleActive
{{ u.name }}{{ u.email }}{{ u.role }}{{ "Yes" if u.active else "No" }} + Edit | + Delete +
+
+ +{% endblock %} \ No newline at end of file diff --git a/files/templates/users/login.html b/files/templates/users/login.html new file mode 100644 index 0000000..677f66c --- /dev/null +++ b/files/templates/users/login.html @@ -0,0 +1,114 @@ +{% extends "base.html" %} + +{% block content %} + + + + + +{% endblock %} \ No newline at end of file diff --git a/files/templates/users/set_password.html b/files/templates/users/set_password.html new file mode 100644 index 0000000..11317b7 --- /dev/null +++ b/files/templates/users/set_password.html @@ -0,0 +1,20 @@ +{% extends "base.html" %} +{% block content %} + +
+ +

Set Password

+ + {% if expired %} +

Link expired or invalid.

+ {% else %} +
+ + + +
+ {% endif %} + +
+ +{% endblock %} \ No newline at end of file diff --git a/files/templates/users/signup.html b/files/templates/users/signup.html new file mode 100644 index 0000000..b18790d --- /dev/null +++ b/files/templates/users/signup.html @@ -0,0 +1,51 @@ +{% extends "base.html" %} +{% block content %} + +
+ +

Create Access

+ +

+ Enter your email to receive a secure link and set your password. +

+ +
+ + + +

+ + + +

+ + + +
+ +
+ + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + {% for cat, msg in messages %} +
+ {{ msg }} +
+ {% endfor %} + {% endif %} + {% endwith %} + +
+ +{% endblock %} \ No newline at end of file diff --git a/img_3.png b/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3363846bc7e1cd10d0653afed2c497a0cbd0bb86 GIT binary patch literal 505602 zcmd43cT|(x*Dea`1{(ro zV#?pJm!VxU2KQ;79G!eby~lio|33yodLlEQ@oxmL2o{X>pU*t{$aX#}?o!^JtL(ZX zhC^96t15TcYE!eeWxA%=P*v%A{fgylB*j0FypZ>GZMp%YdbH1UIK#vk*0xUjj4mT! zdz{jIbWj7vB_M17p}zn4>SE*nSPs}|XA9a13rfmU;iHi+P-55(Q{A6Eh^X;rJN|Rz z$K^5++TG~}A606nK5}n*y$eQH8@Y)*z*3MD>Ouyt`9(M7=FibIjn5~U-{G2Il=plG zi<7v+>LI7#GYvr-*yg~XeLP?HUvxi*&Qy&j(HsyGtq`lCdiYY5p7ZBq!K3!t$2RqYb_dskj`o@< zux4YyIofBY6vQ0g{tP_@K_KZe{2WXpF|>4IQKEUDggIQnbg?MWl+IUTRQC4Cn04!3 z!rra}bv&ek<>&C=Q76k|n+-neSY*H+eb85WheIBkQSt%sq(g!Qvcj76RNv3BH2ljK z-Zk&cMF7jt*wc7?rVx3s3T_VA+djN#iLA0d_uq!%fGJTy`zQw@Fy*#T5J^b&;ER5D z&GwlqwErsiMB~@LFPXmi$Ed)(+c4aoRkAnz z$Et(F^`pZBk#DO=XxPh%q4{Ns+Z9)6cOxW_zI)rNK1g!f%~i%=&>pa~K1bn)q;83B zABy(n|0c;dD+BHnxIOOVF!4?7jKjg8`XG%Uz?=S;=@n_~d+LtQxYPz|;F|OQchgPM zJGAo9=&So_C$6t0{&`ILmn}QJ09zjJE`yO&V%uZNboY5$E9Kt|*hpu5FBluQ%e_V~ zjQYcOn*TSy;j~bsRdi6r9pTWpx&6a~J@)M4o07o2E$j9 zg(U565dyi31_v4@q{p9d{wd5%@gX(ih}zaySDBsupP;}83F6};py&v}+Zi`N)Pp_B zmz!@d(jbN}GQV37Lg1QXx(DK7|Fv@}#%>$pIV+9p*4`_7n#@(d;?sX(@%gsHm&bWL z3^oH{U%(amM+F^PhegpG7v9nSd~EMLAWi-K+;u{U8L_ZK==sYNi-Xq}W-jgkk`I1q z4mv^>!z=6X$=L)Q;!t|mgqvuJr2tXrNR-bixS;W z%*anFAu%)uECB~wqrz=BrxGnh!$>y=j=>}9B_gM$m`bDv)rjudsku>Ga_e_P{KndD z6b@d$=}dn)4P(P~2CZA9ZS}UDd$HR|mG3vp7RNvIWz*;&8(Rmwz0b=;J|-q8Cm}0e zB*K3?F~>a3`-9LG4D68j{u=e!_>(TF&N%ooVVuF*jPQZrVRea`^xwElL~Ak8A> z8mV$HI>dDXvgl@CQs-j)imJsif7@DMk9z4}ue5pHxw63T`ED>eTGKC?PPjLuup3b8 z(Y$rVt6f4mziRrWV4J8>olbby;9!22~}GkL|r;U6SPe zfoL|BaiXm3MR>xH0OElZy<#=U!(LzS*mF$K9{6ar`G|64l~6q;*8sLi_!i^;`H?W_ z+S*+zLUe_r!odN(M~8DV%xUnKY=X4ATF!z=Bc(|u&x~@mAXDT?cn7+BZo!GqZV7f6D5VGfZv<*Ib z{P^cXX(SBpQ?6^9lM={HR-sp>slrcGkLpe=3T5^Ft&7v~m&h^bur7sL)eXuqS-Ynt zj96$~7mbqP3_93|NL^lQaw{+&VSTSya#BV@M}SRF5L<^W`m`_IPM&NCW4lUQzW@fF zH`ssH^PS-~x%OAYP_h;VdxaF`)u-#5*_ckm)}*d)+1(i+Gj|3al9vT<11_n8gved+ z2jP^iX&3eD&8bA5{L+Ss?8wr6#8dHP=$J^?d-!%iPhI^ikd+Okl%MEG*f(zx4a&(A0T0c5yKH3Wce(zcz6&1ri2Og>( zEgVfr%&s4K@Tm;|q{I^F3j&%_Qos0Ld;5a3J<<&iUsO<+G0j&=`%#viK-jhgY3!zw6Rbt2;%BFoJ2SXM*O!V-I zoU|E{5EoGbQGD-V#eO`Ok6g8YW=u;RbAtRIPe!C)7j zrF2oy!ynDu=_AuCt~z*9<$yiFu+rZJiXc|K>X39ny7WsPn1H=v>3Z_S&1C7LW%=#RPS2Gv*6jA!{cV|BC0bOh_L(Jh7;Hlyv+6akPs#A_K|9qbt8DT@t@* zlu$h{wg78l7v7_0@MSm0i;1swo$52#I=oCPr~jrW?xZ0~$w%rmITn58OJ%Qx4uQJj zr8U5vJu06))VUZ-C)|1uCUft&n_j?T_9Y4@pIQI5S#FGq=xR{Uun49`;B>^KU_8Qo?qY`E3=u*;+NEyVSHfJi#qIu< zqz@b5uFgwegGY1hy9~7KXiziFY!LqE_A{Sys|FtIL}aLg+m=bh#sdBl#Y5hzmlVF{ z9i`@r?Nvu#cl?{7_e3!893_n(qShNq>gT|p*-r4Nu*12x zIbzUms+GiTsp&dXUt7#o+TE|^0qG94-Y@==egyfTxFvNk*5fYPQNXMPa@oJa{J}Yc z?o}0=X=eY7y2zm-pLAAXoZWKpVDy&VGO)E4F9t~vpLRR|d)*_nix0Q)@}jT+BcD5TNfkLHdeCG7TmR;g*(Yzw$uC#N(kNqmRDY$q!msj0-8#(!YrWUj+s|G| zqc=+2cyZw!xv>Mx`{ZqgC&T+}UfarF8tJ%+c5vhs3AWciOl%BD%i;Wz*)J&bx0^ zR@gj|3?u_nX0N?*Pl~QKOjF=oiXYsx=dns(PQIT7o|b2EN%MN_@G0T`!w|cVLzn0{ zjJF1?n1(H&o%qn#wu8|cHcfSY1hkr+{@h8wX;A;o`%C?;`(<1#Y{(d52`J)#??jL@ z&;8nUc6Bj#du44)PhW1x?q1l_d@KtT$FEw@c>U$UR!EliQ&YCw1ZZbxduSx${%NGj z2>H#wdD{&MhyMT$Mi#RU?VKleIxak`I5c^QLz-@K755! zD8-h|K5(jtU%UJp<>au$!<)&DoCH3zQ+@4rWad|`#7K0)7nJ{Mm>xx4b;fb8zHGGV zoCncB=1d&6Y@KgjfNN7w_u*>#vYd(WHO{jm<{yf+8Kdo^==gY}Sq<-WUIwKiNGEpa5~JShY6*urAp6{Olz)5nbuiUv}QWmGbY z1a9;3k}i=~Iyzlj@1=;|ofLk}`X+nq%7HXyC^7-~jMEVBOr7<(2Zc)OUDbqBqL~|* z#%uo2tgPo}yEABGy0KwErEIw;3VCL_{X*wZW{63f`vb&eJz73cK0-GVQgUS}O5ddtuZD>-A^ zT})}K*Ru*6D7S-)!UHmA+Qb6w+Py|=3e!semQ;72V zb6!t_b3?9VJtwMAefdm!L`Ub|(q7W?%A|82*AoMkZaF60A%5^4hsx-LnsMX7ey702ROzVR$941#@bNrvg&E^p<>!n1!@5q@IC(|^OZdm?yO}7 z7~HhQIxG;T*F$9}KBMZNTI3G#O-;dxB1U}|arG6`%g@?RES~wj6!ZitlK3POC#ZYO z!|U)l<41(sg&z5X!0v6i?TPsN!N{x+lU%W*wqn24B8_y3dci76hv|59Z+wsv{w8fB zCf;k%u86#1eyT4q{^o>(D&+TK$d{os26&9;Gr1ii99#<5KqOm#-gs`m(5eSihWpdu9 zg+pTp?f*W@UniV{*?uog5&w7p(&G9H5Qxjz&(^60Ds12J-)tMxBX~QAN=O9bkOz3x zL;THI#^AhJ{lj_vHS3{uY?BCX=4Yg)`TC!4gMs4x+u#<^IPF({0O)cG+SCksgzQq?l{9{se&Uyg=D_qp zB*0RmKsq1vHH6Q9;TBGKaGAz;;v1rcZT`4!ji*SE_ouCL37*1K;a}e@L&0ylF#h^4 z%}l{>MLi9T64!6LfF{^U{WsU6`Re)`E<;0;&hXp%(0r`?4OXF{@s<6pex{+pg#PBB zG&AGBZPWjsJQV)~s3OReAS#jXXz4`|a*NFO7V@v1Xb_Vw7vAZoAEX|B{wp+biAW?? zuOq8hXp{s9>hO*IU#0Vc_kT_-N;#FKv6 zb@H8yh$&Dl4Z`;Ik7s=Rc1Jw#CsO;>Pui#s7KN!Q|r;Bo89%=uV|t$OU-p%M~3C22?HtC@TuxNVZK=o%U~m`HqIZLB)Hr- zo(2#ILb;@$#QtRL&dsjsmAF6CCp=?m^+l=)c3S*f9@*pcLa`Pqk9uua$rlr|Z$O-4 zce`HiZ4dOPq~M37coPMubJ?4VdpS3AOVxQkakvR?b&TgSZppK)PSAy%c}9t;!f`!= zpdKJRrj`d!h&3S{8U)a4o*=%Z1%hn%*C+>Bifl8D#&ElTcm-L{H^sddKtx=wnxzQ& zUTmUt{3ExERj_Z0Y#3#8^yCk#rcQ#ig2hP*o)jbWX5t{xGwo{0!i#OEtm2#UQT9i7 zV$XziB^L)E=lnL$uJzdZ68tD7iBThuqHiQ^jAcBB+kLI5&%nda{^{0XDr@#Ix@`Q? z5dPr@FQWm_4G3+Dl>1uJ*^#kjqiRrrb&^Ab0J;G3O=7!eS2|~i^Mu6blpC>|mS*ctoiomYMOhyDMGgw3hwzZ9ffQa>=TKC`mTkB zI@?YeN>_zC?0OsfHTQGW$h2wH z8a*F<5F@pkk5AQ<+U@i#3aSu6TJ|f%^Pa6;`chklUGz-6`h*hAMf_Lu0WCabW+3$gyo9SC&$XOy=$AKaq#6am`P zbWsMJc486D%137CINqzu!{$Ab_eJ<`wu!ijpB3y3v@Y=2^EU_kOh=?>=xXnYMJ1+! z*dUDSQ~?WpGvo6+l;xS z2j0Cy4Q62NSXA<-L$(lUOb(Lf%L&-vML!_Pwn_DSjXsGe^+mF_ho^wn1ppvI ztQX7+z?1~0QEvthtaxgGDjQhY2K;06 zx9C21v$-|Q!#+Ki^jf#Y_<(=2gr8jAsEwmRzZ~wX8xMtBlVy8Eo_WBw-W1cjX74g@ z2JXB?FmLh>&jRl&k4|P;?b$bL$LgE0f6Cx91uwNUHi>J2u~vvHp;nYCR(fvSq}2y4 zNKaZrO62=Ow+5QaSXEu>p4euB_X^6Qn(O+lb#uJ@gd-&`_3AG}0Qj3#PhcSA4d5Ro zmnATUd?b%>={LmBO^;q>j|*`4=%l>j49nSn%a5@WUJg~!t<*<;Y*ArRX_w4gQK~7@ zNL0iS*Jg_t@aygFY+(<5Fbu3#HIc76PC=zW#W2hMiIviJqxoCs-0UcHl|8`bBxy{F zQ+Xw)4~EWrBMqP-*QP2JUZP<#U~=hQ1Qz{82JnqT-@CKlyyNO=7%27BmmAZ?PEHgJ z>X!HvW3!KUh%%@%q$gVDbe!YIrauHjZ0LC4%mU~KAoO|Cn`%Gqgd6<1 zuPr);FT8WA$iS`W1xKBDspxfe{?&OXulgGogUA>mbsb05dFTy?X-!Gu#zrJG239DvlR})yGkT#|2eVbrr$$nHrMu6RlUHf9&&W0&^=cuFOJnt( z(A7dXM9f1B=2LO5D1Vf9N!H+|2@I)0odI3#S#6vLwOf42&1qiH?&TVK$t9at=7b=+ zO%5*(fN-E2mHEVFXLHo1z2u`zA8vH3g^t|GFE`kzAA8rx?uyBMHF?@0=~LyoSE~1K zlbN}>pWoAe9!PfbBW1Ah491qGs+p|F*Vl;8OJZAgybR7g-^a6K>n9At-zRx z2Po+Eh%l2o=0l~r1{09K4PeF9APjo^-RIM0kHX@a1}t3Nl*}%;&AkJ(P((W>nBwxE zEC^T^C0%j%LbSXqlO1$jb#bqBGiEd2<`fmb9-Rk;JoYNqPDw$hyu6%I>SG@V#8TD< zjFMp;(X&-oh+)?^oNao-TDnfD&`*Rkk@fVF>Zgj*94P83TpeAsv_ap07piP&1#@L+ zK>L1d87zms##<_X2s9dI&B!h9JoC&%@r|@zWua4VId_YnLCvnx|3% zM_D(rb)e#l8N3=5B2Gy|Lw09mv#+%~w?B^84q0VAOyPxFH499wBi14zY)s}KU$kCi+O1CN(X4dR_ z25qevLK~-)t~OS5mX6yR?gmoQDYk1|?VKBw_KrPMHr_K7G1;)l58^(16IWjR6Sxy6 z09MfOgrpsBy1qw6leL0*qciSQYf7X!czifn@R`k&8`^)U6VE_mI7@l6nUDc!?*Xw} zA_fB+j84j3MR8LfiV0YL8-_)X3o?1#l`5^vcwV-_B_LL9xdMlA*#a%ijR<+PJ(H`=_Yw@O07_uSIEduGx65Hw4pfH*2QU5L&}{H>`gYxQ&&%+W$Top zmAax^c`B*yuO&YhLQ+$CerPIRG$?etx!^*YA>(G~%7R>;cJLZOnIFv`+P)H}w3k^7 zdc_}!4VIk9vQvoo!V|F_T{d{&NURe?9VV1Ac$FX2woDl6bqK3zy^*Y3LS77b|C`D& zE-Y?#$zEE9(&k%qCZNMu#Kq%x_dU!XYE55~m?~3v83*JY?Ut`eR{KqK?Pa>?E%#-1 zBd%{}iyug0<(uLQ)7}H(>x#Hz$d(;St4Sbj7qH;_WnX+W2YnOD6o#%@$Af3)7&v-r zP0x-E!t-56jV)p~N(KAh$?eTqz1CfuPlqANrEAHG3d5W*hK>b!g+;lbX9ea z341i+HE*is!$hi#D75>_V7P%d1pSIsCASdno;YIuw+v&#gPK>dlOwZ&=Q}+JTsH6) z1$ThlI?cxAI+og+y!{kwV+C6;-{*k`g2ET`c$K?t&{}ZaCBc#SX)uK z8q^TlQtCc3xx|4-hBVZ#0;=02Oc5Wv_aBx>o6O<5ndDK44K@gztW)Z@8Rlft{=W3~ zG1zbVKe4Er>=oQxX)c22G3J@sBU*O2g`9q-TfIvbr~1H!+>1AWu;=J=Y*RkqGQeFX zXd#sD^xi?J*_HBwOc|*f1Qxo_P$9ce1#+9zwB(F zH$qp0-p^>844*#LCw1y{zm40j{qxiwtcgymNou(eW?)ea;tHI61)_H=#@^k~v+V@I zj}wjai$SJJpV-~pZjQ{vvk3+KXQX4w9QHRIH8`TdZ}GWOar86n#I43_2{8!C5$r$8 zK0`L8j7|=l{0XjkuV#RR8cZs#DMYEEtP*qG-h=@)jooFfb!q);8KuQsT^Y3%r9piW z4Wlc=gYcX(v7xp*A9R6Oj_rOL-4bjtY|&mV!z=h$61)9`ywW-MSSTV>R;)u-%5nX* zGPsSiyB<}g!HcPpvzLx*^ld!l2UJcqPypgC%^&NK!*IBV|eYV~&V+*1`-k*2*pyNOH74ttRCS;uCUBBlX-qPODS)l)Z6WiWK&{apYH`=qa-b2WWx#GpBJnrJ zv`-eB1}5!H8*oJ?OtLK9>gg&nvDxdts$T09LJls+C(sFhYV$k zuRT?^9M5|A0dr9-0&aLBPTvxhOcA5&6m+GO3^$ctOGo&T;k+f;@8yPeTKTt#EH1Y8 zP)hQbr~_xYza^KA?ie9jbUt_?S|@?n}oT}kqflWQ)P4Ko|s?%C{0Ohy?}rX7`L6h@K|SAwpE z=fO54JGt1xgBDzoG+O6P4EuBP)0&IwHX4O2@N){XSEtC&f2M|s8`m$qV``I*Xjpu$2o(m z$BX>#TIv`0e^(@^*KoF~I{S*tL(YB0%1;h6!hJxbbX->a=-OD*k@MIr6mbEle+ zsOv*$Hk-f~hSS4S=#-#tvAan{qb6Z2eoo~_zp~@r)hd2~YKy%XzW=JBp+ONMAT1@e z#(UO};ghq}wBZL08kcR4T#ZWmO)+!hCCilcTQ28jdwO3mWcFGIH<}ub&z4`QRw`6H zvtWREjAMC%EnkcUxr0yJ_(Q}+N95%Z7Rc0?k>OjP{tU3~2w0w!d9dO}W{J`UvN!yw zro~iEy;_Agvf8?7&-K1+)CVwyQ$pR-*X^Z@tPS~#@cPlKfGgAy zIisT`Y^RaqqPT&10}N_OhSxl9#Es4mR4fO1#@epH>R9@-f9RPz;u`Jl(iJ1S7%;6e z-XhgW$hy~!a50y8y0mjmQ3VrOG+Nd%`rhBUa;Vd>p1<)zjl^=I%+K^PZfl77U3X`? z815oUPeQcrhW`1YrdFpXjhCwyYBd0O7@-L@OHSN~`j6YcfVxEofE70b2=(x*ZXqi9 zR?tx*05%(@ABajtGLS@`?_EKv`KO-QJ1u36;(7>+GT-DJ+3}0dd%FRO8rAs)>3?)c zy+phFES-CCA^pIgJhQzmi>#G{a*P*Q+$NuHO6qC-@FBfI=If_;rd4|fkgtrpz%Po! z;u8Re$AJ&_HJkV3f;?hX34NIR>3a`-CC7_W)emJb%1CB5nsm{BDS||gt`p9&j>k5q zr_&_bpSY&d1O&Z&qI&$Jq2RC1x0###w==A|0_ye_4>h4hJ=cJC0g*?tf6%1!{x;G7 zglLdAJ+`^Ne_)NIqM8+FGrkE-;QqO(X=pw!d#9XOjB^6ude3*WIrVjQb*l{sv0F6y zTGT#ArRJX_Kh~uIrqUV5e9>1Jha}uoaR_ahy$mCbElB<)RO;_6<>TYy0Fpm`ilW~I zl8+iKyXz~i6#f0%A7}Yb^?8kuP8~HSN&JPZt9vzHHaR(2!D*EY(1Kr6-!i$~JtoZ- zb97-t1ixg}=Fu1`(+Zh|{-Aqe^U`S!8iL4d1pmYfe8uVfiOYd8J4xGCrVI$3L;oDa zv+lPge+lLKJA=Xa(J8G!msXSgkfp_D5!kWslc|{22pt4<`O^NB=r$?*!aK0L`x@^& zUm_#&=F*3ZDwJ~`=hqK*=HlDuJp;I1wp(8DCo;W-m;gYtfN;-LayHTvkEBX91ymx|TEONv8ksr`-*!KrRb527LcrEWKBX?&PW_nK(se9mrhqMB56`v#WH ztIY?v`D?Z_1Mh}Qxv4k^v1kUZy()D+;>62upY>#f+SFm=c32u`@FxMM2dy5tc}W`Y zA5T_NxTCynxLA+Kw&72L4DlPuE@vZav*AwXNdb5g;_dU#)y3MhfoKQASl*HC(p zp^o@}1^C@!*dG;XviJC|=-2B?`kGE-HgxGSW$~h1Vg;IGuIH9KgeU5+0}xjo4VpvF zM~4oyvUPp3YDl7|qCJ*4R9D5cCG{}FWqdB%str+h0BWS}U<&iRaStCIkBA;1H2qLv z7+gKUTvz&CiDH=@r`x1Ej1JKU4ZEat&F`LJ1J8R)b5I$yYh>UVdt$MjDK@$U6N}j} zg(-J4mmfhEp;A;<)CjN={~hvIUt1|(sv7^FK>m?K3l+6ou*Ohph>$5B9a6D5F&BGQ zsmf{o4?ay_29O1aR5NU7Lb@2#oH|eJDGHjFR(`2Ij^}UKZT(H)*nb2bZdTc82M47k zuImT)s!lh|a?1=I=tBP!Mf8ygv!3j#w7Q^PD!3=Rrx3EnY!BU}N6oQ7>bwc^F>13;ryf)1j^#sGgXj*~P( z^JzXB1~qmbqUci?JVQP^t*oectM16}REB%Cb7DAkxP1;po7p9NU%Obg3)Cg=xOr(v z?8vu*Oz>t+iQWO02b!e@4Jc(CY?CZjAd5;|h~(P|4-dKqdfNXa6a%V+fTZ*`B1yzM3%yMqcK@_eW`Xd69>RJO$XyslBeN3uqMU>0eh-kzM|RW*IY~7VO*cyVPxMtF6qL#Yx@fMJ?`pOaUaKn?MNFsqx52ts z4h$E@>&8ldYy}DI7W2D^m4%?4#GoFKkKpZv3<1go-7K|@^R9q9?S5AHhe;sRvN)>L zBl%P_*48%U(iyYm$w-vm2WW_f1`b`FW9a`4I#)1Uf7&Fb#p`ro&-(0uQsVBhY~~eR z<3-)`0wEqtGO|}2>*uIuEFw=!m2qGFo2Ux1w|H}LG~{YalCoXB{H|Sj|0N0BZ+LOL z3@d{p>+niL2|gWfvck@0e{R55ob(q^^bCBS_1^WWw_dT@m9+ajIiIB_)tbM`GZ)!t zKU=+fvF|KCCe3)FXKwXPqBP$Te5;ulzHRTYfWq9fz2PD*b{&_2=U96fImIoDt08s> zZYeNwE<8lpz1BLfZ>k*cqf^bJxsmW0VS1f=Ga$;iR0XAmQU(AyN&CyVuULXhC`%Py z8_sGnHH`f$N?p0*%K?FCf-PlBy>1EkWAKET&0AwFo zCp-u<78xU0Y9by%n`D)^F~zez-Zow`cj! z7fV1o9sRNm>*J|z9TKZbp;_0v;AdVLL8e%Fr^*@7O9ca2EWu^%UBm z!xkqMy^U9%ka;Y9j#j1i&9x+H)m-K0Dof(?F0>BQeR(e1oow=BVXb-cg7Ik!-c^ea zgSrAKU)vowD0Vdw>IDr8bY~Fe9d`ieJ6UF=snl6AF{i9H+@C&6cLi&cko>RF8!{AI zdx1vmb1(l_yLa(nu1$@2U_9>Ff?rEr=E;R`t*jugHDg~+&erIy8Ax2ePg2KdJVM80 zRWI@qq)1U(fpUJ~;#5bhL-S0Ez?L1%>5cUI?Q!S)6{Xbjy5TxsB;AsXJM;1FtS+V^ zXDLV&+SZBHg!}$aXZBdG(2JJ-c6b#(PKw9gM z*fRG#gbq4f?nNL?7|AV|&6#blJ-PhY0HHkOmi44;+dqQTGI}>@652T$UN@kt9fV0t zmCHXP=lTy#JXu}TpEHX5#>=5c`>UhApzQMhT$fLIS(oJgGqx;DKfjp?#>CKBW;_Z! z9i0-$QiZn3@_yF0l^sFKyUJ8$nm!L>UmcA0_zys~kZo>Q+O~0?X+mWtXnNHg^4$Zq z2Z!YQxn=Fwl8mW&?rHRy;+>W&@+1aT6)YJDY3bc>;r_f#Ler^QlJ)^qvdvOEV?ScT%R~4a2r<&BD3&+a_+K>F`RmH_T=EjKX}`bz>90ANVIe zsbRk3@Rdk|&Rzh8kkpu3vICp0R3v48+Rn?vjbBYwYgMGZ^=h=@23=DL^@unEy+fZY`W@uCS*oZFb0Ow zpwcU^2a6{JbGhzZbR!WKD0OSM#>O`ONb)Ghe;zeihgz9GVmRw9=u<8e75$!~#M@h` zU{6ib^+`J#xyBg@S|%)1ZE-RkEO_jThg+6_6nQMjX(_FeEKSJr8F0SIQ6#WanlGCy0jDJ9{h* z)8u!~g_|9m^O_mi!xcM=#vc1)eO$0Bq3pB~cIaWH_KD5AR zRhO|-$LuJ{PS=ek^1kGDy%0BFiJ=pH%rYp0qv3n+jN+?8Bef2$b9E|5)yfv$?ulJj zZ_-9HSXfNV5v6m)@m3Lr5}Zo+>o(qU{mvDMFaK|-qEAjuTd0A~Ip^~aH(WO6K1Tpv z+N6g3>vE1oysi`gnNOuA)hpQWKB)wFifG0ILo5X6N67SnRClVU^+y&ahfChz6)RZp z_`#I1QKVF>%6x%9@Wy^@6YtBH@`EeOGiu;uNT~`73~9-7=Q~6Z-rIXHRC`6XTBT}L znzBTRS&gdAOMPb%Hy*#RGmcI(UZgw!tlZ1vI9%lQjg$?|)fxFEyKbrN*^Wv@I=q^P7p^Vm(rXQH8dfG- zv6e8m@IHRd0(GreyN&MjMR*(cn%h z+^G}%dHzy=Aes0gI{N+3m|OdSS?Knta4(c`a{{1X^nqJTlviIe2g{ufua0T7JAK$w z)xfH@I?9zGp7X3MOgvzlL}jDts6tb~q38BC&iL9$tuKx)qe_#SMdU=-c{IH=X)SD! z99-^msg`a1s|s*Xzn+uG(RapxdwRDvrO4G4g%oCwUcv-$>PD=><3<*|DsR&6dJ_J+Wk29#R3Hv+W& z3|ZifL`!SVX|vCB+<}`oS`M(FA2-pCq<0KhZ6-_la^i7Fe3MM?flimi)kSy#a$qJdga5CN9L|L z*9RHKjdFmC2}(!5>zn#3n`7Ym`PDihGmv1RbDZYImk}wTI+p{v%bDW>E4Z9a{NG$& zuF8+`YIH?syb#aIWyJM{KxIylY7V6tE%1P&t)=<;ZSZOY3GK2Zmgzb=dd3CPQ?!yH zpj!No-3s56l(04F1&;BJrmFUV^eYalTdLJ zt^J2Rx*GL%&5|aJ`@$;UEWe|Qo)y=U-JVAX1N8({@8fjH{z_J%iOr*}Qj`rO%YPMJ zmo=HQ#cKCDL;yIr=c~PHweEOYQ0c}TpGCoC=p$R(>9}O`p5+3bHa2VpU6lDeYITpv z3@cw#V*lZbjQnQwxAqaf$mGdy-iG;%E43{vf}QP^G}h-aLW{^PvfCwx$kw%Qqv?Ph z3SmJn$!Z0j^I>wAG8q1D!;n0cnxL#I$E>H-uUhR?K_PFzyi?Wg>uy2x+v@{>@BQ`G zt4+;n;O(-^Sfc{GJ<{hO(fdQ^dmhaTRa=akBgkvG)LcjYFhixsaC<9)x9_eLiR
@GLm8wpixUPaSV=9#52<;D%Z#`GCgl>d|L7!+W~h>^M)sB7Rg=n&(T<{m`dZsT0* zoyvOM*wfM4AlDH=AezA&u~dZwuZ41Uqjg*BmD&;Ax2LALsCKA+bJ$JxY-1HexP|L$ zAa`ktLXQ_yf)`TUI^NuIYZ``UpymXHsLo9ScS0QVrM7XY9D5i!0Ht0YQ^MEcYh}lq zi{fr=NB)ZuNCB57T?n@kU4em>w`l!{_)g~s{x>J~KdZ9w2&pz$?w|Db=t$p}n!w&f z0cS(N^@um3vezP2KlTFTS}9t{1fbSR9L+;={b=x6X}}mdlbqbB8u7VxD-^ zJ3nxpnd@+usx&ZGh^i=6{XEwz4ZE2BnG=SwH+Y*U6jzC;s4WlcJtE)yn?Je|yM)Hr zOANKs!gv-|n-${hE~7^NFo|FHHytf^gRsIh*wM^d+v`j7%#wk{=|kinovN;o|3=U) z3Z?LGP(cS&!VY=5(cW~lzvuF20$=X-g!DxoIsbFF4&x~=SnVTj_+|W!VDL%}FZYcC zkxzAuI;Q5IH}Xmio3)(whm<-u8dRCsG=alriFbgGMm1E``B29fbxGyWKCVx}O#+*o zz@J}-d~a^V(=Z-b@~GlNCIAL%O7e<}H#fH?V!!OBrqg!{N|IENo>HDH7gStxQdn^$ zlNe?)8oJ*pwroanUbclLHmV@lh3E<F9@ug1o zn32d!Z*eMzuj4Z8t&G?$CLY0$k~Z)1P62J4lHkY(HJxytB9X)i;N*W0#{d#N+j?zY z$kXD8DZ9!p%RfQ7J?~N>{vL^}SV}cYXEidOX0(o;B|b#;!=A=sFEx?c44XW;fPFrK z9)C{_9<9g!n<+RlCl_DfL#A zg4>Am%)_%hzfA66d4<*wlW}mWFKnr8I(N6Ndp`uT`6^IZkIcN7zGxNnnUjPug#90* z2{5Bq6+HZbrc9D_0aFg(y!;)AN&bQx zQ_6qyMc6DA#2JC6_W#uDfCy+LqPslI{a_WoQK*q6M?apuI6=Ia;;_d&k17MDf5zb= zp_94UGeT$}@)?=vD%;#~Wv1nr6V?+SaxYxG$;aTKMQE1yIk$Wmp@Vi*Vjk`Ir*4+E zsllrRT`8#%xS{k{rG()h;L;yW;XqsVSM`yGC0JhU25=f%9Y5bTCqxKwj&57SCq=hm zoY#x!$c%!PIovflRE6j6>iHo|&2UXq*+Q08NJyPKFUw1*0K=FKd#r%mSc1KiQ>jC0 z_e0o+*o2KGx?6*dG-0pugcGA5j8y5A`aL{rE|G1bF+Ee}@(;ZhqG{`O))80sjfb9+ z96$FIAhUTZ=H2;H(s=B!~u^WTW_y}@&@=?1FU*eZa8d(wDj{84N4T(E9{B6_ig}u-nW+|D}C!O zuEHw^n?ps$(Vg#I(HT3pwExFvxXfD~UJ<+Q_l2qd*S2ajAaE9{O3@(}FDJ z1cQr+H2kOaV&I(s9rftj>#I~D&-P1r{8**Jq-d!J_cLT1w7X#mtFlJnOG#9!LNv@XUo_G}CRp{LIR>9g znJYpedUofYme)6`8Df2HZrDR0O3?=CY9qg0{_xsR`!X~5c#$LM!qEy#!S$EM zNjlFO1Z(g+N@OwMrigVkaI@t?UU;K`r@PG83TXF_{@iDh`pUHRsVn0oU4xa)*4Q)P zu(~qDR}K#Fy;TMGegK+ZHb{R=bZC74-SvT&3+1hxIMs*SrA9A(BE;=e)0&UEJu4Q3 zF@Xsj9dy)-^#SK`msEOR2E0s0;28>(QDS}!Ab;hq!LA*dpRG(ZsgnRd%Cyk=SK!(> zMvloHAjTqKafxr5y8e(x^hI=v>S!+un;+NLq4udfuKs!X8hByQApdQlZ_f^-fDh;R zgSs*^-cBCYq#~16jCwC0r7ZB`UY+?VDNUnio=&i!i{NeC^fdLMPDcmuvIXON+fu&< z1Ou-&(LUAZ!#90&4g8ivr&MJxwiah`KeiDrm2XMs*rDFQ(V*xO#XL{Ol{O3!0f)m$(h4_cI+_~T!ETnx* z`WXjdPvGjmWbH-2C7@jvpnnZ|=|2tvZvp~H(3-auG9Mok_6XbChgH9g9rn{W)d%oH zKwpN)aWEK6Z~ee;^2l*8eo1Z-&J}4GdBfS1t0&#*4*_&AnNA95BYnV!0-`e%&Vg22 z;(!ebWQ2k^C=Bh%*ix-it7-P*r6~@sf-BIiQr<9lrNU6fS~)S2BGCUX|N5PMA5+$8 z|NO0?I;_G-6VXXYT-Q(XJOt?_H3GCKRaOIc17P%Tfa@DeGEuOAly^C!HLf+;3io)H z%2n~F(5gIjbI$JO;P$d3Zl>W&PAMM$4|Crc(A3s#8$>{*9V?yap(;{C?}~y*6Oke% zfb<#&y@VnPDxvoxpa>`(=_P=o^xkU#siC)k1Ojh|RC4~aDyEr)3^_$$YV|-XBq4nhu<0z5Cz@NpWoGmT{qmjGYYA13d14dFO&{D^ zw50-r@(8YY4~y;}5~Xo7aTH6UITHMSL?Kvif5aFT76#8W*~SdlY(pUI*bgmcP^SCE z_ifyStOCV#jJ9u6X_lC|9PjXy2zP$zHPac1MooG0gb-e`~X9AAz%wgVJ&U71hyB*1}HA>gB`Q$uX&@GEU zyTV$CnZqPUY_rY@$b>e`Tz*PnBn|ZMT+d$ej!0^c-z&hKVMUP!oNMCs z$1`bY<^pQGZo{v}?kzR}%{Kh=*)zi|lP_j=`XYi!d)y0e1Q5}vvEB=ig3JRwm!rBq zi)IrhD7vA<)FM8xtgXAxTIF}r%6$)!3b40B>q7V-+;$>=lfh_PnnFA@73hA{)H0}) zOqtm?WO|vfnKVBXUk831{>j_>TF}ZoE4KKu=JxV0de+ZkT9H*&Vb>{AdsWRZR1Lq3 z^d~edYMy8FNWA;BoK-wO(J`$#finmE;qdk6ouUq+_O{D+5b3srqt*5TK$wIm6IG>*COMd z9>ey05@gL~QA7t>xOZvz6rGDwg6bh9ZKXpygk_kFx4lY5=BMsO_I1Xu%Rb%H@ev2S zF+;b|(WMhlZ6x`bJ7bv zTDEPF<{dXZEgU~yN(𝔭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�%%j${n2T#EvkZn7liK&262Z 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

`QxeVu7@p&WMr253< zu=pFI?9aq5Tr71Berj#)1epj^yIar6Y_<0xp(LKEzU7<1lnZ+wqL1XTTA;%u`7%jD zNdsMzp3>GO3_Gp4$bjevt<65Isp6nv|BX_+X}6w1_f(G?{Y|0$r(4gM7C*YvJW3a{ z?oe968STZDO?{AoF2BpiZ;_eF?+%9|deCY7X-@)qk(m$Ar9mWB>UEJuGipGz} ze7X-=G+Mi@b!dj#Xs-fc%BSX(B;om@c$vuq(?>q+XWQ5J%nnRKv9d-oG5_cc0E`iP z2}^E4aHae|;gRBp9nA#?)m$8{PaS?lD%T<-=rRq9H1LP{&`CwFHIKadY^~Kj3>rKL zrhw_(d75rBx@qP;Lr!mvBwMrcBnr65PFi0@rOpjG1gw1qtN4IBZF%0F+21=N$sLzY z(`36p{Q2JR`JU^^B@ALc+qL$B;YXk@Jaq}P=dAOdq}y8jv&s8`@=IO1V6Qj;IQtp4 zle^U3bEZkJ(ERba4_Bw%PagbZH~)Su;ZPKPXw7N|_zprySbgo%G$`i!!xBoXxxA9E z9F+Jzdd+utv3^&<-rD#dyZS-DIgkPKI~}0j0SPebB<0za``avc%HsL+7%a$6MKRn@jw6rBqYta?%$9K ztD6Wr>o|!O*`m!GbFSrb*k;V9^I6(XFKfs5zrR#>{|3rk?4wRF7un$tO9_k-02(iV zD#wlI(nY&H!)!(%Z`~{Wry@Xo`EPF_u>J4!zk>-)$%J5Fi%a)~B)`&)v{?^~Qj@Ud z6fB7%^eGxY5;K>I6X|Poqe{*3b?0H+t=qe5doESpc;JjKfeZnpZT-=kqo1i^y|i+tXhCey!j&OWbE+mqd1>Te)p&qlAi%T$ zI$dVOhYv(5u75^({x5N*vz1jp??q+X5p{=T?&sNIDjU9O_YH zTuM0oq%*3$pF46U+$C(rW#UUM{4(mE;*Xq=XLh+e!iA~Z>C7xPf1GdP6#N@E0;}92 z#cxKfdINrw< zEyrI0CUfBhb>_63XJ!IGO#XZE4li*3)(@je<4j1ZBhRf zY1%WA=NVw6xed_b9_DEvt>~6NjLR)!f>HK$v4e>gv&SxcMwh%L&^xON>w|TJsa`mv zA7=(ZytzDp515~hd#@w{r>U+joKu9`y{HtT^lc?xrs%U-S+~tNnHSq!VlOd%HH%AF z-6sj32L=Rh(1Ne`k(fcos(-X@RiJ}N3Q~?jY=VvcmHiyv)4ZSTQIYrKbXnkNbvpO? z9?-Q0cFbtWuV1j^2a@Nk1>?&(6Mu_75j^Vrcl0U4PQb+g>B*Wih2<1e?M!v;Kottx z4KFrqyx5uZ`C%CgpO?1H)oIpKgh8+)E8z&H|`OU}By zBLu)z4A7L*AVa3ym(axSuPeIYdMs1iAl{NQ66lN9INFUL=HaPy%uN;?{b3x+L;O&$ ze8fmcbB}!W%%6cy5hpyv?8I?a$#=wCMy z_MC+U3ZyKrISF@-6?-RH^Wx-w_))^(Uw)KiJ0)@}sWfQYbs#EryK||Lc*@5Hon)El zE&f6fZ}YQ0L8@`>t*%kUA^=x9wQ3(MK4DR*?}00!-1uWN%)C1kdY4(aQ+_j-Xx5XZ zstllMH18kwn$YfC-dQTs@&*bNPnsI;Y5!wk-K5TpJn}p`kMr>Vw6xS6{VIFyB-g_$ z(KaHi`a4IRB*895`@q@r2?*@yCF3Bxot2DTkjO)jErdGu&4VUt0}daHBjdJSQ{ukq zuZ9xDOLY>DIR#`|AL>oDs#aCK9JdEd@g)k~W}hNX=P&0?hb2)4n%=&E^S48Sh8v#) zhn4w|@p55H0o7?Xjd?8$+UkJ$qHDt4v(Vi>E3qTTPX&|(JsSv$?I3>5MG}M}7arPt zp?(xrN5tPxTJMIAsXR<`f}YlYL;xqLhQ%*NlP<-Ltof-r={a}+K9oCbbd`F-i4@b7u`dz9WZwCrlyQ7?vb=>f?|MQ};^+ zTV(8QP17sk%?=k(-(%WW5}m9o7R9Njc;Y~ObtfcCo!2K~Y(HnB$PrDh#8b0h1Y0lm z>-=SoZl;0{z~Q@c7)Gxz+3i#VKu;y5J6q%hbxh_y@7j-J?i4MMAYt=tlqS5ir616_ zQpU-n^Oyc%9~&q2EZXZMhfazqrLuB_xHdkO%`QcZd%%K-zp^VYq|*s<~828I2? z>WR&d|5uQgoDmK{Xq{zqMw9c0*2%we8f{1p09pjxff&w>?IZELrR>8`Jsh*YGXZ#tC)}|z zB@koi9knIUGAQ_3Y()Q`kNz7KtMkOh$fujJBM$8@nLuX^O^iVyvVrO`Xkpf8Q3|O8Ux5r zAZ8taxqkl)rMaF%?)Oih9JTr%p<_?&hkyUqv!9*U0SNEkK3@0!w|t=gE#~#MpX<>n z0O0u_;{DV1rU6jTO7w49+F$>Bz{XnY)t-WBfDH8f@-2c)L#~A4jrsurf&hv`h}z!3 z?>Fg(1OPrs%&zNUH|ZaKl51aChhYJ0b5Ca1=lIV#Uk85Q5s?B5FPjscFg+!8{Z-v1 z_zsx=7>1@iolAH$mr`rMB_m8hW^F96-vuLlP zF6E8nsO;UOh5J~a4VlIE>ldcqLL0}NJ`Ml~V`0T~!ipC3ZpJp2PGMN%bf?hw<4LY0 ze?t@PuVX5~NW(awndoidKVuxWOFy#qs-a=CqIV(9HxO;3ogkg>-CpO`r((3d3-5NTBePC;{$EU1b zH?7??;j2d8vtpt3laU|%Em{~htiF8b)=?0|SM!ojxKd4H?>y*`%p9f_XG$x1i*FAoaP zs2lnzHM)QTun-r*Ou;%bTur`U)oucD?ZOT>#b7+p5x)%bCT}fUn)lYpB<9xXCZ>wi z@M^UE+2e+q*~J3PqsTbe%!9JGoasf%m65w4N>C5~o`xD7S4CB4GEwj55C|D6$afgN zc}w62{8&|A=zs2slU#npJ=G(ARI^#xt~7R!%|K$LfO{_1zqD@ecMlP2DK_{4Z0$EP zK=;>lj*lj;_5gCI++O=D#goK6<<(Eev3Q{!!@}*rNFCQBq7Lb}gt?YQ_fn10C8nj+ zl^I;vMPYx-La)>>hl9%qmi;tFSX~AndwToJ-pcbj6ZUrhlH9_KoRePRlFUm{_}uP1 zw2&05N#p7HIDv)XWBx1Ji@uwmShnY_&RbOplG&zPX5ad(ypIK zA3E_8-}Ooh`dT0XQdJw@K%lzYqvdr;(U;;kn{TW#b3N)k{td_HrW+4aPxx& z9=8m%=KgFO@*~*#^SKSTq~i-2ijtig^X3_eZ~o`fSF?&YiRLM{)NOu|76`syg8Z&@ zx_1eaKCyViXm5|>AS{|XQL{(quA8*R!3i(~*48UZ%GlY)kpbUQf5T^OIT27ieeTeq zU9Z#d#dKltJUlJ}=m#I_EJlNLc10%SIWSVzlzOAU0B2y>8;&&c_4?R_NzV%+O z-$r_r;)f_;ejU(mH^C7%38)LH2O{eCs71TudPr}P;qs`;qp1zO8KSWTs z6Ml%Ga({A1TY)k@`GI>qDf%<$eyX5eDC(uDwb8&XJ54UP+RyPWjFg%6^l&`xP_6iV zJ{{}9U+Bn&+d2JG(u;Uu+;PxMQ@$a?Lu&ry2JA_E5QZHeloPUdw_}+qp7X7Tr2FHJ zj;ss>`)zd)7P+%5XjIJNNW*GnL+9{ZUQkS`yDNSl8p-%s;N(wpcdwSk$|+Epi5;{5 z+J&hjc;^SynegR+N0)%&*n&=*%sq#l4lO&cc{66RdSOecvA#k0g$}hG*7eTk?H4&9 zK6I89cOc1S#rGZj#f3~I7Wb2X`b8cApc}UMBJa75!h;~hdaH79$YL?&2+eMhC@z_- zwQsi2=Rous@hiT08c{yK!217?BKI+<8ZrJ8tTjq67CgT0=*+cqm{~ueW_!j z9{x=H)4}6@?oA^S8||_WUY;CPl|xl^0N1U~O_Ig1DSb|uG==YZ(^ti=Ws$Lpo{c8j z9M&82pZCs0afK4J`g8rW909(@VKUFV^~&iBNy57@iQcFUxe5hfl`r{H@sKYMMg;?6 zcudx4ND0t{+o~iFMvi$r6Sm!c;SI1>LXAXWPJJuGYPe3ah#LvEQxZ$)!?(c7*1m9q z#c%HcTx9({{&m}*U-^%YKlAt147)y<9_uEZ%$heo)k{wd(*JYtT|yt^T9(Oqnq|D| zgW2`h4(x&UbI#3PK((#PVLkY&`Zcn@6#xi;ew%+GB%+1^@r4I(u1OhdU|uEkjkg9W zLOx6VrMtO)no&}JfK;I=7jK*}p1wJSwFV6IyX#D{=(&f>~t+Mz7)>>m^-o=qd+`)E#A&#f?;u7i};v%e&-SkLHa@)W)eU?G(qHk=iD?Q zY!YuX5s@NIw=yOiOJ!#HdOYd(N1Au^}Zn2Hc%%M7sE^9 zZYzST;lek@J#Fq70Hi-zt$b=RXDWN5OQDJI{!}l~0y$9hL)xl$NLZC?KG47pn1boR z8xS$vIukJrBBQC)%^ygVbG#OxBj>a0v8QS0xWJ61^APR)>P*-2!NH{&(D+?;&hEf`BuL0*!hdE+`Wh}fK> zSf@FD^6J7zCZM_hYNo1Y$OFJ<#tF0Q^=+QyJxfW+svy_p_IiAWyQ^ngvr zY7j)_-~I&8P7`=1Fu-M&;XD4NxUS?Jw~8u29`Cn2T4?=uBm;=GqJT2&%%^KD2XFZ0 zB!{*-ZjR4VUH>5kDCM)VSV~fCvA}PSK}|nR0`T#Mh*sZwwQr%J_V2m}pBC&`^q2$| z)JOIoUpJ7A{+AA5L9{6AnXKZ0rEX?qY#~v`PLh zy%P&VMs$8AKa}9cHwp`>*q;X@S7L{#u#*4ySl_qK zi3vs?_S$89W?<j^!NOHp)l6z;h?+U+#Wb55jP$~yY{Fh%J0(c7<){NIua6Q7twJqwC>%@kG-upnic zygS!pOFRYu4MOvLS3ibGymJp)qTVSo!A)Sm*yuLBy;F^I@86`IbT zK}D^coEwp$QbHI`ejmQ|M6Cg&t_)(QX6&5^pG)DHh~VE>7KsJ;GSJYWT|hGro+)5D z;IRE?&$23PCPa3JJRD7cTW3-v*Q56w;+M~WaQnr0rmaneey!LsT^Qc3~zFN>*#czkfz9-Hb7#X{Etfg2aK<#o!&X8U(8B7 zQW2oi>(yApran*2_9Qg%uC%7QF4GOl+{GNj+f9aZghsE{-mUc3We1V#trbcyIe0ve z*Z|ZzRn$=MBocRB$+FF=L$$E%xhReZgA8%u42($fMr`}6jB6yD{A(kym7yNk?w)%# z5%}m^)SKRk7>Vji0p`&N{@!Nx=(V0B3TBcR$V6XI@ zG3dHg=fn5!Hq4&8{r1Kqd^LeL-tpr4&gvp!BbFeIm6A`rAO&0gZisQGRxv7e8Aqz2 znV{PGZpQCSI#4uwMM|6d{WIbfL>~kSJh53UE!K}G>R$Bd)0K{?wM`rR+-3<&k$mrt zjzC?bCF*V>BzC2DR)#8`(ZEhfi~u}Q$;YQ5-=(B8aC-hG!WZ0`oEDPL5Gma6?9ERv zVw$INT%@%G%a+J4r~R}Y(z*SSYVyM7N#ekwoLmy*{Cr+$JJwcr<~tX$)i7r5gGEst zwyr8FD**xZi0FOtgq0=wKVI+!%FJmW;U0}MkG_8n8O?Q@3YkPyX(Qf5OtIA2nxnzs zXVd$Dz~Mb0<_9;s@t%((A5P4x8N?`e_Cop6Dv23yYCqUMqBk7-*Ynki(c&(p(Yv}m z7?brkl)vN(5&lvg)O6uP3t4fl$w00h=XR;JXgo^B1EC>2`M`6?!F|}q)C)2udVv9R^eF_#9vK(JQ-G|%l(1(*uw&_pG=;99gVgq&>^7@@pKXqCF|2gtPVaxp1Sv? zS2@0~Q{$g!MQID+uL_Pxl?39EKI2b1@4lJOgpP`?xB?Y_kHl=TFaHc#_|1zL1eg>D ztlx%rfDN7y_9&2!>M0q8(91?nDZd|C==X`f7mvd_A0hBi&dMPn`~@;kJqx@{7R0rty~#cYh^%2w!Zlqh5&0l^dAO)PN z?Z9MOVMuT)AK!8mx6>JurJwF>f*RUf&S$iCI0kN%H#io89Gp^gy>{>oV6yCoxc`W9 z@gV#7R@ei<4azokx7N76b@Lry)GE+o+h2IdL9bb9t>fwGi}W@c1+6Sv&nk&H)uU)* zvSJ9~>c?g}6hY*$nuc|r1K<$pxI9$pFnFAz>AaOk6^*jMy1>@PT<+QJm;mL%j* zp2JR)zi=3SRLFZ{cdCTFH<={}2HTsUrc~8w2(4tJ#4#>24#yAR=d2RmEkLg}N40Ft zc*Db^1v8Ru?lQ6|v)2tjdH>Fg_~v z>z73!o`AAQqTQBDmQOt?zwL%N@Bv&&Lyi_` ztffi5@YLz!Gy*0lw$gU9_ttgJ$irmw`^e%n$#ZOoIHx?a03#)=`3ul)o(~y-p*F>=MhbiRk=b?l|{~P@)HD~LgfQa?)xj0xspd8<<3Rt27BVg zol`ohHkBZpDBq70iErQ#6K}|;WCkfW4KBDFWcRYYGLM0$D7-gW21Y^A8*<2%DHz_@TObX8iG}X*YwW7QOJQsc^s{VvEtWTQ;`i-HjmpQk)iP%9rPvNtfDGK zCe{}mSzhE8n_D0+KTC;x${}cfT`G=fvd;lW^&y+S#x3!NM}_5H?D!zbY?&Ld`3CF^ z_T;jIomJnvgTC#1g^_rAN-dM%^PYMNW|za;Xb5}o=J&G)#eQH-O%8VoqJSS$?3nY>QU$RSgZ@y!BE!}PlZRC>roOvZKs zZd*jM{k(85de;eHvP%51l-Fm@MLfZxTb2Z3;c)nzPSF(nUg(Dk9>6{a=XwT__OE!4})r6QVS z7JW}|Fu^{`nSJs`?9W(x7j78y66zl@j*S?>Y1 zbk|nkN7`!+$nl#k4;&8O?G<=X=#4NT>_P@9m>oX#%c3W zOsIR0m{c_n(3m9yIu}?&?uwGnv`RajifINn+a-9)ZdlgJ@WJn#7lMqHLCVavXP*R{ zsF!9kx#PqCL#P?-0QmxD-%G2LA_u( zygA*EUht`Jr^X8yGx}1g_J~Uvvlx~sbDG*+_{4VTS7T+D^Zm&`7%W2F!h}7YzZ zo?@K}j>-)$Ob4hC^E4>!ve7^G?{s~=(R_)(kBj1We$1!PE~S7!oMi;h9ULF0IVH<* zsRo<~NtsJtAdsN@x0?ezt}L7RkNVTiEk^I+!Uu#s2UkYl6A<`O{M#kv1O6Q=*zCA{ z?$&QF=2FPl-!-0C#sqDFm08kNCs>{$ZOw@JIZ zpZ$)2s1<|DfeT$JqLjKRh`THfB@eD?sOYJsjhE<53g>@^!*6!H4gs=6rt&tbJ04j z=5CpyG4}WXq`4tj#;_dgI=wF0x$2Rc@+F&kEta&KxnsL({z4<21I`?jyciq?(rsw8 zRE-!&g8eCu*=0}|R}1bS3Cu8?T3#d&R|5koUgM!;?vWs|-oay*r+VN@{(av0JqgD% zL9;|YzHI3e32&OxaO(~^{c%O%Bz2GlFhd8ZiZhP`neO6Yb6f&2+@6LWAL{ByzT*p5 z5n1&~lct}1YZv?&zlm|JUD$KjIrt6R*`%Gmdv45J^rl@|JOgX!ZVpCvs=rJazjorv zVc%MFpCeNKvT*MfanOB~$LdzZ41R4PpZH_kFD6-Mm zKAc?AjbfP|kRX%5Oufh(0WyVp=LOjp|XA(V7~z~Lh-0(gvEn88-7 zZcOFF)UNGjV+{*YB)h;Y#wq0^9A^7a(dj#k7 z3RFbCiTk)((Mb{~(D?3Hq`H9Xe}^o@T8o(;owlBy44>BSuSHJp?7RY&wbsGmS_XFg z`r2Z>wWO3)HpW`gw7=$Q$Ho`q&Mm|tS#=#9w?vt1TJ-0qxx*6^9TajE3ukCcrL%wa z0Zid|UcMO9f9L%>nM6tPvteyJ!Ex92g;gLjEK$CFivu3CSwLRrf8LK+{|97Y{y3U6 zSoCi07hn|I>Mg_NC1n7z$R@WM1o17OYkRo@84jYVI{0{1LPXVLpFDf%TY4&Mh!o^y z5v5BrYuA=6=JFRkyj0)JK(l`yFmE(#>m?d@1z4ht397kV@IMUp&h2fi=`J?G< zy6Du(0yt|6JX_-@J3uAHk=6r%E?S#nJ@7nC(dK2{ajFGSm-O3YJ6ZEV5L|=bEUj_# z<^|KoQzpk|>!^k!6R$CcOMgGk_m0D(i`Fs6N7JWxNhHqeyxY3_RO7Nt%(~(Mr+h>& ziSkmbv0Jv5XT-szKNfn}j=J|pSzg4_i(LjAFnqZljX1P4;(P{PN<^=XOw^4XVA|D! z!A_!8?NXfFDi8+uz&rgONmJzD>xVZ%FC0qtw01hqU=2P0eg#kCqjLZml*CF#x-Bl3 zL9*5Hbw<~Ov9ukl6+4H%W)_7BVhxx?^Vy`(QZ<+aEzfkvp}H*vy{603L}K=)?QRuA zp0pvTxFpD}&u||=cvR!oou!7WEb!apE6a?xG|sj899ZeA5AgG^mkd>YjL$gg*j{1+ z7Kq~$tX6%j|H_D5mSc7BVD-^MR(Cf0IW5Zw2S8=Y+TvEdo^py|U$gZaGk6Y4w5aU8 zrG7OFDhe#Hx;YV3Sp%6^KP^b8gKehG=QdC)Pb4B45P6JN%Zq1l2nPSq#v1-3Q&8yOHO$sIukN@ng<#5AMd( zQr#(1NPRtBf{6ZrgJxr>KEL<4-}C(4-s=T!O^mozd%aaF+Dq^)<%;){tHIq!hMXW+ z+!5x&)GS;XfnrUDIF_WPI#gMM4YDY*ss;sz^_v*U*lTWdmQ(a;m%`~rBKUn~dufA} zKJ{4*m{{=Vs$$*v^VV8lF%Ava8Syfdmr7(mq;}$*IS0NIGV{LWt>R3t*6Xz#vb8OT z)UbL@q}UuP*>Sf+v5LsMk?k=DMuPH;k{2rRn%62}2^Hayoev}7<43WOUvT~A#f&5Z z@o!Kl|9f z*uLXL^zv?MclmfOibkM!_S+>6#O1;ILV@H!Hw*s)~G?Bc;ac z{hr9OPbq*=`xc=LS`ZKSIMST82TmAeGM~vK77v9O^DJQ0nagw1^*P>++myD?cbcUN zCuy?0UWs9$N^F?yde3>cr2*7FhYLpz?-DGH)`nv6%$}?1U#o-GK>cx9o*JO>dSHf` zf;^bhr5sLY7q-QE^m3)8uJ}OOg5M9J&>KabXC3LOM|_zA6`}zw>B@6^FXo?=2U~hf zSR~x0Jn*r-<;IhCG|wc99AMb!6hDU(9)6YlF8Zna(v+yYdKEY1+dg>v@wbSS8646* z!LW7$!=kpSo;A27e#jnfb8i@{r7YDa>uVAr+eB(%;9r%yCc)dPvHMVRQ(EMUd91?@ z6t@g26^4RgoocEdd<_#J1MKe@{$AF=oM#W0^HsV0{zolVyoa`DD}0VJ6MdY==_L}% zK&PaXJ4BA z@EGdm&|5ZQ#(^yi+>YcpuGF!5T{bHiiwF>SYXBaP;IH(oXBEf1@g8X!#H{BC@tDrn z$6J?P00fDGTshtYs)rYEE03AziqbSa5B4>gKXf7N%fzG5VKQlNF!S<(byc-+^)bUH z4<nX5Lozy2FT)LZV;&gVl9F>YV~=QoWx_pF}jBpb?;p!H)6RaeJ4v% zqDtD&yd#h%5}oFq*b9=mP1w(N>M+r#0LB>|*PHKHTslh|!#UOG%LeqW+J^lyuGlCL zG#ih%YIFHP!aZj-%gd~fSP3b+ShKKs4B#%DDw%lYf5?h1P(zA+__j`O~ z=|$<~Fcx7*kssW~`v7Z(o>?;rvtmbresayKA2w7!lGw?U_w|8`nThC-e0MJ)gKcML zoq5BgV{mcrB&gQ`Oxx?*$o%0t^)8Q3V#o~b8^B?&o{6Jv>@0LTPndHfm%+U5ir1NY z7g#~>-Pz@fBujl{G-4ICjW$Xc)Eotk2jm0S4d7B_`W3l`K0PzDC6nBJ&8j^U*Yf!u z8pN!>C!HH+e?X;rcj-Z6!O+4-D$9ox7*6p`s+KgEOhqOS&e=OyCCRK$p+1ZA*AZva zfR*)8%Dg2|HH-ryK-)#keB5Hey+2|!`*}sSMQTR-%IE8M#@_5(F0Vl;lo;zdfx%Ry z!*0dsvTum}NztXAQq)!8(I1FlVpBEmqW4B0{zeMK^C-eAp93kahv_qy`I%3KRUwHY$$iDMA} zV&qI@*t?(5R*O~EW*h|-^>DI9Bo=a%06BvPchX!e5K8q4pjk)P=Y!@B?zl85+k8Wf zvL>*rhr)ebatElF)Enz~-dLYwM76KPJ(L~4H^AAj^cu&Y)x)OveyPxHJVTuA02-R# zZvY+Xqw1ksM-Vhf@h3_E^-5tk*mlv;s{cV{URf+(u%S)NTDGuW$;l46>p)`J*{7i<^DUONA|vfg7p`M+aL>EDkoVgwT~6E2z56&cg? z@dU8x;js$UyIV5c)-**6)9_`_^89;IjY!8M-KJp_m4*|ZIWddzPN=Dqx-xgKvr(le zb1@w-eu*S$>4(*5-D*_(#^#vQet<6zYCAf=91FQmDS>Mw2GZsVZge56y<0A z*!@+#Ca4z$>PYdeY3?LESEqfaTkGtF(lGOG+z0CZ)11@MP2+6IFJaVgr1T@ahX#Ox z^}5YNWJ>iUQaRbv%7MMb4O>Jg*V`3M%Gmn|ZuE^KN}~7x$wHOg`_pDom1(Irf!QZ1 zl?ykt+VJH}?m5h`R7%H6(yboVlp^1#P=<-va6vNcHL$A7E z4NVGiOKG~HZea2jG&URK#q@@8*h;mF6&bN0npYvzJCQ>~ku^M|r!zEk>q%PSm+O+Q z^QL_GTtLK4SpjaQ%(oS0F3Q&^qtIl|fT+q^@GUH99N6lV{dc^>{ovK3c~&bu3z5kf z#ux4z8uxb|cC7lTIeK}zF^+caC4vFNxmVGtn>0$+AAGBu#&|2J@qJ!!$yvE7`TTye z{@{xB%L4z4_FH;!D>{O;a%@VS&)*;v&ipPf#v10*5@#SW-WoZv-7{MvEJw8s;fVMp zviqHoK91mc!6j2x{BVD5^`iALe0$JHcVR=1rl=o6R|*U>KCj+bdrhGTiggHE-d?)F zlS;Ng9$^o1Gi+OyrFv^}tc~pE2H=vn+kd31vQWtK(AYvoYw09_og;maNs$qG(jJ5# z=Fq!X8R;UfpIZ3E<+UA2@a1Q3eB*;GiBL&PVF$*y=R5#PUL|EOZtkJgEv~Y!(x8%o zBFSpDdaVHvU;G7K`f@#bM7A%%6hjQar^@e#G0wOexMZ zGI)vAo{OOmb_>&j%ad&)s48l2r5lYfDeU{OH{`#!4HYs43On@O&xAT2M4MbBx$#8MMu+P9>~y-BWDNp(T;N*ks}cr=1vB`m6)0 zOJ9GJ%bl0F+U^E8uX_$L_+KHnPn2Q;=ML5+F8c@ocFDa62-@7;(8KRR)_M**w^PQl z#H7Rn*Ne4}xrX9*=D9y$6J~u%A{QE@WKV2IA25#1UTzCkgfklJ0;5$fTdx=A2k!Dbu$7;NMhiP`1*=Rwxom8_ z#N05f)=_g2^sL2L(kTa z3K96c623IVQNq=CU21T0S+o==ZlhXzxG-CbMWDd0Hx#xe4{Y;x;Q<`mpdq z@LE0bgRJg4K&UcOR|jYUBYo!GZ0S8gB$l-DDN7on$~C`HYrxNnzQ4|_nak7C&C~`=>q^%)gYu&ly?oWVgPt10( z{0-`l+7*L1ALl}8yxCq^gvx9Lm#ZY zCx$hrNqMK|(~(oGUF-F*60yrlF@9+GVCY9C{TZ;0_a~INsH{`#A(?He|4M|#a$=C> zfzLU1_R7n4Mm8%tgNVM~WvWew;d#1cFTYC+z&$SMVO;GzDr?^-1LiP$+8Bj5`gD@$ z4Ggq`F$i-q;G2a>@#QpG^u6)nD!(?B0IR#_4hkH#U-XpOV3RL1Z@ikG)G>DmBuqZg z-+r>^V#YPL8%W(J@vM{V4$>(H@&5)kRMu*feh=cJV+l$txhaA6aDTPOZV2Q~&mjDK zOYLVYrAcyEiFDJZ$+UMqO_2Koli}7SoZB9!g;f@pI_4VkXFc3l$B%n#_&X~L$Nhxd z+~$$>Nzd%Jl(%0`fEZj8_KoSU&)ZRme-#vjtN{=Cq{**2zxMlGy?Almn+&S`e?&9n zpt^2(+@s1)>grM}v*j7RM^9coX;>Hsxiu*Q&#b=q_1iy&YS@TD06E4B}{JftdN%CN@wLPu(2+k*WOG@7A zUa5u>xK(qFf1ipv>_s>{UJl9+9WtD{{s<_VDlH_gCiJH1uiO~}buuK@%}BlObdi2Y z^Ir1}T$dreuuI_P{^vEJY*9BLslpt%cRQUvWL}uIkybpdSo&6b zf?FEOZww{(MPU^yYjN3w_k6GOg;~*BD9jl7>-*nZ>V3{v0a%yiUc^IMTno>xn{8C9 z_%<^-W&Js^Gm-Cy*s?95OU@#{V|L$@0IchzWBPQN5*X!#E$}~X0%$s{B8N$C>>NEH z%mH)5W3lc)X6%k)yWr&9jqlfXpWXMndjWIzcT_KZ>Geg-+C$+UbICbhBwEFE|LYvHo6uW+-I_W|3C!OS5hxx767zwCF67-p>Z-&`oihaqS6gx z7GJ8!%*F-bFTji@0s^sXzhjb{N>(h7E(m1Hj_vR1Z`P}#T2PDnzGB_ZpOeP6B$NeJ2ZB}=xl3}%?AkbU2>%*Z~r!7!F#xX)2t zbX}kOKJNQ>eDCk?_w$F2!_mx~=X>7g_I|t`&zB{MziX92(WmeS!z3gz-)BO;W*#P| zKYEhik`U5>|Jp#bruZhJoOvI^-m_x_?WjpC0M3=E5PL1(>h0{iGrvF)v?P=tj4m&!|16TZRJ?BZCIMil`3tL4p3xeU zTGFF_hPu8TUzFGSjg7Zucm5FR;NkY~NRT&l?@Q>bpZ7EE7H$edNTa<}}WKzU3o|b8- z?&~1+%z!{pN)^+MA2&Z2laNE}Af=#1}3RG}z9ObgFCHg!{HeQ;e zyiA3+Gcy5K7@%h3JA^o<#Ki@d&UrtTpqWVXCVODDUa#DIgFTMUAXn(d3L%2m`?c}a zhX(_@DGirD;;g#Rxl|a+-ZZfld0*zW5l^q4=5!Bljsp>02H(M5DAHJYS$BzVFiZ*+ zG2N6tey1N(91z9!9-bS_BS$G-C^7C>%NcLl+uT3DvJp}!I3A>a7dc@`*-VD?ayX3; zf&`B9dew^I)osb^b=RS_+6=;7ms6qS6@9>dyef<4-KDp26b|gs1DYqP+J&OiQeYIZ z_IqCHKF70$CY}Rj8Qa_zv+2J7_)-gxq4zdN_ipF{_ZnQm%=#(MmTyH{8ngFKw5z3g zyewaIudCj<%0GT8_)bQg7~OvrsO0wkWcNPo5zx&D%hjf;-X1*v18}uEwx;grNU+L( z7<_I#IQ7lQNBK`@Q>|L%$eQ2Ik{+`O+Dhl(%UOmSDmKX?+cb%UvENE#Yb5L2%X}GFEWgCo`9-+dW2E-~)Hz3E{yAFzfr6A?+ z{i?b*KOA=Zit;+%;Kma-@uoXIXz^+Wy`UhB>eN+fu0v)RiSOmqR1$DW>fZL=u3~IT zBuTP+G808|MsM4zq34tI$j*1ZJMuHd&eWXF&GG<+r2YI43Ry3*YE3$<(s0ebVS2i+ zUr{$qe8h7&U7Ob0!(nbam-lQuq-8Dad&&0>(bKl3^~E2IV-y+&8}W(i(Cu+bpnsvI zC>z7wB6h;2m@C_k^Yku*zJwUaq$}fe^hp?afMMdeGy19@kmc{8T&9F3H!Rt8i&cjFWt|RNoeO_~3i< zU2dLVH&E)}oBzDA@(U_bQ>U#~Y-?O9h7NCIuM;@oUZ1R-W~Z-gwnyCq>J{e0u3)u= zxR1~%mu=^rB5fH?FRr*omX|4yRKO+XYDZPH(OFotf*n+TN>=s0-!vaHj)Pl zjx7F`hOX9-ucYV`pSF3S)n8~muRT5F;`^6?wXQA%+vx^w=V&vUthEmD~tHpj?; zlDf&m-)b*P(`MA1D-Fq%upO#I2FzhpE3*5+Qw=oIN^J3_60ad&K9xdg=OU<9@mSLv z2a9MV-Xg#Fq1Uq`Yj-g%6Ay1_LP@s=R+lQ4yrK|^$BwV|kL*LlyK}WHSq`_vl|cQ} z?~hwrOdSKhV^gqp8?L3*g9x5Ff?i~3&wmrWwmHUMe&)Q#R> z(x_tfQM;(LG23z5JPdfs6vvKS6}HOKzD3Br%W=0x!qK5H-9TAi{vQ+;_xTE(tSVze zeN{~o5&l&~M)Zl%2l<)0{Ec`3?zf)kG+f5ik1SM{O4G^(3KZ4w^GM&#PHp8Fx>Q2} zW!-`S6D46sHs>ehJRkoVx+Vw|N~Z#@SOqF3v>o+zd^2iYdUamKTp5;*caSghQ8N#N zv=N>uw<6OA?n>Rr$jfxQ<2DRF6nZ||lf!Xam$*_JPeQQfkK~ABr&2_0ZwRVdwLI>$ zB7>TA@44oCIPATvDs;}AFQXd9wfNxGMYhwMqQoR;oe<$4q+w8%pf1OW) z4ZGR(uFg888UTg1xi@dx4i4VSt?#2glkRH&a-1C7x-FQO7P5|t=y|WjHB;L7=}mi9 zg{xzh@7K_(^k{k8Ab6FTtmO{@MOht zx)z^t(g`V@=Lv*LKDj|h`mn(?7}J(er7=BH}&c@~A6xqt;w~Yc@C}heqS} z=GEHT&YHmzM(#z|?+I=pbq|%qQ!k~$xb>snym!f;z3<~&>zdl|xW#kLq1;?Vkyi0F zG?{Wk^T~Ysn!)r-5np)3;CK6Pk1^=O|j4L^O$1RWgPFB`J?TWkpRK82gBsshBWoq z((z&{5mj(zP*R&zl$zB>>pUk}ti0RQ3%adWO&&cV6K;C330I2g=diDoc@3fe8bxBY z_jRi_O$uk?DlV`%x%%7>QFF&HS-0`LHp_ztY8ssgiKV9klUX7%I@n#f9Z#0Yk=KVg zU>J%U)PM8dS$(4=G_F6X?t>L1zl5s@nGLgmgWQbybU0lq@nVklC zhc3nrBraAft{GtRQvAG+4{-DbkJ}Q*jj>cOyO&4rRrJn`e>GB|q!vsvB^JV8CXtHSsX72HE(3e94Yu*r?%|dm?h&5du z8hX{`k`7Z-IIxxdm!>Cyik^`Lr?ed65u8MVEL*z-+MZ=kk&MeqNO}D3sG#$fiE0Bw z_J@bgQ9M_G8iaR3B~L{SdJ1E5q;01zoEH3>`7vZ8C7&DJ7Oal2kY&Ceb{4sKpKP%3 z{>p@FE2e>Mh7YJUiz-zJ((ekjo~tssm&^p-6;O z=xKLJByNm0E@T8SuhSwWYEy!;f(Cm^E{;HEh|V*i2La5iMV%(^rEDMhP?})qC>WWQ z;45VJ+EMz`w`J3*JbL+(ixtk=CP>QM$UOL#<`F1vqOb|8|2`Q za%RsiG+>=;U(q@{Bk@pDOj(m!TY&XC73-e9Y!yrWpmTmxy`1@cxUGr<0GNZK_1v3e zZ+i+4RP_1SQiP$mt4H=AQT(=qyy!Qg?*U_m)}O@=0xlKCP$4Iro6+4MUmj>5&wMAC zJ|c>BAC-A=Rpq=6+YpfF%otF6g1(-8>*Acc$)fN=N-IHFPNeY_inl%>^1yvjgBx?&a&T z7GJgJ7sbyth#hsGOaAdFbvCWPEFfzVICa$rG0ox99 z)$tHVpInIs4Z$S)uI0%_mpu~OjMLe}MRv!4IjX|Qr)p&2_hwNjC%pmR(h-am%IVG)@N)S{l4tdRCmaxQ|ArYhNEl%!s z`9qq$hffW680rFVaj2+^2FD+#`PH{Xw29dP7P;qHaRYZ}{8*An2;#+29BOHePG`h`uoKcc`ayGXP6j z8oLn9=<(C4>%k~;zYbF@5q0!gpY+a{w}fl)giyCheYiyB2~Kt~2N$OI2J_gi+*G`- z;G}`?Z6A7PCebfPU91F=T~&Q|>)yJ9DsZ9;YR0QFj~e_7s^rL=l=F4$SDI1o=wiNQ z5Cp)&r$pA;=BuyVG2ot1H6eAc3JTILN`i~FeMua5bXt^x7X{GpO0NgO&S`i4HT!$+ z$XU@WI`$r9o{_+-6gh4qs+cS_JAh_n-bdDGE&QeQcHz}cqhb7J0!jqTNYsPmG}C{u zx3knfhtS&%_5Xn0tT_LR(c4@62$P4i+(1Ap$4}#p@IBPF#X2j94E%B|94$bSCj%1= zWpx+?fE%SOkM#R_uDXH;zU?8IBK6HSY}191%F72g=iW|~_kb9{soNUnG6BwK&x>C%3BgIRm0E6a3W1jTN=~odR8_%Q1g0-;Jt17FnTd~cx`o3&P9bA z1&=42u0qR($9gagV|r??9-`#LHFz&fH<{*5Q{hmV8h2998{~Az66ZxskbFvm_vV<`)N?QU3pvZAgrGv8c0}q}AKUewc7&p(1zZ6}+!x zYVmDgb|X`jXKr_MI7bZK%nxa!aW&ib_y)G2W5pubpwf>}CD2K2w|u(GG9;la?J+ns z-uF2;%`WdDItKqDT@^;N)4ZvZdKHSe(!!;<^h!)%i!?6uKCqH8)Gr&IfuZFh5A~dE z8FqNNHs~B=w-&7<79U}>j=^OW>ROcxXV{gK<++4PuL6-l(oYNz&9BzB?PGY`ds5;V zE|plX_KRk98zAB8m*9EsmXOjy)CKTGpVaBIaSs4t*Q>|5!c*wAh0D@$Emj|1T_YAv zkz4Y={JIXQNyi36AwK8I^Q-9!dbvCc<^+rUn;#Bc9 zBJ(O`*}*0@ywZKObv;5O4ctVcrKS*}*Y~aC`sFqP?JKsBiP}|LMh<&vp&mKu*Ge&# zj4tD{%taqq+xws0^J(k7#l;0Y&m}<%XXVJh+s|+5q$*+f5u1iv*&%lJ(GW)O0mP{X%z4y>pkix1Yd8MavN6Vs=sDpcCXkTJnwjv5lu(u*7BFMs=hV`x8wW>K|LKYt2q z#QdemTOoG2kVw-xn_WZLpLW|S{eP3)R=C5_iEDgcTlX z=YEr?LWw8s4O+I9FzN^PmHYuv7*%MwJW9zQqv!5CxlLcLqI9-4Jdu4!3Y^kVoui1k zu?N%_Nb7?#xlTE{ISf5f)D`x2H`-vyyLG`=F~itpeY1C#3apn9R?P%FUt~YDDUD)P z<2@Lr&2~7T!B4GIg0_?VHxfPjpI5tM;9WAhA%k*^0Uz>R22X6XJ_74yDY>lLyYcxo z>VEHcg+{4O!;Z5-bfn{dRNB4taPP8aFFfB3dcTDocV<)pfreM|AKHW7$vx7$`01QA zfdoxtS2b)KnfAlad&$+P3t`oK{yUSB@vVY`{FxHv{jz1@2{Hm6wE-s+rvje{Kg^>A zf0CBeOa|Y;z8H3pb3?l};yQ7&N^RxS87OvE!SjWSAJYY3#`cvBd4E++R)cTyKE03{ z6ambtk%i0&U~wr5Y_YZYQRoO#%#}`27u_8liXpW`_1yeHCqT8BZJadz3UZC`21McF zA(xlt^>%PJ5ON4gc$*r_kTPucDSwlV93z#(8YCHqrL_0WW>b&px+N>i4ZkS3@i@i@ zo?G4Rd6$Q0a=HfVMbYU*&_}c!+*W_q1H2_5BhUM0?b7R`j>gwaHD*XWM%WHHYg-KA zJ#=4|#6EY@Z5tjiR+4td|LDKz-7%AV4ES%x6Ny5r29F|V;91^1QemX(CX_K>xv+Yh zQe^aa&p)>TKv5``sH1A@H{m%gZ8*W@!3e%OesqR16czWLjT`}Z6F|4)kZK9#lU zM?Px8iZ~pDcNSn$i={CdJGH+8`63-$YK*{u)kf6e!~iyVnUujea`)xb>e>K~d3{Bq z^&k@Fc6~nA?Y*s3ztV}ZSQ_)|zMtgwBl+-Xx#DQP6Yz^Ze&zgoJ-;a7K)yE+$+tyO z&9DV_n(>2r70u`E1!s9}e%Rh*o<0b*OB;s)g%kNbv3N{w_+ym)S|T#`^|Q7r`;FA6 zt`cSmIjyRHbEPJ-|65#X&-ZTGk9vBpl|D3X{5BcmPYc0KN+(O(Dpo+O&?d^x0 zXFjh1iA*bU@%sd`RSFXii`n9?K9FBN7m|>BcP*_4%647EHd0KX(6)xf5AmIW%@@ty zD;2h$=G|FCm$M8qC5mt&NtsJ^{rA1iizN)+n@}@j^M;>+n1QkhB~aCP_$N*aQ_RG8`)WytJKzCJ94qC2q)ioYTpXXU%KDJ(1Vo_s$xVqwpGt)XCRgB@AI?&jQih& zNnP1LMmGzldO32QKXO>G_0FI%XYYiOOoSy^f<=&Dra443<;#6K^C0>zeW{xdCELFe z%3U2Z=C6FX&txZ4JO;skED<^~9rLN4&8BCqi$zl}Rf?roB;49=>J-L`E1bS-<34cV zft;x@DHYD(V~l{rZVt%&wBed}Oy;pOWQML|NBFn%8v(XNFduZGtR8Y@^6RbMlup4) zY=s<382s$?FVw_As?RkNccp6gH2-~bI(*IMlPgy!LuDf^l{GXB564ia{wE2R1*sf>os zDo21MXq#!uIt%*<(Ul&$&>rY|2F=e`BR)We?AS3N?7nV$!pH>%?kJ zEkRI}wS7viSz>N-HAjG`a}+aB8@{h7X;NNdy~2;1o4Ec~DY8a-UfB``=J{3ZxQ@2wAGhUYF0E!xOwc>zT#0OtJ24)Mkd3*6$Oo$8#m@ISbjpfOz z$hC=?@1e^*@!K|*i<7ni@*zY?24ZNF%O!fYZ(;UhI#V!vRw1ni@Hs7Jl_s`SdN0>A zopa|cqx;^fLwWr$ukd-@%43E!AQ3QR&K^S*TN>ICmpR&yHMZJuP&?o+ zl$u16Yyp%2z9ZqY=Oyr3aO2l1;;=eG9({$z1Xq4xaKbdR>x9Gx|Hpvh1s6ps-!J8W zdjw)w^qu3pZXX0kp~6&|`R0T_jLH=zRDy)x3>Sar}OvU)?suI0mOvL-uIv+;!oDr<=xgB&HNQ%dcU!)m>|*3PnVvD{j=F&thssy4>U*p=p0 z9qx(IT*Z`Ji?V~Q*iwEE)0&P`oMIkq06V{MmdVM;TXblJ7&Qw^3pYp(*{y1=A6)4^ zQ+q!>vL*m5fWHB%bKARPXiykr!mTT zG(n`)ej{_BV@PkivYL56Snz2TRBFa)LD&i#s8%Lg3Ov(4kO>k~&=Algn;;s64q$CH zYCqW;nJM2jA@fVf9GRohVtAcYbfZ(|_pAsVK<@*fC=SzDUmoblVMQZV02GEdr~qer zAXreMzxQa!Cd=e<i1z%8vBu(VZW!Jo0Fhsf$q-M5B=Lw%ZpNom1&VJO0tRi(f0V zjSHcVJ+4cC-G~pbY7Po3;wPp=Rb3M?VDnMfjxO*vcYq=j#69WOe77LJA_2t(+IP!= zTtU@!4pz_Rj~zV~nO^*8L<>#NebtOPeN;oC>x<1Gvm4_qKoa45+X?47@33f}GO+YS z!9fe1N2@?xO*F933*@5UwpBqo?)Pyc;wc-#iy=*a$^6}r^6h5RWXfXRaWHWxpn;;Yw64!1(& zz6uwsdTX1<5XdjI%PJc-u|e^j*Sb8r(YZCE)|Fs(tq`OZG~~lyG+H@alCpEwzTp?@ zT5&%in=CdKnrd$*+$)JNsSNI@W__PKocIo7R~43&beuEMtPzMWoK=U|EKZ)aQJ@K= znsav^E)U#Q(XG(m$mp!y0^Md*C@KUuBn-k(Q7miqk_%(j&KsIc7X`6Ks<#II8Y}^- zV~Azbv`5}@E(#PRhmKX&)(BvIs*YK8ZcjS86c+kF#h7ai8RqZgUAeqiR8ej6q|l^n zfvP4P8FD39k#cUBQzXP-iA9wg@ZK0a-(@-82;oC2N-44yUKf&Y$*RRTM+RTBSCnp0 z3z&>mceYQ3j!WBR*7o3MY2^VGuH9#s-RU00-RsjoNA(X04xkeRPzQL;Xea)41bg2a zFKSY)kpDH{7Zqrsw$%gPElp(eY+BNl6$RF~~?|P^s&wv=!l<5 zVq-;KJh_l@lF4{Iac$9|n_3VYWOF__Nk}~MH74zhY6V|%k_ljb2;5~3hQs^s7s)vY zBdw7kp@Y}7tk1HE&_YZ@*O-!*)B8tSRi}p+T`L)oK%pn3o~mX8H0R`C!k-xwOyB+~ z7eE!~{8?0YjqFip8`Rb_^5H^S6=ng>eNqo;Je3L0od;Ap#x43-TUlsA9Bs(M7fd&v zMA>IZUd&*QI1QZ{Q_CX5UA|a91svR-vLJ|x_*#!govUrY@eaE5S(LO(6Rl;m679o4 zmg`HM+)nqz^F+$b|DKd2Df5SESi6#c%s>=Uq~Jk9wYX2%6Lw`G!gYwm;OiDjka$dW zg^`!w=)D@G#&fHzim57_+OY(?@}20d7`WXML(%%j3QLDTDN5#!$B)wJ?pKGy$AQ?p zvGK-EB!$ac=edty-g87t`A?)Te(e5_8Dupd}#mu z>k7otbQBaBA+TfXdR+@5?1Hq=uiFuFsAT&Rh9;m1wVkFzot(J|4k%mkYGTR(RFVE8 z%V(x4E{QM=P)0D?shFy_OIH~fcK0n@Ia%XVuWm-$bwq(Vp`l)Jc1mGjR^P_mj1{c+ zxj62E{Fw4XXdwm8LR-H0c5mrb9U~NQff+|@Wz~-80p%b|HDY$+S7et`aDE6>y4280Ktz7-P`8}&7=Un z*dKcbMw3F6MnIA8FAoGkopvtNZc)%^s6XhHqjB!O_q73tUMy1lIdYnVc(%j`KzLxc zi8-wi_8btshy%N@Cca?91JR44OiBL>RF)`XD}QDFC$#iq^b;*7+pN2{+QuN$uX)8r8b(~O z8`_IMI)^=+-l=D=|EX|^%8=sQIK(TM&;h{JruJ0lR!d9a@(H{ZdnEceIOtEgUf`V>E~}?mBhM`ssqe~B3W~721mYJKYEa;j%cQIj(luzZOyr4VRFSkq zPya_*D-w{kx|993C)@~`yZY#zj^Ia@GL^aMz-L)7^0=QPH0c!DJ5 z19Pi^F}wFRCEWF|vu>eW?&J{JBE{9$3<_rDnH29U2I~Qs(%>a3&p~DK-wD&0sw5Hu z>fa5@_gvKZZZ}~xvUfw!ww&2gR34w?Q=}4*r!hH?zNapw8xkEfd_nuI|3cqXkD!?-YbzVmU>F+uwl9Q-z7}8ToN5dJ zZ2Bp3$<%x7uYqeVzQj$!dx#(^nXeq9;7o`nUnDzC-F?;l-QH#~ts-l)y zFH)MYfPL0U=j_?q^~I8o;BuL!7595YWC|h!HKU5k8(|qhTnY6cQhmx9IMr748Rp~# zP??)ViT^X;Q%C7>n_k83yOb6!r)g=m{8$D{zLMEwVd)q2?c$Wg-(_I7^dt;xxzXB- zI-P+vLM_{IBG-TkL)6;Nz#+^alP|0CmNAOs2P>X6jS>K?2;qk{qVSF}Y3WtpcUM?vVp961qE>^k z0oWbKizP>%;;?+`Di&-PTF5yf?P@1Ur?FED)aR#}wcj`SdEbUjR>a<*+kP*Yep1RTbJgj8)*lW%p&bdSAwy zKG14meIbs`s(nE{5;MIyZgJ43<#R$1*KGvSF%38wZ4gi1x+?xDDwiHbnPs56U`vS= zTld~gBEcbYCl=dv6=9=BJc-t^!!rCu#q{DNH;qS!T@fd@`FLb9?8|LEBr;n4!{=>s zl=Qbg)nUh(MjBMBg9{(-xyvQ~zK;e`i~)0Fv( zv`vc>jn}(e*3ggaDuF8`+gvw>$wks@i&`(t+$JN$I|$kft3$k|x7p5>6_OurMZ0(e zJ(!b4dghD3m|5+WQG7o5w8JSXFZL@SEeV^#uYujMl(nO3Py-JJZY!c`pknx@)_aqH# zeUcu;r?F}xZrH2NZLgH7DmfvJk2j8QE=vw8G$m@Z-HHgm63H>7ki2<6D1R=fR0s%U zyeZVyq>NEy&9So)*F3sD>!F#Fe`i{5?i?OLK%MG~jl~OrBU7CXu+p1I zANl@iqq|<&@R;iJ@clT;v4AqlN2{{0FvDm*!&Cw(DC+D0G7MbCshR(>P9Vwf{9=l5 zhbgMZXXmQQH?+W~7zNG8Kq&z7U1cOddp;6^4tSpO|H(=LOfrG$)kRnJ*G zf^WVmQTfs=k6t{6^!qgNAWsaq|Nd@;vlb2Z?OcRvP_PM?O`t|qP3$BG5-|!dZ2I zg6zbSk!SJF!^w?0?nRuGt5TbCVKHTeIXjm6+O&$BvvMymRwQQ-OYW259>1h0N4 zlH7F$OKoVkH}bKr{{*i1JELJ?i*TjIH%~;wmA*CvvV12U_hZy#zUVx%iE|bCoC=gb zCVd^P5En#OsL;)GxkfvIpI^Nqy{x>P8KHuM$Sc2$j;1=3-cRYjAEhbbD1(RaDIq&= zbwOK(k2GquM**R(gd0#T8!5T%+^wTgA_lKM>e*d=DjRLxMLSvL*YDz>g63dYl=+qggpAUNgKIPw$oZXETrz~*0Ns!JmI(|5>YmG`h0cAcr* zqwnf>{WNRsshkLl+1O#)K&8ReuOws|x0>;%_#M8!Y++7yex8rgU1;+1yc9X}Y{zlU zxroB*s&Tgq=c*MK<0&q{Gm2*Z-gfesQ76uZK(UN}^z8STlaRP)>uUHzUXYHS9Tg0G z0e|!@MV${@sdxzUVTD+7HYwoWmq?1k|4_2Bsez;?i~H>I_^Gi$u}5qO*6c3)1X z<7d{WpuWNO=Q^BBn!E{-ShWq&6QTi9k4~pHZgP0njFK9${wZz!D>pNCUC68`E!XQM z{2tUOQ6HEJ{@UwXjvf6cjA{pVnSbC6l@Enf`g4hM0e!as0S-Uox4ZaG24eGru~Urt zL_Dt&y4d~Aa&jf$Q%UVmEI&Am@%$~sZ;~>6ra~S=Z)~{1t?vf|^us9>0ypbt6Y9zr`uT zkH2Uw*wuFQBK2lqI<)scKXuva8Ofmy*#G0_9ETxNG-5m4Z+Asz&v86eW@k3s^-u-T z&zFu4i;<;i$Ph+$pPl&G2+U@|A`eVLq6*N!G0g)mOG2{j$i?LE+d2D7X%)1L z12$SMsU=B=Nh<$ovb2@Ev z`w_AtCF@V|cYIImIIxWwBI@>pma7_$q&#&M+Xs+b`-z-Z9z%J@5llcLr~KcEoNm7p zIgNu3#I~h>if!VxLk}HoVu)g!@!w)wS(6Osf!HRqE&sC@7z$fAI+BlRaLd*jtMPEW zmkZgX?!JjdS%_sQjto)DZY-zFU!@G4T1NSW9SjeO2^bwe8~be5FHE<)d}(W%&g=@! zu$*xZ3z!n!@P9}+IiSiUgBRe?3zITBP}-9Jx0SYA|4C`%Jgl_>M}g>?>^&E%u>f zMuZQxS3I#kxVy2&GUC4Rp`NiDpCzs-uDt?*UTqjFdU#&r+9S*yfZ!i(H3Ot*Km4el zh%S7X6um>QvTClLQN4F3qkL*#Y_lKV>y2$!mj`=E!d&QLKZk_w8i{zBzyvSizDzb4M81h-a zJ;EMxXRFw+Yd}Mcq%hp=dx=}d#7-q)w7+6Lc6d*y>N?bZLyuX8cKLow%gXes_yD&e z>ucwB+%r%4$RwGc=#KE=oxfOQNGIzDolEdJ~U#lPjY z(p9r))-1K0HnbQJE`B+FCFBOqy^cH57P0CmxfZ-ak)4uyFq@W7+B=Zws}nUh5VL>G zC0KD2E-$ab6NXr53qP&|fsJwe+?Ad%Y4p+SNW!SP&0zk1*RVE}af<{OQ1K0{3M*)Y zPX#)D8WylFuh+74p8JU#jl#_FWd6A`fZCRxyl=K4&Xz_LC^=zXi5~@cqtSonjpfpS zNYtQV7I!gkxeSMIm!AE(;gb^!h24jEBglh5YUzaELhKTG;|B1ZyjXxEN1xXULesek zTXa61AGRI!Ss5&)?GVQWUVpKfFNBh}g%BsoJSTwM}VPjSK0r!kAY0_*N1X`DNWm-yJ3x6+Ed55!mnAuA}s4 zzNT6bxw-1Ee9ft!`I<`Shh+BiHO*wjXP@o@j-S?hiKI>;@Gr;j+e4Dbe^SQ5h;4_l z9+g0wKK8A`V0a{d1CBdYr`zuqTkz$od3?QL};%B{I}xCww9%DZkSQ;Gd~TuTGBJ~k#ewD<0Rc{`~Xli%0CPg zQc9UTe47_L0`Q*LqX4DAgsf*cQ0Kt#E*~;YKp2k!8PF;-gN_bOGMqHdU8rG4sI&D<^=sP}OASvOpskr4jtFOAFo!~u?VQ=> z&iuU0MWbG`N@4*))gw@tQ2i#g^q6?Oo3>w`S*=^*1?G#Iuh-q9>z`eU*tbdq8U0z6 ziY|CrK5Z~`J*9rvxI_AcPd~xEs;g$JrqH6dXj5D1#x?Lpj<>#Ys-}8mLkK_-@2ZvL zgsh9Qr;|1Fx{)R8Hxs0fZZX9wr*=838w1Z0X7U+tA6(@bfP0Vh?&3y(_~S!lirTnNgct z3QuL*C>74q?dL7Ictv$1-_JL;>)rRbVDsCQllWhna$<)}xza8}MF+FGM#aU)`4p`& zNXFl^>y}lb3E2K@19MS8L~#p;=!qJQY+eUEA+8{=BjsU?_OeSWu7=L&mgT#eSC}d< zO*B;-t^OGoiDga9tY&0$(>2K24AVcjA^%TqsKu2*FnDOt050>;mqBJIMP39i-uXZ? z6L)Q8{i)ZX1+1uKZxVcmA0dRvCanGTz|XVf8gNuUF$7}$Mw@u-r8d^e=czB$Dt(xB zt8L;nGQJRj+If^yEs%2BYV)<>A%+;GC8-TCM9qwtsGDb9EJfFd4b*1UCR=)20~5Fu z`JcG05m!VP_YFFy^NYVBV%~6!Yx_s_hbHvtVRFXCHdl2sfWxvJQ~&K+47X5V1ml^O zPYRx4uABGwTc|C%O0+7tG0Rtg9psiKT-U1NzPF%FuKZ3Y1zM;f1`H(Ko~>JeyZu-*_c z8WY69jGvW!A_lqpb(Q^Am+y6znA`dL`I!PWvN^3k-MWJn(@l1DX%aAn$o9=nt(;W9 zBxe%5qiHb;O_$oTWT$c2L@r%exm;_y+p$kv<69&h$_6MG%rhlb270eSB;COKS{=e> zw0mRCu-2B+DAKqW zGGzpjzL~0k{vFC+sbMGjjoC#5Y74aq@{>C0=O}Q||g_cU*F*Mt1)A4}$xa`I!`9 z5Wm-r+-on3d&)v!^IFbJ$!skqEk}IMD0eyLBJz1W|H?>_|5Rf8!BR$*>uG{V**@f{ zDvgmf9`$k>vF>@Z?xbn{s_E?i^%`wXmji`fBpM!aw>@EiFtQ?c9A;Dt%PS z3%}K%OqS-fmDrWT4fj*~FdJK$ebvo{%;qf6xQz}qJo$;_)Kj#Q(p}G0rvX53Tb&br z(>sc%jGqJ^TlT{ta6cy9Kn=*S6I6Gw_>7o}&qy*L|YPK}+R|MyD>b=iW?eNdPkbq$29h)eM5O68zL)!Vx>kZW9d*@SvhNaoS7!M&bpp zC~I+fpix^9;D7;%kBm2Z_FLSEq8zNv$P;4P2mMU`M#=0nKoz=$;S084)+ysAZ@DSo zg+L3r4uz%^TaqeSpX6-Af=94Hso`R3zL$k`J?RS6boH=GZXFis%bBM=z0gFNjJw-} zouRQmM6C_z2iJw(AFhjhTJ>Ln;kx*%wHx!{)^6?=lw!o;a@$=s-pkm_^W$^g4LaJX zPv9uxJA)oTv5M%*zuw^;Lkq25xR~L1?e_D-0^XzF0-miRvx9oZZF6h! z9>h%62N%HM>|%~St~1r0F1JRxqbGm$c55juDgas`0-7+N?{s6mB}O@QNG~MvT0?^6 zI8BqIrL;Vdk;(isBXiPtZgV-C)8@J!DC5zi;#)k}(I#hfk6O$F{%3gE?6+Cvav-x6w#l*tTxGIC_R-e z%&GaQs~M?t)mC7;6T=m`+G1(Rk9KDB zu)3Lv1*WUiT52%VR_xYNu{8{=0B8DNE#pu8lzIEi@(bpBSkKnA<;K1@|8I0RDz zj`b(GoMGy!VGUA#%Y9bl!?mEbrTNJL)*SK*m>xRAPQWIeB6YGG{O}IrdOvU(1UkzN zhI-Tj3T{HF6mh;6( z(x@8m;Hd7wll6|W!CAusgCt!zF!tg7pN;6;ZvN4TPKt3zRAIB=*i@~@4xUHoGPURD> zCy2LWEnk7VS_@!-uUNQkxNRP%FQak4xT>|E(75r0{i4=k4YlPJsGdH9nuroJT5MzeNR=tHWRx+0$E5wiE&*{QdGajC8g`L2SK z`PI%&?TJeSvgYzK%))OcCz_=(CX^-ICVdXn_YP0t zlIIpY(AX(8AM^r_nfV7@985F}LrRHdR$mmSnLe>0lC0a272e;`RTuA^GTNw51dDrv z(JxKp#QZ914(bwrG^IF@;2TpX$kIeMreQ4zL7{9O{`{BLMxDRlVmRYgjxTTZK@est zm%xg1^7cCP#vOor4WJ(UhKt9>l^ng@Q^1*%Z8=X98WpLOUqdvxqhKu`37)wrxb`+_JRK6n0|qB<0TZ~kkoJRdLzZQt82!WFL73)I zhl4N&JJl~bG`@UjZz+7cX3TdKf?6)%vyc3zpmTvk<76r_KX6q8p&IjU#t=+(cv_Rumi!?zhs}!qLK~5uHg=tD$UD>>M|Cqv~<0Naso)W`8rq*bd*5MH+j&$G3 z(Zceoih-28VveOqegLR}joqUbkM{4JyQ2S&U1s}e4Clon7}M}ou7A))mmR%#ZxYXn z*RKy#FA@zoxV(@4Kj@+cQcktIge=~J#)qOQ1~<~i{?<9#EE`4&*&o5Dmmd_j6lrW}crz`Rb(aq84d}My`AI#sX{_IEDyl4H6 zXfXxu*Vs&Xup8an7ng#y$NC(f4DDLwkvaxXeal!Ba<|0rZ{^BpJ4W*l)-zKUU`+lf zyCu;!n}P7e@ojYvc_8IOMpNYBo*levzct>|f*5M<2gsc^!xm$G%H6373{O|G?Tt}B z`cLINMbqzy;-RMSuc%8gF=SwOf4{4D%p5o*@+5CO5iyGV8!^s;Nhc*{n#{tQJTD^i z%2_g8dUpbw7_ZBHzb0~_G+m|KG8i`_6#w+8K=$4&L77%yo=QGM^vQSYSS6tOOdR*o6bbuIHL=6 z=4*|}OE$eH8Vp#9rUA&zm!BsL5dDf<+iYV8U&AtY^)|5y(Q?~zOA}DdBk?JxgZ-zX zh-MiE+UhZ?0*a!R_Z8!X%pHQmVWK4+KuvLbZ%o5)jf@y_>9)7hvEQRFCshpl{J7^C zfY|`VvE!>F7D&0ILz*)FxZr9Eq+CwK!%@IiOpx3<*bMK}0Et4eIGsr7>DWxUE;2B$ z?K^B-8$ox$rJ^%dtY{#c_ES0O<7glFNNM?BT0V>6*bTR-Ki=WQ43odz?sAUIE&;JS z!R==|@L42{5=77Bap&%yUE@gvH64k6MZMw{XzY*Iowi^hHtgFVS!-w@LjcTir?muTd9Sr|bic0xj`=|15I@P|uxi@nd}hzsz2f3EjguEiKP8#IAim2+NwgI--Y@ zEmMz>9qtXd|0e%UsPNKL`^y2aQ@^*H`0vuf%cGr?;s90r{>6VOCwX)78pB6qyA3h@ z^6~4MfOp~Hlpscu_I2i6IyxeeLy>hb{eFYx!lY*;L#g`GE0l<145K4cju8`<1M_{f zM@P?+rTs-c2vP!u)nBnEb=DY1y#qLkpSOR+|4l04iEh9xz{Vav+*Q(BzpJU9-?dpK z+oQSK*EPe*JmfEXg;C?hfkZ2au>ZT7fFj+kPO&Mrvzw7?d!mbC4J|1$<4%oP>&4qL ztJ|JV)kJPci3`4458CRL$dN~Rf3j$AkG=eRThnH?S^Q&ONG}$2fS5TqFTOd(xm1MW z`6`4*Mz2rX(^|w%jEH25Tje;rUsrDFF)GGSS!Qzac1y}Ul>E9t-~jCE%eAKyyS^JrIYd*Vxmvb4^<9zoIe#(SuN}KX#XAW{OMCE`Jx~<)$Xya>&`U*|jt8W(jEXI% z#Prc&k|y*gJCu7923^)<>c_MaktFU+eoi$rlu5sKO<;|g@^+%uwWW2Wok;bxMb~y+ z)os6;qMFsjdLmQ|olQji<&K@tHxpZTmrvjddQBEzgD~@w^D=#8GA{+QC7)^B-=VP? z8o@5k_t_fM-9+rh-dxCv?BA?^$f$DTE&5yhLel@B?Y*O#%C|ml97h?IGAN2jQ$bJ> zP&_HGreiB}nfey@S$1M+FQJTIdi$q=W#0AfYC-_XKh7z0ZB#wcfh? zhvf=~bF$B`?fu!`uPrLczP7HmtAp}12=GoUc6{#gmqf!USsvfR(97_^${3&K)zdi1 z9+y!ba+3G6Lbw-QQ-Rf1kR)Iw8o1C?o^y1EE^~6_?B}`NRJ?TH_Y+B-S6Mp}R0mo| zdut2b_0%6?U#NhIXs3YTe4kkDD8D1Ih?j`oqHllN@(>;gc9(tW<^Xw{0e)QZJ)#M_ zy4g26O<+nCw1*0mRtENM0g=!obu9yFtd_`sg(0KT?Wq)BiNF-7z_8R0vRtfo8ovn6H1S>~W48la z%OeOVe*^HLwTlmE8e)#~UBL6E1Nxcf(Ofu+xu1|&*=1M~X)YI@mS(R?=Gj>M)GkqjF>oMdJ zV~Ccc=jrb*`@LHkvd$+}rOyLE@jYRvKayVpPgM<)+RU)1!T;enalqK}O$-SKJtR$ac^89IiV&>#VpeTemDiI<{03~cp$ zjXWcki=JkcF zEHb;LRPH`R+y@@3)7dYL06Z2XB(oIo?zEBKd@*Y(Kog(7@rM>-`GQxU*ZoE)8i<$= zC1RR83o*QF8>e|rVn)+^2t3WfzQwW2U)<>d^1x?QOZ%XOw33Ce+L?pmhhoBcvPaob z>K+#N7w3gJV5etwXv`%~=Tc7wrr)o6yvEmRBz&T=DL~QKB#8azSB{re?iV8|<)t6ltC>)QsiZ(*OeGS!cf%>B4fqhw$pI$kFRfAsl z#(j!>joe3K4*Sr{q$cC^AP>`V zP<}w4sCjzM!q@{lZ!XYFB17zyYP!=I^cz0CNoVT{#WyM1(n~zWAGZ=X!?l<7$G@o_ z1ekIs+ZDxrGCm@QXF4?U$LHu`v`hMbTKFZ1)f-?y)GF2H7j0zVQB@plM+cZAzI6KJ zTHn_w`$8=fIvvb>uhrqua%W_z^bOFUPmp7&dXTSWtiV0Er-MAwcq!O#?Nbh?dV>fo z3dtAGs{%U-_YWs?2$h5^kh{nQau;Zqy=!FY$FElcq{{?ESJ_^XzBR30Y<>Ata?cfEV*)sT2k)iET991^?rQcTQM4CJR|B2XT?~u0g&HCj4t1-sC zv7U!*9>P}?9m3t>l;j5kH?ugIdR^Ul7x88Yp|bbN?^K^EDO+#m5|I%Xn2^1Z1RJ<$ zxRPq`?6O%FFQcq`ij&ndMaC}Hou^lnxY`spCfPSQlb4p;li8Uc*aIr1!ldOje%V^_ zJQmRacsN(5Qt2GK*rzSs+Vy4DR7ztdXO~fxRCb&v&&@ofkPVBYA;x((ETI}bh#mK< z`Y58C?-;A)9K|E3Cg|2It5H{yd291BS`_e&Y`lYB!2N7IMWi-`r3j;&*gkFdfW+ZO zHf*oV{}8bs#^OI8U2;8&rh{8a-Q&8$G+; ztV;q7vvmo_x}_Zd=$7sr>y{qJu&R@HcV=F7)7b=7qO^N`Ouk=OtN6fSP!TK#ix^AY z-jT`$RDM4N&fw|CkUyjuFXL{DISd94$D77sZ3EW~v{%UqHpaPcgv$wDsp$&31w6Or zJgKE!Iq|g&C~L;3xD+;gEa|~UR#op2%>dxK2$%TUuOBh03{$n9q#YSXb`7IFQRUGx zspL=uB6?mvX=-vd&S{(rKOXrJR0-`0ZA>+L@w36x>1}o;AZYq&zH~|E*(L@XZg*P& z{WN!2);Yz}^QP}3^3#;U83PkKAqI+?Y-;!KIbl75sBaF&ZXH}oXIM?adX6q5x1x2#{=|g*X;|@>2svu z{IW4KC=gM=kaE#u*p7roG&{-NkX~d~iM{=6&GeQNkfbsLCSXc3k-Qaeip1Qr;PCuz z9S(&j9AvkC-+q7>s6es$BQv&J(e^;Q2)yJUWz~a;{6+NVQInLk&3ZUyPYKyq?0%Im zB;%0q|FBeiP4I&34tK?OSY%(1*<8JSaiQ@O?xyHo33icb=>Y`rRV+!EByeoQLIJV3Hz1CKl-Wt7r6} zR=p#m_PK6DqC}Nvxc#nr( z!;Z`!xwe^2Whp`FoM=FhNA0j%P}VCsasF<1hVaTaz;Q85&93CT-w(s;pwe=q>G{;u z98&>cs~O(UDg@_|l4xI%;6^;4+48FD3PuD(!K%ADu=$7kMmG+Mw)lp-ZWc4T|?d0@38q*N>rD=zW$T&|)hu%ho=Xbdd(Ec)B zdez*_YIuX8EIN$icqMyth~q?W^t`eTY-2`3)d8KHQQ~(*rWCYC+DP1O3Xp{Z;Ju&D zb@y75sC2uMB=%bFXGPn58YNnM{X&_*f`%xJ?1P=NcDqy1EtK0VXsFNkyez{7n+$-e0 zF2?3Xwn!ebQuTn~3X}0i#>z^%lAI-mAvg1H+vTb4n4bltEUP&A1(aG0c`aotL@6tdg_r&KNK`N(TRcI);*-!I z(pmBJ{&&A$&)JjEXsp{2%uzeI2kmzeEkPuRk=E1QOxKfh&cLG6-95uK1s=)zmpcKtz zTE~fENIM_9KELP2^*lgSje!%bWRde`lap>tx}mK7BQ>YdtkRF9|j1aJ8=55@mJqzp#5jRm)fpzYgWOul)?Q zEh#OV60&MPWFlFgKK4?yw!hp#*b5+CU1$O^37bgIi5)fWQuO~lllk1k-?o8bqYHfu zXI{W894DSSVnshWZ}JSs%G6;!?{?3#(%O?PQ7*DPVkmKLmz${!kk(^MDc{tP@S|!l zn=;Fs-JB1dp#2Cato5zmMSNnr>Oy+qq?XyBYgvAh0{J}VMm%L3*lv{hcZM`D7Y?5u zXxvMv@3IJ#(O}O72$Z!U4IRR=CL41==|ticGbAF3|Gx_VG!`MsU^#9OP*(G%NANdW z^d!%_0papzt~Qym+nIB2y#=0}Cu@5_1s_efYpPqI=X# zOq4!-bZZ}45NB1EcyO7H+vbaNqtlnuWt6bc(8OL^3bwEHXYbKw9DLM6y#~J{BUJhL zWDw~rH(ZhxhXbot*h0C=5448NX5AgeHQ(kdwWU*CK$66i?r}N&WzHh;%C3soOatE> zevVh{5)VMVD`)E>xUD2ir-2_`tGRXU!)x8!C(>+@AC9)cN2C1Q{SQvY)UM!vQU>B% zRPLLPD-W+tCP*Xi_bC>Wz^F0qn7{(e?k6bZFM;gD2WH3J-148qit_b@)5ca*RRGF7 z4|YQ+eGU&eOTG!<)@vnB%*FKuOO$3BCYfQaX9ChD!6(|sw}LlBEYBZ;M!7EMcA8=a z4Wh~aii|C}<2?YWbR4Ey{&6Rq`)2-0Y?`@8+&>>?(@d7{o)4pJJI~pyFvXSux_r8vi5As zZdC;J9XV4Omjq@yA$}vjJcy$Bd>*DAa9RvpV7}>FRj6{GTe)AU@nLY|w@XcD5jVzi zd=zLoV^%5R#-cw*NkQl|*|sW+4v(XB)~o7NOUKN2ZcU_bJQ_nnXp>(E2Nk}iiEG?8 zkd3|vucVyTQVog~^lk_1b0BYTx2D6OKmvv`fn5yCh-l$w+Hze?L7xZqf1^t_>9$%o zOt#E!ox~uUPQz~4(WSsnhf7XyU`R%CGlNuz%u$Z!&`eCp<}+8ayNo`g(`E$-^y8Hh z<|rz{_bb-7e}*9+u%fo(K}ae|0W;X&+2;{mM%loB`_ z___Ra&b)Zi8c*1uRJ^GzM$(jjnu$uU{`AS*u_xy9H5~Q@?<4|(@%n#Z*g)vwN7p>P z`d|w0koH{R)~f7APKp3}A{+CAhL)9CItK-5#Fg+`thS&4U%%F%ihHx}BoGKh z6cjsuk0n4|-mQx=8kVsk@e^H<1iqBl`isHFE)bmX)*c|UB|mZZ;ztS#<@aY;+$fKE z=A4lcTlfP1s3^&eagB_VrEIeKL#~+xw#;xxmE-b`rz!$;R~y(;gNCVB({kN?+Objf ziaS%~^7vomyv4}BQy9RCfgHn=5{I>7AuRm4k9JHPj>^28cGK%9-P420x}zdI!KM6Jv%^LdV_PnKZw|l+85^05N5jlt@rYW9VJLY`GBExnjVY(yNl& zVwYzuyz^Wcc=Mkhp?vU9fT7Um0-OT?cT8B8dy>?t2H4q=8d=!tDxyV+aBPmlNy(_kwzoCCKNx|2+AE1!5p6HZLYCb=)5Ad9FJ3kJsKmb^XB5DP-{<Umu*YIET?cgzKJC&JvNi0Z*U#8Xb$l&r`)uFn_59})*=kO%_^eDCz4ySsN2aMnxpe_em)0W!(LD5 z_|A)9z`kVb*9|i(rxuyGc`UTSpkc@dp!XpTm?GJcj2iwu=a?J#nx*m`ep&tOX0r!S zk>RT}o0&)C#Gs*m**+ze>UEaJnfv;=~q zJ3pXF%eFhHos~m1h|k(!JOr`kha$v&#AFjW$p(moL{48T!5WOP9Tt8O(FLl5CVDdf zeyTVI$Jb*lLuD$z{8YK-S^ldpz4Za5FTMXAcOta%*eO&%@x> zAoT4)u`OSbWm&KRib;Fd} z*%sTnu2jUnmO(J#Mp0`m6uDJ)yzi<@Uthd`+@da+eeRnBi){x z&ls0IGnp~YlFlX~4M($mAa7aC_2lSRw^&-B_2s-^tcR2!We29RP(HT;^>)Uw7F5O2 zYjae1-1ncKdR=lp0qZ|vg;}vjgJ3h8tNdDxYh{Hiu$x00@W}n4-*bja*5DZQK{iW@?ZNL` z9~w|q`97BNm{F6LHPoob^Lub9KYSEi`mmaeMhkRFbZ_OixK-nNTzE^B#l8Y7(GX{C z9GTHW)-(1Tw-#tdXb|5C5RS-li_UI;HA{Wwq+nqpVC{F{;}_?sk=pPyLqVo)1_ z6OSLULZm`UG=wl9y@X6qf1taqOlC^gYP5D{6Knj;_B8j-W%qD(*q|vU_X70?USviR ztE2sChZ5j4%341SfWngZpT`#DeR5>POxgUhE^8?UdeVIH{!FE$#8VlBnJf$^4~2?} zs;md&r1dP+%(+Yf4g}Tmqq~>7lypPB`nF2IHuXIXK~pbKt&V24!MU(!;*Gz=tns^5 zx0%J5-NRR5Jd;8|uLmT8Ts^J|1@M{|v};NhlhxO;nGInHxmNUo8+W_ZrudVCEK2iD z{^CC@AB%-)FuoDEHr<*+S2I0eDF8ULSQ)b;L&;*fVkXX7#kbyEQJSLbe^Afd*q_E1 ziTQnw*Ly2Dz)=Dm&82`8@`)OAxnNwQ)AQ|p)>a2UI?%GtF6UM3YC|S@0@V#rUBHYviRNYP2t3`2dYallb}hrh4J0@ z@_>khW?v-)s*|SS^_rxoi3piSvuCq<&$8aiXJh|GO<0PKDys*7}zuHT;*>$N{rk|44p!?Y*)>|FQ8S+u=m= z+tu~NWcJ<&>dGw!13}I!kIKMQ$1(w4fGM)0$@_*ZyKIjkpt;}cxVe98(2^f{4-!QF zQ+H@3#7S_+9mhJew(Z+3`n=v%Ql0h<+Wkv zQli(sVumqXv7)6M{Pq0^lBqElXDT=W;c;iFHHbejupwMvOPav#`S9rMf2h3a(`H4j z1hi_Zt>H!#qfDNCP0+NAyk^0Zby}tpDwB8daiv?6QooK+`aHq~C~h@K7UbOw(_2(u z=FZoOeS$>Km$iVisRb1x`^*_3UhSf$xAHpDhkETdbktTDGnpsu3MN$K@RiPmx!tq& zFcKRc4V3PCBU#XiyO9MSp$+ufiCCc?S~l(Qkh(RDyQk!Z6K?B$QJJ;z0XJTaC$pQ% zP&G^Qg3Mh`+v;VpPk?~75H=PacU)bR;7}5|_Uf;xvK;JAb!|6yo=x$vk7ltO)8;SX zD`Cjv6TiDqPFMvKHu@OB9n+7N0rRO|%z2p9tBS~isj<%zzkR;Y71(V?BA!^2eD)#& zt=p?lKa1(@OFwuxAHinRlusQbyCxmekJxJx>M;34;eND^JJWZGn~5Q-iLZZUGQ?bf zca74xe)yeuC-9IUdpJQcwVH zq{_XU(I*9nYljj}EdtO>04>H)yE3~ebo}wpHe(0pL&0<>L^K4biJzTTkfb_T zNAw4}I$gfJu$nmisP;tQRfdnWfb)G3aq{W!lK%l19bfR3)|-FFh<@Ia3@zQme+ZeM z|3$SctO@)X3QHw>h_le#-w2UCK>lx@w>YZJrGiWpM;~yBY6R9b^59+#EmivpU#_#* z$&DOe@_Rb)6_fv>d=#L(4yrF@rYW4RMfvnfe{=jz{S)jxaee*S%Q==^IyeT~@z2~1x>^|2Nr&`tG%iImI_$?AlaINojsm5>F1I*3>(30_8YWs?=IMo5|67`Cq ze_B8YDB$Kj>Q^?i|6+fBYypVbA|*i8b2CHXnt({To`GPm-ojSZrF343eJ=UXzV)j{ zRn4i~6+ZXo?vTDa9M8O~@kO#mOYG$qn_*>kv-$6 z2YJ+H4YfEOwH?OZnfZ^YthbiMK9I=ydXLC$A!fm!7{zjKg?#HU&^QO{9b2tr4FEte zrhfrIH}?Lo13(V&{~G{Mqh0i1IYc4j&LsFHqQGyFke4WVsB?Je264kUB4)6CXxFIi zTe5N%_$k^Ce%^;dHoH}D2DmK8-vSGlq~BXyU7pN&G1FRh@^XC75~uRFS(e05BW*I? zWh!KnOXh7s8Ap79=&!D6d)u?U7F?yx0!9h<;OrI38}r)h*Q<6C9inW(G`tSYHi>03 ztP>?w)^0cVn{IMX<_>S#ov=*xTREs}tx5KBDrYaE#beViIkM>WUKtYwgs3&w9A<7c z$8k^33~^DOg2&G2<>Bve*=|fA6ijGz1T{@jqS7*Nv-mQ-@s#;q5A)%QOZ$4i()S3G zJpDXVaKrZElU?vH%L(tofAK#;^bci^8m+Zj{52uT;8=@YzCh%ptJHJzfH<*F+bxzF z>z+{8tsd=l@v5CM=NFWRQ2I;PN3w}h6Od<|n=&iR*T?8_8*=B?P|S$q#>o;X_HqrG zH6T%$NByv3!ygLM6oBc1z*3&@juXdic;ebI^`j@#je$Tj5s4UAZ!tJ*O0L<*+v4*& zP3wLLlrb@AIm}R0o z$ zJI=lERVFRP2i}ROXEK1!IsR>OnJ>6bf~$TF#sU*HL~fp<$PHz~KJ1zR=+JyehH*Q1l-beNz^4 zf;qN?w(~Iw+ge2xc-s?9WOKX9Y9}{E*lyxwban4gIqqi>`XvA^+0{~#kTp9;6p4vO*alGiO#KE%d)APe_BQ`D52D_TB5<-f?E_1qv zGg(M4`JwzPBbce$u8D6pJxJhKFmUfLgx06kYpshfC2jaLWqk>|u8gp>X*-pE33e0D zClB;LIeR%coy+)$tu9J;Q!VV^+bO1f-|teF64`H$51$2$w| zj3%^I+iQfQDm8se0L6D%xZYPa^+?+*{v_n5k5Hv*hOG}b>BmD-hWmjEr;t&gg>n#K zG_tzpzFQMC<3=hA_Af;AS{j#T(NNh3puebFACOwf*u3<3+`96v$6bdxmgb=OY}2K_ zUyc0i%N^7oHh_cxdmxo@OLk<-wSbgavB`_hJI{v}p10V8AvmU;S-stEb1%kd8;?2( z^NWC<`pyahkyQ~mWp1GIZ;I;wCjtm%6-7tIKRtkD{Xd&b)h>zpWC0$)&NsKtuV!9+ zs2}K9!TumMR$1D$h+AV*rggd+@AETrmcndXcfxEDLzT%?9eVS6!5 z=iJI4UGFmVWqi#WA}{8Rq4C>AlJ8Qy;Df|Mspg`0PVa+PQ2bT&skZihtW{-+m61`s z529*O`*9v=uFma+UF`ijemFiRv$5Q^=ldRdS)wH4@yS-!DJn$vr)_Us+C_VRgi0pb zL977$>W$kw0M;pGkETidy&dWsIjjNkG3MB)PQsK2GM)LI2mQcU@5mrFnTD5Uq z*-jYlChA-fj2Ra3wiz)&vY4yl&|-gdz&0pSk zcD?0WSGGFB33>lA+a`r)BtXyX@gWd5lGLNp@M4zuUFC z)r+^#(;p$kH~81JvG0l5Y&=Cnu`w= zZ-dX3A}|(Rp?-hXmc>;@4l!(i3`UW)^&I>vI)Ls1r=*P|bW#!wl5WH_PvJ$SoJ5DY zRr=U%c1b2qCTLK>TVsr?zywuP3&+NMk3=2T8do=^T>^du*xhIJV6pc-Hh=fHkFKrC zg`G#$i7KHMl4=;Dq$KWgdb04V-DE_gP0o$fG9NVE&0Ao=twls7SKOk06?=?WvJ4J zEMB833t|N#4#XxO1=g&#>WyOlvH%~gg|yge?O~im1PDjh1`QgJ9+RN}5_{;N7lWFC z?FR!C4~`|<*54T-)=&Pi4a zkUezr#C*(1dox;V>JLTG))dixU$W%RaVSAVTWT?_<{+7rk7SCK#U{JipNy{hh-XiL z^rE1cUhC2IP|O_Kcl*L>g)o|nCYDnH?GzgvIY0Aaf%gKN?#tU6o6kw9`r+FJ_d}%^2)U9*0&9*e zkKYH4GHr0DnjAC{U8+D~!-l5CH7Yf&Fw>f=;r~f#fmG9_lAJ``kXobqowPQ--I4eB zzdTr!))>2IbVj-ea{bQgw~E9O$isWGh8}HB#Ju4^uCN&**4j;--qV z@WiyrMb{1xw^~!4?CE)Yp_&G=5+DhtK?t|uX$V5aJK%N0u$a`WVeWxbj`k%IIvV^+ z$)O%7wy75Cm2B_Rey{;tM7yJ$7T1Cx^lAJY{1$MaGy0y`FkQLvdU910t7|h$MjWBp zi9V(*-crk?B|4EWDrt??EQOKumIq&VFZ0Dsa1wy#?VVc&_@W#*+6;$W<=#4Qby$Z_ zZ6wM?jrTr`dr}WH+2x^S@`i1m@^ZnM9Pesc_)3*jML`vPM{m%=Pfoh8;2;teC2`IK z8f8uYyBuhBUhf39tEn-G@1O3EjT-A}1U9Baga{Eg2U9ulaVr`@!u#gt|Dk>1L!Wg^ zKq>`0PjhU`T#h(cdw7u~C{mTR(1nZ`XFH&v2a>nI9l@Y5&%SGHDhgf$6T|4Oq-DCX z@SZ0Z<>Fwg`CuVw ztl~C5fvdV~-SlE`lx&n6slK>z>rKk}+Lc5gZkwK~-v;z=8fi28CQWAnMk4OIU|WO% z-&)$DZ)^``3?}XbLL_|Bl1$g`pOAR2D+iua%A z2I;-Jg=~tmL~BkpLDWKPu%TBBX@s2H?^|>Bdp^+7OHe8W92wiv+{e~KEw9v*Sv6ot z54~$v4|i79iU_L-At~O6t~7FyqEV(RiZ}BDZc-Q_eK84T+1d3{I=_>_^-607K&uv< ztAJXQ2QacYDI=@tkar=`_6wJVx|mAMe(HKQLcl~~^v;A@3w9^w>9r+CAHt+_UA~Fq z?xb9W{&b*F4n-g2)d9?T6ais(Zu`J&Q3A)4N*eqd>Ix0{P8abj?U;rya z35dOdSaA{VTmFLhd`LvTz#X=4A7TZ9{X9k;G;c~6Q*iT|uw9KOKO@o#YJsBWLycXa zx;z*bwEf}py@H-GLuDGukXkVVAGM+yvVfRK#Jmj@Rn-w*x0NIBbq@I1jr&wX>bw6m znc4V6AR-Ku(V|B>gme+5B};oisz9qtX=?VbL|kF>Q9|tD!99R}keyX7R9q)?iamVL zrWfoM$H3v@)#C(O+5oX!&z!rWRpqA>n{goD=L&2zXF>d8!`5Q2beNy36=2*G=i<)s zryf8|e-0iV(Jp&;Gaxp9u&Lv>!Cw0J8*0;lyfxb``&;gxb=Y29wUPRi1;3wjVv4Ayu@E~qFHHZ-aj?NpU`@5e6>a(8&iK<$5w)AJKH)Y5WHP%xh{k-e) z7*jF8HDRmyPPZAlh_fxqqZ>Bg1>4W~UC5n_>qaxF{w3Nz-p7MQF?dZU7j`2y?U)Mz zEV04k8pMCM#ID0+Gx?$Z23UkP(lxIkWm0eK$|*ama<5*(h!JJ76DtGk8h_A6+#m%j z08ohDsEfUPnYdC>Ecl(1NT5!3roNT91e^U8&&K{SKL$2->E z-OfN@WW+bE15n5eS)`&l8wF`?4= zBVp?G@16o=T@D) z)?ss%{)R=MKvVPh@DBQ%?C2d#j8`i*O8LH=(xZzV)43^{NN4jZ-dhtCN9o`mcWA}j zI-og_tiEC0Il4<>+zy()uG|&7uroIt;1>e>N==J<*~z%?R;qGWIl8_juk7a5aqmhr zIUkUn-8?~p#k&5~Wz>*Yk1Pa;Zx5m$AlUNiK!Lg1Z2j^@giyK%EuEQv+5zw2*!ah^ z+sY;a)}zL<9Ge~*fB^u9sZ6t3&W&0m+@id3@!OkVr@oXI`Zp~82?vs~{o~hd=2}zX z_Gp<)N)2X>l0@1+HI71OSaZ%7yp?FgW;^9vr@t0lFozt&&JKi~l6`&>j%UGc$bkE~ zeecbo&m20CV?9nw&kmji0nMd3=l==EsHyJ}$`HxMODXs(!_aKE@^oOxOLrI)1i4Pr z_HMH#H{9Cts0Zjb?EIp}^kt1NqY(->_~5_fNx|6v#&e_=0SK{+#Xo8v(k74(OZJkj zz4yVQ2Qp=P`3@1Ymr3NSr_nJwbMD*kOC(#SPUkW2*JDpX^S;6rh0iSO%m9CapE@>a zH+|OcSOXRq{k&4E0dd*3eq3GA_$o0XG2+?vt?*k+1!8 z$_kVOv*7`53fKa0U6f`5;H72kfJo!zn?N_kP`?B+<5BH0Uim5Vg;2P`-5wdkiZ5h) z-5bWLOO}qLaQfRuUtYd{8){B&_3s>!S*ZRuwGe+*ndd`n!YQwT&a>$NgviBQC;mAA z^$rF+XV>T`HFekE0vg=a$Ktp2mvURMxnWSHZ)CGInzkR=T%8J4o8~cTcjzZwHDDxH zISq+0!8Becp(3Fg)-fGQnB;fNET05Ec{cj7t?)IM=h|u-SBa~?JzKwPeSPuwjuETt z$DztZ-%++3F6+zSyC5G;)Adlx1d3lwh&%81;~@c9YYY?r1_Gws&=BolW9b31KAFP2 zd82?vySDVduWbDsI>s&B0ht0m6<-q9QihiT-n9PMezfe>N~@)cH6b=jB_wLW-_Jnq zM>$)9vhj~9nI7K{-ZEK|$pq%FU70mC%bPk}Rav7$)2lxy>wU$tvN~#!EXgu$@y!{k zbH?9m-o50!-8dR_fwB(=8~>~DedIYUF$w_nZmiRtCaiCShY>g8V|gAL3U}XWK&-D@ zD`m2r>*sPz>TeR(nK<2co;nc>cpCuq6g6x*F0Xe*sa{MHemizBER5^dXmJX{g6zR9 z*lW_Njjs1s+Fc6=i&H~#g)vkeG+IW}z>%rpqi6pVRa-{RN=<~H#Eu)5lRJ+jA&Nc^ z%wE87>2NeCnxo};!s;LCP&OY{reLC@T-ZSulAzRcDb-S>;Sj>)b#d}-HDwh^e=)4O z3!fW!BeTH%Y_~3SFeBt{o=gd%>j5eU*{lHARiL$btvP-bw0~r)@U||e+mqy zxBlf5Ki?Y(e6FI^24hZxp;iXVu&2ve7z@)pOf7~?MPsi9-=&RMyPC};^j!S;{H{bx z|6a^9uD0`vhaU#=ej!qo-EDti1{`{jQwsWjmD4LoD_O&42Y^Lg>p9ooZpg7kC;87IDAS@SzzvBJ-xj`O{@P<3an%|xC+|QV7BZ!L{Rvb=2 z+Ks`V9+RaG_f3;>_!vj@Y^${W=CwZ^G*yf3Q6r4`Q92e+xD1@Hx@N*OO=gD3A3r{rK0 zA2*(zg(jg#d}=-HKDA|G88(7dCdWqCUG8QPnnB#azzcb)%2ny!x zmhbCcUg~1@yed+f`ftm$FTjy-?AUy;0rcIxdrsMsg1xpSXQNW#{sL3k;lIUx-1*+P zHUVQId0|P0fa7{*uYb^a>9>4tJ)yO`r-(B#*v?B7KZnoGaDE=#u7oDvEJNEk*Skf! zbXt+XdJ$8&&2*IR{M^)Fb3>Dx`E9K@o=clPFB>l3Mesx?RV$r7w^ZL~e*DV!G(_7Y zEsqxp%@tW=fE36!49kkPN8gBH0X39ovY^i&w|8Z1IJCa80O7ebD(uW9;^msn(ZQ9} z4SA7-_JqsxdY7!BDjIwk<9~b^7GWhV92z?8&j48{grtoR)K~_S_59IjZJIUvmY}4` z+Q%C0s3|tmMMfbhD<4YQXIf?6j^(;VHy6knmozwpbs2@3!hAM+jGPL~9I14stPzMC zW&35H@?;TgVyVek7M}@V*&dD&F*Ao#-wBq8PkYX5F}dghm?v4*w8Uz(0j(f`A4U2S zWEa_^fz^R4OEsi1!p)6ya`yH9;jfcM|LhDv2u}3@ezX;VM&dw{=K*k%#G4%jdCX?5 zm0a7<)sD(mifS3l@b`;udS&+u&oL1^FiDeY>%yM`TqFKN&jkgDPLFv;R})`^Vdq&* z0oRC7z%^ncRP+lza%q(7#5Ka>B9V4ramK+Ys(g)S{Ooc9ApBN@x!O=|^2O#G%r|TC zFnqCSqB0dAt!_)KlF2|%YRN^%py{_1Ts@-F_+;Cw%LjyP@UfvkRN~^syY5Vo?mXE1 z&a%OxG0McnSzm#WfOuO z%fkg*iPkHJLfVG59_k{2Rz@+aMSQSEYPD)Hz-v*2&By-%i2T0R_sBbz+S1R5`^fg zoW>2d=GzZds%%I|yFI)b5D95pbvE!g;;8w@_o^xDC#kauv~ca&nk2*+_^p{NRV4{j zH1>E6P#oH6^@bo>6|Ltn|MID5of4x+$(-@GdL1C&3^!KwmksbdXGchU$f^RR@2_%< zYa$J+Un1SUse%+;ZV!>@`IiN~+Q$(a_k2BX{_^VbV@1 zNV?ZoF1DG{9AM`o&$)~duY@YPw6Bh{@}|OJ#f%D|wNiGzsNM4o!m}nz={bg9 zR>Ef*0K}-CVcE}P?TqO}d4AX(kt!jd23Z+q!J4SZiquw%BxV^!L~QXFLuOe2hr<3*zcsMI7p4o1DPqeJ!8 zHcWGDphwiVI?5X#_!4_Z$3^X`XWOw)0HBTfYdl@HJ~bOz~a2@Chzxo6pnu90;u){SRiJt`$V;-Z1JaR&4>TbRBPh* zS3mGn{fHQG=k4skZ21yv!=C?8XxlR!${J-!Sy32Ms8&aCUeh@W-n6~|G`m|4%!Z<7 zK-^+4c9N^|)>EHC&Q!<@RX8RI7yWtbu2FaMj_F85yzHQc9H)I_qc+~pgPwSQ2NL(o$-?-8bT(h(+D8=R%a`;^A`?Rf#?x=geVjperQJWM7Z zbWmu=R}j!ULfr)fL(tgs*g($^$wk2p(rpcgW{bNoKRtccJ{JY$;`4i-EE3Nrwv}{I z$F=suW0nqe)8J92M)#xW8Oxkk7)wx0oRgZ-2rXu=WQ;@;WwJsAS?@_W~8-v{4^)KL2l&PT-63Mpbv7)E=)3iVkHlURMzf3=1;~ z6UxT7a$%|)*m-vrRTC4`x=}HVPxWT0rQ$sxtxR=%rM1q3MO5u|54j==4c*V9VRe0Nh<>R27o4wo7xhF)cs8$wG-M0lPWdy1njgh}81 zEys0cew%%pr(U>f&EVu@AZM_VE-z%}w0K$URZ(n&YvV`OuHpIT!`tGSY0?2J!ZOKQ zHBW>@fRt+Rbcu=q)2Pdryq(`|i6DEuF1yWaJUO6cwV`GFmNc%x2(7f|c;T9i4QTRq zTb$E|kw}A^! z)0(sy8vktymwsm&kX#uyahvv(o!ELQU9v8`l6Hp}+DMe!g0-I&cOoTMP5t@#+TojZ zhRzetgsLeEP*HKDKHZY6w(525RJ4F+nhrJzLjQUJW@@AzFnSJkX58)^nWJ15C=LskgVl^J@!{jB#}tWBS*+{p=sit4%xpt7_; zA4s0V9N}d%h;UC@$Z2xf$1f$mT$>d>&>t7xocf;bB1rRc9B5LBQrwq6(D-^Ox(G64|aL4&c`QcYx?WB#4f`gzrP*t5lod!|j5^zyn-ZV89L>gZc%P{qr@o zz})B_W(JV!4`yhDsUG_I`!~NksCy~-y=z=V?}-eRI2tecOJF%ud+#xQ>*{gbDL9y9 zdVo`)!~O4jc04j9kF(BA9GT6~^&~0TM(b`AD%Ft|0>;c7iG5#pgFxEppS73kdNP!gPAw0h1&@8x_ z79zw%_b|}avzHN|s8RyZ{v(N~Io$4UXjDO~$38Lk%&UrU%xS961>3uslI$D|pS`x( zra}EuN-F9LBf21{d9B!}~}N+=e;d-3+i_*i$4K+o5LY`p_jwgP2F5 zHhWL5^@{mOXzr7}>vrm!X{o%O$ZY1jPE9}jp-x7j-aOc~Q{8L~ABr)iA5R^Q9g!_+ zx8AYO_)LQUtr$?tQ9e8%@4L}i;8uU6`{$eW}{V>(3r zxl0f?hNP^_8*B?`y!r1S+5)J7K0F0_gIpg-ab3s=PEEASHbk9;m4J?)dW3B@uD#|` zlVnyiYg>@J{+53Y?oRIUSVt0GFW+|gWB)F8w@Z-z!{U{rdpt5# z5;%B|PSpMI!Y*j9@S!vL%YHPdf9y?qqoJYy;MytsNlOpg^^dHC_KFuDLo++!GHg~Q z2$${`x7?AM%s)(Z6GEij13<=`PZd(&1?M4Gq}aS}fs04ZC${!?!63QB9V#sJ56B=u ze@m!+Jk>IPYVja_W8Y0`$}n=$o-%iRX8OTL_mH|(!Xcj{SxWc)GKxpG`_JR=;93y& zyd{R*m5;1r>*2!mnwPyQ$&jw?tE-WAZ*q1Bm3(RG&Bl76b;dpA zk6hmA4SI{NyYANfiG^C#gpywlg&Ga$BfE6aJe`OAr6js=Ens}$h zXZ#+WDDcdQ?O-B|=aBuw)6J3Gb)f_K*B&eUvplmf)vBrkLfJ>w0x5$>;4P=RsIBi6 zQD0n5;ef)F_~Y-FW|rzoMlvN+(%0PV8P>}7r61OF{+3x?+*I0k(c#tC=m{JIXS*kf zBjIjudLh=CE&xwXwOgElr`inM?+;AoEdUgHG7o;!BEERGU$42rRYZ{7IsMhIkPj}s zfX$H#JFwuwMh2+ZytCix)OV3B=^t}{0Ytyq@UMa0@#&H?HK8RPE5>|KFV$;W9b@fy zgQBTVrK~zKr~gPg6aNIfcGOf&SC;yhpTA87RC>WqLaciZSI4-1$$#TR>!0&Hp?edU z5|vD{->cu)hPjSjE$+-kEcq{=voCOHZ7lwE6G{R8rOnuOPQ5cSOc_u=6LNjd#J)_y zpX*<`EqD=Z47>LpW34=Rd`|UA8H%2<@Gd+dkpR)1Nq(m;6+eS>eC^A#$X@>wTBQHNfptZQ+?iu_?m{M+@p z->nrF8lfeUTPB1jwU>0nKJNIM`yJVazx(lBg#49277l~UGy6EZ`>1CerG_Nn+U~w7 z3R!*JyqQVxd-eKCVMoo54Bx@y#}#v%)csn^ajRakSgbeECtXc-{Z&O&!vYDG=51O0 z8TWN){q1CUdqs^_*?vvs6vN;Bx{u8byt2g}0+V&@o|B|fz?QFnC;b8?{y!WtW~r*v z0-QF>4o(lO^V}r2@%gRIaK$Gu={H^szP=d}DD z`#dQI-Z&iZw5U?{-||g>b9nrbBkG{K)zC1Wv;4}C37_Uzz_q_cU2l{KhK;9detZH9 z1xW_OR{ueh4vWpXoP~0&Sa0>XXlkXSdl;!wnHcX^@RgBWGxRn0OaBLJ?-|zA)^?48 zC{{#lNJmhL2uSZBibSM|NRh7e76cMnXo>{|Lhnrpy^54TARr2a4j}}P5I|}I(rZHd z7Vf>DXTR@vu5+CqhabcXS&KF2yw^SF9QT-G4C^k(Ez=qX;7dee=SAMvhn9vI96+{^ ztJBtJ8qJ&W{G=gmI6_=LN?y&+B3;D23y54l`x(N3VMV@VcWep=kjQsZ=E; zut@MvYTnra%48esL5IshOjhe^UcH=>>7mIfasb3}Kd)4RN=>OJh0{sftJ5_rzd}?mEd*w&+obw|)$&}s7 zS8+M}1|tj7Caz^m0w6QtT%<`_>AvK#m?yD8DNY-_F3bDbvC&~b7p5{9d8bzn-EV(T zA<(2y{b|J_J|S?DC;#sC7YK}GZa^wNuOOlD!y0NWpl52%IMjjgHak&d)?u1=R8GOL zGs~QFv-^I%XAEPYa+al^qg={YLzsMJ`h#|%<^27P?01W0Rg#7pefY}#9v0!5*&e|@ zCeSlz2sjtj*iO(drZcyrV*tZzr6LYY>(ocdU9(tSa(K`sqp0VHCEDKr$=xa@~0DbM8%A2QE@%PqT za9AUhT$!N(lB-It5GKw|*RW~9(Nv1tlZOKqdFKd}bHWDcB`b2NlkCVtOM&*q`LI|r zw78y=4J{L{$9(@qyTA1=lhIra)z~*sJ2r;nEaTdS4TsQ(#o- zJ%dFwRQ&0?#bUEjHtwW*5kVJocKH121(flh&=z&o@7Dv~a^0Am_`g zIw`2;vS)N5dbGUgL~%|bB3%6%G-!|gER$>9Vi8gUm24CorSu!CONy+QNL@P5hJ_ylKt7P?lo&K2EZ(mpIc}6_8{~1(N zTC<=vUMvC)zRc7Zc7`C@w&gcpDst3yT1p!+g#o}zcdnVoMipDADfkNrtMWlKP1URPJ8 zG0mMu{-9ua)Ux|`n@xXu*kSqJ;{M?!lLI7W<~8Lx!F%Yn4g6=BaLSUXXv&`3&lId1 zZRJwg#WNk9?xQ`Lk=7k}4mm(8Tl12)i+am5a}Z2)L#T^Wsp-@C)<5B5W}wY{co(fS z?Ykj-Gl~|=Zd5tRTnp<;vX8vDt$il5(8z?tzbd=`X^Ds-M@ z0!aj9$Dz#(Q?Q{foyz6g%Ytz6>^IJQB>PN%#FflPcMiG*TXjYpW4SoQI97FObwkeL z>B8)f^pRj{UcSiPonm(So(%^R~_J{gY> z8QrC+)F|#;PUD`0-cbM|R^dIr2MkCxw%^v9tqyv z&kAaPvAo%qG(;#~tLW@JCu?$kJ?x^y>(W%q=F%?pc(JmumY-%I@)*aS86VzeQ|&r_ zDJ07OE+<8io?)ZJ*{zdY2k3br+N#d`Z=^du<{87J zWS(H7EuEQbQ)suT%|;AJ*?QmQE|?XBZJBIJ^y-O`1si?oqYhTd|Qk5=XVT9m8UFz@gy@9?$xMFUBv#T_E@U_rmhh#2i%xHY$f0oUS`~td9JVpKXXiQ>%GgU~`E>X5sY{J0VX((~5B4pdVpE+axkZM$ zmOfOT{NUNOj8t#UJP*DNjq^uA`#dYRdtz_v)VD*uB@#VAixp3+RvaKgna`p**3MO9 z9vK;cDK#F%(K9G^?_ru`y1sWkcS1e?#paNn*Cr@_-2X1Z>{c8l#?19Ds zL!%?3MHnhh?`j@vXqaby0Qep8=d?!=n>*F-vi!&1&(ZWOxPDt6>HcB`rey1byEbM| zO7<=YL;d$c*ntZ=_$=r1h2tmbicr+AAIIgAhpZ#u3n!No9+n}3Ttd1%sq}3s%aa@4 zaJ1Ofr|JMn*un!oBg|ZeXmAFf$kvSdD{3@=s5$6tJiLxc0oi|A2co7&fhM5-usJ_y z#6<)h*(}-Xa zuhRS6(UP1iFU1g0Iz%{Z^kov&uSjt+OCv8ga&9T=AY(H^$qFUy4s!z}Epe2pk*2rA zi+r|HqImg@_j*J)`mcSr7J?w7&u*R4DyV>gLHR$shFw&enAw7bBfY7m^WJ;&)x+h# zjp{c;{qQE^hPuQBdDE~V!nV!m4(Dq{DEOdsbS?hF32Q(1^X9lbLD5qsT z$*F?Dhknh8b>@g{lsB=sQ0a_P_lxgN!aaLPhZ7r$-j!x4 z>8z4z^7)XLBh=<5=P5Lf)y=NOKv3fCkQ0PqnZBVseKyxMZ19QXXPP15STi-gN%wj7 zDlHO%+Qk{hG4(_Xi6OtX=}4^~)!V&oV9ueK0aJ|T@UyY(2Uq3kch(o9Dni5hNO7of z&E}Z+E}JJSy+H?_tbQhA1^Tns&c!S{EJtW0az8)HCOa|zvGmgXE0dH28P+!(J}f)* zBkr*5sKsdQAsqX(bSo4QLz(b92?KqH()?w+u*_)gWOa3+Uh~v<&ZzFmaWnQ`Zc3H1@jPnh1w5hn2HG%=8%k>zWHj&Og+`i?O{N`4KAz?M*k16S|PLI=RRnf+3 zDX;Cp*I1w~IzQ!DF6Pud;c@VKRM@VqT;kN)zjZdoQJw9p9cw9BI&9nnw3D@v0&LDk z@?~++d1oxSw#mmnVoi05bLEBMZ`ydc;a~x3i>2rg4R{5gxc~ z)mBKdI8$WBoPcKX>40LzidH93J7!25oV+mi=xSbldnZQ~zOW-2chU&DX)8sXj&b$) zcEfyqx~)GDrEYf@O>5Z5aKVoba`J=iJ@yYXZM%nzcvx|sJdIL1;@rhzM8nt(1lwDY zqi9)?I?|ovav!w+Wc1gP*yQk&L*VxTq`FGFa=6XKqp1gn6GOgW_CD3MQoa=w@bdOS zf_6;uh=xX+L*SAL@|m3l5zb2)|E!ff`MYfD;FN6{I_Si${5hvW+}6cP!o>65DM;gq z#@n$A`b4?FP_lnSs^goz+0$FW8{$KChTHQEHo$Vl$^OdRuqHyC$BAEkyT#4q6s1Vi zyw>_>I?wzW0t_6~fC`fLlNueEhgGqlTW#~LdIxw|n+UM%70D}4y46mjoFkJF)vS6S zW5*K^`;E!IT0C}q&>JzQ&)gi!)55C9J1#MmvnX}yzsC6mrG9% zx_g#!eqhqc&MPqget5^)EKQx2NFrfDd8tRX%{zQeY2w%>x9A1KI5?0 z_$-T1tO9R)fLyCsgZ39JZM6adplJq0sa_)uLQC1wAn|v%p0mu>P9$fZokFHO2>651dojE||@Br+wDA8rR>-LM7 zHdyHTWz}jwky%6T1BQE3*4jaZy~fnVq#F`du`v(feBF=_x$7q8f(2U+cUfFJwCsa8 zwn4)i)Ig7=p>vp<=GxE^W$+hNhxRXDGe8)v%q(-hXZ60;AO0n*_%ti7gboTb$1VQk)8O5XafR`FvxKz=uA`!g|0E7v6qeLow0e#Nl@C zF8=Em8V!KKZ+ClGvITL#@r>ga_$i!L_q;SBy`Xm7x!pPhh*Ri|Ft&KmveK{{VZT{kn?nXLv?<&83^h zs!VT`zuQY!kGMaLNGD^QS_IwJfCVO{Xrvgf;;Q2M7_orc@Bgi_D;QfiMuRZ!=dPet z4>_*B+caF@wOD>p;d5%mtgO=om9}=0`sY93vOj}2U>-LKS2&y*KkN&_AKr%S*{{<; z_9Sd1sFd}l8@=2SKJrx13z*y8!;8Nbi4USp5AtU8Kk{84yVz(OYoisD(OZ4@yE!1k zb}r$5Y2>Wbyeto%lR*Gca`n&X%RZRhRxK*fAz+SPgN_pH)~S!YLxASkNmSRYa~nHI z|C&_P-EvL0O}ZwJQH={gePVKSG7i^-kpdcd@M@f zY;F>+tR!6eR|g=QKIeRr^$38@DGs+N z>5CV1_D=3fYnK$>8+rI?3OwFP_WzB3$uU*plZKt(v=}EpJDaKgClOHFTJYL|{|O0W z_*aUtRR5amN{(xGpB@U3NEI4dg%?tG#}7q#MX!LyrI2b!7_haSHn?(>4FX3#sjGw# zMY}U9WnirmVLp0nR+lwdZKS_BM15Ot^z1k?%VU@7yM!G|wSj1Rmv0|U0ux1bfD=5k zH@(U9(H!7SBfq1hliN+#tg={PKSyfs{+#I?(haY#eO-sENBsF<-YsZmC5^9AFhrWg_F3n|Mc;QhCCUNJ8ihpc8HGH)K*!f|L+Y+sY| z&`=eau2$A$GJ1aqaSE6LJRig`b$W)Mj9dncm!6V#+D=k35BKcZY83)BevAtrWrUK) zQ6NKuVrACdG7PJE+ESvO?#M2h3HN8ThuKufRcs6wcZR)n_WGoX6fmagQ}YR7T+=oX zVa`7)Aq~|EoWX(Q^j8*u2cX9oEolPOKxWL3jHbLYWQFK&Hop3(9i(y-LGgz?-zR1} z9vgWw6`;^5rfne47eo;!X5m74cNc07!?G*1B$B1?Od{Vm5I9zjX8JPvB1H!38$(ad zZu4-~w#@=;8*h=R`?vrAi9T3}j~3LCiwIA3F+0Jjp;D+R0l=ZD>Tz`lKloUt+Y+hP zMJJ$~fV4tY-FW;(PdgR-eKIce1=Vjm_jIUZCpV;F+2MU?T~E2Q)Ff$N&NeF!qrs{K z;l;_5XthJuE;eh>3&!(G``N(C>{)fx7ZP-|Fuvi~F`>L6KilTb0v7E&p)n6C*t-&+ zu7A}f@Hzu(p(HW9{AP`}G%yPKOr`ENl9I_!!}| zav8#b3T1AX03ta)WeIN;pQoDnrdQui7#L@D<|?o4`CEu&=^{2k(J_yvdl-&9*k;XK zcEXLhVe?`=rd*hn4Xc=F(ooy%#~ZwZv$DdD9$jQv-YPg>QTLfhEl&wY2i!~&cnuF9 zkz5yH*(x=_8{TjB9P*B(<0ISO@y)2IK91p#zAOHG(Hf|vLuuqoy}ry$!rMtHTE0(Z zj^5>+?@KTmz@p^b#yoj0agnYMmw6EyLe~B6ww&ADaU*t#F@J4pK}w7nR>pszbZ@Wj zG{=JWzCK)YGINFD5_YU1MAqyJyZdt}2luQxoM&cxxplq<^^wIRvg8EMz56GpWSDQ^Wd$Sa}TU}r$Md&IgzasG+j^Em*Yk$HRt2T^rh$yb@eJf>`F0WoDPTf>$<0+ zbqAFG+*=B?+`h&)9;Ecq%7Ry%qwy0*nU6BvQ0YFNWzDdfs9PnZbb-6oswy^LaocqV}{tz}S$B2w~8|yP)9YF(n z!0PU601frA%4QYU-bU|7Du0*r@_Q}q!|as3SDx{d?ziwPgm=(y6>!jv>TSQ*T%S$( zE>MQ9JrULeM_+8V3lgqdkYlOdVDhY96w{HoFVo1!ADy0B*cVn$w4LDJ}7Na1*J~Rq_YfOHXQFiQ!xJ=$}|a3cVBKlSXJBRH8olMgH%Y0`v~kk$g-0>SNoRu&R3sDYE0qMS#?R>Zexs16S$|K z-rw`{T+dl~DRN#V>gT>!)lth*PT$}i_L_@+*)BkR;L7)6j6N`>;Z<4qat?2b>HDIj zTGOy$QuHD^gFBXt`%HE}1CuJa>FGOHfrsLdBj)Yhqi1aVTF#<1>>w=l?-|T#i4QEf zx^1Czzxy6Y)Xi`ffWaQ=i_rZ!jP*Ww*q82dT%z?xaMF9R%)*Z8(o13+9oFovO0O^=@N zq8QSY7a4zwZ+L0G(d&fcHAD)=RL7`wRNgR4X4T;+ zL9NUv0d9*unLwqRda@<>kb*OI0`%2pu(pAtRY(rv@Ezgtv35&s@?NpT&lHh&t|dF; zJvIsA>vh5PUB?5|_UqmmK2d>Zn%_n3-n^jDvP$-?j=bn?nc~O|=XrgRqe9ic5LZZj zS^d^}#5p(Tr(DxIX?-A|oBNhkW7!-mfZMmhf3+^Rf+QW4MKQk)A#ZH@q<*kDV3`S> zW$qIz=+$vY84hhwP6&yQyw|QpI_oa})hJoN677+Ospzxwnj_7&j#|v=^8=FL z+_h9D0HWrX?KZEt(2kjZIpwh0?CN}zM6zd<6xp3qIV`w89i~4vJp+FSb~*mmPs>0G zaC@JikZ>~JD#d-h957xrQrep%us2+dw45tFV&+}u5_J>h{gXBPJ?dG2^@^`bYoqU#L#^E+_H%D^cvZ6=%Pq-w~(M%6`co)Ldz1cr8*swH3Y< zE|AUYrUz6m+r$>DxCb|UH@s65viA(Uv9G_Hos6dld^O7JB(~k&dm%-n_gFQm%cybV zPWF%CK<5EK@PxBCsMbRwVM+mBTuNSFe;WWh#Dusi)v4o=@r>8CW>q`WpAv@BEuY8LAjDXwPf5slD&Cx2pvo{t z^x~>zQ{hr6@L36$5uOf9S7aveSTLZV_#6!A@`uM*espkCK$VLXc0sow*BWv{$8Y$0 zjb?z0M{w7Tz^xwsn2I*e6*iX}7AG=4yG|!<@t^V9As5iwYJk_sSJzHEE59Kv4f7WF zLTxo~ocK?FwYlv81@mF09tvyel=J4o)I|kwuS0L>y~5S2o3`ZEl+UwsB>jtssy?Pgbn`Y%O2%yEAN_cL4Zsu@;^}_qyN%os%)Gz)Pd1yzx=!2Uz_|RRhtJFI90~HCBkuR2E3#z zQCM+eXA9XYuA#bWswi$b^|DP;0T5s*07v`iPR?__8v&*fIC4&K`24 zq=#*Gl zG){mx_a8f@v8l!@ImpLk1}SAu;_kFEB|4P0e#s<}TqQ*{08FTyEH78Q66xqu|C+$;!**&1^# zZ2CC8?PTms|W8hbha|+08SL6D_^yzUA?i z)pXu(2wTrQR^3Z5Y;-bf7?fe8Sz&31?TA^buCyplXi`EN+bII$HYvSiTEeyQW}I@{ zjJCy+PgY*Zy!R)W;KM_MZ{B@@h|)-9OA1~dc!=QTMSvzt0JI`w_kuR*)f} z7W5UcD^)ubUk%JO`E?d&N^;)2dRtjw&zJFJ^ZJ_dveu&3HxV;iTPRCtR_jYMJXKyp?fRI`8j!}sBMIxip zL?eKzliZ$LT)JS~tdNZirTBf;RWWRC^Kv;xJsR z&GyWSZPjE?0RS1myw)|sF9-jvM|thY{`L!Ew`q>;kV&X3Jn#~6Z}{H!?!YA)8upN~ zmfk&KGnwa2M{#rq7)>dz-5j&6#Y8!pp%VVcUl_k>U^p2vmsCam?>hs;`HTmiDVqprI6_nr4Z8=!ZvbAnTOI~Gd{4rQ3u zF*vjqlMas zeJ3-=_gA;2|J?Oo7XpC~sEg)h0?c+xDt7n&hjE) z6Rh|ypi$uOrv38}$_4g-Yc4_Mu&I@9h0;z-LL!l2)~0lK;{zJaL{uyk{`c=!0s64i z&CSil^gUc;V&~1B_jaOFL7%HRex9Q`HObn&`IN(~Hk4PF0{)ItRliXFO%wyI=Rs+! zdtcykzg$X@GSeM3N|HhsvoCU#AYA9Nn#CPef~WVYeQ2;{Q&MK<9VB12Pn1xKSvDZNXnlYF2^wBO zynGV9wRSns(dBH5%vP@FM#%8hk8Z!AKWyct5!wwK*EsQ^TVvrH@j`)Y&R=D6ae}&g z$tNOP9T0YdD5|D)Q91nPu>0UtjZ|Y z)mTUADieHes?(jOB@=cLQy6S-@ytH~1ALATdU6CGL>^K^J!b%)(%+u*&S zU|~M~-FkR{X9OnEzioiNW-G~yQ;*|6sNB<8?@+*aOTKnjHx>DT>DF2=lpkS}P=4`> z1M;mtDl%enS^=J5y{Reyase1&D@2g6c13}Hq2Gr1hJTqqUC^I$#b2!rUM4>S{Kqke zdqcniEHUWtzU8%)A?B1rC z?hf8;^voX0UqjHVzFVFBxjYP3@+sqdKARCb2 zBbNRAu#0F@L}<|(Q-uGqCoj=UBbBcbB28DUSFGZfRoxi(6?J6h^UoKV_Qb+-FC#)( z{6vQO*(QcHxi!Q$2;70!6Ftw$x5BtdH8y01FOBg2yR5rUB5hiiJ9^9afLe;WQLAKI zFY|w6Ah>K%@ci9Q@|^nkhzgA`=ER;}$kY~lYrn?jfQF{A)M&US6W#2Wx9I&+j`}Y~ zZt<7eaQqKZCuPNbIfV)y)qp##=)y~7{CEzc9`R~ejP?F#iHMAVb{S3i7S95vO73OW zqgE-u9M4eUp1ra#y7RUv=5r0B{jp+GD)843J}wnkzGZ4Ro$8 zxQHXda|_@e*UU3JATA803zj9~F{U$dP{~)h%LWKV;9$RZ2B=n`eB(tj zJ@sh8`Onw*Ac!+KBO@@-w~dyBO@0T6>HEv@{pwM=Ryk0#(EM2)Qstd>L!bDQ#={-b zccZ6iJYHy4O*2*l+KllFERsv~hHtQzOy#Tc-G3&9&aHwcGrY`0--_vmN6h56^Gi>H zLNhUlp_cUp0srmp&{cESN?l;bR1P#s>J_-Dj@i1%-DqDR^vxX+`@@hv@qH^1#EFj! z7sewrYQDqpMVs^T?)lNu2Y8@}@mKSHEAu78Sr80%zu&L(wp~#w3+B2mD2GX((-WCz z4jp@ddNu!#Jtok|Z`+&CPkxdB2sqV%4A`?*6IO4OLqA1cKK}m3bOJd>a-L1?oXvUD z8~BUHH%}w)zCFfCetPrqb2^Bqll#m}=^IWCUq}DldK;;XN7v^@dZI-TTL}8(b9F_A z3&RIa@5Gk?Vk4iYo+&)V=7836Wye?11HbZv9_hu?QL^9@-y#`xibtd!Bx!hQ<<;~f zk2iKw;GYYC9^y>Bb)TOWY&j2G#GC)4KVe-xASCqFzD#ib%`e#zK~PU-1Ub&L6SCo! z%{wIaLnX-^@nMeg?8g1DwYb<<*+5l)fH^0E6C@KA_RmlPpZ@m$7lRStqH$ziAxSTA zn)Htq+8@}w!8UygR?+(v84?%Y`}Q`LU!~dUW^4f;W?6c{;H3+3azdMan~nu%%A2e6jp`J-!a=v%qT&Q&w{KZ80;lp{e| ztVHN#1tw68B?R(fYpjIK9t&ipd&l~7T;Gk1CAFrPzGW)wT$s4F0WCK(7k`=t$dw2P zMUQ%9gj=C>c`aa?&rD}Z$^FZ*A0V1}TvsL1P23?EY__^+ks~I1n$0SR>@CM;Yr3liNw))1HVFRgt z_WV4@2RXhOUe>qAA-5^xl%;M-@RzIRl$>XNHzaKGW#5AWfZSvlW{kAp7q-lin}Pd})KifgUI761?D&q%oydhS%qUM*HX5)itXJ^hDrmE~xJ57cQuiue<0p zJN0;f=;Za?To)&X%&nd(Vk$-e*E~``XLF_qI0005rORCdu%y@g#@r#Q>cTqoK2)1I zM@(T3Wn3!4a;xVv;kHC~7f|QfC81eYidaTXq|B)SF|J*`Ifm>+tZs*k98QT;bAv)3 zB~5&$rBR&=+q01B(6>mp-W!0VQo?}w#B%&!tp`q?0y2OHp%uz>Xg?}tM(+IG-TN2I zkcXkxiZ#H@pmwg!p^EONiSR3JfG4HqWdig?J8d1%AgiaI$WvwT4yK zR%LFw=QLOfL67KQQ$92S)hc&Xkfme8XdADf(;sMvfFjN%CBHTD;f$P@mriBcPtvr6 zSa_b?gx{Hr@mE761fNHaAPZWESfWmzS|WDR9P4^@;JIU`F9NRG92`E&m2Uvd9}lZv zEva?XLcJ5`-V1{yW87#Qap?z77tu~}dG+#`ooKQ&;2%lQJ32q{&sRe&px@S56VkJI z4)O~)dgBXhdK^!ez_P9U9^T`6XDlCfXI?5|_)6NTX9k)RmuHLdQi_%y+4}L=$;pQm zOB!*}R@j^fv{)!Ke8?U0rGUU!+Nv)nG)L}^dDGxw0729BK-lGVgIleJ}Jm;Dq#vJN?I9<^!oK3uG z-KzUu66c-=eF&Cw8*pYVcV1`s1f<>mR>tsK&w5JszTP@&ad0>E+`YCEJ=X`m9qn?D zQhnh4TKvC7AN6^){Hd${-Rz0fy3Ql2#3)7d@ZkMH(SiNvDHTS*vWgK7DLeW8Ms`HF z==~FUm(*Rwnb3L%C#sI?#Hl#PYZ<5uxzN-)0LS?dVw=IVxPZ8KSl8HMpv5wCR&(K{ zVR|7}96{5HCi{pHy^(NM_9<;1W{@Xi>p+i5oRyrD`la4e3HR4;o{^_t@Oi@_rE)L# zpug3d8Fc_8I<4k#V64;b%DvEsr}En?Rr$;fv`sX%A@~LKPd3ij8z)G5pZ z7maxeN*kg&Ysu7Ws|i9t(|f0Shen0@&5;s_|K2tG+aGEB zPxjmm+xx4qjJQufLb?N3w$2jTlJh1=_nlut`LFFcu<&O{72kX*lC1go8*lo24}BCo zw-EQblQXFw4Jjl(Ppxq?i^%iv>v_Ub;W zio~c(EwPH>)Dt_$>f%|1c>$+7{>Sj)xG6h`%r{e?^H5Ar5kSaTceQ!l6mAky1hd+A zU{P?RK_q;O(JRC~i}Qr}gLo;5Izksn%7*6Eb0xqW<~i!inS&64OO6%%ql$Ypw3c`d zAeuLN?uw@WS!|`tiEuNVIT6!#y$Y{#0@A37l%hC?9iuvBtJa*GZ@!P?a>M?pwqgZZ%>Do_UsLlKY(k#~q=-HxJ zGT|m2RV*>?Qd_LzzDHXLc*6r6x$H2V338NnbtJ*XEWJwpT5(~(AeP7CGXKUfc6$C7 zEdaBVrpn6?+w*-*zJ5BOLsdss8`wuysJ&oySIhjkgGI8*01-7NDU8{7ZZ!dSQi%Hk>1RH)sR%yx^CS4v+VWtcrgRKW^tKJ6A^#zK`p|jf6<3( zvALG4`#$E=YDk(9tTTO0QK#rLQ7Vg5QNV@oy&bEV;C~0Tt*wbQeZl@F6?fW#11Aqb zj&79jFztT+RmRvE^w(szh}DdVFfsJ!k68A z=)r>YKN$-6oFJe8dy>R$iM}Apw#u0!j=U@l2YYp2-i1A}w>wd9`j37bys(MOpQL--KzyCsd&(o0Zi4^6~P`?z~&bgssBF-uilW1)Hv1HWb##WXeh%^_#e$ zYAK2+tgISaDOhea)J*cSUVmQg$kzI`Mhjd~y z+c$y+uzCCqaE2Bx2^@7sYyY}{aB7#l-CCUV(4F^PkIgA^^I8eO!rS&t)_rfbfAzwk)`n8jBiOhHL^Gp$0C@1Hx!{!UQveBkZ4##AQqoC~71Ee5! za{5;rzin>-LIPaBp1nafsSGA5Qu~zdF>x)EyyW_Um#e2bGDd~@iC1jLT|TN);adi7 z29$SXQ{$8Xb5PYnv|Zo|m(gpNw@We4ynpcqhT^Z(C;zy6=jr2qEWL5}<2VKBw@-mm z{F2ykk%h7+%bhzM*?bj*obty0o81uFb$p+V0BkBjazQ{*sv)Q+kuUK%jLw_4;h`t(H^vLFwo=J1%nmKADWL>3Ibh>LmZQIu@eIT&8K#xhB z_n~!Aj%G^4Yfho64x3@fk1H7<$BE?>8~^_?8Rs4OmiVX?Tc5vBk4Brf9wv=$knWG} z`*5jp1^d95(@c`o2h^u39aBP>g&}E+}QXiaD18ZmFzeB zO8Ol*bbrb*CX~gK2D2k3oF_}b!S~()wQyr?gOrG?L(BNmoGzI}YmiK3ko+1hI-zQb zXZ$8yR=jYr5^<*}bJ<5}cgH%mEa@|{5}o)MzB_Gb$$^80*KsZLlK9J&-Zf?E@;V{h zfmyfo_%(eGwhsC%a5}>JMc57m_m5E6-J{KCdjmvKs;UZT92;1`CMX8=gnUL@~5_rD+m8XCns0Bdy(q20MC^6Qzg zPD7x^Y8K3eF6}$uUG+af&>r@WLT95wY-(M@}bWa-U2CjFJ(f-q`vUvb~7T=mGU8JG8 zxwW6QQusffNVx#e9U3QZcFLByXt@3dnw}TqqJPQ6{QJ%m60*Ml4dyEUNv;DX zhY8I|8p&YH7XW$x-@~!_8+c5BJ}~SARDPT_ zs<$K8iVi$MV%e-(v_pmLJT03FX1a$GY&!!@7NlfguFna&+>FYkZ5 z+MjlOhNhCDX1VKLw5#ed8@mh!@m|9~7)|_$eNB>V#7>|hsb2hHeM9JlY1huvkWgha zYr-akQNSTk+chkMn=rePzU~vVPUuL^t`R5Z#MK=bN;pLoILW-IwZ7ElKG0dcunNNi zDEsFSpa)!JT2#x>if=7h3HMeb&}8;~?&`ObY%t=>WO%njtfRNc{t% zf4~1Xh<@dp@nT%-Um*I8|9?UBG@D7WL;S5q_z)qd%X@EFn13&J7{3VHKt-CQ*y-mz z-6YwPC>9j@1H*1W59wL8*(^hXqyCqa`Cnc=Z6B7|yZIHJ98; zIb4V9mWOjh%Y%K!fPh1q$^)9+#eJ2T(bC3-!}lLHO9+8KBrd7Qr!cl`63>wxl)rI4 z=(>|xwIFd){+G|RO@($$wgr63>p|}6X?bx!96b`k^tS?dFG056&*?)5}lAUYyhkF&I<+BaI)ZBC&5-Xz1sXZt+>hFnd;m`6YNx*|QDj*;5K zkn~VLuZV^P@&ka+AHh@F0g_xh{jg~h<&2{@Q3f|fHiZ~8yq8XNcJpp=3-;i64PV7E zLCn5Z&Onrhb{plxyLOJ&Jlpp*znVt^VRBMrzk(OJwjOZ;A6g;YD;8RFqmdm1?bHx$ zywF{#sw!;YxGd9}J|>qE{%!r#e_s}#k92(=)LJZZ3jpo%S`K1or?x^4a~R2+7y?k> zftY=~2J{Gluskxiv^8G>pu1EW)$R3Ntqjbg!i%K@@nIUoLPSQW3Zm~}Oyc(XOZO>j zYmRli59bkLsWZB8O(w}sc0_Ro?om!~A6U4i`?>u$-Y%t9Kosc9TxLp7}qQIKzE%k{}RshOuaM&8z= zQ|Y`uoMol|P8;@If7xp-AMT3=c&`KD;t;gqST1Qyjj{;3pv>xPGav@P7Da2M0PI@U zHa-r+gklPoT!I}za?N)-R9Pzm9M-FAQ31 zR@+yu}PV5^C2#Ad1+}=f|d$4aJ%DhDt-Vv_^K}>oP4yi4MP;_ct$aeSmp$He@lm^*{uP@_dhKyoIk>*$wj*51M-2t zEnNRXrhod%ztNBlknS1= zkQl(C8M;flLuz0s6_6Ne=o)(H?ji3VJ?D7N`@Z+X{eJz#&mRozXRp2X+Rw8Bvp>}7 zhl^j({_#^m$-F9|C^2+J#z9?*V*r_hHU(xOT^*T@R$~=5BZA*FIsMhN&Qk378743erRA;?|A1! zAF=EgvUl>Iy)3nKle41aB%hLZSEWm!Bu6PmC|Eaz{3#p)E)HB6QaoHwxHDTbYM$~I z_uL5Q_rvls=DiF154G8%BgH>&8tANV5{aOu(!;gi=SP~p6?|&%d6XWQ;H+drSv(v3oXi6% z*yghEZ@+K1-bnb;4B#TIslB5^0zPy%?=AEk5o4z~A=M^Gy5OVhcdo>Bk49MDEC~Oo z{aNHv2sH0*PRS+YgNmwch`LCKyZ~1{Os|woAv4s`WLG1DJe+?tWAvZhzYNp|v$n*0 zoe+7&kMIWmRq=C{Q#B?lL`&_OpNxyRBYR-cWVLa{$&2iBfd|VQ|FbFm0yT~}OUQ|B z*}8ZtFi^X;Ah4cM_aqjQ&#zTb>DbOO%_XcUC|Ubn%Vt4V8%`$6*^h(jQ_4`DMipKB z%yUe>VSKe3AXuCt#+P^A(&eFb!C#0S=l}wb!E^%?-}RFVpnIe{YMKKya~ogMdbowG zC4|4ye}Do?*PZ(Q01Dm;%54p@uTcn6_Q9pvSk=dX!X||TLXnuJ&l-wHr7@yt^W=M#O{48Sexy%p74c|F{)pg*&n9irA z6j=N|A$Tw3f!vG>*%{6q()DryzzCqR7ZC@_=3B9sNP#F)jO0w?rM;CZPUCAHHE~S$ zUWJDgAZ7sd#w&W(9nx_%ay2HsoW5G+DIc6{qY)hxE6$Vr|Be3n^fji%Rf1Ux4kTvDk(UHn7WTJ#jEB z)<_AUvn5})gr6sEOvuh&w?aqh$7g~$q$GAMnx;AWf)18*ywkIdMxQ^e#{Ny%U%19v zK5)a479d+N-pLHMD6!KDUhfKHb|Ax;_W4NxW2r{SX|rpwS#)AFs!J>CbMhOBS=>{u zK{tNOTHbcpzen8EK>==CljvojGoxH^P(fFg*%@$Ueq*b}G3?+8v zLg0{P`;q1Ts8yh(oPwKU6?#jTgS}4>pt?)QzVQLY1ck;;FSAPA#DPol8^y)>s<`Tr zdUCfZ%K_#$3{@m6b1VwPlA*6$_lV-?+pU9w^}il2{lUj3WeWo6?dC`zi@JrVR55vb z8DLw7ZRXi48`?c!ALL$fzfYolFw2GPeD5ct7L#6y1%~19-q>}Ph^~JwT$&QI;LZ)C zB>wC1Gxfh1|L#^`R@$AGxAu1Z&;1^Tq9quvZ(H89c3V58E$s`ZSC%6jwxNG;B|RP$ zb;k%oXQjlXuV z)PCQ2t1|RuBnV(6kJ5JH`Lmrq{&X@GSD{q{^>VE1@O5WCW+Ww|#je>Xoe;D1)^ivl zM*Gtwj+85IjQmt^wyaXeI`kv0!2~=5&TyTOzC|A9p-By0!UnVG)dp;q@uo;#FK-W} zvl-|u73^P>!&lsm&-&x97M!mm?Ey=u1tgC~Na3;n_AV#nRP(SGj850<^V9wI&KnRI zK)mRx7?G_2LVe)Ffbb|;$>*I9a800d%I2H0Q zi{)Pjgh9qt9~>wM$&8DP(mF%UNb+@jxBC>~=5&a0-`a}^DZ(+5XNw|J^T5hiC-U=J zfL%#$rQ@8M0UUco4!G2D$mqPbttEr1l(li>W*4M&YX8TZrJDAebiCf>{`pLuLi_)| zUf8GDF0gP|_}R#?_$cKQ{9IrPuUyEWr;f@)g3ZR*gOuse-mRaW7)_4Ve=Rd5cJ%hu z1v#DNx5JA zNDyO#&r=2ECRH$g0}!E4zQf`>FGB*wAKdx_=&ANm_B1nigAIBLP>R6yfb#=#ARtXy z6ucWY_Uj;xDh^VwJ%ZOoq9tv!plDjMHiFMPD{sx5&iFzclB%5#fO%763JvO1$|AL}- z0Sc*knDEaUB)47CGM*zAj|;wju0wgV%>^K}soxxL6y z)PLq*(B=x~qcp)TdAuC$bd{Vf=sndo?29kvZGI;Fxo|%D78dp!-LvJDzwd}mLChB3 zt_&~mbQxwBl;B*pNXW7rOLBlbu^uW6I+H zA-mT;P({k6;>Y-jV3e-gg0lMGJ1lzFs>|)_<-1lF8{9a{Plh9S)S1OffO$TTDvG*@ zi8&}}uKfFnr2iEL2qojm@AL$J)s{W<>KL!h^-}EcNEA2?((!6#Wk}3Q@sJS{Ugetc zJ9~Wsp0phg0-j2J3T9O?K1S!vtkQ(MJ^KuU@%VKCQ<52MFg4rMiWmLHX8y0;lA4PoT2$6n__ZLWg_@Hk}jbSDUiF zLX>)%-M?ivH{WM|>QGZ}E0i{P=agaBp(z%B?Brp)m&e3n;1BuBQiYdUiBnRGLh7+t z<*4XF2hS_5h3lXXiY>B+d{1DyDMjWUQFGDtu{V#be}>q)1DOOR@u|Zb!$$>Z|`Z%%k_sdC9{xijwr!Ae&h&HZB zK1DiUi&Cts2?4=~#Rkt}1jtufe#Rl{gk8wtd_Jbo5DdEvL6M00u3tcsF3D^{LQS;1K`<<&mecKm@TeZr)+UcD%7pwj#IbvSkVZPTU2 zB;jMAI%ljq0eoWCc64Pm7KcCP_4;(bO9!nR@6nVmGkk**T^F?d1t{y%(jmUdk{N$< znfImrN)_wd1N#pkmb7cxjFu}^WsXAay|<{U#cK&AP`eed!3%=`v#B<`2Ly>)^*WFF zIDuk+hiH;yc+$dieS)<}KV|w%4{+I~ZOUQGfLl|Jg7?CyZdZSt37 z&<&~&UNiD+XO=^>ohMVmMOQ~|VV;z&e+QrZna})|)A!w*oX;8Q7rV~rVhz-wUj#-a z7i;8r^M+4S&J-c@Qw>yF_{L3ykM9UeO?Zz-+42QIIJ6Upw;aK7i-S4U=yFfM*k%9r(#;~lTo=a=QEzgW5M zC(wMp+i4H$f=xX(x*&@Q5TRqPXV*H;1yHr`P}ZFgc4Utds1N7&ex0oA`>$gF`b@xT zQ|O+hP&fRPAfktNBQ~mzw}jrGogA;}Zl>;WrSXtu%k_DzPl&XPP%*b$c7}3Vzse>J z5Xs92a^kLK^4M%^N}&`lW0-;mw<3WaIyfzVTe;Cc>ggwzuQM7CNAd>@sAP_qJDlpR zX|;Pef}EkE$Jw;PlopyRY}>jsezfVM^8B~Tj&SgyvXJXMxByZ&nKAd9KR5q*-u@y% zsD8`J=UK~32ek6R0rmpR0|q1#31ppLbS`Mk{UkK>j#Go{Dh*4btp6D>qO0m zOqI-U=IeYoE!ARS{`rHT^4*((-_4a@-2qfSuAM6rOaHz8{?aE>LjxN};1~LYeE(ni zgzrg~+0^fg1o-Oz*C+m$2=f13pSUy?S65%J_X8*+rNj#w0ZUF>{3~4?53l@R@&sP; z4=kh_?qE!;VMtAbU0ds{yuK;r;d{>Ov+=A&;Uo6<_H4=l)gq%QT0&by=YMeF2>{yS z6^7D~P(T5iis;p6Y*>zI{$D=>698oA$uk@g4;9`NsFfxGNbcY7Ca|pJ_6~)8WQ(Cz zh!!xcP2v1Udr~@; z;ZuI$0e5aBz8yRHD{236``A)jp<0D$`H_A>>RTnus3_h)4K#bYoLN%2_t6sxqyvLs1gj@UXV&{$SCOvQ`OV60WI5gW5pCkG z{DNg7s#X&D=TQOv?k`*xYR^t=GX_sD&4qDIg0cT^E1Wtnbvb|0J0~%7K(6u9+grfL z_Dd+?mmK923fydTzG$n3dqZh8pmLS=p|Po|x{H_aL!;!mhBu*c zr+;L)UEnoE((QEVs2E5}a)q>CTb#=a-h5!2mTun2%N6b^JC>2P&{8Pts7_$>&5zna z&LN&*0+Db0qq}SHkGUJ3p60@#^y>G0pu)|OJg#_7&9Ayg=PFs=MAN$2N^+l;P+9V3 zdM?!n!6=F11))HXqk@t>NP@~lyMHHtZbGL&^v* zm}>Me%*j4k{l^SmtZTBpJl~r$vnG2lj>#^o|)1xnq9q z!QdBCwc&aF{1CQ<{pHe;M6qRU`8;m7@r>5|5c2{#&3KX_MQw72gt&Bkv_x1^Izo;a zX@ihbOh+WZpA@#%5EPqp^*#KD{;At# z|Gc*a{Ijd@SP?1Yy3mu$Q2r?Yu8+H)$Q=n7g=KqV-dd0NaV3&HH?SocnQ>Wj4uiQ_ zfxP)(xB~Z$yt@lL#CiBbg>ly2i>~Pmcav~Zp+g5UrmonvuY7}L4$)XA9YUuUi7Gv$ zgWX;O^-tU%X~q{0s_uLm+^QOheZq-x8ozbVR6ieEhqUHl2s?_7u;hTc7wz<&Jt6uv z%~2O|78`#>S~h((QFn)6qI-M;PysxX97hf3a(D zoEvZ-&c>^@YruLl9DJJirhp%n^7n{EyeTPY6#|&(T>Fm(sVy z@i||qMj0pn90MUk5xztlbCw&gv(=lTI~jf4jIZF6x5w#|d{8m>iX?QR1m?0*N(79& zKyUN0`7$+jvbB^2>~=vm!a!`1hg zqjy4=ftjOc6(deu_a&?Y90jmuz8&b@NB7czq?LaSqM0?@MXR?A-V)8abrWO) zN>dX`QR;)<-Lrp9-pm4y$bdOc*JWw5Z7553QglnpJD^-W;kcJp#_`2T6)e3pXAn7HfZr>6oZi3T{MMM#H!RWCl`=*&YC3IB zOc1rR4zevj(sO9n2by&z1iQv2x_#PjIjIx^DzAw*`{62pu?9zAH^%Vf*!VDwV9f@+2rYC3o?<1(f(P(w!rIl&Zyg zCDVG=$gv}RjYrsoGMj?pxn*gKV}G(MO1ztUspR2#&uO&LMrP}RYG^-s57&}j!iKal{=J16dNR8PD1G#^>LZ`urn{%z{H9A;NW6#A@A`&Gq?cCtkn zVQqJQ>kuES-W`S^=E* zr6Z%vN%*>>10AR#9;5b|L$t{-oJ5lMI?^?ON(Gc>!K)LnI1pI2Qo}P*uUvv+8AW z3Se3%Ey#M^Rz~Asc1oaEFBCCokCIYEjAa;^YqY*m0@uZZ_25OUoq^3&^kzcn0&h(x#-*5bnsLhGXb&UU-(=B zTt=$WHKKEry>Pfq7Rn2^3Nd-tH;hP*2$rBJK@Yq9Ij0oXyNI zR|8;AL#-8O+}(@3FUq<llLjDdb?Tisbl>6XRH(ERJN z6h}ZzD4SRP(k`ahZ-m-%@4S|X6p5laUX^x!jZ;#d*{LC_dS& ztmEBFC~dWoBJn*?{M%&$Ikf$KrEg|ae^7?&2d;Cl`sPLSC5b23WsxiCmO5)a3BMMV z>bpeAX9AaE*z>8h9@y^kPv&i-s9>0cxSqElA`rC{jc?Kv!0BeoLo-txq^@ej=<$S% zvBm1A!AgkGM1lUMZ%#VT@KqJ`g=2g%k{SI9#xD#r5|$-yEP(}*2Mmb*0Xf8B8;C=y zM<(ATBLN>?@ZfXvN-z7n==m%g6EUyaNRm$JuI}|$DQ*6S(t)Yc2-g&h<@U27xtfn= z(kAUft2vG4>MG0Tm=_AqE8wWqQR#QKV~c)n%l*JC)KI=CpK`wqa_VzLYIwTkJ zRCxTmm5J=yz{L!7z?IL}zi~6s{$%*;cI@188m9;M2RKIZ;U*TGEp-7wUVo_bQPDQ>rtzQ%D5pR2dncUq#o`sk2?WY{w zAsTw{by3zMC>L_f_7m~amr?uk1Hu~yR*g>mFy|B(u)mi7r#XDl;MSLz*9bHpTUB3l zgc9`v1QOo;X}9{oltvu*e-X8i^M6J8&45Xt-ZO*UaN7qQyQ7ZxzOPiw*kn+w%epv0 z#2w<^v8{;g3OqvOt|#Zpv&`n#ft1eqZH;1)J995yk4kjQ5!dyV+a?K+yQu24U|-uE z5gc0I&P^8$_l6}-m~2lN-<356fl|zQOxwCc^&>wG<>gnY$8^rqDUCxC#wO|wp3_a1 zM6sd1~o$#ZOJ!vN29xi-{b_-DrhcZ8`8>{_>5w0;z?vwxH`t zYuSvh++;U@sQArThXXDY$f@OS9(sLzuf0_TLYDidP4WlkWR`b4<9OBi$HJ@+56Ip4 z?clv_{e1VqDd8c*&>OnR>H8Iu?%tcu!w{(MAj~y_5(5 z_Y|7q!XNSvxT0l(U?zUe>ua{vBL!>>+2na6GOo`=6(v#6|8dlbD<`*sZog@cHCO8F zj{&Lfb`LH$NTm<>{6@OMx5!oTLLXY^q_^AU_rE@6L%6gbprtIIt1Pi9z*Sa~^(Df^ zWB4i`J+ulOLT89WSLR0EdQStlW!~|sbhMH3?DDSknEsw&v(cG3C3AGdj=!mqZPdZr zy6{^{#>sXT`K|WFYzduG8CBTI@4G(-Xa}6~w*9F@A}1#M7s?Mb^PIe#TSZCB1-I_q zMR6uM5!fo!Cm%5PW_EunSVrur4-mO&MwpvLkUF`~@uxg=CRf#vhYL^#h-fK$5LD== z2FX6j4!eb(kHdf@O0Q~_*Wbg$3{~~@bZR;VG0m-LP{5>x4Erd#;@>}18?OHz9q99- z*UZorG&lX4cj{Bfz^j;vb14Pr2a0)tyhj*kUjIl53>zIofU)FtviLO+hsTZdB~;@D z#NY->T{MYxod!uSq~jk?v4BKf1FC{BIE1k0kXL`heZKRBOAkJ$(+*5m4`nS&p7*LA z^yK?5t4Qpo9X=?yW}mjmg<?HE9Cn#q*K7i+gM{DmJa5N zTtGv(&Qz0v>G&3S0#=5($$L3tgEhm6>!uVxRSa1&j{NP3S>@yZy8IfF5O5%zo}tK; zzbmy{iW04(K$;>%j9s&wAYS6`?y()PU}*9#g$cLY1d0CKCu3=1%Cexn{0UNHnzR$K zd(jcJ-D41j@B%i*dY@59&JY(USj8{vX;QxnJeuX*{lbk<&rkZ3OCKfCfD6$-!S-x*o1y{Vb zRL1Y}G#IHXDNoWCieFv{zg?8>@|tP&Q^VDx-h9+o2n0%}i;=A4EJadq{tfik>UDtS zXvVy|zc<#+?#upC|3msyx#ifM!o}+O6_u`cTAwhKVB7>#fbaM{t4oP8^Wk*%%)Y?e zP*OBvz~H+H5&n`IU%xFvZi1)#2dz}1>BXCc&@3i>%Xc?QU3EtgdT(|~OTLRC{^HS+ z^L^Axm4+aY-@qJr`p!g;&1Crh<&MW(S2Td&x@&7Ug;L3NpZHENBw!s@7q7GwP3F>BA+A;Jwn&mIhyH(!?zDyh(|k2Tv2U1wvaS6 zLmCiDTVBgaw9a?h6yBTc%akdUk7|29mX59yR}Q^}dChE0BK*(m+8d0Vy|x%LLAjXw z3qo~5@67ig3bJH(o4WL3>3lT<7hmnDO5NVn4aar}9s?6q#?L2TxQ`;SGGB)KV5)PC zO$OXkqvHpyI1n^gT2%mB@l3Fl+NSR1X{>%8ffX654JTIiT*mZ-k4N#Es}RW^h5xVM z`F^Di*TMe*VQ;FKEt6QZnHEhLms#EAFj~z4*S_uq>FzO04!Q1ZujgVyU|ma}E^_)d zO_^2)z`1G@IvxJNj#x#5?ZTh*_@p`$80GJ}dZ@E^prbKn5$xn_U=pR>TB-RQf*5Xf z*;aeFXclfOn1s}aEc3KUcC@rbdXOvLJ>nu3Q_k}ZRCA;OH97?WljyHC-Z6P>X0o?C zhtD5GHi+4X`X>V>7BUI=QiRKAGdtl1ih8`d<`@eyP~`}wt!Gm<$K5ZALV<@PZNvG6 zp;(GtUBwz)`wPWO%rl-iNzYIc*UFqyvy{QOR12*>3cWfsmbE6A@{q9X2)XG${Pv{ZFybEo)e2E za;5Pucb~f}y)WM*>?_-3PKz)K*mix=h8D-%tByFbVvH6YXj|fmY;u-K5NH%_yK8O= zmy%;W7h7zNAS9Bv*N&ex;=z?-lgb3ZtSK9>pVL@r%exORY(-)hc{-NnD_6gSbL&n( zn$_ydH6^>Yqxq}gx3?8m1WS>LiF7JU_AU;#wqn{k_M0*lbqjNQ@4RmR^KhOVz_0^d zOef!+t%XcJu)Ubob!jv)cDa!bb_=Tj3vZ;;9bGgcKOIlh#V+XK{6I^U)%E&Y{r8Hf zcSUC<@x)oLu->Ik?FwPrUQU(nRI3I`mvh|lNVyBHW{LK8?>#r3Eu#}ZGBD|JWGx2h zzTWA6hIR5aL?}YFbCL@2gAZWZ;+qTF*DNfg9WryG<#nqC+M-${@69G ziF_0jTCE?Es1jJJh5wTYYfxg<0;l(?s>9%X;X|CB&WG$C<$9w4-Pch|^#+uW`_WS^ zXPS{8hdw=c72B0rUFdQ>>0|!UC5MK&#boVk$}Pemd0%6cp;hYg-0HfoXQaL84V_7l z2yZv@vH2;5T%y!MA#a=!2bANRTHg6^)JFp`P{Sm>{_K!Qj6_+h%nr!1E#OdhdVqK) zdr5s#;dSi0(S|u??b+G>OvUf8CA~8!m)rZwRYI*Z*s~$@qT*GmD6e(ED%0WF(;O4i?Es_xAiT{JN8OC9|<$N`?ov(yng4w=a3V} zlgqpFaA)L6Y9Q#nbZj3zjD+rL;T#Fv>q95OM(!P#JA4#Ll+4R7Cj4P($Z0Z1e_VjzyR zef5dv zYqoK1l{djGK30j7KLTN%g}Z1&Sp~=Z5n{c~4R-Dtr63rS06Bmv(Y?G`{__cwvpa8x zu*14q)?d<@Q!?)Yx!5fuYC~gI^)=FAp2JR@5+ReE$uY4_@*qHm1Lh4paPeETPgBRTcE-J|Wsv$O1}E2k_Vzn(k@ zaG@A_ZPzAKkm;C2TQ|_Slvw&R$B}goAT={VWq4IzwLBv78dwRltlvQ}NR^B5<`&d! z(z2B#?L%WsLH+BZa!k+`o0G*#pBZLwS}2oX$KV6>XCj_sdcxTawNT%N<-Iu@;^wKq z=%FtYJ;v;AY-uK17h~ahGkCS_W%8bUxDOsD?0$|TV?SAa_U-VN9xO}0RYc8c*?Od7 z53JiK$+45gL_v)(1EMU| zyJOfS*PO8cnWGqmh+%_|@hRy(f9Rey};hm?6{>$%kLj{-O5Cx}+LAr!YT0=2`L0zYRO|`00bsh=W;D$7Dcdh)=A*Cra6#A9E)< z(plKkg=q0mC36x`4cs-FJc4yD+t1G}veCJ&WJ~AC=1FPUkaE{Zt{bT`ebd18U#_h+5IG zGcSE0_&|{`2F#UqRw124uLZVAMWmX;ZO#|tab3Wsik`+Tt8FfGo@$wv^aH>@5XrQT-KWgjP5$4P0)p#@z=uD{EDEeGjXUhwA*;BV<~!+9sHQyhfc zv9WoOP?W{{(y?zlI%Rf(ynjea%yG9(c5o(AP6!*B#K{frW(R8rnhitZbL|4V?b{*H zg<*R0-ZW@2zs*r|}i7T4_ zTqRY$W({~YH?H6b5Wt=^A0t~%aJ98RKd0sk3EN9AHk{xm{-KR}l65&lU{?J4r4(@V zKc^1w<=n^HJzi&H`X|jm!$Mq$*I5iDKHetRcHnpY11)$}Ht4h-W7O=QmUXd|HzmVZJAJnz<;Ggmv1wNLzdsLp@Hs*Fe2v}f=-4ZHJ7n#m_efP43j3IMt-MBW zqcO?e?yl7^NH=8Qp2)k7CU?s;;3ojt%kLZh*3>8PNa7WI$3jQ8mK zwF?z~>KxH9e07c`=;rEHs=p!+-x3zrK6QjDO+s?h+zpOnCg=_01)=7!>!unk6~j*Sp6s z#l!ypeC8;C>jw0=`qbz~qi8vKiVos( zLs!^<((5}#!=L{$lCRxcs}DY(?;f0&&wdMYTvuk3taEytJ#T0Ie6w-!ApcZCuygRb zx9a{eq^@0IPT8}5)+(&Qf9-_2muiLVggRwV4|t2a=(eOhYpF5(*Oq*ZPjR}WHTh&T z<Ya<;TDw?6R+A+u1ue89KXCRV}~HW!T%} z$Aep$v#R1rV&9!RTEifv<-qtH5vZNS3cPB(L~8zFMd_Z~$+4kT&|zxC>w_1g zAGTi|=p}w<4=zkSY@e`)*Ar`tZbj9t+ei7xmA7T~4Uss8Qr{LrOP$0CDbtauNAzU ztNtZGKU07Mq&MfAjRMgXVuIqUYjq_X4zJonw&~!Ly*YtJv=0@Fs7RUC&8APa#y~)H zqRL2!NEx!%KGhf@yR_3jJQG%7abzBnGiMfZW3MwkUfcD(`)He>#I7I-`FhdXcdOxo zU~`m2#+vwPl&BjglT#B=CmJ_tt?PO2!J2(SIknv-bXsbA|AjN1(SiL5x5u`Vaj~0~ zFn`xJpdA0kJQ4dpCG+)bi$K>r(=R7mBZNLq)~x;eC#>=??beh})WY=VBJ$OliW!bY zzJ1K$b0=Y`GoJS+iq#spb2lg~?!n^IZb^N_4b8r7R8u+EkP1slKT~sIHkX=9-UU@q zfEVdj5&GVUSIpmJuH`1u(Jk3mJr-f2AXV%xLT4uHLA9Nk$sE*RV(C=gbUMW~JO!Tz zT68xDT}#_tASY{wOj-Ajd_$cM$nBQFUq8UIZAO~)_QJ)B&)?`q2NC{WQ%~~Dws<66D?pW_;BEf#BDU3+apBqTCwl9X3u8DH{{Gh z`9iG0@UpOz1bO7j4DUB|wP`FAKS_VYR9X@2UG+_k z=ceR|WDWaRKJeHsI>smtpErp0vD7ckyfB<#DI)>r2=3R9TDKP&DmOuF-&p~qaOF#q zLZ`f}PnYA#T+~)Hbx`_eCLDwP&|U3u$^D{l-JjW%aZbCUX44Dlxqy`I&UvrxvuT9R zcyYGeD32l;wynfB&A|7rM5$=jAiCkzUgdX}aBXdHA!{0;lfqJ!)l~6 zP<1-AUS)wvP^y*Ez~YPZpW1i{yf748*o(*cIRX4zE?$~q+Jb+sgPGJbiSqRutPPY% zgT6|Kt(Ni1BT)v60ZNlV87M~E@GyUi5W5{F`h>C+WRon!3|8Ar3m7Q*KI z1eok>D8*fj0@ry3{tx+D<-V@Ze&F3})qsS}lx_u%HcA+WpdID-SbqH0G4N1AJC}Di z_jhhT_-wb-2R+rHj#%;RaCJs3%zgAEisy1|q;I$P?3q|Ja?*}I;_i6v_FjrANZ)~E z_(w%SJpEa3m1+Opa9YVCmqc3A}!QA->M1w9>Kid-l`3*Z!}I z;Q~5Vj0)ju=oV=z3CDtuQ?1WWujUL`M9^m!0>7pHG_5&?Y_Ezv?-%dmOC zz{)N`i6>yO36w5_+9Jk(%r1K#EWAQFZr!QxI*HXjOPy^QK$ew6DOEb~8S;LYKyc*t zAO&Oj_~HNoV(eNYVT4?1B^(2rIS8Vbmq}aJ(r%&Gd^IinsLjv)&&tBc(%`;3J0LY6 z^$k?nHUyy7z;c8erKo6M9NmUk?`X?+udA~okOaR2ktwRbC1wRAo-T-K5ZuN0)^XLw zt>?yA^V1dn$CaxecB@+!W-!%@Z}kSeJWe3)1k7Z7NE>@1`hLUxCXpOBv81?lM^TQ+ z(mdi9IwTIRycBFezl!~d=)O#4{)MvE%AoxWM5SYfl!`C_T}ci35Lu;gd=Y+KJl`nr zI`fec8MO=xtiWn02MJFT7XfW4_e7tN*N53C0`3n_UY6zRuVL060pjig}*v1t5i8;%Je?Q%$v!u~D zLUIfSOxT71V=rlJeDxb=_-xm+qr}{EPYE;y*7Pv%b$NrFT_f1@S==HK>pDIcrp7QB zonDWfb455}dZK@$_H{(Q9*=b>e)6n&(sX}d8=x44w=YAfR1xt)7VA_wE3-D*gS30; zjxK^}L>ehI32Ab2sbj8IW2}~GW7iKpGdw==pe;+CcX{CxXr9KMS?2N-&XN|n&ZY}I zxi1Uqd?J!^=}od88toz-3}V8k?cZ7i+}deGk!{7gXsYi{u{TeUj74b^$XlGP1Jmq-Qld+P|rC#W5>cZlIKO48W6tgZeJ6)lTzki2YN?Wf*0F-d+sb<#t zU>Tbc8;gkq!8witp3g7Mn`nLE8$&B&vW=X4{WGV$XALying z^tV%cfoc06lJ4~7^1ebIfkSpZ?>`{|)RekJ#nO`3IFk%=L>p7PovKei**wpwB&X-pYMEx)UggFVs=BoEvE}0n%5L;Lb(H1H_FxE|LNT}Q#Sm%NwuASzcXh=0&4LLl(#QwG ztQeK~!2o-Ls1mt5tsPdMZd8gKd`%_cz;mJP^6H$@Z8!Bp3c_rCl@|l{8^k7(?81YM zDKkY7IWG*;!Zqpuzo5p^a&aar@I2B^?#}tl9??J=#VtCzMi}}Ap6GVczgomHJ3rn_ z_XihyyWmRhAu;pkgi}j6`YTIAY{fGIWT9CR=NwmpIJp= zmC@MFQaeZcNHAex3}{Vw1H22*rU9{b7Y&3=aX^V236BAf|?MBYg2Z9VvP;5+pMy>7D3(8+u&5`S;5mno5U|fc) za@Kx=1@qrP+$V5>3xo*CDPHTdQRh9Z@KK5^4pZqvw>L_1xy&A>;l~)sorM!V`6d~r zfF9-JQTlejUm^&IGcIeL=5teg$pM-iPg+WG&!dW-CP@vz5oN4 zgS`1Xd@hlH()dwbi?!x>o4u7dK}aYeE&64pUWYNif;{cLG_-GZ`#nxq<3^9DIz9@< zzce|wCP^1zG37rSZ;h!BL(qSMkN(vS<(f-1(9f@k|9rn?<0#~4NMzyM{*qQ8{M@%? zPO;H1Q4dThZD)6{=xM~yyI>?Y)*857IWy0;)mh}tU{q6yW2a6XCwvKKo>=XV&tln{u!j(TBkSb3{sQLI< zi#MPqPo?Y0dmEj&BbtdKfyBt>B*}d93tapF(NwW00#-^e&c3y<=|M z2Pfk0^y0M&js8VW!>*qMs>EiK=BFZ@?1|#On_#GoatfXQ6V&?J9W3VrLTihpinqWmM*}Ur{8U~hH`m@u#)A`Ud_tG zD8d6v$kt=Gvksq)Ar`6knqXI|Ck%Nd6w_Lb)7OV*k~34|L`uz&X=e{wt1v^BgR5d( zr>-4wKB$qZ6~8FHy<)XYL;xV|K=4qsJg8YUp!K1Z8)Czc)(%`2+JU{ZUyQJG? z_S^`^3tFbLt7yIefdU>CL+{f!uCh=$)%b15{zZ*MLr5h{luL3957AgY$LmO`r6#fP zpUN#NuwDRc|p;GA|vGedf%%6&=w<#Dq3sOfR`BY2u2zUZ5-Du9+1n<{dDKa7pWwm zYc_|WIN&ot-qBvl#M17nVHkmm@WNv@KNO-yW@%bm; z#@Hafzt0eTx;*bu^*HS3U4u&JZB*fHd|l)7MfJ!dye>~hj?T3aum>Oi;JH+K$9_Og z47jN|28p-u^q~EH*L*EF22iN3yCUcgq)@c60X?Q_CgX~(4hpVCi<(foddgnp*?Ds< zIagtl3&2iD*~XD4!x9f}%X0o|B=m824f!KnIJ*p=>rwn16kHA~3t=oA+dST88opeX@=w7=w?3$Mw!7B^qGqQYM z-|LXgprP*5>lzbtC}T0|jvnCYVJv=9w7Gm!6JXUzb53Q1xc?Oj4$-o`q{b~A0_kU^ z39Sl#PMya|tMMz8xe9V#iVV2_+&qV6)A$XZ;#EHRGpu@oA} zFZ1Q=$fNEWw3mf-_H*&KTut}gcUZ2>BIbV6P`IECOB<1ShD!^ywTr5(?DY6(SUs(F zd!X1zsk}OYt5PEutmp5@zRQ_e+D2~i*x{)AeGg`NVb9t;JLrY6NFFa2`R57y1{-a= zw}a7~X%zQaLypVuPY`NPNp=>s`+4rkeHwDv2KSkj^WhF!YTfqgkSz%(>Mqpb8+qM9 z$yss5wpA<}&u$JxN_a3QQJnI`W%{eVUTpuNxiUQGp7mT#Ha8BVyf#o+0?2JKKvpH~ z_d42UC;0di23~YuS@oJEHr!WmM=x zA5OV6Oy9g~hdYwOPQ0zE?X$9VgJ2^${_RxyA$p{Y1v4nCK03(B)r?AQwDJ))1nD20 zVM4^QqiM?iZM=gn6dGlmRdcBl_eV3N(Ue9dw}%xY(QrwnpEib&xKVx(zX9UD5s)pg z6mH4)4#224inZ#=0FrjzL!jBGW{hUf=U6GHh8(RSv;E`R;!6|Vj8azn4AaLry|p@O zK6H0g-R6#>j_DcU>o$LYe=S}YT6}#g-gt^Tq;DqWhM!qIc0+6eDw1gr4pX=FR5>7vpclr1y#< zRA*<)|7BrQ$yIo#GLWj8+#O8Chs~!z70q}Fe9h*ySH39Jj_h(`HJg@A8JeN^Q)jV;T0$v3bvxK0NDF_9c5@`bwgu?ig91E*+ zc-z21V%3y9B&K^S1P6z<=4>N&W3oSjW)7Z}3asxi*Hey7Q#(E;{Zex@e>`X@9kx7s zK3-mnZHPFwu?sGa_=O(6aGqy8>-i0YZ47ic*qB+YMy@Cwh)70mHNb6N_ci`M%)NJ5 zlWE)Ti#m>@2n?XoVFU!}y@aatjub&^M35e8LMJ#XU4j(pMLI~87J5`rI+0#Nk=|Pf zHI)5e!+GEDU2A>cUdKLm{t+;Fl3e%w-0gRr=Y?x4)euRVjV1f>>Cf^rLOeyZ~#$DW)nNjS2buxSAH}>Ui z%F+39x~seH;S(7F46})2L%oAJ65|n$Y+z_OK0dB5TJPF4q3@v30Y_g39T3*LwHRfpW1B4AXO&rk14 zO$&)0sJ z)1dc!!ej^TvI^XX8pZ?!DgByzUq6Oix8k#t;a?(CmgISk8mzH<9=E*AfwCd1UN|qe zRq5Yw@QMxavqPqCe2qtN4Fl1!71PhReWKZPae<+5jL`FFW2f2CY4{?^L+(2ZTo(C2 zRjTh&ab6==Vl3An?F(zgF{An5CQ^K08mZpoXw=bwXIo=pEUHY&hLcN zT_x#u@NpTtGBjSyyvAorPGI$Rf?{@iyMN$#v*C092G2EivhP6ZWiwCnwBj%8dnTZ7 ztU7X~?vVf)b(`F=p`%qbrp1+%duBxdmfQGq2cPbAZsap~j`f7tFYR8$4>l$N2hmG2 zo_$AJ+%Irzdg&Y73Y_=}w;oCS3*7Q!#Ui7R7EjQI;M;wUbJT|?u><2QKLOXllF`~G z)0s5)-CgMgK+dPc%vy`y#}tmId->{Ly^p{Qb`28wdibdX&PSF@tUMg&QKXSHh?v_< zo1%}IC>~B`f?0CNQ8?^`t75bQ+ll;B&BvDp2_&_Qj2tsD!6dM7pk!75(L&zL0H^vf z5vT!?xICl5#6lEi9fi_p2(V)sDUBG|Nk7J4*7}{A?iE*Ug~aAObPCG+H{QCIo_T#8 zdz*xC+YI-jZiaBxPaXiJblugIW6Z<#Gd-PhtD-7)?abzt@_201uXOv<6pBx|G_u5-_q7cy zZ?1hIJv-lrDsW=ZuTLiPiC%b@aC ztY2$S1@s!E?750Li^Ybc@@d!ESwmkH+f13INvS1jIDkx8LrhO9{5_6Op;0&e=KyJj z<@Ct`?Ec=Y$6?S}lRJHOHFT}emvr=1KWwS0{J0VK2GjzQ9I-_a2PQ?G^H|2&`SS5XRxU%`W!Bf|j zL(@r9yt+B4A@EV-ScQoPQR1mwG^o5j_vBIp&Qfzh++jR?z}1<<35`=+wUguZ{CKc@qII-xD4>_s|_Ytv9+S z5GOW*9K!Vr`USxceU1o0vtEi3UDd-9WD1d6iUA>b0}qtp(LiQ{Yvz3%D1@DvbPgO2 ztShyS%x}rV5jqny%r2S-Nrng}DA^8%=N;ztt1nqkbv4K$p`ym5H?JdJTdZ+)FP>B4WL^ohg)n8vgTREbMTUReyt2E91bY9 zmHUoW3yrDaidPkX*+tXhfC`(yWO8zx>bKZ4P4U_l?W%ugf-;mC2wm_%QZX_gR^!q) z>E^BZF`sq_wOt(OU4KNEAABRnq4rYu(iPe4Res=9jdO`9en@EOqDW$Rb=N~~iYsp9F!Z=iwXHQ7JDcHEUa*hQ3$vesZM|-riY7#C||VsI|HZteIF28Tl+>DIOUsX4nVOMFkrQ zd14N6HQryiI$VaPq8&V*rzCTQ9))DQ6NblHR1_BHt*>*JufPOWCip)UZbnWo$m{d@2}O z=#7$kfE)iF%mt^{onAM)JsaK%?7->f2suT{K>bwB#%=BBX^z$H{ZyCHd=D&jy3%O|4T_GduS2(#*q&MVfYvd@dQE-6_uOUuy7GYSs~$R0Fyv;LN8z&5TB@v?HzHE~(&piO(L%!qZ znpGNe>is0I?Drg^(wUf4y6KBcDT$dQNpt!X1uZXZTxgAYMAErZ)z1B1ePKCo@U>== z1}4S-Sg>kUyXDO)E+xV(ooknzVDaF2(BNX}4nm%h=SS59!`9v&LIq>v8kI zUmtXKm4-4KZp9EaR@JEv40;UxM+!FmB_^tEKS&#r>KP$2_&Izk^{n&VnVJDc@5236 z@FBz!%!N8SbU6Y3@S7bWy#`||+PAhJH|(}sVvrh&DW%V2NRD16^?i4+fw=~;y)xEi zgmKU!H_@rOBuP3sPZLihgc9U6mLo4@ORj(JY(bg@bzc-Kb-l4L$?l_66SZbh3&{9N zEOpH&(-4YC6T5{}C@dewa78l7?_#;x%*cpKLA>v>u8xt~tV^y7qyi(QlEku)ReDp&P^lz0`IvMimCVQqb znAnCy>eWCs0RfYH+>9~$15(`-{T+ur!xUE`FxK*h(qrjLkyNW@-a-abTt|4@21F|h zSlAe6-3GvlfQ|4~n>gYwj&o2aE#8xU(mCx4?KX4g;csbtT)VLaL z{DN|hc?4t!WxhUkmqHuKwVGs>ocn=ShAtT1FmNwL?iBQl1%?@L>eyao61fp$9)_b` z-AEf4?NFV=th&X0b>zfM1&uG``{y4$;>idPrtJE9ivQ;mde!6l@j5C*Vu8HAuT8dT zYx*Q~NzDtg8ThE;d7adlds;f>GmR>)P^1IScmXhH$zi6O!&t_twZ{USMC|V=7>+~3 zN|ugAF<{Lt_t}bGZk5l_)P1SaiS&8K(7)89 z0^7k_Z}Z6?3;PsraH6Coz~8TaVz5-~N-C^^b@`#znixwGa$(#~BEW=x!M749?hr7AbNJHcM^n9cQKlYlGj z8gl0Nxdg*f*QU;IJ0IWqv^He!d2#V zB`rQ(x|~xmmMv)O@f;erkln5q5{vFVF71ccTBmWYw69*1pJhF}`HJ1orLM@+y6fKE`Y- z!PAMekT(UArvq^S99nSku6GRA5u;fuft#ASy-GYxQ8#yBR$CS6)k`6P0W}K(wz#O* zXg%po&IPl}A(hJ=HtdM9ZiAWfvNK)yQ)XvupYE#peUKYWh-$4}Yg)Xv`@nVaXo6nuxRTx{59yNY zl|NKk6=kN95um69T>UR29?Q~X)>Dz-LZk6)NW4U;S)>X3njjQlOBq-8PlcH2iZ7tM zvVs@+3QBzaxvZ`!MvKXgz2v?m)pB-|Jsh1qC5UT>7zWg`^b(jb`NTCG@OJ1B0*(5X zv{gGo9Upo$&&B++!L(#jx{LfnpyM3XJtc09xrnRXIM66gz7~I3 zMXOx$R5UuAycJxOv9FQG%$ne>dzTSsm;!qY0W!q_!;Vc6MIe_(^Wd}^m<4D+j=WeY zMs|x$g_>o#DvL;HLiW~)cC!ctK#LwX{X&Zd78!nHoB*|JBz1jg_x2nd+iA79C9Rxn z4D_A2AALuz51_X$x2{{B5IdX8x;-$RvGQt)-5JmXX=93gn%^M)I?MwBb6sd>X9_TuVT%R#yW-VK{6T zXR*79J6FPm{|nXu^1>OnbbIK&ryOw1!ut?s%}b_Ot~Hq-KeJ%eVlGP?=pA3Z=jdp3 zK%&9fb+KuErP6fZs%|=%9WNU#XQR0 z&k_0$ENxXJ$s_~JVHDFQj#f>!lAs5(%v_X;i8PM_nG|sBasXIF zjXTGfF*jaOfb+=3x{3E0wZv>+rO@&c;1C+kZ)GRB^77_i-w_f9EJ#>?ATbLu7*fQ^0wg^G{KNki!8A(&#!`=Ne@^!#awtm|JHyWDRUk$ z5WPsos*!`eN&N=ua!9U4^_b>}?yn_gFK#Gu>{%m*RBbk9px#mZ0$ggw2@!u;=7N z=25)qTzoWdG!W~qRfw8uuH{ywIy_k>#3#w9MnBfQi?xk>b{|R=c`mBnCpfBS7&yC^ z4bH^y4ij{5L9kP*l2|i+ertCDp3mzVM;!W|epy!Jwvsd>CW;*>%XBhXf$w1c9X6;F zTXnt1wNzmqI91UBzfj5|KT^PyCbZqgSijCB_Z&BAo_SWsxyT#b8?CW=Zp)%5^tPc5C#hjlIbVfPw5^EJ#XZN~T{j8c6y%~_S;rWOhSOj5#ObYVS%GsI$h4PR2 zAsJ`W(-XH{06(w0pV~a^`U8nnR>n^T6#Eprbk?1pHSrFL<8FIF{d#DV*HDsR!djQ` zCe{Jmda9sT0v=y@e&RD&=+6V_D8rV!qH!;ahp$zQP;kHeh)iycQSx)23xZyvMgtkk z_{)`l*JJ^6`;tfi_p07T{AQt)77i{S{|ufwjk)VwtcamjNk?qs~hP(3LVMe{d)Fl%GTZKRd z>1w=Bw>%Q5VuZ1jl6gDol<&VZ$j3Hf=`h~MRNPceaS*RPJQF4uA$nwWcfnzM%S*Ui zM}e0AWpr;YM$%o5s4wJ-1b1YIvoAfU|Y<%m7*as2yu7U^BQL|4EQ9%hHX-v0H7+ zSu<(ciLREE+Y$R%Q7X;ORnVShwrO@qL3JXIMNxs4#mZehq;SXZ(b+)$dh$GuXO4E{ z^L(3U=d;KQEBd?3qX~xu;{W7p>wU&`*KbX;Jkxl4v~yK+fkH-|`w}#^N6$sgmy2o{ z+a*y@4!PUL03+v8Zl|}HE9)3fsg76vYmvQG&HaM?7HPnSGRx)KI^vqbdS|UTb;Eeg-E@o^db_lVrfbW&lz%Z7tb7b0$+i- zGf~?qk5>`+<~Pvdm&De#hyttYI}UFbzqp-#&kweH*O3{e56c^n`UpTu+j!^#6Oc?4 zjbTo$Rb6yTO!6tsP9v=tGsy*1SnKc0RUXyW36Q{yoIP7iAwEishM`P}KArD17e3I2 z)m<{#`r@MN#akG#U9lF_YKa+xV{Dm<3a|ZKGCW}jCH#!qGdENxE@5!u_VzqkzqULy z{=52zWm9(#-`H{$CC68DT!!R#XzINmaMuuJ6&9}UarR?w+#=QEXSyL%=ty8v*e+c4 z_))LczAB9fmp8=dWlfq*I;Be2jUGIqHu-8#(8*|pMn}({Sg!X_ z0#+{e{@`Ze+(k1_x(YyCHeT7iUE2>;Nlc7E9s<9Uro|2);(#EtYk zkQW>@V(4=aQ#%m^5uKQE8Nc*Ps&~S=-#Kc+8Nq}MYt9y)Dj$%Sn0_;O{hf$Ya`pA{ zW{PJ|*Z`2>@M^!-?#{<;qeHo4`m&#~2Y#6M+9CYx#ydJ82|q^zk9Kr3*PN)udMGxW z@i45URE|g8`X+fi;pbmo`c53^^`|t)&v`%E?|3@(t-{{&KAifW_30%@YeEQyJ#4YhLwj#h2|H za3)j|+U|tDiOXIPTT&w$0=?n&b}l2Dh5Z=mh~j^0r@H=4{I#3L6HN&|D!RI+a-!Y( z2a246;E6Z>vUEiCSGCuVcdrxRxij6q2xPDL`p$}|Gsc3EUKknRbpZ4Of6&|u?)WPE z`tkHH07_T1qfjxGt~=VK8I62@A#PdEi*Wc2KpP$4A2cnv@0?9h1O&j^_s1)L{M&H# zpHDgc`yPMQKR(py-@dequAayF9d4makGD@W4(HK+_)xlEFMj&0cWAe+iwnJu(n!Cm z3q)UfO}Jz2Rto!s37*^n+I=JMY>)z;Tn@0yiNzgPd^2%CptXopwZldGb$zm3%HqpU z%7)fMu?GjXb{F{8I{iq_WL)5nnnU^0W{A^w`}$~32DsP+VED=azl@tU;ijl|hSi%w z045ZW&{Pl?@m!6jTc7hK8r7d_a&T`0!`=zFJPy^+l?Et^AZ6q(~<5sj51rwk5< z?}wAdTH0NB$By@{Hl1a~vPn<)CD?8Ff%kV>`=aWxu7E)4yIk!sY4)?U=|y+7^`+6& zmYTrz8ht>6_VcT2Y(C?@gN)K}9rE;TJIP%zQex?o&;Z>t7QZWq+niyeOHu8?mOQ(I zqJ`ir@NZjozngl9hZ0!|JBsgH1AmFknE-;~pL zZ_SQ0Dihonnb{L_D2fsfixU(~S3efpr!G2GDj8xz57t@bsH~y7l`8{)SZUOJyxDp? zRU$qz=1@p&p_SVmtBZS4-n-io4F4c@{2bKPBY;iuY<8G%2G#BKDx!6Ly4f%`qh2Xo z?rWMBV~wudw5f_e+TuyzJ}_NJMRm<7cU??m?n9HU6K3l%ulB)ZDyP=2k|%8=EL0%V6yT3{`h){L7j5KbO-saada za|PZcU-9~YR`O3)KnvJcyZSLopP0^`8D?+rp82%`mY#65f<$YC)h$DYB}s0j{Zqi! z+f=iVIS}Ns-Ez-ans6ORc?X=Ea%G&Wj_Lw1OU-Qqf5hp3x)ENW-mB;>cT3t^BG-|= zf3%H!v{z$|FMT}?m=7Torj3@6uTnUkC6`w}_*&sq$X=)GsJ`+Xo1bS@U703|bC@#N z%4i_91OeO#Wfrn?0BEOw-Go^k+39DcK-%d}f)8iBU!4^geAg%eINzX- z@eC*UwNvvOG`gPP=ncH^%k0je3 zBa@{0bw|-3@cm0jmhEJw!t{)_Tp2R6<85HcdA(m+PkUzGqxz`Ar{QUg+?sN#PP_AS zjSq1AMGu;CvO3+DZOSr{#DN@)nI9rZw^yi5mVo+kkCEx5R$ql$N*{pwagA3D0j-u} zGHbpMD?|*U5bnwF(Im<4^BQ$>&0!(c zHz?Qel43jQe?a9n*E8G(EmD+BhXM=Rw^S>`#&yT8q|Sctmp&Xzt13P81;?>b#quoM z6_um<`@wZDer?Eqn65?>eh!`odG`jEj%~GbHRM}ZcCV2vwrK?>)`~vT?ZFP9=-0M) z+{IW7lWJD!IWD-~>C9->Zw*{exZie}LWhl3T9#quV`(m(W}hd<@J_8p3` z5QQ^ag+b}JInR~9tU09R@P^Avt)9v%nOib8`QW080L6b{ zQ@ExK5OMsIEOc(8ig2dp7ECB>HT;rd!F-*m0K?lNsdT>UcLY^%5`02yoR>cZ4IEYZ zU$w5O7P;zuGhR_4TJv$NCpqL4gW_VFm7exp4z{G8WiRIOQ&ULgU*SDS>y_&k)=I@# zle)(;eC2-g2F;QVk4{}!`$58<x-0!k(Z|RX)jhfbLD3TOLG8aGq-iI>ns>cEgx5|_^M*I3yV@m^tm0~ z$OE}DR-B!<702kqAOJk~`O&L_H^4 z9^_3s>4ssyT=h>PC|my^y9+DE0wT5K83y3*kOZ7Aiqu`C_R}|S*0De2AJah+&07rw zRs{C{ygxUzI?$Jg3ZH<31e3{)2FiF9Q_+L*Ct8)3LzqRQB5@{Zap|NOx&B#K4xi@% zmkZk0L;j5``t0C;CT}^VYu0`Rhc0Mm&@L0vzn5b4 z;ulL>UrEFz1=ywVlS3j zwtQXa{DcTie>;)$K8E4A*CV%u=!KiPhG31>nra#mI4X6;^E+SyfH7q<1{L4E}f~*huZjHPVRN~{E3b= z5l0AOyWVzSv#9pxX7fwYzp3xsfo-sF4$1kgt<1m(*=&gv2O(dde#wlU959fG4!RA& z1xY>hwX_To7V>wPFN7d-LGXkJIX`rGR$-0ug53$)2Bpl%kqG(dp0TXumM(*b8g7CA zZ=fSu?|%;+AFcZKY3;Xtd`!opBhH_G4R*;EQY+s%qSuYpH(dZ7ctG>mR16n;B>O~J=uFE z?|DW)@Ri{#185v_X72dLMOn`mbVuj{wvb9=mF2Dhu=Fd9e`GYS11O346eTT7*>^mO z*EXlDehXw5WX@X$l2puDn(|LLAiv5Tp_m(rIMaz@DGG9LDqpoGCxkp8sqrVkJ;1JS z&viPDT5#1YsS0eXXc%}fWWn8K9V$}k8ZB(wnU?An=V6U$fgR&z9~rRsGGcF?p8W#Z z8SHd!TLZqi^2-l8%pQs2?(qdwz-S}&T0d)wD)uVZr*RqGqB~feVdyvGuLWc_{&~B6 zt(ki0rFrf^oSs>aDM>}*ZIkyWO%Ywb-RG%V6kWo(kk^Ipr_|3qBnwdetjlO{kIE}< zJWXdV4yx_Ack&jfjZnJMk`_qw=U)$>_|(Rk{E;Ak)%Lo}Ot?|ejhi{Ed=+|+KHR6PiNxPx;TLMCAN1Se?5FhUIIUH z7`OA&n$1v_@Z=q{-QVnwq4$Ng2Ae>cL8sb5D>$GXM5MBCFF2%3cEuCH;%KRAFlof4 zMrl)6vrzs07I=|MBZTx6sxTr*{m&`=I$Qqz902dcK9NGLi`D@h%hAkjgj zFC8qwR{=B^X7XB1`Vmir`+TAWlYt_TPtJ~r%VpLp4&thf?f5Q@OTCTyt$MNw9yIE7 zTFG#y6?$K-KKv_$6*r(^(J`Xe!s=0Fsd_2RMfO&QO--zcg#U!4r;R0SPg$5ToH~d( z>9pum))z@(`=~a@p}mr6<7(f}UYH`>JZX0;IZjCf7?hxKTU1f$wU2;{WfNdD<^fm9yV&L%9bog)pbf?mmi#J7`2g`XZ3G9 z(tjnZNC0z$y18YA`;|p5d5tc7-0jv?+Dqolj`SR~X?qb@rz79&{h0>MsJQq6DnJ7q$9bRi7#1~qU1uT3L$ck&NfL$AG1)s0T>2wx-34O#)tJZaXk+(b9 zzwlabC)$@G^cCu}i*;j3h1uiF6-IZ_A7hf$e^-G%D}VJ!XL$%fZES%?BKo6Tjj#@r zeTi}Av*Z7|r(1vnUUg{KDlrbw(;%CH!~dBk>(!N2IhPODl1+rP)fwc7H2<{HGz+we z7!T-x1}H*hPeJUI0~$lkU@1#Cfad5Za*1MC7M|;KwME5O{s^LDx6^#f)8jfO^5ulQMYDffgJ+=~B=N?nz^&WW%xnN_qwMp{FB3TF6$#JNbSU0Zcc5 z{Z-6`&-qcAj6hy~ft^$PyyPB7JX*+y0j9<6x&1wo9ve(0$=$M>7yCfSvp53Q=;Noh ztC-mFi@x0uMpGZUL<_eMNHWdDX{Xn@A0lP|JpNVNsD|Dg-F^E2)K(e9F5w3%zx}4j zY_{%cN+_3j;?--xkv7X80m0{2qFb2Au@>VK@8UzBB}nzt>hjBViJ9}bM1a=DqE7Cg ziGirrX;CBOT!@z^H4hSo5sERA@1 z{`!rsk?qzse3+^D|0hyMdS*`s^@qVT@(o?guAXwO^Dv>mo4u9z^Gtfz@An0lhxAYi zNu>9fArTTuCW@;ruB*Ph#hcXi!0Ajr>Nnf(QFL*Mk*90hvc95iW?O8kdD;^*>_Y)f zX05c{zeEz3#Dxs|8b@sv*6xAM>+Y%zYL{)Qwmj9&ke$cH@EU@nxwSi?2dAA8{AB#f zyem3_;jWN&bJ8^hw11Mf{Ph=RM|w4AR`pbtkBR9O|2l_X+U)1- z%4IAqjUdl^!qFT*+hv zAl^5P1_X@d7CQ_2oQhfUC1`OMlj&W{`9@?qL!F<$opJJ_I&t(ly%y>`xV|C<*Nw0_YBUM>JFUl(QcV$f`D)MeFqC1g`o zOObP1MaE>7qkb&V7Eqt3&rf;$US}4l{k~ujD>fIPJY))|3j_@H_)RSkHG&6FD9x#B zHT1UpSQ3eTrrqgW?>uA_Wwo6ZBbzuRQxSq2=l(#p_w?H{KiObrYNnkBF3+#~Ov{ z-hlkuG#9hyhLoZl0x?Gs4|H?d1&u{D+R;n@Np1P}+iUxxNN6$ldXi=|YunZ$Kl23^ z?|m}XEI>Fo8$hOvG%G!qK98BX>;0d|uP4%CtC5;u)4=gY7}ewN>56_=)ldx^Z67ZS0KyZ`*HQNAYp)b17qM!R7?)kvwab^ zA{>1PRZa8}xcZ$rhoPtS=zkpt0f$ZuFq43fj|Tyi?8s{Jq`|Z}mS*c7!yhm-vOI5V zT4+vCD?BogI=LqvG|*T?YqXSNG@tEvlG)um>Uas(kS1ME9*g^{OnfRq`2BL&;sCQA zg$Q|c5`A8nv^NMZT4x>leJMu8-yv^;vZmbVz11gRW896uZZHn=lJ5v;6?td> ze9EJ7ppyR0HCU{ujddRr*c8E(iOv>>W~7$4wZ4Fk)S{y*O|$w(f@=E5Yr}5hQjm{# zzj+X~pW_T4;tV%3GaY9Y#Y!#p_%2!nni2}QGoalb%AH)<3;4MEp;*gZPImWYU%2T8 z%c7i!puCh#4b%YH81rf3*~Q{ulGdDZ8Y?4Fu;6HZ=WN9wpI3t~^tP*70DOcN*+21e zFw#|SJT3a*9#aC_zSV2HcZD!rrs^Y~K`~%NIto-Pxrer7T4@HH7j=oAQ z>>Nwq0n5ZRa@rkGa*~vyJMdwLwG!c20YFI%MRpE^4s1E=8Ln==?hGx?kZ{B?t|8mr z@Fp#~&Q)F4%cPkE=A>D=IVR%yszJl+6V0h5vgS#;3Ghcf5&iQG z?a~5y!Bq8P!b~pb6`@q~KK7e@SFIA{YI8cb;&ySFtNL2}4*Uz(FpiqLf?7s@2!TGV zaAy_H#2py&56pi0hN%6PSPUa$BwISHx)t%21@jIpe`n@13ycw!bSmDCp%Erb13LL) zHv7!Y{xcP5t=HYdDDJ#$@(1Vu7L(zp-hc=5qpoHh`>I+xZO1Ae|C(CB6olDvH&w+* zuS8f2n8_$xOT)$DqbkJJSJk1?0I_ljTQ`>Qf<)u{$9Y;)z`F^g(rYXeRGx+Um z_Sz1wpF7_wBd9F3Yr3VPmm$dnte!IDM+s5Ch0J%n-MkrGxv6%vddDS(NId#V_pvgz zx;9!^%M!c0$;uhX61+NBV&{gaj5J?Ll@Z(B6x5z9;K~`~Q_&KUR_JqcPop2re?_mB z&s^CacIv`P_zQ>0**m6q&4WC-uj99egHMO!7+wCjmQ0tD`_VpKU1l|?SB9^_=o*J5My)d7Wr! znK>PFV8LQ%Hqf1GPxE6b@q}XYi06*^-?Z+xtSs*^OKTpv;GjjsiXSF=U~@McQ{kR0dhPLTfscCrg#O||a4Z~rQz8&kE2p`q` zbZ`3$Ngo_IXT5ziHpzX;CeA(K3EL&jnf?V}o3>pB{4F6W2gBwczu@e5svrQZ@5G6J225BI z+B>(sUZI!^CNpW}$GC8iqUDM_d3y-KgU2YIU3zasI& z#qg8E^%Ivi=}J3^04bE9D4XI``msuNi~m<7?idKXdhk6yi1nY}D4yc=<}4K0W1&!6 zU$J=QUWI>^%{hX1$R;3w%U^t(qMUz`d-4DduhNF%D4&y!WoZzTqJOo08uDe~6+n(k z3co~PdTE_0<;5>F+=K0xZ~VO-HXi?10@C;Y0PtU*3jSmR1bk8YAOf1GqtW9@V!_S`+0_^EwuSu16@IHaxzzkf^Cj$I9Mku=`||21 z7(XUkm6#<#)5#KKP+>hgE4`*qh;~y#? zsnRhWU70&lU|?n@P4RwG81AF-)jlLzu2eJf45J?|6-r&Cw;T+PDV!Q<6XdibSh;_3Mdge z)f!zsQ*0)q=~f*Tn{Jhv++d}FBOlmg?Qqt^4G#l}{;BKaehol*OuHggROC&p!SbG3 zs%Z00V$XW#8wu$+ogtf1?_?3agBQiV>@bqzYNuwA{blse=&l|C?CzxMv8y@a{*2}l zcn0{>HX7*7CY56b2>HXh?=50Tr z`Q}e(&bT`zP#9GanpE-Y_wF{esD)3VW2eQf^p0Jv{Nm;J4O37E^e&Lq?`S?qF;?V8 zEveb%s*j@r<8>R3!>gwg54Y!kH1gh#DUfK4I^Ok*W6c2$N-im7E2W@X_W|s}4qr77n>r7gG^g0abGl9fdbh8HVk;y(>7+jbC6*iww*uf}VeA5JlAwOsX6aWv z$L4F%>c>;AKcw6~-o-BG4!|dP>Eqow9>0@(I2@4N`(A^D%cD?)FWcc%GSP@&v|YSIH#P2>v^=|h{qe=GZ$)_b%=fv_rbU%Z_??3j8D2JJSDIzMsT|mNom6|WCCJMyjC&iG zjw$u-4k`nj;I;{vC%wih%q|v6tvy|~IxG%DE|ybC&ih^?QJ)LWc55N&CM%uri#@zF zpT)oPqn9UdV(!PnLvHu6ddzi2ygdy12yXq;b50B%gHAA~!6mM$#Ydma>YTvG3paur zj`XL>gnxQ?v3do6*TVwstWnfgK99FcDplf@>RLVC8<4}VYCbN{N&dXxTD7)gjjUMF znYBrqO0%3Oo=uJd&H+x3(Tkg1WIcxav; zT@9;ws)mjIFV(R7>lr(rzjF7S!uI8Vjm!+WYA7rD-YnNr zJ&@?JD)T8!OFT8pZ6q=eRU#V!wD~m%z19F|Pv>DZ(^9dDyJ(u-NU8S^2UO?ArgRUsguC+i;sy~Y_fZ9F@QO1 zKN~_W=q+UUS)#9Sha(=0xGj^XV@6XPNgTy?bsyxmRh<`InWUPp2bSJ6z_x3ttyJO| z@giCWB3nY!#}4;i)6gp;=3<%h97_!k&nx*~!R%cn%d`(*Oifz*4S9j)%O8sZA#eDd zrJI>$%Fb2B531~GxJV%x6RP;OZ%xEB5M;x$IDSG{Wz0O{zWSvK=yP^*eZitb+7Hu)&s^l7ntt!YU&-^mFBI zL$=#11~yv$>BAb9;vv|4le`2+1$)pMfU{{R$}T^ee^0s$Djw|k>W8Fu@y{?aNlmpd zan+}M=`d-Bn->xs)`%KSmF6NyXLW`jkIS8ce43+KzR15|GU@RO)osh|eqWtyDUUwe zq+2KEq9Nr$we8_t8jAs)%LUW)B5zL>yi2r+5+e>TPs$`0D@}&-wT>hmrY4#y z+r~^X#os<=v#Fp{)tJt=8Dp_Cs1VZ5US(sJma0?|to1F|mv_EEdz0?KBjGS3y2BYL z;D8}epno;*%29KddhFJpW#H-CmPR~}X&4gC=^@B{w&kCb%J_HJTnrV(>urVzOz8){ zj$U2jn)K=grgLNAAgRS2TDqHpV=U_9CBdb(=a+kO!~qSl_YV#6X_I}`5byWmSBnoL z{*!&K+g*W@Tb+Bx;1eFe4 zt|ziLSlZ=fNS7a-{sW2EQ+_u_ua>-GBgYy+x=_joH>AOif{Q zY=zp0?J-RblN-~uSFmyj;+B>Aak8??*27G}gUyHzjkro>UiChwe6GOwpwsql4lw)zSde|}?wM{BUup7@MNC4vs303IdM(UadonetbXHg-_l@^_@9vwM zX$KO}`;q1eoQ_YJ0_qnD)U*J1Va(c#!<9oPL$dp^=)w(BYL*gi6h|cK?qBxbKGd9R zK|uzj?11q{-Y7i!d-j3br;FA{&9jvSPFJ@C$%3VO{ycbh=aRj~Uuq-=FJFtQ`$}1~ zODUz|kAlQn){LPN>q~wfI2S*_!q+gtU0gc$az&iv+dtpXYguLEM_+az3zmK(rjR#w z2xz=@9ojvPajAjY&imXLj_FRp4Y(l$gO?NmyJ$D}X~V{y)NBsf;%r1E{$A8%s ze2KjFeGln+fe~}qLIs&UKN)0+IOyzAMts;Pp5df3i!>{n5=-$xcs>0tW@e{TfX(bn zRU=S|7kQrgrPm*edBrAL_=W+1iqLJ0cZ57jhneYs!uZlOYvQ%V9*11J37{5}NzE?Y zSfyKP-%zO8UBmxHPx6<0?sl_AU99S4jC^u7BHsPDf=jDwe?pez2S`m>Pfo&hmOYq3 zn57s2gX9Dg0iouy4&o7$UW~GnY(qf; zFEWiFdx6Iv8%b^|Z(X{op3<*=pSPDPKunPKz&I9;koe>XAGNAKm-k8`&$Js zgxlUdJBPVjTdQv39SZJr@<@oY-1?DQMSk2+`+_;+52NST&5?e^B8~ymEOy=Z!3lZ# zE^Qz1x3_C)T=I`rD8Higd3EVx8e&O{ofNL)mx0vvoZYTzwdx8$Y)cZ6K%rB^=0||n zTUuZUUqRvY%W{t%B~_!cwA z&wRMyFMwt`%X9!vpxaXe+)wU+RidQx{1A_rfoz9}cQN#=&{j4jXotXQwu24Bjs*1Z zx#iy)uRTbPuZZx`Eb)T)p-5Re3#81)*~S~i*odPWk`&!t1{t!23ktWA<(4Dk&UE3$ z$P+Ge8|(kRTe9hYc1ym`w=H#g(0XIt0;tgp0cfbv<7n>1oAIg|Ks`*q+6jqD&b4or zr>B4(Q({(*u=G1-uOD3yt9Fpk35oB}&m2{-%t{QXdF}lP+wA95~Jj!Onh3D zHaJt&_f24Huu^VA+VOE>I^^2Y4V2#0URT~rQ3?er%L+`jX5I>4-rREByf@E0ro-(B zHCVO7xa?p>E>wYlPi@bX2YO3{TDQ*{6lOwg5$((`u8_Bmm|j;De#iMOX~H^wK=_>= z=0bNR=NrJndEjkP{V}8WKHNV811DBm@@Zm!f~+I6$xtle0>GrwlawVjrJ6R5yfyJnDoC-e@LkTT&l(y>)sRd?umM&8Q}aRaqmTSdLmRD7N}A&A}A zA}N~LpY0$3M+~reK~1j(+(05WqBCVm;JqU@G$7e#%i)qgEE>59fB zU2G+EQTCGp%J}A?-|>PX9C9r&^Y5?9-{fkRcucAAh|&z{nyNi)uH8Avhu$4Gg=9Vj z$1X307EGKs66WuSoMScB)bM^_#@JeBxPM-)bCXl&88HX42goP@hPxk07c{Sdd;$8P z%Ewxd6CwVv4lciQm5s8F^FL}Gf1iz>tgjvtes=s>G?aO0^X&!0?D-kdoVBKyEcZ*7d%KVnXDD_tT?Lxo(ezGFJ1}Ft;UTwW*7c&2QU&G z1z{x)Xyvb~Ax*}<3{tCTH7IDSD{_!9b&rNkhw>XEg!Wa%qJLxhf4F<^u%^~^UmGja z0*I(6Ri!Dth)7rIy@P;&2uKI%y;x|{q<2E^0qGr7P5o&oA8|{V;-Y37tq8-TGX^F^70g8Y=7`7RH;3?k60&Ede!}Jy@xUhLKX5 zGKt6K!9dq`rqd%m`viYdy%zeoq*Z7$Z0-TzM!%%xHILSNj~3Be;=0u3A<2-<6#p7Z z8u(Z%#HBq<$=9;>Dt4*ER)$-zMPS^`tvu}fiwFvrur1#*BN`;FD7JaI&6J2qmexf* zJw_=Zep)l@ETwuk)A4C6MY8OCg|3C!DS%}r6NE>LMOjt^N8fdtx$uFKyoT32M9IgU z@~={GL#5wSZ%@17q@#6AT97mNL2PXK8OlhB$%C!Oztz_Y-k1utht67HbZ5s`t^ z&F%cp+(yb|NoE6-E0b5E-b9Zm`fY8Tzc3%OSN8ot{Qpq1JyCdFDE$Y~_1k*J;nf0Z zGaEJWAEyOr;|2;BF^o&1T4H}57TOY2-G%9n)z#ZVvBS>6ppa8J_-B$xQB|Lpx5Kb` z;mpWuNT>^~^3Q#dPu}ME)x4ZyBhtKPuUh{t@;ql+LBr4U69rVYH$ZUb_A+2K1lvbk zS|cf9$QHEd+4?TP)ny((*iQP)EW|jD%>D^)(M!Wqo#C%!D`s7IKBM%192M{7JHaW+ zqSUfXHsFn(H|k^WQ~|H})pZBvke?QwoiQrl-|hP0-?aw*-Q^AMcM4dN4Q%KZd9H!H zUfTTQ^-F5(zFXRhLJ$ss?JA(>BXtpqlf2Sqk+W6i#Q*d`W8}|feqNt<$&DqG``j|& z&xVweCE5ZQnI)=*URIr`s4_M+$$I}it}y5545t;QJf54MSk8;eE^E^EJ{8~dO!&jf<6hk1l>bu>*a~&p`tFX1s)AD^r9CJt^L?1ER zAHj*Jp1)V65;9H*Q(*aWsQ3--)?FOnDi(1a3z-Ga>BlyV{Vf4 zy&8lyk@&~FfJgrxFTmly<^_cKkF}_*vk$hZ8p)BN(O>Sq3s=jn?uZuu2Y05aT3gMIq{O%`QO_qAv$E~A@&ic~Eq9@-a%I=tK zsN4VolrtGpl})I_*jsrpBQo`VtC@Lf2C}d8`l8y;@2e(JjL*NMbg{g0lss-%Dt|X`C@9Jdpc;9WOVGa?ZQ}}+ZCv*Qp zAIWCsi-=){@V6kwm0q`7ado#QQIhChRH8{-JlI8%(!%`#MFz?HY2s%GGnK5f>_eTZ zl5<(e!4j9+Ob}?QSwlappJ{b-zNBg1h^Z^DXAH6M*5rKO)p0x18p%ZM(isp!~{Ys>{TN5?n9XQsWIsn-|2LPQ!FzI*?fiAm( zy03}73rd>{htBkT%-Ah=mhbIK@6pu`R(lu)GQq9`$DK*?Jrd$ng$LM4#UIphau`&q zfVKbH<3Z#S?F@NJU(-klmCm@r2Z8~XsPjnWMh<(^%GW(X)>{E-7^adsyUlm81QFKW z04uTP3$+wfy}QI})8CsT(NISrAqkOlS`ZgDjf%LjSmp#_u&kHPFDG`$uXp;)@_#=`AluI{oWP-5d3; zSh1gU26wj}(5^588Lq}-;l_+nw?n>ApzL=Qx57T|;}1?zhl@}u#4~UWG7u0`n@u-u zSdi0M3vt6lh2BXjmj&~!r4p7d`IT~0sOWKVcXe}oT1fRstbs0y5`42>-c^T4j~Z#bCC)ofOdGw(cF>rnphese%jdBq%N?xQCA8;v14etwLNYJnJj#0_{D3 z64Hmfug#{_)1qlw-ty)?TSLftU0-0;IAi|jmsve=)9O#ctlr`-L6G!w58@`a4!aM= z0`Kejf4$e{)iA?mdl|Y4EfaWl^hj6zTzQ=3!p58mV^V97JLN{5S~MTMlBc2$oH4ds z#iuc0*-yvGpm}L|0W6HW)t`jaSI)}so*bBWzILPd+b%n=5TwHQI0&-xf?qFWk^-Zf zKRevs8%0nm?%I5d`enli8LT-nend6k_%gl(hNrpd+%0^C!@~=S6ni)WggIx)^6k2 zDmN?uL6aw@h}V%v19D}wEN<`PdeTB=EH!(OvL~f9q+ZmJKTE*nnJlh72FGE)oLZ|$ z-VZ9oKO#Y3{s{>JEgV%*@XTd&m^N2(hD%O}-)+)ZVl%=#v_*%?rV10z;uN<#tN-Br zwR+0N+Wi!}S&?AQ5uw9%NY-G<_^H$3J|^Mr==!;+0&zF-x*b08z$#MDb60xe3;=E2 zayo7g@oI*dsk^w=rG~_UTQ0n|%TFYMSNexu*gb;z0Ifa_Zj@UHB1$oH-*m#VYG>W0 zGx6iXz^QVjGAi6_xaN&`6lPQGK9QiHXj;SZZKc0qL4Bp=&mC4cR;_0Orq1ut9b)pE zzk)mJLfmQm=nwcX#sC!cN+Z*t<(C0^YVn+1-o5vtW!JLnT7O;Bf-m$A3NytBKMCzN zkhfnv2zA{jq3jbZc5al?qRWy;YL(G@-*-(Ov=T8jH|H0U*{TqedK=a0@1wX({!nAN zga94)&0h7;eyPx?$nt_R&po*^D_3p2-EJ4oID-;haVImVp9v**qyD<@1>*Z11Yaz2 zfEN9Ey-OM&!f*yZX4)U!YZ%AT(Wz$cYZ9@*bP6eTrm zVhPWjdYq9|aPug(=dc5_*>twhZtW^R*cw(9GMK z57KKXpd`YdWL7kmUzqiF(Mj{U_&96^-cbTY37rnN(B$+Nd~Gq)lD0z^=VS2;xN?E3 z+rw=fePqw$lE0F$@Jd!Geg5*7QOaTh4JlKb`NZ4jxZ`zH#=$wVq$LA)rCX`2UmEW+ z>4j>H;NOJXZS?Lh)Mk_%??96_zC9M>5;Iwk6O48Oft{?Ho2(?0ZgrOS<*bN_i~TN< zsP=bYRd^^Dus*#@(0i6!a7QkD^#l)q)314MY=As|CT=S|L)@$t^%#h|`WU!0FO-Ie z8zKJOmv{~J5YH22I<{}$CyL;OVS|=B`e4<36r~pfeL|_{efI&mkOeSJw5*2 z2@lWtq?Osp?CJ8Kxw{F!2O!HseYh#{1Cs$VD;D@oZvZA^^y#OQ^*(@pZ+)p}<+JU^ zmUcTS(tv#8ilf0@tmxO6)dLWl@n)FFqW}BG0EUBg=rMmjyL$9#k;bmfKABZvN=~g$ zLzhGS{c?XO0bc%h%xp50pw4&YfFJPNKSd?Pe;jfC#h>4~)m@E;#7-)BVduS$VpI-` zb*4Es#`c5x;;U@3TS&NrAB>{3GUYRzAprhuI=NYUg&7=I?mp3EGffLV>d;N%|Bc=#6? zME5j^k@dhw5HzBGCHpL`XyUnQ{BK)KPa#t~rc(eVxa}+!&*1kCU(>Denqx@hUK)KK zAcFMP(6I7Yg!76+E$XR`8orUycrMTm2!?E@xcAnRX0OT^nBQqA;YmziX&zE^H!9+P znyF7>xt08q~*@@4wp1Jt`T{{uk%I8O#o zy0Qeb0@moNMzeMDbb~af!tU&(tpUVSvxMVvQANQIsEo146ob_egXd+15#9@%MSL%Y ziay*nHx#dC$aY=W*>+n~Xt|q!{qiflgtvNI7f>Z}@g?j^7l`O<9AH6)Ywr#`y8bfd z{65Nyu3E5h^vHT^&*1YkgTG$u-RuA{zIoRN^#J}2`4MI^+tQBM>kd=zQ*u(h6~KPv zN@4x&-4Zp^-F3UV(IdUQo%33ks~J4xSz3ts&g~zNP7MDS?0VAw%&y-V1iEIT{w&yw z%|winz`Zzzc=#=0QJGfHBb{~X#F+MP3QutUa?L)cuhtqmdw0_mArqyJA+$%kDxMS| z(DO=YD}O7(V`|$iqz69p^V)+a+$;0cI~vgw%(|yUnnKr#ew31!hC*Z45s;f^3j6>E z@D+J#+EKehNGdl37cD>F}|AJSJTpC$Qmx=KtVcT?+^bz5eb zuuWR>#-mKXWt3+gwib%fj|~Rg8(=lQ@xchQx%BO4M8y?v_mWGl2DQ^G(eQ$;>f|FK zGhA?K#>WF*Q`caKSdbfpu4?{?t!Z!M0(gFf_kMedkPBQ%#!f}t`$l{4AwSqg)xq#+0jc~Gk>mMqERBM3JNxGZ!qM#KO#7spFgv6~`kXYTVGK=F@74*o+>)5P*7+)YUr>^h z{0M$*3@c^JFF94_uy5Jn!XL+qXAu4{5Wi>tIlT);08#{U2zrxkv$7PI9Bq^aXCsBu zTjlJ}_k~1^_;f%Z$=#|R#WKR4B&w-((?eWIjUGK8E4tt$Uk_bPnsK)hyJustg!;B4 zko6Z;L-!|DBgx}Ljq}ItyMU^3P8ssf0a6*k_87QN&K1Z&MBya^EBYaQB(m$zupvNCP-rxGZ_PM!rLr+u`VeV|V18#^NJoOLhaP>8l><2^BPfY0`8V9= z35f<)wGdljpyA%Nz&O3agBo|JL{?nzrCj>L=@324(H6k&)`lbWgM?aaP*v>+cZG8M zeR+xR;&&LAO%N0^-SJrdh{(B5lBS!}G;vAnmJ!e5b0*cb3Au=IL8_j#Mx}~^Y)%PS zv-Jul?nq%IUf;UyvBum&Evmba>TDhwnzKC4HPs^Y7^TSJ?e9d!vQHfj&oSGtQ@%`_%)V z7O=F$KgXVfyiDq>&7)=xACn z(xOLfjiHSOS_dN>39^ern*tPlol1?Gd~HhC52F$@X=FJq)StFQ^e8FxMlPitBOsb` zLIlPchS!`*C&X42%7*nMR%{~*iq^__tv(f!i@QCyeP<|o^m_Rj)-d9>4xGRNl@ReZ zPX;p|=f{Fa-ucC3jY9qsVKmGR~tM3m#CGvOZi% zSIK0!Bi;|qV)*v&GC2B24CZJ8?_}1>42LC^rmUmQg=mpdP9-`3JM)Aqk3C4SB^^=7 zy{S-BGgw39L)G1Q63%XG36e*h4O_{ZDb#cNM5TQ?5;lg-t!}92`GlR(Nb;ZL`g^7c z`j*xgTPO>C!iqZRs?OFcWHA+Q3oYfi&rX#PM&wf7P~zpa>$G8P zDqQ4d$%&Je%It;~BpGYoux40k!+D$dlmO0)@A82= zupkHEEXXxP*z(^-i?v6CYmt{^ME5Z7Z6gN6T{J>c$z zmGprXt5)cCsljplA&KXp&g#MD`w_Q_9T6(C%@WZbAN2hjfPd0tHC97ZZbBKzD|^w8 zit+1*iV%^0#v6NQ=1qR+w8O2}-S#$=@*J2zS<6AFMRZ+iAa0F@a9Ge4+Wf&!rR>%_ zT-7#$Wu9qglRi%G=BZuDPOE#FO=|u_N>0o8+*d6|{N6}iXMLm+VED*rLEqI+KF**Y zNB;O3y~A_n06?qzF$o8h3%P$bnT~$T=Gikb-nC!4a#{R}84Matt!KH|rxBC*O-v#j zrz40M)b9}ii*?e4)9)NZKdGw$a>22Vz`6Z}6`M>#%;t+M7sE!e9x>dwD>Bt6Nip=* z&}KP?s4hfX+4#_YUOqU=^lMuJ=9TMTM(p$3nnqu4MYNKrfQ(QLrF<$A{OGcaQ-jp~ zaEHkA$h0Z{0O{vj@4y>#owKfR z#T7{wM`U#stL2xu!YTZUq5vYCmxEUfD48)L44Dm*F?*^+5hP)X9wG+^JYtAD11z4< zW>E9GWuqP|>8lw`cHh<9fhke)Z2K;IhKVEP#;{p_y=L2Xe$H`-1Wm2?H39m*1{Ead zIYf~ek^5Vf7H{=D-~geD9xU_smV&aOd<|YwM~`Q6mhK%E-^?dNIJGqa_j zHqBhSdD!1h3&G(II#Q75_YwjBst}!)pg;Fu)VeJo_h)e7r`DjCy7=wCEd53w%}odt z12X*&&XN|MYt=|a7raWsz7jSq&ejl`_4xCOAxBhat-Q*M=9wf$zOgrB&O&jIi^`7) z^&Do-qPXduF$u~<7@cp{+!5@e$25~dXnK|W;pH4$u;*0UYkxRcddIf%lG08? zD3qt|X9*AwuV~`$L6EzoDG-;(aqq9EmFA1*ExyT_JU8{7V)iD>4{`Vnsy+gcKDcS; zq5n4-!jnpl>|~YwuCl0~iJU-Reu-p>md^iO-f(T9mHNiqP5UN{66tKXhBafHQ&Lu^ zKfdru#0|kKdJmKAw68gF${Gx;`b+yMOU%nr5jvE5Eb8=QniU~p#w7fV9? zcZ?KL-SM-e8T-94dlyCRsQcR%-(@{p{*v}S+Cb>JSuc*lp=*R=BHZamDru*t#^Oft zQm~M_ifx~p;Y>&5^v0dczYXFoP)Hqhm~X@$6zvIb;j{@&XG~c5vdEHeiWAV-%3pK1 zQ-6^6QZDXP>B8wkv@=n54#jyK4F;m|# zRYI>)52%45?(n*pZj|x1KkVyZ0!*Ulh|+@fq{X2&nlNR^(yVpJNLw(PCH}SQg0Gg1 z`#f_j8NeQJyPA)bl(s#5!Rw3QXOo*LQsXM<^|-L)TWTIX9#XeaR~84i)+x0M;=G&W zzBm7~K@M-?5tZ|aJ*X4D>k?R$fo%Wm3_YKFJMR2w+e&-2b9ZR(VUxNZhyY zEKQZg7nfHc)r72nAf|MAiBWG6C8P?D;LC!fEnE}0_U;$;;NF8r_Vf1o@`Fy<%BZ#5 zb_1Dx+3AQM4u;B!d4tOVA+T)M-Qd8-l#bWA3-}xCuE`R_uOu3R!E3V^88N)s_yh>E zbAd>B<-K6?;rfEy+AO6noI3~#8o@l5wPMp*WH4sH>hSvn{0_J#`#-KM-Box=)F_Me z^hc4s2{4@IIdjq3$r7E7LCm?Xs)N^rzvY{@-b+?9qP8iugH$l~!O+PdiGBenl z>BhJD>712}T_QZ+r@?JaZL>#&IaAqg~RzmB<-P&OWZMW zFj2vGR7mPCV%hd8Bm;~s(Z31S5s#9r7Zg_B>MDA@AEC67OPJXDYHxlyKd{V4(V>#> z-0oSE&6gDg62ll0i&G9VnU5<6tS{=op%YxwKoY)i@Q!(fqW<=arWx{Q_aEET>6>d4 zslBU_NxXM&DU6M+g}C1sMp@IRpfzhK&WA$IOKBJNn^}q?%~p_KFS+)BM!_GwV6%A9 z5*E=dPC`G*h!a!;qG z0HH54z4GbxaI@cx3Ou-!C6SE`Jvg@xU%oClF2onfOD`g98G=}{ZZ&V?eJsBDX`x?S zL6kJ^oVXongLdP!2K~!<-9gq>l+I8xiDw1I^ZB^4OcH(r zO~C}GPi}^Jg#a$n=!kBNFbQWCBU}F4rO=ekwZR|Jg;SEp(S_{i|NEm0@c+A_3qtbZ z%#K2d={*V1$=JQ@_uaMUdU$qUhPV|)jm@}{#&K`$a@ZS9H!HNyq7>q~CWj<-M@bCV2hJWmTcRb21Gdcr; zBlJ>Yw;`tMBO@1t`O_dz-2~9<{!R5U7S$b{Y(!13$`(*NNF;s|6SY}n+xA+_(LHGN z0oBd-%%Tx9b}QUPhTL#2ux8`XYOY_ENpbF`Ag2yDA@3O&C!{sjvs@(fJ(9P>}QDdd9_O_f;$B1-DuGjg+QIKl(K|i+MSk7_M zicGWe49Y>FA5)?&p+7?fwgyy770=Bgh-e0|6dpJU#=O^GkQ=HQ(2YB0mHlAu+2TQ# za~h4`!@iNpfSS}jm_(nTj(O>CHu-SGf0Hbr-TMC{S#;?-);bYum>~qRh zX)hSt$D}(YiGcoNewB0m6_$4Z~wfGoqVEp8b-NwMMWK=07y zRB63}IDnw(t+zZ#1mE8^+kBc9TT4?h$#|Cqov0%DzVGSnEtc$jhmo_!@4M6AYHaTg z@Wl_edx@uEojp&LJ(45xjG%S@DCZR7RyU5V%ZQgZwHsbfhD?u<4*-gZ-DaEY(C315 zrIGtT*NS*-Q}{aG;z|DwHw5GZF4hqWt^axt=etFoC*Xv>Ez>LepB{~W|C%f`hxt$X zjGc20BP-xFAYAg>D;b`8A2vY_7uZ-K>pj8;^AOZCXLgVMxCEvrDV4oI)>Tyz5gXz zNLBUgw}(trG}xpnP~aEF75IgJ*TJtUch}(svt_%1=ST-hI1@c~9ahBB+{FOEA9T0` z1J3XA+m{C4xevZOyYHuW)RuHrHMT?HPkRPAE^e?>{9EzgI|kq~e!cY1zv!L)S7r2x zjwkjYhZ{ZCUi+0KN4sF8O)KZ_SMYD@jhPO_fXmy z_}j04v;jNJv-gL1{s~ZCV6InQKJixu;N#`P(DPKU3OtDlej-7@>n9jM0Hmz3+R<3-A)*=6pTxLy*iM<)``}TKJ}}v9Yr8 zxZv{Gm8Vw+N1n7Y>Yo19r3>C} z=a%Q_856JBOdUTtt9mS>YhxI_%fYw~{xD(2y`|>Rs?f8R?oD-r>$41|Pr^>G%63F- zX(D0Z1_o%N)yH8vHU9+hF)vJ+pdD|%^5$kp(exajORv9_2n~E@C8B5&?q6Y%QGT#> z6wg46bH`T-tPMvpOElQM^$Oci?>Hy>m^-|$5>7fn%s-zRT^bLb&qSn@Ude4vU)F;W zCG~A5Td`*C<+3AIHV+ke$f1TM%DbXbn6+iTWVNKYS^3{~jI)RE!byAkaWVTMIa;Xa zRfmLFvkGT>o;x>eLh+IPp!zx6p|HhdyoKAhAp1=c(9!(n^8y35>IoPkdWZ10R?=*MEf?*{ z7$qj;$}>TO-7e+U?X*xgVwfjC6jfQ7CUp?VFa3S*eI(t|0wIO1#-kPnB-c6sdvZ~F(}4l!hS_j_%d6v{5y<&Vb?#E59^ZdstTBBiDV`GI6b}L)S z=qgFqS9f>b8ql8cnfvBT!UDGQ zepohqhy#}{RASGx`nAeHzDueb6}xN4Jv)qpLy})H5DD%-I(%nHF5s%$u`;c(Syu3? zkON{|gC2)xOzie|8xQBLYc_%NW6~#p)dQC1_Qp7HC9%z}`qMMl_vic06nV^?iXOSCj8L>bIETDQy{}^FH9vK zbMstZiYE6=8;Ko`HV7Qn5CskM(%SX8Lu6DVynhp>M+;NNpL?CE=W{U|6rtydG$jD@Jn+BD z$CyMR_;#oZ!Jgkg>h%&h37c9rB=- zbG(&bq1%36w*)J+H&R|FMOJQ=7T%1uVVBBB-$6_k?8UviBN+xP6Ajp|->zx^*79cw zyzWA8Y0GMqHs@Zeo^Xs`BcuIF?ZWvyq>f)()mJb-HcF4@d|d^Fc3s2mJjDRTXl*@D zE!+%gZ88aodS78%j{0a@kc)q9O|X@u-Z9>KYS-aP!|o^I4P_QMgKmA#Q((fq?``$D zmdLJjy1QT4D#(0qIHWLFw#8T~nHHKB1r2&ayk$*6-K`+(`c1Thw9h;*eNZaeD~7@B zA)@yRcmL4o#B5N~Bk#EgudqU7BKK}fDUB)8?g}UMKm`^<&@x-=Qrs>kS&6j9p~Frx zs;IE2S#Natmnfb_SjF`))zJ~_MylYdAX12(Tv`h^77Obc`XMz|dGPcc` z75P;g!UHM6Y#r}HKzsw8G+OerwUq>yZJo#Kv-=lhPVEKh2}knPQ0qLRy1z&E$!!%= zcthFi*1)ur^b0Uyd}2wX4P=HZ1Hhpa`F_*3h}+`Gw1zV+3FeV=Rj*$9|07?)m7s=` zvhkJ!JI28)uz@#CFfksc2Fs1AMu&}_FC2axDuJ13wW@0r>l>Q#YKEJo|g%`T8Lw zRx-ws(u^)xCJ;D^uMpY_Vr)fjo=F`(` zUzy&Y4`_d>#dFm>B1tENMY8;w+I8{kI^vrD1S_CB_Vpi@YjLvoav2?M{eLD?xJHl- zL*}p35;bUB0#~)oykrtOP{qEzJGWP6vw!-1|Flory0?cLuT=c{vBT%<6*61N z0dO<=`ih-7C#N&WYG!kfA>md}zcMdtxeU+z((Kyd_w-89Wzy>9?hJ`ykF}`8dOB9N z(ShuV@v1qr(q;56`IEgOUmPL>R_ZCEfIY#aQ?ZT?sDG3fP0F z3_B0EhoEoxzWUuQF|A51Ot*wj!``L1E|)aU#38va>xPwaf6ggfg>{xa0z}LHQod73 z-d2!h0o85C2R^KEF{Z5luFXI!e38~ojcV?bQ$8Jy{9QCfE>~@@uinrbO2`D z2abHu(AamsJv7phbPt3q#}*#c3Yzz2+{;zupeUBVY`zy6>+#t`X&7;isuixS zr4=FA4Wtx#^!qc--(4>EuitUi{UV>?8R=&dRX;NOAbD_#4-^?f!a<|wE>HGfkF~*o zwIsQpfa}=|Ii(nb(uzk6;EXBV%)3;*dDx&0V|2B$&zE}EH|W<27H0MWbM3YkkMhcM zUNL~@jPKAV-qw9ybz$~{5p~9A_WTz%2hR!YV#_G=Iy3w9 zui#5JM9fQ{4Ug^GIO-WgPCp5!34jx(ygEU)YP88p1`9N4W-RP?%}wpTt#z)txi)|% z_<>ojM%{&-^$TMqWd`D0WL*c%3Sakca^%nkXRNgdnoWGqnQk!aM9-pl495>gQx-h~ zNHL9$?2P$kwRvr_Y_xaFB{ZqD6sBUbG?PX`HuAMbTV@~j2b^n#zhtWwENEo zpmnubT|R`R4w&d;H39tG0#Yjac0ZNVu*}P4bopvR-Lk8(THbn#^k>#xQ==;i-EBPH zj_Wh33%4wgkStzij7<%^V=|+HV|?l?!W;f-@^g^j(KTneKj{Ww-g&;gZR!e%k3~BaM)^`N ztS4q8Y??7*Z%@arJNnl98q3S~vzu`acDOUbL+;15cA;<{_qajxqOUsHxnKQDK1c-# z$yA_qj|++7{I9nCMchWuOIcJc5le1n+07-v$oukF(%-Vs*nJ^3dM)O9!U3`PdCA+< zr3_xF>8Grg;r9OXLZo=EYt*#i(?f&j(j{8&bX$8cq$v{BSEQ>=uL_c-J8nK(PDHAC zKB5H)CdisLXX3b29D3zR&nJwu2^m(5v zd5ESbJ#=eM6}0l%O#I$g4u{=LDO_{WV<7qUTZpu<}0Pc=_Bbwm^$n#?1HXlCQ?nuYC%n2 zC^X80!#-jWF0WHUIj>P(70TBsd}YtaB5(cTUmOcC6feg>9Z$F(`RWiAI!;~*ffRx^ z*U|Cm>Uxi9p7CkDL&Ni#0e~mGa(ah}P}xYl58OqaNJoSP^n7q8)@M>PUC6fuv%`dE ze%moth701t4`-0b%hJ#e_Z1i1*mg|3!Aa*y_lUuQ^o+Z3yh*mVbrSyxz&*?i(L0YCrX+V#J)XNZ368Ie#B&@#gf7 zR>Yfgy=q~LVsBH!%#7sTqEo?vG0Rh5SIc`kys+Csq93JNJJ~C#b~3A6VmIdDFjovA zNr${EW46v~kG9CSa@6_I07;FCspPkE5}mv5?+C2XZwJW7v~tHr{l%@rLU+2KE4hvK zEY8@Itt9T9sM7JUWfc5&zr8I&C6#NS$rR?(h3T_5$~Wk54t+q2KXHv#W#mjT1!lHJ zyV`f=853G6R(_DVN}iLEI!&&zerv@%bCNE9FI`|n5rUG6N~HUy{@`+)_IpxO zbe&#XJTVuuP6#z2%tVV5%=WuQYbWu;6SHITvxLm}mu?WEe4q2EoeR8Q>3m?sv=M=@ z`D(u~%;UPSXHQ!){B$5;hDJQCT<89k7no%NYowFB?N~_CRj$pj3WqZ&8{zB?*oepc z0MSR(35M*Qv$1?Gwv3w;M3og%;T;|W2ck*N{f5;UmtFSl1k>raJnFtow-XM{ml#zi zKfWzTpZ>D9w09OZbC4xNxObYce<@sz66-sLhE*vZxD1?7;d>Ak^gt(i%+dLa+7?HE z>1V&?X11)XH&hqhMjGy($-{LN2;&dPiGObJ|AaWnoF#% zI-7_I*A@R2y2riFQwnknc3&?3FS#6yD%1-yUq6YY7@0I!Z3%yO?b1IK^hR4}<4QfG$zc)yH;kNka zkGqJ5t~dDik8V?c?|p2zb-dN?YJUf)f8=RC6Z|Qv6}%Ikl;|VXzr7jmP5<@E$x~1{ zVLLjUhj|?pT{yySQG1md{M@Xcf9{MGR^xd9XzQ9Ee{WUq#>R%scL}H^9v;i~LE38G zZwD~gpbaoO2Puf2=}^jx3$89M)nBTj{+M6{zggGN05`$=V^uhDXKw5WukOhI=Ldj4 z%XE%S;|;4sji<>pfK=QYqd(3DcHD_8i(b}~paVA*BaF8qeEYZ87`p?h_|aNXBVx__ zTJ_-C-X5Q4W73QC6Db`Hdb+xvb&fL!2I(iBi5I3Fu3p9lw#%#vqo>q16nlDlN(Mq} z?_lltr%%0vVyJ(AWX;up1j!O&%j?7X5z7~Z^K{20BLohOhd-fC`|j-N*peQCYfkb=lj72YF-tK2fnqZ$mXbmINs9au%1F3;VW+6s>eg!GzLzGMr9tX;}$SYu#7_mc*(ap&M-*q z;PYA!>VBkEqq%XAQ-6ZW#+HmRmkfnkO)C~Mvk6zN7bwPL+qs?7o$EX81c{{L2Zsmh*C=m`DXQi)-FhEr0Ry3 zO0#&uPHKdzwM_-X?3=L{F6SG$?>}DqG-eypKti6n^URv>Y3Af5%5`YV>OzRgvU&zI za>t;cZRCl3w%}S%ZV6?Zrd)Dvj+)yErd&dpP3S#@zUxdOAFp^uv?@NU{UdO23wgs7E8hRNY}@yNEJQ7RV;M*In_mHShqe7t&hetRCj z<0~|LX5k16IpU<#(D9Z>V@&2Qi)2PMVibv1)eddHMp}Q9*`h3rM825z^#5uY2n#|x zi;;w$eAk35GH(6k1Mm zP`J{-Yp$B^7qC`JS&P$&moXgjZdDkpN(^j3;TN3g2h*cbs4#|XE1p4Drbf=#`K}xdbWqTCAWtnB1!c-mG{P&aWk8}ZG&Ro&s_+f z#}jx&gF|3f_-M;(9J}4JQiBb@&^!0_&7t=J7E7UXtuN+F_FCHSVIp%LjSHBsYu9dC*+nk;1Q`J-A9tn*Z7 z%7|RTm)I7Q=E+gR^R!Gf`2+l_Ee8o1$Tp|#|2&6(=*Nj_maw2K(b%Hicmv}g3l7fl z74TFr^qsZMvU>>JjyK=VP ze%B++XfCau(h{ZN_nu03tPtHMjHnW3(V!U#n}ic@o&Q$j=IUgDtaop&+4C0{eC6(6 zHt~c#^fG8 zA9HCa>8sseKQuJbH4~<`+bf9AK6O=ZVa7dG^{?~k1o_?$*qz%OM~A{kQ1c$Zyt;5+ z+v(A!L)yZNH>YFSrj%JBopMB%FCp*LRObr^aOGC8wU?25rXUmDz|GS>Q<}H5FRTK0 z^VD6EN^wY=nI65{I~H>PhE<%l=rw(;8s7kimJxSG#A3T1|MP>_F(G9RfA&CXpKEoE z-+*YySq9gdZ!+uFG%{5da#FUH{ft3}q04$g6)HJ^$v_F60 z-EMs{UBp=!636KhLOHBm026Ytb;bW^QA1^PMIG)c#bj9!O2x7CNj=+M1d>rOX73dA zb;D%JuA*33c!uGx{$V`4@ge+Ul{oGW8!F5o0ZGiBk=dw{WzXavo>ji1H`-NcMw!yF zMe3@P%pZ{#$zYj{d)Q*tU5|P&b#PVbA)Sb6K9O3{WLyM|Pag%-UCP-H)6K_ETjHgT z>o5fX6+Xt8<%r#y@!#SulK4@FskjX4FzqDT)97%+Ad~T)d|8S9s+lB}8^vi=P7LFC zeRq_0Z=h7E>nZzt>k87u{M+$!IipnyGnSq*4Q=Fpnv>;aw6fmcS+Sb(L z=qHTHplz1d1in>8T4L#`2Z~T_e|7u=ugg{#X-W+4?yDBBen0m~0}lhiR;8s5tB>%> zEK+8BZ!@Q1ea=D~`oZnJ|2UmWkkikbd(EBaa8F@cq@^WzzdtCZ6x?dQ-GG0$&n@n1-l_}TNHD$O`?;4ZW7M;-Kot|55w5HePdVkI#8&?k1 zZ}+ozjlwQBdOTjgp*tSrHN>A;IcLMbz>D`nad4r#%x}!!&-EF}+$H!@q}4*i08=i; zh&^t94!$W>{OB&C%AwUGT>F<~0<2-Imz!80YFG*5<`9csU^b+ZWc}61xcsHPjfz7; z=mk1)O!}#em%WfmJ>$k(oe?|Yd3zl-=k?6NL#yCKa)eFBK0mlfUZkU|N7nmJ7iBTg z@bQALv$LSaNm`FuxH|_~y--NH!MdpsH3+%@)r`d>^R(+ap7Xw!6dwg*)^BnjiD>D* zQ28Ql5Xo<3(%9Ar`h45%v9AW&Mq3WA)Z;3iI|NC5M`u@0ZOL~l^Q%d%JVHzoc|WLr zpzT)|o|nB(O()dk+S6lg_{gf1JMP_(uu{*`rgiX;V_3&~>_DEGI(B0P17laY!z+3s{;(qHt*P$oiMb5?uyv0;RkCU4q;o5n@r=Az1b6`Q13Xl>;&gE~FT``!(|RHysV)2x`!t(aNfs#~szr-iMy ze6Z3bnXD}R4&uOf4B3?(U+EZ(bCD<$2e(c~St4&oPn&ms0`K~;DW0!6Y0hnP$b6Y* zi0)Y6F5xq9n%)d@Cs{%2SJT@p%fG+Tq|+9Jb>zw2hZjvojuC1P z$6NO;zzPCrrz7+l?re&#OH6mR-DQ>ZP_s-@p(wr{{Y{Yf4b^awu7|$QW_0Isp20mw zS^RqUkiTZvs(I}WNKlM^UwLSa^z_`LV|^$SFf(yV;NU>JuG^D5e_)T%l5FTOq_7b! z;W#XybVELYRm`oVrQ4C>ld?Hj%uIG5yv}Ho#h0VFBR}KDir%Ms_J$;hI*BBkH( zxLK|3QZrE{w6kY@WJQ|D%dUTV)@KYcePDNd4m~UV5#c9vy71coR|>+C?qsNWku-l3 zPMAR}B5T_>Aea-(!{O1gd1$P@*Hot}X4CL8PjE}y)&yVVQ&=4gGO7sn6546l{* zpi=CO$Tg~88{p>lEq=|SncpI{{LgG(k9^%(J@}+0RmjIY`WihG@pz2FJsV)7r!jA$ zbfQ8M6%M+`8>eP{t2!}9`p8(eWrr1&g^-{UP!qXZ?jdpUD0Dv1tzr9tF3(|s!&;4V z2Z*l=@srL#GFdQ69ifg@aY$~VPgJGuRTwhUSnq`lXM1<%W{rX2Ml-fmt)dXNqjyo6 zq@FqXW$|r!F4)M8RNjkb(ibA8M!kytVkHH)Cy=x4mL2 z*h=a`(@gQ-N44D5XrzSUs#^TU0 znpU(?9k+08#^UwK&sw4VG|SZ0CRomQ297Rq!ka24k; zSIWOMD|b47EbbN%)+Un+z1D2(tg739!LR)1HX!(Nm(pt4maQlD!zmJ1Rv0r2ipMBE ze5|D)sz|JiQOT@MUurV{tm1g@(Itwk0XBo1xY+zieCo=BOGgwS-<%UZt23rgW6sE- z{Fx*P7-ueVJ4?6lUNdxC{A#Xrk=T}8IJf-nhBSpml~2o|T!1a>;+_*OV@HbnuORGz z!kP=3A%lhAzS)=b>UqkIROkLPH}*JWQjk%WekXAZM$W?Ju0Z00 zS0{`%ODD7(a~EFyAT=Kx|4C|W*#8Go;|xnS9>k%Vk^CR124{mx^`AD-kSG3Z31i+) zn{e!?a7fwIt@jYxy1@RHrl?T$`0=P+Ja}?74`vy4$!(5W#)|W!A%o*8!+J&HKGzRV z_(o}RYfcvb}zcqGH$C>Z|x z``3^*tW`%mOyNu5T8p3X)$@SRS>1{OU}Bf6JK;{%Ds&7=>;m~891U{ zF{fpM2rxM_7z+8lo+@P9<`dOmVLee)S}k2=O>4wp)*@c@Nqrbsp}bL(X5mot$Lo|? zj`?o(7sfxK;-0Y7nTrw^;A=h6V zsz!$oxqAI@Bu=~MUZqIH{tWy#?LEBmTC}L@b_kccaKu@9RrUjEu_O$MDAfrb;Js=a zc(dhCa4r#~CeZ8R+D$&eG+N_Cc8#4QQWp2Q0QHd6E=wXukol6j){bN!%I1@sPzqe10h0FttSXA{gr~cxi)(}` z*4}~I7MVp8{3|4ZD39=_srTy_){7*qj$+VphDbJjQ^66RiYTNlT~-VE;Y}*2gD6C* z;=YxMfQ&84c-{S2(d!tx+CZ)2!AB4lkK0=`gIwb@Vxs4jOJjT$`}+<_{25GB*(j z?C5HDO=LQL#FWh!hAmm`Bt#WgURqo+SZEIe!;YLC7U73;Qf=~LMej8>ys z2)vq_=t|eAot(rHsOdACm0NMMdnFQhNK` z%n|csrc9G9hs}9T9i56)SD$%O7s8OW_8!=WyfqvfKR0S#Q{U)K(t&l{cHCa}5zq4< z^oHcLS%+H%mE-5js(oL<2kzM&7}hjS2@0E<7SSv~k>fAT(wOjjM^dqJ@0McZeEdup zgd=)czf>8^)}$l)2gK8uwe6H@(rM=0Me4ozoF6X|+M?8KZNyWHo21-jK4c27VjS%S z0-bTs{Xv93g4&7#J=;9oBe&BA-6ryK@u|>e9-g(B_Ti0-WPrzQd2ZbtOFnBS~*qIlwsX5+~1i~HW5WMkqQ)kbfPwZDK zK;e+hkNrwPC{f=`2;iacaTma{Yow6Up zgab6vWk}f!PPU2;C`Aa@Z%t^>yd76#=DYd2qX+;lnT}S$ThpmUsfklvHjGf!h>vCt zJIV;dp!PN;o5owc$@-J?xWb`LdJf9Ap@^G)1JL0o(c`&%6;6}<&8~t_jkYeSk%8+4 zjmPmFN~U`Ws(|Pb#K%ulJYNKc>6a_4q*^)4UQs&@SdT&izUU(v^~n0h-##T89lw`t zAu#WkbFwH)K1fWQl?s1kJ)h+6J(wP46?`W|1iw0hl;%w@SzOkL-P&l9lKYm=cDp?=S2=*5L zt{0DGC8^3Jb5^Hoc(J^{O!n>@sHqHSHU1~4k>AMw zB~=a&uSf^HNKFJBiP zp7#F?c>Zx6UL4>e!Z>Dfgz!8*4h3y@f4x`S>yq7n0v+7%gs%N>Wi9{f7P%%sHn6$o zDRR7bTDIPaqgsN07m~*PMcfbQ;{ixi)FhnRv*aux7MYloq;Du{0V-jd<*kvu(IotS z+4q0fB>;}W^~i062;TJ4uW4;nJw1C&r@urBtNF0KNK!cERz-$@WIxZu=lmoLkUj9SCc{76*L0rh9iCu z4sx6Q;c@v1jc8$y;nER`mDE6o)LAC;>a)!UPFrVECL6WOs7OCi1m`Sn|3SLqUDL^7 zyW`*$lZgt{j)6|AR@T$#F~S5k?TQl{w~ky&6u-B%B|2D|Ga91k9zX>YiJs)%^PA5B z@!;J$(P|V8!y@r!^Ga~2c5qxDs~}qyKJ8~sLS?UTC51*#ED|)%-JQ^l-}O~)z!gE^qCK~750{L7S}GmYyG|sVx-W~U@ri$794JA^*T&c^(0tM-AFKPWu5C# zNrgvvv5{#s&hlo2KjXuetId~aT@UG~a7ap(sw3b5N>~H`8<^q>B}tvaUY$~)AeRyC zb}KX#aO7-%1a?Kty(G@VU|Cd>aU1%7Ys_&pWL|Z)NVR?qiN@ zK9}KUS7K$ovzYLU7f)cy@Q#yCxAfCz0YPad(3-0Lbffyxk+)<|XQ4AaQ*T9BN(wB+EAQ|2_K3VqT3TbVPVGumMEU|X`liMeO@S>?_5 ze5s@~BUewcML}cA6SCtnCRwRB?@_wj$njrVQ$DF_Np1xmh-v(O@8>dKJEXt5L}bgz58 zJyrT@kz+HG`qLHRNhJ83pPux5@e`2ob)FvNo*vENGWgIK(CP$Ho@;yBJ*9kt-G!|5 ztM9GUD9wqI#}YS`6+I@`+X*>&IhnkZa5mxPgagMit&ECoqg^#k>$%0OB4RJK1Kah^ zy}@t~ubcQrVr|h#i~q_ z_Nbk=-fQh876$wX49CLDQkutSIs!6H`R28hY|BvPWPv5wA}PvB4{zwKl^0#s_8t7GEl;e^UvqGxaLPLncuYbQF@W(+!SaybSpGj^k#jA5npkd0sKO! zxAu00Re}Q?Lig~`V-+c;W2Jt~5S;qGMHjQtnZ>Q2OW1n52RKyNAGvm^13R`xshwWm zEjbmh+zHY1JS+rX{7cKa*9Sz_*^>dbJw@Akf`14c+j$&Xmxp5V!jM<^0_BMws)@|| z?XT^~`BjrvUUX=)2;7O#JF+S^_QMC*H90@xW)02HMODSpH$vwQdmiqJWF)Ilbc6#?8h z+I{;VDc$khuq4%6#@kGgZOZmba-~Xh(!gGG8W z*~PoG{#;`p&dz}5ZKIv1N2l2055lhaTAr_is?uaX4@e!N(FpNAb_mBEs#RVPNa$Oj z%5xHYo0Z6q*Xq6bhiJ>AGY$Ih#i&wc9`+fem5?X3*mSIf(V$X10?shqQXJhShc7>) zVu~SNSuqQniY%3YCN;KLNHg?CR72|yiK(c}|IQREA`RZ*#)#&|j*vSK&OfWDm|=Tu z11Y7Y56y8^p{tb%ct&~Ax5c^m{^ApHeC5*Md-LI}u3@$;9dtCT6tP}h3>i~xlv_T! z)#WLPG|IK^b*~*uM!U=yo-kxd`ty1S1YIpvClB({UiYFUWZqWJbK0ZL5l+dO*w1#% zG$LKOM}~2ka}D1_6;u8km9!%JXB^?+gt~oxe*SF54c(chY6zJqsgg{s+^W15%=4@d87nDUsJT$?USWN3ffo5&Pyorn`1A%?#kQdNeDYZKj?I0AY{DbH`WQ|4z98<{%!h!?jPJ`EYT zwbb(`x>CP?xx_;7(++-!3cSjSW9&97*}K%v%7eX`3SNdR^*Z3GkEAwI|I_pbBf|xdv!Fq4}J*hC_CS zg0MwD33uXyEtj@f7dYgNE!@7YLc_nqPjih+69;IXmwoN68CxwWhu`nfa#nFbb5%QukJTSeqmzH)P$d#k~8NY(9 zxD(D4OapVq4?aDp6mdhPvo14n9#)r@`ZM}~MBtt$9e(fwHF6Dcg0=^u@oSG{w<}1i zd{U+M;qP^X1KXV~O*%QM^+aEpC@$jT|faK}}&*?saXWXz4&==tl zXo9C?g7<D?(&-Xk`&^@`G*_O_H=UU_J}n*XsO4xhWyYIC)hsPNk)T(*$2sbNU|;*!5V7t40KLGNRhiw|7wi>@6dc}pM? z8LKpf7rt=o2f4&0%yRjRJ*}GT2=kMVVuc9=txnH-cc*Q?>plBB&;6d`Q2{g%_z|2w zWhucKE{HUYfs2sq4LqOz=TO6o1dtCG32H5znZ0}ZSCm*HS z*++utF{fC9AM4sroW*3SexHkve6*WJxEQfvrsqlRWL-es>v63YS2c1l0V2>@C@3%W zU4$fg26q1d1KTp-x5+0{-9Zh*Xo~}gii5^p&f$zl<(@gm8F`WYP4oS`J<#ShJ|@wz zjV^VSd2MrmCrip7V5GJ;y)ai9Oy%-0=1({819ua~?a2ceu`-HCD9fZRMy3e96Pi&w zsHmX%oIh)xVKd*L+hL_KzE0j$nIo2OVm3t>J+~2Rd#oog-13(kdQA{EOike)Bg#JAS($Zay+Url z$$IPAR=@TQG>3SZuaFSX-a5(b(X>us8MR=1qnucadtWP8uyNwh2*7_({x|o47Aa8( zAyr1+EF$~40QtZ$CI2H#3M{(DLE1nePO zT=je^QkwBtdXa}@^ukhUE1@x2D5B`_G$H+B^Jq3oPZn0Nypgwh&D1q#h1qP0WEh;d z!z!)bmzrze>Q0(Xvl!ewh9(-vZ86d%%ZyXn`n3gcQeSPu3W|W4!vk>9{Y;)2>XS=x@?u>~R1N@d0pyl zFDF_FL94wlcDJLoIt&pBwJNI{diy+wW}vL;Q~H!jp9TMPUyPW|Ht7)Op^`ZBa7TN5c9wb43JIZyqE&*u zJtXW-8k3gxUy~KsJ8n7$T@jFV|LHz>v()zZht0aqIGw?c{!Z?jj?)T|c6+Sgp_S+^ z8hLX;zf4wSOp+slq>}N}Tki}RQeW&|I#VSN*e}J(rwJ{pI!Cj&r*a3F%iHmYL|8f~ zDk`dh&5JR_bCz=Dq}%!%@Pd&3Z-CeK;V97MkTCz$z)Y62>5B{*(jW^zZ}X#Ez&4vM-GS7PTi2%T zM`g@B2#M2!(0Jw+NpZimE#*3jZc~<{7c9uoiBGMgjS*kE{iZkS>9t=h3RSN8 zt!3rk;eA6Go?b6Aj6p#vKA%N1%^=a;Ly%Tpv?-seJB&I)^FD zQgp>vx)wWoEg{B8?Zd%M*Yr>I4JGQ;ei5E2UWXlLBlylvMX zS0Rl4wrA>jc}Obw3HH+vRVV_$d}7D{m?-;}k>QAzL!RSam2WDx@XIP7$LHG{F6n{F z3V>@7S2S2?c!60|a zCtf`@>Oif4%9=AIZZs?2CYmdIP%jYFJq#o8r9;cBv-2BmoA1Tb zw@ue^t|2|N-I%oOfAPTwm$Tvy2(VewMR#_7HwC9*K{e@fW(| z6{j69J9=-SYp?V@?&P&lEQU-^Ep~7__4XEdU9_4ABv6Fo?3gHBOQq5Wja;2G1yh^< z*jE1v!N3uN=H#4U(|dx`ET@Cxr=EC`6x6M`H7Bueo(A3Qh6H#PBm`-LZ_*|vPM)@! zTUAM2AYPK5;5L(JkM4&t>fqUS%65@OraSm$AFIfd8f`k@WLKWu`hRiCvTcQCC~@kSL2cG1ySldWo%UcyPZvaCVH7L(G{L7^35ahB zNupbSJ%@=?!|@LnR*1F%K%c-($o1#vX9WvR9xhdXots3oM`<13(~64gEQX1n?g&6Q z7{-Z2%QllD33SckW!{S4c)w4w4Ezfuo^BG$s{StA13djDt1)9zLA|1NpzW^(Wg8dE2>2g9uG z3dR$Az{8E-8&9CixKULLmdO?cls>d_WR88FZin!_g|poV&0=CPxt^2#;)p}Ica`iQ z(c${MJ(rYl3cqcmMP0n3pnQ~b*PDizb8l&DcYCL@?QupV_D4C;+Gj2s(JA?rzUNmf zi$!)So96Eb$@Z^mgYr^;|J+>zWU(!2i|ifZ$TpAUG(p{StUYF}{Dfw8i9$6c?#d2{ zEvtd3nRqehNK)Gplbang?Z*fUlP8{dp~xBdmkh|sPT>WbQiHD1MlJ?Ss@2L@<9oPAOirLT|Q zk&L&v`0T}{O_5=xlY(}q3mBZ>b#&Fg1$u<1_Pc~p>=X)cHBM|j&3gL_!g#(2fSO28 zXF={4Hp~0)>xppPj%s(MI7&2$5458wQ03Hk0vaXzj`Pq48F=1n8QE9P8pcGltgZ6s0StP!Wsmfo9t`4j3oT`U9-=`t8zf1DI4A zyYjOXFiS;?-kf`K;FWB@>sWD3k_t@NrNLecq`F7+x%U-~>XN&=8rtQf&}ov$h_eot z^ZN-#<9PX7fJQamngUHVVH?`OeM$otU{bwWwzZqqfhf7g^7uW$w>!E)2wTokr>iv( z(3x=!$J5vTbxY*6r_1^fV!L;3r&x)n`5~dwdOubz^HOSXYFpl=s>g$Y7 zKcE-(?)W4O6^TjWXn%R7tnCT6%D6BdY2^JvzbsR_5alzy>Th>9Lc_K?7A@)0EjeN9 zmeVWLUXtEo<;g<|>NP3tJEl$+e`%`BP96I)XhJIIQYL629Hgj~{ABiWeOs6E!xuwO z^f|;J=GvNF)O(+@l#F4sL0`?w>V2${RaB&N#NMmM=&jcDp^-aQ4Y$5w709hZ^`l`cM)8D0k|^ znmYg5N+10mxdUYT=fAL3hl?q`Og`)v2Mr z|K^{{sLy0hU(U~0pUl{vOmEV8o&X{>@&yk|x>^2l%>9@S9k*(C<>f`UkJtVw#lq9? zI}b*F@0peEwRL8!!1UH;(sN^JP0IIRu#As3&%5Eee~b`;U7C z*M2ViPq_9q`CniOT=%v0f7@p6%D?Uwym_CKwH)s_%JXzM-rf7sy*DD!4{P$P;ZHTxP>2SD3eZI%9i8rBr#y+KY7%c+Pz4>FLw z1FBN7?_QR}Qdl%bw5OpWw~b)Z zcPot@J<2Vk>2q+HiUJEAo2KgKxZbOX_3eIH+qwE;v#4fyp|zub!VF>^PeG?Cb3`TG zksC+$`?1JG&r0w&fm8-D(Dz@12f1b^ooy4hwjOIKxSF)cLcQ_0yEg<;z9W?Q-^EeK z8=eX>;-)5`k^#d>b77LyB)cu0fwKIy+i2B;cO!BKgil1X`J${5E87#?&B+NCJ?vVM z$;Y>8X~?^~#5^E8T!(U4z5c(**(jplx1fK+s6VnTFQ26GgtEFW#0~zLIKf*M*{}-5 zF2lB(`ip0vJ4QU>{zfy?_k01F%Gi8!{Y6#p6#^;^yA@>BX!Fl#HT6`vju)@KOd&+Q z7vT_*>(`5eN9svo5vpBKV z+oIan!;Aah47Xt9l-5frUz@2Tj<1r~glOc5%MIKQyQp3EQay~W5FgQDO#`Lq#GSQeperHD`mkdFW~}~ax`mz0=`V~kb75o>py@RYywn7MmGtQ z!QZJFl0#Kd#hc8k#O&%jDTys}HbsfVLpAKbzD6=Jlr=50pxtsMBUhiQ) zj9(6W#yQEhgL(Qt!MNhiy~(ftf55nkw9~15f?K_}xR9cVL!AZh)~l@Q-SPktU>PfN z9AyEJyUpZD+1#acC&@?<_-R#yOf8GHt=EKz1yGy8vuGktG8P?#PM;FOOynPWRFxX@ zY+8*v$OFm5WKgQxY+A&mufeUZE?jPl3eUcubiXd6kyV5%pm_8_XoBCCr^-bFSNIGn{k$!5J1x53gI zIbq50Btx`CvD!~#QwXXOF_j+Dj1Ocz!X&5T&cU?$6RWl8FO7a4Ik^p(JREPCMFl;0 z9s|;LM+o1)9AUR`s#CqmWa{+v1?$LY_W)c#{Kz%nP#$Vr0u`@31CD7ERNBsL-_qce zm2N}s=I#KZDNWz3r=NW+B%5t+ZC`_9%;M-*iN4P&cPYLmy9v{|7GXe2Yra82M60*N z4#CGt#ABFCR;6a(ZupWz_{W9cyY(oM$z6p4&tV1Rk=Z0B%s&-tf+JF_;Log>XT%oE z7KydI`OuHA?+kgbzTF4N*1PgAX9ZEm)IU4%3+Hr4Cl0%@9rpQK$qo0f5`S25wD^mQ@pTA))?u)(x z0oMR{_;$`oQ!hXO9agRRs9r5XI9rTvD;a3=ILA1Pn^w1;J|kQ(F54UodU~3iN@M+( z7Oz3$On%}V7Nf2T1X$$4{!xvmkLM@0_Pd-F0pInXH=!eRE?&kNC~LJNFTvtFVk$sp zR^$H%ZEH57a~Sh*hpKDT62o2ufw;|Ekbf&^pHK4QhO4?ZTR+$69dxgAPGZXH%d zyVb`xSY-X8BG`U967|%pZ*>5Z6!pFI;Bi9JabgF~jnj?w_sm_IF|#duttlW%(UB9U zA-~gxA6#Rm9>p(BJd;Z*y0YFT!pe2<`Y$+zvcSQqk;ORtN^gjphR=62)geSxLmMxO zkh11UQ}V!bU)f)3CRwu7L$pcdWFyS1=zb3*jbJEh7^iE#*F; z;@`Ru4c&jzs+Jm_viV-NmgME=skyqc&>yC|%F%yBuBoTu;v~7SoCeYPc24}V3RFHh zXC|$~--g(1l1LRtn--`Ff1*+;aht8`5@E%KXG)*4{<+P5($aeAhj+LH{{zpx1}6B1 z=QjCE2Q3zBKHP;Bb_S??x4`_Ub>ges2-2+(m&`Qs4I>YDIe#%O6JVF)Ql>FudHP<# z;75BrYDWzTjvsn6AHXPIC5`AaU4inVwyD-Q2*&c}!RIhPXGo z9`*X=WVg=L9PJ+3k!K)eM~dTdWjwt#DO}cW4KIt^`RUPeVDW2A>-l(BfT7`F%AHt6 z#U1NGEK$#|xARmc@$lLLUjK*OeDago_!y&qDb_lze6FohmqLpq!=sgBjKmKSiLp3y zAKcy7($n~1kk7B&htAKpd{3=LZ)tC$ls!j#^%p|df>camuSr;kkz9>fi;}232bHNY zde?x9x0$?az>mIRanK@%xMLkAyy`$^ z8nePiyH(pnr^tjnsSzU<`!-=nE*jZ>mI;$QT$4E)&}43z9yFN?H6*TGEwS$WqA(wo zo%@I{Q7Rz-b)u;_W@i)$hgPj3q=ESOO?WNP_iV|0Iw>~iv zv5cs)647!nK$!iykLU6338m(f!`tZs8z`A+G_DoTU_-Xf%E**=Wa=VLTFh&s-4@;`}Yf@< z2ncX!JKOR%rU2zH4Zb-ik=UBm{YKr@Hz8}S4lfB0i%NC;8n#^Mt+X;FaI>XpGG9S) zt60INR_f?$$8sK=5nH!%2>PF~P~5mai3dQuSp{xh_IC)67K$;CzPBC5gO33UH<-P9 zb04=AsNQ2I*a0b>Nr4E+t=LFqYg-D+8yq)PZi&dYtxi*JToVU#8?nHaxdxmAp`Ik^ z7UHbQqx1q0!DC~EA5Mq2{sh1$To@d!<={wAhD#gx1OlEOVQVuC>yU9)eEr?CPO zS}0n$ddOjSpn>d%*3!=1)2}p*QJcFWX1>jQp=qj7@s6w$pd;MD=VLSIgrxbRuG}_ z2rueB#I1Ex>9*jh>sy)DetKj{9UxNQ%Lgufr=Ki(meq*f;JGMwMZgGw`F7`t3sOqb z>eb$lR&)Xh)m(ZjwZ~NCy`zFuqEuC7zwUI`T{Z9CbbtM^FIlKC8W6IfA(H0AD!;cq zFQHx3|K!ql>D64M>Fs8ryh1ABo)!B`s+?@SLax*ZN1jlRa4&OpyE<_bgPkCdy3zycaOQ0JgGYjrUm6 zuXRs0rZ^wpC&;gon8874nOmJ#PIb~|#eXVhDkCtdpia(PR7-XPp@W`PqX*b3mD@4k zn&i?|z`^du(y%c@evVS1jva9H9+SY>5tP}1AzF61>*Q=2@3Cw#b~Uq_&BkNGUyDU5 zURET3b&>9+ALeMuqj)=P1*CAmTFInp(jm??&FOLhsNWg{raf}p$JssrCZpcb8b*We zhD+dgw^;Vhx)Hty*>p%KTs3mE`>HUNgbb$&Ix4dm@#@^r+Yw*oV%#j(HZZOo^i&Pf zZN~7-6X}2+5wpC4$){?*iXLM)kwK+t@YlTVv?)$)42zfyuQ*tS;yulgO@*X?3HZl^s5?t=eodhoL@b zd7=`K#u0qsALW9^7=|0?@s@xSL2>6H>AtBitrjSYW>mbRw z1P@i6sMs2|7DP&OET`E_P|cXmnL>u1?2`NX_%O^m-%E;LeF0^Mm&Sg0mwM-x2ZB$2 zi;>WXTvZ1E(2@ACu&W^N^!9KggkP%M(~;s^bwD5SOR1nwxP_**Y(AB6cO7%+N*9)t zjxfwasK+~YEjj;$bSCa{<;lNG&Iy!$e2-?pJW9bRUkVFPky5&pN+5LUX{1t^Ur(ls zPbDwFb^O!}Dhd<)2O*XSGoTih+vSLohkmz}45#0~qe~f`=GR_I<|CV%L!ueK`eKIk zJX1@kl*tL}Nk&JqWV0Kf(o?G;NAX7w0z+!%v;59PqPzcOKt$Z&AzP7P{eZ+FKW4T! z<^MR{{2TZ=3$h$m-TWK)UBv;vYulCT^PTYw)ttMeC6R4(&pv;HUAGC_k*s7o9iKyO z-m4}+1!t|d`uEjXJD+JZ06`=|gXfZ&>5%3A9n*f_L)&1xErL=r=et^Ku0o1A4PsI` zb@OPzQ~p!%<{r0BB~32iBURymTgxz=E_!kP>FW=ak*&`PR6S0;B{y7kK0Gu$e5x=U zxd*lz9UGu@<)587dbBOHAcqWB&=9IqV)o4_iNi$ZU_+Wh;@X~>LkVEGc^nA*BG_J%cI`{EO+KJY@3A;HHil{V!OuRwF_zKq zDL1SKEEj;1m!#Ca5m}#SQqk+}0 zJW!t~WdV`$ABM-SX#6Ez#=z+BvO0X;3~Ofnto2 zr_h6IRKn(3KNxpmAAMM=M6ONl3?w2xnmL?l+R zLPE9f?NKE6@)kzi`c-N2VP_rWWY{{t^E{f_YXEzDX4Z!cNntxa!l!7q(^a#o^#!Hq zvN8AFUYf()!~Y!)Pi(%nS6BQ+UL`fhSEMzx2V>9Z&4;L zBc>}T&mb6GLn6AeMM7IU&R>KZgAD^)j3Hts5N21|HkS6}o_;ltAb~KsL?YpB?suq4 z@|Ew_vnvRSFXjPWcYpGls>gzjkJ<_~|E+GopsSD~bkz@3-d}dAmAlc{7wa7n(S2mH z6fUc&x})xK8ul}WFI3|Oh}RYddwzcAghH>*GpQGH-eIo%-Rb_`VMF*ly_iQ`oZJvG zc{eIxH)EizMQ`lVMXUE(xB4JnX^SQL>k9-%4uX&5s^s@}H` z$!`?mBve9(h@xJF9PR?^j>;TzTQ4I_&cusXyt9>b4ptc>BApm1olXC)p++unfUeRo zoqOsk;GQk3eyvMYpD>rN@eny7vfbobe-^4D*gpYP0}8>Fu&p~sPoGit&PtPEd?#ls za?+T7o}KYn_gDbeTEJ8eevRU}QBAK{Eju@9mZ1=|=_@8^Ix3mvX<=P1NB88G2VZ{! zelRX447S_-ZBoi`$!^5*-^rO z;+*H7#S$0J=j3|R>khwlBju&yz--;)tth>!V(Vi09_9d2#w0{q_I&PwGJ#-UAkNv_ zAZTjF4R)j}$}Z2;J0@%@eDg>0mle*mfnaD+=N1qcrbuLN-~J}!OL>GyC`1}RkoPIy zU0?_JH1W_vo@efYEIAwr<}nHh*#Yi`+16**SYqhTeMhO{Vun z3$wCHEJAhJ8rB#fj2`&d4ByM+-n^-{C_}0-0!G?=mPiuuRm4)73}@% zfxsL7J1LyWzubi@8hI+Zy9$wt9DBO`^6Z&&SAtu+SkIZ0JVs3mY&NoJ`Um&!MvsVV zaiW9V+RMELEvl|EF#Sn#h4T|KyWA6Uf!HDR^v_2x26Teg=FyX<4%4F5*c~P4m0#}@ z_j+=apX{Ad_3_xr6cP8jx-M&!mMc($-2t=aB^YS;i!@5!dJNx zyN?mE4=v2O?W9S4ujG)8*83LK)Q$h zF5TCf9z7J7glYyOMXgNxYF{XM?>zALztH58%WGv zxRArFMoYuG-kR6QoU)|mD7Zl*S<53@zSKN==~Mb(Om=0rzzEDHT!(I%AUIl|f$jF8 z(^xM$Sm4w3&>W~fW8PmKtBAU;78dSEmL=>z*>kD8Dq$-nvf6j#;!edk*qk6KPfp%V z@0s9EI4D_QLW5cvJ+({}cT_7{9@wl)3TqpY-j!F?Zxoh3=_7kMnAMfgC&nYTl(Kr6 z@%?yo+@XI?wt76L)KnCWmj9e7;!9c@_k!_T$Ds&uZKV#q4vUR)fujg%NubY*TT1Yp zb1Zyos1e9Gf|<;2rewaH*WS6I3i=sR!9$qSm}!(2ppy1jfz^eQW?zw{kP*tcCK#?Wi!$gIuV16r6;XXuk?8`b&5 z2F&|dT2&^_>pa`%Ddd5Ln#J`xcg&!uwlFaZtndF@3#>gPieuVG@$vYK8F352xSQRj zYVIQMX=b-t{zFA8!g|f!vRZI@?WRwH5f=B8SP%OaL@>Z9Ec5xid!HrlJA`7z%SKeZod$1`O>#iZi|!mpL^+@%?m z(_#C~k4MN$3l2~LT~0IF*pV-@v*7VeOzJA8LIMuDtpg!xH8g`it2vbT;6!~SR#GhWa>BpzXJm1z4zy7v%1;aB2qrfr6K(FEKA{S%pSdkGLri0-b zz!Wp*G!nliLhTXXm}0qQ`8qkTCCx}aiMg9H1jiKnNLsIYDspa!JE!kBjm@-&37VYk z^BL8Rcg_0n)nEKrg16sWF=l4KziSJ%c-_65e1Y8*jw*_oU1l(GI$+KdGE{xmB5YQ^ z6D!4|P?)TmU$%31+dUh0UcX>&!vT9=dsSt>5Y-oRx00^RRWLN(aCE+x;~LMhVp>yf zdXlEzIuV|$!DMwe{UOAiTQ&xeW)|5oKwDr~Id^b~p zolivZsMGd=-wP^X&li_DiVsmT9vJCt#x3PHv^DNql%R~;?J7qLqyW95@$e`W9qn(0{7aE*LiLCx0D5vcU%HM;Bprfd4fGx!dDmr+qh`|m?jUa;`1 zh7#?#d%Qt&(-UrCX$dp>2JPJTJL8oXsEN$CN!J(6G@Kf#g^_Ecmd9%{vvH6r4 zvUj7UB852GPsi)S^pdG8WtNXpMYPbpey>ldjkqI7dH>#5Z2rZs;7-G-o!?$wpKv~+rs+m-XxN7rlrZ>8+&bBi*3=f z_73q!qn{RGp}y!njzz9#A#-CSP8Y0(St`&4;v=_$^9 zGzd>Js7*N(SVXvUo1MJK({vtuIm}L>T(J3Zl-;86y5xN%TjOSAE9f&eDD4CH*m*gA zNlTbl_tU5;AD6ZPRjM$%)dTLM^G%;ZqJHMRbE1`(t=qP7^ zkp?(GbE%J`P}Ef8YJWPZ>!%9JR^t)_tB~Qnyimf0w73HYshrdKzO|g$zuIaAyT=|U zkvS;@3TE%z|FCy@IoTv<^&!kj9v->%a^P?O%9oLkOnc1dHj4GP8gmPRv83FSKK}`S z_Q2l$1!zq!EngPd`_z1hX?aT&eZAgkOk~=$<0(#KlVq8zkv~Ns%-PuDd%Ye#6lBf+ z>^Cm|3bUBkBkjmUdl55Xe%L+hXUP1Zo~_c!_&011^PkH6oZQyc{?Y)V*Uy{rm&pZ@ zrk?G<-pq%4Ey{>F_{Je_X2lnhq0Y0Tr6&puGo^UFgaYyf0v^H4Ji`yii4Zw6?4b-l!UpQ&l}>9jQu5Wqa?ohs*smOvAyC=%Q&HazN(} zouF6RtmJesc<}bEH{>S$nLe7i=4u1VFp<4Dn(-o0jViou?o`Z=sqFLB!zNH|d$f~{ zxD<~nVIBC3tGS{#7be8g<3r)1Kwh?Q$8L!7+hpotyiIli-VUSn_nYELP=DD>648OJ zxIkA|FgKY|;jCfO|H77i-#dcvWkw~_+y0`nt$FFxPwV!As}b6{ewab!{W$`uHn~Ex zB$pi#2N0kb#w)wHCeqd(B)G(Khx4^vWv%{iED2J=OXqu>zIn{oa6B*wv(m{V7#?Xp zSve7fOsz}sy5k6A%ZbtzVK3JhlXMY^sDKI&>@>hCc>*#t{a!T2-A;#|6v*z zMFL*AxXV1$F)C?7f+78cvYRZ1UP5`)xK13MQ)$NH^^Ei-h1s1ywE5L;nHijQ zgjl%F9XH#-=U0~ouYcN5yJ4s|3Uq-;heu|3ueT_kQ>LKj%814qxQL5N4h^=9puS-*ewLI*L5oHp0M= z`119(w>rRpDL=RWVpgRz$l7zl{vt zOdlKHuRJ`ZGO?VQaDOLp!o>nH@JT$Fdf-MyEcxzr5`-tWw6C`qukQeik`~)(4=B}_ z^e^~#07p#GEH&U7-4KuCr<#9!=Dtebf=p&oPUYUCiFy&egBaKpU}sS{?Cg1B#cK+aaILznaEw6oBmJz#wvx5ax8XA_IHcO$0BXL>{1_sUL& z-gTWJ?{KTz>awOu=(c!4e3zxbfcYub9vk$aCnL$*kox$$PB0Gx0z2Wj3y5 z%7G!z?hUg*ZQxf>I${Ay|6u8vm2G%KjZH zl~hRq0_qo=h9?!(!+d+RmS#Ue3KD{#WjUW+y@Pz(t!H@F2hC1)-b;J{rt)ctBL8;b zMnBA*sjomWfy#UHW9{eD(+cxl#`)>6DKlq>N}|Ng2}HQ@AXBzOpP*6S^J6Wy&E05? z4Oz|!H+ihAB_n$Iai$@NSmf%9-x5y8n}7f=z$rznW{4j9qG%Ed^&Yy`TfC0!#mi9i zMJ(Q;(b|W%X4wvXf)AsR!5yO?^fm2(lJ=aHG~AFwXRP8jMXLDIAt+>sgVqQm-T}zs zWL^N;%ZuS}QiKXAfH<=}W^~UmZ9Du7^8QQ4p;w}Lki z%BH4oV;w)FONC84q6TNpz}1(dTPbupN)=HI8tH2DR*CHEGqKjphD!OpJe;ujJQn@p zw>-5moxnOt-hziH?M~w#HB)CsnJ!wi+y}ufGjN38xxj1W`Of0`Y?~Fb z?R9<^OLuS6?WJZ8Y;HPW?N7`OEm*}JvYL`7Jvw|v+8Vu?)VH#x-i>;!beq4eU*e*F zXUTk)kV%#a;-PVEUvVpR5}%sv0+3_b zITbhUOPjzV-tlkUQj<9JJ@7%=x$EBSxq^&a=Dz{9nfXj9Y6PgJ;D3ueQwwVQy0F$pu~o7Q%!TiP zL6-Oj^D9M4c`>{23c;TGv#WQ1zY;8RT9TR!gsOeE@s*7Hx>kTAfa8>et%pk`k8kaM zD0b-`>yE;C-^AK?5X7wGn${CIe5#LKHpmxcRUGkDZ_V9Myp?G+l_{BY2N~&>Yl0cx zU@7Zgq14ZP@1CCD4y|1nU%ST#M3#xK0|g=-$Qm0EuaMyYv`E2ugD%ZQv#st!Mnt*Q z<0k7ErIv~>kFt?c;@axPZ>7RmLU}zL@AD5)6o@B$Frn$!y^#FsDg#-mR$THGL%3i^3;laSN)XIKQ~EXp#-w( zZH%#|1nwE$*9=i$xJ)(-8m!UNwDPaTSTwyICUyVngOJWG9w#ecIi}5iDy1sIP!jN1 zvm1Dbx=vD&{B@3xfPbs#${;)Y&q_?2JuOrBaHJkp<(_401_P=V(&6gTVJBf=GdG#H z&F2wKLkWjhhe79uJYnDwo-UQ1s`s&|`E&m^vjHlE#%h2{o}46|WS%&rZv`;AoHI(> z^+;oHiPTm)h%1VI)s&}UCC?WU@X3gXy|1NDoT_|59a?`t$|_F(xQ1t6-myv>lx<4#YeA$P8TVat*K6M%phSyU)ew$WEw zmUaEOJE*W|G0sjk?b=5VS^^o5d7r6zT*XfnUBxr_sctAqJvh)DLTcj*A9={`Ou{U2 zj+aI631-9+W0PZkwN-rkwB~W{;0yKz6%c317sPkZfYd8<=IcVu{Bmnb?(Dl#y^$G; zeoJ{i@s}x;R3B?BdB4{USkMX!8#1sx+5H#^&X!yC!~jeZSnu~+#CFD~Fay0_ij=X; zPXH$A3ouF3zh~z8+|VoX6_tCgl9A!Hu*dm2ji0r@s}M`+KjPnZ;j1aJBpZn)z7ooc z!4t5BEw@IgRu@8H+=V=6qWl~<^9`RXNmb%05U)bx1~{hI2VH}1CLuJ0sb^bw!eNU6D;YO~}faqs4cG*~!9 zTG|u^2AJvow!0}JkS&L@VX#MH6qgo)&K`RDEnuD+z6)vB@}H*iDOC?`$nAb8rSdkY z03Ld7*Mh$55Jy4XU)6K--;lGGs-zrH#sZHaz$$i*C|1cawgnOSF|pj_#p|%SMxt8i!sw4N;hcFv zOT2CzoBnO%rZy8r`zUT>7Noe1B~=Prcy)@b!n$$+4})}H*(d~nx=8CTmVkstiO^d- z#&hjcrGGFnB&^@BND5JvEwq{O?)M7+HyD&=47v(p-6 z-1eRj`UJTfBRS_!Z!K55{1&yvQW|qJaq2sW{8^z?xQN7X#KY~$&Ds9aFifj&t$TD{ z7ximRklKsoyVqDZ`Ql_}Z;}cu+nDTnPC|TquqFGXP(U_Nn0@Wwo|ddwZmy4fz@>zU zcsMu-S#(tDlgUJ@bpDP#jcwHapB_+1lmVHZeO3Do$=?cC=8ZfvR(^(PXc1W|T^cJ# z9~svxnWXQJ)7?u0m*T@80h>2tLvk@0`SnYK%%&zV=B%C^Nl0c|MSEKqWURIaUS*O! zI0j^|O&ne%-{Io^VKnrw`tkFvUr^@Uu68~J?}nwVxG{Dgoaes$Xp%^~t2y6ygOc-w z0$-Wd;)enmC5GTps1J`Hk+yJ5GBchudmspv{1v$1mX@ofk8Ha0AcJ~oGwf&8dz?B0 zOzyyjO*RisJ-k}+V0g;-DzGS!9;kZkv?jyu!{MRD<81k-7XlLNn4qosONh9k z%LoV&TV-4L?l~iIUE~2KV3;n&d^4KqYh#0uCIp@%Gre|x_mv`qE7L8|=aCi9?gJv7 zbp1;^bboVO z_!l5}COSENemgeRyx~%Sp~dFSGG9~z6T4TE;~aU?T)Y#V6`{3ijqTk%tL@Q8)S}OI z7h=I5Uc&A(o)iu<5BlMpHKT3cfVB<1rj(BUD(8A86m+joFS^h6LZ{-LSUS;b>8fwQ zi&QIm#f&wO_?w<(Ic1pavVcC;LCE>#(O$sv(?#ur2N2ozECguYmRlm(%YNh~mQflz zySgEg@}n+pBx?$T!>*0Ss-PjAHYfjEOX-O`)Y6kr(y&)f3bFl84pL8HT{VpiDsHfw zo_8o8qL$i5UquY^pMKpW56WQC^@(ghQHj$Hy@a)P(+e(HB;DiKwU?$dzUE$N<8j){ zgENL5-!?c3V|I}~60(W52=ztzT6p6IT zxS6+Wy(g=Ano9OX|6s^F$fm&0h0yvb=&naWPO5;MvmHpkL~6}FTG#d@d;_>_YO_}w z0)6Y$YL~8QkqtJ}NKb;jqKZoX(i5C}GZA?7B(dra%DRDGyUXh)EAG8nkk5Ffb2p#Pf&Wx#5Ib2H$nTt0f36h@RK}N4y*Gzt1&a{ZBM0L-HRu4S3y-bci^hsp1#_f#pn?oLBde*!_{z}OAR!~(8@+_t@3{%NPMVY`}!fy zW3JJ?LBP=8!bxa>vB-2==}7W7Yxj@TTj9L-OnKvmy$&q*nw;M=daW&%RZz?V`Jhf1HYyXieS;zYD3J^$LPMM*(%;*>L z#Z7Js7mqv;zo$7cG(@-PIW32sA=iW;jscraJG^u2rpNdbb}w21J6rjrBM-dD6FPKk zctuqlKH%m;p5rKDE?8FlRE7;>Eh$MRaheNx#;c-sLd(dmve0fY8ep*$<}K-Rgs?yZ9gdn|bzooE|{5{%rlWM-XfJbzI}K&S3`Kno#hiU}OwnH%sA+?El46heR?gmJz zA>Lk|Zf9KT$^Lq>SM=-VdW*cb6VsJle-|_k9i4+YKgXs0+GHcT*#j*6`A!Kz-fr!H zZ^Gx-&p!JSJ9O7Cxw6Mlj?O3$Zn%eyFYZ2M&4yO{TJ}ZYSzwdb@weHee;5_g&_SaeBlH)JSw!@!|1V|}=cHbkl7~1S|@wQ2m z3D*(*2=Do|{Z15SQ}dlI&YVsh9~?R#5P%)mgR33Oho>KXe4*Z_Oz0s6H zby3NJ+yPP{zu7c@t77|NPC57{w=-TdrOhyR{2E7}xR~UV&&qBmt&dz~udN#tOePMT zF$)=vGe~x{>{@5W^&y}ztF=cfK)05%g5@_@HmQ{VcMSYB3j?Wvyz(1n=A}^))IfhI zxC5-f-2DMqMP7(}z3ed@NLg`EeQiQQQ=h=Nz1zD!ojl5hdJc~)T1^k++yUtY3LDGhc zh36kum7e;IU$;D`DX@$+IJq0XKg_oP@r#(636eQR#=O_imy z5!h549%r}X@jr4Du!=iLd3tbUSHIwn=g9Os@Uz#cDLkRaVVNIAp>dX#wQaIXT+||t zh}j64Z#-ZOB+2jnDBs{%_o$)@X8Jq0g4PVtG7=uQHQB;qBCFggS3kNHiqGw#|KRpl zWY90W<)2twz~K}ib=O=Px0Co|DCHAnXl3An^IdIJ_!TSGE;A4y3sUlpe`_JNj@j%7 zf!zf8How}=B->CO)D(H2nQ)ZfArA|#RU$-+Q`4C z92I)>lu&nmrAk=M6;#4lL+a&JYaMQ7hfnbPI756>E9=^jn1@Ty*~z(J@ZhZBs;C`4 zQ2iYZ#p5^=a!~Anc&C8ROBKejG}jv=Un>g}*-nIZ4kC+_i#aaLIV)Mg8U`;*;IlbJ z?XvWQkMka|KB$+#yCBk~RE!jW-p-p{rPurPi@t-uosU44n|H>r#ugy1g8|~YyXGbz z6b}Cp*L7a%Re!c;2KF2`biNXGE6m}5dWbi2k=;F*N*Q;5kNK2W6H>r-ieCJ2e7Aw) zo48cPz2hElk=0~N)wT;#>yGlcp`vSyCY|&prv>)MS(w-Ek5p;5i)tu!;vO3+Vdg!n zSriDr^=!TO|Dl|VYodNX$1<2EaLxbaGTD>t?VV%$_cFdiB=8gDULy6LEXs+izTac) zEzr5Jo1wDzXI+9cHcn;_lebh}03W5a2<_}HO(IN%C`V0Fq6WksqC|p@fx)QaEOVXQ z$*n%$bNCgk>ZZL_aCVQsTL*)mWR^E_%RS*y=qSatbWbm=3tTLk5UZE+aVq2ODRky) z6DuVIJ%MpULF{pUH%4R8soTIdp>Xh$5+x_Or`L>8)2>o~OuB)N62?ET%|%5S#N$?4 zMeh)@$?o^rL(uud$)h&FMUz89FyqGRCTHl>z1wFk2l5u8M6!`m9J{@pu-cXD^h)tWf<5*`(Hs@LecsrdW-I9N0ow;^vBkV!SZs426zpY=sR{Qv01A!@MN8# z&2MVts{-raBtkkQu}M8)o_-e!yR7Q;#h)~#2YUk{4&|SG*d-wQXc)Jh zqnvu!xu89nd&8p%-Y31_tzU`+i`1VxlCKh$HP&vF+*=)qg=c_qO~{$TRRgmIy6`k- zOVNQj^$96F7rO#>A`9ZRC{gB4wJ^o$r;LKHS=RodWlBh6hksz%Rq5n_ixp`G!Q*7sE5HDsnC z$)r7(i&ZMu?lpOAM|aw`h~0CAwOw~!l#D6PfmgatPfbV>q(&34SWaFwUBy` zg1NTQtNj9&P4a5xb#sB~q$EKy!*jdEpC|}|BIW7xZ7QNQ#owsGOCAncVnX9ClB~`x z{Oss%!%XJ<1yWQb%E=B#yetoNiYzH_Z&e23SwhMe^_OKFJIxccEpFD7mH?OnXB$LT zId5$uI0;5Jonc4FkG!~I8EOh&8vlpQF0ivE{5M3~kMZj}^Ib0EmOQ8>HK83BL@*;58J!jhAbM5w+TyR%!Mp1WcHjRWlVv53f*<_ zRr^7zEY~>Y$oeHA?euVsB@!o^U$y%K7>rK5VuwGrLsM7IZ%56{TC26tntaHMm%wVi zw97)y)i?-_f11ddzuRelBSvbSjom(mY1MhL^0~;D3DlrQL{;i)9@4gh#FtS5%4hjP zO7U)D~BWPS=NICLUm9#h6x{}dM>Ki(dV%8(q z*R%po7*wRen<=9m-82karqrSeh)YvSVbk~~ePyiY*GqRDV0~=^5>!gR6z4>%vw&bM zq`cvRG>}|0*T#DY@y!n19EDhug&po`}*&7wvY*??}U2Uz9ptoNlS4fp`qDQBpka(#Yx@B*nDU zy(veGlhhp-SJ9%-i~Q4F<^&j5QfK1|9u(Z($7J|!+O05(l&gFrI^y}ZW2$q(@(4XW zde6J&IO)|^^H8JFkB$I`a|=_}7*U5AMl@CIY=EKN<)De~q)dolCF~3O zS4ZqU$^WET5Xe0YOD@8}zyzPU{53*EN}~uEQgKfMVXs*<626Iww@kg)db8`Yj(Eo# z4%^Kf(U8T)O=MgV#oo`&sI-!f?)-ja57~`!P&3l>ked1lWD7?MiN|BvV*c9puFnQw z`^JPSykDMV3zjZ;VP=`%4>lS#k%t0wipo%uRA*0ujNOdv6Xg{egG^^)mHPYT^ z+>FuMK%b4y<4!$E!Xo|ApN=-$k63ix%Bwjqf9brjz5G7SLHic1e>IKUm*V~?y@dwV zuPK4x?nDdSTc$133%{&wy>g)5iDT`*SKO3_x)5Z=ps zDZfxDwcI{tB$rR2H!|%EllmSkmr{AB&8;w)%_NFDXkG^hmK$#8|Q zu8fkv&TPE7c1OF>*E8we65LrwH%_x9a>|c?&t>S-?f^Y&ftJ;kHu}DfEpVPz!Bngy z*A?@-(^NLxKD>dWLV-J=MH$(>8D}L3-OQ%tZ7r7a^r8NV)eSS#nkf@?07?;r=o(DR zS+3|X74Q_5&`%jPO!nJSek4Wt>pAR%3_lhgRf;kG(q+ z0y{>lm*2)n>=f%~BSQd}Za1P1X3>rreTdk{WriXdF(nxWwEHdhV9uLO2MCDl?rlsN z?c$WiwOcIRqhxL-iFqq8%-&2{x02Wla~E4oc$^Y)sbLv{dWb#KrQ&N@4Upm`&eXHZ+QYg-?NJ==mR|(f7W) zKp`PLZ);HzbW#&}b)Mk%+JPj9?rEs3zDiS`%COO_F&cPy3SI$c19^07g~LlZ{R5xh zMvr7^92e*TZ9*~`KQZ9-$L>R1e~IH4Z_eMRrLqwiPirD)?sJLAO^`g!yrDAvE@N$b zJ&xY^Q|xhxl#kA65a`xGk(pzROoa3EH{xSu7;OrbiITe#zb-A?y?UZ!H{Z)XySrN* zQ@{rC0*eVOBr|hp^x7T5IZx=Fq81;AH7?y*rH()vG}Yt_()CUEZR+#em-rRF=r;&+ zj9mqRUqD8Tn=PCDYT4R?mEqtZ%nKf`qt*B^Q6*vvI6q3#GKtK?8!i@c)UFa0;jXr~ zgzqNY^Ujb;=0;N=SJ*1Xfnc~v)0%sj zMsHTQiOoy5 zoo)@-YR=QWM>ma@F&a;5mXHka#9YN{Hwr-PkS}|}oOfPi>~WRVxo?NWlfa#ykN){( zGZ5h)O|wr_@kKucVx&?zNyOYZn8jS*-9%V|S`oEvO{-D5&4t;@nO}S|Rb@ zTPi!waYu}BM}W*sCNB5-S}gUG&rP)l;OPI(gd7eCjFb(|?gOi9EY1k(_dyyfRlJh9 z<1XyVmV%tHgthgy{Q=59u`swENIqA$FSAzPW8@F{H3t8R0Csj~(||@~F|VNst8PQ5 z(o8P8ocU!*LZ-|(*4L&f##Wu8X-NO5l88ccxF)DKhMW$gU8)!JM*Kjp6_nsBbm$b~ zCs%)Yd-OCo7~x1Kn@pN>aq)1I@KAXRtV);0)DtwezafQDY)jJY5{` zsqkRRk)&l{_@R2advtMfgbq?9CGXs!ll0`$g|@>v_+$(pYGLD7Ndlr`&&H5m1w!K+pEKa%@>Xa^>d$EQG1r3AAw%XKpt` z)5)|R)*wmP(-m-F_j z5}eEKgcmu+&ki&a`SN}9yG7gI{4Q}cp-w@lt3}!s1~jxO<|$QJW&WNQWc-7SU2a4* z-ga;g>P^irW>xwe=QW@1WO_Gp_nZUtPqcLSMBmZMTHVo&Ch@iU&bOoD^E;V-o}kJT z^{<`pv4MvX_V^atagny$ite2Tx9npgZwC6Z1$$~H;RM$0^e022UE%k0N1(o_T3yhe zB4ZxDCGV=DEtVYG9s_^KEZgat_DNont%}j^-$G0ZrhR2r(qckaSd3W{7QxS*WB{sN zV)&;Xu#6ScyG54&4`j36kHHLHn@)qMh@^b<5fxr+ry7q2Hi6w`Qq7yNtC2oU{u~3? zaN9yw@7iPCv9gx{XdC^U%WT?`r}x18=E*nrXbivzqPz_{L@1*;Czp!zVIyWnc`vhEA zJ~Y_;O2!P2fuq1SI$rq^Zm}EX>8h2s!8`N8OOEg;rYA6FlpIpMD5&VaLAdUV3q4PF z`(39R-Pthu%4ukBPNvy4`pnsdMP(57Lm7RzrUu=>_BV?7jdNmH@wH8(eQ)68^v&nY z@yNE+i{%x=-_9?<6AIrLDrJ^A{koz*o&mHM6t4V}tkl%e7_xgTjWk<}3yV(}8g7~P zdCbdX|hLK&VWy-rpn~iX%r>Z z0?)R{iFFsi+~RP*z13$vydgjb$j&?~e}3H?zC!&TdHBNtbe4C$Xt?0$OMTaHb$!U? z1#mi_dugFMkGaEzkDQ18HC7Ipg@??QTa)5sUUR?4>%GS%U+e7xuwOsZ=?PBf1aJp^ z#&*CKvS|e_o@U&hd`~mA-h7eBkNZRtm;Z0sdc7X=z~M~F@0s^5FLMR3-*zKhTtM

-TAFK#M^Ge;(SeBlgbt4F0~%AT|2gd@ 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

X#MYMH-w%{EUDZ2Du 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 z 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�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 literal 0 HcmV?d00001