Authentification

We currently provide 2 types of authentication for our API. We allow Facebook authentication using Parse, and we have basic HTTP authentication, that requires you to include username and password with each request. We strongly recommend using the former.

All API calls will require you to send http request to one of the endpoints, and in all cases will provide a json response. You can find a full list of endpoints below. We also provide example code in Ruby and PHP showcasing a return json format.

Additional code examples in Swift 2.+ are available upon request.

ENDPOINTS

In order to authenticate with Pendo application server, you need to base your requests to the following endpoint:

http://beta.pendo.cc/api/v1

All authentication requests, and all requests made to api in general, need to be relative to the end point. In case you have purchased a Pendo white label solution, your endpoint will be:

http://[provider_id].beta.pendo.cc/api/v2

REQUEST HEADERS

HEADERS for the HTTP GET/POST requests. They must be included with every request, in order for request not to result in “malformed request” notice.

Authorization: Token token="6771279e01ad868b3a512fea2f7c758c"
X-Pendo-Auth: facebook X-Pendo-Token: {{ facebook_access_token }}
X-Pendo-Auth: email X-Pendo-Email: {{ email_address }} X-Pendo-Password: {{ password }}

If a request is made with X-Pendo-Auth enabled, Rails tries to authenticate. If it fails, always a JSON object is returned such as

{error: "..."} and with HTTP code 401 Unauthorized

Otherwise you get code 200 OK with the JSON data depending on the API call.

/api/v1/validate -> {is_valid: true, user_id: 123}

/api/v1/new_user
/api/v1/new_facebook_user
/api/v1/

EXAMPLES

Ruby example with all most common api call’s.

