Pubsubclient: Problem with callback function

Created on 12 Jun 2018  路  6Comments  路  Source: knolleary/pubsubclient

Hi,

I try to make a program with your library but i can't receive nothing. I can publish all message and it works but i not receive nothing in callback.
I connect to the broker with app in my smartphone (MQTT Dashboard) and i receive the out topic, but my board not.

Could you tell me what is wrong?

Thanks

#include <WiFiEsp.h>
#include <PubSubClient.h>

// Inicializar objeto ESP8266
WiFiEspClient espClient;
PubSubClient client(espClient);

char ssid[] = "prueba";
char pass[] = "1234";

int status = WL_IDLE_STATUS;
long lastMsg = 0;
int value = 0;

void reconnect() 
{
  // Loop until we're reconnected
  while (!client.connected())
  {
      SerialUSB.print("Attempting MQTT connection...");
      // Attempt to connect
    if (client.connect("prb","prb","prb@"))
    {
      SerialUSB.println("connected");
      // Once connected, publish an announcement...
      client.publish("outTopic", "hello world");
      // ... and resubscribe
      client.subscribe("prueba",1);
    } 
    else 
    {
      SerialUSB.print("failed, rc=");
      SerialUSB.print(client.state());
      SerialUSB.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(5000);
    }
  }
}

void callback(char* topic, byte* payload, unsigned int length)
{
    SerialUSB.print("Message[");
    int i=0;
    for (i=0;i<length;i++) { 
      SerialUSB.print((char)payload[i],HEX);
    }    
    SerialUSB.println("] ");
}

void setup() 
{
  SerialUSB.begin(115200);
  SerialUSB.println("Start");
  WiFi.init(&Serial1);
  // check for the presence of the shield
  if (WiFi.status() == WL_NO_SHIELD) 
  {  
    SerialUSB.println("WiFi shield not present");
    while (true);
  }

  // attempt to connect to WiFi network
  while ( status != WL_CONNECTED) 
  {
    SerialUSB.print("Attempting to connect to WPA SSID: ");
    SerialUSB.println(ssid);
    status = WiFi.begin(ssid, pass);
  }
  SerialUSB.println("You're connected to the network");

  client.setServer("127.0.0.1", 1883);
  client.setCallback(callback);
}

void loop() {

  if (!client.connected()) 
  {
    reconnect();
  }
  client.loop();

  long now = millis();
  if (now - lastMsg > 10000) 
  {
    lastMsg = now;
    ++value;
    SerialUSB.print("Publish message n: ");
    SerialUSB.println(value);
    client.publish("outTopic", "hello world");
  }
}

All 6 comments

Sometimes i-m receiving but i receivve this>

