NEWS
[neuer Adapter] smartgarden adapter for Gardena smart system
-
@jpgorganizer said in [neuer Adapter] smartgarden adapter for Gardena smart system:
@All
Zum Error 429: aus meiner Sicht hat hier Gardena ein Todo. Seitens Adapter kann man das nicht lösen. Man kann sich zwar Dinge vorstellen, die man machen könnte, aber es bleibt dann immer noch Flickwerk mit Lücken. Gardena sollte das Problem kennen und meine Erwartung ist, dass Gardena das löst.Danke für deine Analyse. Hast du das Problem bei Gardena aktiv gemeldet? Gibt es da ein Ticket zu? Oder hoffen wir alle, dass Gardena dies in den Logs auf ihren Server selber bemerkt?
-
Hallo, also ich glaube mittlerweile dass es evtl. doch an dem Adapter liegt.
Wenn ich über den Adapter Error 429 bekomme zb. wenn ich einen Befehl absetze und dann sofort über meinen Mac im Terminal einen Token hole, welcher übrigens immer ohne Fehler kommt, dann funktioniert auch der Adapter sofort wieder für eine gewisse Zeit.
Hiermit hole ich den Token:
% curl --location --request POST 'https://api.authentication.husqvarnagroup.dev/v1/oauth2/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=xxxxxxxxxxxxxxxxxxxxxxxxx' \ --data-urlencode 'client_secret=xxxxxxxxxxxxxxxxxxxxxxxx' \ --data-urlencode 'grant_type=client_credentials'
@jpgorganizer
Kannst du das evtl. nachvollziehen ?VG
-
@jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
@All
Zum Error 429: aus meiner Sicht hat hier Gardena ein Todo. Seitens Adapter kann man das nicht lösen. Man kann sich zwar Dinge vorstellen, die man machen könnte, aber es bleibt dann immer noch Flickwerk mit Lücken. Gardena sollte das Problem kennen und meine Erwartung ist, dass Gardena das löst.ich will mich ja nicht zu früh freuen, aber der letzte Error 429 war bei mir heute (29.07.22) um 13:19 Uhr. Sieht aus, als ob Gardena den Bug gefixed hat. Ich hoffe mal, das bleibt stabil.
Wie sieht's bei euch aus?
VG jpgorganizer
-
Kann ich bestätigen bei mir sieht es seit heute ähnlich gut aus.
-
@jpgorganizer der letzte Error 429 war bei mir am 29.07. um 14:52. Seit dem ist es ruhig geworden.
-
@jpgorganizer Ich habe den Error 429 nun auch nicht mehr im Log
-
Ich hatte mich vor ein paar Tagen an den Gardena Support gewandt, vielleicht hat es ja geholfen?
Auch bei mir war die letzte Unterbrechung am 29.07. gegen 15h. Hoffen wir mal
-
@netfriend sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
ch hatte mich vor ein paar Tagen an den Gardena Support gewandt, vielleicht hat es ja geholfen?
da wirst du nicht der Einzige gewesen sein.
Hast du von dort eine Antwort erhalten?
-
@jpgorganizer Ja, ich habe eine freundliche Antwort erhalten. Ist ja gut, wenn sich mehrere Leute dort melden. Dann erweckt es nicht Eindruck, das Problem liegt beim Einzelnen sondern doch eher auf Seiten des Herstellers.
-
Seit gestern 15:17 Uhr auch kein Error 429 im Log mehr. Auf ein entspanntes Bewässern.
-
Bei mir ist der Error 429 jetzt eigentlich auch wieder weg..
Dafür bekomme ich immer mal wieder einen errer 400
smartgarden.0
2022-08-03 11:01:29.579 error Error: request returned 400 Bad RequestWenn ich dann die Instanz neu starte, ist alles wieder ok...
???
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Dafür bekomme ich immer mal wieder einen errer 400
das ist ein allgemeiner Fehler den Gardena ausgibt. Der Adapter kann da nichts machen. Versuch mal den Befehl neu zu senden statt den Adapter zu stoppen und wieder zu starten.
-
@jpgorganizer wie könnte ich denn abfangen, dass der Befehl nicht kam ? damit ich nur bei Bedarf neu sende ?
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
@jpgorganizer wie könnte ich denn abfangen, dass der Befehl nicht kam ? damit ich nur bei Bedarf neu sende ?
du solltest sowieso
activity_value
überwachen, denn sonst weißt du ja nie, ob der befehl ausgeführt wurde. Nur weil er vom Server akzeptiert wurde, muss z.B. ein Ventil noch lange nicht geöffnet werdenIst das immer der gleiche Befehl, der auf einen Error 400 rausläuft oder sind das verschiedene befehle? Mach mal bitte Beispiele und ggfs. Logs mit Level 3
Ich habe gerade alle Logs seit 29.7. durchgesehen. Ich habe keine Error 400 und auch keine anderen drin. Und ich habe täglich verschiedenste Befehle angestossen. -
@jpgorganizer
Ich steuere die Duration_value eines Bewässerungsventils an... klappt 100x hintereinander.. wenn dann aber ein paar Stunden ins Land gehen, dann kommt immer wieder mal der Fehler 400... der geht erst weg, wenn ich die Instanz neu starte...Logs muss ich noch provozieren / erzeugen.
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Ich steuere die Duration_value eines Bewässerungsventils an.
immer mit dem gleichen Wert? Machst du das manuell?
wenn dann aber ein paar Stunden ins Land gehen, dann kommt immer wieder mal der Fehler 400... der geht erst weg, wenn ich die Instanz neu starte...
Was heißt "ein paar Stunden ins Land gehen"? Siehst du eine Zeitabhängigkeit?
Woher weißt du, dass der dann nur weggeht, wenn du neu startest? Was hast du sonst so versucht?Mach mal ein Log - Level 3 einschalten!
-
Ich benutze den Adapter "Gartenbewässerung" ..
Der bewässert morgens um 7.00 und abends um 21.00 meinen Garten.. Das sind die "paar Stunden"
manchmal klappt alles, manchmal kommt aber eben der Fehler 400 , wenn ein Ventil schalten soll.. Wenn ich das Ventil dann manuell über den Adapter nochmal schalten will.. wieder 400...
Dann Instanz neu starten und alles klappt wieder...
Log kommt.. aber heute nicht mehr.. ich geniese jetzt erstmal die Family
-
Hallo Freunde des automatisierten Gartens
Ich bin aktuell erst an der Evaluation und habe habe von meinem Nachbar dankenswerterweise mal einen Anbindungsversuch auf sein Gardena-System machen können.
Ich kann die Daten der API auslesen:
Leider habe ich es nicht geschafft eine Bewässerung zu starten. Soweit ich mich richtig eingelesen habe, müsste ich bei "duration_value" einen Wert in Sekunden eintragen. braucht es noch mehr? Es hat leider nicht funktioniert. Wo könnte ich nachforschen?
Grüsse
Michael -
@mimei doch... das ist schon richtig...
Allerdings sollten es nicht nur 5 sekunden sein, sondern mindestens 60 .. oder 120 ... Denke in Minuten !
-
@mameier1234 Die Schnittstelle zwischen SprinkleControl und Smartgarden habe ich über ein kleines Blockly gelöst, welches hier im Forum und auf github beschrieben wird.
on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Terasse']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Terasse").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Terasse'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Terasse").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Terasse'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Oben']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Oben").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Oben'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Oben").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Oben'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Küche']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Küche").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Küche'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Küche").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Küche'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMmguTXRhTlFJMEgoSyU2MCU1QjR3ZW5XfiUyMiUyMHglM0QlMjIzOCUyMiUyMHklM0QlMjIxMyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJZUCUyRlB3WnElMjUxOXBORHdJUUhGTCUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWphdmFzY3JpcHQuMC5TcHJpbmtsZUNvbnRyb2wuUmFzZW5fVGVyYXNzZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMk1vKnQlMjVUdVppJTI1UEYlNjA4ViU1RUdJJTYwLiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiU1QlZJdEg3c2VQWklUMlJRR1BuKWklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMkMlMjViRSUyQiUzRipTJTVEJTJCU0VVJTYwJTYwJTdEISU3Q2o4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9UZXJhc3NlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3Qk8wNmIqZkdWQSU1RCU1RDglM0FfJTNCSihkdSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyZC0xb3hXa2FJTnRzVWVjISUzRiU3QzUlM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI5elMlMkZTJTdDdGdNczQ4Y2MlNDBDJTQwVyU2MDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwc3RhcnRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9UZXJhc3NlJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJrJTVEQ3dlJTI1biUzRCUzQWRKVlI2NCU3Q0RuWnAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWFydGdhcmRlbi4wLkxPQ0FUSU9OXzkxNGU2MmE3LTJENTM0Ni0yRDRlZmYtMkQ5N2I5LTJEYjcyOTEyOWEzMjhhLkRFVklDRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC5TRVJWSUNFX1ZBTFZFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLTNBNi5kdXJhdGlvbl92YWx1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNDAyRSUzRCU1RW8hZ0ElM0QlNDBySk44ayU2MCUyM2QhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMzU0MCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlN0ROJTNGJTdDZC5UMCUzREMlMkMlMkZQJTJCY1ZsN0clN0MlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJPKlBleEMlM0QtOXJQUSUyQiU3Q0lqWnclMkMpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyZE4hZiUzQUklMjQwbWF4ekxmaGIzakQlM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuU3ByaW5rbGVDb250cm9sLlJhc2VuX1RlcmFzc2UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyc0NQYmFpdG9xREUlN0IlMkZhITNubmozJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTNEJTdCcDQzaiUyRkQxR1VEN082X29UbnklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ5YiU3QyUzQSUzRCU1RGoxYSU3Q2xPJTYwKnhnSWo1aiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VTcHJpbmtsZUNvbnRyb2wlMjBiZWVuZGV0JTIwQmV3JUMzJUE0c3NlcnVuZyUyMFJhc2VuX1RlcmFzc2UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMmFUJTdDbUslMkMzLnRsaHIpdSU2MEVWY0YlMjQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWFydGdhcmRlbi4wLkxPQ0FUSU9OXzkxNGU2MmE3LTJENTM0Ni0yRDRlZmYtMkQ5N2I5LTJEYjcyOTEyOWEzMjhhLkRFVklDRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC5TRVJWSUNFX1ZBTFZFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLTNBNi5kdXJhdGlvbl92YWx1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjE0JTJGTDUlM0R3KSUyNFN3bGclM0IlMjN0MUFzISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VTVE9QX1VOVElMX05FWFRfVEFTSyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIlMjVoMiU1REZjJTJCS1VrJTVCKmVmJTdCeUhTYmolMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyaDElMkIlNUQlNURvMG9iJTI1WVVOZElEaW4lNUVOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIycUlOJTVFJTdCeCElMkNxV1BsJTdEYzElNjB6JTI1JTVEJTIzJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWFIyQnBFZjlyOGwlMkNUJTNBUFBHNSUzQiUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyNEdaTX5vZ1YlNUVUKlZDZ25FXy4lMkNwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnYzKHNCRG16VDcqJTdEdiUyMzRwKmolM0QoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIlNURlVXRhVSU1RUVyaTEyY2FXKUpDZVYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ6UFElM0Y5eiUzQVNtRElDYXBTT3pXKHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwc3RhcnRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjI2NEtIRCU1RDBMYlFIc1FuJTdEQS5SJTI1QSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYXJ0Z2FyZGVuLjAuTE9DQVRJT05fOTE0ZTYyYTctMkQ1MzQ2LTJENGVmZi0yRDk3YjktMkRiNzI5MTI5YTMyOGEuREVWSUNFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLlNFUlZJQ0VfVkFMVkVfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQtM0E1LmR1cmF0aW9uX3ZhbHVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmNwSEdsaCFmfnd4eGJhJTdEVlNsLlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UzNTQwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMihzJTdCRks1MDU0JTdEYkVWXyU3QkVtMUljJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTVCa0IlN0RrJTJCMi4wYmdHJTIzWm5NbkV6NCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMm0wJTYwJTI1bzYlNURMdWt4eDhkJTdEJTVCQyUyMyUzRjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuU3ByaW5rbGVDb250cm9sLlJhc2VuX09iZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyfnJvJTI0MCUyNVQ1JTI0OHlzR3pHJTNGbHlDTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyNSUzRklqJTYwd3glM0JvJTdEWiUzRk8lMjRJb1ZRd2wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIxfiUyM3VzUSpmMUFqJTI0dFRuSDZpaGclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwYmVlbmRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJGJTI0bnJTcE0lNUVTTGolMkYlMkZoJTNBViUzQU0lNUVBJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hcnRnYXJkZW4uMC5MT0NBVElPTl85MTRlNjJhNy0yRDUzNDYtMkQ0ZWZmLTJEOTdiOS0yRGI3MjkxMjlhMzI4YS5ERVZJQ0VfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQuU0VSVklDRV9WQUxWRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC0zQTUuZHVyYXRpb25fdmFsdWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJUY00lM0FMJTYwbiE0JTNGekg5JTJGJTNBMCo5WWslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU1RPUF9VTlRJTF9ORVhUX1RBU0slM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIycyltNXolN0I4UVY5JTYwciU1REJHUnE5JTdCeSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJlUklwZ0tzRGR0ZmUlM0IoSiUzQSUyNUd+ViUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWphdmFzY3JpcHQuMC5TcHJpbmtsZUNvbnRyb2wuUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMlUpeGQ0aiU3QlElM0YuUDElNDAlMkJTZCUyM3BJTyUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMjN4dXljREFkMmNwYUVRMGIoJTdDKG0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJGKGREJTI1OFJ6MSUzRDhKJTJDT18lN0Npem90JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkl4V3V4JTdCSiUzRlIlM0FRJTI1R2NfYWIlNjAlNDBwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJBJTI0JTNGSzklM0QlMjVGSFlnJTJCSCF3JTNGSiUyM2ElN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0R1JTdCUSU2MExnSnglNDBKXzMlMjNONColM0JIJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNwcmlua2xlQ29udHJvbCUyMHN0YXJ0ZXQlMjBCZXclQzMlQTRzc2VydW5nJTIwUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydFJ2THdxIWlMTlJqfl8lNURvVyU1QkhLJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hcnRnYXJkZW4uMC5MT0NBVElPTl85MTRlNjJhNy0yRDUzNDYtMkQ0ZWZmLTJEOTdiOS0yRGI3MjkxMjlhMzI4YS5ERVZJQ0VfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQuU0VSVklDRV9WQUxWRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC0zQTQuZHVyYXRpb25fdmFsdWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyM2tpcyUyRnBmJTdEMFlWaWhsWVV0aW5HJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMzU0MCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ1M290WHF3Wk1JeHolMjVtaHN0dmZBJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyeHd2VW9NJTI0VSkycll+b00uOGFYbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyQkJvdShDSlklMjN+KDNWNCUzQnB5NjFLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMk16S0owaCUzRDUlNUUxN1IlMjVTZHdSVVFwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyNiUyRlFOJTdCRW43VnU3JTQwUEwlN0MlMjQlN0MoWCUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnVuUzFNOSU3QiU1Qk5ZUCUyNXh+ZGV3akRwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNwcmlua2xlQ29udHJvbCUyMGJlZW5kZXQlMjBCZXclQzMlQTRzc2VydW5nJTIwUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyTFklM0RxbVdGJTVCJTNCUGRqMkFQc2x6JTJGTSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYXJ0Z2FyZGVuLjAuTE9DQVRJT05fOTE0ZTYyYTctMkQ1MzQ2LTJENGVmZi0yRDk3YjktMkRiNzI5MTI5YTMyOGEuREVWSUNFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLlNFUlZJQ0VfVkFMVkVfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQtM0E0LmR1cmF0aW9uX3ZhbHVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyRjklMjUoeDhmJTNGNDNTbTNYYyU1RSUzQSUyQjBSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNUT1BfVU5USUxfTkVYVF9UQVNLJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF