<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>오늘의상상</title>
    <link>https://o-osang.tistory.com/</link>
    <description>IDE에 낙서한 기록들</description>
    <language>ko</language>
    <pubDate>Sun, 5 Apr 2026 16:46:31 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>o-osang</managingEditor>
    <item>
      <title>FSD 아키텍처 - 기능 분할 설계</title>
      <link>https://o-osang.tistory.com/entry/fsd</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;712&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qhF0c/dJMcai9UgSU/KsEp6cFKxr0QnNtnIwK7C1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qhF0c/dJMcai9UgSU/KsEp6cFKxr0QnNtnIwK7C1/img.jpg&quot; data-alt=&quot;FSD 공식 문서 이미지&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qhF0c/dJMcai9UgSU/KsEp6cFKxr0QnNtnIwK7C1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqhF0c%2FdJMcai9UgSU%2FKsEp6cFKxr0QnNtnIwK7C1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;712&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;712&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;FSD 공식 문서 이미지&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;craft_clipboard&quot; data-craft=&quot;W3sicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjowLFwidXNlckRlZmluZWRMaXN0TnVtYmVyXCI6MX0iLCJjb250ZW50Ijoi6rCc7JqUIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2MjU2MjExNSwidXBkYXRlZCI6MTc2OTA2MjU2Nzg1Nywic3RhbXAiOiJcIjhmZjdjNTE2LTdkMDctNDMyNi1hOWNmLWFmMjgwOTU3ZjY1NVwiIiwidGVtcElkIjoiODU4MjdEMzUtQUJDNS00RTUwLTkyNjAtREIxMjczQjQ2QTBBIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJudW1iZXJlZFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjEsXCJ1c2VyRGVmaW5lZExpc3ROdW1iZXJcIjoxfSIsImNvbnRlbnQiOiLsoJXsnZg6IOuMgOq3nOuqqCDtlITroaDtirjsl5Trk5wg7JWg7ZSM66as7LyA7J207IWY7J2YIOq1rOyhsOulvCDsnqHquLAg7JyE7ZWcIOyVhO2CpO2FjeyymCDrsKnrspXroaAiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyNDYxODI4LCJ1cGRhdGVkIjoxNzY5MDYyNTc3MjcwLCJzdGFtcCI6IlwiZmRlNWE2YjItYjg4Ni00OWUwLWExMDItZGY5OWMwNjkxOWU3XCIiLCJ0ZW1wSWQiOiJFN0MyNEVEQS1GNjM2LTQ0QzMtQjZBQy1GMkJGOUQ5NjczOUMifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcIm51bWJlcmVkXCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MSxcInVzZXJEZWZpbmVkTGlzdE51bWJlclwiOjJ9IiwiY29udGVudCI6IuuqqeyggTog7JWg7ZSM66as7LyA7J207IWY7J2EIOq4sOuKpSDri6jsnITroZwg67aE7ZWg7ZWY7JesIO2UhOuhnOygne2KuOulvCDrjZQg7J207ZW07ZWY6riwIOyJveqzoCDqtazsobDsoIHsnLzroZwg66eM65Ok7Ja0LCDtlITroZzsoJ3tirjsnZgg6rec66qo6rCAIOy7pOyguOuPhCDsnKDsp4Drs7TsiJjsl5Ag7Jyg66as7ZWY64+E66GdIO2VqCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjI1NTgzNzksInVwZGF0ZWQiOjE3NjkwNjI1ODAwMDcsInN0YW1wIjoiXCJhNTBiNjY3YS1jOTQ2LTQwZGEtYjUzMi0wYzUzM2E1OGFhMDNcIiIsInRlbXBJZCI6IkZFMzU3NkM3LTM4QzQtNERBMS04N0VFLUMxQjNGQTNEN0ExQiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjowLFwidXNlckRlZmluZWRMaXN0TnVtYmVyXCI6Mn0iLCJjb250ZW50Ijoi6rWs7KGwIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2MjU0OTkwMywidXBkYXRlZCI6MTc2OTA2MjU4MzU0Mywic3RhbXAiOiJcIjRjMzZlOWVjLTNmZWUtNGM3Zi05NWY5LWYyY2YxZWNkZjc5YlwiIiwidGVtcElkIjoiMzdBNUEyOTEtMjkyMi00NDk5LUE0QkMtNDBBRUYwREI4MjJEIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLroIjsnbTslrTsnZgg7J2066aE7J2AIOygnO2VnOyggSwg7Iqs65287J207Iqk7JmAIOyEuOq3uOuovO2KuOydmCDsnbTrpoTsnYAg7J6Q7JygIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2MjYwNDIwMSwidXBkYXRlZCI6MTc2OTA2MjYzODc3MCwic3RhbXAiOiJcImIyMDU0ZTdkLTVlNGMtNDEwZC1hMmUwLWQzODFlN2FjOTY1OFwiIiwidGVtcElkIjoiM0ZBNkVEODctREQxMi00REZELTg3MjYtNkM1Rjg2Nzg3MjlGIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLsiqzrnbzsnbTsiqTripQg67O07Ya1IOu5hOymiOuLiOyKpCDrj4TrqZTsnbjrs4TroZwg67aE66as7ZWY66mwIOyEuOq3uOuovO2KuOuKlCDrs7TthrUg6rSA66GA7KCB7J24IOydtOumhCDsgqzsmqkiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyNjQyMzU2LCJ1cGRhdGVkIjoxNzY5MDYyNjYyNzIzLCJzdGFtcCI6IlwiZDRiYzI5MDMtMzFiNi00ZThjLWE3Y2UtNGIyMzg3NTA4ZGIxXCIiLCJ0ZW1wSWQiOiI2QkIzRTA2MC04RDkzLTQ5NDktQjkzNC0zRTVEQzEyQkUyOEEifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IkxheWVycyIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjI1ODM1NDMsInVwZGF0ZWQiOjE3NjkwNjI3MDA2NzMsInN0YW1wIjoiXCJlMjYxNGMyYS1mMWExLTRkMDMtOTljMi04ZmE4MGI0Nzg5MjBcIiIsInRlbXBJZCI6IjZCNEIwQkJDLTY1OTUtNDJGQi1BMTcwLTBDQTUwOUY4RTM5NSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6Mn0iLCJjb250ZW50IjoiU2xpY2VzIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2MjcwMDY2MCwidXBkYXRlZCI6MTc2OTA2MjcwMDY3Mywic3RhbXAiOiJcImM1ZWRjMDg1LTM0ZGMtNDJjMS05YmRmLWQ2YjYzMDJmOGY4N1wiIiwidGVtcElkIjoiNTg1MjlENjUtOEFGRC00MkJDLUEwQzItNDM5RkNCNjM0RDVDIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjozfSIsImNvbnRlbnQiOiJTZWdtZW50cyIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjI1OTE3MDcsInVwZGF0ZWQiOjE3NjkwNjI3MDI3MDksInN0YW1wIjoiXCJmNzY0MjY2Yy1iOTExLTRiNzYtOWJjZS1lMDNkOGE0MWM2YjhcIiIsInRlbXBJZCI6IkM1QTZBQkVCLUU1MUItNEE3MS05MjA1LThBMTZERjQzNkZBNiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCw1XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjowLFwidXNlckRlZmluZWRMaXN0TnVtYmVyXCI6M30iLCJjb250ZW50IjoiTGF5ZXIiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyNzA3MTI3LCJ1cGRhdGVkIjoxNzY5MDY2NTAyMDQzLCJzdGFtcCI6IlwiYjUxZDQ3ZjctN2I0OC00NWJlLWE1MzEtYmUwMGJiNDE0MjZiXCIiLCJ0ZW1wSWQiOiI0NjI3RjIzNS05MjUwLTRDRjAtQTQzRi0zMzQwOURDNDM5QTEifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6Iu2UhOuhnOygne2KuOulvCDstZzsg4HsnITrtoDthLAg6rCA7J6lIOq4sOuzuOyggeyduCDsmpTshozquYzsp4Ag64uo6rOE7KCB7Jy866GcIOuCmOuIiCDtj7TrjZTroZwg7LKrIOuyiOynuCDsiJjspIDsnZgg6rOE7Li1IOq1rOyhsCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjI3MjE4NTgsInVwZGF0ZWQiOjE3NjkwNjYwNjA2ODYsInN0YW1wIjoiXCJlM2ZkMTBmZC02YzcxLTQ0ODItOTNhNC0wMmVkZTJhMDk3MjdcIiIsInRlbXBJZCI6IjMyMDdCNzlGLTJFRDAtNENDMC05REZGLUZCMTI1OEI1RjQyMyJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbe1wiaXNDb2RlXCI6dHJ1ZSxcInJhbmdlXCI6WzAsM119LHtcImlzQ29kZVwiOnRydWUsXCJyYW5nZVwiOls1LDldfSx7XCJpc0NvZGVcIjp0cnVlLFwicmFuZ2VcIjpbMTYsNV19LHtcImlzQ29kZVwiOnRydWUsXCJyYW5nZVwiOlsyMyw3XX0se1wiaXNDb2RlXCI6dHJ1ZSxcInJhbmdlXCI6WzMyLDhdfSx7XCJpc0NvZGVcIjp0cnVlLFwicmFuZ2VcIjpbNDIsOF19LHtcImlzQ29kZVwiOnRydWUsXCJyYW5nZVwiOls1Miw2XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiJhcHAsIHByb2Nlc3NlcywgcGFnZXMsIHdpZGdldHMsIGZlYXR1cmVzLCBlbnRpdGllcywgc2hhcmVk7J2YIDfqsJzroZwg6rWs7ISxIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2Mjg0NjAxMiwidXBkYXRlZCI6MTc2OTA2Mjk1NzEwNSwic3RhbXAiOiJcIjk5YzIwMGM2LTBhZjgtNDNkNS1iMmY5LTU5NWM4N2M5MWE3OVwiIiwidGVtcElkIjoiODVERTg3QzEtRjI0RS00N0MzLTkwNUMtNDA3NjJBQjgzNkUwIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0NvZGVcIjp0cnVlLFwicmFuZ2VcIjpbNCw5XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLtmITsnqzripQgcHJvY2Vzc2VzIOygnOyZuCA26rCc7J2YIOugiOydtOyWtOunjCDsgqzsmqnrkKgiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyOTQ0MzQyLCJ1cGRhdGVkIjoxNzY5MDYyOTU1MDk5LCJzdGFtcCI6IlwiNTZhZTRmZmUtOTBmNS00ZDQzLTllMDQtZDZkODI0YTIxMWVlXCIiLCJ0ZW1wSWQiOiIxODZBNTk1Qi1ERTI5LTRBMEItQjY1Qi1BQUQyNkJERkU4QjAifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcIm51bWJlcmVkXCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MSxcInVzZXJEZWZpbmVkTGlzdE51bWJlclwiOjF9IiwiY29udGVudCI6ImFwcDog7JWg7ZSM66as7LyA7J207IWYIOyghOyytOydmCDsoITsl60g7ISk7KCV66eMIOuLtOuLue2VmOupsCDsiqzrnbzsnbTsiqTqsIAg7JeG6rOgIOyEuOq3uOuovO2KuOunjCDqsIDsp5AiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyOTgzMjE3LCJ1cGRhdGVkIjoxNzY5MDY0NjQxMjc3LCJzdGFtcCI6IlwiMzkzYjAwYmQtNjEzMC00NTU5LWJmNjMtZDQzMDFiYTI1MDY2XCIiLCJ0ZW1wSWQiOiJBREM4NUY4RC0xMEJFLTQ2M0QtQUVBQy1DN0YzQkM1Mzc4MjYifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6IuudvOyasO2MhSwg7KCE7JetIOyKpO2DgOydvCwg7YWM66eIIOyEpOyglSDrk7EiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY0NjQzODE1LCJ1cGRhdGVkIjoxNzY5MDY1MjI3NTg1LCJzdGFtcCI6IlwiYmMyNDg0ODctNjI4YS00ZTI2LWI3ZWEtMGQ3ZjZmZDcxMWZlXCIiLCJ0ZW1wSWQiOiIyMEYzNzUxMS0yNEIzLTQ2RTYtQkMzQi1BNzQ0RTVERDU3N0EifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcIm51bWJlcmVkXCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MSxcInVzZXJEZWZpbmVkTGlzdE51bWJlclwiOjJ9IiwiY29udGVudCI6InByb2dlc3Nlczog7Y6Y7J207KeAIOqwhCDrs7XsnqHtlZwg7Iuc64KY66as7Jik64KYIOybjO2BrO2UjOuhnCDqtIDrpqwiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY0NjU3MDMzLCJ1cGRhdGVkIjoxNzY5MDY0OTcxNjg3LCJzdGFtcCI6IlwiMGZiZDdlNDQtMmQ2NC00MTBjLWFkZmEtY2MwM2UxZWJlMjdlXCIiLCJ0ZW1wSWQiOiI1NTRDMEIwRC1GRjA4LTQxNkEtODFFMi0xRUU0MDRENzhDOUQifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6Iu2YhOyerOuKlCDrs7XsnqHshLEsIOykkeuzteyEseydmCDrrLjsoJzroZwg7IKs7Jqp7ZWY7KeAIOyViuydjCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjQ5NzAxNzIsInVwZGF0ZWQiOjE3NjkwNjQ5NzQzMjYsInN0YW1wIjoiXCJhNjQ3ZTJhOS02ZmQ5LTQxNzUtYmRjYi00ZDdjNjMwZjI0ODhcIiIsInRlbXBJZCI6IjJFNzg5NTQyLTRGNkYtNENBMS04NjZDLTExNDE1OEVCODM4RCJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiJwYWdlczog7JWxIOuCtCDqsJzrs4Qg7Y6Y7J207KeAIOygleydmCwg7IKs7Jqp7J6QIOyduO2EsO2OmOydtOyKpOyZgCDqtIDroKjrkJwg66Gc7KeBIOyymOumrCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjQ3MTAzNjAsInVwZGF0ZWQiOjE3NjkwNjQ5ODAyMjMsInN0YW1wIjoiXCJjMjBhMDkyZS05NDVkLTQ4Y2YtODA2OS0yMThkZGM0ZTdhOTNcIiIsInRlbXBJZCI6IjZGNDk5MUQ1LUQ5OTMtNDgzMC04MjkyLTE1OEEwRjQyMTQ0RSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiJ3aWRnZXRzOiDtjpjsnbTsp4Ag64K0IOuPheumveyggeycvOuhnCDsnpHrj5ntlZjripQg7YGwIOq4sOuKpSDri6jsnIQuIOqygOyDiSDrsJQsIOuMgOyLnOuztOuTnCwg7IKs7J2065Oc67CUIOuplOuJtCDrk7HsnbQg7ZW064u57ZWoIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NDc2OTM4NSwidXBkYXRlZCI6MTc2OTA2NDk4MDk2OSwic3RhbXAiOiJcIjYwZTFmYWNmLTMxZjEtNGYxNS04NDBlLWM4MTg1MjM0MDU3YlwiIiwidGVtcElkIjoiQUYyNDczMTAtOEY0QS00QkEzLUEwMjItQzA2NzY2NzRBQUJBIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJudW1iZXJlZFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IkZlYXR1cmVzOiDsnqzsgqzsmqkg6rCA64ql7ZWcIOu5hOymiOuLiOyKpCDquLDriqXsnYQg7JyE7ZWoLCDrj4Xrpr3soIHsnLzroZwg64+Z7J6R7ZWgIOyImCDsnojripQg7ZWY64KY7J2YIO2KueyglSDrj5nsnpHsnYQg7KCV7J2Y7ZWoIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NDgxMzY0OSwidXBkYXRlZCI6MTc2OTA2NTAyMDI0Mywic3RhbXAiOiJcIjk3OTQ5ZWQ5LTNmODctNGJjNC1iMDY0LTU5OTA0YTgxMWYyMlwiIiwidGVtcElkIjoiQTdBMDhFRUQtQURGQi00NDBCLThGQjgtNEU1MTJERUI3NTA4In0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoyfSIsImNvbnRlbnQiOiLri6TslpHtlZwg7Y6Y7J207KeA7JmAIOychOygr+yXkOyEnCDsgqzsmqntlaAg7IiYIOyeiOuPhOuhnSDquLDriqXsnYQg7LaU7IOB7ZmU7ZWY64qUIOugiOydtOyWtCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjUwNTEwNDAsInVwZGF0ZWQiOjE3NjkwNjUwNTkyMTMsInN0YW1wIjoiXCIxYTJmNTE5Zi1jYzMyLTRlNGYtOWU3OC00MzQ4NjViN2JkMWNcIiIsInRlbXBJZCI6IkNCN0M5QkU5LThFNkQtNDhCRS05QTJCLTM1QTYyNjUyREEyRSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiJFbnRpdGllczog7ZSE66Gc7KCd7Yq47JeQ7IScIOuLpOujqOuKlCDruYTspojri4jsiqTsnZgg7ZW17IusIOuNsOydtO2EsOulvCDrgpjtg4DrgrTripQg66CI7J207Ja0Iiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NTAyMjI1MywidXBkYXRlZCI6MTc2OTA2NTIzMzA0Mywic3RhbXAiOiJcIjIyZWI2YTMxLTM5ZDUtNDc0Mi04YzZlLTk2ZGQ1ZjQ1ZjljMVwiIiwidGVtcElkIjoiNTg3QzYzRTUtQjYwQi00NzI3LTg4RjktMEM3QUREQkQwMDlBIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoyfSIsImNvbnRlbnQiOiLso7zroZwg642w7J207YSwIOuqqOuNuOqzvCDtlbTri7kg642w7J207YSw7JeQIOuMgO2VnCDroZzsp4HsnbQg7Y+s7ZWo65CoIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NTIzMzAzMCwidXBkYXRlZCI6MTc2OTA2NTIzNTMzMywic3RhbXAiOiJcImFkYjU2ZjU0LTliNmEtNDk3OS04ZDVlLTU1ZTcxNTZkNmVhMFwiIiwidGVtcElkIjoiNzEyOTJEN0QtREJGNi00M0JCLUIzNDQtNjY3N0NDNENFRUNBIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJudW1iZXJlZFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IlNoYXJlZDog7ZSE66Gc7KCd7Yq4IOyghOuwmOyXkOyEnCDsnqzsgqzsmqntlaAg7IiYIOyeiOuKlCDsnKDti7jrpqzti7AsIOq4sOuzuOyggeyduCDsu7Ttj6zrhIztirgsIOyKpO2DgOydvCDrk7HsnZgg7KCE67CY7KCB7J24IOumrOyGjOyKpOulvCDtj6ztlajtlZjripQg66CI7J207Ja0LCDsiqzrnbzsnbTsiqTqsIAg7JeG6rOgIOyEuOq3uOuovO2KuOunjCDqsIDsp5AiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1MTEzOTQ4LCJ1cGRhdGVkIjoxNzY5MDY1MTg0ODg4LCJzdGFtcCI6IlwiODAxYTM0MGItZmYwYy00NWQ2LWE3NTctM2JlMmM4OWIxM2M2XCIiLCJ0ZW1wSWQiOiI4RUVDMkMzQS04ODcwLTRDNDAtQTQ2NS05NjVDOUE4MkQwMEUifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6IkJ1dHRvbiDsu7Ttj6zrhIztirgg65OxIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NTE1NDgwOCwidXBkYXRlZCI6MTc2OTA2NTIyMzYzNSwic3RhbXAiOiJcIjIyZWIwMDFiLTY2MjQtNGQ5MS05ODlhLWI5NzFlNjM3MTE4M1wiIiwidGVtcElkIjoiRjM1RDI5M0MtQjY4OC00RDYxLTk4MkQtNkY0OTBBODM3NThDIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJub25lXCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbe1wiaXNCb2xkXCI6dHJ1ZSxcInJhbmdlXCI6WzAsOV19XSxcImRlY29yYXRpb25zXCI6e1wiZm9jdXNcIjoxfSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLroIjsnbTslrQg7LC47KGwIOq3nOy5mSIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjUyNTQxNDAsInVwZGF0ZWQiOjE3NjkwNjU5MzI5OTQsInN0YW1wIjoiXCIzY2JhM2E1My1lMGM1LTQ5NTgtOWEwYy1lMTI3MzE2YWFhODRcIiIsInRlbXBJZCI6IjAyMkIyRTJGLTcxQTMtNENERi1BNTE2LUUwRUE3MEQ1OUJGNiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e1wiZm9jdXNcIjoxfSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLri6jrsKntlqUg7J2Y7KG07ISxOiDsg4HsnIQg66CI7J207Ja064qUIO2VmOychCDroIjsnbTslrTrp4wg7LC47KGw7ZWY66mwLCDroIjsnbTslrQg6rCEIOyImOyngeyggSDsnITqs4TsmYAg64+F66a97ISx7J2EIOyXhOqyqe2eiCDrs7TsnqXtlagiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1MjY4MDY4LCJ1cGRhdGVkIjoxNzY5MDY1NjYzMDM4LCJzdGFtcCI6IlwiNDhkMmFhZDctNzg2OC00NmQ3LWE0MGYtMzVlODkzNDc3MTliXCIiLCJ0ZW1wSWQiOiJDQ0ZBREM0Ri1FODhCLTQ5MEEtQUQwQy0xMUQyQTFFRTZBNjMifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi7ZWY7JyEIOugiOydtOyWtCDssLjsobAg7KCc7ZWc7Jy866GcIOq3nOy5mSDtmZXsgrDsnYQg67Cp7KeA7ZWY66mwIOqzhOy4tSDqsIQg6rKw7ZWp64+E66W8IOuCruy2lOqzoCDrqqjrk4jsnZgg7J2R7KeR64+E66W8IOqwle2ZlO2VqCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjUzMDE2ODAsInVwZGF0ZWQiOjE3NjkwNjU2NjMwMzgsInN0YW1wIjoiXCIwYjliOTJhMi1hM2MxLTQ4YmItOWU3Zi00NzI5MTk0ZjM0YTZcIiIsInRlbXBJZCI6IjQ2RTM1MjFBLThGREItNEFFQS04NkU1LTE1RDVFMTAxODgxMiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoiaW1hZ2UiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie1wiZmlsZU5hbWVcIjpcImltYWdlLnBuZ1wiLFwiYXNwZWN0UmF0aW9cIjpcIjQuMzE4OTE4OTE4OTE4OTE5XCIsXCJ1cGxvYWRlZFwiOnRydWUsXCJyYXdVcmxcIjpcImh0dHBzOi8vcmVzLmNyYWZ0LmRvL3VzZXIvZnVsbC8wYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIvZG9jLzJmNWM4NWQ0LTRlYzktNDViNi1iZDY5LTU3YzZiZWI3Yzc2OC81MjA0MTQxZi05YmIzLTRkZTMtOGIyOS01OThhYjQwNzA4YTBcIixcImlzUHJldmlld0ltYWdlVXBsb2FkZWRcIjp0cnVlLFwidXJsXCI6XCJodHRwczovL3Jlcy5jcmFmdC5kby91c2VyL3ByZXZpZXcvMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyL2RvYy8yZjVjODVkNC00ZWM5LTQ1YjYtYmQ2OS01N2M2YmViN2M3NjgvYzY3MmZkN2QtNGVmMy00ODY0LWJlZjYtY2M1YTM1NzgwOTk4XCIsXCJtaW1lVHlwZVwiOlwiaW1hZ2UvcG5nXCIsXCJyYXdEYXRhU2l6ZVwiOlwiNjY1OThcIixcInByZXZpZXdJbWFnZVdpZHRoXCI6XCI3OTlcIixcInR5cGVcIjpcImltYWdlXCIsXCJ1bnNwbGFzaE1ldGFEYXRhXCI6bnVsbH0iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcIm5vbmVcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaWxsXCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50IjoiaHR0cHM6Ly9yZXMuY3JhZnQuZG8vdXNlci9mdWxsLzBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMi9kb2MvMmY1Yzg1ZDQtNGVjOS00NWI2LWJkNjktNTdjNmJlYjdjNzY4LzUyMDQxNDFmLTliYjMtNGRlMy04YjI5LTU5OGFiNDA3MDhhMCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjU2NDcwMzUsInVwZGF0ZWQiOjE3NjkwNjU2NzQ1MTYsInN0YW1wIjoiXCI0ZWJiNDg3Yy1iMjAxLTQwOTQtODQ2MC1lZjBjODNhYjljYmVcIiIsInRlbXBJZCI6IkI5NjI3NkRDLTYzQTctNEMyRi1BMjI4LUI3QjIxODdBMjQ4QiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCw1XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjowLFwidXNlckRlZmluZWRMaXN0TnVtYmVyXCI6NH0iLCJjb250ZW50IjoiU2xpY2UiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDYyNzE1MDMzLCJ1cGRhdGVkIjoxNzY5MDY2NTA1NDA2LCJzdGFtcCI6IlwiMjI0MDRiNzEtYTZlZC00NjY2LWE4NjAtNzY2NWIyOThjNGNkXCIiLCJ0ZW1wSWQiOiJCOERFODIzNi0wM0JELTQ0NkEtQTk2RS01M0FFM0RFQUZFN0QifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IuyVoO2UjOumrOy8gOydtOyFmOydhCDruYTspojri4jsiqQg64+E66mU7J2467OE66GcIOy9lOuTnOulvCDrtoTrpqztlZjripQg65GQIOuyiOynuCDsiJjspIDsnZgg6rOE7Li1IOq1rOyhsCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjU2NzY2MTksInVwZGF0ZWQiOjE3NjkwNjU3MTg5NTIsInN0YW1wIjoiXCI5ZDVkMDczNy04MzdlLTQ0MzUtODY4Ny1mNTc1YTNhZDg1ZmVcIiIsInRlbXBJZCI6IjA1Mjk4MTIxLTAxMjctNEQxQS04Q0NFLUQ4RkZCQjdENDc1NyJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi7Yq57KCVIOu5hOymiOuLiOyKpCDsl5Tti7Dti7Dsl5Ag64yA7ZWcIOy9lOuTnOulvCDrrLbsnYwiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1NzIwMzM2LCJ1cGRhdGVkIjoxNzY5MDY1NzMwMjI2LCJzdGFtcCI6IlwiYTY1YmFjYTMtYWZjMy00NjU4LTkwYWUtYjQ4NTIzMTc1NmVlXCIiLCJ0ZW1wSWQiOiI1RDIwQTFCRS0xRDZCLTRGRjktQjYyRC0zMzZBNEVEQjk4M0MifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IuyCrOynhCDqsKTrn6zrpqwg7ZSE66Gc7KCd7Yq464qUIOyCrOynhCwg7JWo67KULCDqsKTrn6zrpqwiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1NzMwMjI2LCJ1cGRhdGVkIjoxNzY5MDY1NzUxNTA5LCJzdGFtcCI6IlwiMTMxNGJhN2ItZTExMi00YmZhLTliODUtNDA4YjQxYTlkMjFiXCIiLCJ0ZW1wSWQiOiI4MUNFRDc1OC05REY5LTQwMjQtODk5Qy04RTYwODY3REEyNTcifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IuyGjOyFnCDrhKTtirjsm4ztgawg7ZSE66Gc7KCd7Yq464qUIOqyjOyLnOusvCwg7IKs7Jqp7J6QLCDribTsiqTtlLzrk5wiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1NzUxNTA5LCJ1cGRhdGVkIjoxNzY5MDY1NzY1MzA4LCJzdGFtcCI6IlwiNzQ1MWNlZjUtMzM0Yi00NDUxLThiNTAtMTJhYTg2Yjg3NjI0XCIiLCJ0ZW1wSWQiOiI4MEU1MDc4OS00NkI1LTQ1QUEtQTdGMS01OTAzQkNBQTg1NzYifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcIm5vbmVcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCwxMl19XSxcImRlY29yYXRpb25zXCI6e1wiZm9jdXNcIjoxfSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLsiqzrnbzsnbTsiqTsnZgg64+F66a97ISxIOycoOyngCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjU3ODA3OTAsInVwZGF0ZWQiOjE3NjkwNjU5MzE0OTUsInN0YW1wIjoiXCJkYzc5OTAyZS1mYmVjLTRlMzQtOTFjYS1hNDU2MDcyYzllNDNcIiIsInRlbXBJZCI6IkM4MjkwOUJCLTdGMjEtNEU4RC1BQjJGLUVENTA4N0UyNURBOCJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e1wiZm9jdXNcIjoxfSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLqsJnsnYAg66CI7J207Ja0IOyViOyXkOyEnCDri6Trpbgg7Iqs65287J207Iqk66W8IOywuOyhsO2VoCDsiJgg7JeG6rOgIO2VhOyalCDsi5wg7ZWY7JyEIOugiOydtOyWtOydmCDqs7XthrUg7JqU7IaM65Ok66eMIOywuOyhsCDqsIDriqUiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1NzgwNzkwLCJ1cGRhdGVkIjoxNzY5MDY1ODM4NzAyLCJzdGFtcCI6IlwiOTJjZWI2ZjEtZTM0My00MGVjLWJiNzYtNTM0ZTlmYTAxOGM0XCIiLCJ0ZW1wSWQiOiIyQzE1QTI4RC0zNENBLTQyQzAtQkNCOC1CMTQ3Qjg0QjE3QTcifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi64aS7J2AIOydkeynkeuPhOyZgCDrgq7snYAg6rKw7ZWp64+E66W8IOqwluq4sCDsnITtlagiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1NzgwNzkwLCJ1cGRhdGVkIjoxNzY5MDY1ODU1ODYyLCJzdGFtcCI6IlwiNjgxOWY0ZWMtODJjOC00NTU2LTgyYjQtNmYwYWU1MWU2ZjZhXCIiLCJ0ZW1wSWQiOiIwQTdGOURCNC1DRUNGLTQ4MTEtOTdBQi1GNzM1REYwOUYxNjEifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6Mn0iLCJjb250ZW50Ijoi7Iqs65287J207Iqk64qUIOuPheumveyggeycvOuhnCDqtIDrpqzrkKAg7IiYIOyeiOycvOupsCDrj4TrqZTsnbjsl5Ag7KeR7KSRIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NTg2MDY3OSwidXBkYXRlZCI6MTc2OTA2NTg3MzUyMiwic3RhbXAiOiJcIjY0NzcwYmRkLTI5YmItNDIxMS05NzZiLThhNDI5OGZhMzUzZlwiIiwidGVtcElkIjoiNDhCMEFFMkItMjlGMi00QkQ1LUJGOTktNUUyNUU5NTExNkRCIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7XCJmb2N1c1wiOjF9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6IuyKrOudvOydtOyKpCDqsIQg7KKF7IaN7ISxIOy1nOyGjO2ZlCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjU4NzM1MjIsInVwZGF0ZWQiOjE3NjkwNjU4ODQzMDYsInN0YW1wIjoiXCJlYjQ5YjAzZC0zOGNmLTRlZDEtODc1OS02N2Y1YjY4MWZjOTVcIiIsInRlbXBJZCI6IkI2OUNFQ0YzLTJGODAtNDNCQS1CNDNELUMyOThGNERCNTUyNSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCw3XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjowfSIsImNvbnRlbnQiOiJTZWdtZW50Iiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2MjcxNzY5MCwidXBkYXRlZCI6MTc2OTA2NjAxNzY2NSwic3RhbXAiOiJcIjdjZjE1NTA0LTY1NDMtNDg2Ni1iZWJmLTU3MjdkNTcxZDljMFwiIiwidGVtcElkIjoiMUNBMTc4NDctQzQ1Ni00MERGLUFBM0MtQkZCMDk1MzZGQ0NCIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLquLDriqXrs4TroZwg67aE66as65CcIOyEuOq3uOuovO2KuOuTpOydtCDsobTsnqztlZjsl6wg6rCB6rCB7J2YIOyEuOu2gCDquLDriqXsnYQg64u064u57ZWY64qUIOyEuCDrsojsp7gg7IiY7KSA7J2YIOqzhOy4tSDqtazsobAiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY1OTE0OTU2LCJ1cGRhdGVkIjoxNzY5MDY2MDI2NDY2LCJzdGFtcCI6IlwiZTBiZDM3ZmYtMjhkYy00NGIyLWFkNTctNDI4MDg0YjQ5YTc2XCIiLCJ0ZW1wSWQiOiI0RkIwQUFGRi1GRkI4LTRCQUYtOUQ2MS04QkRFQUNDMDM1RkEifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IuydtOumhOydhCDsoJztlZztlZjsp4Ag7JWK7KeA66eMLCDqtIDroYDsoIHsnbgg7J2066aEIOyCrOyaqSwg7J207ZWY64qUIFVzZXIg7Iqs65287J207IqkIOyYiOyLnCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYwNzQ4MzAsInVwZGF0ZWQiOjE3NjkwNjYxNjcxMjQsInN0YW1wIjoiXCJhNTQ1NGVlNC1hZDZjLTQxZmEtYjE3MS0wNjFhOWZkOTg4NmJcIiIsInRlbXBJZCI6IkFDQ0UzMDM4LTI2RkMtNDNDMS1BQjAxLUIwQjk2OURDNkZDRSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50IjoibW9kZWwiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY2MDg1Nzk1LCJ1cGRhdGVkIjoxNzY5MDY2MDkyNjk4LCJzdGFtcCI6IlwiOGQ3NTg0NWUtMWJlNS00NTQyLTk1N2ItNWE3NjBmZTNiOTVjXCIiLCJ0ZW1wSWQiOiIwNEIwQjk5NC01MTE4LTRFNkQtOTZGQS1CN0M1MDEzMTY2QzQifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6IuyDge2DnCDqtIDrpqwg67CPIOu5hOymiOuLiOyKpCDroZzsp4HsnYQg7Y+s7ZWo7ZWY7JesLCDsgqzsmqnsnpAg7KCV67O064KYIO2MlOuhnOyasCDsg4Htg5zsmYAg6rCZ7J2AIOuNsOydtO2EsCDsoIDsnqUg67CPIOq0gOumrCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYwOTkzNTgsInVwZGF0ZWQiOjE3NjkwNjYxMjc5MjgsInN0YW1wIjoiXCJjMTVjMjg1Yy0xOGRlLTRmNjEtODM0MC01MWJkYzc1MmQyMDJcIiIsInRlbXBJZCI6IkJCQzcyNjc5LUJGNDMtNEYzMy04Mzk1LTZFNzdCQ0IxNzQ0MSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50IjoidWkiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY2MDkyNjk4LCJ1cGRhdGVkIjoxNzY5MDY2MDk0NzExLCJzdGFtcCI6IlwiMDEyNjdjMGYtY2Q4MS00YzE4LTg5OWItM2E5ZDliMzc5Y2Q5XCIiLCJ0ZW1wSWQiOiJEQ0YwOUZBNy05NzA4LTQyNjQtQkQyNy1CNDYwNTE5RUVFNzkifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpdFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W10sXCJkZWNvcmF0aW9uc1wiOnt9LFwiaW5kZW50YXRpb25MZXZlbFwiOjJ9IiwiY29udGVudCI6IuyCrOyaqeyekCDsnbjthLDtjpjsnbTsiqTrpbwg6rWs7ISx7ZWY64qUIOy7tO2PrOuEjO2KuOulvCDtj6ztlajtlZjsl6wsIOyCrOyaqeyekCDsoJXrs7Qg7KGw7ZqMIO2ZlOuptCDrk7HsnZggVUkg7JqU7IaMIOygnOqztSIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYxMjg3NDUsInVwZGF0ZWQiOjE3NjkwNjYxNTQyNzMsInN0YW1wIjoiXCJhN2U2ZmRkZC1lMDYyLTQxMWUtYjM1Yy00ZWI0ODY0MTE4ZGVcIiIsInRlbXBJZCI6IjM2RUMyQThGLUNGQ0QtNDY3NC1BMDY2LTk1QjI2M0YxRTExNyJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50IjoiYXBpIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NjA5NDcxMSwidXBkYXRlZCI6MTc2OTA2NjA5NTYwMSwic3RhbXAiOiJcIjc4NzNiMDZiLTUxMmMtNDIzYi1iYWZhLWI0OGQ4OTRmN2Q4ZVwiIiwidGVtcElkIjoiNDIyMjg3NTQtRTUxOS00QjlBLTk5MTgtMjM5QThENTlERDk5In0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoyfSIsImNvbnRlbnQiOiLshJzrsoTsmYDsnZgg642w7J207YSwIOq1kO2ZmOydhCDsnITtlZwgQVBJIOyalOyyrSDsvZTrk5zrpbwg7Y+s7ZWo7ZWY7JesIOuwseyXlOuTnOyZgCDrjbDsnbTthLDrpbwg7KO86rOg67Cb64qUIOyXre2VoCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYxNjgxMzAsInVwZGF0ZWQiOjE3NjkwNjYxOTA0NTAsInN0YW1wIjoiXCI1Y2MzODc3Ni03ZTFhLTQxNzgtODA5Ny0zODgxNDY3NzE1MjBcIiIsInRlbXBJZCI6IkVFNDZGMDU0LUZFMDQtNEE4QS05MzVELUFBRjM2NzE3NUI4NSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50IjoibGliIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NjA5NTYwMSwidXBkYXRlZCI6MTc2OTA2NjA5Nzk2MSwic3RhbXAiOiJcImRkMGI5NmY4LTA4N2MtNGMxNC05YzZlLTMxYzJmN2JhYTAzYlwiIiwidGVtcElkIjoiNERCNUU3M0ItNDg1RS00RjhFLTgyOEMtNUFGQzI2NkREMzkwIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOltdLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoyfSIsImNvbnRlbnQiOiLsnKDti7jrpqzti7Ag7ZWo7IiY64KYIO2XrO2NvCDtlajsiJjsmYAg6rCZ7J20IO2VtOuLuSDrj4TrqZTsnbjsl5DshJwg67CY67O17KCB7Jy866GcIOyCrOyaqeuQmOuKlCDquLDriqUg7KCc6rO1Iiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NjE5MTA5NCwidXBkYXRlZCI6MTc2OTA2NjI1ODYxMSwic3RhbXAiOiJcImUyNzY5ODY1LTNmZjktNDFlNi05NGI1LTE4YjUxYWFlYmQxZlwiIiwidGVtcElkIjoiQkYyNDg3RjQtMkJCRS00MEU3LTk4NDctQkY0MDQwOThEMDBDIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJub25lXCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0RmlsbFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W3tcImlzQ29kZVwiOnRydWUsXCJyYW5nZVwiOls3LDZdfV0sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi7JiI66W8IOuTpOyWtCwgU2hhcmVkIOugiOydtOyWtOyXkOuKlCDri6TsnYzqs7wg6rCZ7J2AIO2PtOuNlOqwgCDsnojsnYQg7IiYIOyeiOuLpC4iLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY2MjY1NDEzLCJ1cGRhdGVkIjoxNzY5MDY2MjY1NDMyLCJzdGFtcCI6IlwiNTJlNDYwOWYtYmNjNC00NWIwLTg2M2UtYjY1OTM5YjFiYzBjXCIiLCJ0ZW1wSWQiOiJERDA5NTYxNS0yMjlELTQzQzQtQTI2RS0zOTRDOEQ5Q0Q1RkIifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpbGxcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCw2XX1dLFwiZGVjb3JhdGlvbnNcIjp7XCJmb2N1c1wiOjF9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IvCfk4IgdWkvIOKAlCDrsoTtirzsnbTrgpgg66qo64us7LKY65+8IOuUlOyekOyduOydtCDspJHsmpTtlZwg6riw67O4IFVJIOyalOyGjOuTpCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYyNjU0MTMsInVwZGF0ZWQiOjE3NjkwNjYyNjU0MzIsInN0YW1wIjoiXCJhZWNhZGMzYy1hZDEyLTQyMWItYWQyOS03YzcxZjMxMzI5OTRcIiIsInRlbXBJZCI6IjFFNUY4MDQzLTU4M0ItNEJDMi1BQTEyLUZEQ0M1MEJFNjE4MCJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0RmlsbFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W3tcImlzQm9sZFwiOnRydWUsXCJyYW5nZVwiOlswLDddfV0sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi8J+TgiBhcGkvIOKAlCDshJzrsoTsmYAg7Ya17Iug7ZWgIOuVjCDsgqzsmqntlZjripQg6riw67O4IEFQSSDtlajsiJjrk6QiLCJzdWJCbG9ja3MiOltdLCJjcmVhdGVkIjoxNzY5MDY2MjY1NDEzLCJ1cGRhdGVkIjoxNzY5MDY2MjY1NDMyLCJzdGFtcCI6IlwiZDY2ZDliYjMtYzIzMy00NDE0LTkzOTUtZWI5MTUxNmY3MWFjXCIiLCJ0ZW1wSWQiOiJDMjQ3NTMyMi00RUNFLTREOUQtQkJCRC1BMDU5NTk3RUY1NjYifSx7InBhcmVudEJsb2NrIjoiM0UwODQ5NEItNjhFQi00OTMwLUFGMTAtMDJDMjJCQTMwQTg3IiwidHlwZSI6InRleHQiLCJjcmVhdGVkQnlVc2VySWQiOiIwYTI0YjJjYS00OTEzLTcxNjEtYzU0MS0zMzU5OTZkOWI1ZDIiLCJwcm9wZXJ0aWVzIjoie30iLCJwYWdlU3R5bGUiOiJ7XCJpc01pcnJvcmVkXCI6dHJ1ZX0iLCJwYWdlU3R5bGVQcm9wcyI6Int9Iiwic3R5bGVBdHRyaWJ1dGVzIjoie1widGV4dFN0eWxlXCI6XCJib2R5XCIsXCJsaXN0U3R5bGVcIjpcImJ1bGxldFwiLFwibGluZVN0eWxlXCI6XCJub25lXCIsXCJ1cmxTdHlsZVwiOlwiZGVmYXVsdFwiLFwibGF5b3V0U3R5bGVcIjpcInJlZ3VsYXJcIixcImltYWdlRmlsbFN0eWxlXCI6XCJzY2FsZUFzcGVjdEZpbGxcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCwxMF19XSxcImRlY29yYXRpb25zXCI6e1wiZm9jdXNcIjoxfSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLwn5OCIGNvbmZpZy8g4oCUIO2ZmOqyvSDshKTsoJXsnYQg6rSA66as7ZWY64qUIO2MjOydvOuTpCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYyNjU0MTMsInVwZGF0ZWQiOjE3NjkwNjYyNjU0MzIsInN0YW1wIjoiXCI1ZGE4ODIyMy1jZWM4LTRlODctYTk5Mi03MGY1OTRkMWFiYzRcIiIsInRlbXBJZCI6IjJCM0JCRDMzLTM4NTktNEU4RS1BMjlDLUExMkM4OUZFNjJDOSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0RmlsbFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W3tcImlzQm9sZFwiOnRydWUsXCJyYW5nZVwiOlswLDhdfV0sXCJkZWNvcmF0aW9uc1wiOntcImZvY3VzXCI6MX0sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi8J+TgiBpMThuLyDigJQg64uk6rWt7Ja0IOyngOybkCDshKTsoJXsnYQg66qo7J2AIO2MjOydvOuTpCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYyNjU0MTMsInVwZGF0ZWQiOjE3NjkwNjYyNjU0MzIsInN0YW1wIjoiXCI2NWNjMTZlNi0zOWM4LTRmZDYtYjM3Yi1mODYwMzM3ODZjYjFcIiIsInRlbXBJZCI6IjVCREM5QUQ5LTY1QjEtNDREOC05MTFBLTQ4M0Q0RjYzNzg3OCJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0RmlsbFwiLFwiaW1hZ2VTaXplU3R5bGVcIjpcImF1dG9cIixcIl9ydW5BdHRyaWJ1dGVzXCI6W3tcImlzQm9sZFwiOnRydWUsXCJyYW5nZVwiOlswLDEwXX1dLFwiZGVjb3JhdGlvbnNcIjp7XCJmb2N1c1wiOjF9LFwiaW5kZW50YXRpb25MZXZlbFwiOjF9IiwiY29udGVudCI6IvCfk4Igcm91dGVyLyDigJQg7JWx7J2YIOudvOyasO2MhSDqtIDroKgg7ISk7KCVIO2MjOydvOuTpCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjYyNjU0MTMsInVwZGF0ZWQiOjE3NjkwNjY1MDgyODcsInN0YW1wIjoiXCIxMmZhOTIzZS0xNWM4LTRiODUtYmRkNC1kNTBmMDM4YzZlYmFcIiIsInRlbXBJZCI6IjdEOTIxREZFLTk0RjktNDMzRi1BNjU3LTQyQkQ1QTBEM0U2MiJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwibnVtYmVyZWRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0JvbGRcIjp0cnVlLFwicmFuZ2VcIjpbMCwxMl19XSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MCxcInVzZXJEZWZpbmVkTGlzdE51bWJlclwiOjZ9IiwiY29udGVudCI6IuqzteqwnCBBUEkg7KCV7J2YIOq3nOy5mSIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjY1MDg4OTIsInVwZGF0ZWQiOjE3NjkwNjY1Mzg3NDgsInN0YW1wIjoiXCI2ZTY3NzczMi1lYmExLTRkMWItODY0OS0yNTY0NjRhMzFlMTRcIiIsInRlbXBJZCI6IjAzMDk2N0NFLTVDMzktNDAwNy05MjIyLTdBNDFDRUI1NDhGQSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi6rCBIOuqqOuTiOydtCDsmbjrtoDsl5DshJwg7IKs7Jqp7ZWgIOyImCDsnojripQg6rKD7J2EIOuqhe2Zle2VmOqyjCDshKDslrjtlZjripQg7Jet7ZWgIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NjUzODc0OCwidXBkYXRlZCI6MTc2OTA2NjU1ODk5Mywic3RhbXAiOiJcImQ4OGEyZGQyLWRjNzEtNGIyYS05NTk4LWM2ZDU3Y2JhZGQxYlwiIiwidGVtcElkIjoiQTYyRDYyMzctOTAwNC00ODQ0LUJDNDEtMjREQTc4NTlFREIzIn0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0NvZGVcIjp0cnVlLFwicmFuZ2VcIjpbMCw4XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiJpbmRleC5qcyDtjIzsnbzsnYQg66eM65Ok7Ja0IOyZuOu2gOyXkCDqs7XqsJztlaAg7YyM7J287J2064KYIO2VqOyImOulvCDri6Tsi5wg64K067O064OEIiwic3ViQmxvY2tzIjpbXSwiY3JlYXRlZCI6MTc2OTA2NjU1ODk5MywidXBkYXRlZCI6MTc2OTA2NjU4Mzg2Miwic3RhbXAiOiJcIjFjMzUyN2JjLTBjZTItNGFhMi1hZGY3LTBiYzFhNDIxNjhkNFwiIiwidGVtcElkIjoiRDdCNEVDNkItNTNDQi00RjE1LTgwRkQtQjQyRDdBNDE0OTc2In0seyJwYXJlbnRCbG9jayI6IjNFMDg0OTRCLTY4RUItNDkzMC1BRjEwLTAyQzIyQkEzMEE4NyIsInR5cGUiOiJ0ZXh0IiwiY3JlYXRlZEJ5VXNlcklkIjoiMGEyNGIyY2EtNDkxMy03MTYxLWM1NDEtMzM1OTk2ZDliNWQyIiwicHJvcGVydGllcyI6Int9IiwicGFnZVN0eWxlIjoie1wiaXNNaXJyb3JlZFwiOnRydWV9IiwicGFnZVN0eWxlUHJvcHMiOiJ7fSIsInN0eWxlQXR0cmlidXRlcyI6IntcInRleHRTdHlsZVwiOlwiYm9keVwiLFwibGlzdFN0eWxlXCI6XCJidWxsZXRcIixcImxpbmVTdHlsZVwiOlwibm9uZVwiLFwidXJsU3R5bGVcIjpcImRlZmF1bHRcIixcImxheW91dFN0eWxlXCI6XCJyZWd1bGFyXCIsXCJpbWFnZUZpbGxTdHlsZVwiOlwic2NhbGVBc3BlY3RGaXRcIixcImltYWdlU2l6ZVN0eWxlXCI6XCJhdXRvXCIsXCJfcnVuQXR0cmlidXRlc1wiOlt7XCJpc0NvZGVcIjp0cnVlLFwicmFuZ2VcIjpbNiw4XX1dLFwiZGVjb3JhdGlvbnNcIjp7fSxcImluZGVudGF0aW9uTGV2ZWxcIjoxfSIsImNvbnRlbnQiOiLsmbjrtoDsl5DshJzripQgaW5kZXguanPrp4wg7IKs7Jqp7ZWY66+A66GcIOyKrOudvOydtOyKpCDslYjsnZgg7L2U65Oc66W8IOyngeygkSDslYwg7ZWE7JqU6rCAIOyXhuydjCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjY1ODM4NzQsInVwZGF0ZWQiOjE3NjkwNjY2MTY5MzksInN0YW1wIjoiXCIxZWVhODJhMy1kOGIzLTQyY2MtYTk0My1jZTI1OTRlODAzNjdcIiIsInRlbXBJZCI6IkYwMjk0RDExLTFGNjItNEU3NS1BQjY3LTQ4ODBFMjVEQzc4OSJ9LHsicGFyZW50QmxvY2siOiIzRTA4NDk0Qi02OEVCLTQ5MzAtQUYxMC0wMkMyMkJBMzBBODciLCJ0eXBlIjoidGV4dCIsImNyZWF0ZWRCeVVzZXJJZCI6IjBhMjRiMmNhLTQ5MTMtNzE2MS1jNTQxLTMzNTk5NmQ5YjVkMiIsInByb3BlcnRpZXMiOiJ7fSIsInBhZ2VTdHlsZSI6IntcImlzTWlycm9yZWRcIjp0cnVlfSIsInBhZ2VTdHlsZVByb3BzIjoie30iLCJzdHlsZUF0dHJpYnV0ZXMiOiJ7XCJ0ZXh0U3R5bGVcIjpcImJvZHlcIixcImxpc3RTdHlsZVwiOlwiYnVsbGV0XCIsXCJsaW5lU3R5bGVcIjpcIm5vbmVcIixcInVybFN0eWxlXCI6XCJkZWZhdWx0XCIsXCJsYXlvdXRTdHlsZVwiOlwicmVndWxhclwiLFwiaW1hZ2VGaWxsU3R5bGVcIjpcInNjYWxlQXNwZWN0Rml0XCIsXCJpbWFnZVNpemVTdHlsZVwiOlwiYXV0b1wiLFwiX3J1bkF0dHJpYnV0ZXNcIjpbXSxcImRlY29yYXRpb25zXCI6e30sXCJpbmRlbnRhdGlvbkxldmVsXCI6MX0iLCJjb250ZW50Ijoi7Iqs65287J207Iqk6rCAIOyXhuuLpOuptCDshLjqt7jrqLztirjrs4Qg6rO16rCcIEFQSSDsoJXsnZgsIOyKrOudvOydtOyKpOqwgCDsnojri6TrqbQg7ZW064u5IOyKrOudvOydtOyKpOydmCDqs7XqsJwgQVBJIOygleydmCIsInN1YkJsb2NrcyI6W10sImNyZWF0ZWQiOjE3NjkwNjY2NDQ5NDIsInVwZGF0ZWQiOjE3NjkwNjY2NzM2NDIsInN0YW1wIjoiXCIzMmIxMGM5Mi04NTIxLTQ5MjUtYjIzYy0zZjE1ZDg3ZmI4ZjRcIiIsInRlbXBJZCI6IkU0MjExMEI5LUQwN0QtNENFOS05RDUyLTg4RjYxNzgyQkU3QyJ9XQ==&quot;&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-indent-level=&quot;0&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;개요