-------------------------------------------------------
Topic: +IPD,3,2,141.117.159.111,1883:2%
+jh34lk5j2h34lk5aa1v@
Mensaje recibido[000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009811020000000000000000000010000000005004154E020802300000000090C02070030000000000000000000000000D0C0200003000000000E012020004030000000000000000000000000000000000000000050D0202003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000240000001000641102000000000C1402000002C000A4F4BDA3132372E3138392E323131222C313838332C353335372C30DAD02C434C4F53454440000FCFFFFFF50F5003C100202000010000001000D81102000002000110020E0120200000000000008100FCFFFFFFDA7AD818BE5D401302000002000118FEF8100FCFFFFFFDA7AD8736FAE17E8BF313784E9956E7E739562C7E7C214E9B8C9782310FCAD51CEC6192882D19C7CDCAFEA47D68BDF179414B73DFA768E96A4F052E17763FAD55AF5A1BFEFF0F74DE9BF1F90ECACBEB531D167B5B6B7A3596A8067C33C68C1A68EDF621777F3E43A95359344BACFA427797EF67CF14E492313B8417CFA8BFA9FADBE38A37C92D37E28E9D1EF3D0A99F1C3651AA858CFF53AF79C46D73C453E4660E8B626621118D1B4CDAB4C71B5529898C467B4593A7153F3D2E5F6FF74EC737AD26E05F677F2A9DBBF5CFDE278391B7E2A8AB784928F7F96EE78100FCFFFFFF8E6CEA43839569A8E243EA49DAB0EEDC32C7D9E3E7DF35F8100FCFFFFFFDA7AD845AABAD3FAD7C34D2F24C846B8EC2C35CFDEA8B343D7E3E8F7AF268FD0D8E89CA64D46E61536A7667BA09038E7C56ED5CD7695E3BC31FD3085B3AD1D32C6B13ECDC82F8FF3982D5C995A3CE1563B9F164E5CF254BCAEDF6956B4397C367FF5FF2B5BC34768FC2F2AD4267508AF7B255FD75A7AC65624933583519EF12C6BA16DD8E0E1F8B0F0661C43E71F8F65395F7E2C26FFD723F6A7A08892417C85B134BA44ED6E6B408FEC5934D616706D85B3E405CB3DBB63753398D933DAA2E3CB4CDF5EF6E5D2F828D77D556959B1250EF9707C4E8BCBF2B2C000FCFFFFFF0000000015000E00010007500020002C0000000000015000E00010007500020002C00000002FEF74B6A0EEA1C05A932351B00BE7F49156674E9721799FE5FE6C66BD9ECFC665D7F871030BF573D50EAEA354B31545A483F47AAEE0CB777BDE22C5DB9425B13D0247CF4AFC6DD1A95837818537127F4F85E5F2F58FF1B3A3FD6EB3388D1BAFB8CBF6F3946E06FC6E66C8BA377B2713044AD1A6DBC1EEACB5251F1B786ED294BE0FFD2E95C3F56255E8F69723F9DBDFFAB751C638F3F8AD0BBD6B68759D513B1130BF48209330DEA875338D3BB6293CE04414E0D3E2986276D72F50A518F42A2DA612C571A5AE92486C49B2180BDFA18C373ECE6BB1A1CEF5971F02D1ED0EFF4787A2C783F1B6B0231852DD3765A6DEE4A2E3ED79AD42DEBADFD379D6AD93C7A335CE5F6B4B8A584539FA14863E98DFEB2A61E7D4D3C141A2F34312F292253823CA7A4DCEF92ECC4590B7727D958BDF5F57FB09C5DF96BDAF544AE6FDD94832BEA38F47673D099DAEB6DF9A8D472AA56A59B4C46B44219E973F885638899F3CFB1F990F3BC9EFD9BE4FEBFEBA11823EF53AD52D51C961FD87941A29A555C7862DB71BA3596CDE169B02FF4F8AFDA9E8D34B65A8A2E79BFD1EB23DBBFCB175D6746A474C8C9B74E72696ABDD15D6A3B3F5F94AE8457AF5EED1DABA12FACBDFD5D3491B99C78F87A621E71F84F5C57481B1112FF1D5D74555925A828C27359E38B955FCA11A4E78DDB690A7FB88AB56F7E3F2086ABE4E4557339EA196D334F45CC7F9335CC0EB7C5FD494AE11593172F13CC675EEBEE8987E87D6FA56A5F7A9FC1F1FBF68E8B23598DF31B54CA883C28C5DAAF9767E9841FD7F065FCA57560BF669271D696CD1FF7DEFFE3805C4ECA63DC286593EB1F8AFA4275EC1B86F181938E70FBAE9BDA3935181B7AFA6D16D59F544CFC67221ED977E436B79F9DF5314D8C369D3F1279C0B161338BD8C3EA4D06F286483A2D79B72AE70D8ABA47B8B7D696AA0493D9A55493FE56216EE253F19AB43F9D77386EFD0FC8FCD8BD51E6737C9A2D3F44F2FAA16D9FCD41C74941B178C79C62152DD917FBB95574E39EB63E375BEF554CA65A14BF830CE2F3293D9DB1CA73F1BE4CD73374BC81DBFFADF712549A0EBBE4627EB7A5EABD8B61295222E2223AD9895455CC3E1E9E1DF5D73B46EF79FB2492FA7CFA2C3D2672AB65DD9CECB37D369C7FF3FD1788C4AF592A21E2B91721F2EA36C84C359A6B06F3074E3BA5C695DF535CE9FC929129757762D7795AD59E0E9DBD92F1AFA169AE906ACA5FBB65CD73B3FACF3697CA56263D4DF2813FBEBAEB95249C96151591633A632F9EE9B46CAE5BB35DDFCC14B3246AB67F8766B38DDA854BD0C519773154BEC68BD4D0C51CB840A07D651FAE557B75BCB1F5ED2818956BDD80466F0C67514387F0CBF4B69F751A6A2DF6C75ACFB1A28AEA8FD09FEDDA4D897F614BD86FF17A89FE7064BFCACE863DFA8ADA57BBF8B25486C7795ABA13F4E2DDF06DDCA8ABF7BFB2A5E365CE8C2492DDCD9B73D8435978153BA27C7CD7EEEC56C9B97C2ACFB2775CD7512443814E9E90FCF5D9387FBD80DB7FF473A028BAEC363DF92DC7E8D5FA881415EFB7C061866E5330C7DEB2F5B6BBC96070FC7A9FB45F575CF42EADA67EA45E884CCC7097BC13E94935375C26E127C3C5D4C223A2D8CA991A97B729F75907C41C9B97653CD701981191BFAD396AF778192C39637623D1212CCDDD7292D71C809C1F7536C4514877195CC22AF960881ECEB6797DC3AD2CD1B5C6316AB32CB9393CBECABB2CFC2D2C8F8CF7165FCB2324343CE5797E46EFB80F2428BEE566A345C9FEC417D83E76E8C2626FD58F4FE4E57CF88A25ACFB98E152FC8E519E63E5EF6EB5ED7B73D90E5DABB35729CECF6F6A2C661FEAAA5C4365D6B89364F8D4613B9DA5342C90E0963640402954597F3075501127C0B1E17B719724E27D7C1A67A4487F968C49F2BE8ABE7C28AB43D1DD9109DC63D1EC83963CF9D9F02FC6552B8BC863DCCB1F06D76BBCF46DB5E28423E72FE778D7E7682C4D55C213C9A576FB3C2D2C8AA036CF4F3AD6DBF334F98F7380B2613D4814D1850376243612E9CF71BE1E5281B39B66250D858E5B51C15A4F165C92897A7376EF281C82C105E7BA2AC2BDE8C2C4C68B2D6ED3E043352AC6124E9EB294C822E451A6798985978F5D1D445FB8EFC54E5C998828E91A2832288B7EFCA2FEF73E46A4E98D8637AC4D30E036C9675BDC65A82382155C72284B65823B59F76FD5C2127BAD3961D9A27BB26F6714AFFB033648170DFB7D49C93D5A9EE3FA74A661EA2B60EF15467C5E7530E0AFD1C45141FA276D3536FF624C96DE46BD7BC069BB346C47A15826BC12F3B9442C7655736B21C054F576307DC4F6924DBA7B72F7E4296F86F3E35C61A7F2DAE43E16E05E593EDFDC6FC26B51B0D7F2B7C5E6FF3C11CE77B9A323DCAC0CE124A562DB03FEA9DA2E7F6E27DD93F88CC1F3C3D1C357D92DD258191ABAF655EF78EC48D5AEAF3A3D7BCF857C87FF56D102A91EF9C04015C67128A6D39AAA14FDBB180FE9B290C0F2A7BDDB37D4F4B56261FDFC30FDA8C5E7971584DF1794C0D16757442A327C52DB9DDB2F7D945ABF90DE17F7A9327352EB5017DEE06D3738935D33C2CDE33F3CB1468FBD2DFF8784DD0B7AA75976A6D336F7B742BAA329E6986EB6A16AAFEEB3AF2F2C5967A32203CC2FCABC58D40E5EDB9C52B9DE34EDCC2353334366C36D5DE45B86712869812E39796AEE11DE0A19A58367B2D104F77611967CEA8343F73B38632ED6D9478B7C6C8E8E27A7A699BFE8E38BD55B29D6EFBBBD6D6E643161B5F6C7110E79D47C2EA7E3A164F42D4E37812D9BB9C94792F563CDFB27989C34F314B848ED793A54D21B3D37F79CE1EADDCBE48285691DCF5B602154CD7B2CFA4EEF3BA315B6D9AA1867907651DCAD8E805069ADB3B4FBF47985FF44128B48DBEBDCB56EAE5D7BF2C3264CE4F56A4F55255721C5ADA9D8C70CE8E38B146C24610746F3E564CB7A9B64474766745C89D1597129DE65E99451F5A3BC1FABDCECA8B46D33F5C5B67A6DE5E9E46E1D5672B4C75C3B6E86978B99541098EB18E9A45BC2BAE55BBEE090487216A6E93EB688C9BB38AB90FED4ED36B96A87AA4403A5DEF03EBB5BFFFDAA89F5FC35FB8F20BCDF51BAAE52DAE713C92F617B9289B585C301A5D3E2EA96566F8D9A3DF43D9C58F8F9969571F2F7A23CAD4F656521E8FEB779D7809EEBC531C9D0FD4C328AFAA84484E32B727EC915F72DDD95FF5F39D3649BEF0DE2663584951D73687DFB9B4BB65C13BA69D41A2914EEBD3E157DB7319DEB432E7114AC8EE7BB91F422DFE536E1ED56AB83C79781AEB55E43E9E59F98B327185DC1E2E28DE94C47E0275CB816E066D4EE5E619683BB6176893389DA410901C75991AD46055749CACEFB5346B8A3EFC4B78849ED23BBDC59321FBE8E575E719904A44D542B822B4781CC8E2BE76BCF9785F9BFD9A7C6FCD68913B43074FC30521EED3E9EF95B1144F455DE9A34B8AB16B46133EED8DC14D02638EDBB74537B3B6366A8643935CDD94499A2F776343D337FC213FA7444247E2AF19D8D62855ED8F1539D55FF6BD668270BEDDA49A609ADDABC6C9ABBFAD5B6C1D59E840ADE9A31E249CDCA3CC437C9B3B9630EFDE2B49D6AE9AB5F31974B9FA66AA93953157E56F53C42106D68D8E7417411F986E3331E5AD38E5B77D7622EDFAFA72E6126A77629AC11D6E62F7D46B67C6FB4B6E030DD27DD56C676AAF18F670186EE70A93ADE31BFA5433867B348FA105BDC1FD48D93FA11A6DBABE8AAF848B79927C6B24755FC52BC77D5775D694B04FDE20D08EE0DD3B4AAFB97DD9F566C0FC5EBAF39D827D85F2B2C7DB9D3D3D324A82CD18C729EE93A86F1436F42DD695C166BB9D5853C1BBBC143D3657EAEC1F60CCC8A21303FCA5C9E5E0E9E8E37BE7947A7AC77DFD7DD9B61D9FD3F78DBCE47BB3634B6DAD84472EB5FA27E5823CB032E1D41F9A9B7867972D58B17FDD1742B7FDCC682E53D7EBD1D877815BA61A3A60CA9E47C7E2DBA0C8084C794A935753AD4414716C42EF979F24C561A14138E14E13B7934AAF2974B85B8FA7E1ECDBDD2B9C8DA962143B01C63692B3E8B3A73F3F32E7A6D8FD77FE9CC6D4FD855E5FCAAAD4A71E731ECE13CFE22CF05E79E4AD3BCB43157BFEC45E260EA42A4EDD4AE8A45B5AA6119D08AC1FC7A8C65F6BD0A09250BE42BE9DEFD25B214ECA75CA7E0E61FE3AEEBD95AE760E8E0218E30324841D938DEC4BF2DA280E4AA5796AFF755F6CDE4A9336E3BEF53966EFA4B4CC4DAB57AD25F03F69554D399265DABD85D8DE2F425A4CCFEB46976FBE8F6BB01D9BE35A2596C6936C4F9DAD2A652D6B88911D8B3E79508F1C2F8ED8DDE621519E1193C983CE65AD2B9727679EEE140B389FC490AF27C81943C04760B6ED5AE1F0F6884B59F67183C06C5373DA7513681C2BE63D78F5E825B1717E341261E4FD23E5ED8E1748B510AEC72B54D91DD96944E81FEC7ED88E6E10B02F1BD4E2F7FC536A457FCFF6ED2708B837A4DFCD7B2AF5461B45D343E851ADE51348EAFC231D9EC79483BCF3CFF938FE22C128BBAA87B37BD3A38BCF6379D404527F3D19D225AEB1FCE9DF130A2C4D1F52221EC8FA77844EFCD3AC079B7CDDCB7FBED316986EBC69C25B9FA884791C619C94065B64915B257E58E4F3AEFCBD964C36A32A27E1211B6F9C8783F9FB9AEFD19411FF762C0ED42575FBA5B8EB1979AA6C21B7F0F078727C4915AB987D777C897ECEA65FB7513CC852D24D4017E166E9DD29782154DAF131BC8A99B628566EE2597692A3C89B5D5E979E577B96CA6804A91677DD9AAE3AC8A8B35E88F2A46643FB5EFB1B4991C12F581D76856F1B1CA1ECBC846A5B520BF6659F55A789BAFF41932443D153227B329FBFCDAF38BDA776E536FB54D3C97539BECE6FFFEC589C8F15D5DDCED86F98D504B7CF7779463C4B13811FB17D1B8687B6135A55EFAFFDCD16D03EF57FFE904D7F8FA87FC01362FF13E12BC9125BC7752D9AF05078D363F64142294E186AB59BEA47BB9EED58F0E095F5713EFD5C12BF3A19DB8DE465C928ABA02210A729CB8FBD145B54E25D3F42E35CD2A391ABA777FEAA4ED1D4CFEE8CEF227DEC897B75714B93C18E7BB43B25471D13623422D9F7E5532319F4B711DD965DC06C2F0BF3CC8981833B2DE3557CED7CD587B1FACFEDA30F0A39E77E561E30C3C82A91A75850E07E6BE8AF6EF3E3B491ACEFAB44FE1F51834EA68DBE546C3D2AB2B335D16E7DAF1C4EB333D668D2F59F65D493A2164A76FFD7C6CFE3C7C5E69825E2BA7F5C75B53DD5D97E50F33957429CF84D911BDAC7F9168867A92C6BE92B639D12D1FF5AA668162DF4785F9BDB937B33F31EEA62CD5A5E2E8902218316691578C5AE8F68D83E642F2DB66966BE1D823125FC275DD90B840D81FCAA88E58B1EF5DEFA650D163CB339635F91C2FD85DF55D91A783FA3990A3B07FAC3C694293F0FEEC5681D0D066DDE39317EACF5F7F945E7CABBDE6EA644FAD12E7FD4C84120ED32627AA9FC97582DD69A59683F7C4A86C8AAE6ABD1BABE13F6D35CA7DF499FF2CAFF44BF072A33E47A7E86848365B178B6EE4261773B590705CBAB8E17DD4E69D8486BC6513B332BF756A31568998DE6F89A619771AB924D6221A3E74B3DE5CA11777EF4ED2FDA85214B324BFE636A4D17C272B78E1FF51579D63FBE7F5F24FD4AA76F06C8DD2A0CDBF2CB45A53719F62BA17FEE6B47BB7722F62D511672958086F46DBFCB99BF21272BC1A22D7ED3B27DC517CB842DECA4A40FF1DCDCF6544FA2CE8FD3BD49AF1CADAF37B1997419CA9CA3F5E6FA445A4F99BC58F9E6D73379C7C4571BEAAA36BECCC621C737BAD928C89890AEAED924F9DF64E984E79C2D779FDA1DFB0947E75A7C91A698DF7DC53612F970ACF39F8B87BAAC89E9AE9617E0E8D6CE9BE11FB51C692BBBE9AE5F2E38FFB7E54B7E16305A1EF727D9FE0ACD8E1E02C1D66FBF7D96029F7631E5D252CDF32BC3B76D645FB516FCFDE7C45AFBCA9EE795A7F8878485BCCB256CF5E8E4B9C6F23DAC60CAD85C32293B985F8FAA15A7945CDA79BFDB85F0DA432BE791DF561781638EF982DF1975EEEF36778831964052DCB5A72BD6122E1BAADD0F8A75516C13C5CF46E79628B321EA36D18369BB6E44C3112D87D429FA4F9468FEB8283DAFBE7C8B965A93FE18FE1BC7FA07FF9C5F5248C1D883B71445473F099D6DC3CA33265B2F2C939C15B33347FD3EDF77EFF45DA885AA8788E2B3EC79EB762243F897D2CD1C0326A6167DA3EF345ADA94E1818118F563CC77F89E47CDCB305994A2FF96D3A29C42022BFCF39E5845FBE3D515CFEC8277A39F4FB4A3B6A7C465E21D2D65713C8661A3797C7E8E6B79D5D83B4B32CE1FA2E1DCF5836C48D59AF9BD1B55E4C22919A1999FED9BD418BC1CC67323B38963917272937E07BAFE13443DC366F12859CDEBDD606EF9AD27A8956599736FC62597EF19978710A5B16AF6FC6EFA2C38BE9945B476D1548F927DBE21B917CFE23F6AFDEAB32525E5A72B9BDBD89FA183E758E56F13561EADB42DD21E248EAB34D45434238724348471C5FF7B51B915ABE91965970FB2A41EFEC8ABB5BEF6A875E3F973F117BB41A361F3A92FE277F58B2B3EA93B7EBB8D5CA5247C4F34D67F146C1224FCFA79E17CB809F38F330598F6DB792B69B31F8B018D08BFAABA7FE21C39D582FC2FAD72869189C59B189F21EC7BC36AC89ABEC603DF637DFDC6C2C8B25B2CAE687A8462E80ECECDF31E1A8EE65AB375C351505C5175326AED6BFF24BB33ECAB4DCAF108C3EB3EADB35AB5B3BFB6797BECD4EB673AF39E2D1898D79A12441D3BDCE4801B275847A1D587C8289238B96F679AEB56D75682CABC23F5DC39C3B9DD52FCC236099985D9C4479F32294C0BB3EA6825D098C67C9636EDDC2B85BE6E30E5AB8F67EBDBC177ADE774A3F57F4B36962423A799EB9F909CDFBA596B3C5426FB64BEE232F959F7CA4FC44BEC2BA8812CE715740D33CC2DF6CA54EE0951AB82EDCF539BC518DFAF890A83E82ED278A472E9B1593F3B167C8F5415959B1B3CB3E8BE60A492EF535495D3C2E3161DAE2D493DE3C6D2777B9928F21C222307A94A0B5C7880CD7A359E1B394A0121565E35251EFD2B5E9EE28AA9FAEE11CCAEAAF4EADADAED47EF38DC9D8515EEBD070F891437C9680A3B898529412A9FADC94D497639DCDD21ABE742CD219801D70BB83D5639563EC9648338BDC9CBC2849FBC3E4D1CCBF76F9E9207DB9CF43FDC0A08D962327D643BFE3B8E6243F6877DA1C5DD5B3A9A38562F6A75CC4071E412727F656C2BDD373977CCEE6A48AD6C2596D80FF7F70D924CA5C184E35217E71AFF856CBF25A3B0234DCC4B404D0634C71DB931D98F82D3BB82989A954ED1893CA7D7BDBCEE2C37C4E76263298AB89D99DA35758C54C78CCD48D694373C5A5D198E32D322BB3EC7EE174C612C7BCCAADDC7949EF13EFE48CA36B52E09255ED615A21E61EF511A965B1C544CD9699E0C4FF1997D456189D7713FF7C427F146C5179C91ED91B547E5585BF29B15CE3816CC2E4F84BA985290836DA5E4573E45DF3793E9A521C833C86FE247C87E12A56F2F53BE685131A90762DE513D020A65CBBDA4BB3ED7F6885AB735556B8D48321C5DEC5546CF7DDB53343621197393B68EC2CD2850F2222AF6FC16531A8FDA5E7A8519384DDBF4BC75602E96DD61A7287A53DBC64CEF9E262CE5AE2F1C3EBC39F6E8A856F8E727CA7E26D2210F5C0192E658DF2FEA7C54DDE8EF525597FE8319E1545FED34A37172AE79A7B3F179CC21AC221C80BBE2CD2795442450F3C3C7C192FC2CA0E7DE977DE7761DF9F90EED98CE77C2EA26422E4A139614A812EA87F13726452FC36676FFE78CFAA7845221B0BF66A790DEA72FF7BEA4BF39C7C44EC4452FFF5147F9244BB45F32F542C5AC0585315F8FBDF3FAD977B7BE38B1BDC3DBAB29B155566A281E466B8671098EA965A21939C6E51F685047EB992C1E2ED3899A88E197A4852E912E1FEBDF59468F18E715F6BBA9AFBEC4498F4E3B809811FC76C9EF203BCC1AA38FC2E35DCDB5A0D4961A77E9B4A459199742CBBAA863379764E8FE56284AFB27219D5FCF78ECE93BADC4172F39DC562A6312A868917FC8F81FBBCA17416A9AE765143F22FB857D45DB6CCEDBD59C2DC6DD99BF6CA18CD1C3784CD1621D18A5A9CA3EF72FF56C43B0203ADB7B878DCAC148E37696E36BAA418D34F16E84C8686677133CD75633E10F35ED10B04694A2F28F3E667FA3DB95B6CA4421F13D9BA379CD2DBD60D2C1BCD089132A73259E32706BB87F4EB54DF37F7E2AD4149E21C33EDB22BB9BF365D7128D92FD1E7EC3CB94E7A84426539B55A8F75DAD9AC6D7B1F7473C73DC21CB7A86D2E9471F81090CD2D64A281773A3F18366B575CD5E8A15FF5B81AB9AB9C5B3FEF32D5F88DCBD2265DCBAA2F7FC49E3B90B352A431F5783D15ECF5AF38A54214BA483464C26E1FE2AD286C5BB7389DC87DC327714AF33C1A3D8F42DF96F3C47D097FB57E0323E77D085136829E1F757EA94771B9452F5FB7E17163806DD9EF94F53730C3FE65F093C31BF48BBBB5478E4D03A68351825E879C577B772C5832F879107CAFCD3CCC3FAFCE32253425FEE235BCA8F7136927C6167CD6455E11271734779280E7D1B9A57138666FD9103348FB7285ABB77D89F44667448A9066969A50CF20EF559FDA516171CC9058D5AA748DEE9DB754A136DBFD91649957AA089F23B4B6D755652A28655AD26D7D2C24926916E1383F1CB919CB7A417FBA0E8C8277EB59C33616DF9C36B6BDCE71C339548F582AB2E94E6AD1E5B8E317819EE3CDFBEA3F25ED0B5DEB69EFDDE5B66D9468CDBB32AE1E9E8FE025268DB32CCB2B5CA5A94E548FDA9FEBB5E583ED9D4599987FE86332E26F23F3286479D1AF2C48819B39F0658F2118EB53A8DBAF93A2D72A725B8C4113A1741011D8DBCC29EC3DDC52C1E1559B224D6BE2B856AAAACAE8C57EE7D221DD7C5ABF9C2EC4527ABBEAFC4B7FB3E93F9121BDA240A41AAC1AC8E47F3D5441D4B53A89D3336D558BD341A9BD9F57A77FC0C1DFA1F1F839F58E0956A2E3C3A84D7FD546F87D8B4FF2ED7DF2DB1371386E9F7596D73BC2AA65E95F3D72234E6FC22FFB07C91604F7B62A1FC26FB443287E747D10E46EAB9B0E7661FA47E5F766303551159461DD9C93F159D072CA963F2FAF13D415BD535C176DAB2D9ECC2FB8293379AFDD9DC75F11EA06B52225FDE4D7F94E776AEFDF5B461355DDC979516F9F92837BDAEBB852F51AA4AD9E5D8553F1A1BE67A1BA70D76AC36C17FE95EE77B9F9C23336F121C094EFB98AEE1F77948FF6499B2C2DD35A6292271C5E13A5DDF2144F6DB2E5DBFFD1B943168195D43CEDE1D3E4C331AD3B99AACDEBB19B821EBA379EDF9A1EE86C84925DDEFFE7F94F46BEDF7CFC24A787698E11D1064DAFAD6DA9BD4D9DF31E82CBA8E78E3E7BF2A6F6DB75A37C15FBE2FEF14B3ED2D7E69FEBBF2CCC5F3718AF8974456C7AC773E7F72B5DBCCE8EC2A3C82883632F01E44E1A47797E488E77E69F48E99F6FA5DEEB4DF37FE37CE7B8E5FB6CC95CF5D7507399B77F75DF4FE69DBC719819ED2E762CDBD4A1B55EA3BA22D786E9828414EE3AA5623E091994C7DB9649BB6FF89924F2E9FAAC05C95FF7A31D9182CD9498D5A1CBE4FBD7471CC9E551B361B4B578FD35E7139498FC97E1883DAB74D8DC206E21A34C9DE2697951441875D72EC0A23F825EBB1FCF93D2C67946FFF9234655F169FE6C4F1EFF3C91CA6DC52277FA4D4C6CCCA29D1FAEE1AB77A715DDD93D04D193E46529F2F556102B8B5F6FE5491838C3DA3E4D75BEF53D6860E5617EEDB75C32E7B8C8D1B3D3E86CFC097EE7C9474D0D1739DE16D9E8989FDB2F92D1840F56D9B8DC2C581274B15DFCD354A9F01927224FD214446CDFECA367AA03227967A64CC5CE0ED397F86E6ABA7187521E89DBAF4432EDF9B677FDF7B5D944E196DA3E0BE8E425538FAC6B4E4FD5F9B4DC992176E7C3CE947A15B516067FCB990358D1FB51DA26CD5C81F16C89A4053D4F8FA82C0EBAEC679EDFBDEA697CB65ACD1E7AFD61FB65C22CC9CA8ECF3F58B765DB493C26E6BB8ABAAE1295045FC4861C487B317DCC49E242A82D925FBCEFF13EB9269959D6BDF65A47E267286EC49B6F8F7F6A971F3AA2F2CEAEDE5873EE4B023FF22DE985283B8C9393B2918050B9A8492EFE1F26AB2BBD330B3C617C16E3DE0D2962B8EF580AC5182D775E3326C1F0FB33EDB3173FE65C1DBF4FE3BB27E142E8493B4B1BC1B658975F377A395C678CC3E6FE7F1E5A8EF3627A2AAC79859C9219386E2D7279E9AD6DB5ACF652B4D2D7DF77CBAEC403F5564A6ACA3DBC2A58CD47C3A22C650B03146F8881D1C86264C12E05A974267527568436A6D03E2028FDF96636D14197939BFA6EEC663412E46FBA4E07A718F9176BF8579B9AE896194A3BDD3A39B0F6E2BD3BA6555A278D1FB75C12D375E1FBFFD29270B93F7F5B10D2FA2CCCDCA78FCE626AB4183E86EB29A4B265E6694B3AB14AFB3DDF4225EC7D66FFE1F611C1165A1D4D2C8E53FDCB9773257C173CF0B5991BB47146F62E26BEE45B4BE2C95FFDC4D8D579747DFECFF9BDBF6FB785C36460D8DFD68C21E1327ED3D75174C943BDCAA5EFE29C19985D898071D187F7673950E76E2A1B304169F2287A3D9295C5BE5BE1E8913C5DAC5FE5724F3FF2B6EA453DE08F11478A55FA7DD54FB116D38DDF8B256E470C0CB52B0EC2D446F5367ED207630ED7FD28B3D704DBD29A7DB94E85F71B39AB4341BD279BF53239BFF35B9AF776A96F4BC37FDFF342DAD9B31B48A04C142D9071C3C57A8956F2A12D85E2554D6791FAF39C7B078B88E77C07FF52D5147C153654FB9BDE35462EB6BC571527B2DF11311A40252B458BDCD6F9DEFDED23187DD3EA08F984184E55EB3275B1CBF156759DC1E40CA779886C25FF873878AA5E8D162FECCEFBB379CE14BC05780CFD82ACBE44133CA031C27EDBF8E824EC572922C589FA9D21FCDBA9C9579092B7C496388D1667F179D45DE47FFD7958392C9374469A38AE563AF343691DE7A2E4585C79463D8B177BAD5B33CDD69A906C4CBFC09BE2F863D9872E5DDE5E2D13376B58A512B3D3D812984BC06583D8448513A69E6FF59F777D2043E6D4AFD93D796AF437BB576DB41CBF7B04973F5DC619C8992874B4BE91DAF7F1952C59DDCAB0F8447425FE7FBA1E474A95FD77ECD2DD416D8235F7E31D8C1B55FE7935175331B138E8CABAC056F4D91BE5564F2032766DC949C773A1F72B575C6EA2C7B9E1BC4F2D3ED91D01E25CEADD748F741F3972B584C5E44352A487E17D1BC439523FC21A92C415DC2EA4DFFD706557C87A4E324B6DC0A0E74AFF7A868AEF2C0F284A2B783B5B63E1C614EAF3F25A6AEF7B08260BC5DDFE67AFD585D6581CB90D03B6D055C9EEF122D4D11DE7EFD78C3B7ECF7DFC77906E67C15F57EACB119EEDDE42B78DD4558CD56BBE33E2B8952E771AEF6727540A85E914E5FAF5758929E5AD2C533D616EA663959234266E27E2E86DCAF176B5E9E805BE94ACD9ABF7C1D6815CB66F19596F1EF44559E47B4799E9DF083E5AB51639F9F14E9D59F68D7C86207A8159E5E92CF17D1F0C8A1D0D01AC8E2FF8B63245E68271266F46225568397ED9F90EB9F9B279AC6F539FD99E332E6A051BC37EF08DD536E56742EE36C6B1296640B97398BFCB4ACAD81E7E5F563F6DB769EEF847AD89DF15420A4E578099FC9BBF6F22A16DB46E22DEB4357D45A12889865CCDD249E9BE7F1FB5578FCA82CE1298DFB7A475A2DCD465B7FEAF1E4C1770C52B5F38B0256173BFA39F27E573E9617DA23382BEABCB756E1463F7435756A7332E0343C651D271E8EAC27FF6141A3344C71340C4F4B18E5D3F6D8CEDD2346EC799B7A28E0349EAFD9C92AFA367D0552ECD318F30D6AFAFC1471A9BAFDDFF3E3C62D2F7667515FBBE5657906CCC128CDFD665CB7C6597B56FB69FD8060B59DAEAF5D882E5BC07264C9CA621C89954B80A48D5807787B448276F7E3CE5CCF02A92B04D18B9E0DBC7429D5DE0F0AFA6BA3E5DF86318AC6CCEB2A71DF5CE70FC29310376E969E8EA6CAF02C859DB75BAA95A45D85F28D23B75C8B9BD3BE0A9536CB93D30FEB59ED246F7EC996ECB31E8858E6AF8D576EA7AF41738BEAF2F9463FCCD9A68A7DBC3D27336EDD6289F8C77E54F5B1F58827E1ECEB209E5B730CB58235DC64919A6568DC9DEFCB9AFC2F5C7A14D711A4CBAD92B699AEF0CD9CA47ED261E7DCFDFAC19FF6F1278B7E5743D4FE29E54EE6CAB63BEEDFE3E6EAFCED3136D68B54C7223C143EC9D6DA72993D1FFE9048A4F2F84CA86D36D75C7A732B4FE1CAC081AED9B950E145B676E4244F985416744A77975BA57B4F0BD98AB83E4EBFA1B2622255A7B4D2E7D0B92BB21680923FCCC6B5641DDC68AAABC3266364EC70E34359FD948D5D46CC09DE35816CC47CEFCE7C23CA39D1FEC53141E8E021C13958E426F2B6F5736EFE6F158F26AB6379BCF2BCE7FE4516F882B4B3D6C5257F75C316DD4BCE9A473DA53172B9634BED1F2CBECF0B3DD70DA32FB4C2D537D6BE58425FB6FD279A7791C12C8D8E533EAEED2A6AF4A37C7B4F11D5A9643B5E7A7F6A387F19C9C97C7796DF5E23D94F382A3DBEA7E345B93EF692F29390E21A4FCAA9FEFC9C2722F07E1D55D44522C47B2889EE2E311FB4730D3289A1F8F1ABBC793F7B0A1DFFC2C90D8C1F09DEDFD22D553D9C1C8F579E1697C671B22B19B7CC3ADB321564E1BC2AC8C6C57D49C80AB574A91B53ED49C59ABC2737F8F3BBB95C3511981657956E4FF3BD2BFCDB72FB689F5CD08F60127D74392FA3D16EA72969E9C598E42D982DCDBDE603A6F88CF41FDA7EF522280E8F28C716D4E4BA1B194B3F5330328CC3F945D2174AE4120796A4F0802FBDDBBDE9772E70381E87AF21224527C221FA527730CD48F9956BFDF35692FCBEC1B244D5E2A36348B8EFC2EC40EFE626FBBE9C9BA3B2E5D4F1386914DAEA7F7B1978DD0C02E18AA6489DC9D5E7DD54E26A0D0AEC4D656CBD1BEA93099A5C83AC682A3CE7BEA35EE8BEC1D2121FA3FCD35E30ADB51D66C4ACC3CF5E1F7B829ED7797B68DA117ECEACF49BD793AB2E426816B1E5D0DAE993A05A85F2AAAFF7AFFEC947AFFA6F7A4CC21A3274BE3A1C7ED0E8A785452EFCB9644775991E81E144CB6607D86F33899D9D7C71114F2AB63BFE878C76A7DAB23AFA3B93D4CAB596E15C9D5453A6AA4BCD81D6597FC9144BD8FDF7AAAE42F79A1C22511F879B3E8437BCE5557FC9AB483884B5AD7278FC71779388E98F77E72E1A88731DC286C99BB475F5A49F262BDC6F2B88F6407F7AAC6A1010F23BD3206ED06CE41758E542BDCAA3A779C4224CABAE1B3BF54E7D747F3AF12EF61B1C11CF1C38E3D2C172475B78D32DA974036C07020EEE4AFFAE58954C6BE837DE84B3581CE63F8AEADFA134B6F6C16C708740384A0F66A5BEBD2C49733A2EB2282FF57C1D54E51B84D9953BCA768B33A3D91316AA36E63CD4AF3D8A3D164B70DB5182F684267014852AF33C579B02759DBBCF0CE5B1D9FFC1067D5B066578193E71C3F6467EFE2EB7D61514A77192EC16BB326CA0B1F9AD75D4153432FF35DBD0B55F1DC84FD2F3626AA5994C9FB86552D77FC34763D3DF7BB4EB98679EBC8DE5083447FE15EEB6527B89F5EFE5468D72E4A53315E374F0E2991FD2787DA76FA9F61A4D545CB749A13EF872AED7D418E2EC2DE951603C6672AE25599E999B686D97317A840ACC56D15047A84B0B00C2E0BD24499F9C175D291B837E8729F876CBE11FCA67C82FD7E92558AE8A02D3492A8983DEDADCEFA54F9ED8A57BEF28B19FF95A19C4BC833E6456846F28D19E4E522CF2E5A87B2AADCB55277EB7DCCB4F835D68478C22FFD9166E594EE8FE13E754085ABD6B85D2FCE94B5C7E1B3D3E3F674E86748FD55BEFCFCC2EDC64B0A0E9E1FD9F98356ABD1E3B42BF09C457BD67FC223931A45425BCA9E8991DF65B1F2F4D969A9AAB13BA60889EE67A8B2EE9083FC9F1C63F57776548AA052E1BA935CE4BA4498E6810D4F4E54134901177A0BFB1D7765B1FD7772A1A2E4A023FEF879A559A8ACE59A697B24D11698FD64FCB05B6EAE4395E996F0C9B13229E229CBEB616CFC9FB8AC3E7E1B59B3A5E5B2CFFDD5426A0356A9A15A4F1CB15C8FF212FC49EA3E27175726FE1F70CB314D7697A2557B14386912CC608CDDB6D771AAF648B4EA9877D9B82702018F026C97DC31B17B9ADEF3B30BCFDBBE97FCF3649D256BADEF9963B414383365749B982B9DEB4CDDBFFAC6AA42DBD38EEC5DDDF7C176A2BC733B68DDDFDB1B3D615DD71C34904D68D7F420C3B1A2E3A3DCF3396ADEE1B715B6E7BCEDDCA38B6BEF50D56E765A95D6495BE65F1A422EA24CB6AD968744A2FEBC6464F3DB7475E487BB7BE18CA91CB24B87CEF40FF48AA92EA7B9CB0C6EB1F68A7DDD64CD7AC78DEDC30D825E8FBD580D656AEB4F39CD5EDACFEB161254CAF1754C68DDCA78647C9BF767FB71C0AC8694282335128FE2DDA02B523BF1AF18642798F834BF4AEE7635F3675E459DF839CF33C7C9C639FFBBD7F98A29F4A9572592240BFBF5351591F385D7E585CCA65BD8CD8597FCACBF54C2E7F2E985C12B1BFCC82EAE28CA25E74FFDDFE30E8EBB44CFFBD7F80F5679861D630DED282317C76152D14387AAFD0BEFBB70E89612A19DBF95C7C24C5AFA1B235D137F1E92F05C558AC2BE974B4570CBC1779722E6FD7F15AC2043AFB2776ADD4CBC62BA4F90461C1D1A8AF839EBDC3BAF2954737CB975C7BE9D9745455466B497A1DFFAD4854B1A379BB1CA99FE726807DC1B92FA98BB28E0EB2B4D1CD024AF8318A2FC95D98C9216D8B16F4458219DF944639FE67563AAE7A26956084A2DAB9CFA23BF4D2B93E627E5D01127D11A082B3EFD7C2B5F0DE976017EA528D9DB732BF426FD3F95F763747F23C1E1FF95ACEAE91454935FD138C02F3826B0B4EEA2F884625C98AEBC1BE2E113F42AE37C6CA1424C5ABA09F999787EB4E243CC62E34739A3A9BC3E325F01048819FC5D794E3013AD2654BA325A4650F1467EB45B7E2A6B6FFE78DD2732ACCD44747F4CB23C1F4A8518259575F469D36A32BDD6B40919182BDDF6F1386424551FB341B6C44C12E35FE6BAA1C9ADC79EDA6B21C253D95D2213329B8B12B6D851EDF9258B6865C660F0EBDFC8D8FF27AE5F77F93F36038EE76728CD6E5DBD2EBCFFA57DDC1F42385A81F12511DC3861AF7C53F06CBFA9FC92D1848A8ECD766BB665725C4C288D85272A56FEB4D71A9CBF516BB15C94D18F62D7B8143EE5D177E9FB621E07A624A62F4A364B97FF3E36062CAF547DCDA97F0963D573CBE2D5A7FBC49692875D8BA6C698BDA83F2D031267F11D46AAABC49C9AB32A2B12B145948A49A4A2E08C98C013A02AFAD14480281D114885467047C046080020000000000000100009CA4CF855B4E84E68D8B71F5F69FE31F4AD9CD580E57E1C2C57B98C31DBE725A3BEA318B4C3F57D55F7F86B1EE91DBF17B3C55E259E3F0B719E797C9F937AA6175C95FB0FEB4F0DDD79267EC4DDF10DDF183E0ED6C9ACCFB3F373D1811EF349FA911E2272C888752C135474FE7B4E2658CE3B6AAB497B4B5C8AFF148BBDCF5B0E27BFD30499FB68BFAD7227357ECC3B96ED79D186B6C24B3197228E131194153CE72A789BE775911719D12F76F2D382E35F1EDA9CFA33A4AC5E051F65D16D9A12CE718ED865C26EB1FDA35E1C8423A26E5F779184CBDC3FFC91C9625C322EC4089537247DAF92FE4BFF07F1F522444552D9872BFBF9832B32A8C8D56AF385C6E771371331A60EA1279819F62609A434F7A87A93AA22BFB2EDBD137C3804EA0702A18FF473F302B6B1EDD35E6B18DE4799E3DCB5335799AC0D3983A717D22A92F7713ECA3272B5BDA8A7CFEEE2A8A71B9A16E53E84078D3D9E92C2A326CBED65F72BF9CCFDAE262B43C3BD1014DFA2DD4D2CC86A31FDD45EE5786771CED28A3BC1B3EE15FFB154653324C3824D95378A25C71E640EE492B87E543E62EE6A313AEF314BB14715E89F4221819C1B2129C8C6A43749ADCC0305B76D1FD3B83271C5D2397C389806E1DEB1432AEC562AD53B2FB6258D453F09ADF6FBD91DD8F3D12C7DABDAC81C1224F4B1F27CFB70B77F977C3FAF38808D4B79E9681D85D11EA59AFF7661B29DD89E65AC485BA6C58CF8609F7212E2D6558F19EFE69D7DA24B10B0661FFB82F54BBA9422C6ABFC68885DAF55FA879AC34B23F468E46E6E73DFA7EDA9CFA87278553B27F28F6825CAC1946633E324FFCF60F79F977C2B861E2A23D15CEBC45766F4BA38AA7AEF89A96C4A9E85186A251D5F47C7DC1A8B057D65AB61AFF413FFC83FF18D915E8B4BDE52893FFEA68CF857AEB5D3FD9976FEB1FC29BD84F22B7A4FB9D05CAA9F84CD7F3B96FE8E489FEF810563960631DA330B499822FF8E487A61E5FA6C1BD69EB7F42AB8D71B765558AE7ED4D95753BBFED9D5BCACDA430CFB05D9497D45E4FEE7E2833FC1E2F4EDEC380BFF9D9DEAB3C15856C623590BD23FC88D5942666991423AD43B62EC927EC919FAC3BC6D458E25F7D23BEE7DF56BD255A486DDD571C78184BA4A794561774E1533FCDAF68BFCFBFF778725F5464DBBB7C7847CA1AADD659377D5A2B638C20601B9CC4702C16F1FCF825ACA0A17F134634E7EA5EFCF9132830297C4E3B87E5B1B725EA8A335BFC979A6A30968BF7AE28CC107BCAE4F0DF3F316253A9B9D3C5D7EF85E9BAD3EC66F697AFEB7DA2E218CC28C1520EE7A9185B0FCC187F1BD343A669421DD2C0C2E27D3B563C5C49A7F1B676E57B9CA7D6A7266A07E7F1B2A7D91341BC5BDE82F2EAC1DB527E3CEA9A924B7D5DF12FB71688EC3D1CEFC897FE686FDA86E488C20D7B6409E0EA399ECAB1777F6E2CE020907896C2D70AC77A0DEA62BFBEAC5F6A947FF386D29DE799D022ED86C7568ED745ED5ACD919EEABECA56C70C6D410BEB6738B5BF7A652FE8FE84BE61C75C41B8FE54601F3A1B8E13B829B3609AAFF675615E636E6E1E51D3F8719C8B18FFBF706D82CEE3C33D99625C78ED85F9EE5A1B65F26F306A97EFCBBD6DC4931C4B20C2469A2117CF621ED823F44E7E073EBE14CD12656C6F244E9543158AEEF4B21D888E15E159A5C8E13C7601ED7EC133E8BEF97D1AAD868C38018534C921D0DAFCA01A19A87ACB7C1F6E52AA1FB4E2DF9B4D543E3383A61C8019DB9BDBC8E9CA10156180C0367EBA2DF4CCAF6FA88D9DED499B1BFCE3D6F23CF77E7A31EE19A0B7ED27FB64C4607DD1D76A9464BF9ABD5A78EA98C47848C9B7B7EC35D1D33633D8C01F43E6129B96EBB9578D8AED23F7DBFA93F9E5C54FA368FDE7DD9CAF4828B8B4B12194DAACCCB54C6BC5BE39A874E3C1F8F8CD54684A267E85123CEE6A91B3EFE767CCEA13245A2F4219593CFA65E5FCEF977F7097F67DA59F95D8DE25773BF4D0E33F65997ACF6618EBEAFFAE84FF12B7BDBC7F3A9B664F5EA39D67DCD928DF8BD29170E0A33C3EC9FA91B6F5D1CADDDFFFCDBCEE2FFFE565069F5F8713BAB9C4DE14B994250A3BA382E6DFBDF8EDC1577338D8F1F8AD457717898F91EFBD2EBD8977987CCB1A8F51F824066DEC1D878EC1EBD6C3A5D67EDE5E1C8A7E79878A1BFA3B954B66561934CC994BC61D7BCDFEF85E3A39BD914B036F4644DEE6D7857A482E94BC528515990E8F5F29815FB5DB48CD27DFD4814596DAB4DC6CFD5D11F087346F5B8D69256BBBCAD4F3155573F64EBAEE8BF847339B9ADA1FA282586B305CA0C22D69E9F7F6BCA6EC376E3D2C669328609888E7D9F6AEEA4BDB4776A85E40EDB5A654E0F6AC56634279836FAEA2824DD9038258824D4B1F5876A8909B3EB993AAAE96B6F2B22DAD9B6A84D31961269DF4E226996A4D47D8DB7CAB098B41B730FE3D166B596AACD069DFE019A8ECC4DB6E4E95A9A66C7C173C830A9EC61D1DB9F7628131916333773E7E5DDCCCAFAB93AD2C51E135BF15F74F07BD2E5F4DF21887AE19CC983AA408E71DC2FFE8FE0B0C28B5E12FE90D6E0C81C85FECD7C8D16C6571FB8E5E1E7536D3A3A03831F5EC7A88A1F38CCFA6CDF230B83ADB91C7BF3BEF546C4BDE427D6A51A9FC518FA55B4DCA3B62C2CCF5A71A27676DFDA592617425808026CFFA545CEE7A4D090A67223697F13FA4F81B635DF1428AB814C292B75A825BD8FCE0773ADEDCE02CCC5524ED1D14D5AC7D4F5C459F899B75F891CF65AE2273E0E229FC8AA190A294EF8D8F75096ABC71BCF3513CF73CADF7F964C0E22BF02EDB9A8C5791DD17D0BBB16FBED7CD7C43FF6B5AC19D19DB5783EFBC2AF94CB2EEB1B1E459B01878171A6E4E5B83EFD0ED44BFFB73B67B2C6BC99FF558A94273E0FAD93A58255B4032D95E9BFD736739D717BDD441BE2AEBAAA79FDE97E4E835676A5AF5A9B8E4E916D5E943EAF9DEBAE2163BEAE4D3A3FF77D2E5844C27CE13D8CEBBA508927AC74E0D37AB8149FE4B251A879D64AC39FCBFAD93F22DDC7F6EC6DC14A3872385834F1EB86F9BBDC02EFDDDDA9887C34C2F4B933AC0CBE7EFC35D21429657FC0B941ADB94A6333B59124819EC61616AFD76F6E82F43675751B5451755832F72996D6BEC92E6C833DD9A66B90D1ED2B55E35ACA2752BC4BF722D6F0FB74629143E079B2B4B36FE3A6E0355BE0FC32764E7E6922D569F4824DADF28CD8DFA88D669DF7EDF37EBF1E4BA48C1AEC9F8742DA2520F9AC734AFF43D4DD6C1D3D152CD0AB5D8E4E681DB164CCDDB7EB6B51E753DEF2872F7B1D4CCB7441BD3ABE4FCA7D426B5565C32C7BD787CDDC5D8993B668BE4969B5D3F117B444A172B150A78DB0C7A0EECFD5B69C6DB2D61E286EFC576691E595BF897ADB768616AFB9765123F9EEC6DAC36BE3D1832EDDF7BD42EA81BE85B39AE312B728DFCDDE141F70172559FDF05EC0A1D7446C3DA5A68D7A49D23A935A0FE4099E419DF1EA61096FB6E621770BC1137ED89E75032E0A345E2AF10DFDC5D1E8AE929E26469664DADD37659BC1F531651DD9F8810CD20EAC8FB9EEC8DBDFD30FE529E2810E55CA6F4E184C62BA1FB5F37B2DCAFEDE95ACF4F1977A9D6580ADB7917AC48721C5AD212FFD223BDC1F4C8DE442BAD1126D47B6C8073D66C9218D5815D7FAE48CC97847A7B6B2E773C193A4621F0B98E4CCFCD3DE89F4E1332ECEC41CE26F29B9BBCB138D8129696D76265EB4278765AD694F0DA81F4C21DDFA9A5A992F189EC4C1828D7BE8E67B9B9E44BB4EC1C4C45D7184275EC877EEA6F5B0B6A67BE4BAF9E35BF8D263717C1E6D7D7B40CC73DE550C99BFAA7AEC6AA3E229441B79D2F45D533CDCE1523D4EAAAD75329A2D6B1CCF70223358465EBCEEBAE6BE9F6619F7C4E589652AF2233E33F87027725D15D1FF576DED5AADD66F1AAF3F74EBB68EF8AA77EAEA1151EF96B5DE02EB1A0B7C1C7979CF9C279FAC78AEAFE06F99CE2F7DF1933A8B4C1E7BE1125AEA496C791297EFA311589B5352D67FBD8155E23915654803FB5EAEFCA7CAA63F1D23B8DDAE02FCA50F5BECC1359E56FEA32B59F28FBE6A5A2B73C19336AD7D1BB607377F28C643BFAF0A6E9BFB0CDDEBE6118931CD8961201DCCE771DAAC62A4D58EDA4EE87270841F4671E4D11745D520A8C2F3E9AB7652AC7AF45CEE033FC3484F77B387EA7AF95FBF3397A6D14F5965BB47CDECCF27BA6FB7BC42811A86D3972668DF83D56E8B2894875334EAE8D270E3EC82545A1C6DF53F5D1B953623D96DCEFF3E639894188FBBA2DDC77755A5B0A98891F26342DFF3E9AC51FFE5231BE4CFD34EF56D9EB9324799B1E2564EFCF544F77CCBE86171858ECEB92ED9D893961580DDB2EA8AD3F802B2C1BD4C2BA735B36CC9F9BB473527F34D239D901B28218F765B9A8FFD49ACFC91F879C5F78B059E123D5B845819B3C1AA29DF11CDF6B4D3B55D996F098D81ABE60DE66CE65C7DF9FECB77955257B6C4DAC77880FA1CCE2FB603B2E93FB4C6B70321F3716FBF4F57B683CCCD25599BF26DCD4D1A961D77ED99D464D3304359F48FCA3CFC1A7827632716A897121A50B545949CCACA03FEBF3252C29795FB6365C2754F8ABFCAA11F33E512E843749ECF765330C8AFFB25CAA1B0BB20629D3C9B9E67E5DCFCDC4437BF3ADFF1E114B7519EB1D3A9A483AF62F2A94FBCB68F57DBDDA55E86416D43DF2E413B3FCA32DD9EBA5BE3629D5743ADA6CCD62B5B1CB2BD9AA1A9A1F266B6DAE256C3179E45B14CC6CAAE7D6575491379F8AC16BEA0D6179BB62C828C885AA37AFE4D2CAD114335EA667ADDE1F231D21E5FC28CF7533904DFF64699B525A363DC9275478094FC66D62A37A441ACA9D7C7959E057367E784593B6048F9632ABFEDB3B764FF445F37D7AA960B95262F67DD82C40B9FC63A481F651F95458CFF357E8F24BBAC41C8CD11517F9385FCB73AD873B52909AC58E7FE75565EE12B4C8AB352CC2672441EBE296887DBECB5B45D9752ED0BAFDBF87921CEB647EFBF1D27A510477DD411D4E239E9C2C9663496BC5AFCE8FDC6DAAC72267937FACF7DEC6A1B7BB5FB76DECD30185A46AD81BDE268AFDB7C9FB0ED4F8B5059C64B43F0A03992E65D98B075BC5BBB55C4FDC4CFD694209B3F82AF67C750A6283D8CE7EF13938F3846B5E25F4E844DDAEE5877E15629FB44BDF079F491157BD997A9998122FCA04EF5E60C0772831D63812EEE93DD5CDF2E41C7193BE5FAA5C03FD8B911E6DC469713FBAF7E7ACCBEC4A6343721C46EA05AF7ADFE152B432652FF32B9A22CEE7327B6DBB1EB45EC9AC828F16D5DDACFD83A335FDEFCC23859F1E5B5FECDFBCDC56FC36F59FE8FEEDA78B6B8C49BF5EAC7183257A7B0F5022C909D8253DC9A5B3242EA74C6682D97CF61A13A65816B4A278FCF6551D0AFDF156B145E2D0859E1B50D69EFCEFAADDAC2729A3BA7CDBBC9C2CC7215D43BE5882B51EFACFA754B33AC4A2676C855399E8B865B164CFFBC3EA47A7CEEF824F7445B7BCE94B85C93C32FF952178A42738B193B9F7B35BC8608E82154AF483AD6B38CB3C955EE8B6D68E8D0BC11F742A0DA4552524F52DA0DA4641494CDA0DA53454E44204F4BDA020434F4E4E454354DA0000000000000275100ED5000F946001151001D51001351004F510000000000B00020004000FF0FFFFFFFFB00000A00020004000FF0FFFFFFFFA00000E00080004000FF0FFFFFFFFE00000900040001C000FF01010900000800040001C000FF000001000000F00040001C000FF01313F000001400050002C000FF020204000001500050002C000FF03030500000600040001C000FF00101600000700040001C000FF011117000001200040001C000FF003032000001000040001C000FF002020000001300050002C000FF030303000001100040001C000FF0121210000020001000200000FFFFFFFF2010008000100018000200404801000900010001800030141490000040001000000040FFFFFFFF40000050001000000050FFFFFFFF501000200010000000A0FFFFFFFF2000001600020004000FF0FFFFFFFF6000001700020004000FF0FFFFFFFF700000C00030004000FF0FFFFFFFFC01000A00030004000FF0FFFFFFFFA01000B00030004000FF0FFFFFFFFB010003000B0004000FF0FFFFFFFFFF000001B000B0004000FF0FFFFFFFFFF000001C00060000000FF0FFFFFFFFFF000001800060000000FF0FFFFFFFFFF000001900060000000FF0FFFFFFFFFF010001600030000000FF0FFFFFFFFFF010001700030000000FF0FFFFFFFFFF000001600020000000FF0FFFFFFFFFF000001700020000000FF0FFFFFFFFFF000001300020000000FF0FFFFFFFFFF000001000020000000FF0FFFFFFFFFF000001200020000000FF0FFFFFFFFFF000001100020000000FF0FFFFFFFFFF00000D0004000C000FF010FFFFD00000150005000C000FF030FFFFFF0000060004000C000FF001FFFFFF0000070004000C000FF011FFFFFF00000300010002000FF0FFFFFFFFFF00000200010002000140FFFFFFFF20706F770000000000000000403B8E23F000000006D0CF43EBFD4C3E000000F03F000000F83F00000000000000304300000030C300000000316F0000006E616E0696E6606F766600000000000009D7800B56F008978006778005D78007F7800937800317800E979004178002B7800000000000000CD7A00F97A00C97A00ED7A00E17A00317B00157B000000000000002D7F00117E00597D00000041726475696E6F204C4C430439412102EF214041234D8001123141726475696E6F205A65726F00C48F00BE8F00BE8F00B48F00148F00148F00AA8F00B48F00148F00AA8F00148F00B48F00128F00128F00128F004C9000E89C00849C00CC9C00B29B00CC9C00C09C00CC9C00B29B00849C00849C00C09C00B29B00A89B00A89B00A89B00C9F00B8A500A6A700A6A70098A50082A40082A4008AA50098A50082A4008AA50082A40098A50080A40080A40080A400AEA7004300000001F0003B0005A0007800097000B5000D4000F300011100301004E1001F0001C0001F0001E0001F0001E0001F0001F0001E0001F0001E0001F0001F0001C0001F0001E0001F0001E0001F0001F0001E0001F0001E0001F0001F0001D0001F0001E0001F0001E0001F0001F0001E0001F0001E0001F0006D1006E100232D302B200686C4C06566674546470494E4604E414E030313233343536373839414243444546030313233343536373839616263646566002020202020202020202828282828202020202020202020202020202020202020881010101010101010101010101010104444444444101010101010104141414141411111111111111111111110101010101042424242424222222222222222222222101010102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000496E66696E69747904E614E0504F534958000000000000F03F0000002440000000594000000408F400000088C340000006AF840000080842E410000D0126341000084D79741000065CDCD41000205FA0242000E876483742000A2941A6D420040E59C30A24200901EC4BCD642003426F56BC43080E03779C341430A0D885573476430C84E676DC1AB4303D9160E458E143408CB5781DAF154450EFE2D6E41A4B4492D54D6CFF08044F64AE1C722DB544B49DD9794378EA44080E03779C34143176E5B5B5B89346F5F93FE934F384D321D30F94877825A3CBF737FDD4F15755000190007D0000000000031323334353637383930070727565626142656D02F5200000000000000000000000000000000000000000D06FA358A0FFFFFFFFFFFFFFFF00FBEF002F000CF00015F00021F00010004042F0A000A000FFFFFFFF0C2100080FFFFFFFF8B022200940012200524010142426524601524111758131001094102A0007522400075832400000FFFFFFFF0000830002000820000000000000000000000000000000000000000000000000000000000050F600000000000000000000000000000000000000000000000000000000000000F8002057F700100000004A0000000000000000000000000004A000000000000000000000000000BAE0004FED004FED004FED004FED004FED004FED004FED004FED004FED00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00DD20006D2200C12300692A00D92A00C93400C94400E146002549003D4900554900F94F00DD5000F15300395400996F00F57B00BD8B00B5200000000000000000000000000000000000000000000000D9A98884FE3065EC1358C7B6B122ADE5C6AD477BF3E02F969BDD38AB8C305046E417C9617DFAA18C1558FB2E4FB593C32792AE4BE7F629D6C69FB02B2BF75D43C6E7ADAE1697B2435C35E8AE34D88089ADFF1964C51271EA769CC271E71AA20875633CDEFBB5B6FB519182DDF469A544D3F0482C3E98F1D187651CB96AD3B204D94D648A0FC74122A6997AEFCEBEE3C857538B253FB3A4C5105ECC28787955FE1943DE289366740D3DBFADBBFC968A2211FE674AA83DEB7456B33DF62F214468F9AF92E2DC05B74C0A8B61CE7319185A597CED84EAF25E69821F364E1B38AFA373D5C7129779DEC419AF5CBD8BD6C26B05049F4DE9F9722549155BC238B8D4CE601A8E6C3AF7E68152D07FA6CB3D174BA34E6F20736F636B657420617661696C61626C65025642E25642E25642E2564000000000000000FD460074800F946001147003947004B4700894700B54800A94800C94700ED47001549002D470000002B4950442C02C434C4F534544DA041542B43495053454E443D25642C257503E041542B43495053454E443D25642C25752C222573222C2575041542B43574C415002B43574C41503A2802B4349505354415455533A25642C041542B43495053544154555305354415455533A041542B434946535203A5354414D41432C2203A53544149502C22041542B43495041503F02B43495041503A69703A22041542B43574A41503F02B43574A41503A220222C02C2D041542B4349505354413F02B4349505354413A6E65746D61736B3A2202B4349505354413A676174657761793A22041542B474D52053444B2076657273696F6E3A041542B525354041544530041542B43574D4F44453D31041542B4349504D55583D31041542B43495044494E464F3D31041542B43574155544F434F4E4E3D30041542B4357444843503D312C3104154041542B4357514150041542B43574D4F44455F4355523D2564041542B43575341505F4355523D222573222C222573222C25642C2564041542B4357444843505F4355523D302C31041542B4357444843505F4355523D322C31041542B4357444843505F4355523D312C30041542B4349505354415F4355523D22257322041542B43574D4F44455F4355523D32041542B4357444843505F4355523D322C30041542B43495041505F4355523D22257322041542B50494E473D22257322041542B4349505345525645523D25642C2564041542B43495053544152543D25642C22544350222C222573222C2575041542B43495053534C53495A453D34303936041542B43495053544152543D25642C2253534C222C222573222C2575041542B43495053544152543D25642C22554450222C222573222C302C25752C32041542B434950434C4F53453D2564041542B43574A41505F4355523D222573222C222573220DA4F4BD251D578F325C2FA9B8B8827C89E6C3115FDA15473AC49AFBDBCC59B88BECACF862D319ACF8E11F4D5CE72C812E7E3EBBF1D2AFEA7B667782692A0E2EB6D75AD1F4A19F4B7F1EE2DFDECF99E638B963C52CCF86902DF282F384927DA2AD3E479E34AD67CCC7F119AC466F9A33E8E0FC8DFBC4A4F6BFB727E2BD2E2D22AA328FD5F2F5CAD1929FB992DAB6B192EF7EDAF522DB15FA8683A1CF7A9BE8C235766BA291A0F86FC374BC4A4E66940AC489FA92D2E5CCABEFB65DBE3899D676C68C5D2A8EEBDEAE5B63EA5C21B4D92677A7A212A12659C9F4FA6CEA0BFD08DC2D827AD5CB134D9FA63E0599DC9A96FAAD6DBDE1FA5AE8EFBD4C882ABB4AC5006CB69795AA1DC579D85C675353B141EAC6BBACEE7467D455B86ECFEEE492DBCD8173B2413D23C641525251E445638346F15435C25AE52A727386FCF2B328C3D7E9E6B844E7F3EFA356CB3FBF8E01E7C17EE463F7CE271D676763307B9629DB29C2A92EA1367D2174C9ACF83F65999FA5BCED70A5A07F599A8BF067CCF1635EF3708A7C4FD97C5D37E58B7E24C55B6974F82F6B43F8724C08858DFDBB58AA27C59C4C8E6A957D4366AC2317944501DAD52824BE4DC242ED4D8E68F79987563B70B9177FBD81D6C29618A295F5353B22A3352D0DD6C3BC4E3AE4DBF8A8E2942316CB55FE97FAC49BFFCFF6F42FFAFDBD5B82A6AEF4CFD9FA5D69DEE6953DF7AEE24171FFD68FDA4E6ABDB7E6D4296E25F3A2A64C97D395CE0F0F6D63A69038FEAE44E0A858B885DD351CA7E7EC25B1D56F284957DBCCE7D44EAAE76DC5BB14E637D22EE26866F3020749D2B53BFEF5162C7F0646FAB3DE81E986B08159A25BE2A01E5976CD1BBE3250D33F67B3027BBCEB36504BEECD68BA72EBBE5D2462F2A2DD53167992074496674B4ADFC6CBE47D586F6B4F725D94A8E180BB67F051B3E4055791FE12E3DB7A1BF656B7A98D6F6C6C3E5A4D84BFD9FF1EBDCEFBECA2FCE14961851CDFBBF8342E0A3F1ACB74BCD73ABF2EDC43B122553BC3BE4C2716D2E8119F6618B24CF3B57E9B415715E667C6B14778DE186F2A57AF1B5C3B7E4E30A4C4EEAD6A39907B24168B514E8C45BC1BC49452C8088B6BCF5B9F3C128EF4480C582C4463C432DD19BFFA8511E5A8FCFFC662A3ACF24F6AF49DAFB9856CCD33417D34AFF79F7CA4C46A3453E9CC15F37A4A0FC5DB4B517E8A6C4ED977F9935B3EF4BD2A63053DB6F37AC08263F1BEFB97FABA7423F1DED24EFBAE69A475474EED2418C0D66A4D834BA802ECA144137039D515E0BA83DBA0F71B985DDC2D829F2E77AAD39DB7D7CE194916DEB7EC9D1D23A94C24F9CD5AA84FF5DD5280DBD359FAE5DBD4E952DD326D6A49E83F3DAEDDAAA596A0D9B75E623FD2850DFE6AD2C556274B0A7888440DEE34E7ACE1F31FF559AC9547B3A749905288E445E6835AA64DF33F7A92BFBD7A1D1226C6F1BAF2543866698F77CB77B593BFD22894F98A5EDD146C2DF5F12FD6963E763E177BE1EFEA5C99C63562F90F111015DAC0552975D77AB69A835D4A84D221B9DA66CED6A79A65759499F32AEB0764CFCF235209AA3B3CD0DB2DAF7A7F9A135D6687F7FD9BA3BF4889B18F3B49D75FABAF52E27FE65915E37F14DFA3ACC780CCA36CD4476712A60BFDCDFD36DC878508A58BEA1560A484F16351155AE93D0CC3BAC2C77EBAA2BF6D636E519884E94BBD2C9108E78978DABB215851B8CA8C625FEF51A739B4794ABD4151C594166356C4EE36E24E653BA33D9ABC9BBE9BF89F065BC61CDD62274EB86F3749901817A7B7E365C58E3576E5AD1882D9252DA85C37AF47523A7CA798DD6C98F1065D089B8F1816684DF1942CC03EF5C2CE4EBB662D1E6C5DBB11E9A50453D7FC8B2BD4AAAF9D6DF481D5D6F3AD622BD916B2363E1B49AA13CCBA5F9C6DB2CB23AE726D193865F1B69BE33B7376A9F1ABE668A8DC6DC6D7F13936C71A449BB1C331AE1975799ED15BFEA5BF966B543C196563588C190C392E682D2BF7A0F3F47CFD442635048589219A2640F562865FCFAB62BEED5BC37316DE7935393F14722AFF32D64FCC10E719CBB8A2ECAF7AAB14E6E0381F93548F398CB16F96D35E8E5FE41CC8B9D14B93FFF1927492D3D568638F3FE273D9EB35F75F4D982EEBFFAA95CF901A50FF9358A4E16D473857859E6A6D42D7A94D2FAFCA7CA8AA4FFAA39E2FA1B0478A8EC6DDD127AE0DDE85BABFEBD966EB4BE6ACBA88AB2F47D69A3B7AB3AAA3A71ED3DFB505B4AD58F1996A2C8748FAB427ED8C98F289ED19C37F9093F4ACD33707416F53956F8559D1F3C264DE597BF5F6389A08DD3FDEB1FAD4B8DFC18BB3158B25C6CC964E9E43768B8DDDD45345CBBE75F38FEC87E26AF82552A2AEE03B35EE19938E75CF73C26F9FB539048F0DF2FBB2DB52FB5BCA8C7E48A1C3C9EE7CB2AC85BD76AE2DE7AEF7B49C0C196E1E643295EEEB23ACCFA6ACCBC2A078B6F16AA8C9AC2E389F69688E6EB130BB1DE4D7F036916359A1801AD0F5307DAA15D8883D4365F9906BD320E049BB5F338350DFD7E33C8EC2C6FB2CFA8C894692F8F8A49216634F2F5252C69CDF03E8DA09B89B4C8D1BBA63AC33A78277A85CA19E42D2E4B62E38239B42E10CB9AE8F34A261F1FEAC46C794595894675F22627E2BA7F38833D7334E90632580B5FBBF42683947B5CF5E3779CA2D533B8737E49CE5F78C4F7BADB706D64F2319CBA62CC56C1BE1EC7E6CCCFE81429F29A9D9646F43D95BBE3227383DE4617B8CF675B96335155FF8113B29B26E158C7894CF72821867AAA88B7493EABDFB8059B0B18D2CAC1912BB6290198CEBEEEB3B659181A618625627D5CC314454DAD2CBCC1435E8A6F930207D50B81EF2EBFAF9A2DC2CA576D2F2875E2B7FFC275A1060D47BB3914CD7EB2D8ECA71C1A114048E6B1EDE7DC079E51EB79E64143EC793A610E16F42CB1D13409EA02027C5D17125BDF6341D19ADD2EB94DE4017B979E6A783D686D1D7DBE89049C2ABDE95A8CBAC93D76CEA7F515D28E79BE6439AD3017E4F07F2A6F24BB6E5B8A199DD42EB0134AE1CB5FD4A6A4417B6D2E8A2DD0FA436F9463CCA6319252227B997D98D58A56C58125D848257F037B6F7EC5720C85088B9BDDEE4572387A0B935E932BE8D61D3DF6F2129468FB27C733C14CAD69825BE9B14D4E89AF84B8CD094B7457EE5CFB79CCF5C0D7637D195C71788425B15E9211756624F9187DBC94EA8EDF6BCF6B85353D93BDA952FA75CD7BDA0959CB9E26E18EF136CE4E31D666D3F4DC6A5CE91939D43121C555B41AD3BA6A388AE1B6B777F87C9DFE840107073C8EDB98067C43E8846677987AADB98AEECBEE6A9F2CBC3E8984F834EC19E8D45AD882DDE55547C1B79CB5D9E8CC6EBD260358CFEF347FCCFECDD2507EE6F9DEA073929732EC536CBEA54CC08295445B89FDA3343772D8818D96A35534C0E6D568DD3399D4689A748CD8AAC7BB222D50BD1C645674FC733DCFBBC4987272D15C79D2A0F114D9B212FB6BD6FF49B0AFB5C81D7B9831BEAABF19D7F9C9C624ECF7AE31FE61DCE17F222C3072DEA273A4A4D7AFCA8EA9DF9D5167DC3D2CD7816A253D6A2B1FEF511F065A17E2FD5C7865367E73D2DEEE2DE43A1B9925ADE6F55B2F342513758D88F74DF07C4F3B80D6BF5C66ED82A7B9C08773D19B84FBB9C76437E711CDC693A8E50F627898FB3451231BA1B4593B94CBCFFFF8D38C21BA4A27FBE12A445EB9AA3D09F72B39BEC658E36959EFFB5AB5FB1F1CB31B9668551A5194E6FCFFD6367531CF17B4507491816DCB9F938A9D7FB85D5DAD5882ED111BEE7E5446B81D6A3577DDFE5362188168050D591661EB1227031515A5E735DFF7135584DA120B9FE404D9EA814358C2FA313D4449A463DDBF71ED57C583E8C411B0528DD7A55786F9F75BA42925F0831F501D4E39958199BAAE3FA435BE7625647343A47E230EAF1429AD6CEF78B68E9FE4827FB0482F21CEBA672F9CB6E49422D45F0B48E9A3EEABA5AAF7D88ED2956FA72E32D0E3357922D7D8FB3067B7E5E6A27B7C9599C56595096CB30E7B32E3B640A7C4627FD4C787FE688DB612F989CD424739ED9734802D1938ED1D528F8218B5DCBD93C48D2FD93AD3372433AEBD728EADC67C555178FFFBFB3F9DCEB01C3990EAFC8EA73D69687F3237F712C0FEB7B42D46EFAC26231F4BA4B9F3FE7164CD1ECF3178E8C6F715A4F4D786CB62B94053A5BBB132148AD3367AA0FB40FB58A227E597EF5B8103BD5AD44DBF15121A71D2C6EFAF3BA1A2F57E8951715E736C1F6C1565EB229E01A899E8A7F65C1B4854B24B2BBF6D9B6E22D4B3FD1346455B7AD44EB183EFF9BA1C57D4C8CBDFFCC7B9466D2FCCAFE2B1818EFDD0132993A87527FB1BA9144F77BD0CF3CF81BE7C93B7768C6AA216B55754DBF4A2C0BF55D82CBDAB3FF7645519E89DA9CBAC9C4249142B56FFA265CE67144BC9D8156B3E355E34CE89DB5CC73C5EF153818DC34EFF4C06922342FB5CED21E47E78F6D34BB4C3FCA20EC7EA059B8DD14E833C0E5C4EE305AA0DC5A3E657B8A249D92C3EA3AF11E3964FF594DF4B48C8DF13AB7729EC126EEED644B6B0A6BA57947EDBFB336964D82B9D78E4C2D430366746B790968B942112B0A3BD75EEDC9E839518782E955C1CFADC5A53E17FD69325CA37866B57F7B6420D4E628434A1DA27302172ED5C1EBB4BA572DABEBA376F4D9FC237475B113A8AF54E3574C42833F3D6E53B1E8C496F878E96CF293415662A9E51B87FE9C41DF9BA92779A355A982611561D2CA523CEBD2B466C79E53528D5F5137794BD899D9C5C899F5DFBAA62ECFDF85282C158D8C69A1FE53BF03F9E435E57A1A857BD1DA2D51AE835741D085DBFEC48801B1D12C03CBF9DE3D685F22658A393CD4DEDD39ECA52AE16E1BE3CE85CA6B81226713BDCB4096183E5E7A438C579D64E56F388FAF1AC3EC39EBF39E33D28344E473EF417AD43F75ACAA7FC12CBBCFCB71B5A32E1A6C2FD67AFD24367B7B337FB8988DFC84DFF0369FA34B5D416DF562AF6BE3D409A5F3A58C3C4A07FD2906B55123D1FEDDF89FDF4986F72A3B53DD2C6511EA2398FAF3C27257A6F5EB355BEF8F36BB9AF9CA6C3DC3C35FAF2B9367FBB4FF403BA0D22B7C3D84C78CC71D9625AA2134EB63D696A6DDE8B0F2CE787223643A2DA53CF833131AEB9305F252EC3CEAD34531914C65A25D96E7B2614C55526F77B2FF6764FA475D2AE4F029BDC56788F617D944F671277BE70039E967974364483F2FFA8E49EF5E39349BAAABAED5B9ADEF5476C359A95F6D691AA518B15DEFA8C21DF6E2AB8C6787A19D57CFCBC87343CEF3986EE135EDE21BA38CD9F3E2774EE69D94654F4C52CF9FE76B64227F1EF1FFDC0E4EE49FA8AEACA232C9CF75091B3FF98D116A84E41385D2B2193BBAB422387A81E376EFDF554CB3FCF92DA6875EA619E22874E33AC8B4DC27B4F81764ABD6F66B371EE9516EC44395F0619F8C72BEEC90A71658CE3BA8A0FDD57428EEE337CBEFCEEE6FB45A3EBCFED0ED89FCE41D64236389A8B6D1326AC527AF7A82B4895184A35F6C8B4CF73F7F74BD0F4BF2D3A6EB7E0DE917CF6D9A5BEF3C1AD039BEF4DD8DEC6DBF81DCA04983DBDA659F4BE2B636615D33C9DFCF59761AAFB7EF1FD398F47F8010F9BDE775205F54DE88C9392DFF82E89954B626CF9538E5436B47C2EB75F0D5CDDAF2FA36854F772D384207FCB61A7061B6F77896D4561F73C5D91BB4BE2ED4B2DD6EB12D33C345B698BA01D5DDF96A7F9289E71796FA6E52C08659D878961117968C54CD1827F2F4FF74B38615517258C285AD52DC9C7B92B38735CCCAC775EB6E8891A09DA58A55AA243655B64FA35A96E69C76AD61A0A85C1FD1ABF34F866E90B4B5B2BBB66820BD2491A485E26364C2B5E5613178F915722AA5CD4BB4276816D2440E630BD83345FCFDB533FC1AE11AC4A719B3D7A19E333F1E1E433F0A8A752E04B12AB2B2D7CFA286BD457727D4A1897D661BA903EDD35D6D1848AF27D92EB243B5C1B0B23FC44498E98EBF86C8D14B2F6BD9D4393EAE18EF7E7F5ADF9252CEB0D38373C627A5C3D233C1A1AEB98746D89D65F83BDF686DB9CEFAD76916974B5166AD8B002000AD8B0020003C1002030003000B58B00AD8B0081680088C020F1FFFFFFAD8B0020003C1002030003100EB68000100F9FFFFFF06CDC0F9FFFFFF4D3A201700000008000A072020DF850010002186001000050041447202050D020100068B02042720201000030000B7B00F97A00437202068B020BF23001000000042720207F7000100068B0201000F9FFFFFF200000009B2020EB68009B2020F9FFFFFF68B363600001000068B02020000100005772020BD70009B202068B02084F02017F3FFFF6F72020C570009B2020672100A0720209B202017F3FFFF7020200000152100B07F0207943002B4950442C332C322C3138382E3132372E3138392E3231312C313838333A3225DA2B6A6833346C6B356A326833346C6B35616131764000000000000000000000000000000000000000000000000000000000000000000000020001DA47073A8700000152100D0F40000003FE0005B7000000000000001000D0F4000000D0F4000000000018E51CA1504A4B4A362E3120FF191F2000000000000000007E01418E51CA1504A4B4A362E3120FF191F20001E88F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018ED000000E83000000FF0009840200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D0F4000000000000000000FFFFFFFF50000D0F4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002F1000000000000000000000000004008044041000000000000091100006060200000000000000000001111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110D0F400000020000681102088110206D110203000000000312E352E340AC9020BC7FBDD3000038F0000000E83000000FCA0201415001000000000000000000000000000000000000000000000000000000000000000100010000F600000000000000000000000000000000000000000000000000000000000000200020005000000000000F0F4000000E8300000010B0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F1E31F0F4000000E83007CA8700B020A4D0ADDA2B4950442C332C322C3138382E3132372E3138392E3231312C313838333A3225DA2B4950442C2E3132372E3138392E3231312C31F00002D00029000434950535441545553DA5553DA2B434950535441545553DA2B434950535441545553DA2B434950535441545553DA2B434950535441545553DA2BB000B0000131F0F4000000E830000008B020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000162631014042080420C04201004201804201C04200000000000000000000000000000000000000000000000000000000000000000000AD8B00B0B170D0F400000028F5000000E830000003310020000000000924B0210A0FA8B022200940012200524010142426524601524111758131001094102A00075224000758324000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004B0000000000C210008A0FA8B022200940012200524010142426524601524111758131001094102A00075224000758324000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000DA6E73616A65206120456E766961723A206172204D5154542D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A1210000705FD20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020E9420027000B07F020200073A87070F9001B490115490070202070F9008800202820206122003310020A37A003020209B6800896800020004360043600

Hi @knolleary, i try to probe your library with broker.hivemq.com nad when i subscribe to topic i receive 2 times and third time, your library crash.
I'm debug your library and i think is a problem with a flush of your variables.
Please confirm

Start Program 26 Attempting to connect to WPA SSID: probe You're connected to the network Reconnect STATE: 0 callback Incoming[Hello] callback Incoming[Hello] callback Incoming[55457790F2FB9C7B078388E77807FF5655157C153656FB8BDE3 (CRASH)

thank you for not helping me with the problem of operating your library.
I have found a better link for anyone who wants something that really works:

https://github.com/eclipse/paho.mqtt.embedded-c

I'm sorry that I wasn't able to reply immediately to your question with this freely available code. You are not entitled to my time. Enjoy the Paho client.

You are right you do not have time to answer your library's faults, but you have time to answer my complaint immediately.

Because answering a complaint is much easier than wading through 100 lines of someone elses code to try to debug it for them.

Looking at your code, I can't see anything obviously wrong.

You've provided in this comment example output. But I don't see how that relates to the code you've shared.

Your code is subcribing to prueba

Your example message output has:

Topic: +IPD,3,2,141.117.159.111,1883:2%
+jh34lk5j2h34lk5aa1v@

So does that mean your code is subscribing to something different? If you haven't shared the actual code you're using, its hard to say what's happening.

In this comment you've provided some output - but I don't recognise that output. Where has it come from? It doesn't mean anything to me.

Note I have edited your previous comments to use the required ``` to properly format code blocks.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

HobbytronicsPK picture HobbytronicsPK  路  4Comments

yadavvineet picture yadavvineet  路  5Comments

himanshu-hearthacker picture himanshu-hearthacker  路  8Comments

mhmayyan picture mhmayyan  路  9Comments

romuye123 picture romuye123  路  5Comments