Skip to content

Yandex Weather Widgets for Inker

img

10 independent widgets that process raw data from the Yandex Weather API:

  • Temperature: Current temperature, water temperature in the nearest body of water, as well as daily maximum (↑) and nighttime minimum (↓).
  • Humidity: Percentage of air humidity.
  • Sun: Exact times of sunrise and sunset.
  • Wind: Direction, current speed, and gusts (e.g., NW, 4→9 m/s).
  • Condition: General weather conditions.
  • Precipitation: Analyzes the hourly forecast and reports in plain English when precipitation will begin or end. (Example: "Rain will begin within the hour from 2:00 PM to 6:00 PM" or "It will end tomorrow at 10:00 AM.").

How to install

  1. Copy the code.

      eyJfaW5rZXJTY3JlZW4iOjIsIm5hbWUiOiJZYW5kZXggd2VhdGhlciAoYm9vc3R5KSIsImRlc2NyaXB0aW9uIjoiIiwid2lkdGgiOjgwMCwiaGVpZ2h0Ijo0ODAsImJhY2tncm91bmQiOiIjZmZmZmZmIiwid2lkZ2V0cyI6W3sidGVtcGxhdGVJZCI6MTAwODQsIngiOjIyNSwieSI6NTEsIndpZHRoIjo4NCwiaGVpZ2h0IjozMywicm90YXRpb24iOjAsImNvbmZpZyI6eyJjb2xvciI6IiMwMDAwMDAiLCJmaWVsZCI6IiIsInByZWZpeCI6IiIsInN1ZmZpeCI6IiUiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJjZW50ZXIiLCJmb250RmFtaWx5Ijoic2Fucy1zZXJpZiIsImZvbnRXZWlnaHQiOiJub3JtYWwiLCJzY3JpcHRDb2RlIjoicmV0dXJuICAkLmZhY3QuaHVtaWRpdHk7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6ODQsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjN9LHsidGVtcGxhdGVJZCI6MTAwODMsIngiOi0xMCwieSI6NTgsIndpZHRoIjoyMzUsImhlaWdodCI6MTE4LCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImNvbG9yIjoiIzAwMDAwMCIsImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiwrAiLCJmb250U2l6ZSI6MTE4LCJtYXhJdGVtcyI6NSwidGVtcGxhdGUiOiIiLCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwidGV4dEFsaWduIjoicmlnaHQiLCJmb250RmFtaWx5Ijoic2Fucy1zZXJpZiIsImZvbnRXZWlnaHQiOiJub3JtYWwiLCJzY3JpcHRDb2RlIjoicmV0dXJuIHRlbXAgPSAkLmZhY3QudGVtcDsiLCJ0aXRsZUZpZWxkIjoiIiwidmFsdWVGaWVsZCI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidmVydGljYWxBbGlnbiI6Im1pZGRsZSIsImN1c3RvbVdpZGdldElkIjo4MywidmFsdWVGaWVsZFR5cGUiOiJ0ZXh0In0sInpJbmRleCI6NH0seyJ0ZW1wbGF0ZUlkIjoxMDA4NSwieCI6MjIzLCJ5IjoxMTcsIndpZHRoIjo1MzQsImhlaWdodCI6NTIsInJvdGF0aW9uIjowLCJjb25maWciOnsiY29sb3IiOiIjMDAwMDAwIiwiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIiLCJmb250U2l6ZSI6NDIsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJsZWZ0IiwiZm9udEZhbWlseSI6InNhbnMtc2VyaWYiLCJmb250V2VpZ2h0IjoiYm9sZCIsInNjcmlwdENvZGUiOiIvLyDQodC+0LfQtNCw0LXQvCDRgdC70L7QstCw0YDRjCDRgSDQv9C10YDQtdCy0L7QtNCw0LzQuCDRgdC+0YHRgtC+0Y/QvdC40LlcbmNvbnN0IHRyYW5zbGF0aW9ucyA9IHtcbiAgICBcImNsZWFyXCI6IFwi0K/RgdC90LDRjyDQv9C+0LPQvtC00LBcIixcbiAgICBcInBhcnRseV9jbG91ZHlcIjogXCLQn9C10YDQtdC80LXQvdC90LDRjyDQvtCx0LvQsNGH0L3QvtGB0YLRjFwiLFxuICAgIFwiY2xvdWR5XCI6IFwi0J7QsdC70LDRh9C90L5cIixcbiAgICBcIm92ZXJjYXN0XCI6IFwi0J/QsNGB0LzRg9GA0L3QvlwiLFxuICAgIFwibGlnaHRfcmFpblwiOiBcItCh0LvQsNCx0YvQuSDQtNC+0LbQtNGMXCIsXG4gICAgXCJyYWluXCI6IFwi0JTQvtC20LTRjFwiLFxuICAgIFwiaGVhdnlfcmFpblwiOiBcItCh0LjQu9GM0L3Ri9C5INC00L7QttC00YxcIixcbiAgICBcInNob3dlcnNcIjogXCLQm9C40LLQtdC90YxcIixcbiAgICBcInNsZWV0XCI6IFwi0JzQvtC60YDRi9C5INGB0L3QtdCzXCIsXG4gICAgXCJsaWdodF9zbm93XCI6IFwi0KHQu9Cw0LHRi9C5INGB0L3QtdCzXCIsXG4gICAgXCJzbm93XCI6IFwi0KHQvdC10LNcIixcbiAgICBcInNub3dmYWxsXCI6IFwi0KHQvdC10LPQvtC/0LDQtFwiLFxuICAgIFwiaGFpbFwiOiBcItCT0YDQsNC0XCIsXG4gICAgXCJ0aHVuZGVyc3Rvcm1cIjogXCLQk9GA0L7Qt9CwXCIsXG4gICAgXCJ0aHVuZGVyc3Rvcm1fd2l0aF9yYWluXCI6IFwi0JPRgNC+0LfQsCDRgSDQtNC+0LbQtNC10LxcIixcbiAgICBcInRodW5kZXJzdG9ybV93aXRoX2hhaWxcIjogXCLQk9GA0L7Qt9CwINGBINCz0YDQsNC00L7QvFwiXG59O1xuXG4vLyDQn9C+0LvRg9GH0LDQtdC8INGC0LXQutGD0YnQtdC1INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC3IEFQSVxuY29uc3QgY3VycmVudFN0YXRlID0gJC5mYWN0LmNvbmRpdGlvbjtcblxuLy8g0JLQvtC30LLRgNCw0YnQsNC10Lwg0L/QtdGA0LXQstC+0LQuIFxuLy8g0JXRgdC70Lgg0YLQtdC60YPRidC10LPQviDRgdC+0YHRgtC+0Y/QvdC40Y8g0L3QtdGCINCyINGB0LvQvtCy0LDRgNC1LCDQstC+0LfQstGA0LDRidCw0LXQvCDQvtGA0LjQs9C40L3QsNC70YzQvdC+0LUg0LDQvdCz0LvQuNC50YHQutC+0LUg0YHQu9C+0LLQvi5cbnJldHVybiB0cmFuc2xhdGlvbnNbY3VycmVudFN0YXRlXSB8fCBjdXJyZW50U3RhdGU7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6ODUsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjV9LHsidGVtcGxhdGVJZCI6MTAwODYsIngiOjMwOSwieSI6NTEsIndpZHRoIjoyOTgsImhlaWdodCI6MzMsInJvdGF0aW9uIjowLCJjb25maWciOnsiY29sb3IiOiIjMDAwMDAwIiwiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIg0LwvYyIsImZvbnRTaXplIjoyOCwibWF4SXRlbXMiOjUsInRlbXBsYXRlIjoiIiwiZmllbGRUeXBlIjoidGV4dCIsIml0ZW1GaWVsZCI6IiIsInRleHRBbGlnbiI6ImxlZnQiLCJmb250RmFtaWx5Ijoic2Fucy1zZXJpZiIsImZvbnRXZWlnaHQiOiJub3JtYWwiLCJzY3JpcHRDb2RlIjoicmV0dXJuICQuZmFjdC53aW5kX3NwZWVkOyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwiZGlzcGxheVR5cGUiOiJzY3JpcHQiLCJ2ZXJ0aWNhbEFsaWduIjoibWlkZGxlIiwiY3VzdG9tV2lkZ2V0SWQiOjg2LCJ2YWx1ZUZpZWxkVHlwZSI6InRleHQifSwiekluZGV4Ijo4fSx7InRlbXBsYXRlSWQiOjEwMDk1LCJ4IjoyMCwieSI6MTY5LCJ3aWR0aCI6NzYwLCJoZWlnaHQiOjY1LCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImNvbG9yIjoiIzAwMDAwMCIsImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiIiwiZm9udFNpemUiOjI4LCJtYXhJdGVtcyI6NSwidGVtcGxhdGUiOiIiLCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwidGV4dEFsaWduIjoibGVmdCIsImZvbnRGYW1pbHkiOiJzYW5zLXNlcmlmIiwiZm9udFdlaWdodCI6ImJvbGQiLCJzY3JpcHRDb2RlIjoiLy8g0JIg0LHQvtC70YzRiNC40L3RgdGC0LLQtSDRgdGA0LXQtCwg0LPQtNC1INGA0LDQsdC+0YLQsNC10YIgXCIkXCIsINC00LDQvdC90YvQtSDQtNC+0YHRgtGD0L/QvdGLINC/0YDQvtGB0YLQviDQutCw0Log0L7QsdGK0LXQutGCLlxuLy8g0J/QvtC/0YDQvtCx0YPQtdC8INC/0YDQuNGB0LLQvtC40YLRjCBcImRhdGFcIiDQutC+0YDQtdC90Ywg0LLQsNGI0LXQs9C+IEpTT04uXG5jb25zdCBkYXRhID0gdHlwZW9mICQgIT09ICd1bmRlZmluZWQnID8gJCA6ICh0eXBlb2YgbXNnICE9PSAndW5kZWZpbmVkJyA/IG1zZy5wYXlsb2FkIDoge30pO1xuXG4vLyDQn9GA0L7QstC10YDQutCwOiDQtdGB0LvQuCDQtNCw0L3QvdGL0YUg0L3QtdGCLCDQstGL0LLQvtC00LjQvCDQvtGI0LjQsdC60YNcbmlmICghZGF0YS5mYWN0KSB7XG4gICAgcmV0dXJuIFwi0JTQsNC90L3Ri9C1INC10YnQtSDQvdC1INC30LDQs9GA0YPQttC10L3Riy4uLlwiO1xufVxuXG4vLyAtLS0g0JTQkNCb0JXQlSDQktCV0KHQrCDQmtCe0JQg0JDQlNCQ0J/QotCQ0KbQmNCYIC0tLVxuY29uc3QgZmFjdCA9IGRhdGEuZmFjdDtcbmNvbnN0IGN1cnJlbnRDb25kID0gZmFjdC5jb25kaXRpb247XG5cbmNvbnN0IGlzRGF5dGltZSA9IGZhY3QuZGF5dGltZSA9PT0gJ2QnO1xuY29uc3Qgbm93VHMgPSBkYXRhLm5vdztcblxuY29uc3QgdHJhbnNsYXRpb25zID0ge1xuICAgICdjbGVhcic6ICfQr9GB0L3QvicsICdwYXJ0bHktY2xvdWR5JzogJ9Cc0LDQu9C+0L7QsdC70LDRh9C90L4nLCAnY2xvdWR5JzogJ9Ce0LHQu9Cw0YfQvdC+JyxcbiAgICAnb3ZlcmNhc3QnOiAn0J/QsNGB0LzRg9GA0L3QvicsICdkcml6emxlJzogJ9Cc0L7RgNC+0YHRjCcsICdsaWdodC1yYWluJzogJ9Cd0LXQsdC+0LvRjNGI0L7QuSDQtNC+0LbQtNGMJyxcbiAgICAncmFpbic6ICfQlNC+0LbQtNGMJywgJ21vZGVyYXRlLXJhaW4nOiAn0KPQvNC10YDQtdC90L3Ri9C5INC00L7QttC00YwnLCAnaGVhdnktcmFpbic6ICfQodC40LvRjNC90YvQuSDQtNC+0LbQtNGMJyxcbiAgICAnc2hvd2Vycyc6ICfQm9C40LLQtdC90YwnLCAnd2V0LXNub3cnOiAn0KHQvdC10LMg0YEg0LTQvtC20LTQtdC8JywgJ2xpZ2h0LXNub3cnOiAn0J3QtdCx0L7Qu9GM0YjQvtC5INGB0L3QtdCzJyxcbiAgICAnc25vdyc6ICfQodC90LXQsycsICdzbm93LXNob3dlcnMnOiAn0KHQvdC10LPQvtC/0LDQtCcsICdoYWlsJzogJ9CT0YDQsNC0JywgJ3RodW5kZXJzdG9ybSc6ICfQk9GA0L7Qt9CwJyxcbiAgICAndGh1bmRlcnN0b3JtLXdpdGgtcmFpbic6ICfQlNC+0LbQtNGMINGBINCz0YDQvtC30L7QuSdcbn07XG5cbmNvbnN0IHdldENvbmRpdGlvbnMgPSBbXG4gICAgJ2RyaXp6bGUnLCAnbGlnaHQtcmFpbicsICdyYWluJywgJ21vZGVyYXRlLXJhaW4nLCAnaGVhdnktcmFpbicsXG4gICAgJ3Nob3dlcnMnLCAnd2V0LXNub3cnLCAnbGlnaHQtc25vdycsICdzbm93JywgJ3Nub3ctc2hvd2VycycsIFxuICAgICdoYWlsJywgJ3RodW5kZXJzdG9ybScsICd0aHVuZGVyc3Rvcm0td2l0aC1yYWluJ1xuXTtcblxubGV0IHN0YXR1c1RleHQgPSAnJztcbmxldCBmb3VuZCA9IGZhbHNlO1xuXG4vLyDQodC+0LHQuNGA0LDQtdC8INGH0LDRgdGLINC40Lcg0LLRgdC10YUg0LTQvdC10Lkg0L/RgNC+0LPQvdC+0LfQsFxubGV0IGZ1dHVyZUhvdXJzID0gW107XG5pZiAoZGF0YS5mb3JlY2FzdHMpIHtcbiAgICBkYXRhLmZvcmVjYXN0cy5mb3JFYWNoKGRheSA9PiB7XG4gICAgICAgIGlmIChkYXkuaG91cnMpIHtcbiAgICAgICAgICAgIGRheS5ob3Vycy5mb3JFYWNoKGhvdXIgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChob3VyLmhvdXJfdHMgPj0gbm93VHMpIGZ1dHVyZUhvdXJzLnB1c2goaG91cik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5jb25zdCB0b2RheVN0YXJ0ID0gbmV3IERhdGUobmV3IERhdGUobm93VHMgKiAxMDAwKS5zZXRIb3VycygwLCAwLCAwLCAwKSk7XG5cbmZvciAobGV0IGhvdXIgb2YgZnV0dXJlSG91cnMpIHtcbiAgICBpZiAoZm91bmQpIGJyZWFrO1xuICAgIFxuICAgIGNvbnN0IGlzSG91cldldCA9IHdldENvbmRpdGlvbnMuaW5jbHVkZXMoaG91ci5jb25kaXRpb24pO1xuICAgIGNvbnN0IGhvdXJEYXRlID0gbmV3IERhdGUoaG91ci5ob3VyX3RzICogMTAwMCk7XG4gICAgY29uc3QgaG91clN0YXJ0ID0gbmV3IERhdGUobmV3IERhdGUoaG91ckRhdGUpLnNldEhvdXJzKDAsIDAsIDAsIDApKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGgucm91bmQoKGhvdXJTdGFydCAtIHRvZGF5U3RhcnQpIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcbiAgICBcbiAgICBsZXQgZGF5U3RyID0gZGlmZkRheXMgPT09IDEgPyAn0LfQsNCy0YLRgNCwICcgOiAoZGlmZkRheXMgPT09IDIgPyAn0L/QvtGB0LvQtdC30LDQstGC0YDQsCAnIDogJycpO1xuICAgIGNvbnN0IHRpbWVTdHIgPSBob3VyRGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcoJ3J1LVJVJywgeyBob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xuXG4gICAgaWYgKHdldENvbmRpdGlvbnMuaW5jbHVkZXMoY3VycmVudENvbmQpKSB7XG4gICAgICAgIC8vINCV0YHQu9C4INGB0LXQudGH0LDRgSDQtNC+0LbQtNGMIOKAlCDQuNGJ0LXQvCDQutC+0LPQtNCwINC60L7QvdGH0LjRgtGB0Y9cbiAgICAgICAgaWYgKCFpc0hvdXJXZXQpIHtcbiAgICAgICAgICAgIHN0YXR1c1RleHQgPSBg0LfQsNC60L7QvdGH0LjRgtGB0Y8gJHtkYXlTdHJ90LIgJHt0aW1lU3RyfWA7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyDQldGB0LvQuCDRgdC10LnRh9Cw0YEg0YHRg9GF0L4g4oCUINC40YnQtdC8INC60L7Qs9C00LAg0L3QsNGH0L3QtdGC0YHRj1xuICAgICAgICBpZiAoaXNIb3VyV2V0KSB7XG4gICAgICAgICAgICBjb25zdCBob3Vyc0RlbHRhID0gKGhvdXIuaG91cl90cyAtIG5vd1RzKSAvIDM2MDA7XG4gICAgICAgICAgICBjb25zdCBwcmVjaXBOYW1lID0gdHJhbnNsYXRpb25zW2hvdXIuY29uZGl0aW9uXSB8fCAn0J7RgdCw0LTQutC4JztcbiAgICAgICAgICAgIGlmIChob3Vyc0RlbHRhIDwgMSkgc3RhdHVzVGV4dCA9IGAke3ByZWNpcE5hbWV9INC90LDRh9C90LXRgtGB0Y8g0YHQutC+0YDQvmA7XG4gICAgICAgICAgICBlbHNlIGlmIChob3Vyc0RlbHRhIDwgNCkgc3RhdHVzVGV4dCA9IGAke3ByZWNpcE5hbWV9INGH0LXRgNC10LcgJHtNYXRoLnJvdW5kKGhvdXJzRGVsdGEpfSDRhy5gO1xuICAgICAgICAgICAgZWxzZSBzdGF0dXNUZXh0ID0gYCR7cHJlY2lwTmFtZX0gJHtkYXlTdHJ90LIgJHt0aW1lU3RyfWA7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdC8INC40YLQvtCz0L7QstGD0Y4g0YHRgtGA0L7QutGDXG5yZXR1cm4gYCR7c3RhdHVzVGV4dH1gOyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwiZGlzcGxheVR5cGUiOiJzY3JpcHQiLCJ2ZXJ0aWNhbEFsaWduIjoibWlkZGxlIiwiY3VzdG9tV2lkZ2V0SWQiOjk1LCJ2YWx1ZUZpZWxkVHlwZSI6InRleHQifSwiekluZGV4IjoxM30seyJ0ZW1wbGF0ZUlkIjoxMDA5NiwieCI6NDUzLCJ5Ijo4NCwid2lkdGgiOjY1LCJoZWlnaHQiOjMzLCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImNvbG9yIjoiIzAwMDAwMCIsImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiwrAiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJsZWZ0IiwiZm9udEZhbWlseSI6InNhbnMtc2VyaWYiLCJmb250V2VpZ2h0Ijoibm9ybWFsIiwic2NyaXB0Q29kZSI6InJldHVybiAgJC5mb3JlY2FzdHNbMV0ucGFydHMuZGF5X3Nob3J0LnRlbXBfd2F0ZXI7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6OTYsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjE2fSx7InRlbXBsYXRlSWQiOjEwMDg5LCJ4IjozMTksInkiOjg0LCJ3aWR0aCI6MTAwLCJoZWlnaHQiOjMzLCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImNvbG9yIjoiIzAwMDAwMCIsImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiwrAiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJsZWZ0IiwiZm9udEZhbWlseSI6InNhbnMtc2VyaWYiLCJmb250V2VpZ2h0Ijoibm9ybWFsIiwic2NyaXB0Q29kZSI6InJldHVybiAkLmZvcmVjYXN0c1swXS5wYXJ0cy5kYXkudGVtcF9taW47IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6ODksInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjE3fSx7InRlbXBsYXRlSWQiOjEwMDg4LCJ4Ijo2NzYsInkiOjg0LCJ3aWR0aCI6OTUsImhlaWdodCI6MzMsInJvdGF0aW9uIjowLCJjb25maWciOnsiY29sb3IiOiIjMDAwMDAwIiwiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJsZWZ0IiwiZm9udEZhbWlseSI6InNhbnMtc2VyaWYiLCJmb250V2VpZ2h0Ijoibm9ybWFsIiwic2NyaXB0Q29kZSI6InJldHVybiAkLmZvcmVjYXN0c1swXS5zdW5zZXQ7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6ODgsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjE4fSx7InRlbXBsYXRlSWQiOjEwMDkwLCJ4IjoyMjEsInkiOjg0LCJ3aWR0aCI6MTAyLCJoZWlnaHQiOjMzLCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImNvbG9yIjoiIzAwMDAwMCIsImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiwrAiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJsZWZ0IiwiZm9udEZhbWlseSI6InNhbnMtc2VyaWYiLCJmb250V2VpZ2h0Ijoibm9ybWFsIiwic2NyaXB0Q29kZSI6InJldHVybiAkLmZvcmVjYXN0c1swXS5wYXJ0cy5kYXkudGVtcF9tYXg7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6OTAsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjE4fSx7InRlbXBsYXRlSWQiOjEwMDg3LCJ4Ijo1NTEsInkiOjg0LCJ3aWR0aCI6OTAsImhlaWdodCI6MzMsInJvdGF0aW9uIjowLCJjb25maWciOnsiY29sb3IiOiIjMDAwMDAwIiwiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIiLCJmb250U2l6ZSI6MjgsIm1heEl0ZW1zIjo1LCJ0ZW1wbGF0ZSI6IiIsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJ0ZXh0QWxpZ24iOiJjZW50ZXIiLCJmb250RmFtaWx5Ijoic2Fucy1zZXJpZiIsImZvbnRXZWlnaHQiOiJub3JtYWwiLCJzY3JpcHRDb2RlIjoicmV0dXJuICQuZm9yZWNhc3RzWzBdLnN1bnJpc2U7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInZlcnRpY2FsQWxpZ24iOiJtaWRkbGUiLCJjdXN0b21XaWRnZXRJZCI6ODcsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJ6SW5kZXgiOjE5fSx7InRlbXBsYXRlSWQiOjgsIngiOjQyMCwieSI6ODQsIndpZHRoIjozMywiaGVpZ2h0IjozMywicm90YXRpb24iOjAsImNvbmZpZyI6eyJmaXQiOiJjb250YWluIiwidXJsIjoiL3VwbG9hZHMvd2lkZ2V0cy93aWRnZXRfMTc3NTIwMzU0NjM2Nl9kOGNlMDZmYTRlZGVkYmY0LnBuZyIsImJhY2tncm91bmRDb2xvciI6IiNGRkZGRkYifSwiekluZGV4IjoyMX0seyJ0ZW1wbGF0ZUlkIjo4LCJ4Ijo1MTcsInkiOjg0LCJ3aWR0aCI6MzMsImhlaWdodCI6MzMsInJvdGF0aW9uIjowLCJjb25maWciOnsiZml0IjoiY29udGFpbiIsInVybCI6Ii91cGxvYWRzL3dpZGdldHMvd2lkZ2V0XzE3NzUyMDYyNTk0OTRfOWZkZDE4NmFhZDU0NWFhZi5wbmciLCJiYWNrZ3JvdW5kQ29sb3IiOiIjRkZGRkZGIn0sInpJbmRleCI6MjJ9LHsidGVtcGxhdGVJZCI6OCwieCI6NjQyLCJ5Ijo4NCwid2lkdGgiOjMzLCJoZWlnaHQiOjMzLCJyb3RhdGlvbiI6MCwiY29uZmlnIjp7ImZpdCI6ImNvbnRhaW4iLCJ1cmwiOiIvdXBsb2Fkcy93aWRnZXRzL3dpZGdldF8xNzc1MjA2MjgyMzM2X2MzNDE4NTFkNGEwOWJlZDQucG5nIiwiYmFja2dyb3VuZENvbG9yIjoiI0ZGRkZGRiJ9LCJ6SW5kZXgiOjIzfV0sImN1c3RvbVdpZGdldHMiOlt7ImlkIjo5NiwibmFtZSI6IllhbmRleCDRgtC10LzQv9C10YDQsNGC0YPRgNCwINCy0L7QtNGLIHwgd2F0ZXIgdGVtcGVyYXR1cmUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiLCsCIsIm1heEl0ZW1zIjo1LCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwic2NyaXB0Q29kZSI6InJldHVybiAgJC5mb3JlY2FzdHNbMV0ucGFydHMuZGF5X3Nob3J0LnRlbXBfd2F0ZXI7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkVHlwZSI6InRleHQifSwibWluV2lkdGgiOjE1MCwibWluSGVpZ2h0Ijo4MCwiZGF0YVNvdXJjZSI6eyJuYW1lIjoiQVBJINGP0L3QtNC10LrRgSDQv9C+0LPQvtC00YsgKGJvb3N0eSkiLCJkZXNjcmlwdGlvbiI6IiIsInR5cGUiOiJqc29uIiwidXJsIjoiaHR0cHM6Ly9hcGkud2VhdGhlci55YW5kZXgucnUvdjIvZm9yZWNhc3Q/bGF0PTU1LjQ1MDImbG9uPTM3LjM3MDMmbGFuZz1ydV9SVSZsaW1pdD0yIiwibWV0aG9kIjoiR0VUIiwiaGVhZGVycyI6eyJYLVlhbmRleC1XZWF0aGVyLUtleSI6ImRlbW9feWFuZGV4X3dlYXRoZXJfYXBpX2tleSJ9LCJyZWZyZXNoSW50ZXJ2YWwiOjMwMDAsImpzb25QYXRoIjpudWxsfX0seyJpZCI6OTUsIm5hbWUiOiJZYW5kZXgg0LrQvtCz0LTQsCDQsdGD0LTQtdGCINC00L7QttC00Yw/IHwgIFdoZW4gd2lsbCBpdCByYWluPyIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheVR5cGUiOiJzY3JpcHQiLCJ0ZW1wbGF0ZSI6IiIsImNvbmZpZyI6eyJmaWVsZCI6IiIsInByZWZpeCI6IiIsInN1ZmZpeCI6IiIsIm1heEl0ZW1zIjo1LCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwic2NyaXB0Q29kZSI6Ii8vINCf0L7Qv9GA0L7QsdGD0LXQvCDQv9GA0LjRgdCy0L7QuNGC0YwgXCJkYXRhXCIg0LrQvtGA0LXQvdGMINCy0LDRiNC10LPQviBKU09OLlxuY29uc3QgZGF0YSA9IHR5cGVvZiAkICE9PSAndW5kZWZpbmVkJyA/ICQgOiAodHlwZW9mIG1zZyAhPT0gJ3VuZGVmaW5lZCcgPyBtc2cucGF5bG9hZCA6IHt9KTtcblxuLy8g0J7Qv9GA0LXQtNC10LvQtdC90LjQtSDRj9C30YvQutCwOiDQuNGJ0LXRgiDQsiBkYXRhLmxhbmcsINC30LDRgtC10Lwg0LIgbXNnLmxhbmcuINCV0YHQu9C4INC90LUg0L3QsNC50LTQtdC90L4g4oCUINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOICdydSdcbmNvbnN0IGxhbmcgPSBkYXRhLmxhbmcgfHwgKHR5cGVvZiBtc2cgIT09ICd1bmRlZmluZWQnICYmIG1zZy5sYW5nKSB8fCAnZW4nO1xuXG4vLyDQntCx0YrQtdC60YIg0YHQviDQstGB0LXQvNC4INGP0LfRi9C60L7QstGL0LzQuCDRgNC10YHRg9GA0YHQsNC80LhcbmNvbnN0IGxvY2FsZXMgPSB7XG4gICAgcnU6IHtcbiAgICAgICAgbm9EYXRhOiBcItCU0LDQvdC90YvQtSDQtdGJ0LUg0L3QtSDQt9Cw0LPRgNGD0LbQtdC90YsuLi5cIixcbiAgICAgICAgdG9tb3Jyb3c6IFwi0LfQsNCy0YLRgNCwIFwiLFxuICAgICAgICBkYXlBZnRlclRvbW9ycm93OiBcItC/0L7RgdC70LXQt9Cw0LLRgtGA0LAgXCIsXG4gICAgICAgIGhvdXJTeW1ib2w6IFwiINGHLlwiLFxuICAgICAgICBwcmVjaXBEZWZhdWx0OiBcItCe0YHQsNC00LrQuFwiLFxuICAgICAgICB3aWxsRW5kOiAoZGF5U3RyLCB0aW1lU3RyKSA9PiBg0LfQsNC60L7QvdGH0LjRgtGB0Y8gJHtkYXlTdHJ90LIgJHt0aW1lU3RyfSDRhy5gLFxuICAgICAgICB3aWxsU3RhcnRTb29uOiAocHJlY2lwTmFtZSwgdGltZVN0ciwgZW5kVGltZVN0cikgPT4gYCR7cHJlY2lwTmFtZX0g0L3QsNGH0L3QtdGC0YHRjyDQsiDRgtC10YfQtdC90LjQtSDRh9Cw0YHQsCAke3RpbWVTdHJ94oaSJHtlbmRUaW1lU3RyfWAsXG4gICAgICAgIHdpbGxTdGFydExhdGVyOiAoZGF5U3RyLCBwcmVjaXBOYW1lLCB0aW1lU3RyLCBlbmRUaW1lU3RyKSA9PiBgJHtkYXlTdHJ9JHtwcmVjaXBOYW1lfSAgJHt0aW1lU3RyfeKGkiR7ZW5kVGltZVN0cn1gLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICBcImNsZWFyXCI6IFwi0Y/RgdC90LDRjyDQv9C+0LPQvtC00LBcIixcbiAgICAgICAgICAgIFwicGFydGx5X2Nsb3VkeVwiOiBcItC/0LXRgNC10LzQtdC90L3QsNGPINC+0LHQu9Cw0YfQvdC+0YHRgtGMXCIsXG4gICAgICAgICAgICBcImNsb3VkeVwiOiBcItC+0LHQu9Cw0YfQvdC+XCIsXG4gICAgICAgICAgICBcIm92ZXJjYXN0XCI6IFwi0L/QsNGB0LzRg9GA0L3QvlwiLFxuICAgICAgICAgICAgXCJsaWdodC1yYWluXCI6IFwi0YHQu9Cw0LHRi9C5INC00L7QttC00YxcIixcbiAgICAgICAgICAgIFwicmFpblwiOiBcItC00L7QttC00YxcIixcbiAgICAgICAgICAgIFwiaGVhdnktcmFpblwiOiBcItGB0LjQu9GM0L3Ri9C5INC00L7QttC00YxcIixcbiAgICAgICAgICAgIFwic2hvd2Vyc1wiOiBcItC70LjQstC10L3RjFwiLFxuICAgICAgICAgICAgXCJzbGVldFwiOiBcItC80L7QutGA0YvQuSDRgdC90LXQs1wiLFxuICAgICAgICAgICAgXCJsaWdodC1zbm93XCI6IFwi0YHQu9Cw0LHRi9C5INGB0L3QtdCzXCIsXG4gICAgICAgICAgICBcInNub3dcIjogXCLRgdC90LXQs1wiLFxuICAgICAgICAgICAgXCJzbm93ZmFsbFwiOiBcItGB0L3QtdCz0L7Qv9Cw0LRcIixcbiAgICAgICAgICAgIFwiaGFpbFwiOiBcItCz0YDQsNC0XCIsXG4gICAgICAgICAgICBcInRodW5kZXJzdG9ybVwiOiBcItCz0YDQvtC30LBcIixcbiAgICAgICAgICAgIFwidGh1bmRlcnN0b3JtLXdpdGgtcmFpblwiOiBcItCz0YDQvtC30LAg0YEg0LTQvtC20LTQtdC8XCIsXG4gICAgICAgICAgICBcInRodW5kZXJzdG9ybS13aXRoaGFpbFwiOiBcItCz0YDQvtC30LAg0YEg0LPRgNCw0LTQvtC8XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgICAgbm9EYXRhOiBcIkRhdGEgbm90IGxvYWRlZCB5ZXQuLi5cIixcbiAgICAgICAgdG9tb3Jyb3c6IFwidG9tb3Jyb3cgXCIsXG4gICAgICAgIGRheUFmdGVyVG9tb3Jyb3c6IFwidGhlIGRheSBhZnRlciB0b21vcnJvdyBcIixcbiAgICAgICAgaG91clN5bWJvbDogXCIgaC5cIixcbiAgICAgICAgcHJlY2lwRGVmYXVsdDogXCJQcmVjaXBpdGF0aW9uXCIsXG4gICAgICAgIHdpbGxFbmQ6IChkYXlTdHIsIHRpbWVTdHIpID0+IGB3aWxsIGVuZCAke2RheVN0cn1hdCAke3RpbWVTdHJ9IGguYCxcbiAgICAgICAgd2lsbFN0YXJ0U29vbjogKHByZWNpcE5hbWUsIHRpbWVTdHIsIGVuZFRpbWVTdHIpID0+IGAke3ByZWNpcE5hbWV9IHdpbGwgc3RhcnQgd2l0aGluIGFuIGhvdXIgJHt0aW1lU3RyfeKGkiR7ZW5kVGltZVN0cn1gLFxuICAgICAgICB3aWxsU3RhcnRMYXRlcjogKGRheVN0ciwgcHJlY2lwTmFtZSwgdGltZVN0ciwgZW5kVGltZVN0cikgPT4gYCR7cHJlY2lwTmFtZX0gJHtkYXlTdHJ9JHt0aW1lU3RyfeKGkiR7ZW5kVGltZVN0cn1gLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICBcImNsZWFyXCI6IFwiY2xlYXJcIixcbiAgICAgICAgICAgIFwicGFydGx5X2Nsb3VkeVwiOiBcInBhcnRseSBjbG91ZHlcIixcbiAgICAgICAgICAgIFwiY2xvdWR5XCI6IFwiY2xvdWR5XCIsXG4gICAgICAgICAgICBcIm92ZXJjYXN0XCI6IFwib3ZlcmNhc3RcIixcbiAgICAgICAgICAgIFwibGlnaHQtcmFpblwiOiBcImxpZ2h0IHJhaW5cIixcbiAgICAgICAgICAgIFwicmFpblwiOiBcInJhaW5cIixcbiAgICAgICAgICAgIFwiaGVhdnktcmFpblwiOiBcImhlYXZ5IHJhaW5cIixcbiAgICAgICAgICAgIFwic2hvd2Vyc1wiOiBcInNob3dlcnNcIixcbiAgICAgICAgICAgIFwic2xlZXRcIjogXCJzbGVldFwiLFxuICAgICAgICAgICAgXCJsaWdodC1zbm93XCI6IFwibGlnaHQgc25vd1wiLFxuICAgICAgICAgICAgXCJzbm93XCI6IFwic25vd1wiLFxuICAgICAgICAgICAgXCJzbm93ZmFsbFwiOiBcInNub3dmYWxsXCIsXG4gICAgICAgICAgICBcImhhaWxcIjogXCJoYWlsXCIsXG4gICAgICAgICAgICBcInRodW5kZXJzdG9ybVwiOiBcInRodW5kZXJzdG9ybVwiLFxuICAgICAgICAgICAgXCJ0aHVuZGVyc3Rvcm0td2l0aC1yYWluXCI6IFwidGh1bmRlcnN0b3JtIHdpdGggcmFpblwiLFxuICAgICAgICAgICAgXCJ0aHVuZGVyc3Rvcm0td2l0aGhhaWxcIjogXCJ0aHVuZGVyc3Rvcm0gd2l0aCBoYWlsXCJcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8vINCS0YvQsdC40YDQsNC10Lwg0L3Rg9C20L3Rg9GOINC70L7QutCw0LvRjCAo0LXRgdC70Lgg0L/QtdGA0LXQtNCw0L0g0L3QtdC40LfQstC10YHRgtC90YvQuSDRj9C30YvQuiwg0L7RgtC60LDRgtGL0LLQsNC10LzRgdGPINC90LAgJ3J1JylcbmNvbnN0IGN1cnJlbnRMb2NhbGUgPSBsb2NhbGVzW2xhbmddIHx8IGxvY2FsZXMucnU7XG5cbi8vINCf0YDQvtCy0LXRgNC60LA6INC10YHQu9C4INC00LDQvdC90YvRhSDQvdC10YIsINCy0YvQstC+0LTQuNC8INC+0YjQuNCx0LrRgyDQvdCwINGC0LXQutGD0YnQtdC8INGP0LfRi9C60LVcbmlmICghZGF0YS5mYWN0KSB7XG4gICAgcmV0dXJuIGN1cnJlbnRMb2NhbGUubm9EYXRhO1xufVxuXG5jb25zdCBmYWN0ID0gZGF0YS5mYWN0O1xuY29uc3QgY3VycmVudENvbmQgPSBmYWN0LmNvbmRpdGlvbjtcbmNvbnN0IGlzRGF5dGltZSA9IGZhY3QuZGF5dGltZSA9PT0gJ2QnO1xuY29uc3Qgbm93VHMgPSBkYXRhLm5vdztcblxuY29uc3Qgd2V0Q29uZGl0aW9ucyA9IFtcbiAgICAnbGlnaHQtcmFpbicsICdyYWluJywgJ2hlYXZ5LXJhaW4nLCAnc2hvd2VycycsICdzbGVldCcsXG4gICAgJ2xpZ2h0LXNub3cnLCAnc25vdycsICdzbm93ZmFsbCcsICdoYWlsJywgJ3RodW5kZXJzdG9ybScsIFxuICAgICd0aHVuZGVyc3Rvcm0td2l0aC1yYWluJywgJ3RodW5kZXJzdG9ybS13aXRoLWhhaWwnXG5dO1xuXG5sZXQgc3RhdHVzVGV4dCA9ICcnO1xubGV0IGZvdW5kID0gZmFsc2U7XG5cbi8vINCh0L7QsdC40YDQsNC10Lwg0YfQsNGB0Ysg0LjQtyDQstGB0LXRhSDQtNC90LXQuSDQv9GA0L7Qs9C90L7Qt9CwXG5sZXQgZnV0dXJlSG91cnMgPSBbXTtcbmlmIChkYXRhLmZvcmVjYXN0cykge1xuICAgIGRhdGEuZm9yZWNhc3RzLmZvckVhY2goZGF5ID0+IHtcbiAgICAgICAgaWYgKGRheS5ob3Vycykge1xuICAgICAgICAgICAgZGF5LmhvdXJzLmZvckVhY2goaG91ciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGhvdXIuaG91cl90cyA+PSBub3dUcykgZnV0dXJlSG91cnMucHVzaChob3VyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vINCf0L7Qu9GD0YfQsNC10Lwg0YHQvNC10YnQtdC90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LAg0LjQtyDQtNCw0L3QvdGL0YUg0LIg0YHQtdC60YPQvdC00LDRhSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gMTA4MDAgPSArMyDRh9Cw0YHQsClcbmNvbnN0IHR6T2Zmc2V0ID0gKGRhdGEuaW5mbyAmJiBkYXRhLmluZm8udHppbmZvICYmIGRhdGEuaW5mby50emluZm8ub2Zmc2V0KSA/IGRhdGEuaW5mby50emluZm8ub2Zmc2V0IDogMTA4MDA7XG5cbi8vINCY0YHQutGD0YHRgdGC0LLQtdC90L3QviDRgdC00LLQuNCz0LDQtdC8INGC0LXQutGD0YnQtdC1INCy0YDQtdC80Y8g0L3QsCDQvdGD0LbQvdGL0Lkg0L/QvtGP0YEg0LggXCLQvtCx0YDQtdC30LDQtdC8XCIg0LTQviDQvdCw0YfQsNC70LAg0LTQvdGPINCyIFVUQ1xuY29uc3QgbG9jYWxOb3dEYXRlID0gbmV3IERhdGUoKG5vd1RzICsgdHpPZmZzZXQpICogMTAwMCk7XG5jb25zdCB0b2RheVN0YXJ0ID0gbmV3IERhdGUobG9jYWxOb3dEYXRlLmdldFRpbWUoKSkuc2V0VVRDSG91cnMoMCwgMCwgMCwgMCk7XG5cbi8vINCY0YHQv9C+0LvRjNC30YPQtdC8INC+0LHRi9GH0L3Ri9C5INGG0LjQutC7IGZvciwg0YfRgtC+0LHRiyDQuNC80LXRgtGMINC00L7RgdGC0YPQvyDQuiDQuNC90LTQtdC60YHRgyDRgtC10LrRg9GJ0LXQs9C+INGH0LDRgdCwIChpKVxuZm9yIChsZXQgaSA9IDA7IGkgPCBmdXR1cmVIb3Vycy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChmb3VuZCkgYnJlYWs7XG4gICAgXG4gICAgY29uc3QgaG91ciA9IGZ1dHVyZUhvdXJzW2ldO1xuICAgIGNvbnN0IGlzSG91cldldCA9IHdldENvbmRpdGlvbnMuaW5jbHVkZXMoaG91ci5jb25kaXRpb24pO1xuICAgIFxuICAgIC8vINCh0LTQstC40LPQsNC10Lwg0LLRgNC10LzRjyDRh9Cw0YHQsCDQuNC3INC/0YDQvtCz0L3QvtC30LAg0L3QsCDQvdGD0LbQvdGL0Lkg0YfQsNGB0L7QstC+0Lkg0L/QvtGP0YFcbiAgICBjb25zdCBsb2NhbEhvdXJEYXRlID0gbmV3IERhdGUoKGhvdXIuaG91cl90cyArIHR6T2Zmc2V0KSAqIDEwMDApO1xuICAgIGNvbnN0IGhvdXJTdGFydCA9IG5ldyBEYXRlKGxvY2FsSG91ckRhdGUuZ2V0VGltZSgpKS5zZXRVVENIb3VycygwLCAwLCAwLCAwKTtcbiAgICBcbiAgICAvLyDQodGH0LjRgtCw0LXQvCDRgNCw0LfQvdC40YbRgyDQsiDQtNC90Y/RhSwg0L7Qv9C40YDQsNGP0YHRjCDQvdCwINC40YHQutGD0YHRgdGC0LLQtdC90L3QviDRgdC+0LfQtNCw0L3QvdGL0LUgXCLQv9C+0LvQvdC+0YfQuFwiXG4gICAgY29uc3QgZGlmZkRheXMgPSBNYXRoLnJvdW5kKChob3VyU3RhcnQgLSB0b2RheVN0YXJ0KSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG4gICAgXG4gICAgbGV0IGRheVN0ciA9IGRpZmZEYXlzID09PSAxID8gY3VycmVudExvY2FsZS50b21vcnJvdyA6IChkaWZmRGF5cyA9PT0gMiA/IGN1cnJlbnRMb2NhbGUuZGF5QWZ0ZXJUb21vcnJvdyA6ICcnKTtcbiAgICBcbiAgICAvLyDQmNGB0L/QvtC70YzQt9GD0LXQvCBnZXRVVENIb3VycygpLCDRgtCw0Log0LrQsNC6INC80Ysg0YPQttC1INC/0YDQuNCx0LDQstC40LvQuCDRh9Cw0YHQvtCy0L7QuSDQv9C+0Y/RgVxuICAgIGNvbnN0IHRpbWVTdHIgPSBTdHJpbmcobG9jYWxIb3VyRGF0ZS5nZXRVVENIb3VycygpKTtcblxuICAgIGlmICh3ZXRDb25kaXRpb25zLmluY2x1ZGVzKGN1cnJlbnRDb25kKSkge1xuICAgICAgICAvLyDQldGB0LvQuCDRgdC10LnRh9Cw0YEg0LTQvtC20LTRjCDigJQg0LjRidC10Lwg0LrQvtCz0LTQsCDQutC+0L3Rh9C40YLRgdGPXG4gICAgICAgIGlmICghaXNIb3VyV2V0KSB7XG4gICAgICAgICAgICBzdGF0dXNUZXh0ID0gY3VycmVudExvY2FsZS53aWxsRW5kKGRheVN0ciwgdGltZVN0cik7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyDQldGB0LvQuCDRgdC10LnRh9Cw0YEg0YHRg9GF0L4g4oCUINC40YnQtdC8INC60L7Qs9C00LAg0L3QsNGH0L3QtdGC0YHRj1xuICAgICAgICBpZiAoaXNIb3VyV2V0KSB7XG4gICAgICAgICAgICBjb25zdCBob3Vyc0RlbHRhID0gKGhvdXIuaG91cl90cyAtIG5vd1RzKSAvIDM2MDA7XG4gICAgICAgICAgICBjb25zdCBwcmVjaXBOYW1lID0gY3VycmVudExvY2FsZS5jb25kaXRpb25zW2hvdXIuY29uZGl0aW9uXSB8fCBjdXJyZW50TG9jYWxlLnByZWNpcERlZmF1bHQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vINCY0YnQtdC8INGH0LDRgSDQvtC60L7QvdGH0LDQvdC40Y8g0L7RgdCw0LTQutC+0LJcbiAgICAgICAgICAgIGxldCBlbmRUaW1lU3RyID0gJy4uLic7IFxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgZnV0dXJlSG91cnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXdldENvbmRpdGlvbnMuaW5jbHVkZXMoZnV0dXJlSG91cnNbal0uY29uZGl0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRMb2NhbEhvdXJEYXRlID0gbmV3IERhdGUoKGZ1dHVyZUhvdXJzW2pdLmhvdXJfdHMgKyB0ek9mZnNldCkgKiAxMDAwKTtcbiAgICAgICAgICAgICAgICAgICAgZW5kVGltZVN0ciA9IFN0cmluZyhlbmRMb2NhbEhvdXJEYXRlLmdldFVUQ0hvdXJzKCkpICsgY3VycmVudExvY2FsZS5ob3VyU3ltYm9sO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChob3Vyc0RlbHRhIDwgMSkge1xuICAgICAgICAgICAgICAgIHN0YXR1c1RleHQgPSBjdXJyZW50TG9jYWxlLndpbGxTdGFydFNvb24ocHJlY2lwTmFtZSwgdGltZVN0ciwgZW5kVGltZVN0cik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0YXR1c1RleHQgPSBjdXJyZW50TG9jYWxlLndpbGxTdGFydExhdGVyKGRheVN0ciwgcHJlY2lwTmFtZSwgdGltZVN0ciwgZW5kVGltZVN0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmlmIChzdGF0dXNUZXh0KSB7XG4gICAgLy8g0J/QoNCV0J7QkdCg0JDQl9Ce0JLQkNCd0JjQlSDQn9CV0KDQktCe0Jkg0JHQo9Ca0JLQqyDQkiDQl9CQ0JPQm9CQ0JLQndCj0K5cbiAgICBzdGF0dXNUZXh0ID0gc3RhdHVzVGV4dC50cmltKCk7IC8vINCj0LHQuNGA0LDQtdC8INC70LjRiNC90LjQtSDQv9GA0L7QsdC10LvRi1xuICAgIHN0YXR1c1RleHQgPSBzdGF0dXNUZXh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RhdHVzVGV4dC5zbGljZSgxKTtcbn1cblxuLy8g0JLQvtC30LLRgNCw0YnQsNC10Lwg0LjRgtC+0LPQvtCy0YPRjiDRgdGC0YDQvtC60YNcbnJldHVybiBgJHtzdGF0dXNUZXh0fWA7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkVHlwZSI6InRleHQifSwibWluV2lkdGgiOjE1MCwibWluSGVpZ2h0Ijo4MCwiZGF0YVNvdXJjZSI6eyJuYW1lIjoiQVBJINGP0L3QtNC10LrRgSDQv9C+0LPQvtC00YsgKGJvb3N0eSkiLCJkZXNjcmlwdGlvbiI6IiIsInR5cGUiOiJqc29uIiwidXJsIjoiaHR0cHM6Ly9hcGkud2VhdGhlci55YW5kZXgucnUvdjIvZm9yZWNhc3Q/bGF0PTU1LjQ1MDImbG9uPTM3LjM3MDMmbGFuZz1ydV9SVSZsaW1pdD0yIiwibWV0aG9kIjoiR0VUIiwiaGVhZGVycyI6eyJYLVlhbmRleC1XZWF0aGVyLUtleSI6ImRlbW9feWFuZGV4X3dlYXRoZXJfYXBpX2tleSJ9LCJyZWZyZXNoSW50ZXJ2YWwiOjMwMDAsImpzb25QYXRoIjpudWxsfX0seyJpZCI6OTAsIm5hbWUiOiJZYW5kZXgg0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINGC0LXQvNC/0LXRgNCw0YLRg9GA0LAg0LTQvdGR0LwgKMKwQykgfCBNYXhpbXVtIGRheXRpbWUgdGVtcGVyYXR1cmUgKMKwQykiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiLihpEgIiwic3VmZml4IjoiwrAiLCJtYXhJdGVtcyI6NSwiZmllbGRUeXBlIjoidGV4dCIsIml0ZW1GaWVsZCI6IiIsInNjcmlwdENvZGUiOiJyZXR1cm4gJC5mb3JlY2FzdHNbMF0ucGFydHMuZGF5LnRlbXBfbWF4OyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwidmFsdWVGaWVsZFR5cGUiOiJ0ZXh0In0sIm1pbldpZHRoIjoxNTAsIm1pbkhlaWdodCI6ODAsImRhdGFTb3VyY2UiOnsibmFtZSI6IkFQSSDRj9C90LTQtdC60YEg0L/QvtCz0L7QtNGLIChib29zdHkpIiwiZGVzY3JpcHRpb24iOiIiLCJ0eXBlIjoianNvbiIsInVybCI6Imh0dHBzOi8vYXBpLndlYXRoZXIueWFuZGV4LnJ1L3YyL2ZvcmVjYXN0P2xhdD01NS40NTAyJmxvbj0zNy4zNzAzJmxhbmc9cnVfUlUmbGltaXQ9MiIsIm1ldGhvZCI6IkdFVCIsImhlYWRlcnMiOnsiWC1ZYW5kZXgtV2VhdGhlci1LZXkiOiJkZW1vX3lhbmRleF93ZWF0aGVyX2FwaV9rZXkifSwicmVmcmVzaEludGVydmFsIjozMDAwLCJqc29uUGF0aCI6bnVsbH19LHsiaWQiOjg5LCJuYW1lIjoiWWFuZGV4INCc0LjQvdC40LzQsNC70YzQvdCw0Y8g0YLQtdC80L/QtdGA0LDRgtGD0YDQsCDQvdC+0YfRjNGOICjCsEMpIHwgTWluaW11bSBuaWdodCB0ZW1wZXJhdHVyZSAowrBDKSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheVR5cGUiOiJzY3JpcHQiLCJ0ZW1wbGF0ZSI6IiIsImNvbmZpZyI6eyJmaWVsZCI6IiIsInByZWZpeCI6IuKGkyAiLCJzdWZmaXgiOiLCsCIsIm1heEl0ZW1zIjo1LCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwic2NyaXB0Q29kZSI6InJldHVybiAkLmZvcmVjYXN0c1swXS5wYXJ0cy5uaWdodC50ZW1wX21pbjsiLCJ0aXRsZUZpZWxkIjoiIiwidmFsdWVGaWVsZCI6IiIsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJtaW5XaWR0aCI6MTUwLCJtaW5IZWlnaHQiOjgwLCJkYXRhU291cmNlIjp7Im5hbWUiOiJBUEkg0Y/QvdC00LXQutGBINC/0L7Qs9C+0LTRiyAoYm9vc3R5KSIsImRlc2NyaXB0aW9uIjoiIiwidHlwZSI6Impzb24iLCJ1cmwiOiJodHRwczovL2FwaS53ZWF0aGVyLnlhbmRleC5ydS92Mi9mb3JlY2FzdD9sYXQ9NTUuNDUwMiZsb249MzcuMzcwMyZsYW5nPXJ1X1JVJmxpbWl0PTIiLCJtZXRob2QiOiJHRVQiLCJoZWFkZXJzIjp7IlgtWWFuZGV4LVdlYXRoZXItS2V5IjoiZGVtb195YW5kZXhfd2VhdGhlcl9hcGlfa2V5In0sInJlZnJlc2hJbnRlcnZhbCI6MzAwMCwianNvblBhdGgiOm51bGx9fSx7ImlkIjo4OCwibmFtZSI6IllhbmRleCDQktGA0LXQvNGPINC90LDRh9Cw0LvQsCDQt9Cw0LrQsNGC0LAg0KHQvtC70L3RhtCwIHwgU3Vuc2V0IHN0YXJ0IHRpbWUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIiLCJtYXhJdGVtcyI6NSwiZmllbGRUeXBlIjoidGV4dCIsIml0ZW1GaWVsZCI6IiIsInNjcmlwdENvZGUiOiJyZXR1cm4gJC5mb3JlY2FzdHNbMF0uc3Vuc2V0OyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwidmFsdWVGaWVsZFR5cGUiOiJ0ZXh0In0sIm1pbldpZHRoIjoxNTAsIm1pbkhlaWdodCI6ODAsImRhdGFTb3VyY2UiOnsibmFtZSI6IkFQSSDRj9C90LTQtdC60YEg0L/QvtCz0L7QtNGLIChib29zdHkpIiwiZGVzY3JpcHRpb24iOiIiLCJ0eXBlIjoianNvbiIsInVybCI6Imh0dHBzOi8vYXBpLndlYXRoZXIueWFuZGV4LnJ1L3YyL2ZvcmVjYXN0P2xhdD01NS40NTAyJmxvbj0zNy4zNzAzJmxhbmc9cnVfUlUmbGltaXQ9MiIsIm1ldGhvZCI6IkdFVCIsImhlYWRlcnMiOnsiWC1ZYW5kZXgtV2VhdGhlci1LZXkiOiJkZW1vX3lhbmRleF93ZWF0aGVyX2FwaV9rZXkifSwicmVmcmVzaEludGVydmFsIjozMDAwLCJqc29uUGF0aCI6bnVsbH19LHsiaWQiOjg3LCJuYW1lIjoiWWFuZGV4INCS0YDQtdC80Y8g0L7QutC+0L3Rh9Cw0L3QuNGPINCy0L7RgdGF0L7QtNCwINCh0L7Qu9C90YbQsCB8IFN1bnJpc2UgZW5kIHRpbWUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIiLCJtYXhJdGVtcyI6NSwiZmllbGRUeXBlIjoidGV4dCIsIml0ZW1GaWVsZCI6IiIsInNjcmlwdENvZGUiOiJyZXR1cm4gJC5mb3JlY2FzdHNbMF0uc3VucmlzZTsiLCJ0aXRsZUZpZWxkIjoiIiwidmFsdWVGaWVsZCI6IiIsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJtaW5XaWR0aCI6MTUwLCJtaW5IZWlnaHQiOjgwLCJkYXRhU291cmNlIjp7Im5hbWUiOiJBUEkg0Y/QvdC00LXQutGBINC/0L7Qs9C+0LTRiyAoYm9vc3R5KSIsImRlc2NyaXB0aW9uIjoiIiwidHlwZSI6Impzb24iLCJ1cmwiOiJodHRwczovL2FwaS53ZWF0aGVyLnlhbmRleC5ydS92Mi9mb3JlY2FzdD9sYXQ9NTUuNDUwMiZsb249MzcuMzcwMyZsYW5nPXJ1X1JVJmxpbWl0PTIiLCJtZXRob2QiOiJHRVQiLCJoZWFkZXJzIjp7IlgtWWFuZGV4LVdlYXRoZXItS2V5IjoiZGVtb195YW5kZXhfd2VhdGhlcl9hcGlfa2V5In0sInJlZnJlc2hJbnRlcnZhbCI6MzAwMCwianNvblBhdGgiOm51bGx9fSx7ImlkIjo4NiwibmFtZSI6IllhbmRleCDQstC10YLQtdGAICjQvdCw0L/RgNCw0LLQu9C10L3QuNC1LCDRgdC60L7RgNC+0YHRgtGM4oaSINGB0LrQvtGA0L7RgdGC0Ywg0L/QvtGA0YvQstC+0LIpIHwgd2luZCAoZGlyZWN0aW9uLCBzcGVlZCDihpIgZ3VzdCBzcGVlZCkiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiIg0LwvYyIsIm1heEl0ZW1zIjo1LCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwic2NyaXB0Q29kZSI6ImNvbnN0IHdpbmRfcyA9ICQuZmFjdC53aW5kX3NwZWVkO1xuY29uc3Qgd2luZF9nID0gJC5mYWN0LndpbmRfZ3VzdDtcbmNvbnN0IHdpbmRfZGlyID0gJC5mYWN0LndpbmRfZGlyO1xuXG4vLyDQn9C10YDQtdC80LXQvdC90LDRjyDQtNC70Y8g0LLRi9Cx0L7RgNCwINGP0LfRi9C60LA6ICdydScg0LTQu9GPINGA0YPRgdGB0LrQvtCz0L4sICdlbicg0LTQu9GPINCw0L3Qs9C70LjQudGB0LrQvtCz0L5cbmNvbnN0IGxhbmcgPSAnZW4nOyBcblxuY29uc3QgdHJhbnNsYXRpb25zID0ge1xuICAgIFwicnVcIjoge1xuICAgICAgICBcIm53XCI6IFwi0KHQl1wiLFxuICAgICAgICBcIm5cIiA6IFwi0KFcIixcbiAgICAgICAgXCJuZVwiOiBcItCh0JJcIixcbiAgICAgICAgXCJlXCIgOiBcItCSXCIsXG4gICAgICAgIFwic2VcIjogXCLQrtCSXCIsXG4gICAgICAgIFwic1wiIDogXCLQrlwiLFxuICAgICAgICBcInN3XCI6IFwi0K7Ql1wiLFxuICAgICAgICBcIndcIiA6IFwi0JdcIixcbiAgICAgICAgXCJjXCIgOiBcItCoXCIgLy8g0KjRgtC40LvRjFxuICAgIH0sXG4gICAgXCJlblwiOiB7XG4gICAgICAgIFwibndcIjogXCJOV1wiLFxuICAgICAgICBcIm5cIiA6IFwiTlwiLFxuICAgICAgICBcIm5lXCI6IFwiTkVcIixcbiAgICAgICAgXCJlXCIgOiBcIkVcIixcbiAgICAgICAgXCJzZVwiOiBcIlNFXCIsXG4gICAgICAgIFwic1wiIDogXCJTXCIsXG4gICAgICAgIFwic3dcIjogXCJTV1wiLFxuICAgICAgICBcIndcIiA6IFwiV1wiLFxuICAgICAgICBcImNcIiA6IFwiQ1wiIC8vIENhbG1cbiAgICB9XG59O1xuXG4vLyDQktGL0LHQuNGA0LDQtdC8INC90YPQttC90YvQuSDRgdC70L7QstCw0YDRjCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0Y/Qt9GL0LrQsCAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJ2VuJywg0LXRgdC70LggbGFuZyDRg9C60LDQt9Cw0L0g0L3QtdCy0LXRgNC90L4pXG5jb25zdCBjdXJyZW50RGljdCA9IHRyYW5zbGF0aW9uc1tsYW5nXSB8fCB0cmFuc2xhdGlvbnNbJ2VuJ107XG5cbi8vINCf0L7Qu9GD0YfQsNC10Lwg0L3QsNC/0YDQsNCy0LvQtdC90LjQtSDQuNC70Lgg0L7RgdGC0LDQstC70Y/QtdC8INC40YHRhdC+0LTQvdC+0LUgKNGBINC/0LXRgNC10LLQvtC00L7QvCDQsiDQstC10YDRhdC90LjQuSDRgNC10LPQuNGB0YLRgCksINC10YHQu9C4INC10LPQviDQvdC10YIg0LIg0YHQu9C+0LLQsNGA0LVcbmNvbnN0IHRyYW5zbGF0ZWRfZGlyID0gY3VycmVudERpY3Rbd2luZF9kaXIudG9Mb3dlckNhc2UoKV0gfHwgd2luZF9kaXIudG9VcHBlckNhc2UoKTtcblxuY29uc3Qgc3RhdHVzVGV4dCA9IGAke3RyYW5zbGF0ZWRfZGlyfSwgJHt3aW5kX3N94oaSJHt3aW5kX2d9YDtcbnJldHVybiBzdGF0dXNUZXh0OyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwidmFsdWVGaWVsZFR5cGUiOiJ0ZXh0In0sIm1pbldpZHRoIjoxNTAsIm1pbkhlaWdodCI6ODAsImRhdGFTb3VyY2UiOnsibmFtZSI6IkFQSSDRj9C90LTQtdC60YEg0L/QvtCz0L7QtNGLIChib29zdHkpIiwiZGVzY3JpcHRpb24iOiIiLCJ0eXBlIjoianNvbiIsInVybCI6Imh0dHBzOi8vYXBpLndlYXRoZXIueWFuZGV4LnJ1L3YyL2ZvcmVjYXN0P2xhdD01NS40NTAyJmxvbj0zNy4zNzAzJmxhbmc9cnVfUlUmbGltaXQ9MiIsIm1ldGhvZCI6IkdFVCIsImhlYWRlcnMiOnsiWC1ZYW5kZXgtV2VhdGhlci1LZXkiOiJkZW1vX3lhbmRleF93ZWF0aGVyX2FwaV9rZXkifSwicmVmcmVzaEludGVydmFsIjozMDAwLCJqc29uUGF0aCI6bnVsbH19LHsiaWQiOjg1LCJuYW1lIjoiWWFuZGV4INC+0LHRidC40LUg0L/QvtCz0L7QtNC90YvQtSDRg9GB0LvQvtCy0LjRjyB8IGdlbmVyYWwgd2VhdGhlciBjb25kaXRpb25zIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5VHlwZSI6InNjcmlwdCIsInRlbXBsYXRlIjoiIiwiY29uZmlnIjp7ImZpZWxkIjoiIiwicHJlZml4IjoiIiwic3VmZml4IjoiIiwibWF4SXRlbXMiOjUsImZpZWxkVHlwZSI6InRleHQiLCJpdGVtRmllbGQiOiIiLCJzY3JpcHRDb2RlIjoiLy8g0J/QtdGA0LXQvNC10L3QvdCw0Y8g0LTQu9GPINCy0YvQsdC+0YDQsCDRj9C30YvQutCwOiAncnUnINC40LvQuCAnZW4nXG5jb25zdCBsYW5nID0gXCJlblwiOyBcblxuLy8g0KHQu9C+0LLQsNGA0Ywg0YEg0L/QtdGA0LXQstC+0LTQsNC80Lgg0LTQu9GPINGA0LDQt9C90YvRhSDRj9C30YvQutC+0LJcbmNvbnN0IHRyYW5zbGF0aW9ucyA9IHtcbiAgICBcInJ1XCI6IHtcbiAgICAgICAgXCJjbGVhclwiOiBcItCv0YHQvdCw0Y8g0L/QvtCz0L7QtNCwXCIsXG4gICAgICAgIFwicGFydGx5LWNsb3VkeVwiOiBcItCf0LXRgNC10LzQtdC90L3QsNGPINC+0LHQu9Cw0YfQvdC+0YHRgtGMXCIsXG4gICAgICAgIFwiY2xvdWR5XCI6IFwi0J7QsdC70LDRh9C90L5cIixcbiAgICAgICAgXCJvdmVyY2FzdFwiOiBcItCf0LDRgdC80YPRgNC90L5cIixcbiAgICAgICAgXCJsaWdodC1yYWluXCI6IFwi0KHQu9Cw0LHRi9C5INC00L7QttC00YxcIixcbiAgICAgICAgXCJyYWluXCI6IFwi0JTQvtC20LTRjFwiLFxuICAgICAgICBcImhlYXZ5LXJhaW5cIjogXCLQodC40LvRjNC90YvQuSDQtNC+0LbQtNGMXCIsXG4gICAgICAgIFwic2hvd2Vyc1wiOiBcItCb0LjQstC10L3RjFwiLFxuICAgICAgICBcInNsZWV0XCI6IFwi0JzQvtC60YDRi9C5INGB0L3QtdCzXCIsXG4gICAgICAgIFwibGlnaHQtc25vd1wiOiBcItCh0LvQsNCx0YvQuSDRgdC90LXQs1wiLFxuICAgICAgICBcInNub3dcIjogXCLQodC90LXQs1wiLFxuICAgICAgICBcInNub3dmYWxsXCI6IFwi0KHQvdC10LPQvtC/0LDQtFwiLFxuICAgICAgICBcImhhaWxcIjogXCLQk9GA0LDQtFwiLFxuICAgICAgICBcInRodW5kZXJzdG9ybVwiOiBcItCT0YDQvtC30LBcIixcbiAgICAgICAgXCJ0aHVuZGVyc3Rvcm0td2l0aC1yYWluXCI6IFwi0JPRgNC+0LfQsCDRgSDQtNC+0LbQtNC10LxcIixcbiAgICAgICAgXCJ0aHVuZGVyc3Rvcm0td2l0aC1oYWlsXCI6IFwi0JPRgNC+0LfQsCDRgSDQs9GA0LDQtNC+0LxcIlxuICAgIH0sXG4gICAgXCJlblwiOiB7XG4gICAgICAgIFwiY2xlYXJcIjogXCJDbGVhclwiLFxuICAgICAgICBcInBhcnRseS1jbG91ZHlcIjogXCJQYXJ0bHkgY2xvdWR5XCIsXG4gICAgICAgIFwiY2xvdWR5XCI6IFwiQ2xvdWR5XCIsXG4gICAgICAgIFwib3ZlcmNhc3RcIjogXCJPdmVyY2FzdFwiLFxuICAgICAgICBcImxpZ2h0LXJhaW5cIjogXCJMaWdodCByYWluXCIsXG4gICAgICAgIFwicmFpblwiOiBcIlJhaW5cIixcbiAgICAgICAgXCJoZWF2eS1yYWluXCI6IFwiSGVhdnkgcmFpblwiLFxuICAgICAgICBcInNob3dlcnNcIjogXCJTaG93ZXJzXCIsXG4gICAgICAgIFwic2xlZXRcIjogXCJTbGVldFwiLFxuICAgICAgICBcImxpZ2h0LXNub3dcIjogXCJMaWdodCBzbm93XCIsXG4gICAgICAgIFwic25vd1wiOiBcIlNub3dcIixcbiAgICAgICAgXCJzbm93ZmFsbFwiOiBcIlNub3dmYWxsXCIsXG4gICAgICAgIFwiaGFpbFwiOiBcIkhhaWxcIixcbiAgICAgICAgXCJ0aHVuZGVyc3Rvcm1cIjogXCJUaHVuZGVyc3Rvcm1cIixcbiAgICAgICAgXCJ0aHVuZGVyc3Rvcm0td2l0aC1yYWluXCI6IFwiVGh1bmRlcnN0b3JtIHdpdGggcmFpblwiLFxuICAgICAgICBcInRodW5kZXJzdG9ybS13aXRoLWhhaWxcIjogXCJUaHVuZGVyc3Rvcm0gd2l0aCBoYWlsXCJcbiAgICB9XG59O1xuXG4vLyDQn9C+0LvRg9GH0LDQtdC8INGC0LXQutGD0YnQtdC1INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC3IEFQSVxuY29uc3QgY3VycmVudFN0YXRlID0gJC5mYWN0LmNvbmRpdGlvbjtcblxuLy8g0JjRidC10Lwg0L/QtdGA0LXQstC+0LQg0L/QviDQstGL0LHRgNCw0L3QvdC+0LzRgyDRj9C30YvQutGDINC4INGB0L7RgdGC0L7Rj9C90LjRji5cbi8vINCV0YHQu9C4INC/0LXRgNC10LLQvtC00LAg0L3QtdGCICjQuNC70Lgg0Y/Qt9GL0Log0YPQutCw0LfQsNC9INC90LXQstC10YDQvdC+KSwg0LLQvtC30LLRgNCw0YnQsNC10Lwg0L7RgNC40LPQuNC90LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LjQtyBBUEkuXG5yZXR1cm4gKHRyYW5zbGF0aW9uc1tsYW5nXSAmJiB0cmFuc2xhdGlvbnNbbGFuZ11bY3VycmVudFN0YXRlXSkgfHwgY3VycmVudFN0YXRlOyIsInRpdGxlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkIjoiIiwidmFsdWVGaWVsZFR5cGUiOiJ0ZXh0In0sIm1pbldpZHRoIjoxNTAsIm1pbkhlaWdodCI6ODAsImRhdGFTb3VyY2UiOnsibmFtZSI6IkFQSSDRj9C90LTQtdC60YEg0L/QvtCz0L7QtNGLIChib29zdHkpIiwiZGVzY3JpcHRpb24iOiIiLCJ0eXBlIjoianNvbiIsInVybCI6Imh0dHBzOi8vYXBpLndlYXRoZXIueWFuZGV4LnJ1L3YyL2ZvcmVjYXN0P2xhdD01NS40NTAyJmxvbj0zNy4zNzAzJmxhbmc9cnVfUlUmbGltaXQ9MiIsIm1ldGhvZCI6IkdFVCIsImhlYWRlcnMiOnsiWC1ZYW5kZXgtV2VhdGhlci1LZXkiOiJkZW1vX3lhbmRleF93ZWF0aGVyX2FwaV9rZXkifSwicmVmcmVzaEludGVydmFsIjozMDAwLCJqc29uUGF0aCI6bnVsbH19LHsiaWQiOjg0LCJuYW1lIjoiWWFuZGV4INCS0LvQsNC20L3QvtGB0YLRjCDQstC+0LfQtNGD0YXQsCB8IEFpciBodW1pZGl0eSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheVR5cGUiOiJzY3JpcHQiLCJ0ZW1wbGF0ZSI6IiIsImNvbmZpZyI6eyJmaWVsZCI6IiIsInByZWZpeCI6IiIsInN1ZmZpeCI6IiUiLCJtYXhJdGVtcyI6NSwiZmllbGRUeXBlIjoidGV4dCIsIml0ZW1GaWVsZCI6IiIsInNjcmlwdENvZGUiOiJyZXR1cm4gICQuZmFjdC5odW1pZGl0eTsiLCJ0aXRsZUZpZWxkIjoiIiwidmFsdWVGaWVsZCI6IiIsInZhbHVlRmllbGRUeXBlIjoidGV4dCJ9LCJtaW5XaWR0aCI6MTUwLCJtaW5IZWlnaHQiOjgwLCJkYXRhU291cmNlIjp7Im5hbWUiOiJBUEkg0Y/QvdC00LXQutGBINC/0L7Qs9C+0LTRiyAoYm9vc3R5KSIsImRlc2NyaXB0aW9uIjoiIiwidHlwZSI6Impzb24iLCJ1cmwiOiJodHRwczovL2FwaS53ZWF0aGVyLnlhbmRleC5ydS92Mi9mb3JlY2FzdD9sYXQ9NTUuNDUwMiZsb249MzcuMzcwMyZsYW5nPXJ1X1JVJmxpbWl0PTIiLCJtZXRob2QiOiJHRVQiLCJoZWFkZXJzIjp7IlgtWWFuZGV4LVdlYXRoZXItS2V5IjoiZGVtb195YW5kZXhfd2VhdGhlcl9hcGlfa2V5In0sInJlZnJlc2hJbnRlcnZhbCI6MzAwMCwianNvblBhdGgiOm51bGx9fSx7ImlkIjo4MywibmFtZSI6IllhbmRleCDQotC10LzQv9C10YDQsNGC0YPRgNCwIHwgVGVtcGVyYXR1cmUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlUeXBlIjoic2NyaXB0IiwidGVtcGxhdGUiOiIiLCJjb25maWciOnsiZmllbGQiOiIiLCJwcmVmaXgiOiIiLCJzdWZmaXgiOiLCsCIsIm1heEl0ZW1zIjo1LCJmaWVsZFR5cGUiOiJ0ZXh0IiwiaXRlbUZpZWxkIjoiIiwic2NyaXB0Q29kZSI6InJldHVybiB0ZW1wID0gJC5mYWN0LnRlbXA7IiwidGl0bGVGaWVsZCI6IiIsInZhbHVlRmllbGQiOiIiLCJ2YWx1ZUZpZWxkVHlwZSI6InRleHQifSwibWluV2lkdGgiOjE1MCwibWluSGVpZ2h0Ijo4MCwiZGF0YVNvdXJjZSI6eyJuYW1lIjoiQVBJINGP0L3QtNC10LrRgSDQv9C+0LPQvtC00YsgKGJvb3N0eSkiLCJkZXNjcmlwdGlvbiI6IiIsInR5cGUiOiJqc29uIiwidXJsIjoiaHR0cHM6Ly9hcGkud2VhdGhlci55YW5kZXgucnUvdjIvZm9yZWNhc3Q/bGF0PTU1LjQ1MDImbG9uPTM3LjM3MDMmbGFuZz1ydV9SVSZsaW1pdD0yIiwibWV0aG9kIjoiR0VUIiwiaGVhZGVycyI6eyJYLVlhbmRleC1XZWF0aGVyLUtleSI6ImRlbW9feWFuZGV4X3dlYXRoZXJfYXBpX2tleSJ9LCJyZWZyZXNoSW50ZXJ2YWwiOjMwMDAsImpzb25QYXRoIjpudWxsfX1dfQ==
    
  2. Go to the Inker web interface -> in the Screens tab, click the Import button -> paste the code -> click Import Screen

  3. After importing, open the Yandex Weather API in the Extensions tab. Find the URL https://api.weather.yandex.ru/v2/forecast?lat=12.34567&lon=12.34567&lang=ru_RU&limit=2 and replace the lat and lon coordinates with your city's coordinates.
  4. The Header name specifies a test X-Yandex-Weather-Key. To use it, you need to get your own free key at yandex.ru/pogoda/b2b/smarthome