&lt;ol style=&quot;list-style-type: decimal;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;정의: 대규모 프론트엔드 애플리케이션의 구조를 잡기 위한 아키텍처 방법론&lt;/li&gt;
&lt;li&gt;목적: 애플리케이션을 기능 단위로 분할하여 프로젝트를 더 이해하기 쉽고 구조적으로 만들어, 프로젝트의 규모가 커져도 유지보수에 유리하도록 함&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&amp;nbsp;구조
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;레이어의 이름은 제한적, 슬라이스와 세그먼트의 이름은 자유&lt;/li&gt;
&lt;li&gt;슬라이스는 보통 비즈니스 도메인별로 분리하며 세그먼트는 보통 관례적인 이름 사용&lt;/li&gt;
&lt;li&gt;Layers
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Slices
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Segments&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Layer&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트를 최상위부터 가장 기본적인 요소까지 단계적으로 나눈 폴더로 첫 번째 수준의 계층 구조&lt;/li&gt;
&lt;li&gt;app, processes, pages, widgets, features, entities, shared의 7개로 구성&lt;/li&gt;
&lt;li&gt;현재는 processes 제외 6개의 레이어만 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;app: 애플리케이션 전체의 전역 설정만 담당하며 슬라이스가 없고 세그먼트만 가짐
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;라우팅, 전역 스타일, 테마 설정 등&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;progesses: 페이지 간 복잡한 시나리오나 워크플로 관리
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재는 복잡성, 중복성의 문제로 사용하지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;pages: 앱 내 개별 페이지 정의, 사용자 인터페이스와 관련된 로직 처리&lt;/li&gt;
&lt;li&gt;widgets: 페이지 내 독립적으로 작동하는 큰 기능 단위. 검색 바, 대시보드, 사이드바 메뉴 등이 해당함&lt;/li&gt;
&lt;li&gt;Features: 재사용 가능한 비즈니스 기능을 위함, 독립적으로 동작할 수 있는 하나의 특정 동작을 정의함
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다양한 페이지와 위젯에서 사용할 수 있도록 기능을 추상화하는 레이어&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Entities: 프로젝트에서 다루는 비즈니스의 핵심 데이터를 나타내는 레이어
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주로 데이터 모델과 해당 데이터에 대한 로직이 포함됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Shared: 프로젝트 전반에서 재사용할 수 있는 유틸리티, 기본적인 컴포넌트, 스타일 등의 전반적인 리소스를 포함하는 레이어, 슬라이스가 없고 세그먼트만 가짐
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Button 컴포넌트 등&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;레이어 참조 규칙&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단방향 의존성: 상위 레이어는 하위 레이어만 참조하며, 레이어 간 수직적 위계와 독립성을 엄격히 보장함&lt;/li&gt;
&lt;li&gt;하위 레이어 참조 제한으로 규칙 확산을 방지하며 계층 간 결합도를 낮추고 모듈의 응집도를 강화함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Slice&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;애플리케이션을 비즈니스 도메인별로 코드를 분리하는 두 번째 수준의 계층 구조&lt;/li&gt;
&lt;li&gt;특정 비즈니스 엔티티에 대한 코드를 묶음&lt;/li&gt;
&lt;li&gt;사진 갤러리 프로젝트는 사진, 앨범, 갤러리&lt;/li&gt;
&lt;li&gt;소셜 네트워크 프로젝트는 게시물, 사용자, 뉴스피드&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;슬라이스의 독립성 유지&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;같은 레이어 안에서 다른 슬라이스를 참조할 수 없고 필요 시 하위 레이어의 공통 요소들만 참조 가능&lt;/li&gt;
&lt;li&gt;높은 응집도와 낮은 결합도를 갖기 위함
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;슬라이스는 독립적으로 관리될 수 있으며 도메인에 집중&lt;/li&gt;
&lt;li&gt;슬라이스 간 종속성 최소화&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Segment&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기능별로 분리된 세그먼트들이 존재하여 각각의 세부 기능을 담당하는 세 번째 수준의 계층 구조&lt;/li&gt;
&lt;li&gt;이름을 제한하지 않지만, 관례적인 이름 사용, 아래는 User 슬라이스의 세그먼트 예시&lt;/li&gt;
&lt;li&gt;model
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상태 관리 및 비즈니스 로직을 포함하여, 사용자 정보나 팔로우 상태와 같은 데이터 저장 및 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ui
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자 인터페이스를 구성하는 컴포넌트를 포함하여, 사용자 정보 조회 화면 등의 UI 요소 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;api
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서버와의 데이터 교환을 위한 API 요청 코드를 포함하여 백엔드와 데이터를 주고받는 역할&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;lib
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;2&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;유틸리티 함수나 헬퍼 함수와 같이 해당 도메인에서 반복적으로 사용되는 기능 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;공개 API 정의 규칙&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-indent-level=&quot;1&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 모듈이 외부에서 사용할 수 있는 것을 명확하게 선언하는 역할&lt;/li&gt;
&lt;li&gt;index.js 파일을 만들어 외부에 공개할 파일이나 함수를 다시 내보냄&lt;/li&gt;
&lt;li&gt;외부에서는 index.js만 사용하므로 슬라이스 안의 코드를 직접 알 필요가 없음&lt;/li&gt;
&lt;li&gt;슬라이스가 없다면 세그먼트별 공개 API 정의, 슬라이스가 있다면 해당 슬라이스의 공개 API 정의&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://feature-sliced.design/docs/get-started/overview&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://feature-sliced.design/docs/get-started/overview&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://velog.io/@clydehan/FSDFeature-Sliced-Design-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://velog.io/@clydehan/FSDFeature-Sliced-Design-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C&lt;/a&gt;&lt;/p&gt;</description>
      <category>  학습/Architecture</category>
      <author>o-osang</author>
      <guid isPermaLink="true">https://o-osang.tistory.com/3</guid>
      <comments>https://o-osang.tistory.com/entry/fsd#entry3comment</comments>
      <pubDate>Sat, 24 Jan 2026 17:30:02 +0900</pubDate>
    </item>
    <item>
      <title>React 내장 Hooks</title>
      <link>https://o-osang.tistory.com/entry/React-%EB%82%B4%EC%9E%A5-Hooks</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Hooks의 종류&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- useState&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- useEffect&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- useCallback&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;- useMemo, useContext, useRef, useLayoutEffect...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;useState&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;컴포넌트의 state를 생성하는 훅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;배열을 리턴하며, 첫 번째 요소는 state 값, 두 번째 요소는 해당 state를 set해주는 setter 함수&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;인자로 넘겨주는 값은 state의 초기값&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;useEffect&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;컴포넌트가 렌더링 될 때 현재 상태 변화에 따라 조건적으로 특정 작업을 실행하는 훅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;클린업 함수: 컴포넌트가 언마운트 될 때 및 의존성 배열에 포함된 값이 변화할 때 실행되는 함수,&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 컴포넌트가 사용했던 자원을 제거 ex) 타이머, 인터벌, 이벤트, 객체 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;useCallback&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;성능 최적화를 위한 훅&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;이전 렌더링에 생성한 함수를 기억해서 기존 함수를 재활용 &amp;gt; 메모이제이션&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;useCallback 예제&lt;/p&gt;
