Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Werte aus Ordnern auslesen und Zeiten zuordnen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Werte aus Ordnern auslesen und Zeiten zuordnen

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      Einstein 0 @paul53 last edited by

      @paul53 danke dir für deine Hilfe. Ich werde mir das die kommenden Tage anschauen und versuchen das zu testen.

      Hier ein Projekt was ich gefunden habe, was im Prinzip das gleiche macht wie ich vor habe. Nur ohne den Tibber Adapter.
      Das Script holt sich die Daten direkt bei Tibber ab.

      https://forum.iobroker.net/topic/60938/geräte-zu-stundenpreisen-epex-oder-pv-überschuss-betreiben

      Evtl. geht das auch für mich.

      Gruß
      Einstein

      1 Reply Last reply Reply Quote 0
      • Mosel 1992
        Mosel 1992 @paul53 last edited by

        @paul53 said in Werte aus Ordnern auslesen und Zeiten zuordnen:

        arr, att

        könntest du mir die Funktion des Ablaufes mal erklären?
        Ich habe noch nicht so ganz verstanden, wie das funktioniert?
        ich habe mehrere Datenpunkte für mehrere Zeiten, wie kann ich denn diese jetzt in die liste einfügen und dann raus sortieren die 4 niedrigsten ?

        z.B:
        Datenpunk = Wert

        Preis 0 = 24,56. (Preis von 0 bis 0:59)
        Preis 1 = 46,45 (Preis von 1 bis 1:59)
        Preis 2 = 34,35 (Preis von 2 bis 2:59)
        .
        .
        .

        Die Datenpunkte werden alle um 0 Uhr beschrieben

        Mosel 1992 1 Reply Last reply Reply Quote 0
        • Mosel 1992
          Mosel 1992 @Mosel 1992 last edited by

          Habe es herausbekommen. läuft bei mir, vielen dank schon mal für die Vorarbeit.

          Eine Frage bleibt noch, jetzt bekomme ich unten schön die Sortierung.

          Kann ich diese auch in einem anderen Skript verwenden ? Also übergreifend, da ich ein eigenen Skript habe, in dem ich die Verbraucher schalte und ungern die Sortierung da auch noch rein packen würde.
          Alternativ, würde ich unter den einzelnen Stundenordner noch mit ein Datenpunkt anlegen, in dem ich dann die Nummerierung schreibe, also Preissortierung 1, 2 usw... somit könnte ich ja auch dann in dem anderen Skript abfragen, wenn die aktuelle Preissortierung <4 ist, dann....
          Mir fällt da aber nur dieser aufwendige Ablauf ein, und bei 24 Stunden, wird das ja ein Riesen Monstrum, da ich es ja auch für die 6 günstigsten Preise machen muss

          Bildschirmfoto 2023-12-23 um 10.05.49.png

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Mosel 1992 last edited by paul53

            @mosel-1992 sagte: Sortierung. Kann ich diese auch in einem anderen Skript verwenden ?

            Schreib die sortierte Liste in einen Datenpunkt vom Typ "array", der in anderen Skripten eingelesen werden kann. Die 3 billigsten Stunden sind der 1. bis 3. Eintrag, die 3 teuersten Stunden sind der 22. bis 24. Eintrag.

            @mosel-1992 sagte in Werte aus Ordnern auslesen und Zeiten zuordnen:

            Mir fällt da aber nur dieser aufwendige Ablauf ein,

            Man braucht nur die aktuelle Stunde der Uhrzeit mit dem Attribut "hour" im entsprechenden Eintrag der Liste zu vergleichen. Das kann einfach in einer Schleife erfolgen. Prinzip:

            Blockly_temp.JPG

            1 Reply Last reply Reply Quote 0
            • Mosel 1992
              Mosel 1992 last edited by

              @paul53 said in Werte aus Ordnern auslesen und Zeiten zuordnen:

              @mosel-1992 sagte: Sortierung. Kann ich diese auch in einem anderen Skript verwenden ?

              Schreib die sortierte Liste in einen Datenpunkt vom Typ "array", der in anderen Skripten eingelesen werden kann. Die 3 billigsten Stunden sind der 1. bis 3. Eintrag, die 3 teuersten Stunden sind der 22. bis 24. Eintrag.

              So habe die Liste in den Datenpunkt geschrieben, muss ich im neuen Skript den wert wieder in eine Liste schrieb, oder wie kann ich bei einem array den 24 Eintrag selektiert ?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Mosel 1992 last edited by

                @mosel-1992 sagte: im neuen Skript den wert wieder in eine Liste schrieb

                Der oberste Block im gezeigten Prinzip-Blockly liest den Datenpunktwert in die Variable Liste.

                @mosel-1992 sagte in Werte aus Ordnern auslesen und Zeiten zuordnen:

                wie kann ich bei einem array den 24 Eintrag selektiert ?

                Anstelle der Schleife: "setze obj auf in der Liste Liste nimm das 24. Element".

                Mosel 1992 1 Reply Last reply Reply Quote 1
                • Mosel 1992
                  Mosel 1992 @paul53 last edited by

                  @paul53
                  habe da mal gerade noch eine andere Idee gehabt.
                  Ich habe unter dem Ordner ja bereit folgende Werte:
                  Ordner 1
                  -Preis
                  -Startzeit
                  und jetzt würde ich hier noch Preisbewertung einfügen und hier einfach die Position in der Liste reinsetzen.
                  Somit könnte ich dann damit ja auch weiter arbeiten.
                  Kann ich Objekte auch flexibel setzen ?
                  Da sich ja immer der Datenpunkt ändert.

                  "0_userdata.0.Tibber.Strompreise_heute.0.Preisbewertung" = Listenposition von "0_userdata.0.Tibber.Strompreise_heute.0.Preis"
                  "0_userdata.0.Tibber.Strompreise_heute.1.Preisbewertung" = Listenposition von "0_userdata.0.Tibber.Strompreise_heute.1.Preis"
                  

                  usw....
                  bevor ich jetzt 24 einzelne Abfragen erstelle, gibt es doch bestimmt auch eine Möglichkeit mit einer Schleife oder so ?

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Mosel 1992 last edited by

                    @mosel-1992 sagte: Ich habe unter dem Ordner ja bereit folgende Werte:

                    Weshalb eigene Datenunkte, wenn die Werte der Tibber-Adapter liefert?

                    @mosel-1992 sagte in Werte aus Ordnern auslesen und Zeiten zuordnen:

                    Preisbewertung einfügen

                    Was ist eine Preisbewertung?

                    Mosel 1992 1 Reply Last reply Reply Quote 0
                    • Mosel 1992
                      Mosel 1992 @paul53 last edited by

                      @paul53 said in Werte aus Ordnern auslesen und Zeiten zuordnen:

                      Weshalb eigene Datenunkte, wenn die Werte der Tibber-Adapter liefert?

                      Weil ich den Tibber-Adapter nicht habe, ich habe keinen Account, ich will ich erst Wechsel, aber vorher meine Steuerung optimieren, da ich aktuell noch einen bestehenden Vertrag habe.

                      Was ist eine Preisbewertung?
                      Mir ist nichts anderes für den Datenpunkt eingefallen. Hier würde ich dann die Reihenfolge rein schreiben. Also 1-24 der günstigste bekommt dann dort die 1 und der teuerste den Wert 24. Somit kann ich ja dann abfragen, wenn Wert < 4, dann usw...

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Mosel 1992 last edited by paul53

                        @mosel-1992 sagte: Reihenfolge rein schreiben. Also 1-24 der günstigste bekommt dann dort die 1 und der teuerste den Wert 24.

                        Wie ermittelst Du die Reihenfolge?
                        Du hast zu jeder Stunde 3 Datenpunkte?

                        • total (Preis)
                        • startsAt (Startzeit)
                        • Preisbewertung

                        Preis und Startzeit wie im Tibber-Adapter? Oder Tibberlink-Adapter?

                        EDIT: Nur iobroker.tibberlink wird noch gepflegt.
                        Zur Vorbereitung solltest du die gleiche Struktur verwenden wie im Tibberlink-Adapter:
                        "0_userdata.0.Tibber.PricesToday.N.total" N = 0 - 23
                        "0_userdata.0.Tibber.PricesTomorrow.N.total" enthält die Preise von morgen (ab 14:00 Uhr?)
                        Dann muss später nur noch der Pfad "0_userdata.0.Tibber." gegen den Tibberlink-Pfad ausgetauscht werden.

                        Mosel 1992 1 Reply Last reply Reply Quote 0
                        • Mosel 1992
                          Mosel 1992 @paul53 last edited by

                          @paul53
                          Korrekt.

                          Ich habe mir Ordern 1-24 gemacht und darunter sind die 3 Datenpunkte.
                          Ich habe bereits Preis und Startzeit in einer Liste eingeladen und Sie dort sortiert nach Preis. Bildschirmfoto 2023-12-23 um 19.21.01.png

                          Jetzt geht es darum, wie ich halt am einfachsten jetzt die Reihenfolge in die Datenpunkte übertrage?

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Mosel 1992 last edited by

                            @mosel-1992
                            Das ist die falsche Konvertierung, wenn mit "Aktuelle Zeit als Stunden" verglichen wird:

                            Blockly_temp.JPG

                            Mosel 1992 1 Reply Last reply Reply Quote 0
                            • Mosel 1992
                              Mosel 1992 @paul53 last edited by

                              @paul53 ah ja korrekt, da hatte ich etwas ausprobiert...
                              Gibt es eine Möglichkeit, dass man einen Datenpunkt nach einer variable schreibe? also das ich mit den Pfad selber zusammen bauen kann ?

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Mosel 1992 last edited by paul53

                                @mosel-1992 sagte: Pfad selber zusammen bauen kann ?

                                Ja. Mit der sortierten Liste:

                                Blockly_temp.JPG

                                Preisbewertung von 1 bis 24 = billig bis teuer

                                Mosel 1992 1 Reply Last reply Reply Quote 0
                                • Mosel 1992
                                  Mosel 1992 @paul53 last edited by

                                  @paul53

                                  Bekomme ich eine Fehlermeldung:
                                  20:24:00.019 warn javascript.0 (9860) at Object.<anonymous> (script.js.Tibber.Preise_sortieren:38:5)

                                  var path, hour, price, arr, attr, Liste, i, start, j, obj, k, id, test;
                                  
                                  // Beschreibe diese Funktion …
                                  async function buildObj(hour, price) {
                                      return {price: price, hour: hour};
                                  }
                                  
                                  // Funktion buildObj(hour, price
                                  async function sortObjectNum(arr, attr) {
                                      function sortAttr(a, b) {
                                          return parseFloat(a[attr]) - parseFloat(b[attr]);
                                      }
                                      arr.sort(sortAttr);
                                  }
                                  
                                  
                                  path = '0_userdata.0.Tibber.Strompreise_heute.';
                                  schedule("*/10 * * * * *", async () => {
                                    Liste = [];
                                    for (i = 0; i <= 23; i++) {
                                      price = getState(([path,i,'.Preis'].join(''))).val;
                                      start = getState(([path,i,'.Startzeit'].join(''))).val;
                                      hour = getDateObject(start).getHours();
                                      Liste.push(await buildObj(hour, price));
                                    }
                                    await sortObjectNum(Liste, 'price');
                                    for (j = 1; j <= 24; j++) {
                                      obj = Liste[(j - 1)];
                                      id = (new Date().getHours()) == getAttr(obj, 'hour');
                                      if (1 == j) {
                                        test = getAttr(obj, 'hour');
                                        console.log(test);
                                      }
                                    }
                                    for (k = 1; k <= 24; k++) {
                                      obj = Liste[(k - 1)];
                                      id = [path,getAttr(obj, 'hour'),'.Preisbewertung'].join('');
                                      setStateDelayed(id, k, true, parseInt(((0) || '').toString(), 10), false);
                                      console.log(k);
                                    }
                                    setState('0_userdata.0.Tibber.Strompreise_heute.ListeStrompreis_heute' /* ListeStrompreis heute */, Liste, true);
                                  });
                                  
                                  //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyZHBaTSU3Q1YtJTNGJTI0Q2VuRi5JWU9DfjAlMjIlM0VwYXRoJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyUFhtc0pGSUQlMjV6OFVEeVolN0JoVyU2MEUlMjIlM0Vob3VyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTJGQ1klN0JWJTI1LVJVQ2s4b2ZxQSUyM2dIJTJCJTIyJTNFcHJpY2UlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlM0ZlJTVCYXpXYSU0MEIlM0QlN0JUMCUyMyUyNCU2MHUlN0REeiUyMiUzRWFyciUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMl9JYlVldCU1RSolNDBRU0MlNjBIR2JUdG0lMkYlMjIlM0VhdHRyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTdCaTdvJTJDOCU3REczQ3A5JTJDZFRkY1dzNiUyMiUzRUxpc3RlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyYlJoajI3fmlLZlBaJTQwNyUyNWxqJTNEJTNGJTNGJTIyJTNFaSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMm8uJTI1KXclMkZKMkUlM0ZYVVlhdCUyNXQlN0RTKSUyMiUzRXN0YXJ0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTdEUSUzQjRUVygtRWJUYy1OJTNBZyUyQ1pyMiUyMiUzRWolM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlN0NXLnhvVlVMNE5rJTI1IXhlJTNEakpTZyUyMiUzRW9iaiUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMilYemslN0RHQW5PbiU1Qi0lN0IlMkNBbSUyQiU3Q1oyJTIyJTNFayUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMnZkM0VaSFpoc0UlN0QlM0JuNl9nSTdwJTJDJTIyJTNFaWQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJHcyU3RGRLfjJWdi1IayU1RW1WJTNEci5+VyUyMiUzRXRlc3QlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMkklNUU1cSUzQUVaOHFKcTElN0MlMkMxZWJBX0glMjIlMjB4JTNEJTIyLTgzNyUyMiUyMHklM0QlMjItNTg3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJkcFpNJTdDVi0lM0YlMjRDZW5GLklZT0N+MCUyMiUzRXBhdGglM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIycmVJUEdncDJYJTdDR0FCdU0xdUR4JTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTBfdXNlcmRhdGEuMC5UaWJiZXIuU3Ryb21wcmVpc2VfaGV1dGUuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjJuKElzdHNqZ242eTBBYlglNjBfc0FzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UqJTJGMTAlMjAqJTIwKiUyMColMjAqJTIwKiUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMn4lNjByJTIzU0clMjNIMmpHVn5TaWklNURBJTJDISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTdCaTdvJTJDOCU3REczQ3A5JTJDZFRkY1dzNiUyMiUzRUxpc3RlJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2NyZWF0ZV93aXRoJTIyJTIwaWQlM0QlMjI3fiUyQndYdzYlNjAxV0I4JTdCTi1UQyU3QkxCJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjAlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfZm9yJTIyJTIwaWQlM0QlMjIlMjUlM0YlM0Z1RCU1QiFRJTI0MEQ2SEclMkJLYXZmJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJiUmhqMjd+aUtmUFolNDA3JTI1bGolM0QlM0YlM0YlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJGUk9NJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlM0Yudk4lM0ZNMGclMkNsV2gwbCU3QlU3d1hzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJUTyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyKSU3RE90bCU1RGxHNSU1QmRyfjNReTElM0ZyNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTIzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkJZJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJZJTJGQzA0JTI0NUtadCU0MExsJTNBam94dlMlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMmF6JTdENSU0MEFveSotUlJMVjZUJTNEKUJnJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMkZDWSU3QlYlMjUtUlVDazhvZnFBJTIzZ0glMkIlMjIlM0VwcmljZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJna1clNURPKG5KNWMlNjB0KXZ1ejRTLSU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMmdaUDFOeHYlN0MlMkZfeE0lN0JjbG4lM0Y3aFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjJVSy4qXyUyNXQ3aiU3Qkl3SmQlM0QoJTdEMVVjJTIyJTIwaW5saW5lJTNEJTIydHJ1ZSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIzJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyM0ZyTXM3dzglM0FqTnQqRl9NJTNCTnglNUUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmRwWk0lN0NWLSUzRiUyNENlbkYuSVlPQ34wJTIyJTNFcGF0aCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJJcjUlN0I2eGZ6QUIhX3Y5QnZyMiU3QiUyNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyYlJoajI3fmlLZlBaJTQwNyUyNWxqJTNEJTNGJTNGJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJpciU3Q1Q5TiUzQSU3Q1MlN0MlNUV+aXladikudCUyNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UuUHJlaXMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJNQW51WihXb00lM0E0KiU1RDQlNDAlNDAqKWguJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJvLiUyNSl3JTJGSjJFJTNGWFVZYXQlMjV0JTdEUyklMjIlM0VzdGFydCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjI4Wk0zRnFwIX4wcyU3RCU0MCU2MGdkVHdmNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMmdaUDFOeHYlN0MlMkZfeE0lN0JjbG4lM0Y3aFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIzVE9ISDNESS1lVE0lMkJZVDMlNUR3bG8lMjIlMjBpbmxpbmUlM0QlMjJ0cnVlJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjMlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJyViU2MDdlJTYwJTI1S3YlN0NtcUtIKiUyRm0hJTdESCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyZHBaTSU3Q1YtJTNGJTI0Q2VuRi5JWU9DfjAlMjIlM0VwYXRoJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnZyXyUzRCUyNCU0MC1ZMSUyNUU4Ym0tNnhVMWglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmJSaGoyN35pS2ZQWiU0MDclMjVsaiUzRCUzRiUzRiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTdDJTVFJTIzViUzRFNPJTVESGV5VSEtMDFXWjNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRS5TdGFydHplaXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIwJTNBKmwzcUZNRzZBKGslM0JnVUlOZSUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyUFhtc0pGSUQlMjV6OFVEeVolN0JoVyU2MEUlMjIlM0Vob3VyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfZnJvbV9kYXRlJTIyJTIwaWQlM0QlMjI1TDQpS2hCWHdifk9yLWhxJTJCMjBRJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZm9ybWF0JTNEJTIyZmFsc2UlMjIlMjBsYW5ndWFnZSUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUFRJT04lMjIlM0VoJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiU1RHhpTFItM1A1eW1YJTdDZlBRY2N4MiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyby4lMjUpdyUyRkoyRSUzRlhVWWF0JTI1dCU3RFMpJTIyJTNFc3RhcnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX3NldEluZGV4JTIyJTIwaWQlM0QlMjJqSHklMkZpU3dwKCUzRGZTT055RCUyRkQwZCUyMiUzRSUzQ211dGF0aW9uJTIwYXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRUlOU0VSVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUlMjIlM0VMQVNUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyZFglNUVXKGl1IWslM0QyKU0lMjRnJTJGJTdCIW8lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU3Qmk3byUyQzglN0RHM0NwOSUyQ2RUZGNXczYlMjIlM0VMaXN0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tcmV0dXJuJTIyJTIwaWQlM0QlMjJjZXVERE1fQjVjOXJyMn5FNExYJTNCJTIyJTIwaW5saW5lJTNEJTIydHJ1ZSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMmJ1aWxkT2JqJTIyJTNFJTNDYXJnJTIwbmFtZSUzRCUyMmhvdXIlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIycHJpY2UlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0IlMjREViUzQXp5cDBaYlBpVlAoQiU1RURqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJQWG1zSkZJRCUyNXo4VUR5WiU3QmhXJTYwRSUyMiUzRWhvdXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBUkcxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyfmcxcXUlN0N+JTdDYSl2VUlOLmNrVDQxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMkZDWSU3QlYlMjUtUlVDazhvZnFBJTIzZ0glMkIlMjIlM0VwcmljZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2NhbGxjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIydEclNUI2YyUzQiU1QkRVJTYwbzhxJTI1Z2tNJTQwKGolMjIlMjBpbmxpbmUlM0QlMjJ0cnVlJTIyJTNFJTNDbXV0YXRpb24lMjBuYW1lJTNEJTIyc29ydE9iamVjdE51bSUyMiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJhcnIlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIyYXR0ciUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiU3RC5iZSUyNWMlM0IlN0JBTEslMjNXJTNBRE8lNDBPVyU2MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTdCaTdvJTJDOCU3REczQ3A5JTJDZFRkY1dzNiUyMiUzRUxpc3RlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMloxV35TJTIzS2Mpa2slMjVmanRVZVAlNUJmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXByaWNlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvciUyMiUyMGlkJTNEJTIyeH4lMkZYYkxWRUxhJTI0dGhkNXYqaDBVJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0RRJTNCNFRXKC1FYlRjLU4lM0FnJTJDWnIyJTIyJTNFaiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRlJPTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIySTclNUJqS2d+WTZMJTVEb2Mhekh+dC51JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJUTyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyY2NlTXNPZmdNTyU1RSUzQW9BJTVFJTI1YmRWUCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTI0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkJZJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIpVVNlbFdnJTIzb1A0WkRBemolN0JsV1YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyMzNnJTNCd1MlM0RFYjRaJTdCNmolMkI0eiUyNSUzRF8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU3Q1cueG9WVUw0TmslMjUheGUlM0RqSlNnJTIyJTNFb2JqJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2dldEluZGV4JTIyJTIwaWQlM0QlMjIlNUVpKmklM0ElMjVXJTVCJTNGb24uJTI1Sm9XWWV3JTJDJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnQlM0QlMjJmYWxzZSUyMiUyMGF0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRUdFVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUlMjIlM0VGUk9NX1NUQVJUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmNjJTNBV3A4Z3JhKEVvITlnJTJGdi1VJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0JpN28lMkM4JTdERzNDcDklMkNkVGRjV3M2JTIyJTNFTGlzdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlp0ek4lMkNjJTdDTTNQaSU1RDdFOTlCVFJ6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0RRJTNCNFRXKC1FYlRjLU4lM0FnJTJDWnIyJTIyJTNFaiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTI0UFpQcjFLY2QlMjVuJTNBWSU1QiUyNWUlM0ZqakwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnZkM0VaSFpoc0UlN0QlM0JuNl9nSTdwJTJDJTIyJTNFaWQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTdDN35ZISUzRCU1QnliLlMuKWslM0JHQyUzQWNFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVfZ2V0JTIyJTIwaWQlM0QlMjI0ekljdGx1SG9PLTklMkJ1bS1uJTIzZVklMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBmb3JtYXQlM0QlMjJmYWxzZSUyMiUyMGxhbmd1YWdlJTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QVElPTiUyMiUzRWglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X2F0dHIlMjIlMjBpZCUzRCUyMih6S3diMjElMkJJV2VyJTNEJTdDN1QwUyUyM3YlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJQQVRIJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5ubXZCajd0USU1RFYlM0IlNUQ2YXFEZSUzRH4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFaG91ciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJQbkZlQ0tnVSUyM0t5bXRnRyolNDAlMjNWZiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTdDVy54b1ZVTDROayUyNSF4ZSUzRGpKU2clMjIlM0VvYmolM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyJTNEaFVhUVl0JTNEdG9RQTl1R2JkaDZXJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyY2xHJTIzJTNEaXklNURqJTNEJTdCJTVESl8lM0YlNUVod1UlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU1RDdVLm51VDQlMkMlMkNTJTIzQ3FRZ2olMkZNNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyUGhJbHMlM0RjSVRBejN4VG1QJTVCWiUzRC0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU3RFElM0I0VFcoLUViVGMtTiUzQWclMkNacjIlMjIlM0VqJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJtaiU3Q0glNDBva3ZvWmtwQVpaJTdCTEklN0RYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJHcyU3RGRLfjJWdi1IayU1RW1WJTNEci5+VyUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X2F0dHIlMjIlMjBpZCUzRCUyMmhMS1IyWiUzRkt+Q25xZTBHayU2MFpMeSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTIzUFdFJTNBeG1WakolNDAlM0REbFZCOE5vaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0Vob3VyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9CSkVDVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlQob0FxMGsuZklMZVZqJTI0SFpUeF8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU3Q1cueG9WVUw0TmslMjUheGUlM0RqSlNnJTIyJTNFb2JqJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyWm8lNjBQJTNGJTNBTE9+YyUyRjZJMyUzRC5WNTZBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIydFZXdk8lNUU4MDNQJTNBVlVjR28lNUIlM0FOJTVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiU3RCUyM1B2MnpETGtBaVpfdUpSbG8lM0ZRJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJHcyU3RGRLfjJWdi1IayU1RW1WJTNEci5+VyUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvciUyMiUyMGlkJTNEJTIyJTVENzQlM0QqcSUzQkd3KG8lM0JvJTI0JTJDJTQwQSUyQmclMjQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMilYemslN0RHQW5PbiU1Qi0lN0IlMkNBbSUyQiU3Q1oyJTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRlJPTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycmhkTCU0MH5qIW4lMjNuJTVEdTUlNjBMX204SyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVE8lMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUzRCp4JTVESmpwdWhpJTVFJTdDJTIzcyUyRmklNURnaSolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyNCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCWSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyYSlqZCU3Q2ElN0QlNUQlN0M0OSU1RVdqcGVuQXUwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJUNX4lMkMlNUIlM0J6YzBKTU4lMkZ3MEMxeVopJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0NXLnhvVlVMNE5rJTI1IXhlJTNEakpTZyUyMiUzRW9iaiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19nZXRJbmRleCUyMiUyMGlkJTNEJTIyU3IxJTI0ciU3Q2VXcDVWJTNCNTNHJTdCdSUzRFdxJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnQlM0QlMjJmYWxzZSUyMiUyMGF0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRUdFVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUlMjIlM0VGUk9NX1NUQVJUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiFMJTVETiUyMyUyQjglNDBjaiU1QkY5Q2o3JTNBJTdEREMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU3Qmk3byUyQzglN0RHM0NwOSUyQ2RUZGNXczYlMjIlM0VMaXN0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyeVppKlp3JTdEVVN3LjY4SF8lN0I3Z2J3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIpWHprJTdER0FuT24lNUItJTdCJTJDQW0lMkIlN0NaMiUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnJlJTdEdUglM0YpKGJfWlFwTHJZeG5BJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ2ZDNFWkhaaHNFJTdEJTNCbjZfZ0k3cCUyQyUyMiUzRWlkJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyT1RLJTYwaHNzVjR1aDklMkYlNjAlNUJhZTdpKSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIzJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVFalRjVjFrJTI0flVpY0FrNVZMaHNxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJkcFpNJTdDVi0lM0YlMjRDZW5GLklZT0N+MCUyMiUzRXBhdGglM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X2F0dHIlMjIlMjBpZCUzRCUyMjlLJTI1dHkyQmJldlVtVXY3ZyU1RSUzQkwlM0IlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJQQVRIJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMkFvJTIzUnYlM0J3NzQlMjVmMlklMjQ3VSUyQ1hiKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0Vob3VyJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9CSkVDVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUzQjAhJTI0WG05USpJJTdESVAlMjMoJTNBdFhOSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTdDVy54b1ZVTDROayUyNSF4ZSUzRGpKU2clMjIlM0VvYmolM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjA5JTdCNk5zJTNEREslNjAoeShza3YlNDBCSnclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLlByZWlzYmV3ZXJ0dW5nJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sX2V4JTIyJTIwaWQlM0QlMjI3cWZRJTNGMkRiKCUyQjRNbyU3QyUzQSU3RHBsaFolMjIlMjBpbmxpbmUlM0QlMjJ0cnVlJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRXRydWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyNl91KCU3RHQ5cyUzRkhOMDRkKVVuWCU3Q2wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI0YmNzSmglNUQlNUJPMVNWTSUyNUIlN0JfJTIzTCU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydmQzRVpIWmhzRSU3RCUzQm42X2dJN3AlMkMlMjIlM0VpZCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3Q08qJTVEJTdEOFElNUIlMjVFIVRCdCUyRmp6KDQoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMklWKHY5Skk5QmRpQUNHOHZFUC1mJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIpWHprJTdER0FuT24lNUItJTdCJTJDQW0lMkIlN0NaMiUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNBUVdMZHhLZCU3QllXJTI0QzFDbXYhemIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyeCU1RFF5M3U2ISUyNWYhbkxNJTVEZiU1QkI0NyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUyRiU1RXhVY0w3UGYlMkJKJTJCYkolN0RUbHktViUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI2RThPeCF1JTIzbExxJTI0KUNpNWlkbCElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMilYemslN0RHQW5PbiU1Qi0lN0IlMkNBbSUyQiU3Q1oyJTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyZm8hbmZpJTVCQWJ1NHhmXyUyQyElMjNhaVYlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuVGliYmVyLlN0cm9tcHJlaXNlX2hldXRlLkxpc3RlU3Ryb21wcmVpc19oZXV0ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm42JTdCVyUyM2tEMDB1RUIlN0JQJTIzJTJDVjclN0JZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0JpN28lMkM4JTdERzNDcDklMkNkVGRjV3M2JTIyJTNFTGlzdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21yZXR1cm4lMjIlMjBpZCUzRCUyMjk1JTJGN2VoKSUyNS40JTIzcyUyNE4lMjVaNlAlNUQlN0IlMjIlMjB4JTNEJTIyLTQxMiUyMiUyMHklM0QlMjItNTM3JTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyaG91ciUyMiUyMHZhcmlkJTNEJTIyUFhtc0pGSUQlMjV6OFVEeVolN0JoVyU2MEUlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIycHJpY2UlMjIlMjB2YXJpZCUzRCUyMiUyRkNZJTdCViUyNS1SVUNrOG9mcUElMjNnSCUyQiUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWJ1aWxkT2JqJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VjbVYwZFhKdUlIdHdjbWxqWlRvZ2NISnBZMlVzSUdodmRYSTZJR2h2ZFhKOU93JTNEJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFQmVzY2hyZWliZSUyMGRpZXNlJTIwRnVua3Rpb24lMjAlRTIlODAlQTYlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJwcm9jZWR1cmVzX2RlZmN1c3RvbW5vcmV0dXJuJTIyJTIwaWQlM0QlMjIpUVElN0QpTjhTJTQwdkJrQWthc0o2LkMlMjIlMjB4JTNEJTIyLTQxMiUyMiUyMHklM0QlMjItNTEyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyYXJyJTIyJTIwdmFyaWQlM0QlMjIlM0ZlJTVCYXpXYSU0MEIlM0QlN0JUMCUyMyUyNCU2MHUlN0REeiUyMiUzRSUzQyUyRmFyZyUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJhdHRyJTIyJTIwdmFyaWQlM0QlMjJfSWJVZXQlNUUqJTQwUVNDJTYwSEdiVHRtJTJGJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFc29ydE9iamVjdE51bSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NSSVBUJTIyJTNFWm5WdVkzUnBiMjRnYzI5eWRFRjBkSElvWVN3Z1lpa2dld29nSUNBZ2NtVjBkWEp1SUhCaGNuTmxSbXh2WVhRb1lWdGhkSFJ5WFNrZ0xTQndZWEp6WlVac2IyRjBLR0piWVhSMGNsMHBPd3A5Q21GeWNpNXpiM0owS0hOdmNuUkJkSFJ5S1RzJTNEJTNDJTJGZmllbGQlM0UlM0Njb21tZW50JTIwcGlubmVkJTNEJTIyZmFsc2UlMjIlMjBoJTNEJTIyODAlMjIlMjB3JTNEJTIyMTYwJTIyJTNFRnVua3Rpb24lMjBidWlsZE9iaihob3VyJTJDJTIwcHJpY2UlM0MlMkZjb21tZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
                                  
                                  
                                  

                                  Hast du eine Idee?

                                  Mosel 1992 1 Reply Last reply Reply Quote 0
                                  • Mosel 1992
                                    Mosel 1992 @Mosel 1992 last edited by

                                    @mosel-1992 said in Werte aus Ordnern auslesen und Zeiten zuordnen:

                                    @paul53

                                    Hast du eine Idee?

                                    hat sich erledigt... der Datenpunkt war als String, schrieben tue ich aber eine Zahl.

                                    Mosel 1992 1 Reply Last reply Reply Quote 0
                                    • Mosel 1992
                                      Mosel 1992 @Mosel 1992 last edited by

                                      ich komme der Perfekten Lösung immer näher, habe mit dem dazugelernten Wissen, auch andere Skripte vereinfacht.

                                      Eine Sache stört mich aber noch ...
                                      Ich setze immer eine Variable in ein Objekt.
                                      Objekt - Variable

                                      Preis 1 = Variable 1
                                      Preis 2 = Variable 2

                                      Wie ich mit einer schleife das Objekt fortlaufend automatisch ändern kann weiß ich jetzt, aber kann ich das gleiche auch bei einer Variable? Also dass ich sage Variable (1) +1 usw...

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Mosel 1992 last edited by

                                        @mosel-1992 sagte: Also dass ich sage Variable (1) +1

                                        Variablenbezeichner sind keine Strings. Man kann sie nicht konstruieren. Dafür gibt es Listen.

                                        Mosel 1992 1 Reply Last reply Reply Quote 0
                                        • Mosel 1992
                                          Mosel 1992 @paul53 last edited by

                                          @paul53
                                          Das hier ist mal mein Versuch, aber leider läuft es nicht, kannst du mir helfen ?Bildschirmfoto 2023-12-23 um 22.53.02.png

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @Mosel 1992 last edited by paul53

                                            @mosel-1992
                                            Die leere Liste muss vor der Schleife erzeugt werden.

                                            Blockly_temp.JPG

                                            An die Liste muss PreisEinlesen angehängt werden.

                                            Es muss auf das k+1 erste Listenelement zugriffen werden und die Datenpunkte müssen in der Schleife geschrieben werden.

                                            Blockly_temp.JPG

                                            Anmerkung: Das funktioniert nur um Mitternacht, da Awattar zu jeder vollen Stunde die Daten für die nächsten 24 Stunden liefert. Man kann sich auch den "Umweg" über eine Liste sparen.

                                            EDIT: Alternative.

                                            Blockly_temp.JPG

                                            Mosel 1992 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            922
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            29
                                            1677
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo