From 91bcd7854892c78ed895abe81610334c3f1f2fb7 Mon Sep 17 00:00:00 2001 From: <> Date: Mon, 16 Dec 2024 21:53:23 +0000 Subject: [PATCH] Deployed e91021a with MkDocs version: 1.6.1 --- .nojekyll | 0 404.html | 822 ++ CenarioAtual/Cenario/index.html | 987 +++ Entregas/Entrega1/index.html | 866 +++ Entregas/Entrega2/index.html | 863 +++ FasesOpenUP/Concepcao/index.html | 1165 +++ FasesOpenUP/Construcao/index.html | 975 +++ FasesOpenUP/Elaboracao/index.html | 1191 +++ FasesOpenUP/Transicao/index.html | 952 +++ Unidades/Unidade1/index.html | 1026 +++ Unidades/Unidade2/index.html | 1026 +++ "Vis\303\243oProduto/Backlog/index.html" | 1337 ++++ "Vis\303\243oProduto/Cronograma/index.html" | 1263 ++++ "Vis\303\243oProduto/DoRDoD/index.html" | 987 +++ .../EngRequisitos/index.html" | 1427 ++++ "Vis\303\243oProduto/Estrategias/index.html" | 1085 +++ .../Intera\303\247\303\243o/index.html" | 1061 +++ "Vis\303\243oProduto/Requisitos/index.html" | 1185 +++ "Vis\303\243oProduto/Solucao/index.html" | 1090 +++ assets/images/favicon.png | Bin 0 -> 1870 bytes assets/imgs/Arquitetura.jpg | Bin 0 -> 162355 bytes assets/imgs/alexandre.jpg | Bin 0 -> 33985 bytes assets/imgs/diagrama.png | Bin 0 -> 91606 bytes assets/imgs/diagrama1.jpg | Bin 0 -> 120152 bytes assets/imgs/enrico.jpg | Bin 0 -> 21627 bytes assets/imgs/gustavo.png | Bin 0 -> 353549 bytes assets/imgs/kaio.jpg | Bin 0 -> 16717 bytes assets/imgs/logo.png | Bin 0 -> 595516 bytes assets/imgs/manu.jpg | Bin 0 -> 18584 bytes assets/imgs/mvp.png | Bin 0 -> 161560 bytes assets/imgs/pedro.jpg | Bin 0 -> 15584 bytes assets/imgs/petguara.png | Bin 0 -> 488870 bytes assets/javascripts/bundle.88dd0f4e.min.js | 16 + assets/javascripts/bundle.88dd0f4e.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.6ce7567c.min.js | 42 + .../workers/search.6ce7567c.min.js.map | 7 + assets/stylesheets/main.6f8fc17f.min.css | 1 + assets/stylesheets/main.6f8fc17f.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + index.html | 1035 +++ search/search_index.json | 1 + sitemap.xml | 75 + sitemap.xml.gz | Bin 0 -> 378 bytes 78 files changed, 27696 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CenarioAtual/Cenario/index.html create mode 100644 Entregas/Entrega1/index.html create mode 100644 Entregas/Entrega2/index.html create mode 100644 FasesOpenUP/Concepcao/index.html create mode 100644 FasesOpenUP/Construcao/index.html create mode 100644 FasesOpenUP/Elaboracao/index.html create mode 100644 FasesOpenUP/Transicao/index.html create mode 100644 Unidades/Unidade1/index.html create mode 100644 Unidades/Unidade2/index.html create mode 100644 "Vis\303\243oProduto/Backlog/index.html" create mode 100644 "Vis\303\243oProduto/Cronograma/index.html" create mode 100644 "Vis\303\243oProduto/DoRDoD/index.html" create mode 100644 "Vis\303\243oProduto/EngRequisitos/index.html" create mode 100644 "Vis\303\243oProduto/Estrategias/index.html" create mode 100644 "Vis\303\243oProduto/Intera\303\247\303\243o/index.html" create mode 100644 "Vis\303\243oProduto/Requisitos/index.html" create mode 100644 "Vis\303\243oProduto/Solucao/index.html" create mode 100644 assets/images/favicon.png create mode 100644 assets/imgs/Arquitetura.jpg create mode 100644 assets/imgs/alexandre.jpg create mode 100644 assets/imgs/diagrama.png create mode 100644 assets/imgs/diagrama1.jpg create mode 100644 assets/imgs/enrico.jpg create mode 100644 assets/imgs/gustavo.png create mode 100644 assets/imgs/kaio.jpg create mode 100644 assets/imgs/logo.png create mode 100644 assets/imgs/manu.jpg create mode 100644 assets/imgs/mvp.png create mode 100644 assets/imgs/pedro.jpg create mode 100644 assets/imgs/petguara.png create mode 100644 assets/javascripts/bundle.88dd0f4e.min.js create mode 100644 assets/javascripts/bundle.88dd0f4e.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js.map create mode 100644 assets/stylesheets/main.6f8fc17f.min.css create mode 100644 assets/stylesheets/main.6f8fc17f.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..09e4cfc --- /dev/null +++ b/404.html @@ -0,0 +1,822 @@ + + + +
+ + + + + + + + + + + + + + +O Pet Shop Guará é um pet shop que tem como sua prioridade atender a população do Guará, onde está localizado. Como é considerado uma empresa de pequeno porte, Tiago, dono do empreendimento e nosso cliente, optou por priorizar um único serviço, o de banho e tosa, sendo esse a principal fonte de renda e procura de seus clientes. Tiago conta com 2 funcionários em sua empresa, que são responsáveis principalmente para realizarem o banho e a tosa dos cachorros. Por mais que esse serviço seja o mais rentável para a empresa, ele não é o único oferecido, já que a vendas de itens do mercado pet também é realizado, como rações, tapetes higiênicos, coleiras etc.
+O cliente enfrenta desafios significativos com os agendamentos e controle financeiro, essenciais para o serviço de banho e tosa. Seu principal problema é a ineficiência operacional do seu negócio, com dois grandes catalisadores: gestão de agendamentos e controle de vendas. Os agendamentos, atualmente, são feitos pelo WhatsApp do dono ou por ligações no seu telefone pessoal, e após isso anotados em um caderno ou apenas passados aos funcionários responsáveis pelo serviço. Ocasionalmente, essa falta de organização acaba levando a problemas de agendamentos, como esquecimentos, falta de comunicação com os funcionários e situações onde clientes são rejeitados por "não estarem marcados" caso o dono não esteja na loja. Outro problema encontrado é a falta de informações sobre o cachorro para o serviço de banho e tosa, o que faz com que só pessoalmente os tosadores consigam descobrir o nível de dificuldade e o tempo de serviço, além da possiblidade ou não do serviço ser realizado. Já o controle de vendas, hoje em dia não é feito, logo, ao final do mês, Tiago não sabe a quantidade de serviços realizados e nem seu lucro e, além disso, suas contas pessoais acabam se misturando com as da empresa.
+ +O desafio deste projeto é desenvolver um sistema que realiza as atividades de forma a gerar resultados positivos de gestão para Pet Shop, focado em otimizar a organização do próprio negócio. Os funcionários e os clientes do negócio não estão acostumados a usar ferramentas tecnológicas para o agendamento dos banhos e tosas, logo, outro desafio é fazer uma plataforma que, mesmo pessoas não familiarizadas com tecnologia, vão conseguir utilizar e optar pelo seu uso.
+Os público-alvo da solução compreende os funcionários do pet shop, o dono e os clientes que o frequentam.
+A fase de Concepção do projeto foi fundamental para estabelecer a base e os direcionamentos necessários para o desenvolvimento contínuo. Nessa fase, foram realizados os seguintes marcos importantes:
+A equipe estabeleceu os objetivos, cronograma e recursos necessários para o desenvolvimento do projeto. A definição das etapas e marcos foi fundamental para garantir um alinhamento contínuo durante todo o ciclo de vida do projeto.
+O escopo do projeto foi detalhadamente definido, incluindo as funcionalidades principais, as necessidades do cliente e os resultados esperados. Isso ajudou a garantir que o time tivesse clareza sobre as entregas e a visão do produto.
+Atribuição dos papéis e responsabilidades dentro da equipe, garantindo a organização e fluidez do processo de desenvolvimento, com a definição dos membros chave para as funções:
+A documentação do projeto foi organizada de forma estruturada, incluindo todos os arquivos e artefatos necessários. Isso facilitou o acompanhamento do progresso do projeto.
+Realização de sessões de capacitação para garantir que todos os membros da equipe estivessem atualizados e capacitados nas tecnologias, ferramentas e metodologias que seriam utilizadas durante o projeto.
+O MVP foi definido, contendo as funcionalidades essenciais necessárias para que o produto fosse lançado e pudesse ser utilizado pelos primeiros usuários. Maior detalhamento pode ser encontrado na Visão de Produto e Projeto, na aba Backlog do Produto.
+O DoR foi estabelecido, garantindo que cada item do backlog estivesse claramente definido, sem ambiguidades, e pronto para ser trabalhado pela equipe, com todos os critérios de aceitação e requisitos alinhados. +O DoD foi estabelecido para garantir que as funcionalidades entregues estivessem completas e atendendo a todos os critérios de qualidade acordados, como testes unitários, integração e validação com os stakeholders. +Maior detalhamento de ambos pode ser encontrado na Visão de Produto e Projeto, na aba DoR e DoD.
+Foram definidos os requisitos funcionais e não funcionais, abordando tanto as funcionalidades do sistema quanto as qualidades que ele deve possuir para garantir um produto de alta qualidade e que atenda às necessidades dos usuários. Maior detalhamento pode ser encontrado na Visão de Produto e Projeto, na aba Requisitos de Software.
+User Stories foram criadas para representar as funcionalidades do sistema de forma clara e objetiva, ajudando a equipe a entender as necessidades do cliente. A priorização e maior detalhamento pode ser encontrado na Visão de Produto e Projeto, na aba Backlog do Produto.
+US01 - Como cliente, quero me cadastrar no sistema para poder agendar serviços para meus pets.
+US02 - Como cliente, quero cadastrar meus pets com informações como nome, idade e raça, para facilitar a escolha dos serviços mais adequados.
+US03 - Como cliente, quero agendar serviços de banho e tosa para meus pets, especificando detalhes como o tipo de tosa desejada, para garantir que recebam os cuidados necessários.
+US04 - Como cliente, quero visualizar os horários disponíveis para agendamentos, para escolher o momento mais conveniente para mim e para meus pets.
+US05 - Como cliente, quero cancelar ou reagendar serviços com antecedência, caso surjam imprevistos, para evitar transtornos.
+US06 - Como cliente, quero consultar o histórico dos serviços realizados para meus pets, para acompanhar os cuidados prestados e os custos envolvidos.
+US07 - Como cliente, quero acessar o Instagram do pet shop pelo sistema, para acompanhar novidades e promoções.
+US08 - Como cliente, quero enviar fotos do meu pet ao sistema, para usar como referência em pedidos de tosa personalizada ou para ter salvo em seu cadastro.
+US09 - Como cliente, quero avaliar os serviços prestados com uma nota e comentários, para ajudar a melhorar a qualidade do atendimento.
+US10 - Como administrador, quero visualizar e analisar as avaliações fornecidas pelos clientes, para identificar melhorias nos serviços oferecidos.
+US11 - Como administrador, quero acessar os dados cadastrais dos clientes, para entrar em contato com eles e atender melhor suas demandas.
+US12 - Como administrador, quero visualizar informações detalhadas sobre os pets dos clientes, para oferecer um atendimento de qualidade.
+US13 - Como funcionário, quero vizualizar as informações dos pets cadastrados, como nome, idade, raça e nome do dono, para prestar os serviços com mais eficiência.
+US14 - Como administrador, quero ajustar os preços dos serviços sempre que necessário, para acompanhar custos e promoções.
+US15 - Como administrador, quero acessar um calendário com todos os agendamentos organizados por data e horário, para gerenciar melhor os atendimentos.
+US16 - Como administrador, quero mover ou reagendar horários no calendário, para acomodar ajustes necessários nos atendimentos.
+US17 - Como administrador, quero cancelar agendamentos quando preciso, notificando os clientes de forma clara e imediata, para liberar a agenda quando não for possível receber o pet.
+US18 - Como funcionário, quero acessar o calendário com os agendamentos do dia organizados por horário, para gerenciar melhor o fluxo de trabalho e atender os clientes conforme programado.
+US19 - Como administrador, quero acessar relatórios financeiros detalhados, para entender melhor os lucros e despesas do pet shop.
+As regras de negócio foram estabelecidas, descrevendo as condições, processos e lógicas essenciais que o sistema deve seguir para garantir que os objetivos de negócio sejam atendidos corretamente.
+Um cliente pode cadastrar múltiplos pets, mas cada pet deve ter informações como nome, idade, raça e tamanho obrigatoriamente preenchidas.
+Raça e tamanho dos pets influenciam na escolha dos serviços e preços.
+Clientes podem cancelar ou reagendar um serviço até 24 horas antes do horário marcado sem penalidades.
+O administrador pode cancelar agendamentos, mas precisa notificar os clientes com antecedência de 2 horas.
+Serviços agendados devem ser organizados por ordem cronológica no calendário.
+Dias e horários de atendimento devem ser configuráveis pelo administrador (ex.: feriados, dias sem expediente).
+O sistema deve gerar relatórios financeiros detalhados (ex.: lucro mensal, serviços mais solicitados) com base nos agendamentos concluídos.
+Clientes podem avaliar os serviços prestados apenas após a conclusão do atendimento.
+Notas e comentários de avaliação devem estar vinculados ao agendamento específico e visíveis apenas para o administrador.
+A Fase de Construção é o momento em que o sistema começa a tomar forma através do desenvolvimento de código, integração de componentes e validação com os stakeholders. As principais atividades planejadas para essa fase incluem:
+Na fase de Elaboração, a equipe focou em desenvolver as funcionalidades e validar a arquitetura, enquanto continuava a capacitação da equipe e a análise de riscos para garantir a entrega de um produto de alta qualidade. Os marcos cumpridos nessa fase foram:
+Capacitações contínuas foram realizadas com foco nas tecnologias utilizadas no projeto, garantindo que a equipe estivesse atualizada e equipada para lidar com as necessidades de desenvolvimento, como o uso do Spring Boot, Java, e outras ferramentas necessárias para o backend e frontend.
+Protótipos interativos foram desenvolvidos no Figma, permitindo que a equipe visualizasse e testasse o fluxo de navegação do sistema e a experiência do usuário antes da implementação. Isso facilitou a comunicação com o cliente, ajudando a validar o design e as funcionalidades propostas.
+ +A análise de riscos foi realizada para identificar possíveis obstáculos no desenvolvimento, como desafios técnicos, limitações de recursos, e riscos de mercado. A equipe definiu estratégias de mitigação para lidar com os riscos identificados, minimizando a chance de imprevistos durante as fases seguintes do desenvolvimento.
+1. Riscos Técnicos
+Risco | +Probabilidade | +Impacto | +Mitigação | +
---|---|---|---|
Falhas na integração entre o sistema de agendamento e o backend | +Média | +Alta | +Realizar testes contínuos durante o desenvolvimento e usar ferramentas confiáveis para integração. | +
Lentidão no sistema devido ao volume de agendamentos | +Baixa | +Média | +Monitorar desempenho e otimizar consultas ao banco de dados. | +
Dificuldades no acesso ao sistema por dispositivos móveis | +Média | +Alta | +Implementar design responsivo e realizar testes em diferentes dispositivos. | +
Erros no cálculo de receitas mensais | +Alta | +Alta | +Validar o cálculo financeiro com casos de teste e revisão pelo cliente. | +
2. Riscos Humanos
+Risco | +Probabilidade | +Impacto | +Mitigação | +
---|---|---|---|
Falta de engajamento do cliente no acompanhamento do projeto | +Média | +Alta | +Agendar reuniões e manter comunicação clara sobre o progresso e decisões importantes. | +
Falta de habilidade técnica em alguma área crítica (ex.: backend ou design) | +Média | +Alta | +Fazer treinamentos rápidos e capacitações. | +
3. Riscos de Requisitos
+Risco | +Probabilidade | +Impacto | +Mitigação | +
---|---|---|---|
Alteração nos requisitos após o início do desenvolvimento | +Média | +Alta | +Usar ciclos curtos de desenvolvimento (ex.: Sprints) e validar funcionalidades com o cliente. | +
Requisitos incompletos ou mal definidos | +Média | +Alta | +Realizar sessões detalhadas de levantamento e revisão dos requisitos. | +
4. Riscos de Cronograma
+Risco | +Probabilidade | +Impacto | +Mitigação | +
---|---|---|---|
Atraso na entrega do MVP | +Média | +Alta | +Estabelecer prazos realistas e priorizar funcionalidades essenciais para o MVP. | +
Sobrecarga de tarefas na equipe | +Alta | +Média | +Dividir as tarefas igualmente e evitar escopo excessivo. | +
5. Riscos de Negócio
+Risco | +Probabilidade | +Impacto | +Mitigação | +
---|---|---|---|
Falta de aceitação do sistema pelos usuários (dono e clientes do pet shop) | +Média | +Alta | +Incluir o cliente nas decisões de design e realizar testes com usuários finais antes do lançamento. | +
O sistema não atender totalmente às expectativas do cliente | +Média | +Alta | +Recolher feedback e ajustar o escopo quando necessário. | +
Plano de Monitoramento de Riscos
+Indicadores:
+O projeto adota uma arquitetura em camadas, com o frontend em React.js, o backend em Spring Boot com PostgreSQL e a comunicação entre eles feita por meio de uma API RESTful. Essa estrutura proporciona maior organização, manutenibilidade e escalabilidade.
+Frontend (React.js - Camada de Apresentação):
+A camada de apresentação, construída com React.js, é responsável por interagir diretamente com o usuário. Ela lida com a interface, exibindo informações e capturando as ações do usuário. O React.js, com sua estrutura baseada em componentes, facilita a criação de interfaces dinâmicas e reutilizáveis.
+Backend (Spring Boot com PostgreSQL - Camadas de Negócio e Dados):
+O backend é dividido em duas camadas principais:
+Camada de Negócio (Spring Boot): Esta camada contém a lógica de negócios da aplicação, processando as requisições do frontend, aplicando regras de negócio e gerenciando as interações com a camada de dados.
+Camada de Dados (PostgreSQL): Responsável pelo armazenamento e recuperação dos dados da aplicação. O PostgreSQL, um sistema de gerenciamento de banco de dados relacional. A camada de negócio interage com a camada de dados por meio de abstrações, permitindo que o banco de dados seja alterado sem impactar a lógica de negócios.
+Comunicação (API REST - Camada de Integração):
+A API REST atua como uma camada de integração entre o frontend e o backend. Ela define um conjunto de endpoints que o frontend pode acessar para interagir com a aplicação.
+Infraestrutura(AWS, Vercel, GitHub Actions):
+O backend e o banco de dados é hospedado na AWS (Amazon Web Services), enquanto o frontend é hospedado na Vercel. A integração contínua e a entrega contínua (CI/CD) são realizadas por meio do GitHub Actions.
+Data | +Versão | +Descrição | +Autor | +
---|---|---|---|
29/10/2024 | +1.0 | +Criação do documento | +Kaio Enzo | +
A Fase de Transição é dedicada à entrega final do sistema, garantindo que ele esteja pronto para uso pelo cliente. Nesta etapa, o foco principal é a disponibilização do produto em ambiente de produção e a validação final com o cliente por meio de demonstrações e ajustes, se necessários.
+É importante ressaltar que todas as histórias de usuário apresentadas a seguir foram elaboradas com base na lista de requisitos funcionais descritos anteriormente neste documento. Trata-se de uma lista inicial, sujeita a ajustes ao longo do desenvolvimento do produto da Pet Shop Guará, conforme necessário.
+US01 - Como cliente, quero me cadastrar no sistema para poder agendar serviços para meus pets.
+US02 - Como cliente, quero cadastrar meus pets com informações como nome, idade e raça, para facilitar a escolha dos serviços mais adequados.
+US03 - Como cliente, quero agendar serviços de banho e tosa para meus pets, especificando detalhes como o tipo de tosa desejada, para garantir que recebam os cuidados necessários.
+US04 - Como cliente, quero visualizar os horários disponíveis para agendamentos, para escolher o momento mais conveniente para mim e para meus pets.
+US05 - Como cliente, quero cancelar ou reagendar serviços com antecedência, caso surjam imprevistos, para evitar transtornos.
+US06 - Como cliente, quero consultar o histórico dos serviços realizados para meus pets, para acompanhar os cuidados prestados e os custos envolvidos.
+US07 - Como cliente, quero acessar o Instagram do pet shop pelo sistema, para acompanhar novidades e promoções.
+US08 - Como cliente, quero enviar fotos do meu pet ao sistema, para usar como referência em pedidos de tosa personalizada ou para ter salvo em seu cadastro.
+US09 - Como cliente, quero avaliar os serviços prestados com uma nota e comentários, para ajudar a melhorar a qualidade do atendimento.
+US10 - Como administrador, quero visualizar e analisar as avaliações fornecidas pelos clientes, para identificar melhorias nos serviços oferecidos.
+US11 - Como administrador, quero acessar os dados cadastrais dos clientes, para entrar em contato com eles e atender melhor suas demandas.
+US12 - Como administrador, quero visualizar informações detalhadas sobre os pets dos clientes, para oferecer um atendimento de qualidade.
+US13 - Como funcionário, quero vizualizar as informações dos pets cadastrados, como nome, idade, raça e nome do dono, para prestar os serviços com mais eficiência.
+US14 - Como administrador, quero ajustar os preços dos serviços sempre que necessário, para acompanhar custos e promoções.
+US15 - Como administrador, quero acessar um calendário com todos os agendamentos organizados por data e horário, para gerenciar melhor os atendimentos.
+US16 - Como administrador, quero mover ou reagendar horários no calendário, para acomodar ajustes necessários nos atendimentos.
+US17 - Como administrador, quero cancelar agendamentos quando preciso, notificando os clientes de forma clara e imediata, para liberar a agenda quando não for possível receber o pet.
+US18 - Como funcionário, quero acessar o calendário com os agendamentos do dia organizados por horário, para gerenciar melhor o fluxo de trabalho e atender os clientes conforme programado.
+US19 - Como administrador, quero acessar relatórios financeiros detalhados, para entender melhor os lucros e despesas do pet shop.
+Nesta seção, realizamos a priorização dos itens do backlog utilizando a técnica MoSCoW, que organiza as funcionalidades em três categorias principais:
+A priorização teve como objetivo garantir que o desenvolvimento fosse focado nas funcionalidades mais críticas, alinhando o produto às necessidades do negócio e aos recursos disponíveis. Cada integrante do grupo deu notas de 1 a 4, cada uma tendo sua recṕroca nas categorias do MoSCoW, para cada um dos requisitos. A partir da média dessas notas, foi realizada a priorização.
+Tabela com a priorização do backlog
+A tabela a seguir apresenta a classificação de cada item do backlog, proporcionando clareza e organização para as próximas etapas do projeto.
+ID | +Descrição | +Prioridade | +
---|---|---|
US01 | +Cadastrar Usuários | +Must have | +
US02 | +Cadstrar Pets | +Must have | +
US03 | +Agendar Serviço | +Must have | +
US04 | +Exibir Horários Disponíveis | +Must have | +
US05 | +Cancelar agendamentos | +Should have | +
US06 | +Consultar Histórico de Serviços | +Could have | +
US07 | +Redirecionar para as Redes Sociais | +Could have | +
US08 | +Fazer Upload de Fotos | +Could have | +
US09 | +Fornecer Feedback sobre o Serviço | +Should have | +
US10 | +Consultar os Feedbacks Forncecidos | +Should have | +
US11 | +Consultar Dados dos Clientes | +Must have | +
US12 | +Consultar Informações dos Pets | +Must have | +
US13 | +Consultar Informações dos Pets por Parte dos Funcionários | +Should have | +
US14 | +Alterar os Preços dos Serviços | +Should have | +
US15 | +Vizualizar Calendário com Agendamentos | +Must have | +
US16 | +Alterar o Calendário | +Should have | +
US17 | +Cancelar Agendamentos | +Should have | +
US18 | +Vizualizar Calendário com Agendamentos do Dia por Parte dos Funcionários | +Must have | +
US19 | +Consultar Dados Financeiro | +Should have | +
O Produto Mínimo Viável (MVP) é uma versão do produto que inclui as funcionalidades essenciais e prioritárias, selecionadas por meio da técnica MoSCoW, para atender às necessidades principais do cliente, permitindo o lançamento inicial do sistema com as funcionalidades mais críticas.
+As funcionalidades escolhidas para o MVP são:
+Cadastrar Usuários
+Cadastrar Pets
+Agendar Serviços
+Exibir Horários Disponíveis
+Consultar Dados dos Clientes
+Visualizar Calendário com Agendamentos
+Consultar Informações dos Pets
+Visualizar Calendário com Agendamentos do Dia por Parte dos Funcionários
+Alterar os Preços dos Serviços
+Cancelar Agendamentos por Parte do Dono
+Alterar o Calendário
+Cancelar Agendamentos por Parte do Cliente
+Fornecer Feedback sobre o Serviço
+Consultar Informações dos Pets por Parte dos Funcionários
+Consultar dados financeiros
+Consultar feedbacks fornecidos
+Essas funcionalidades são essenciais para a operação inicial do sistema e foram priorizadas para garantir que o produto atenda às necessidades básicas do cliente e colaboradores do pet shop, com o objetivo de facilitar a gestão de serviços e o relacionamento com os clientes.
+As funcionalidades que não entraram no MVP, as da classificação Could Have, serão feitas após a conculsão do MVP, por não serem críticas para o funcionamento do sistema.
+ + + + + + + + + + + + + +Sprint | +Início | +Fim | +Objetivos e Entregas Esperadas | +
---|---|---|---|
0 | +04/11/2024 | +10/11/2024 | +- Planejamento do projeto | +
+ | + | + | - Definição do escopo | +
+ | + | + | - Decisão dos cargos | +
+ | + | + | - Organização da documentação | +
1 | +11/11/2024 | +17/11/2024 | +- Entrega da Unidade 1 | +
+ | + | + | - Capacitações | +
+ | + | + | - Definir o MVP | +
+ | + | + | - Definir DoR e DoD | +
+ | + | + | - Declaração de requisitos funcionais e não funcionais | +
+ | + | + | - User story | +
+ | + | + | - Regras de negócio | +
2 | +18/11/2024 | +24/11/2024 | +- Capacitações | +
+ | + | + | - Protótipo no Figma | +
+ | + | + | - Arquitetura | +
+ | + | + | - Análise de riscos | +
3 | +25/11/2024 | +01/12/2024 | +- Desenvolver o banco de dados | +
+ | + | + | - Desenvolvimento do cadastro do dono do animal e do pet | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
4 | +02/12/2024 | +08/12/2024 | +- Desenvolver o agendamento de banho e tosa, mostrando os horários e dias disponíveis | +
+ | + | + | - Desenvolver o cancelamento do agendamento | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
5 | +09/12/2024 | +15/12/2024 | +- Criar a página do dono do negócio | +
+ | + | + | - Desenvolver a consulta das informações dos pets e dos clientes | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
6 | +16/12/2024 | +22/12/2024 | +- Entrega da Unidade 2 | +
+ | + | + | - Desenvolver a alteração dos preços dos serviços | +
+ | + | + | - Desenvolver a visualização do calendário de agendamentos | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
+ | 23/12/2024 | +01/01/2025 | +Recesso | +
7 | +02/01/2025 | +12/01/2025 | +- Desenvolver a alteração do calendário | +
+ | + | + | - Desenvolver o cancelamento dos agendamentos por parte do dono | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
+ | + | + | - Validação da página do usuário com nosso cliente | +
8 | +13/01/2025 | +19/01/2025 | +- Criar a página dos funcionários | +
+ | + | + | - Consultar as informações sobre os pets | +
+ | + | + | - Acesso ao calendário de agendamentos do dia | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
9 | +20/01/2025 | +26/01/2025 | +- Desenvolver a função de dar feedback sobre os serviços prestados | +
+ | + | + | - Desenvolver a função de ver feedback sobre os serviços prestados | +
+ | + | + | - Desenvolver o planner financeiro | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
10 | +27/01/2025 | +02/02/2025 | +- Fazer a hospedagem | +
+ | + | + | - Criar link para direcionamento para o Instagram do petshop | +
+ | + | + | - Desenvolvimento da consulta dos agendamentos anteriores para os clientes | +
+ | + | + | - Desenvolvimento do upload de fotos | +
+ | + | + | - Validação com o cliente | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
11 | +03/02/2025 | +09/02/2025 | +- Fazer as mudanças pedidas pelo cliente | +
+ | + | + | - Testes das funções/estilizações feitas na semana | +
12 | +10/02/2025 | +12/02/2025 | +- Walkthrough com o cliente | +
+ | + | + | - Encerramento do projeto | +
+ | + | + | - Entrega da Unidade 4 | +
Datas de Início e Fim: Cada sprint tem a duração de uma semana, começando em 04/11/2024 e finalizando em 12/02/2025.
+Entrega do produto final para o cliente na última sprint do projeto.
+Fases de desenvolvimento de acordo com o OpenUP :
+O Definition of Ready (DoR) define os critérios que devem ser atendidos para que as user story estejam prontas para ser desenvolvidas. No contexto do nosso projeto, alguns critérios para determinar se um requisito está Ready incluem:
+O requisito possui informações necessárias? +Os detalhes devem ser suficientes para que a equipe de desenvolvimento entenda o que precisa ser feito, sem ambiguidades.
+O requisito cabe em uma Sprint? +Ele deve ser suficientemente pequeno e bem delimitado para ser concluído dentro de uma única Sprint.
+O requisito está coberto por critérios de aceitação? +Os critérios devem estar claramente definidos, garantindo que todos saibam o que é necessário para considerar o requisito completo.
+O requisito está representado por uma história de usuário e por um protótipo? +O requisito deve ser descrito no formato de história de usuário e representado por meio de prototipagem, facilitando o entendimento pelo time.
+O requisito está bem alinhado com o cliente ? +O requisito deve estar bem entendido entre o cliente e a equipe, para que assim o processo de desenvolvimento possa começar com ambas as partes em acordo.
+O Definition of Done (DoD) define os critérios que precisam ser cumpridos para que uma funcionalidade seja considerada completa. Isso inclui:
+Cumprimento dos critérios de aceitação +Todos os critérios definidos previamente devem ser atendidos, garantindo que a funcionalidade cumpre os requisitos do negócio.
+Aderência aos padrões de codificação +O código deve seguir os padrões definidos pela equipe, garantindo qualidade, consistência e facilidade de manutenção.
+Completo em termos de desenvolvimento +A funcionalidade deve estar totalmente implementada, sem partes faltando.
+Testes Unitários e de Integração Realizados e Aprovados +Todos os testes foram executados, garantindo que a funcionalidade não afeta negativamente outras partes do sistema e que se comporta como esperado.
+Validação pelo Cliente +O cliente aprovou as funcionalidades desenvolvidas até o momento da reunião, confirmando que atende às expectativas e ao escopo definido.
+Fases do OpenUP | +Atividades da ER | +Prática | +Técnica | +Resultados Esperados | +
---|---|---|---|---|
Concepção | +Elicitação e Descoberta | +Conhecimento do cliente e do problema | +Entrevista com o cliente, Análise de Concorrentes, Brainstorming | +Lista de necessidades, Declaração do problema, Lista de requisitos, Proposta de solução | +
+ | Análise e Consenso | +Análise de requisitos | +Análise de Domínio de Requisito, Análise de viabilidade, Reuniões entre os membros da equipe | +Criação do MVP | +
+ | Declaração | +Registros dos requisitos | +Reuniões entre os membros da equipe, Documento de visão de produto, Especificação de Requisitos, Features | +SRS - Software Requirements Specification | +
+ | Verificação e Validação | +Validação de Requisitos | +Reunião entre os membros da equipe, Revisão de Critérios de Aceitação, Brainstorming | +DoD e DoR | +
+ | Organização e Atualização | +Priorização de Requisitos | +MoSCoW, User Story | +Requisitos priorizados para montar o mvp, Backlog de Requisitos | +
Elaboração | +Representação | +Criação de Protótipos | +Prototipagem e Diagramas | +Protótipo | +
+ | Análise e Consenso | +Alinhamento de requisitos | +Análise de Risco, Lean Inception | +User Story, Especificação de Requisitos de Software (SRS) | +
+ | Verificação e Validação | +Validação do protótipo | +Walkthrough, Feedback | +Resultados do Walkthrough | +
Construção | +Organização e Atualização | +Revisão do produto | +Alinhamento da equipe, Feedback | +Atualização dos requisitos | +
+ | Verificação e Validação | +Revisão do produto | +Walkthrough, Feedback, DoD | +Resultados do walkthrough | +
Transição | +Verificação e Validação | +Revisão do produto finalizado | +Walkthrough | +Resultados do Walkthrough, Qualidade de Requisitos | +
Abordagem de Desenvolvimento de Software: Ágil com elementos dirigidos por plano
+Ciclo de vida: híbrido (iterativo e incremental)
+Processo de Engenharia de Software: OpenUP
+O OpenUp segue uma metodologia com 4 fase de desenvolvimento :
+No cronograma da disciplina detalhamos como seguiremos cada uma dessas fases de acordo com nosso cronograma.
+Características | +Unified Process (UP) | +Open Unified Process (OpenUP) | +
---|---|---|
Objetivo | +Fornecer uma metodologia robusta e escalável para desenvolvimento de software com etapas bem definidas e forte documentação. | +Oferecer uma versão simplificada e enxuta do UP, com foco em práticas ágeis e leveza no processo. | +
Foco no Processo | +Processo estruturado, com foco em documentação e controle, adequado para projetos de médio a grande porte. | +Processo leve, com foco em colaboração e agilidade, adequado para projetos de pequeno a médio porte. | +
Complexidade | +Mais complexo e detalhado, com quatro fases principais e várias disciplinas a serem seguidas em cada fase. | +Menos complexo, com simplificação das disciplinas e fases, tornando o processo mais fácil de adaptar. | +
Fases | +Concepção, Elaboração, Construção, Transição - cada fase possui uma série de atividades, entregas e artefatos bem definidos. | +Também utiliza as fases de Iniciação, Elaboração, Construção, Transição, mas com uma abordagem mais flexível e menos prescritiva. | +
Disciplinas (Áreas de Foco) | +Abrange diversas disciplinas, como Modelagem de Negócios, Requisitos, Análise e Design, Implementação, Testes, e Gerenciamento de Projeto. | +Concentra-se nas disciplinas essenciais, como Requisitos, Implementação, Testes e Gerenciamento de Projeto, com menor ênfase em documentação extensa. | +
Documentação | +Documentação rigorosa e detalhada em cada fase, com artefatos obrigatórios para cada etapa. | +Documentação reduzida, com foco em artefatos essenciais e em manter a equipe mais produtiva com menos formalidades. | +
Iteratividade | +Iterativo e incremental, permitindo revisões contínuas em cada fase para reduzir riscos. | +Também iterativo e incremental, mas com ciclos de desenvolvimento mais curtos e mais simples, permitindo respostas rápidas a mudanças. | +
Gestão de Riscos | +Enfatiza a análise e gestão de riscos na fase de Elaboração para mitigar problemas antes da fase de Construção. | +Inclui gestão de riscos, mas de forma menos formal e integrada às práticas ágeis | +
Adaptação e Flexibilidade | +É mais rígido e detalhado, o que pode dificultar a adaptação a mudanças frequentes no escopo. | +Mais flexível e ágil, com menos formalidade, facilitando a adaptação rápida a mudanças. | +
Colaboração e Equipe | +Frequentemente exige uma estrutura de equipe mais formal com papéis específicos definidos, como Analista de Requisitos, Arquiteto e Testador. | +Incentiva uma equipe colaborativa e multifuncional, onde papéis são menos rígidos e os membros podem assumir várias funções. | +
Recomendações de uso | +Ideal para projetos de médio a grande porte, onde a previsibilidade e controle são prioritários. Útil em contextos que exigem alta conformidade com processos e documentação. | +Mais adequado para projetos menores ou ambientes ágeis, onde a simplicidade, velocidade e resposta rápida às mudanças são essenciais. | +
Como o OpenUp é menos burocrático e requer menos documentação do que o UP, tornando o processo mais ágil, ele é mais adequado para equipes pequenas, com os requisitos mais simples, como este do Pet Shop Guará.
+Este processo promove a colaboração constante e rápida adaptação a mudanças, alinhando-se com as necessidades de um projeto que pode sofrer alterações frequentes conforme o cliente aprende mais sobre o sistema e o produto vai ganhando forma. Para o dono do pet shop, que provavelmente pode mudar algumas ideias ao longo do desenvolvimento, OpenUP permite fazer ajustes sem impactar muito o cronograma ou sobrecarregar a equipe com replanejamentos formais.
+Para um projeto menor, como este de um sistema de agendamento e controle de vendas, o OpenUP é mais escalável e não exige a estrutura robusta e formalizada do UP, que seria mais adequado para projetos complexos e de larga escala. O OpenUP permite que a equipe se concentre nas soluções práticas e relevantes ao projeto sem desviar esforços para atividades que não agreguem valor direto ao cliente.
+O OpenUP reduz a carga de documentação e a complexidade do planejamento detalhado, o que também diminui o custo e o tempo de desenvolvimento — ambos essenciais para um projeto com orçamento e cronograma restritos. Com menos etapas obrigatórias e mais flexibilidade, a equipe pode acelerar o processo de desenvolvimento e entrega, atendendo ao cliente mais rapidamente.
+SILVA, Luciane. OpenUp: um processo integrado e ágil. Disponível em: https://medium.com/@LucianeS/openup-um-processo-integrado-e-agil-a4400c17ce62. Acesso em: 11 nov. 2024.
+CATOLICA. METODOLOGIAS ÁGEIS DE DESENVOLVIMENTO: OPENUP, FDD, DSDM E LEAN. Disponível em: https://conteudo.catolica.edu.br/conteudos/unileste_cursos/disciplinas/nucleo_formacao_geral/Gestao_de_projetos_e_metodos_ageis/tema_03/index.html. Acesso em: 11 nov. 2024.
+EDUCATIVE.IO. What is a unified process model. Disponível em: https://www.educative.io/answers/what-is-a-unified-process-model. Acesso em: 11 nov. 2024.
+EDEKI, Charles. Agile Unified Process. Disponível em: https://interhad.nied.unicamp.br/courses/roberto-pereira/ci163-projeto-de-software-ufpr-1/agenda/auppaper.pdf. Acesso em: 11 nov. 2024.
+TREINAWEB. O que é RUP (Rational Unified Process). Disponível em: https://www.treinaweb.com.br/blog/o-que-e-rup-rational-unified-process. Acesso em: 11 nov. 2024.
+ + + + + + + + + + + + + +Papel | +Descrição | +Responsável | +Participantes | +
---|---|---|---|
Gerente de Projeto | +Coordena o projeto, garante a comunicação entre cliente e equipe, controla prazos e entregas. | +Manoela | +- | +
Desenvolvedor FrontEnd | +Responsável pela interface do usuário, design e implementação das funcionalidades no lado do cliente. | +Alexandre | +Manoela | +
Desenvolvedor Backend | +Implementa a lógica de negócios, integração com banco de dados e APIs. | +Enrico | +Gustavo e Pedro Henrique | +
Analista de Requisitos | +Identifica, documenta e gerencia requisitos funcionais e não funcionais. Realiza elicitação, análise, validação e especificação dos requisitos. Garante alinhamento com os objetivos do projeto e participa de revisões e testes.. | +Pedro Henrique | +Gustavo, Alexandre, Enrico e Manoela | +
Desenvolvedor CI/CD / Tester | +Codificar testes unitários, criar integração e entrega contínua. Realizar testes funcionais, garantindo a qualidade do produto. | +Gustavo | ++ |
Ferramentas de Comunicação
+O processo de validação da solução será realizado em três etapas principais:
+Os requisitos funcionais detalham as funcionalidades específicas que o sistema deve oferecer para atender às demandas do Pet Shop Guará. Abaixo, está apresentado o conjunto inicial desses requisitos.
+Os requisitos não funcionais especificam as qualidades e restrições do sistema, como desempenho, segurança e usabilidade. Abaixo, os requisitos não funcionais são classificados com o modelo URPS+.
+O objetivo principal do produto de software é amenizar a ineficiência operacional por meio da organização dos agendamentos de banho e tosa, centralizando os agendamentos em um sistema, garantindo que todos os funcionários estejam cientes das marcações para, assim, reduzir falhas de comunicação, e simplificando o cadastro dos pets, permitindo que os donos incluam informações sobre ele, como tamanho, comportamento, e especificações para o banho e tosa, e feedback dos clientes após o serviço prestado.
+Devido ao curto prazo de desenvolvimento, definimos que o controle financeiro seria um objetivo secundário, já que ainda é uma forma de solucionar falhas da ineficiência operacional do dono, mas não uma prioridade de desenvolvimento devido ao prazo de entrega. Ele será feito monitorando o volume de serviços e o valor arrecadado ao longo do mês, permitindo um entendimento preciso das finanças da empresa.
+O sistema deverá ser uma ferramenta que permite aos clientes agendar serviços de banho e tosa diretamente pelo site, reduzindo a dependência de chamadas telefônicas e mensagens no WhatsApp, sendo uma experiência de uso eficiente, independentemente da idade ou nível de familiaridade com tecnologia.
+Possuirá funções diferentes, a partir do perfil que estiver acessando, ou seja, os clientes possuirão uma página diferente da dos funcionários do pet, que, por sua vez, será diferente da página do dono do negócio
+Deve possuir um calendário compartilhado tanto pelo dono quanto pelos funcionários, que exibe todos os agendamentos atualizados, garantindo que não haja confusão e evitando a rejeição de clientes por falhas de comunicação.
+Permitir que os clientes registrem informações sobre os pets, como tamanho, temperamento e necessidades específicas, facilitando a preparação e a execução dos serviços.
+Oferecer uma ferramenta que permite aos clientes deixarem avaliações e comentários sobre os serviços prestados, contribuindo para a melhoria contínua do atendimento.
+Possuir uma navegação responsiva, independente do dispositivo que fará o acesso.
+O sistema deve possuir uma ferramenta que gere relatórios sobre volume de atendimentos e indicadores financeiros, auxiliando o dono na tomada de decisões estratégicas para o crescimento do negócio.
+Protótipo: Figma
+Frontend: HTML, CSS e JavaScript, utilizando a biblioteca React.
+Backend: Java, utilizando o framework Spring Boot.
+Banco de Dados: PostgreSQL hospedado no Supabase, para armazenar dados de agendamentos, informações dos clientes e registros financeiros.
+Hospedagem: Vercel para o frontend e a própria infraestrutura do Supabase.
+No mercado de Pet Shops, segundo nosso cliente, as principais concorrentes da Pet Shop Guará são os Pet shops que atendem a região do Guará. Esses estabelecimentos, como o Pet Capital, contam somente com sites ilustrativos, sem funcionalidades como o agendamento de banhos e tosas. Estabelecimentos que possuem sites mais completos, contam, geralmente, com sistemas contratados, como a Sispet, que cobra mensalidades, que muitos donos de pequenos negócios não conseguem pagar.
+A solução da Pet Shop Guará irá se diferenciar por:
+Praticidade para o cliente: A marcação de banho e tosa será um meio de comunicação direto que possibilita ao cliente marcar os horários de forma autônoma agilizando esse processo.
+Interação com o cliente: Ao marcar o serviço de banho e tosa, o cliente fica ciente das informações sobre seu pet melhorando a transparência entre o pet shop e o cliente.
+Possibilidade de feedbacks: Ao utilizar o serviço, o cliente pode avaliar a sua experiência para possibilitar a melhora do serviço e atender as demandas do mercado.
+A equipe possui diferentes níveis de conhecimento nas tecnologias escolhidas, porém, com o guia dos membros mais experientes é esperado que a equipe consiga se desenvolver durante o projeto e realizar o projeto com sucesso.
+O prazo dado para a construção da solução é adequado, visto que, o escopo do projeto é focado na resolução do problema do cliente.
+A solução tem potencial no mercado, visto que, um dos diferenciais é o baixo preço de implantação da solução comparada a outros sistemas semelhantes, podendo atender outros pequenos petshops.
+A implementação do nosso sistema espera trazer os seguintes benefícios para o nosso cliente:
+Organização na marcação do serviço de banho e tosa: com o agendamento feito através da nossa ferramenta, nosso cliente poderá ter acesso direto a todos os agendamentos realizados no dia, com um quadro mostrando os horários e quais os animais que serão atendidos. Seus funcionários também terão acesso a essa tabela, não precisando de uma comunicação direta entre todos para saber quais os agendamentos foram realizados no dia, mas sim apenas verificando a tabela;
+Praticidade de agendamento para os clientes: com o agendamento sendo realizado através da nossa ferramenta, os clientes não vão necessitar esperar a resposta do dono através do whatsapp ou que as ligações sejam atendidas, tudo será marcado de forma automática, necessitando apenas da disponibilidade do horário pretendido;
+Controle da clientela: Atualmente, nosso cliente não possui um controle do número de atendimentos realizados no dia, desta forma, cada agendamento ficará salvo para nosso cliente ter acesso a essa informação, podendo dessa forma ter um controle maior do ganho financeiro consequente deste serviço;
+Feedback do serviço realizado: Com a implementação de um feedback realizado pelos clientes, o dono do pet shop poderá ter acesso a qualidade do serviço que está oferecendo e ao mesmo tempo os seus clientes poderão ter mais segurança ao serviço que irão usufruir.
+^Tx32uQP?w6> zB*`^$a?)EQSFZ!E5@r6w1ggm!v~&yxFhiqMRMAap8V(UrWuFH8GQGI1o$sG%C99lb z5|R#n*tdRH~Du5E;5>WQL#XAz#ZZG-rlFd)Z^^WtJ za1y$AI2)c>tCPL;W&2t|q4_Z`CXNT2xg6mZ$f=k2O~hGRm)g8ecgv{Z^B|%)!&(jF zqEi*>Af*;~5(h2FAlX#%KMS}7Y#!g+X1IrB-#Xm61WbHZnif`Kv@fuJ{~>UxnQo5{ z%wK@~pG4(fH+1g3a-&Z#q0<8cjtV=%IxYc6=XXxXlW}+c*1$iiB!?QrmzMy7Czceg zo}B%>c^);edh>5e4?Mi&JQt!cy#0ogPvtlF3x&Hcem(!GvU>3RuR2*RQu(b26@0o~ z<>xo-e&6)6Y<@ja{#E4j{q0{>MiyDd7h8&4p&~}dkM79)C?9!w2~c`*3D9r5c=T7L z^}WPR#G-x^hOsK-;my3CQ|oh=fWmiADl8)&hW<_K@Dz8{vR7dNLmDeEULBA4tLGH{ zsumn-AG{biE%g7I6Ww0Ig6$P5sgGyJ!HJv>Zjuk=IpRmu#SyYUYEbf(z%Vrg@5Q2r z RLr|;4|>n6pUAsh0_G(n z@a%ulfPSZ!$Zu7xQd|&4!aiSNSiX3vR3QFjH&@B^&Ykt(i-VF&fW!O`O`9vY#+J_k zDwFAUS%2K^{wwS86M>1%#Ct!uCl*xxS8epj650+x)c1dKRR3xK!<&Yhy$&}0CP&8q z!M2pH>xs^YciT}Vy#2yYIU@dPb;{RYriByCN~b!7O;KM3-Q_%EjD(oLeEuZlf8oT$ z9CrSCJb4Mgdi*SX@Ta}`qQ7jB%dm*ni(58-WyvdLY#!l~f2KL_afFdGk1rO@kb@24 ztpF+)f8qSaG31}jW&@WfD=hx)vVXhm-@WYL1M}Z=+5c~+|Em)+lIFux47fdC^S}`B z4&6hWydA{!{6Q^+BnHhB41}YBrv&q+qx-p;pBTrD?WTlA+RLLJoijqxTzxj~HdEgk z9Yujl7X8E)*F~fx^cusy&nbGvr&4ulsmmLk6w?;Jjl1p=qVEC#Xwg0;zHy9O*dOGr zlb-i7|3tn!b~(z-zHpXNiKxeQ+lxPBo9Y%AmYx3v&T0(GYyJ4%{0{(eDf)Yj`7eNk zC+?u8`PWPLOMt5u-Jk!ZB QtiEVRUQ#URmIgi`x>UgAIXVZUhvatSbGPCSMb^nfaV?b2t zV0ug@UZ-MP=wd?X>T>^qc1-$0&QR^1)8y6z>5|$%uW#Co4=-?X@=>!2GjR2Yt$cF5 zp%pC0=L8W|K4)R*7s=yJ5|)U0XNsRuQRbAF7Qv4QWgUZn>fKvPG8ZL5X1FzX{%7+> z$0v^RF1UB`1^8NVVOllJ!{P&=e6jzBx>GX4t@}Eg3zG`K6FrdS+PqR`ct2465}=Xd zr# EnL7oS{JZl;|U`V+;(vLsBEQoKH3jX}FM&4^~ zLftaA^EhHwf&J> kMLt(;-0=3RSRNyWk?v{dI?H_4}Gy)8bFS$@Z}uCxfM z*!6O1rl&bs*YC$oSCQQ~(vGB$a-2D#ly4hsmH6rewp2^i!ohWHt!L^N_7Xgr;@?aj zH8MyJpffm`az2@1OYHn_-bS{q4l1W53cOrXNFH@?oaQVS8gz2imS`&YtoM2Kqtu6l zfucd<7+H0 ^@77k;bv1ZYia+gIgI2j;;2Z+I-a9l0eJYeVmvj8) zd?P_!@kYH;3Eh(b59fgYmh4&Ee=%;nC)J>dUM%=f;sm%FKt+6XkZcNxd>{9X{ArsQ zfpZBF4<6Bu5X&o4GPAd7$YG@1`k1lK=5Yz&(wcuY4*#+%_yQpF$I$=uC`#-5K5KCa zFm1jBG-2Z3{MTZ>%)4$xeiU!Gf*Sw;ru&0v!c~sS`NMkV8`iZ|RybuJK033Xs&321 zi3yP &Nc(3k#Y7Q=+50=9~Yy^pmk*(oulcx=s4DqE7OYW@ps zscrs#w5xEvr80VgI&8grq+zd(u;s-weBs%n_+mS3!%soYLORO}gp!^K(`X;4b+j@- z>*dCF^S^G(ED?KObM*x`VxaWyi;{A)x-j*1a4m(Nx;X50n3WpPd}h1*7$13D;QnoC zB%DRUZ?{cxmi W@J}#~w2i z*iS#q{_l%boFs6$B>JAoZtqZ}GUW`T~2UA05%5{1kRD*TP-g&Ry(Nm^DMnLG=+;znz} z{`?_w^y${(+%Lc$#PJ3IsM7tt=U=g})X$sV{YLkW-lVv;UA6s&nS+&9X>7~j%Ds!} z7$%ofrEie1E*R}{@+5f5efXxy%X=Cu8FzgyB4np+_7^v7GFJ?Lk{OjUT>`#i&TqUW z;M`(l&2LM@r?*fGLKXN_xMTPqv^C_}2}+Y|=uthkjkXshxQrH+ 6H|>wG9ck>8B9g57?b&8#^h2xGAdbDw7kZA6rV^R-#QB9 zV5}t04Hmp5sjc*C=kBxfT!++aRmUycgI%f?E4&kHVwZr5ncUhj?{z=6j>^+d?Q{(9 z*1=VwGZtMdP> L=3 z`T*7!4sZSk_d-^}+=ZT0FI)l^VEvE&OKCjsvrWr*Pr713GXTIv_JTO`M!pd+%sDK0 z{kkAhhC#=L^G&UC&BU|t)Y_ptR32(j-rf3Virt`@;8szVhSasMCDyg>Mb-A=4n}*a zdvm?}tRTcCpd;fF(6#_i8Cu3+Zz^oz20eX4=rdazhQZ@WMt`dKR|b>Z_ezg4r~P5R zV4vI5zat1Vg$(66T}@$u-^rzvc5#EPgRmCH9b?ZpIad@CYD`h3wZKv|6O$*{hL18= zWc4TUj&CXi%}{(4Lkhc*;ng&Fq*&}FSZ-P9W4^TXsbNYxCj35DhbKEW_qdr}C#$Q^ zT0We-n*{XpM@vvA=lPEuu?VvzYD|M2&;MZiyZa!)Mk@~-Ls(Fd8d1+9MtfX{%(YOy zgj;f5lcm3Og|ACS_=>j`i;9X|*h@9|B0bBwBcr$#I_Y_^8Nox8Eg7ZB=Ya-fHv%Ku zpRWlK&9164XS$a?f;QEU^$ia2a=C%-+-}R #joe7=FNAr*g5C12EUTHbT0vuZL^fZuJI<$ zW*ImZzwyTu(>%6{h-ycSFmS3b?d*0dA^A9E%kZ8^c1w~R)9`2^_cU^4j>{`IRb*w* zQRMpi37<|zs5@_^dqlCYdqT{3iNa{aymiS&o8y}E{#Sl{pTh#UN~c7s%5trpW4dW7 zKIYR}k_W*;bF@$*mHmQSNnRoGNm;}z)*<_4DY}RFXq!P6Y w&!}tJ4dmBYM&2ke6Kd$Rfe2nP2z0FemZ0ixB&s8 z^r1`l5l62LMm%=JvfCo^i$BD$B#U;9hi3M(8=?&F#r3Hn5quA*Ngbe4?9Rhnzyl9O zg33qz?c zaj9HM|^NOfnr=jJCc WS?XK$Phcpb*#H+mV;h#5Y*O4JK zGynQVXu&Vgr%R8xBjU({*D5CbF|2Y_Ock+%f{kOY;HF92=Im%e|HFn=Y`v$6%8{OU z_bo@tO8L8%ph_$(?$)Y`<%$?AwSiLHif!E0KbZk<`Y=&)RG_LljT$C|(R@Y-!Z&+& zGw~w78BmqtQ5(}~!k9DUtL6~*itLOJRH4SM#;Jql0~hcPtD1pT=^dw4Eg9{a+;CmN z_GSjj4FWuKA2|5!>Q>cku9lRjfa$}Q7pshsi@aGT_?j_(&bYoX1GE;mmuGtEOkdfM zJe-=?Qy=UXnqZG7UIa-`1y=Bhwo~+1WzGy~p{B+qJ;e#LGU=cwL6oa7VlFnLfhqGx za#b#reuE q&%)i7GptR4p<~u>!~{$ zUF*`uoRL8@om#b%a}m44S{ j_~Mu z4)TDi#?L!sFw;Uz$y%0`cEC+1HI#J8mw;h}%v-jcRi}zJH;7Irglk?;=2JtW#@w{! zN0ZIj(5GVPU+tSlRM^l?9vxRNJ`vK&y2dnT)GN!g*Nxyt$IRtHP|LGmxtz=>CX6MY zsmVEctZpbSRXetFTpVH!f~(Q(Huk7TxS=Dg0{A4KH$ly1Y~Gd#0$^2ynBQ3!WFsU<2oV z+6?029H2^7^9_i3I$&E8lnVpa CuI@`#R3{Re(dD}OsW}HEh ztF7_4)UPZP4g~QzBvf<`TmniXe+aD2SZ?^GINtR))i}yLjO%}Nf$X3*ki1%k*KaE7 ziR0>F5mOdSahfBoRPS?etY_g1=}lkUFk!ULb-mD 53yOFP7DQU=&}oL)sbqYa`5^^HOXK}H4#oF z7J<4rCo2N{TA^}9>zR3mpG1p)vqXcvItVy#WSEMxWCf;|IHy23#kRQ!33eZ8OiS87 z@R-Jbuoo5CG6xHv^g1)Ue~}{dkU7+uk(j_>q=yIb!)-&D%q`es?c~^}c-3KFsQ>}$ z;$eP56}C{-U09o!L6OcnO8mkh^TJ@!aCp8){N-U7(47nNrTvM^bl7aUMEQW92U$zq zOJL?PbLH2U#v-fXEty-~syEr1nxF^_nwd4oo|9`ad|*iK+O&Kjuwum1$#Bw416Rin z49yanS0v{)M6w8rwlaI=0cp6MFrb@Vi#*4VzW&lhvqjiHU!To($~Any0!t5Mkcd8h z 7=HU5hdMb`;S+GV) zCdm(wN_J&xe3&|RqQ>v%Ce|w$9TK!WQ?RAk6*4J&ROfdMzc+46Rd|zuK{6E4+sa__ zBUrV$qC?vvF+hSI#i%Y+z~h(%)w3u7L3}c(@o9RbrE$$(?PsS#$kz9F2H0l8igusn z6v|DV`rv%atV7~v>&WaA3=uR{c7|bi(wO!x5H;Lz@Q~IrbXVg|`8r9)dwU~`7$q%> zKVufPl1a9-I#&yNUqZAUq_ay0t|D3D9|(Sce%FieTDupW?&9X{5idA!ETDXTzk; z#fkfrMlWjQvMfQPcq{oP=m}%I>T9rL``LhjtTHMyN`EUk#w4`TRJ28P!msYJY#Mv0 zFFnNcCKbBqhI)tA@M3sE4awn(MP()5h=edWSR+xb*L!}Pr`O&}ez$G6^?KG|-1F$j zHYg}(y5w;pcL{_#4p_2lxIJr)KBnAc_MExSZOYNs3|naD^R)=Zjp1^021Fz4F(@6- zSjPc%3zz6epYNLZ&S#DrMf&e03 Vkwo)r zr?n5ASaU);1fML8KIhD?knlDYcxw*BFXa0S6nrvo!rzTzsz_=4Xa_`RXX?Ar5}aYp zHX_rv9Ru!6+BaF#P}3IY#NB{qyL@$~5Xy~gw9qdQmkfiamL}9}G3Q3F1vUC~w%+!w z|8fAS8%|&!a(5GNDR9)09bQ6^!{MknwWgv_W^#WtW1rr;i&y&L2ga4Ch7I_5Wp#CS z93U@y`Z~^Vc-g!&`U1r234-Ss^npurU~1q;9wLdFLxm&7wjqB;_76BOz74@utiV}M zKe%Sx&qqv2T5J^P$vzh^PrLyR6+FFHXJ26syj@vCqgVeKO|kWd0K`%8{Z3II(v!tS zqBGOlyw(l+9hQmg<}Q)osSd-Xx*VB-p|66P1T;i=%#m$-i*^QaG>$&rUpm4l3T$sS zpkL$%eShuTvf7%te75cx5t3Dwday&<=$2cKt?kG@=3YXSo2&}Aa%5V=jM4(|;w)e& zh{57<$eXv0^Vg&3jjP&)B3&Pr^-krq>q)@nQ+9-@H*-* RyGz@BS*@1wz+4+xYN1pxL{N5l)^Tp?R6G; zr*M2F*U0F@wsawm2OWq;iEc6}3NYf!m?v?$O;vHKfVYAloRFv0$aTIun)QFFEjHv= zwLCi-gH{KAmn}J rfGkZv;sqQtw^Si|rUBd12kD{VFZy&D1Vikf@)mdFCV~ z;!hPPrU63;+}A{>!$p`!hr1Ny1cgum2ge|voS5gU$Z hOFOpBd_)$I1-2)c8)b>$ z-l)FF_TCOX$AD6j`TFV6A4^`e2V-(oErZnp_U}JpgRi`gx>F#5VobijlCvfowlD@P z%hBxvW4K~t{qp82P514-imx)&)He+C8+-RkeRGCAbETy56piADBMUg@orojVAVsuS zv~m WQf4RB5ap*8Jc`Q PE*O&V7PL}|0Ly| zqlF)8w3qLzMLq~$%`9n)X{~Y`47moK8yp?-#!qW#;`0Zmu;vC#o=~Clr`4u%65pvl zVxwbG1Xup>NQH3>1|19m?OLj7%yjj4e`b{LhG9EK&uXQ6zDj?~MDZE>#?c^>ZcE~` z+DlaHKv^bfVxr69Ew9hN0aHDdmZXylR%b=L$;%ZcD+U?{g zaquFzLk|RkXgWGqg|Z96CU^&ryy F23D!y3df_Loxf!Wt+ zHO(WLb+%j^D~;@9 b5wQqjQ3v#75FvZVcDYQ2y&hm`;9%bB=B z+UleSwyIN%duVY8 R9 zoB-cN^0kK9hj$JHF9FvRlQg?xFBSs&TfZI#2!3TjcAwFoWeo{~EcvAFIzZ>0>+u`( zGW}uTJJ Ncbsd8nLyJ2se=8S)5fLDNnVcAQ?nxK+GLL&QJaN#mZ`Bb%%-A8g3% z5%$rHBy4dPb1F=JLOhnGBhGmRL2E)2 &_x`n1mfHyx=rIKkgvfn)13qQxR&%7AS0XErt`T zBd)2ECqd1sc;(3F>`JH{^oxkR^X*Cg_;bkI nyOUDZW2Cc6W${)%{lzMY z?mmq^l-@N%PjFWejxQx2&x)mu41ZO02KHIK)ZPx+5lx?tE|X3d-*qK-ZS+nKNTpu% z_?|1O5Idw=Np5^dR#RlQfw4_#Sc6of{cQN@-oB?^Ro^%}9)#4-iEcxt3&|*^?^%y* z?+mNFo9{0-eLMrs+=?#LYs$Cb%I**P8kEYe 0lh@OMB*Gxt-$cr)X#9Kl2=Ca-JX%WrGz1 zUqsI#bf`&B7>J`JC{LwKLo!918L!?Txw^=dDiE_)vU#4E`$^QYBjc&baBr~^8#)ux zB|f2IWkEGweD8S b$l*%Ib40T1Oy}G_ojW|6K!e>kcUh+yjE|nV z=h7ERC7#6+uBHY*vT_0xeRTU3f-Dpscvvf#;F~8QvV;~U#>}3!a!?NNv@vleZB?!a zjYL`UE=Hd95C*#iwJb%$q6mr`Q`*Dj^y6a`Q)9+G)&+|Rwq7l;Vj8t*RH 9A zG&L&!yeYs8)XAElU%Qlcdw#^2br~dJN)tv9$A)dDH3X}-d*^g?msj|19e4feCc}^V zY-MbxJ%4q5 K5YE- zbLmQM)=gI6tA?Up1k2u;D&e~?Eg_q~!6SY0j;g;s=S$!D9iW5c%$Dbds8!g9WpP?5 z(vug{#j4RioUsP&o?vHf%+zAl=kxTb!y?`z78#oRUxl1>ioDH|)b_Ww6(!T1d;8!_ z0bi#7aJpmEtaxPNlT*XRI^bj{^|;5&=oNW+F?3`0=$hw|YxEZLyC^iM&WF#2>Oe^D z?s?fxfl7aPQV_ZBVp{nLwSz{MXVA5T>l`sU<)zK!XmO#)N&$tj;~M;P@fY7Xl}<}^ z8h3T)uDmMYCueXu$UI2MKHPZC1pG)tW)!;*%A)88E*Q|bLrK+&4<{SGjAoQ} 19a29zl>sIfACpBg)4 a#Nhlyc$faobNMa!LE%jD^!x6g zX)(nE`2rDQ=MCq%48-(E?>FDHFKYQO0lgQ<2Tqp&8L#dJ-GaIcnvHG^kFMQMlP=|N zW^W$bz1*)w?*I2>jsFa9ZwGF+R?I&IEUEoLjAQ<7D~~;q-FNC9a+6nYmT_*^Df((h z(0Z^2Txk%0>Uos;;|Dn}fKp%d@8QqC#X -iiqa=44*CXuH=lb_+H?u1f06k3@5RQp&DDk{jvvRFm}Gwr6O*N(y5{cs%u}IH zf(~Ux@guDG6-s4xklbKP49TL@yVY_bn9*eOI5T9d1Ost(6E)c)oX;01q;7_^=1+D% z{bbH$)c-90`kJ{%&K8{k11%EM ||g5zU=koSXmb2Lk`91n*3HFu3Gn_<#V{6r02-*PEEkt$ne;epAvv+;C;`>1xZ1 zo-TRHX`vo)@4XEUe6*t4p=x5L@!ThwvVu<*&(oH_cM7m12xfkK>-NqI1Cd(o@UgK- zce8cd3{Lkx308A*uw;|g0hgP&-jJ&XQEsv|^sH+o-{?^uj&gjoSbION$2(3`r{(q- ztAmq+n+@f9dx-2uUGby)XjA*}KUZ5|Taw>I&H_B-*VsA ZXt4N52v6L7bVcPPW#%t9xOD~Bt_ zS#)tZZzWrdO3|nskVhJ1Kk>YUIZ^+0=^(c&p@SvXL{OwajB1WkQ*}snuMtEkSpq>* z Bd1k?2u#{-i7rjlDirV~Vt9VX*>6j|Bz=o(+>lGytAH3^4hQ7a{#9pW)+J<}T zl{@Q8y2K>>Y6fGo&@fi!<-?WS%!?_lJ{N6&Q6039?m_LkT%Qxz@`iICpm5rrmN}qO z0!?ws7v~5a5+$W__v0PsS{j__YBkB8Kn+gs=w#72lr0^?()TB+m=h+sB+Sb~e6&!S zqm{>(0G2 Duht5P$KP-b~5ub3rz!WIS>S;8S55np!z4 zyQk_Ju`<}cdGAfl^ApSN!*q_ke8mSjw#SlL`+|uNUTI_xg|`M$Pw6Qvsoy4Uh|v7C zKH_H1-?j$+k9P_H0Ai5;FBTEe#EqbfWEa0V!4t|I4S_}%aFh(^h7Md3$=>H8W{A_{ zskRsHmRuw!*KIj+3C^Nk^#rCzm3{+JogtB(Yxfyzei|lLg%r;+l(%K9yJ5{XE~+ij z=ie4>+9#z^(FP>PHF0uGOl|q2qb)+MikX;g;eaUTN%6z36@lb!CXSjw!@jqn&kjlX zQarirq;i)<;g)J8hGmF~??(Ags~u!AMH2qVwGZ{~3v}0?LJi5at?~whQB>-@NDSq( zQVR`>IlmnkgAV9HbU)u-5)kERyAbqZG78q~aTFF>9}R0OfV)Cx^WUX?T3OcJUIrep zA5-V&KeC8QgxNTw4s&+<%CIeEru_~(YuEw#w4{o?`)6rD=`=0e$~W=Cdj_e0!eS)Z zkWL$OBThy^TK=*lkxhcFi WCC&-l zybBKFBlL0I8WEE(WSr7b8o&bW4n@h} CGW z!+!0EYE^y3s=@4vjAyw`x0`n E^HZ4}LF@(yZ=-1AsK?nJkwmr75jIcVvTuoJ|8iggWz*$xwXHh+g)yL9g)9s7*W zqT`l9X(R4gxDd4k53IBX`7WI*i}Y*e&qrRsAtzR6$03`m+8nylwa8Nl{YEH*O?J$P za;R~-!Q5IptdqL~FXqRo@TSxc*@lAA^%R5X*BnBbsD7cSelT^UR_JZhC9;R@D_x~a z K`*z%o#aaniqwQ_Nxnfhu^uEzKX z4>0#ReAG2SF}s$bqF11ZQZJkvJdyneh)+~Z3=mS`doY@lCR8JbjPQ!;<)h|2%3D~x zsHUteH^dGmSGpK@wG6bZw|m$>C`Nli(4T58)&p8ZoEs%AMSa87;# r={!}iXR~Oxem=6FUgPl(+S_yLMtnZ;%ZD%rA>0gCo~Xob zSw4dAFf79(?2nK{bp4uU1Q+$Z&-XG^c&RkFB~iTtqGm;${YIY1+##qUUN&9=0!|>( zK%k8Mjqwc9uhJsAwrZA6#vF(P6zs>4$1EZZS4@bFMYcfJ8t0Eh$AD@fLIGo-k+^J_ zdd}`b&UeX_>9zOkqnb$-ywJcE9-3F6er%A$i&5kq4F_`yNgj1M(4ccM9m1U~mG1;N zt+z3F^d zPM$N}^CwpnCX#6m s`OeQ z{7^nU>xyQIl@o+8I#KQ=XVBEGvmZeJ&0xb(QrEPp%)Qh^&8`DDkQvFLLqh@j<;rhk zF1r)I{7drZBl7#C0 ~G$$77gMgB7CfG1yOz(ItbxO08g)wpA?^ zSQ?kmblQEvKe*4?ve()JD6qboa|!&_rW}7@+g_yVaE|j_p^uqiI?aI@ftw{uv|OR- z^TZ9TQ<^=)nIXp4TWgGE73=hnWIyWmVYA1nqeb&D3)|Cz1~=yRa>KrEK3EFGq|Zg6 z1rP$fncb|Re*}?gx1x}29q&C{Smd^|&yKv+tgG1`Tm0zaelD76b7@tg!*Ug@)A}Y% zEsTuK@{6(Wt@Gzze~M&p8jY=-)SIA t-|E?y3L~X*B4qV(ex7F^@|JA zSK4e0fi)8Pcn>b!uLWLCX%d(;_{n}2+#r>TzArTU62Lf}ubP{LUruyzar-qTQ5ajz z!Ap@Fn@C$20D~0JI20OsptSst!rWFqEe--K&_k8?h8$KXbXHnpNONzN9JveM+OKs% zgu%TFwp|??*w=e!)!V(M*&~YOkSrFBbAI6(Y8Bq~@ficJ8xq;jw@cS`gn5QaTY9Fo zE E!y_`?zTtN=rXwU W3>ecsxbbKI^$KYVM)F_E(mmiMB)e z+V8S0_dGSKm_DSh1QW 8-5v1?haIq&I)ZV}5Mu1vPvk=O!r)svD2%%FoghObZY*gaZN>e2 g75$8#I=f{BRG!cAZ|tY)n{6>q=RNjK`>^NJ_6z z)@SHlHPj`b=#Jzkli-&8Es0 ;`Tg^*p3Y2jBR#PE>3OnZYk!$%Az+$5}qi-RHHtBzg=qN6fVm~&z$O|kImm# zJOFn8+V2zF1KS=pzlM4z?Z-2^nSPr6)JY)zQcn6&Xjz0w#*^h=V1~vgzq9Gf^-Lp3 zk8Da>Yy!PqnhZa=Up*Hw{bqs-`tQkHZQbbM*JY=C0djte(;jaCp2hcx&HpXQ=MFeo z#x)t|m(H_u+x=8bm1Ifou(PDLaLqMTDtILPXH+`iCNI-Nq8fxS9TwaCw5Uwgnw!(W zUYJ4L(t4+|@D`8ESnD$9vNPgz)pU#Y2hTdLE`#%$gjV{L09*v$RQkai<&;jH?x5bj z3rD90#QL^NU{3*+l$L98W0seI)tDB&N5< 4L>4YqKSv}y*`lE_bZ|*F zx3BmZp1z`9Twv;pVIjzebw=^#{u0`H)jE62`@z0X4w8#+kY{yc=zSSh-cL(Nc3wJ* zR8M|hu!Yb@^(wdYR5=s(WNpu*pZOaJZS(23iFLXOb0dwqr02dc7Re#ai>h}z)rXPJ z pi}f3 h @s|wS>dYL5IH_q)Us!^Q;qYUP*M$6noJ6{fI_0vQlThhEEtjAE;4%XD z>uA<*pjK)(&d1Y-5chd*r$yH7Q%*%TB$C)m&RcDkN8j`vz<1l-qnL-*r_y0+kFnD2 zS+tc8nxHE{-XWobYCB?%0we2$7Ek}gp } y}g$sA!=~~uY zQZhW9dz=)p5Xmal54HRi>G+LeSVj8OCBT5Kuc_Ea!e#Y`kx#~?^zR=8dmaku$7r}z zX)=~6Kamv&Z<>jijPOfS&Gq-R>de8p#6DS%wYYnK*B;_lUCFIA`xav|vub3DmS2qb z|1j5RGy>O*cVGUP7mi!>7#!`$gUPR{Ifbi|rfmhPvOLVnvam--8wF*|?2hOPpa)Cg z)bBkOeY9N4)Ln7u#N8tw=8>AVK#{t)^-PRijt2aVEWTyYl 9#A$aLsY3Yy~_?JO-jJ<-SdWDJEF5^^2 z8B@SBQ-+=mPAX-K7hLudpbva}ph`LREr%tg$*%P-PHXa<9^A(a26m(Q=CdE|Vh>r; zhuP3Hg$AjT%{95uF)~7&n_jNHcyg}fi)m!b%6zq;hH#pd^Yua>=DHCYJ@(oucV~E> z4~S!qZam;X5=PZKt!5QE?UAYSO``ULmw^?ux^0FJN|U&!3$!qJTv_yZ=5a<>2#?;y zH RXL z85FBB4A*%2SoNK~;oOMhbH(N=a|OOER+yHZmQOwxA>DbLDwQ7A#jRCT?~^w?!5A`A zF5;GFfv0sn$c+HvOdRkjUTx7vQGDwdjd6McpC|!&y0y_{k(_R$<2gk)TxM);I>296 zdDv57SEoU8G?deJ$Q(R2OU!)Xnd*U4YrRaE<^$&FF};lGG;`Hk@NEtv`15-i59S%+ z^U}-N1fU!TmYbZ#Q;?T_M%&AVt3zc`0cdk;Q|>UZ0HZB6Z~#~muX48DGy++2-G)ug z)}l08devjsXM*!BcB?Hi*bLTWs4XD~KN#nr$0=NwrzTE)W)|!!Dk_dnP0f2r)!R5G z^|I%XyMc)TyVF4LGvbzQXkVtK%c1EbEMC5(Dj>{hVf-pGlv%rVhofVPHSiGA`HYxa z9!+4mU9c3G@GK?{ANx^!QK$t|J_P&D1Wk7(w52 Y=51tt#JcPy03&IZSu4eJJs0gH zSX YOJjttK5Kt&i(?UYjzZ z9|Cc~V$2BL+8B#~rrH=%QdpZ6kSR5QYF|Yt*#VuT^h}vwDTvcxY!vH6Trs)QA?!)7 zD?%DaaawvzD8e@EEQ=Iq `||uA8K-Ov_rX2GofHoHkUH=^}?Gh>G`#g4K@=J%DvOG$Mt0qb}6Iwgm@1wIPrY z2Y6-LMIj{#6pS2<9SKX)c`5zFBEU6g*}>1jR5!uo*xd!|PIp6fziGi(q>`d&Lmw3^ ze2@Cp7@OlJ!OpB<8hV?fRwYsWi7Ai#5QAf?umo2cVykKl!^y|Va5cfOQdK0S^hlSP zqQ8)2H&lGy#O!!Xcd)T4TzR-sn5|lia>?GKE+Eq8rlI=+t>&1IWEvr{(IKDn;`k)x z%F6_qisKqHGq(c680|X8 aspj#gI$2DGdU-SWw@cH|Aefnms;td(Q`u{X y6V|_OAft;_o;;^=J!w zr%|_rL2R{syNm7tjrWQUu$>7bp26XusS0+7lp?<)Jp%6WgR4I8YawBu%oD_NlPRe0 zo7)?5Q58l?;HI2b9pYGk8SPkiaNqA0sM~BU%nH8R;FCaaO1&_%z1}X{;m6MKmTF*d zxmJh9i)WB)^Kp9#gcsFl(x-IeOl6CvktKH4X!~7db**LJ%&4@;deM}_`v@C}(TAJT zmcT6fG=-@KVruTRMFNxgugsyk8q~4HVtW$QC)22GRWbmppCLHdqM`$ZYEIY@20J%6 z-k%T_mu?InXTH?K@^~J~)u672))=*|hen>1KKt701mf-mCUL<~+o+AbLNeoypew89 zb&Tr;)r+p8yoV0D)oNa+6AU%R6z&1SyhAWDrH6P@p)B$QZ&afJN_({9bB|8acTZ65 zTmxcTINu&rRq57+Q?Nhe6dD{1e*oHCR7qu1@6c|aQWl79)1L6 _%m <(vw_U*ZU4M*H11FqMD=rD~_2i&+ zf;XdoW{k-rbYF>jTDrV~{=IphYn#9L?t=M(95998DBqlhVAhd~u-7uLn6?D #q{m~U8B-G(ibGoBv?y1r8%XSjyC&OU) z!gwf#j#BeQg7;4Cs8?*})~*Zh1$c|AVl+>5S!s+giX^Ef5$T*AbtR-R4t$k=$Uni+1it@I62NXT`Bf?oRlyk<|I z?`_%@^g6z(VP+!4ps81I NeVlrS;<-2 zpC>t(zrJqOj80YlQ*tO12o+OE$U(S)9=tpQ+SfX|n(I&m(w~Yv>i58Bbc5EK7IdJ% z(nP2z=Mq@WrgSuxM5bYq{HACEp^$O5^N3zP8pb^qWwNB2I<|(5emu3T&+gr-s!3=& zC3N=5&W6Y(ShIsqcB@%Pg9QXN0`13N6htpx0}tEt-GWHG+4w@W>pado?G#EyAHzHB zE)p__(aO3m+R3bXz&VsRZJ6%S;>pKn7!4sNIBgr806Qk^IL4Z1gp~R}O%IKWd3dpe zte4Hv ax9n!0>1{W0^{QETxEeCbh@0WtHy2n;`AVhVdo+EVOldD{@Wlhd>3 zt7-b)ow7A~!4%tWm{OkXScGU~S_x?0w^S>mf3^%oCd9;cOp3?-@Hbc=neYpdM^?e3 z9EI-uVbos32mbPWXa!jo`>werPMZTmzX1{Dm>UiNRn#m?nuVR`hKyF7#ZP5VVK^`Y zKINJ2j)>~WiNF#2!-R=x+4)m9BzFt>=p0*OVly(N>a*GxiHX4g8~#&MGT1YCyvYDo zpZI$5$8AFR^?u@)mFIWw^`IN@oi v>6!yjXiuS>_F|XWMmRJWlj{oA(UzV> z16w~nN-H*sEg29H*)8W9@DQ=+n>Mwa?HY)tRe@3?+Op6-F`8#h>?1Cx2A%~pEYDt* z$v$C(exRCptQ7S UBB1&P2U_7i zE?L*3X`r{}=SWk8WlX^){A*;DTE?I`h?oSc){Lg#QsO~;Q*4;6oKBSMYHb+!d_?fY z;fwgKA{jH03Y^TEr((fP71Q%nXJcy0iEfGoPOf=1O7a6<(E9JrY>p+=@q8yIa$^ @Bm8l z&j{L@z?Fh;e1rRfUiT7&jdxq$tF1)vqbkNFwXxAG8`CIJs5ub*r7y!X^z{AA7;lE% ziM*9=--kkWo|xBkuPTOv+X(WOhbdYs+~33M#Ds{>3vXJ8db(!BKiqJ!dan_qnm1fi zG><(tYVU(AOX-&=-=j)Jbp1fzz4|AjG{$w`G1np?V{R>@fsQ1YR_qzNk*m_75pg=h zWME>c-tO_1Ipq7}#~IywHYIKO_R>=Z_pl&)$(KvwJ1EitC+*;Jc)$=jOncUCbGBqL z=4A{5Wy#f^?3^uWB^n;chn}?3s`ASz=nqH`wT$gv>&TpTn!g07w1`}oZqr{ypoV+- z8<7!C%Gc##Rrd4PH5~bIZF Sbx7? zx#I$@2P(@^4xYwT45HM}wcjujoFSYBANz-d8$C++(PmRf y3bd-c>_X&o6tju%$8R)4GtXi2xEnxazSs{!LSu*If^vDL|`h=P>kfWkLp_^De z#2~UQxU3G=P|{9cu~nw5jA}NvzR1Sfji?QJ%FcWBxI2b2MW8@biR^L}j9_C)N3a6= z-NO7V6 K?sejSfQ4zXp^-D8`L>x$4!#t DM$1+Dy_D;L?)iVp1*k zV ipl>d+V?^yDe`xeX5iKMG6g2C=xtS61>QR z1rn@y@#5~JEn34pAxO~T?hv%l;=v2St$2~r7N (Q8>^D<`+p>?N0# z?Zy?suhrLAGK~thpfxSs?8c0>20<5e@%XX``qeY!WUmYSZGA&+9e3iiCdknZT?OY0 zGjex&C}P-@OG7wlxYLqv;pR}L9Np-ZQZS&DOl%@#DFN I#@YsHG=}mL z=x-J?9QP&O$}{LTzv&cpB@SxXcfMF|MM?SHt=LuY h1sGY ziJ-kw>gIK^cW9Ukee)U&K69KSR_&!vhlTT`(LSRzeR^`10FHb%qgqcrXNYk$H@=n@ z5e8p0)PuzXxiB!x^PvNN4nfS)WT0vWWm%fHP_&$jGthoC6fHH%B;FWe>fPy<%gAo8 zfys5P1Q{A_Pmp!S?qQ{kR30S_;I?`*qzYC>7&S9%d7~8D5L!BD=q8knb?g2$62H_+ z?!ML(l+~2fYMzS8%|?IBlvC~=R}A>`4lcn^UQH~h+~bqnBR_VVIH+dE6rDWJV6WPm zeCjIpPEDiu^Sx>(D;WHk{f%q^di0h^FKwKX7J3S} 8z;kXac!9SDQU{P{D00 za|e&8HXm=mg>ksl*A(0Mo!c3p n7w^cPNL7a>p dk>IjIJmxE zx4ktZ@Nn<$Wf32Vl{1f@0NP%pl2Fg5h4)Wu6`!oo6tVHsb~$@e8nKx!ba|!9Y)DsT z<31F*@O}5Shk$ao)m6}$pxPYt(gd()P2D99%70xa0G?kGv9c*sv?bW#-gvopm#-+j zEH*Zgyw_ ^-iBIZww^qo3+@HWCLZYynXCU@Ye*R#++OeJNB577-crS zp*ZBTv{i3Vd#q_`n6)h{gt=#N}G{xJ6vqUmC$7REoC0@NQs-}JRAy-#q(|Sf#+Pby~ zK^w-N0F;~K7z#@i)zV#M|M8OENn1rb#)_oZWv@Aduf_sektyR `zVxILrEcaX4ux9iM`7YbKs0lGFl;5PX?N6#cbq z>V)0we5r0Sg6xr+GA~Rlj>5nBeqV%#qbKX~+1$mWYmwI^Yh#o#dcEpJ7T0u`k1OL> z%r2NG>Q>KM@klIPV%_6y+5SpWMA7MVe^I)Lb9I4DizRikdzgzr0FBU+j=j55%F&qzv}copb%7aSfs{Mq$tgv{ z-@ L#ZA*7xc_~#nu@a&2V}k7@(S^$_o}tnwOL=bv5;Wzhwhi zU1_iu)+U4LOx#NmFZitLm8_MoI-bQUOFsfD7o-m*+LVs9R=@2yxn$!C6mRBamr~PL zny)m^l*BbVAZTnpQUaa3>nOby3BE6d0AgY||JUn+E4^)=hK#R5)fphhMMM#}>(;zs zfXk)QDEJXmUf|(>_+YE|l(5mI5w%9=r8$S3PTs;XdZo&`4m1oT4`f3(cjML}0B3-Q zyJT`Xw2P;zSD&U{ `7;ILh*vYb z8QzmdqQSizxJo>y$@u-Rr2aL2#J@t9__uHpzrD!X7e0}GyZbV$#+aa(h| Z#x3@w#U4zn|{ZP?3y?JBiVRXPlx 8`qt zqh(?*eSS%0$QTfDXQCkK5UO@Fuk70O0mUGaz^e8eNAi1*0#P8)#2PEJS8HUH>u}+V zfG3w!85w!WOFnQ7zRo<+P!dP4yTi3~T09g&m<@>0r8tmS7Jum>>umpzZn?uHCMmf2 ziznG!wUs6b-xD)ZoUi2)y>8_M*9T-)_08g}jsv;rqjHaw2Nu3PwR7K6ka0vTB^mX6 z3!(|ayq;nt6{;Hg4P%!2JB9MgxXon^YwQ|DE_$s$O7W>4t={MGACo%cSu8C#iVSaI z)Jk2c63~z(6`MHXqJ9QBztQzs=qG@s obNUId$v_L(~u|b)d_s zil^mXaX{w2T@4vacU2y@(Z_?0!%W6IdmHgrxjn{67CF-t)}qwZw^%ik6I@VSQE=EA zp!u&1{J)8>8K>c%u82Bd4X!?t=oqSE$@Ur!Ce*_88A=m>0!nPtU4H`lsQY~(ak5!c z*Bal+MO^pnvoc8W)XK5}8x7XcL#wDO3$PB{EEA-zg5~~={qJrAD2R$69%I!Q?-IE{ z)B6cOvSHPkE{NC{Q%5s;T6u29vos)N`OfkPXeFjDG?bn%_?oO;Nq8L%r}~n5RHp+a zv{fu$&6NuN5Xek<5>e9FACmX`rPUeLawU(*M0u8tCCBxF?($y2I^z%SqoO;;SvubA zip|zQv`VsP5G?1UIS#UDm0W0EKyKmE)#ElvQJbpUAVU?TdKS@}C@IAy+?Rm8lGLl| z+Tj?f&?0@M;5bZa>l;8$sGa}4+iV<1``&4I`0Uy`e+sBzG>ose*1r2$;EIPC<_A@` z&}$(VWg#F_7mQ=7toX5Q o&zn8bUc4b`q5a>w53(i|gxzAka& z0Lf*d mCfj-?>KJQ0g^t8%TJ`yK%uIUG3D-K?F28b|x5zgR8hK}L|xhU99sAjb} zRjFMsdk-BGD+W&X36HC2wQ?m6ih~eK7lyhMtsCIZ8vrJ~5O?Ro$pptlD>bg1Pe}@A zx+}>#iaYqK> ^sxfm_BmJR{8nn+P*32!F_|AF_KvD(c}h%;N99XuwGZ^+ zm%-+#`qv^Ou$HP_pDs~~F{Fi|>l=M#Z1j?oNl$Y^WQ0Iuc8D1Zbt*edBx; ZtkR%G9xL6r%_4BmZ)$H==PHe$Z4%ZbZrj6V}=hwZ(_h< z->o_gSU!&!xFyVlLfODQea?}@Pft%z|4Sy*L2C2s;4w)Jv9T}WZAtwlVyv88oh$G} ziJMs>!RqW8UXSIQr*f?lhNlY2+57vDwC7*+3RB!)m<~d;c9xcEKGGAOWmDpc8%Gum zS=^kmjZQsdl0|2ewPqG}S1d qsV& z@NUXx5(>d3_0%1{bcQ~CFShudx6Wzm996<@m9^79FSz-T1J4;Pcr4Ds!2Xe7KZyf3 zHb$5?0Io3Q8+heKz?mJ@EJtUIEC^(&k=Cy{az8kQ-EgN$VoxcdQav)%iDqLjwh)Zz z_UPUnu#T~&kZOlCc0Q@&s}`Wn^AUnQHxBn}M@MUa>CsZ{$8&QGR6& YjgaGd*W-D`U3t^#AM%~<8I`I_Fl}4sfC_=$;1_&x@f*|W8{hZ za*cz|8__wr=D>qO2RW+rvg#?&kL&rtwptH{{22MWZy%|=mz2T&1lX;4&y!z&w7&M8 z)BjjxFEPXIO2E<)HGxd2Gvy=c%_+T_JG9?RGRkG0AGf36d oR?d}d;L8 r<9BM79H7!frR8hl zBd_`#<@>bPq;sRnCU3#L%B7}{y&Z3Tr2P}{X(l#L&jA8~byQEHZFHXiyk&GtzL$Kx zH}2P@j_I5S%Un|6_H>9$i?DwZFKLxv?27m9sLGPV#K{cFJ!4bvEYpL(wlNq?8rx7U zpcw2-i!FZsEoJd(di^J{H&NW6%5Gr^CrZd7Rh05V2p%dR3%J~W+uot5fy`LO>}sA# zTC`dmh>+js-N|iKh}g@}q@=yDfKwtVZ(j%-ap!jm({Xn?S4Bw|5~KGXSoS1h7xGG$ zMc k5mK| w;~cH5nK~c1-3qOjomZS=}%}m1GGy zN}>dX5jBMn+FXXPU6IKlf!w2m`Y63OR#UYlh7N>f+FIT;$>y66J?1 m*wU%lozs?KlP1sX%y;fv~n}c4=pEkGW(ovoon4o}Zrz zvcxK#HTrT^ZygvJiBHuajZ4sC!iUtYTUJzK-`i|XjQkWX7#=j`)* zj=9a6TzFZjjv{-OvJh>5p$4O;3NJ+O3-H?s2c& _NFZj>p7SVTFh$HqOMb3l~kEk3|S#vFR62;$kJ%Q-EeGp-`b zY_UA83^7QzP0E`IZ}cq;G>}|VN$!IWuWfBj;^f5Umb98XI~=4UJeiUJ*D(k3qFtW& zAH~ig(@ GKsWFTw(z2X={E4Kctr8B_ zgsFn8biNuQdLHc|M1euTLQ290dtcy4kXW`> YxnLK1U*B4_G_B7=02vk z1RWyeRPl8UJtWJYr20Zb2@1C3X+xG WxVpB%rgKpKdC(QdE;{%&W#le) z=(~M~bAqjsK5D!^n^mPRR3!vla}m!XeIxtispr0vNZ#^y?9CUx#?3B)D;kKeN$)~) zoHoNND7DF~pQ(Q _sa+<$5Pw8lGJGdt~K@o&-zaXoRZ>11#Z#nmMt#qvzw3voG z{`jQBn>jE6xRXHyvikPiEZF_UmbB{|qPwQvso(2_%XzBLqb7FU%8S~n&Lo($Sxljm zSt?Xakt# wzf!0(FQ z(PYOFZ_bZsPkHyA&Xju)0KYk=*so &V Z6tYh4FDDP{R4>nLri*>4&Rcld z7Ze5#-F7QRdX|U_k3H-#QL2vmvg>5&10YFL$J&~1A^LYqmEOqk^5i@4g7k-v8Sj#b zEg2j3LSvfibaF)&=%{C$UbCa0L1o56)S>p`x~3+D4d>2h;lH7Fj2*&3y4}vMY_D7z ziGVmR0&lz$`s7GMhXRKzdBpzu&I-63mipqiDvB|pSr`8(*u(3%#Xe+s+N{2cOEP!& zD^(4f5YD>A$1gd*Xp0RU#)FbJcrIxZ*P2S$DiApDX1m!PL4<8^mvbk-1GX~UHKejf zG$f$sSCrNSIQxYXzECEi4cO@eMjHB*GAXG~L2DS3J az!Wn&sR<^;>X)&Q_uE-Vd||OX)i_+p8)RhSbp-@O${aoMb21@_?ePu zkZcTnI~gFmKVI6JZ*fnyxA*&`_frAa@X6$Ga0lI|X8S$#J=wSYt@+jf&d0%0C0G-r zx+ltEwpVofHeuDWHvWOWX*=(fRokq0Jl@^v&7yV~@@i)T`UZ~WW77lz;eD7h$by;H zTK>u}HFkD4vW(0(lvR{Op-$_x`AXKZ2)$QaB??Qg8j wKpEMCcTbtn0SC zb9*Vvhp^OZ=~Az;Gd<@PnruI!rIlWT#onf$ePdL#S(W&$@fI(4@0aDVt_E$P5||L9 zC}Bx!@gd7$3ellzS4|<;#hAS`#>GXd_aP9^kXsuRY;()9t}3NG>IMI0)pmu>@)Q+v zk$gW8=OC)CyMNEvM4_6EO{Q3*=EpJx0lu5imYVNKm7N p-bq*S(#tLQBQ&~%sk^N^KMh5`V z(oJX5q#gY@4t63CLHo*Jg!r{-@ou_1j4lj{-IXZRi6ks-XsBX?e`a=s+|l0>oH} zY8L`qqkgLmUCHfqho#q j0jUuNJt3sept$Gi|f19?tw^C4D&ZP8jy9oQJ$~eyyq}& zqybiO4aC?I5Nt~`ffw=*uJ5NAl=e_uPg4@ G~`4{8kUQ{+;@n>gZL-D!;Q_vJbR#jSn9bI |TWs>D zL%&+QlS+}e?3w?Nl+&V(rA_r&y8GI|VX8L-PS{K3LC_njjIyE4kwgopnOnuNp#6D?oi|7w5?EXidIVWG4=YwRT6MKdnkU1U$c2dO zR+n1{-?{UVJ*Oujh+!ymUF_DO7S_H4g+isTSZNlWi;Sh5`q2;ZbX1MDc6;3Lbp7H4 z)iyEiV2e!kx#J1JbdztgvAPHAVG_{@{S50j#w&& !#2(2Htc6r4HSZM`Z#*VTtI~YNy`xin(twk{Pr+qQV7uVQ$- iiTR|Rl7elT)#gl|Fms{ZFpTZf~9U` z`VMe{kwYi1Ud=@$$f@*L`uA%o%wzRWalLO_+IEe#@I5gaLG-IhGlS9NvrE&)&(dV+ zpT{*hYB92E0`r{@@rtWzk%+=9yo!1?;nB*beRza?iM6u|W&>Eqm@L2P&!dUTNx+TZ zGt9)>S1BsC_U2&y8@mq&WKzOpI~ON&aV4DX0SX%)^c-;m$Gm0iSoZJfJKQ&+LMK;o z%ZtUM&0QjK_Oy@#8L|WcOT>9G)9sJP51mA^ypF?+c^9GlIY8`L%1hBCk?gJkj%jT~ z=U2g|WEX3#Eq+SobQN`URK8Zh4snq!yNaUMBTh9ND`e98U|DqF`yr2=*MKvVEL$5t zle05uP~x*PC$m$Sf)#8NGkT?5+%wO5Tpq3wGt)Vin!*vlN#-0RtfM@%7bY!g;9*do zP9@DcndVy36MEcOH+hJE{JFt_KWhb;;B%p-N3eow$R!)+IU6Qk<>tJHY=3=fQ|7)} zP;WfjlMLTBdMQ(?+FR}+*61*pVH-zWiAswet;RdqxwaJKUpgUSr^z#Qs?)ZcJ-&4~ z+Ze33r728DQAmhHig!l}EP-{TZl3pOqCn&b-=N8=+an}FVwjxxMk6Kk?lU-3uS~`~ zx!;dwC6(PsR(|;)3t(WPW!~JlP0cwZQ`&u?L$Vg!Za;w@N`O_bjSww!K@^(%U8IJh z_W3_dLdM23hpvA^^p4*R{NUE(?63%T6UhK^yx=$mNI->6xO=UaY3`D1#>N}xElxky zX9dDu?hc2L@N%w*Y#z#oYNn{wD=1A&5FQ%7O4G70 lD#sN*e20h z-~ua+va%rt!YEY&x0M74&1Sqc{qq^GH-Zk-m0ccaR@0x>ql)L9C8e|{*YQ&%tjiiA z1%n54=o}y_(HFBgq#j{>&*83zJ-qarS97+!!?X6JMG%k@%jsVSVS@<7zQ0%Es>d>K z&E5Xx+gaS*s(2ti9$#-Gp=o)q8ZL&@X&*$ e=w9mvLa;Xn_v1Nnr?=7uTuL@+bxH5X1ef3Pr75ma z^gQ&mgn#Sf=A%~QuIX|gI`ndKfIfR=W0QeTeB8U#=vg2_ACf;6grmd$?h~x=rZq8k zt%Yf3ho5?2@1waW_hgT3eff}zQ~h58#NfhCS2eDUOAIJj>)jn>K{x3HGaGKtMz^u; zeGv%KM8m#{EjOVKGH<$i2qohc+oU74b*6hftS#uoU@GC${H*KkHmj7k^19?kg6c=I zrFT^V$D@X;<@zF `OAd8`D5u(`UzKsDiAA*;v6r%#RiaC${-P zFkyS9mR(P*No2U)gRC|XT=nqLW@_XnO%}&^oOuTp`;9VTElUFf^%=@Nd 0$C+s%_TC1f`Nh4#(Sum>H79 z2UzEpJM~fHWp{`$-i5o3Lsl8QY$G$NMW@;`m=B#{XkFcEO`%lTWa}=KUX?&J5$&^1 zEte8Y`xC%%ZYiB6LGb;;-ot72c=PcfWUF38yLePE@g`JrrCY_BI;ZS1dqp?1R;xH- zrsNRdx@%$ C`eaihI71#h9KG2)pAcZ2s=LyoY6+X_jcZ pvZ7<8qY~X0XUQrzl90-3KEZ&z-eKFM zF0e &9dJuTkxDE&&3jg>v6`5_lE+*#P;SvI`BaH}P7P}B6)0I5g z)029=dP@r*S+`XMcVFhX(k3vV?R=~hxLq!x=JXb0LWDKAdjjpJUFIevlhS4v3X@qT z)_Pj!5^^Rz^k2tW!DlfxRx=@u%02Zy{dM5)NdcOL7hHy)gP6E qY}MBS?I D zN6@}QC+hVY=~F#5K!* |kTZ#)q*{m` zwaJnpn)v*!VAI+y3&yHY?G^h0QO=X+43(LLvMX?)R*6Ls>99ph5PHffRowJ8ZW``Z zn3Kz+i51I&17BGWR3n^j26 0ZWP~W~*ZVSJmYwao6 zv|aknkYXQgD%Wg59ka)sq*`!1wJZbT(V{7%){pCe&-T s^`;5L{Y85s%=CFcYTevgs sS{&S;dLyX&zfu;nyMloI{q6mqUf?JRJ*mcN}j21U$&YtUUfY zDMmcu K8#0D9eIRZr>MTX(QD-S{jtVSWKM9f7X=ZZ>;b+js&e1PBo z`)o{%@o+c(^XA7#^Y8>2Pp&*z>}l6*2py|z)f-KmF_{<+&odiIaDZPbjW5ETTr0A# zg(l%F!&pC@ijL8afkoy5t>iUx5#OGrDQQJrQ){$$i|jcjwVZ) 6 z*~CD17IzI8(~WG?mV{Y1M)AAY&sBl@>jl51sYwaG!7uhx668WY9c=ZES<-wedzU|w z 7Z_*yCc9*UY|#0 zufb@kr4eGQrC8ti7lRdrgx;C$f#rdS05NOp;^)eLvQA&*|J6GEKx$Nm7t#8S81G0r z)%urII@ J2BN9AKDdqm(sl2a?#ccxQw}#^gpa?f9EfWq(+o=`GK$5DdKU--(HB1 zrjZ^_O=^XVj=u$5G1noMe$ZGLys!W(=yQWd%J+ZU2(QUP?w&;kr8vk}WI(n!nB}5K zXZrm}w}dFkhDq^_ZWuMK0*@))0$*B;*~xHocpBI9(5_C0%Gq%LWR;T1!4iGx(8yK| zv@Q_p9sSrT?7(%~DA)etp>4}&ZwB0wY82-#?U`(~GjF>mUJzVr-V^f7q+w!itk>fX z1}gItaGfO^^zEchE^@duB8)?v&r&jT!!nCWs#k5wsRoU>gSJ3%zQfJ=sVnJNYM%TU zD&NPRbi-6 xYdxxMV)Q0IpkkD1BU-tq5EeXNgp6(OSNK!n*^mjC!ka`ls6(fR!c z3*Ww*HOs$0(f#qedF$d*>+`VUwZ}N*MQB=E{19g83t|ZNaxd}KZt?!h_80A)0pBSu zuj+4H3MRT5g`Y3c^;bG=ol`!1z258oG}ku!ckjMmNQL}TjP#$We(+osYtpLz`1T(* zAZU-zh!~!#p#G_0H`S!j;PWt($2V!+fY`gP$Ir{>S$=7^+(`mB?L`)+oAHS{KcQsb zjzau7Gf%7XEzvVc{jaxwE#=ooJJ|Y>x}M)JpUy$gN67E#(H)^XXqR%Qr3w8ur};P@ zZM=QLBU2>U0m6<7h!b4jpYX``ItF e zEZ _r& q>jy@Yok~Y?8@#I- z>)|~bQ3~f-iDT#5`+cslIi>r^vjXW%l?fAF^>}mgfuhJ1#-c@AqevYTeQHIOp+<@Z z31x;zR8%+Jn!KGRHnwLYntVL%$w5-GO@oB0SN+*ZS%4qDTr5AQNB^@ZlY8fvHKGBp zAk@KR!Zy^yAh+51mAYgb) zhV3=6JPrAVCpkZ|mfl*N_$ka*`B4?*XS|y3Fr7&@3H?f1_!AIAl5@5J<*(ek)n%PW zk1TM;&ASJVnxyc6YF2ve+`BLeRtUNN`dI6RZF`7dos%Wf+j#716?`B97`3FtI=rt+ zszLp3pZ|^)zov)?>(|Uu(uxMa9;Jul$e{>N9hAO?(#d&Ztxhlnav~XsAf6r^GJjR# zqh6=Y`Uwc7OD8}B=fcf(mV@YY({=|}VQnc6Qev0;{TVAXQVk<6?wk5P^78l~?d~9O z{L1@_{FmcA##9r%XPv!KK_Ubnx9dqi#Ghn{)zY2)-hBA>^XhBAC4$-a-}a_opJ|h; z^A|r{`u9l625^UP5-b1ik!`M4%anR)O*;B9=OCDvyY#kzRDr}V ;uj85dZ#b=a u4J*1&>wNeg#=z!rCU@h-m}S+)m7E =~4>H+OCcDOJ**-CzYD zvI>YMg(?mjRl^y`w4CD_%!2k=IU9;rO}KPIgjzCwL@({%ofW-|=UC+#D>cSh%m@YW zWGO_^L>5;b7elm`+TjNU1bYp!A7^!9q!x01ujByq63Db%&)LEeyyMZ((~i#y>Vc|P zI=Iwc&n;7j;vK$zkapaE+P5=EMjP%&_T&YO=VEhmaP#l}d*0}uePm+y{>De9FRr+D zMniZ@7qYD{%LnB#9@KsKEl;VZn1wx#zBYjt7BbH%x=vy}jy{{~^MEjAU%DqTpk=VB zyg^gj^w}i~ldFx=)Q;jZ)sf5Lihlj&R9r*ibj<^^FV*-pS77;ii!HZ?{7l&ot&0cy zk8Z&ZX$4Zsnoc{%K4L7L %A86X-t kiEPxrO|ntNMr_wuasfRl?vR?E%rtgQZZyPTZx@0=v^-gFkXUH^Da_G?(# ze7N^tQhXPf{;v5B8EHjla**K?nN8ktfBrc6%jf*RruBZaKyC7lX4hr! D6}(-PTZ@b0RHV6c|Z mqAG-E-sZ_(u}j64pN$W z@w&_EwOaE+S?rmb76SJHmn1a*eN)DN?up+F@Y$cre*y-L6Ax!UYEuoWF<*Ug;jz++ zTYJg# mIPflAAIb*kBSOPllsiB%pI(s2;%3?2n zy#HU }%oz!3qYa0e zT7XugJ@(^_ZMr|7`mY*^I5EjOabW|zvBcT@)X|Kr1P&E8OOJjd6$UdUZJ9wOEPvhb zf14pL(3I)9ogGHKY~*-uI&m?Q!28>peiIEGnjFTaxFB4%zKF0}V=@wED?Ig;RHak- za^(c?KS!EjO`bSSvWGrxq?7IyeG3*Cql0LKzH1-rQT0#fAk95|?YGjh6GY^XKT0qR zlO8Dc$1MrC83%SxEj?*8v*R38+4*dI%H`EEtdW{HH%w%XcYszMW4tu$(bYdm{W(_u z31*P5jW802Y>A}KZmcPy%s>$$FIZ2^C$80xQ2D7zrY(7oWC U5q{eN3W9#G$sNf1a)hf)P_M$dMKdSV>J@3Mgnm`zh{_#wMNq zV^N^njKFesn0{&?iK*`R@CRc*`bFG){v`ERwejaz5q0mM% 5hnr;oboMcy!CkS&4;gdsMA{VF!{gH zLh#@sBKAJK8gMBk;R!J**E(46c+ey8+&n6v%g#sWZxZ6&CEr+xU%lr zGRNs@pzg11MmMi%&zs$BCcTRkJENtrnBx)=#bnL4{y^VZm(IH5M@;BiGfG|7R?$n$ z16@qdfwjNqp!pL3>@4^(z7&Jxc9 FOkAAlQaVl+7y)GRGcdFp~V`Rv=|4Z z`^VlQOZU}EO93#+s~cDk>5uW0j3L$CvoqFWYi~`H *!|+`y9y%!n1mnRSorAwWiqi74eaLMMsh9a6N?_tblBuYOIz|gs+I5W zL3K_Y_*<&9G+rE|fVSm^6DD`fw^R!g4jxiP21&6Frr)%f``{E>ryYy7naxQwNKO(G zaJ|5Osozh!5jNhjX1_+&9uJ=x4~_Cbii@4kCOs;?sZC2YGC{@X2 Pe&iPbj%m0I+esY`pl|Oe+%jyP1oG%x| zx4 }YfIac z$$wDTwQf->?lb01`QQgPcoh`9^o~ed{N@|vlv~5NXK72;W3^zlpGudIe53nUdu9TFhjO( (oyJ6WNIp zp56MCn)x5qJ1CCUTCD}oTaNnila@)0+*=!;-*oO2shYA SsGM2QIY#RHN%$;E d^;v`Fnq&+LsS-hUcF&g31GoDWMxgb)*%x)ytk`P}g#>%$MU;ead z{GC*Hrfy#~)^o_XiyOteygUwZih47%8!c-e1h;3mQLtIICxT^8{&@W_nks4j?`kT$ z-RMV+<{^ZxmSz+>uSy4+jztNQdPj oLmW(_5;s?3V{`u!AM!~Nq8)IJ8 zW|(#o{*Wuw{@<6Y*OM|=)B?Bb9A^@GS04n5ZIQS|bq!Z*vLG~4LyvVUGcp2y0%U{! zg@@Qo{)>6&ma}?={lNV1^Sov#ccYfAsP5oxr6~`D5u0!$UhMUH5;!ty#a+0iv$Fw3 z|A*|F{$1Jq5AQOri?iCdljuiGMdxdR&ANiprp1iSSfi+zkk?*(hbQ83bMhhHfxF=& z`}fktkqmkTQ%bAFd_bG3gB$7>+7Np7E_5kwmv#nbW1=#9$P^eMLbFm|pfwe%+K6Km zNd=)9;oCV(^VXCHK<}P_B@y>ZY!))OBG==o_=DllLc&U>_H3@QM`%StLW6PwNygHT z7?}QK^Qy%3Jsoe&413kyAeMV7F)Z;YaH3X#7gy+6mk}|XJJeEKZi%`=JbE|w{r%(; z?rabcX+(yNUzNBO<>Hng)?lCUIugif}eT1~T{@<7&| !U2u^}35GzT^G8!LS9BpO`E5Ez1fbu7xn@?oG`f23)=& z@K4M6f6VjbvsCBVpzasZN@ekx^!aQXz-1&Qk =|1ef+l7eX`kypL}Tl{mp%(O6f-0u||6UQO3J8O$N_irIN+#Kjd6n`O7V zC)1L)9=LlXUp=%Zl?Kan0tx#G-vIX*e}DPQuIJzWyk@KI7Ag^+kLAdi0&+;p>vJ@y z$XuXPokkK#_vv-4vSeaMVC)jW#K-H&QX#8#Bw9{R4s2yE>kX-xx9E+ZfH8aG#-HGG z+dCo-=$us(CIA5$vVeY2=~3MvHcdf6=x}@Fsf0sZx6Y|rm>g2PO!tBdF~DznXJG%% zeE{Q{#xHGRjO=EO30V@wI@Qom=9I=+Y$`Vn+^WgH)q1FWCgh!D$cDEFADP%K|GoQs zu1ZU@DrX2ChrZ}s7X}|;6n76$xAM84(N1tWt7+R-rh}X^M0?zg*@zH7HsF3s8UyJ& zY8u{voHqLcD)f+84QJ|;8TV{yYH&|NU A7#~ z*d~KyFj1> ~|hGekY#VuG#l-nncwy*e}J8Zz3y7`@WiKCK7}ItN= AW)xALU z8 iup}q)yG_(x?3j i;uI=6ZYvtZ@nT4IRNzbgNk@FNj~4Z+n1K7 zt8EEiGLm?NqDyb6Z)$8Bn6a6m-_=H~o9*E!jY`RG53OgT^3m}g1uL=PXbDLOh-duS zt0z7LYgvC~fSTLD-;Onf=9s XK`F?XT s&iw0)SdV&@g!#5qx4>4}(c4dX&xq*NIF ziJX~=M~^+g(}m8_-5RwI0^AI;c8@5R$V~f{apd7qkma_jeaIRu%g@jE_8Q4RtxlH) zs;svXE5S#d3h#p;lsq2ha|BDI%2XA|OUJ+oe#V=osn=4Ot`~6|7)BQe4nFdgH|^N!Q0;=?=Ic=6!seYthHg- xfah@Ew z8;&7|YJzEUzG|YSCb;DR$t6FmR|Ld9$hkA*5@dNASTMM_%l)}SSz}dF^uS>O#Sa|P z$>gx5WGpHX=&LG7-I!v-wDkq>z|=jZCS$?H0+G|d$JR4rW ^@Faj z#1%Qyd_3!iB!~r%#N&WuZ|@wcnMX2jUjM4|LJJtJaGg$v1w|rC_Lv+#fIpd;WC3Tg zUxXnL2%xuB@gH3(W}ba~a>Bwek-5k$eykD_*7j25-gJ`CQX4(dP2_H#+ZV{J>W#nD zOHteE3I(H=`8WsbL}IU;GhFg$p(G4t8-tD1##V_(r0r;%GYy2XN~WpHQ9TmAVB|8s z=E)ORTgLlxGt|V^@!KyrjhsH{6ETUpHr0HP7leR9qCApP&8IJhumMKOj V8H}9T!u-tLHO8*WQ!R}%un>vR`dzM zWHmb&cXtg(Yn*aAWCyi1-l%7+KG>Bi@Q96MrkEYJkVx1jHXRN h$zhCbeTve0A?yT)lE42wuYCtUsW>! zvORe2p?of@r<*!{U~dhOEfjY)@T}cimqRN2_;B=6bA#e{;IB+TqYwh^_D}c$1oaV6 zh|gTuR+JatzaHXrBd=3j$Z_J0yV L@3iURoX7r=}B4~dMJ~&vMBq2 zzwULAfiQop{W%k6#-CEZTtg*cZQ3NvS+ARM`^H}QYP_r~+TTh~p2jG*F29-Uqu~36 zY*^Z;@V+-FWJEU{;HN*?UYN_i3QM(BaSs>a2@fwy#bOT)4deJa?6w7Q+lk>mTRu5M zNm5QwksaoWibb?rvRv2ia?aTtH==T^AY`ySx~?(BO<0Z$_enN=ENGIzQT>QRA$bnO z8Hmbxv)u?VH+;S(eKb|!YFwVD8Hu*NX7l!zC!-i1Q)JjA!V^LBN!Txge{iNFqg6$G z)vJ}yor+vC8VVLF!1`8{zo8M0Dnn#+78F_efx#Sv0R~(c#PMyMp_Ph%_$g;z;hXby zc`iYUi&Tw?0|p178dJULSPT;G-(AX=Cklf?koK(HE6p6}3fRO!Xo@Su{}QmizMWQk zNW!ShPI8DTZ4m}C@Qo5BT`7XA;;UYzs#38P&sv!{m?llsqiy!0!GNOKG`nwFy;r-> zJmw`%a{_!%kMN02&yd0;WNj@taxb )2Sa$bG0 SK-~2w(I9y$bzd66Z~e}z*`xJ z$z6qjnwCR3REol1huy{Lfm3MRN`f vM z_H|0}CL>G>t7=|Fi5k*@x1?YAf@I&!a~D=86mDcU?51U7LR;1Xf&?}QI@vmgxUj%d znlxOhs!T0ePEta1Kq;phbm=bnTyP=bsbj+vTzHNU^t6io$=L_%-}R&CWDebfmef|a zwtPsN67V%+Tzhw||CKfK97o@s3zPGC2$xMLE8dG*n=HV|i{$wW2$_z?-W7{;A^1zp z$pea=SpJsF7`Ldt`L13+(5RSiyv)(a(A7W5> xR9cb29D=t&5BeAAM;u_koVo7 zVxWBInaCdJCVUIXh_Ki`>khq^0>V(8r(P9AjV=Mi2OqGt=hXasjsL7Z=oh>6uG=@( z{7d(~;a*->4E@6R5G9;LUl=4#li?)1fCq9Wi$MF#op;K2P5x@2y6tL!bzRl>a%+04 zKZ;WNROZ@$IS+`5Ds5nrDB-|9D5$eVYPjaD`MlCM1GMG+vT4!VAWen$ 1?BJr%z7#(Z%)y8h|#Y@@=%cw}3hL)F=IKSKg~ z4Vk=H`~Y&KWtmk)QfOS73^gd%16rzW+ z;(n|;l#m=1__sZsC>vv zz6HN;Yusm3=lq}K#NesB(#l>wp^ SAeM5G>s^+I$2fZ#f5~>u?ljqeMi)b#
%GD~c MYJ=hR9<*k97YDsfcK4-|iT7Egb gk|%OOuF|Tu0@AXE$LHD5t&v|QGZx&u2jm>SLH@xPM~pQDT}@Wfr{eG zR6qEmkIs#5sT@sLchD-7YzIcDQ=H06rp}-#{2|}iGx)~oEBVr{590`?%a&D0Gwm5l zUpT&q4oZ1WMT3SF)(2n&Phb|vJF|*+Af TA^#rf%B4w-Mh|WD8;Nm#2$LNs1CG*? zt1ed?E96-&zCSzBe(zI$&F~+V7G}nO*MK|Q*q1s`!uJ`bkZ7j |J!t*j;1 zqfXx6_zyoH{ `C)MtM zSlkfTpZ~{^ieFynwCctCM^6}+S3sJ_r|)Z4pqX|Jf}E2w4f%(Kg>hw_ne=tM7+2if zGtZgppqV6~>c=;R{>K62J{EDe_j>fu7@kvo3P=Q*t0r}7H}uMTC+pH$sEB!pj6l=p za);Lf?05gKhdR#;$d~Y)B7K)#ZD(5c1>D$o-2Y|S&$RNWV_NpF*?GQclF8fC%DhO0 zxLEYNm|U76tjlnIsKoc~F$)9#QfL3ZGV@=zJJnxCE0wAEwz@95Ga_E7$o;+@=eBH% z*7ui~)z+^3Fn{GydaB(gUx>ip|8)tApyML#2iWiri?aJKUHzY5cX&jR_*I{q|E3 z-NM=AANrcDx$hUVM)&(if9IiCP7N0Q-xss67#tcN+xkPlW*5(935HYOzD%*-Hh4zT z8n!7qk!el;X*9AqbmiWH{rkS^Ls89sp%1_Cp#l {h^TK7!Q*Ly^o z6dXkqg-*ES yVeGWo{Gr9)Yb&FB$m|mQ?a%g zmy~Hld?9ltPj!m}xYxAaqLO{JA9WOMbX_&9{ Vvrgf&YgcRdjXh%ZzZ_ae4kpg%lc?oUfDLh)w-JMoMNt*itUs! z0)@KOq=?7SHIpNsQn`c+%bJ!X!u9LJW>PHXx#=Px`aHt(z!XTJi7_<{GKb)FD#tg< zg7hAuXu@o$^uyY(-3n{xJtLXRutCn8wkjoDUWD+i-chkI`n+-xO&2l0jfnO8YcgrY zQkTD2me_NUNlN zEZCz*x*#v|VEFf%jWtb_j_5=64n)13*Y>lOq>4gI17%%ySA&I$=wH8qeNCtvk5fPr z-c9PqZ(_rShgW`!#I#&L*yOa};$~bl2)1-aq#dT73FLsI+l(rX2PtqrfAKw-4 tHz>T+*=SQ&*G4pWQ)|5!YNN>I;9HkP z$w((nC?kA3f{p1U7!20z(#XNd3WxEwO_#(j39az&2>HG?_f^aHtXQp5jKe&VuU)N# zl%4l*7>;uD&URF5n9y}@vOb8bmOy~=bXtO5PY43cY)e}afBCnCko(xw>J0e&brhmM z??vg0B~Fdi>wZ;_^%w6=7z$4NYaZW!)eo@sv8^iGavwUUv3_kio=5%<%bfCw4ExRB z=nY77eA&CfM!}w&RPd^dELHYE;iI&>v*=y5bvlqzCw9Lcr!S0A^*|?OG(p#d M7owGQJER2%r~M0vp7MDcpL=p0VyMRrd@s=Cm<8}`yM}Eb; zu8}eTtN>fKR5e3xGMIdS2YGAdtwi1SB#eTB8QpgD%bFloK|V$Id6%}?bY}Hp#~rMP z+)+P^H~=U`+(qj+mnr>081f2WSFkG?x_0ZV$c@1tZBuWiJ)kn=_7|Nom`QmO8{Dml z>#!F!ZJZ?Dj)Kla&f(V-a+d3s$LCr;sXvu$IB=1*de~Jga`USXxMcAB9~OZym(T)Z z{h{qaD|*yNzl#}apfQhBqx=B%u;oSG2|Q8(j)+%y5gbK;qgaD+ElGlo#nO}^`Nua> zVzKAgk`yZJj(}o5aJ_Vw)5|00qP`m{8#SyE>O_{K*(B7|bO|iB+XCngVOavhX_6wZ zDbcgGg!E14Hh3*j;6@g28N1r Q*jcVt}aC_W_IPy1kGvkpd?Ih>-Me7o+x)RgMBrZNpKF&9o znTJ}pl3ZJOn?yA1l5=cfwvsPpl-vg(1L~==mwLZi->`Y4Wi;9gV#-jEda=vQg^eUa zQ8UIlQT@DG_8d=Ba&3%3Uwp@W{U4T`>R8AAI>+5_hvtL=Yo@|W)YdR>R5f(A?VwsR zq%r-mqJv+}zEa|Sohf$y3LkGrV;E1}L}c=oX9e%tOs qrmc3H&akR)yb^>P1YBPPo zD!Y>-J=4#6pl2GN0xGO@o1p>8;=OO@nJ_92Dch4%(OALKQEXSnvIiv9DMgDb1ElI@ zc^`exNeAAfd@eQSE}vmi3GvNANIrDK*S+7TEL)h4XWh?@^m2=ClDW*|q}n~8r{(4s zZ6ivQP@BIL4i`~BirTw#t{Sy-+{xWWmBsV1mA-AD@snVN nM8u;v_L*|d zQvA|wF{I=2k@IG;%X+u?vG7EyBR=Iw1krvm=S-l<6}h_4)wG34dx;yzZJI_aa5~5> z!aE2fVuf!IeQzZ)9;5hlFb#XRFKFDnvgtN(EJR&fTbrdu%=qV)m3>t7u+IoBKt336 zjt>mzLZ|QW+pJ_(@8~gk1M=RVYwOdx^pi48s@s2sP2+CG`k{!G(LkLQsG#nkzjddY zOS){`Wd(|<$ERA8ts9JCT6+~rdfFp583f@>D=H){lc{sY(upa#9OB>F@^8SmcY1 zW}*?VK^2)HA0fpkZ@ysv(uc_GhTECet@vnhs7C&s^Rsu$8xA81-uKk>A6?oAussv2 z`A7;QYRn(8NE!dj7UvQ#Knf;Je{ZtymGhs9Egt8ryv0}v{5dJ-?D}xPU6 J)BW6fwHZFis;zz1`VH-t>;nHykku|v_K+^FG39&C)fRj3>XD7OON7SB@6f(2x zRoS0|N4R6*){kOtx@mDxGY!azKVHmDY)2~nwLn}xuw&y$KdiDvBv2Dq@AQw6*tBsy z$bqoZZeX0=Hiv(FClazFp4eaFLoOtxkhR@V22CPNZ4tMfAcZkcKL;+6YkB%9f9^({ z^agk9Wj>ppo1q;-Z@L=cnA=5 RH^?T&eMSSud%)!@i3W4N%pN=^u};H4?7E z{6e|prD;Izr&x&aI)8Z_YJ@-FeOcB^ *VcHLc0)wXb{wn>6gbX-$9n`K5_9Mxw zF1EZPGE;yd4U0#neM)cgn88!3jtBzTBC1umCrRG4QeVJr2~uzJ;kqzvGaJ7T-o5Rl zv~$oS5wtDg@LISdWNb-gK?0SHc=WNEvjDOV+;q{|2K*!Q= (z&%yjk`9}*tO$scB4F*q z(o)xl)>z5>4)Jg5990g51 8-CHe;gHB zkq_(nK1pBV;d@x1u{}(C*nIIGYqy8CyYNh$Hp^@u o2Sf)%`Vzi*OR3BCboRB z62AJdWWmbfn%BQ=E7OhoCgu`ART%!A!B@ReQ@(HkD*(^MeR=N1%7H6?cQXcL_PLw- zYO;!6ipCm^tOfb+bCCLMam@N`PqfRl-e_&cK(vP6n$UPzuT({!oY&=uSe`G9>fXlS zCL0`im-9GzJE=>TU=<|l9DE}hOAOrd!x<_KD2#`>ITH8(f~n1sY1+x=pZtWO!k-72 zZ1TzhS)3XJANpOj_tppV=`YtmJQ%1Al9m-lcuBw=*rl8^+hlIh__hEyjRmPJ_3G(! zTML0shqkIdhx_w8 lT)ZH*eB0quoY zz&hm_rWJR2Uw%)I;g*>nY_Js=@M4iC#EBA;dImR{g+-a$$^f?O7&2xwBpB;{qy9_Z zU6ro1YS38r-9ut{;Q&$ZNWbgeultXdtP`Tvy4!8F#QxG@3sbT>)$i6f5um%HX5*{W zLLn7>Xy7Db#=;Ap4m;5w%IXm+K5d7`yYn>DY}0i*K2k;o`2$cp8-=}ZMHj=`>WsPj zX2x`#D+ky#+)JAS1d$A*0oj8fu0;D(TQkV}qQyQrAzhox8MJQFQtgk#LrH%Np6A7Z zRQHlebIrKy;|mFV$;FCn;rc;^CDR_C?Cq^7z)jcXov7W)&Fl|%#|)sTA l1d z(YhN8>HcTtU*!|c6a0JOoHl$4dhZI$L%C)!8MSY^Jnw9jP2aEaP>He2GX1-{zJF__ zxKk{ofY@= NR;C{DNc<_MVlSk uYQ?Sb z|8%V0ti*5rkEi2b{#U~2%l}V;?35 )D*@ElY29Y^8D`Gg>GW!ZK3J1mh$LL+R*;pK-k;m^rg0 z?&kfH8oNZgWbvfQl7!)TZI-jpum2^1z~)2TanH(`v*Hx0`@w%44P||`rwnxvHF6qH z|Azu}W60O!56e6G(?{KJnKP=0+otS6Sn&jMQO{_Gx|>ybeNg7ho8Sc50%csG{PK9T z>cNm%;6+w*_Vg0kWK?pU;v^d4$_N2g6=)Xo4*9cI@Z28bF93%cTt?|?M>Y5e=^;!2 z(Lz5PO4 E;%w-E06(eObV%`=&tz;QkVic}Q03BAV#q}aGS&Ot%xfU?YlhuMY# zWK-HC$t3u^poM^dZDA3AtYyB(G&~X45NU_HPX FH{{e6Yy!K=|l8Q XCo7k z_GfniTon_NoQfte)U{#@5Uv@ iuP>DYZ`$ZUO_r#*l+Y9D<5z)EI5EamCg+8&=dp7QxF; zJyY!90!0`GjQWRj1@hZ|zqYS2{2Ri*pc`Bj1Co;WKIZh$Pqx8<;no?7&4U-@2$MdQ zv0(!wXP3&6J>^fYusSEI2`i{Al>xZ)Szd>C_+KQ>LQ1hgjwva%o)vbh+4_rBdU-!M zD&qP7 tg1OZ@euHYN?anQ6toRG2Z1FVe^?_ z4v+IZ$s9&to+2rox|VRso{npMY~a$*?9Za;OhQEV{sexwd`ULEs}6rce+k<<_7aJ{ zhfnYCno{R3ljXH`K%lO5hVYMgawK`Uyo7BQpv)a7iw{7e8S~yh27G)+ZBHTj1h4I@ zta8Pdc8XY$)+WZBb%S%5dyAaqkgR9=J{5l5$Wz%aZ@G?D-vy1MHT*jESCnTH(cij4 z)YMc%UjHLvoe5P }V)g8!8nqu#O~^j1n@$f3fB&5R_o-7mgz3vAr)3rqq4(qnAf z36A6VWogSd4=6jH4^{|vKt4%KA!RBZ0^_~h%vm`wy2SH!?dEk-qCghBX@*hp22aRK zEr2H9X%??RvzHJl* BN&&NTt*B;)D97lDbXlZG*YBlD*XHHH64A z{31Crk>LUmfoI~HlDA9twrLk99__+2jv|J+qcv|cbk|GMljSSQQg2F4n^`KkOx7(1 zIJDFG6i9ES-Ul3V7VT{}@IH%M0yKIAsYJRZA`;@Aqw0IatllTsJ1B?g&4Cc{)B5mB zS^o3FqEl96aVR|WzNXsV$79E{p|@|_LIXUVAT7T9`P~KRDHskh+4!1QJ(z|gKv0SZ z@%ibUeG%F0?nYIOQI$A_9``!et(Hl3`S3T5U2tlj#TiAk({mC=fij7X^_MbMnu }%HhQ&n}6kxn3P*-R8;+H+^1xsX{4@t~Ma9aj(Su=~n! z0iNR*noksyoFAcT?
Gzs|&nOCWH`^e#Dq7JEYHLWS=(LHu&Ue zd+sRTw$O@lb-orN^)VYG q9qD}SoG&N1X8zk=C*Zlm{W4!{3$$v(f@E3i z >QFar2~DcbM!c0nw6tWcrD%}9*IkV`-)1%r7Z6A$#dRc zz+Y2_YoW gAmQ) bwGprr^t=xF&~^Pmrk@`V%#euNI!N2A{TH)LU*1GNm=j$*=XygqOERTGz~5V zzB)fbK0K$tOSO85G4J-deLYivgky`C^tE}sKxXjudPLXxi(=u;oWyiaWVq^v_-Vzk z2aSPp%5mD+8h!qS$(b0}2WvJd3U|rk3*H}yuPAU%0-TcwBxu8g3ja0R|NmU;IETLP z_u~EfgBI?*es^^AH?z_4yv4>jP8$$_Gs}E240OSoQHiICs}l+)#iAR>W7W`n{e?>t zl9s(c#vJ-nOl;leaEJuZ(7CJxA)Fj`hCUyF*4F^ymLd0Nx?uLF6skwnNN=T`_!$Pm zf*RdftN~_(d7D6=OylT_{+#zcng*I--U-eUjGGtR-YV?i?lEje oP$qpJiW0x _4vNtICLfyYm{g}sVN^Ivs;X*L z#Bp==bc`#_TRja~8z8~%p&`c^2gIDpcO@)If@LBi=`TuNp+^l;QV<1o|3vrR)k_fs zrYKEM3+V_|et;uc3!YBfE!Dm{Tw6L#k`km01L)M)Ydz8{? =`+Vy 7 zqU{EmIraCc@In8-PKw2<-+Ox)$^Sl{@U&8i9>Z2ga`SQ%`Qp_`b{3qZs%t{voL^FY zFzy9SSk-o=nn39UbhpkTJ%@kiiqSpdNc4jllf{QHLUIcLq)J+a7-tw9=wJN6dSY0< z8yK&ZJUVOMnr2B=zA5y?#K@<4OJ)7rj<~zycGCljhD^N`cQ<9_&`BkgsGc%DZ*_8s zk3Z=t$6>>Itk>M)n$;IYz_V@e&TWDXycy+rt2d=?_`%t0=R}l-t0lb3Yud!P SS~{VX&V;p{Ha|V^1MFD>WwRLzSuv
g`L?-l>rqqy*Uwcp1DcrZ`5Tq{Hu2i^K4c~L z)YsZkVPQh<#vtTP)}T1MzyHelOAA-kq!gi;MjNUTopZMIm#}X^+hYAhkTD_7$q68X zh5`*yMhfR7Ea}H#Z*Pz8xe}LN8uqL2Q 4<7PL=zCmAZCTW0!c(o=9j{#NCnlHstK~qaPoenOMYYEKQsw!xUQMU=s|z z=D#R^VNA*