&lt;pre id=&quot;code_1756127709897&quot; class=&quot;javascript&quot; data-ke-language=&quot;javascript&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;const increaseValue = () =&amp;gt; {
	setValue(value + 1);
};

const resetValue = useCallback(() =&amp;gt; {
	setValue(0);
}, []);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. increaseValue는 useCallback을 사용 시 value 값이 0인 상태로 고정되기에 사용하지 않음&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. resetValue는 현재 value의 값과 상관없이 0으로 만들기 때문에 렌더링마다 함수를 생성할 필요가 없어 useCallback을 사용함&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주의사항&lt;/h3&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;1. Hooks는 조건적으로 사용하지 말 것, Hooks는 배열로 관리되기 때문에 건너뛰면 서로 충돌&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;2. &lt;span style=&quot;text-align: start;&quot;&gt;함수형 컴포넌트나 커스텀 훅의 최상위에서만 호출해야 함&lt;/span&gt;&lt;/p&gt;</description>
      <category>  학습/React</category>
      <author>o-osang</author>
      <guid isPermaLink="true">https://o-osang.tistory.com/2</guid>
      <comments>https://o-osang.tistory.com/entry/React-%EB%82%B4%EC%9E%A5-Hooks#entry2comment</comments>
      <pubDate>Mon, 25 Aug 2025 20:50:52 +0900</pubDate>
    </item>
    <item>
      <title>개발 블로그 플랫폼 정하기</title>
      <link>https://o-osang.tistory.com/entry/%EA%B0%9C%EB%B0%9C-%EB%B8%94%EB%A1%9C%EA%B7%B8-%ED%94%8C%EB%9E%AB%ED%8F%BC-%EC%A0%95%ED%95%98%EA%B8%B0</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;무슨 플랫폼이 있나 찾아보기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개발 블로그를 시작해야지 하고 여러 블로그들을 돌아다니며 정보를 얻었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분 개발자 분들은 github, velog, 티스토리를 많이 쓰는 것 같았다. 나머진 마이너하거나 내 취향이 아니라 패스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각각의 장단점은 다음과 같았다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;github&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;장점이자 단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;높은 자유도&lt;/b&gt;: HTML/CSS/JavaScript 지식으로 처음부터 끝까지 구현해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수익화 어려움&lt;/b&gt;: 수익화를 직접 구현해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;불편한 이미지 업로드&lt;/b&gt;: 이미지를 레포지토리에 업로드 후 가져오거나 경로를 업로드해야 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;깃허브 페이지는 애초에 생각하고 있던 플랫폼이 아니었기에 설명이 적다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 외의 장점으로 정적 사이트 생성기 (Jekyll 등) 를 지원한다거나 Git을 통한 버전 관리가 있는데 크게 와닿는 장점이 아니었다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;velog&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;장점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;간편한 사용&lt;/b&gt;: Markdown 기반으로 글 작성이 쉬워 초보자도 사용하기 좋다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;개발자 친화적&lt;/b&gt;: 개발 관련 글을 쓰기에 최적화되어 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;커스터마이징 제한&lt;/b&gt;: 디자인 커스터마이징 제한으로 글이 다들 비슷해 보인다.(내 생각이다)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;부실한 통계 기능:&lt;/b&gt; 통계 기능이 부실하다. 유입 경로 제공 x&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수익화 어려움&lt;/b&gt;: 플랫폼 자체적으로 수익화를 지원하지 않는다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;티스토리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;장점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;편리한 관리&lt;/b&gt;: 블로그 관리 기능을 제공한다. 티스토리로 정하고 써보니까 편한 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;디자인 커스터미이징&lt;/b&gt;: 스킨과 플러그인을 통해 맞춤 설정 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;수익화 가능&lt;/b&gt;: 수익화도 쉽게 지원한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;단점&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;초기 설정&lt;/b&gt;: 스킨을 적용해도 초기에 설정할 게 많은 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;마크다운 에디터&lt;/b&gt;: 마크다운 에디터가 있기는 한데 별도의 에디터로 구분되어 있고, &lt;/p&gt;