[syntax_highlighter mode=”PHP” height=”” font=”Droid Sans Mono” font_size=”14″ line_height=”14″ wrap=”1″]cmVxdWlyZSUyMCUyN25ldCUyRmh0dHAlMjclMEFyZXF1aXJlJTIwJTI3dXJpJTI3JTBBcmVxdWlyZSUyMCUyN2pzb24lMjclMEElMEElMjMlMEElMjMlMjBUaGUlMjBFeGFtcGxlQVBJJTIwbW9kdWxlJTIwZGVmaW5lcyUyMGV4YW1wbGUlMjBtZXRob2RzJTIwdGhhdCUyMHNob3clMEElMjMlMjBob3clMjB0byUyMGludGVyYWN0JTIwd2l0aCUyMHBhcnRzJTIwb2YlMjB0aGUlMjBBUEkuJTBBJTIzJTBBJTIzJTIwRWFjaCUyMHJlcXVlc3QlMjB0aGF0JTIweW91JTIwc2VuZCUyMHRvJTIwYSUyMFBlbmRvJTIwc2VydmVyJTIwbmVlZHMlMjB0byUyMGluY2x1ZGUlMEElMjMlMjBhdXRoZW50aWNhdGlvbiUyMGRhdGEuJTIwVGhpcyUyMGlzJTIwZG9uZSUyMGluJTIwdGhlJTIwZm9ybSUyMG9mJTIwYSUyMGNvdXBsZSUyMG9mJTIwaGVhZGVyJTBBJTIzJTIwZmllbGRzJTJDJTIwbmFtZWx5JTIwWC1QZW5kby1BdXRoJTJDJTIwWC1QZW5kby1FbWFpbCUyMGFuZCUyMFgtUGVuZG8tUGFzc3dvcmQlMEElMjMlMEElMjMlMjBUbyUyMG1ha2UlMjBpdCUyMHdvcmslMjBvbiUyMHlvdXIlMjBsb2NhbCUyMG1hY2hpbmUlMkMlMjB5b3UlMjBuZWVkJTIwdG8lMjBzZXQlMjB0aGUlMjAlMEElMjMlMjAlMjJDb25maWclMjBvcHRpb25zJTIyJTBBJTIzJTBBJTIzJTIwUnVuJTIwJTYwcnVieSUyMHBhdGglMkZ0byUyRnNjcmlwdCUyRmFwaS5yYiU2MCUyMGluJTIweW91ciUyMHRlcm1pbmFsJTIwdG8lMjB0cnklMjBpdCUyMG91dCUyMSUwQSUwQSUwQW1vZHVsZSUyMEV4YW1wbGVBUEklMEElMEElMjAlMjAlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMEElMjAlMjAlMjMlMjBDb25maWclMjBvcHRpb25zJTIwJTIzJTBBJTIwJTIwJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTBBJTBBJTIwJTIwJTIzJTIwQ29uZmlnJTIwdGhlc2UlMEElMjAlMjAlNDB1c2VyX2VtYWlsJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNEJTIwJTI3ZW1haWwlNDBleGFtcGxlLmNvbSUyNyUwQSUyMCUyMCU0MHVzZXJfcGFzc3dvcmQlMjAlMjAlMjAlMjAlM0QlMjAlMjdzdHJvbmdfcGFzc3dvcmRfMTIzNDU2JTI3JTBBJTIwJTIwJTQwdXNlcl9pZCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUzRCUyMDMlMEElMjAlMjAlMjMlMjBBbnklMjBvdGhlciUyMGV4aXN0aW5nJTIwdXNlciUyMGlkJTBBJTIwJTIwJTQwYW5vdGhlcl91c2VyX2lkJTIwJTIwJTNEJTIwNjIlMEElMjAlMjAlMjMlMjBBbnklMjBleGlzdGluZyUyMGNsYWltJTBBJTIwJTIwJTQwc29tZV9jbGFpbV9pZCUyMCUyMCUyMCUyMCUzRCUyMDIzNSUwQSUyMCUyMCUyMyUyMFRoZSUyMFVSTCUyMHdoZXJlJTIweW91ciUyMFBlbmRvJTIwc2VydmVyJTIwaXMlMjBydW5uaW5nLiUwQSUyMCUyMHVyaSUyMCUzRCUyMFVSSS5wYXJzZSUyOCUyN2h0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0EzMDAwJTI3JTI5JTBBJTBBJTBBJTBBJTIwJTIwJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTIzJTBBJTIwJTIwJTIzJTIwRXhhbXBsZXMlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMEElMjAlMjAlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMjMlMEElMEElMjAlMjAlNDBodHRwJTIwJTNEJTIwTmV0JTNBJTNBSFRUUC5uZXclMjh1cmkuaG9zdCUyQyUyMHVyaS5wb3J0JTI5JTBBJTBBJTIwJTIwJTIzJTIwR0VUJTIwJTJGdXNlcnMlMkYlM0FpZC5qc29uJTBBJTIwJTIwJTIzJTIwMjAwJTIwT0slMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBKU09OJTIwZm9ybWF0dGVkJTIwc3RyaW5nLiUwQSUyMCUyMCUyMyUyMDQwNCUyME5vdCUyMEZvdW5kJTIwJTIwJTIwc3RyaW5nJTIwJTIyZmFsc2UlMjIuJTBBJTIwJTIwJTIzJTIwJTBBJTIwJTIwJTIzJTIwRXhhbXBsZSUyMG9mJTIwcmV0dXJuZWQlMjBKU09OJTNBJTBBJTIwJTIwJTIzJTIwJTdCJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyaWQlMjIlM0ElMjAzJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyZW1haWwlMjIlM0ElMjAlMjJ0aGlqcyU0MHZlcnN1c29uZS5ubCUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmNyZWF0ZWRfYXQlMjIlM0ElMjAlMjIyMDE1LTAyLTEzVDIwJTNBMzclM0EyNy4wMDFaJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIydXBkYXRlZF9hdCUyMiUzQSUyMCUyMjIwMTYtMDEtMjJUMTAlM0EwNSUzQTQzLjczN1olMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJiYWxhbmNlJTIyJTNBJTIwJTIyMzYxLjcyJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIycHJvdmlkZXIlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIydWlkJTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMm5hbWUlMjIlM0ElMjAlMjJ0aGlqcyU0MHZlcnN1c29uZS5ubCUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMnRpdGxlJTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmZpcnN0X25hbWUlMjIlM0ElMjAlMjJKb2huJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIybWlkZGxlX25hbWUlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIycHJlZml4JTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmxhc3RfbmFtZSUyMiUzQSUyMCUyMkRvZSUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMnN0cmVldCUyMiUzQSUyMCUyMkVhc3klMjBTdHJlZXQlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJob3VzZV9udW1iZXIlMjIlM0ElMjAlMjIzNyUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmNpdHklMjIlM0ElMjAlMjJGdW5reSUyMFRvd24lMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJzdHJpbmclMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIycHJvdmluY2UlMjIlM0ElMjAlMjIlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJzdGF0ZSUyMiUzQSUyMCUyMiUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmNvdW50cnklMjIlM0ElMjAlMjJOTCUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmRhdGVfb2ZfYmlydGglMjIlM0ElMjAlMjIxOTczLTAyLTI3JTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyZ2VuZGVyJTIyJTNBJTIwJTIybWFsZSUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmRlc2NyaXB0aW9uJTIyJTNBJTIwJTIyRG9pbmclMjBhcnRpc2FuJTIwdGhpbmdzJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIycGluJTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmFkbWluJTIyJTNBJTIwdHJ1ZSUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMnNob3dfbW9iaWxlX3B1YmxpY2x5JTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmNyZWRpdF9saW1pdCUyMiUzQSUyMDExNTAlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJkZWJpdF9saW1pdCUyMiUzQSUyMDExMDAlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJsb2NhdGlvbiUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJ1c2VybmFtZSUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJzdWJzY3JpcHRpb25fbGV2ZWwlMjIlM0ElMjAwJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyaW52aXRhdGlvbl90b2tlbiUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJpbnZpdGF0aW9uX3NlbnRfYXQlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyaW52aXRhdGlvbl9hY2NlcHRlZF9hdCUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJpbnZpdGF0aW9uX2xpbWl0JTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmludml0ZWRfYnlfaWQlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyaW52aXRlZF9ieV90eXBlJTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmludml0YXRpb25fY3JlYXRlZF9hdCUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJwYXlwYWxfdmVyaWZpZWQlMjIlM0ElMjAlMjIwJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIydGVybXNfb2Zfc2VydmljZSUyMiUzQSUyMHRydWUlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJsb2NhbGUlMjIlM0ElMjAlMjJlbiUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmxhc3Rfc2Vlbl9hdCUyMiUzQSUyMCUyMjIwMTYtMDEtMjJUMTAlM0EwNSUzQTQzLjczN1olMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJmYWNlYm9va191c2VybmFtZSUyMiUzQSUyMCUyMmh0dHBzJTNBJTJGJTJGZmFjZWJvb2suY29tJTJGam9obi1kb2UlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJ0d2l0dGVyX3VzZXJuYW1lJTIyJTNBJTIwJTIyaHR0cHMlM0ElMkYlMkZ0d2l0dGVyLmNvbSUyRmpvaG4tZG9lJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIybGlua2VkaW5fcHJvZmlsZSUyMiUzQSUyMCUyMiUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMnRyYWl0eV91c2VybmFtZSUyMiUzQSUyMCUyMmh0dHBzJTNBJTJGJTJGdHJhaXR5LmNvbSUyRmpvaG4tZG9lJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyeW91dHViZV91c2VybmFtZSUyMiUzQSUyMCUyMmh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGdXNlciUyRmJvb2dlcnNjaG1pZHQlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJ2aW1lb191c2VybmFtZSUyMiUzQSUyMCUyMmh0dHBzJTNBJTJGJTJGdmltZW8uY29tJTJGZXhhbXBsZSUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmdvb2dsZXBsdXNfdXNlcm5hbWUlMjIlM0ElMjAlMjJodHRwcyUzQSUyRiUyRnBsdXMuZ29vZ2xlLmNvbSUyRiUyQmV4YW1wbGUlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJ3ZWJzaXRlX3VybCUyMiUzQSUyMCUyMmh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmVsbG9fdXNlcm5hbWUlMjIlM0ElMjAlMjJodHRwcyUzQSUyRiUyRmVsbG8uY28lMkZqb2huLWRvZSUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmJ1c2luZXNzX25hbWUlMjIlM0ElMjAlMjIlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJkaWRfcmVxdWVzdF9pbnZpdGVfZm9yX2d1bHR1cmVfaWQlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyaXNfdmVyaWZpZWQlMjIlM0ElMjBmYWxzZSUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmFjY291bnRfdHlwZSUyMiUzQSUyMCUyMmluZGl2aWR1YWwlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJhY2NvdW50X25hbWUlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyYnVzaW5lc3NfYWRkcmVzc19zdHJlZXQlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyYnVzaW5lc3NfYWRkcmVzc19ob3VzZV9udW1iZXIlMjIlM0ElMjBudWxsJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyYnVzaW5lc3NfYWRkcmVzc19jaXR5JTIyJTNBJTIwbnVsbCUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMCUyMCUyMmJ1c2luZXNzX2FkZHJlc3NfY291bnRyeSUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjAlMjAlMjJuYW1lZF9yb3V0ZSUyMiUzQSUyMCUyMmpvaG4tZG9lJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIyZnVsbF9uYW1lJTIyJTNBJTIwJTIySm9obiUyMERvZSUyMiUwQSUyMCUyMCUyMyUyMCUyMCUyMCU3RCUwQSUyMCUyMGRlZiUyMHNlbGYuZ2V0X3VzZXJfaW5mbyUwQSUyMCUyMCUyMCUyMHJlcXVlc3QlMjAlM0QlMjBOZXQlM0ElM0FIVFRQJTNBJTNBR2V0Lm5ldyUyOCUyMiUyRnVzZXJzJTJGJTIzJTdCJTQwdXNlcl9pZCU3RC5qc29uJTIyJTI5JTBBJTIwJTIwJTIwJTIwc2V0X2F1dGhfZm9yJTIwcmVxdWVzdCUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwJTQwaHR0cC5yZXF1ZXN0JTI4cmVxdWVzdCUyOSUwQSUyMCUyMCUyMCUyMGlmJTIwcmVzcG9uc2UlMjAlM0QlM0QlM0QlMjAlMjJmYWxzZSUyMiUwQSUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMG5pbCUwQSUyMCUyMCUyMCUyMGVsc2UlMEElMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBKU09OLnBhcnNlJTI4cmVzcG9uc2UuYm9keSUyOSUwQSUyMCUyMCUyMCUyMGVuZCUwQSUyMCUyMGVuZCUwQSUwQSUyMCUyMCUyMyUyMEdFVCUyMCUyRmNsYWltcyUyRiUzQWlkLmpzb24lMEElMjAlMjAlMjMlMjAyMDAlMjBPSyUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEpTT04lMjBmb3JtYXR0ZWQlMjBzdHJpbmcuJTBBJTIwJTIwJTIzJTIwNDA0JTIwTm90JTIwRm91bmQlMjAlMjAlMjBzdHJpbmclMjAlMjJmYWxzZSUyMi4lMEElMjAlMjAlMjMlMjAlMEElMjAlMjAlMjMlMjBFeGFtcGxlJTIwb2YlMjByZXR1cm5lZCUyMEpTT04lM0ElMEElMjAlMjAlMjMlMjAlN0IlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJpZCUyMiUzQSUyMDIzNSUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMnJlY2VpdmVyX2lkJTIyJTNBJTIwODMlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJhbW91bnQlMjIlM0ElMjAlMjIxLjAlMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJpc3N1ZXJfaWQlMjIlM0ElMjA2MiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMmNyZWF0ZWRfYXQlMjIlM0ElMjAlMjIyMDE2LTAxLTExVDE2JTNBMjAlM0EyMC41NTdaJTIyJTJDJTBBJTIwJTIwJTIzJTIwJTIwJTIwJTIydXBkYXRlZF9hdCUyMiUzQSUyMCUyMjIwMTYtMDEtMTFUMTYlM0EyMCUzQTIwLjU1N1olMjIlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJpc19kb25lJTIyJTNBJTIwZmFsc2UlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJvZmZlcl9pZCUyMiUzQSUyMG51bGwlMkMlMEElMjAlMjAlMjMlMjAlMjAlMjAlMjJkZXNjcmlwdGlvbiUyMiUzQSUyMCUyMkd1aXRhciUyMGxlc3NvbiUyMiUyQyUwQSUyMCUyMCUyMyUyMCUyMCUyMCUyMnN0YXR1c19jZCUyMiUzQSUyMDElMEElMjAlMjAlMjMlMjAlN0QlMEElMjAlMjBkZWYlMjBzZWxmLmdldF9jbGFpbV9pbmZvJTBBJTIwJTIwJTIwJTIwcmVxdWVzdCUyMCUzRCUyME5ldCUzQSUzQUhUVFAlM0ElM0FHZXQubmV3JTI4JTIyJTJGY2xhaW1zJTJGJTIzJTdCJTQwc29tZV9jbGFpbV9pZCU3RC5qc29uJTIyJTI5JTBBJTIwJTIwJTIwJTIwc2V0X2F1dGhfZm9yJTIwcmVxdWVzdCUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwJTQwaHR0cC5yZXF1ZXN0JTI4cmVxdWVzdCUyOSUwQSUyMCUyMCUyMCUyMGlmJTIwcmVzcG9uc2UlMjAlM0QlM0QlM0QlMjAlMjJmYWxzZSUyMiUwQSUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMG5pbCUwQSUyMCUyMCUyMCUyMGVsc2UlMEElMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBKU09OLnBhcnNlJTI4cmVzcG9uc2UuYm9keSUyOSUwQSUyMCUyMCUyMCUyMGVuZCUwQSUyMCUyMGVuZCUwQSUwQSUyMCUyMCUyMyUyMFBPU1QlMjAlMkZjbGFpbXMuanNvbiUwQSUyMCUyMCUyMyUyMDIwMCUyME9LJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwQSUyMEpTT04lMjBmb3JtYXR0ZWQlMjBzdHJpbmclMjB3aXRoJTIwdGhlJTIwcHJpbWFyeSUyMGtleSUyMElEJTIwJTBBJTIwJTIwJTIzJTIwNDIyJTIwVW5wcm9jZXNzYWJsZSUyMEVudGl0eSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMEElMjBKU09OJTIwc3RyaW5nJTIwd2l0aCUyMGVycm9ycyUyMCUyOHVuZG9jdW1lbnRlZCUyOSUwQSUyMCUyMCUyMyUwQSUyMCUyMGRlZiUyMHNlbGYuY3JlYXRlX2NsYWltJTBBJTIwJTIwJTIwJTIwcGF5bG9hZCUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyN2NsYWltJTI3JTIwJTNEJTNFJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTI3cmVjZWl2ZXJfaWQlMjclMjAlM0QlM0UlMjAlNDBhbm90aGVyX3VzZXJfaWQlMkMlMjAlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjdpc3N1ZXJfaWQlMjclMjAlM0QlM0UlMjAlNDB1c2VyX2lkJTJDJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTI3YW1vdW50JTI3JTIwJTNEJTNFJTIwJTI3MTIzJTI3JTJDJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTI3ZGVzY3JpcHRpb24lMjclMjAlM0QlM0UlMjAlMjd0ZXN0JTI3JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTBBJTIwJTIwJTIwJTIwJTdELnRvX2pzb24lMEElMEElMjAlMjAlMjAlMjByZXF1ZXN0JTIwJTNEJTIwTmV0JTNBJTNBSFRUUCUzQSUzQVBvc3QubmV3JTI4JTI3JTJGY2xhaW1zLmpzb24lMjclMjklMEElMjAlMjAlMjAlMjBzZXRfYXV0aF9mb3IlMjByZXF1ZXN0JTBBJTIwJTIwJTIwJTIwcmVxdWVzdC5ib2R5JTIwJTNEJTIwcGF5bG9hZCUwQSUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwJTQwaHR0cC5yZXF1ZXN0JTI4cmVxdWVzdCUyOSUwQSUwQSUyMCUyMCUyMCUyMGlmJTIwcmVzcG9uc2UuY29kZSUyMCUzRCUzRCUyMDQyMiUwQSUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGZhbHNlJTBBJTIwJTIwJTIwJTIwZWxzZSUwQSUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMEpTT04ucGFyc2UlMjhyZXNwb25zZS5ib2R5JTI5JTBBJTIwJTIwJTIwJTIwZW5kJTBBJTIwJTIwZW5kJTBBJTBBJTIwJTIwJTIzJTIwUE9TVCUyMCUyRnNheV95ZXNfdG9fY2xhaW0lMkYlM0FjbGFpbV9pZC5qc29uJTBBJTIwJTIwJTIzJTIwMjAwJTIwT0slMjAlMjAlMjAlMjBKU09OJTIwd2l0aCUyMG9uZSUyMHByb3BlcnR5JTIwJTIyc3VjY2VlZGVkJTIyJTBBJTIwJTIwJTIzJTIwJTBBJTIwJTIwJTIzJTIwT25seSUyMHRoZSUyMHVzZXIlMjB0aGF0JTIwcmVjZWl2ZWQlMjB0aGUlMjBjbGFpbSUyMGNhbiUyMGFjY2VwdCUyMGl0JTIxJTBBJTIwJTIwJTIzJTBBJTIwJTIwJTIzJTIwVGhlJTIwSlNPTiUyMGxvb2tzJTIwbGlrZSUyMCU3QiUyMCUyMnN1Y2NlZWRlZCUyMiUyMCUzQSUyMHRydWUlN0NmYWxzZSUyMCU3RCUwQSUyMCUyMGRlZiUyMHNlbGYuYWNjZXB0X2NsYWltJTI4Y2xhaW1faWQlMjklMEElMjAlMjAlMjAlMjByZXF1ZXN0JTIwJTNEJTIwTmV0JTNBJTNBSFRUUCUzQSUzQVBvc3QubmV3JTI4JTIyJTJGc2F5X3llc190b19jbGFpbSUyRiUyMyU3QmNsYWltX2lkJTdELmpzb24lMjIlMjklMEElMjAlMjAlMjAlMjBzZXRfYXV0aF9mb3IlMjByZXF1ZXN0JTBBJTIwJTIwJTIwJTIwcmVzcG9uc2UlMjAlM0QlMjAlNDBodHRwLnJlcXVlc3QlMjhyZXF1ZXN0JTI5JTBBJTIwJTIwJTIwJTIwJTIxJTIxSlNPTi5wYXJzZSUyOHJlc3BvbnNlLmJvZHklMjklNUIlMjJzdWNjZWVkZWQlMjIlNUQlMEElMjAlMjBlbmQlMEElMEElMjAlMjAlMjMlMjBQT1NUJTIwJTJGY2xhaW1zJTJGJTNBaWQlMkZyZWplY3QuanNvbiUwQSUyMCUyMCUyMyUyMDIwMCUyME9LJTIwJTIwJTIwJTIwSlNPTiUyMHdpdGglMjBvbmUlMjBwcm9wZXJ0eSUyMCUyMnN1Y2NlZWRlZCUyMiUwQSUyMCUyMCUyMyUwQSUyMCUyMCUyMyUyME9ubHklMjB0aGUlMjB1c2VyJTIwdGhhdCUyMHJlY2VpdmVkJTIwdGhlJTIwY2xhaW0lMjBjYW4lMjByZWplY3QlMjBpdCUyMSUwQSUyMCUyMCUyMyUwQSUyMCUyMCUyMyUyMFRoZSUyMEpTT04lMjBsb29rcyUyMGxpa2UlMjAlN0IlMjAlMjJzdWNjZWVkZWQlMjIlMjAlM0ElMjB0cnVlJTdDZmFsc2UlMjAlN0QlMjAlMEElMjAlMjBkZWYlMjBzZWxmLnJlamVjdF9jbGFpbSUyOGNsYWltX2lkJTI5JTBBJTIwJTIwJTIwJTIwcmVxdWVzdCUyMCUzRCUyME5ldCUzQSUzQUhUVFAlM0ElM0FQb3N0Lm5ldyUyOCUyMiUyRmNsYWltcyUyRiUyMyU3QmNsYWltX2lkJTdEJTJGcmVqZWN0Lmpzb24lMjIlMjklMEElMjAlMjAlMjAlMjBzZXRfYXV0aF9mb3IlMjByZXF1ZXN0JTBBJTIwJTIwJTIwJTIwcmVzcG9uc2UlMjAlM0QlMjAlNDBodHRwLnJlcXVlc3QlMjhyZXF1ZXN0JTI5JTBBJTIwJTIwJTIwJTIwJTIxJTIxSlNPTi5wYXJzZSUyOHJlc3BvbnNlLmJvZHklMjklNUIlMjJzdWNjZWVkZWQlMjIlNUQlMEElMjAlMjBlbmQlMEElMEElMjAlMjAlMjMlMjBQT1NUJTIwJTJGY2xhaW1zJTJGJTNBaWQlMkZjYW5jZWwuanNvbiUwQSUyMCUyMCUyMyUyMDIwMCUyME9LJTIwJTIwJTIwJTIwSlNPTiUyMHdpdGglMjBvbmUlMjBwcm9wZXJ0eSUyMCUyMnN1Y2NlZWRlZCUyMiUwQSUyMCUyMCUyMyUwQSUyMCUyMCUyMyUyME9ubHklMjB0aGUlMjB1c2VyJTIwdGhhdCUyMGlzc3VlZCUyMHRoZSUyMGNsYWltJTIwY2FuJTIwcmVqZWN0JTIwaXQlMjElMEElMjAlMjAlMjMlMEElMjAlMjAlMjMlMjBUaGUlMjBKU09OJTIwbG9va3MlMjBsaWtlJTIwJTdCJTIwJTIyc3VjY2VlZGVkJTIyJTIwJTNBJTIwdHJ1ZSU3Q2ZhbHNlJTIwJTdEJTIwJTBBJTIwJTIwZGVmJTIwc2VsZi5jYW5jZWxfY2xhaW0lMjhjbGFpbV9pZCUyOSUwQSUyMCUyMCUyMCUyMHJlcXVlc3QlMjAlM0QlMjBOZXQlM0ElM0FIVFRQJTNBJTNBUG9zdC5uZXclMjglMjIlMkZjbGFpbXMlMkYlMjMlN0JjbGFpbV9pZCU3RCUyRmNhbmNlbC5qc29uJTIyJTI5JTBBJTIwJTIwJTIwJTIwc2V0X2F1dGhfZm9yJTIwcmVxdWVzdCUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwJTQwaHR0cC5yZXF1ZXN0JTI4cmVxdWVzdCUyOSUwQSUyMCUyMCUyMCUyMCUyMSUyMUpTT04ucGFyc2UlMjhyZXNwb25zZS5ib2R5JTI5JTVCJTIyc3VjY2VlZGVkJTIyJTVEJTBBJTIwJTIwZW5kJTBBJTBBJTIwJTIwJTIzJTIwR0VUJTIwJTJGdXNlcnMlMkZzdW1tYXJ5JTBBJTIwJTIwJTIzJTIwMjAwJTIwT0slMjAlMjAlMjAlMjAlMjAlMjBBcnJheSUyMHdpdGglMjBKU09OJTIwb2JqZWN0cy4lMEElMjAlMjBkZWYlMjBzZWxmLnN1bW1hcnlfb2ZfdXNlcnMlMEElMjAlMjAlMjAlMjByZXF1ZXN0JTIwTmV0JTNBJTNBSFRUUCUzQSUzQUdldC5uZXclMjglMjIlMkZ1c2VycyUyRnN1bW1hcnklMjIlMjklMEElMjAlMjAlMjAlMjBzZXRfYXV0aF9mb3IlMjByZXF1ZXN0JTBBJTIwJTIwJTIwJTIwcmVzcG9uc2UlMjAlM0QlMjAlNDBodHRwLnJlcXVlc3QlMjhyZXF1ZXN0JTI5JTBBJTIwJTIwJTIwJTIwSlNPTi5wYXJzZSUyOHJlc3BvbnNlLmJvZHklMjklMEElMjAlMjBlbmQlMEElMEElMEElMjAlMjBwcml2YXRlJTBBJTBBJTIwJTIwJTIwJTIwJTIzJTIwUGxhY2VzJTIwYXV0aGVudGljYXRpb24lMjBpbmZvcm1hdGlvbiUyMGluJTIwdGhlJTIwcmVxdWVzdC4lMEElMjAlMjAlMjAlMjBkZWYlMjBzZWxmLnNldF9hdXRoX2ZvciUyOHJlcXVlc3QlMjklMEElMjAlMjAlMjAlMjAlMjAlMjByZXF1ZXN0LmFkZF9maWVsZCUyOCUyN0NvbnRlbnQtVHlwZSUyNyUyQyUyMCUyN2FwcGxpY2F0aW9uJTJGanNvbiUyNyUyOSUwQSUyMCUyMCUyMCUyMCUyMCUyMHJlcXVlc3QuYWRkX2ZpZWxkJTI4JTI3WC1QZW5kby1BdXRoJTI3JTJDJTIwJTI3ZW1haWwlMjclMjklMEElMjAlMjAlMjAlMjAlMjAlMjByZXF1ZXN0LmFkZF9maWVsZCUyOCUyN1gtUGVuZG8tRW1haWwlMjclMkMlMjAlNDB1c2VyX2VtYWlsJTI5JTBBJTIwJTIwJTIwJTIwJTIwJTIwcmVxdWVzdC5hZGRfZmllbGQlMjglMjdYLVBlbmRvLVBhc3N3b3JkJTI3JTJDJTIwJTQwdXNlcl9wYXNzd29yZCUyOSUwQSUyMCUyMCUyMCUyMGVuZCUwQWVuZCUwQSUwQWRlZiUyMHB1dHNfanNvbiUyOHN0ciUyOSUwQSUyMCUyMHB1dHMlMjBKU09OLnByZXR0eV9nZW5lcmF0ZSUyMHN0ciUwQWVuZCUwQSUwQSUwQSUwQSUyMyUyMENyZWF0ZSUyMGElMjBjbGFpbSUyMGlzc3VlZCUyMGJ5JTIwdXNlcl9pZCUwQWNsYWltX3Jlc3BvbnNlJTIwJTNEJTIwRXhhbXBsZUFQSS5jcmVhdGVfY2xhaW0lMEFwdXRzJTIwY2xhaW1fcmVzcG9uc2UlMjBpZiUyMGNsYWltX3Jlc3BvbnNlJTIwJTNEJTNEJTNEJTIwZmFsc2UlMEFwdXRzX2pzb24lMjBjbGFpbV9yZXNwb25zZSUyMHVubGVzcyUyMGNsYWltX3Jlc3BvbnNlJTIwJTNEJTNEJTNEJTIwZmFsc2UlMEElMEElMjMlMjBHZXQlMjBhJTIwdXNlciUwQXVzZXJfaW5mbyUyMCUzRCUyMEV4YW1wbGVBUEklM0ElM0FnZXRfdXNlcl9pbmZvJTBBcHV0cyUyMHVzZXJfaW5mbyUyMGlmJTIwdXNlcl9pbmZvLm5pbCUzRiUwQXB1dHNfanNvbiUyMHVzZXJfaW5mbyUyMHVubGVzcyUyMHVzZXJfaW5mby5uaWwlM0YlMEElMEElMjMlMjMlMjBHZXQlMjBhJTIwY2xhaW0lMEFjbGFpbV9pbmZvJTIwJTNEJTIwRXhhbXBsZUFQSSUzQSUzQWdldF9jbGFpbV9pbmZvJTBBcHV0cyUyMGNsYWltX2luZm8lMjBpZiUyMGNsYWltX2luZm8ubmlsJTNGJTBBcHV0c19qc29uJTIwY2xhaW1faW5mbyUyMHVubGVzcyUyMGNsYWltX2luZm8ubmlsJTNGJTBBJTBBJTIzJTIzJTIwQWNjZXB0JTIwYSUyMGNsYWltJTBBcHV0cyUyMEV4YW1wbGVBUEklM0ElM0FhY2NlcHRfY2xhaW0lMjgxMjMlMjklMEE=[/syntax_highlighter]