&lt;p&gt;&lt;del&gt;미리보기를 지원하지 않는다.*&lt;/del&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;* 미리보기가 없는 줄 알았는데 왼쪽 아래에 있었다.&lt;/i&gt; &lt;b&gt;에디터 전환 시 자꾸 기본 서식으로 돌아가는데 이거 불편하다.&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;결론&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;티스토리를 통해 개발 블로그를 시작하기로 결정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 큰 이유는 통계 기능이 잘 되어 있기 때문이다. 유입 경로 및 상세 통계를 알 수 있으면 사람들이 더 많이 찾는 블로그를 만들 수 있을 것이라고 생각한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;블로그를 시작하는 김에 스킨도 적용했다. 정상우 개발자님의 &lt;a title=&quot;hELLO&quot; href=&quot;https://pronist.tistory.com/5&quot;&gt;hELLO&lt;/a&gt;라는 스킨인데 왼쪽 사이드바 스킨을 찾다가 발견했다. 커스터마이징은 추후에 하는 것으로 하고 프로젝트에 관한 포스팅을 올릴 예정이다.&lt;/p&gt;</description>
      <category>  잡담</category>
      <author>o-osang</author>
      <guid isPermaLink="true">https://o-osang.tistory.com/1</guid>
      <comments>https://o-osang.tistory.com/entry/%EA%B0%9C%EB%B0%9C-%EB%B8%94%EB%A1%9C%EA%B7%B8-%ED%94%8C%EB%9E%AB%ED%8F%BC-%EC%A0%95%ED%95%98%EA%B8%B0#entry1comment</comments>
      <pubDate>Sat, 22 Jun 2024 14:22:52 +0900</pubDate>
    </item>
  </channel>
</rss>