{"id":1663,"date":"2026-03-30T14:21:34","date_gmt":"2026-03-30T13:21:34","guid":{"rendered":"https:\/\/portugal.wordcamp.org\/2026\/?post_type=wcb_session&#038;p=1663"},"modified":"2026-05-13T21:39:40","modified_gmt":"2026-05-13T20:39:40","slug":"stop-doing-it-yourself-building-ai-powered-admin-tools-with-the-wordpress-ai-api","status":"publish","type":"wcb_session","link":"https:\/\/portugal.wordcamp.org\/2026\/session\/stop-doing-it-yourself-building-ai-powered-admin-tools-with-the-wordpress-ai-api\/","title":{"rendered":"Stop Doing It Yourself: Building AI-Powered Admin Tools with the WordPress AI API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Every WordPress site owner knows the drill. You finish writing a post, and then the real work starts: pick a category, think up tags, write a meta description, check alt text, approve comments, organize taxonomies. None of it is hard \u2014 but all of it is tedious, repetitive, and easy to forget.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What if your users could describe what they want in plain language \u2014 right from the WordPress admin \u2014 and your plugin handled the rest?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this hands-on workshop for developers with plugin development experience, you&#8217;ll learn how to combine three core pieces of the WordPress AI Building Blocks initiative to build admin-facing tools that automate everyday content workflows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Custom Abilities<\/strong> \u2014 You&#8217;ll use the Abilities API to define your own discoverable WordPress capabilities: creating posts with metadata, setting up taxonomy structures, moderating comments, auditing media, and more. These are the building blocks that tell WordPress \u2014 and AI \u2014 what your site can do.<\/li>\n\n\n\n<li><strong>Connectors<\/strong> \u2014 You&#8217;ll use the Connectors settings screen in WP Admin to configure API credentials for providers like OpenAI, Anthropic, and Google. No hardcoded keys, no per-plugin configuration \u2014 just a centralized UI that securely manages credentials for every plugin on the site.<\/li>\n\n\n\n<li><strong>The JavaScript AI Client<\/strong> \u2014 You&#8217;ll use the JavaScript AI Client to interact with the WordPress AI API directly from the admin. Using the built-in prompt builder, you&#8217;ll send prompts, receive structured responses, and trigger your custom Abilities \u2014 all from a browser-based admin interface.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By the end, you&#8217;ll have the foundation and patterns to build solutions for the kinds of workflows your users deal with every day, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I just finished this post \u2014 publish it as a draft, categorize it as &#8216;Travel,&#8217; add relevant tags, and write me a meta description under 160 characters.<\/li>\n\n\n\n<li>Set up a &#8216;Recipes&#8217; category with subcategories for Breakfast, Lunch, Dinner, and Desserts.<\/li>\n\n\n\n<li>Find a testimonials pattern in my theme and add it to my About page as a draft.<\/li>\n\n\n\n<li>Approve all pending comments on my latest post and reply to the one asking about pricing.<\/li>\n\n\n\n<li>Find all images missing alt text and suggest some based on the filename.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This workshop is designed for WordPress plugin developers. You should be comfortable building plugins, working with the REST API, and writing JavaScript for the admin. No prior AI or machine learning experience is needed \u2014 we&#8217;ll cover everything you need to know about the AI APIs as we go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What you&#8217;ll walk away with:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A working admin-facing plugin you can extend for your own projects<\/li>\n\n\n\n<li>Hands-on experience creating custom Abilities, configuring Connectors, and using the JavaScript AI Client<\/li>\n\n\n\n<li>Patterns for single-shot AI actions and multi-step workflows triggered from the admin<\/li>\n\n\n\n<li>The tools to turn any repetitive WordPress workflow into a plain-language AI-powered feature<\/li>\n\n\n\n<li>A clear understanding of how the AI Building Blocks fit together and where the project is headed<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-base-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-c9a371c5 wp-block-group-is-layout-constrained\" style=\"border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<h3 class=\"wp-block-heading\"><strong>Workshop Requirements:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A copy of the <a href=\"https:\/\/github.com\/wptrainingteam\/wcpt-2026-ai-workshop\" target=\"_blank\" rel=\"noopener\">workshop repository<\/a><\/li>\n\n\n\n<li>A local WordPress environment. We&#8217;ll be using WordPress Studio \u2014 <a href=\"https:\/\/developer.wordpress.com\/studio\/\" target=\"_blank\" rel=\"noopener\">download<\/a><\/li>\n\n\n\n<li>Node.js v20+ (via NVM recommended)<\/li>\n\n\n\n<li>AI provider API key \u2014 Anthropic, OpenAI, or Google<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Every WordPress site owner knows the drill. You finish writing a post, and then the real work starts: pick a category, think up tags, write a meta description, check alt text, approve comments, organize taxonomies. None of it is hard \u2014 but all of it is tedious, repetitive, and easy to forget. What if your [&hellip;]<\/p>\n","protected":false},"author":7543064,"featured_media":0,"template":"","meta":{"_crdt_document":"{\"document\":\"AABaqOObzhqRl9PyAqjjm84a0ZfT8gICgo3vrAOo45vOGtGX0\/IC9QGlmZ9ykZfT8gLlmZ9yMZGX0\/IC5Zmfcg\/o45vOGgDRl9PyAgHlmZ9yFdGX0\/ICDuWZn3JkxAOyiAHwiAGgiAG2YwLaY\/KIAUakApZqAwAEAggCCgKeAQIWAwAEAgi+GAEHGgIBAgoCQkoAnAkBAgoCQkoAoAQBAgoCQkoAsAcBAgoAShACAQIKAkwAggoBAgoCTACiCQECCgJM9hOqHQECCgJCSgCmBAECCgBKEAIBAgoCTAC8BAECCgJMAIQDAQIKAkwArgIBAgoCTACCAwECCgJMwg6iEAECCgJCSgCWCQECCgBKABIBAgoCQkoAqgEBAgoAShACAQIKAkwAlAIBAgoCTACiAwECCgJMALoCAQIKAkwAiAMBAgoCTMRglGMCBuIP8twBAQEIAEgCCEo+AQEIAEgOAgEBCAJKAJoEAQEIAkoAigUBAQgCSgCSAQEBCAJKyAughwHyeQMABAIIAgoClAECFgMABAIIwhECgtsBBgLEtQH+JUoCAAaMJgEBCAJKRsomAoYmpgEwbEbuJ7hsBBAKAp4BGATwYJAczByQHALCHAoClAEYBIwVAoQDAsYpAQGmLAEBCAJCSACeAQEBCABIDgIBAQgCSgCaBAEBCAJKAIoFAQEIAkoAkgEBAQgCSso5AIY75CyQHM4cApAcAs4cCgKGFysUrCeERQQQCgKeARgE8GAABAEAEAoClAEYBJ4VAKAEAs4ckBwDAM4cCoYckwQoAKEAqAGhAiEAqAAhACgCJwAEACcABACBAIQAgQCEAIEAhAOBAIQAgQCEAIEAhACBAIQAJwAhACgBJwAoAyEAKAIhACgBIQAnAAcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnACgBJwAHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACgAJwCHACgDJwAoAScABwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACgAJwCHACgDJwEoACcAhwAoAycBBAAoACcAhwAoAycAKAEnAAcAKAMnAQQAJwCHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACcAIQGhAqgAIQCHACgCJwEoACcAqAAEAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcARACEAYEAhACBAIQAgQCEA4EAhACBAIQAgQCEAIEAhAChAagBKACoAigBBwAoAicBBAAnAKgApwCoAQQARACEAKgBKADEEqgDKANHACgCJwEEACgAJwDHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnACgBqADECISoZYBic3RhdGV2ZXJzaW9uc3RhdGV2ZXJzaW9uc3RhdGV2ZXJzaW9uZG9jdW1lbnRkYXRlZG9jdW1lbnRzbHVnZG9jdW1lbnRzdGF0dXNkb2N1bWVudHRpdGxlU3RvcCBEb2luZyBJdCBZb3Vyc2VsZjogQnVpbGRpbmcgQUktUG93ZXJlZCBBZG1pbiBUb29scyB3aXRoIHRoZSBXb3JkUHJlc3MgQUkgQVBJZG9jdW1lbnRjb250ZW50PCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkV2ZXJ5IFdvcmRQcmVzcyBzaXRlIG93bmVyIGtub3dzIHRoZSBkcmlsbC4gWW91IGZpbmlzaCB3cml0aW5nIGEgcG9zdCwgYW5kIHRoZW4gdGhlIHJlYWwgd29yayBzdGFydHM6IHBpY2sgYSBjYXRlZ29yeSwgdGhpbmsgdXAgdGFncywgd3JpdGUgYSBtZXRhIGRlc2NyaXB0aW9uLCBjaGVjayBhbHQgdGV4dCwgYXBwcm92ZSBjb21tZW50cywgb3JnYW5pemUgdGF4b25vbWllcy4gTm9uZSBvZiBpdCBpcyBoYXJkIOKAlCBidXQgYWxsIG9mIGl0IGlzIHRlZGlvdXMsIHJlcGV0aXRpdmUsIGFuZCBlYXN5IHRvIGZvcmdldC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5XaGF0IGlmIHlvdXIgdXNlcnMgY291bGQgZGVzY3JpYmUgd2hhdCB0aGV5IHdhbnQgaW4gcGxhaW4gbGFuZ3VhZ2Ug4oCUIHJpZ2h0IGZyb20gdGhlIFdvcmRQcmVzcyBhZG1pbiDigJQgYW5kIHlvdXIgcGx1Z2luIGhhbmRsZWQgdGhlIHJlc3Q\/PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gdGhpcyBoYW5kcy1vbiB3b3Jrc2hvcCBmb3IgZGV2ZWxvcGVycyB3aXRoIHBsdWdpbiBkZXZlbG9wbWVudCBleHBlcmllbmNlLCB5b3UnbGwgbGVhcm4gaG93IHRvIGNvbWJpbmUgdGhyZWUgY29yZSBwaWVjZXMgb2YgdGhlIFdvcmRQcmVzcyBBSSBCdWlsZGluZyBCbG9ja3MgaW5pdGlhdGl2ZSB0byBidWlsZCBhZG1pbi1mYWNpbmcgdG9vbHMgdGhhdCBhdXRvbWF0ZSBldmVyeWRheSBjb250ZW50IHdvcmtmbG93czo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+Q3VzdG9tIEFiaWxpdGllczwvc3Ryb25nPiDigJQgWW91J2xsIHVzZSB0aGUgQWJpbGl0aWVzIEFQSSB0byBkZWZpbmUgeW91ciBvd24gZGlzY292ZXJhYmxlIFdvcmRQcmVzcyBjYXBhYmlsaXRpZXM6IGNyZWF0aW5nIHBvc3RzIHdpdGggbWV0YWRhdGEsIHNldHRpbmcgdXAgdGF4b25vbXkgc3RydWN0dXJlcywgbW9kZXJhdGluZyBjb21tZW50cywgYXVkaXRpbmcgbWVkaWEsIGFuZCBtb3JlLiBUaGVzZSBhcmUgdGhlIGJ1aWxkaW5nIGJsb2NrcyB0aGF0IHRlbGwgV29yZFByZXNzIOKAlCBhbmQgQUkg4oCUIHdoYXQgeW91ciBzaXRlIGNhbiBkby48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+Q29ubmVjdG9yczwvc3Ryb25nPiDigJQgWW91J2xsIHVzZSB0aGUgQ29ubmVjdG9ycyBzZXR0aW5ncyBzY3JlZW4gaW4gV1AgQWRtaW4gdG8gY29uZmlndXJlIEFQSSBjcmVkZW50aWFscyBmb3IgcHJvdmlkZXJzIGxpa2UgT3BlbkFJLCBBbnRocm9waWMsIGFuZCBHb29nbGUuIE5vIGhhcmRjb2RlZCBrZXlzLCBubyBwZXItcGx1Z2luIGNvbmZpZ3VyYXRpb24g4oCUIGp1c3QgYSBjZW50cmFsaXplZCBVSSB0aGF0IHNlY3VyZWx5IG1hbmFnZXMgY3JlZGVudGlhbHMgZm9yIGV2ZXJ5IHBsdWdpbiBvbiB0aGUgc2l0ZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+VGhlIEphdmFTY3JpcHQgQUkgQ2xpZW50PC9zdHJvbmc+IOKAlCBZb3UnbGwgdXNlIHRoZSBKYXZhU2NyaXB0IEFJIENsaWVudCB0byBpbnRlcmFjdCB3aXRoIHRoZSBXb3JkUHJlc3MgQUkgQVBJIGRpcmVjdGx5IGZyb20gdGhlIGFkbWluLiBVc2luZyB0aGUgYnVpbHQtaW4gcHJvbXB0IGJ1aWxkZXIsIHlvdSdsbCBzZW5kIHByb21wdHMsIHJlY2VpdmUgc3RydWN0dXJlZCByZXNwb25zZXMsIGFuZCB0cmlnZ2VyIHlvdXIgY3VzdG9tIEFiaWxpdGllcyDigJQgYWxsIGZyb20gYSBicm93c2VyLWJhc2VkIGFkbWluIGludGVyZmFjZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5CeSB0aGUgZW5kLCB5b3UnbGwgaGF2ZSB0aGUgZm91bmRhdGlvbiBhbmQgcGF0dGVybnMgdG8gYnVpbGQgc29sdXRpb25zIGZvciB0aGUga2luZHMgb2Ygd29ya2Zsb3dzIHlvdXIgdXNlcnMgZGVhbCB3aXRoIGV2ZXJ5IGRheSwgc3VjaCBhczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkkganVzdCBmaW5pc2hlZCB0aGlzIHBvc3Qg4oCUIHB1Ymxpc2ggaXQgYXMgYSBkcmFmdCwgY2F0ZWdvcml6ZSBpdCBhcyAnVHJhdmVsLCcgYWRkIHJlbGV2YW50IHRhZ3MsIGFuZCB3cml0ZSBtZSBhIG1ldGEgZGVzY3JpcHRpb24gdW5kZXIgMTYwIGNoYXJhY3RlcnMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5TZXQgdXAgYSAnUmVjaXBlcycgY2F0ZWdvcnkgd2l0aCBzdWJjYXRlZ29yaWVzIGZvciBCcmVha2Zhc3QsIEx1bmNoLCBEaW5uZXIsIGFuZCBEZXNzZXJ0cy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkZpbmQgYSB0ZXN0aW1vbmlhbHMgcGF0dGVybiBpbiBteSB0aGVtZSBhbmQgYWRkIGl0IHRvIG15IEFib3V0IHBhZ2UgYXMgYSBkcmFmdC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkFwcHJvdmUgYWxsIHBlbmRpbmcgY29tbWVudHMgb24gbXkgbGF0ZXN0IHBvc3QgYW5kIHJlcGx5IHRvIHRoZSBvbmUgYXNraW5nIGFib3V0IHByaWNpbmcuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5GaW5kIGFsbCBpbWFnZXMgbWlzc2luZyBhbHQgdGV4dCBhbmQgc3VnZ2VzdCBzb21lIGJhc2VkIG9uIHRoZSBmaWxlbmFtZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGlzIHdvcmtzaG9wIGlzIGRlc2lnbmVkIGZvciBXb3JkUHJlc3MgcGx1Z2luIGRldmVsb3BlcnMuIFlvdSBzaG91bGQgYmUgY29tZm9ydGFibGUgYnVpbGRpbmcgcGx1Z2lucywgd29ya2luZyB3aXRoIHRoZSBSRVNUIEFQSSwgYW5kIHdyaXRpbmcgSmF2YVNjcmlwdCBmb3IgdGhlIGFkbWluLiBObyBwcmlvciBBSSBvciBtYWNoaW5lIGxlYXJuaW5nIGV4cGVyaWVuY2UgaXMgbmVlZGVkIOKAlCB3ZSdsbCBjb3ZlciBldmVyeXRoaW5nIHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIEFJIEFQSXMgYXMgd2UgZ28uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmFnIC0tPgo8cD48c3Ryb25nPldoYXQgeW91J2xsIHdhbGsgYXdheSB3aXRoOjwvc3Ryb25nPjwvPgo8IS0tIC93cDphZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkEgd29ya2luZyBhZG1pbi1mYWNpbmcgcGx1Z2luIHlvdSBjYW4gZXh0ZW5kIGZvciB5b3VyIG93biBwcm9qZWN0czwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SGFuZHMtb24gZXhwZXJpZW5jZSBjcmVhdGluZyBjdXN0b20gQWJpbGl0aWVzLCBjb25maWd1cmluZyBDb25uZWN0b3JzLCBhbmQgdXNpbmcgdGhlIEphdmFTY3JpcHQgQUkgQ2xpZW50PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5QYXR0ZXJucyBmb3Igc2luZ2xlLXNob3QgQUkgYWN0aW9ucyBhbmQgbXVsdGktc3RlcCB3b3JrZmxvd3MgdHJpZ2dlcmVkIGZyb20gdGhlIGFkbWluPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UaGUgdG9vbHMgdG8gdHVybiBhbnkgcmVwZXRpdGl2ZSBXb3JkUHJlc3Mgd29ya2Zsb3cgaW50byBhIHBsYWluLWxhbmd1YWdlIEFJLXBvd2VyZWQgZmVhdHVyZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgQUkgQnVpbGRpbmcgQmxvY2tzIGZpdCB0b2dldGhlciBhbmQgd2hlcmUgdGhlIHByb2plY3QgaXMgaGVhZGVkPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+ZG9jdW1lbnRleGNlcnB0ZG9jdW1lbnRhdXRob3Jkb2N1bWVudGZlYXR1cmVkX21lZGlhZG9jdW1lbnR0ZW1wbGF0ZWRvY3VtZW50bWV0YWpldHBhY2tfcG9zdF93YXNfZXZlcl9wdWJsaXNoZWRfbmFrZWRjYXRwbHVnaW5zX3BhZ2VfbGFuZ19uYWtlZGNhdHBsdWdpbnNfcGFnZV9kaXJfd2NwdF9zZXNzaW9uX3RpbWVfd2NwdF9zZXNzaW9uX2R1cmF0aW9uX3djcHRfc2Vzc2lvbl90eXBlX3djcHRfc2Vzc2lvbl9zbGlkZXNfd2NwdF9zZXNzaW9uX3ZpZGVvX3djcHRfc3BlYWtlcl9pZGZvb3Rub3Rlc2RvY3VtZW50c2Vzc2lvbl90cmFja2RvY3VtZW50c2Vzc2lvbl9jYXRlZ29yeWRvY3VtZW50YmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50RXZlcnkgV29yZFByZXNzIHNpdGUgb3duZXIga25vd3MgdGhlIGRyaWxsLiBZb3UgZmluaXNoIHdyaXRpbmcgYSBwb3N0LCBhbmQgdGhlbiB0aGUgcmVhbCB3b3JrIHN0YXJ0czogcGljayBhIGNhdGVnb3J5LCB0aGluayB1cCB0YWdzLCB3cml0ZSBhIG1ldGEgZGVzY3JpcHRpb24sIGNoZWNrIGFsdCB0ZXh0LCBhcHByb3ZlIGNvbW1lbnRzLCBvcmdhbml6ZSB0YXhvbm9taWVzLiBOb25lIG9mIGl0IGlzIGhhcmQg4oCUIGJ1dCBhbGwgb2YgaXQgaXMgdGVkaW91cywgcmVwZXRpdGl2ZSwgYW5kIGVhc3kgdG8gZm9yZ2V0LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgaWYgeW91ciB1c2VycyBjb3VsZCBkZXNjcmliZSB3aGF0IHRoZXkgd2FudCBpbiBwbGFpbiBsYW5ndWFnZSDigJQgcmlnaHQgZnJvbSB0aGUgV29yZFByZXNzIGFkbWluIOKAlCBhbmQgeW91ciBwbHVnaW4gaGFuZGxlZCB0aGUgcmVzdD9kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiB0aGlzIGhhbmRzLW9uIHdvcmtzaG9wIGZvciBkZXZlbG9wZXJzIHdpdGggcGx1Z2luIGRldmVsb3BtZW50IGV4cGVyaWVuY2UsIHlvdSdsbCBsZWFybiBob3cgdG8gY29tYmluZSB0aHJlZSBjb3JlIHBpZWNlcyBvZiB0aGUgV29yZFByZXNzIEFJIEJ1aWxkaW5nIEJsb2NrcyBpbml0aWF0aXZlIHRvIGJ1aWxkIGFkbWluLWZhY2luZyB0b29scyB0aGF0IGF1dG9tYXRlIGV2ZXJ5ZGF5IGNvbnRlbnQgd29ya2Zsb3dzOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5DdXN0b20gQWJpbGl0aWVzPC9zdHJvbmc+IOKAlCBZb3UnbGwgdXNlIHRoZSBBYmlsaXRpZXMgQVBJIHRvIGRlZmluZSB5b3VyIG93biBkaXNjb3ZlcmFibGUgV29yZFByZXNzIGNhcGFiaWxpdGllczogY3JlYXRpbmcgcG9zdHMgd2l0aCBtZXRhZGF0YSwgc2V0dGluZyB1cCB0YXhvbm9teSBzdHJ1Y3R1cmVzLCBtb2RlcmF0aW5nIGNvbW1lbnRzLCBhdWRpdGluZyBtZWRpYSwgYW5kIG1vcmUuIFRoZXNlIGFyZSB0aGUgYnVpbGRpbmcgYmxvY2tzIHRoYXQgdGVsbCBXb3JkUHJlc3Mg4oCUIGFuZCBBSSDigJQgd2hhdCB5b3VyIHNpdGUgY2FuIGRvLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Db25uZWN0b3JzPC9zdHJvbmc+IOKAlCBZb3UnbGwgdXNlIHRoZSBDb25uZWN0b3JzIHNldHRpbmdzIHNjcmVlbiBpbiBXUCBBZG1pbiB0byBjb25maWd1cmUgQVBJIGNyZWRlbnRpYWxzIGZvciBwcm92aWRlcnMgbGlrZSBPcGVuQUksIEFudGhyb3BpYywgYW5kIEdvb2dsZS4gTm8gaGFyZGNvZGVkIGtleXMsIG5vIHBlci1wbHVnaW4gY29uZmlndXJhdGlvbiDigJQganVzdCBhIGNlbnRyYWxpemVkIFVJIHRoYXQgc2VjdXJlbHkgbWFuYWdlcyBjcmVkZW50aWFscyBmb3IgZXZlcnkgcGx1Z2luIG9uIHRoZSBzaXRlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5UaGUgSmF2YVNjcmlwdCBBSSBDbGllbnQ8L3N0cm9uZz4g4oCUIFlvdSdsbCB1c2UgdGhlIEphdmFTY3JpcHQgQUkgQ2xpZW50IHRvIGludGVyYWN0IHdpdGggdGhlIFdvcmRQcmVzcyBBSSBBUEkgZGlyZWN0bHkgZnJvbSB0aGUgYWRtaW4uIFVzaW5nIHRoZSBidWlsdC1pbiBwcm9tcHQgYnVpbGRlciwgeW91J2xsIHNlbmQgcHJvbXB0cywgcmVjZWl2ZSBzdHJ1Y3R1cmVkIHJlc3BvbnNlcywgYW5kIHRyaWdnZXIgeW91ciBjdXN0b20gQWJpbGl0aWVzIOKAlCBhbGwgZnJvbSBhIGJyb3dzZXItYmFzZWQgYWRtaW4gaW50ZXJmYWNlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50QnkgdGhlIGVuZCwgeW91J2xsIGhhdmUgdGhlIGZvdW5kYXRpb24gYW5kIHBhdHRlcm5zIHRvIGJ1aWxkIHNvbHV0aW9ucyBmb3IgdGhlIGtpbmRzIG9mIHdvcmtmbG93cyB5b3VyIHVzZXJzIGRlYWwgd2l0aCBldmVyeSBkYXksIHN1Y2ggYXM6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJIGp1c3QgZmluaXNoZWQgdGhpcyBwb3N0IOKAlCBwdWJsaXNoIGl0IGFzIGEgZHJhZnQsIGNhdGVnb3JpemUgaXQgYXMgJ1RyYXZlbCwnIGFkZCByZWxldmFudCB0YWdzLCBhbmQgd3JpdGUgbWUgYSBtZXRhIGRlc2NyaXB0aW9uIHVuZGVyIDE2MCBjaGFyYWN0ZXJzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50U2V0IHVwIGEgJ1JlY2lwZXMnIGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcmllcyBmb3IgQnJlYWtmYXN0LCBMdW5jaCwgRGlubmVyLCBhbmQgRGVzc2VydHMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRGaW5kIGEgdGVzdGltb25pYWxzIHBhdHRlcm4gaW4gbXkgdGhlbWUgYW5kIGFkZCBpdCB0byBteSBBYm91dCBwYWdlIGFzIGEgZHJhZnQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRBcHByb3ZlIGFsbCBwZW5kaW5nIGNvbW1lbnRzIG9uIG15IGxhdGVzdCBwb3N0IGFuZCByZXBseSB0byB0aGUgb25lIGFza2luZyBhYm91dCBwcmljaW5nLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50RmluZCBhbGwgaW1hZ2VzIG1pc3NpbmcgYWx0IHRleHQgYW5kIHN1Z2dlc3Qgc29tZSBiYXNlZCBvbiB0aGUgZmlsZW5hbWUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIHdvcmtzaG9wIGlzIGRlc2lnbmVkIGZvciBXb3JkUHJlc3MgcGx1Z2luIGRldmVsb3BlcnMuIFlvdSBzaG91bGQgYmUgY29tZm9ydGFibGUgYnVpbGRpbmcgcGx1Z2lucywgd29ya2luZyB3aXRoIHRoZSBSRVNUIEFQSSwgYW5kIHdyaXRpbmcgSmF2YVNjcmlwdCBmb3IgdGhlIGFkbWluLiBObyBwcmlvciBBSSBvciBtYWNoaW5lIGxlYXJuaW5nIGV4cGVyaWVuY2UgaXMgbmVlZGVkIOKAlCB3ZSdsbCBjb3ZlciBldmVyeXRoaW5nIHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIEFJIEFQSXMgYXMgd2UgZ28uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5XaGF0IHlvdSdsbCB3YWxrIGF3YXkgd2l0aDo8L3N0cm9uZz5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEEgd29ya2luZyBhZG1pbi1mYWNpbmcgcGx1Z2luIHlvdSBjYW4gZXh0ZW5kIGZvciB5b3VyIG93biBwcm9qZWN0c2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50SGFuZHMtb24gZXhwZXJpZW5jZSBjcmVhdGluZyBjdXN0b20gQWJpbGl0aWVzLCBjb25maWd1cmluZyBDb25uZWN0b3JzLCBhbmQgdXNpbmcgdGhlIEphdmFTY3JpcHQgQUkgQ2xpZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRQYXR0ZXJucyBmb3Igc2luZ2xlLXNob3QgQUkgYWN0aW9ucyBhbmQgbXVsdGktc3RlcCB3b3JrZmxvd3MgdHJpZ2dlcmVkIGZyb20gdGhlIGFkbWluaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgdG9vbHMgdG8gdHVybiBhbnkgcmVwZXRpdGl2ZSBXb3JkUHJlc3Mgd29ya2Zsb3cgaW50byBhIHBsYWluLWxhbmd1YWdlIEFJLXBvd2VyZWQgZmVhdHVyZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50QSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgQUkgQnVpbGRpbmcgQmxvY2tzIGZpdCB0b2dldGhlciBhbmQgd2hlcmUgdGhlIHByb2plY3QgaXMgaGVhZGVkaW5uZXJCbG9ja3NzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlzdGF0ZXZlcnNpb25jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NXb3Jrc2hvcCBSZXF1aXJlbWVudHM6Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIGNvcHkgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93cHRyYWluaW5ndGVhbS93Y3B0LTIwMjYtYWktd29ya3Nob3AiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj53b3Jrc2hvcCByZXBvc2l0b3J5PC9hPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBsb2NhbCBXb3JkUHJlc3MgZW52aXJvbm1lbnQuIFdlJ2xsIGJlIHVzaW5nIFdvcmRQcmVzcyBTdHVkaW8g4oCUIDxhIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLndvcmRwcmVzcy5jb20vc3R1ZGlvLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPmRvd25sb2FkPC9hPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Tm9kZS5qcyB2MjArICh2aWEgTlZNIHJlY29tbWVuZGVkKWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QUkgcHJvdmlkZXIgQVBJIGtleSDigJQgQW50aHJvcGljLCBPcGVuQUksIG9yIEdvb2dsZWlubmVyQmxvY2tzPHN0cm9uZz48L3N0cm9uZz4KCjwhLS0gd3A6YWcgLS0+CjxwPjxzdHJvbmc+V29ya3Nob3AgUmVxdWlyZW1lbnRzOjwvc3Ryb25nPjwvPgo8IS0tIC93cDphZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkEgY29weSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dwdHJhaW5pbmd0ZWFtL3djcHQtMjAyNi1haS13b3Jrc2hvcCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPndvcmtzaG9wIHJlcG9zaXRvcnk8L2E+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BIGxvY2FsIFdvcmRQcmVzcyBlbnZpcm9ubWVudC4gV2UnbGwgYmUgdXNpbmcgV29yZFByZXNzIFN0dWRpbyDigJQgPGEgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIud29yZHByZXNzLmNvbS9zdHVkaW8vIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+ZG93bmxvYWQ8L2E+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Ob2RlLmpzIHYyMCsgKHZpYSBOVk0gcmVjb21tZW5kZWQpPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BSSBwcm92aWRlciBBUEkga2V5IOKAlCBBbnRocm9waWMsIE9wZW5BSSwgb3IgR29vZ2xlPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+bGV2ZWxvcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Xb3Jrc2hvcCBSZXF1aXJlbWVudHM6PC9zdHJvbmc+aW5uZXJCbG9ja3NXb3Jrc2hvcCBSZXF1aXJlbWVudHM6PHN0cm9uZz48L3N0cm9uZz5sZXZlbGhlZGlueyJsZXZlbCI6M30gaDMgY2xhc3M9InctYmxvY2staGVhZGluZyJoM2hlZGluaGVkaW57ImxldmVsIjozfSBoMyBjbGFzcz0idy1ibG9jay1oZWFkaW5nImgzaGVkaW50YWdOYW1lbGFuZ2RpcmxheW91dGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+V29ya3Nob3AgUmVxdWlyZW1lbnRzOjwvc3Ryb25nPmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgY29weSBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3dwdHJhaW5pbmd0ZWFtL3djcHQtMjAyNi1haS13b3Jrc2hvcCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPndvcmtzaG9wIHJlcG9zaXRvcnk8L2E+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIGxvY2FsIFdvcmRQcmVzcyBlbnZpcm9ubWVudC4gV2UnbGwgYmUgdXNpbmcgV29yZFByZXNzIFN0dWRpbyDigJQgPGEgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIud29yZHByZXNzLmNvbS9zdHVkaW8vIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+ZG93bmxvYWQ8L2E+aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnROb2RlLmpzIHYyMCsgKHZpYSBOVk0gcmVjb21tZW5kZWQpaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBSSBwcm92aWRlciBBUEkga2V5IOKAlCBBbnRocm9waWMsIE9wZW5BSSwgb3IgR29vZ2xlaW5uZXJCbG9ja3NiYWNrZ3JvdW5kQ29sb3JzdHlsZWdyb3VwIHsic3R5bGUiOnsic3BhY2luZyI6eyJwYWRkaW5nIjp7InRvcCI6InZhcjpwcmVzZXR8c3BhY2luZ3wzMCIsImJvdHRvbSI6InZhcjpwcmVzZXR8c3BhY2luZ3wzMCIsImxlZnQiOiJ2YXI6cHJlc2V0fHNwYWNpbmd8MzAiLCJyaWd0IjoidmFyOnByc2V0fHNwY2luZ3wzMCJ9fSwiYm9yZXIiOnsicmFkdXMiOnsidG9wTGVmdCI6IjE2cHgiLCJ0b3BSaWdodCI6IjE2cHgiLCJib3R0b21MZWZ0IjoiMTZweCIsImJvdHRvbVJpZ2h0IjoiMTZweCJ9fX0sImJhY2tncm91ZENvbG9yIjoiYmFzZSIsImxheW91dCI6eyJ0eXBlIjoiY29uc3RyYWluZWQifX0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLXJvdXBoYXMtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yIGhhcy1iYWNrZ3JvdW5kIiBzdHlsZT0iYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxNnB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjE2cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxNnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjE2cHg7cGFkZGluZy10b3A6dmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMzApO3BhZGRpbmctcmlnaHQ6dmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMzApO3BhZGRpbmctYm90dG9tOnZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTMwKTtwYWRkaW5nLWxlZnQ6dmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMzApIj48IS0tIHdwOmhlYWRpbmcgPC9kaXY+CjwhLS0gL3dwOmdyb3VwIC0tPgUHBQcFBwgECAQIBggFkQEIB4s1QQEFAS8LQQCaDAgHCAYIDkgBBB8aGRIWEhQTEAkIDQgQCAYIBw8ECgelBAcLCAcPBAoHhwIHCwgHDwQKB68DBwsIBw8ECgcGCwgHDwQKB7kECwgHDwQKB6kECwgHDwQKB7IECwgHDwQKB4oCBwsIBw8ECgcGCwgHDwQKB5YCCwgHDwQKB5oBCwgHDwQKB48BCwgHDwQKB5kBCwgHDwQKB4gBCwgHDwQKB6IEBwsIBw8ECkcACwgHDwQKBywHCwgHDwQKBwYLCAcPBAoHggELCAcPBAoHqQELCAcPBAoHlQELCAcPBAoHnAELCAcPBAoHoAELBQcFBwUHCAcECkcACxYIBwQKBwYLCAcECgeGAgsIBwQKB54CCwgHBAoHIgsIBwQKBzILCAkKQQEFASoLQQCeCgUHBggHBAoHJwsWCAkFAgMMCw9CAANBAwwLD0IAAwcEAwYIBwQKBycFCwgHBAoHBgsIBwQKB4YCCwgHBAoHngILCAcECgciCwgHBAoHMgsPBYgCCgYPCZ0BiQEErAUZFAEGAAABAAAAAQQACQECAMEBAQIAkAFCAQEAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgACQQACAEEAAEEAAgBBAAIAQQACAEEAAgAdQQQCQQUCBEEAAgRBeANBGQIEQQACBEEQA0EcBQEEBwB9AX24xAF9mOSYBwIAdQJ9Kn0khgIAdxMyMDI2LTAzLTMwVDE0OjIxOjM0d1BzdG9wLWRvaW5nLWl0LXlvdXJzZWxmLWJ1aWxkaW5nLWFpLXBvd2VyZWQtYWRtaW4tdG9vbHMtd2l0aC10aGUtd29yZHByZXNzLWFpLWFwaXcHcHVibGlzaH0AdwB5dwB3A2x0cn2g4cOgDXcHc2Vzc2lvbncAdwB3AHUBfR53JDU4ZDczN2JmLTcxNjctNDNlMC1hODc4LTRhM2MzZmFlNDk3Y3h3rgI8cD5FdmVyeSBXb3JkUHJlc3Mgc2l0ZSBvd25lciBrbm93cyB0aGUgZHJpbGwuIFlvdSBmaW5pc2ggd3JpdGluZyBhIHBvc3QsIGFuZCB0aGVuIHRoZSByZWFsIHdvcmsgc3RhcnRzOiBwaWNrIGEgY2F0ZWdvcnksIHRoaW5rIHVwIHRhZ3MsIHdyaXRlIGEgbWV0YSBkZXNjcmlwdGlvbiwgY2hlY2sgYWx0IHRleHQsIGFwcHJvdmUgY29tbWVudHMsIG9yZ2FuaXplIHRheG9ub21pZXMuIE5vbmUgb2YgaXQgaXMgaGFyZCDigJQgYnV0IGFsbCBvZiBpdCBpcyB0ZWRpb3VzLCByZXBldGl0aXZlLCBhbmQgZWFzeSB0byBmb3JnZXQuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQwODljYjRlYy05ZDgzLTRjYjQtYTMwZC1kOGQ0ZjgxYmQ1Nzl4d5IBPHA+V2hhdCBpZiB5b3VyIHVzZXJzIGNvdWxkIGRlc2NyaWJlIHdoYXQgdGhleSB3YW50IGluIHBsYWluIGxhbmd1YWdlIOKAlCByaWdodCBmcm9tIHRoZSBXb3JkUHJlc3MgYWRtaW4g4oCUIGFuZCB5b3VyIHBsdWdpbiBoYW5kbGVkIHRoZSByZXN0PzwvcD53DmNvcmUvcGFyYWdyYXBoeXckOWY3ZGExZDAtMDBlMC00MzQ0LThiZjUtMWJkYmRhMTYyMDFkeHf2ATxwPkluIHRoaXMgaGFuZHMtb24gd29ya3Nob3AgZm9yIGRldmVsb3BlcnMgd2l0aCBwbHVnaW4gZGV2ZWxvcG1lbnQgZXhwZXJpZW5jZSwgeW91J2xsIGxlYXJuIGhvdyB0byBjb21iaW5lIHRocmVlIGNvcmUgcGllY2VzIG9mIHRoZSBXb3JkUHJlc3MgQUkgQnVpbGRpbmcgQmxvY2tzIGluaXRpYXRpdmUgdG8gYnVpbGQgYWRtaW4tZmFjaW5nIHRvb2xzIHRoYXQgYXV0b21hdGUgZXZlcnlkYXkgY29udGVudCB3b3JrZmxvd3M6PC9wPncOY29yZS9wYXJhZ3JhcGh5dyRhYWYzNTA5MS1hNjA3LTQ0MWEtOTU0NS0yMTAwZjVkMDJjYzd4dyM8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPgoKCgo8L3VsPncJY29yZS9saXN0eXcAdyQxNDQ5NTJkOC04MDdjLTQ1ZjQtYjBiNi03ZTcwNjcxYWE2OWN4d8gCPGxpPjxzdHJvbmc+Q3VzdG9tIEFiaWxpdGllczwvc3Ryb25nPiDigJQgWW91J2xsIHVzZSB0aGUgQWJpbGl0aWVzIEFQSSB0byBkZWZpbmUgeW91ciBvd24gZGlzY292ZXJhYmxlIFdvcmRQcmVzcyBjYXBhYmlsaXRpZXM6IGNyZWF0aW5nIHBvc3RzIHdpdGggbWV0YWRhdGEsIHNldHRpbmcgdXAgdGF4b25vbXkgc3RydWN0dXJlcywgbW9kZXJhdGluZyBjb21tZW50cywgYXVkaXRpbmcgbWVkaWEsIGFuZCBtb3JlLiBUaGVzZSBhcmUgdGhlIGJ1aWxkaW5nIGJsb2NrcyB0aGF0IHRlbGwgV29yZFByZXNzIOKAlCBhbmQgQUkg4oCUIHdoYXQgeW91ciBzaXRlIGNhbiBkby48L2xpPncOY29yZS9saXN0LWl0ZW13JDVkMmQwNWIwLWMzOTItNGNkYi05NDE3LTgwZWU5ZGNjMzM0MXh3tgI8bGk+PHN0cm9uZz5Db25uZWN0b3JzPC9zdHJvbmc+IOKAlCBZb3UnbGwgdXNlIHRoZSBDb25uZWN0b3JzIHNldHRpbmdzIHNjcmVlbiBpbiBXUCBBZG1pbiB0byBjb25maWd1cmUgQVBJIGNyZWRlbnRpYWxzIGZvciBwcm92aWRlcnMgbGlrZSBPcGVuQUksIEFudGhyb3BpYywgYW5kIEdvb2dsZS4gTm8gaGFyZGNvZGVkIGtleXMsIG5vIHBlci1wbHVnaW4gY29uZmlndXJhdGlvbiDigJQganVzdCBhIGNlbnRyYWxpemVkIFVJIHRoYXQgc2VjdXJlbHkgbWFuYWdlcyBjcmVkZW50aWFscyBmb3IgZXZlcnkgcGx1Z2luIG9uIHRoZSBzaXRlLjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckODY0NTljNjgtZDYwOS00YWI5LThiNDctN2Q0ZmZlZjQ2OGZleHe\/AjxsaT48c3Ryb25nPlRoZSBKYXZhU2NyaXB0IEFJIENsaWVudDwvc3Ryb25nPiDigJQgWW91J2xsIHVzZSB0aGUgSmF2YVNjcmlwdCBBSSBDbGllbnQgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgV29yZFByZXNzIEFJIEFQSSBkaXJlY3RseSBmcm9tIHRoZSBhZG1pbi4gVXNpbmcgdGhlIGJ1aWx0LWluIHByb21wdCBidWlsZGVyLCB5b3UnbGwgc2VuZCBwcm9tcHRzLCByZWNlaXZlIHN0cnVjdHVyZWQgcmVzcG9uc2VzLCBhbmQgdHJpZ2dlciB5b3VyIGN1c3RvbSBBYmlsaXRpZXMg4oCUIGFsbCBmcm9tIGEgYnJvd3Nlci1iYXNlZCBhZG1pbiBpbnRlcmZhY2UuPC9saT53DmNvcmUvbGlzdC1pdGVtdyQ2MzRiM2YzZC02MGExLTQ5NzMtODAwNS1lMDZiMTk1MDM0Yjh4d5EBPHA+QnkgdGhlIGVuZCwgeW91J2xsIGhhdmUgdGhlIGZvdW5kYXRpb24gYW5kIHBhdHRlcm5zIHRvIGJ1aWxkIHNvbHV0aW9ucyBmb3IgdGhlIGtpbmRzIG9mIHdvcmtmbG93cyB5b3VyIHVzZXJzIGRlYWwgd2l0aCBldmVyeSBkYXksIHN1Y2ggYXM6PC9wPncOY29yZS9wYXJhZ3JhcGh5dyQ1OGFhMGE3NC02NjY4LTRjOWYtYThhZi1jMWMzNTgzZWY4ZjN4dyc8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPgoKCgoKCgoKPC91bD53CWNvcmUvbGlzdHl3AHckNGZhYmJlNTUtNTYwMS00YTFlLTk2YjctY2NiYzljMjQ5MWI4eHehATxsaT5JIGp1c3QgZmluaXNoZWQgdGhpcyBwb3N0IOKAlCBwdWJsaXNoIGl0IGFzIGEgZHJhZnQsIGNhdGVnb3JpemUgaXQgYXMgJ1RyYXZlbCwnIGFkZCByZWxldmFudCB0YWdzLCBhbmQgd3JpdGUgbWUgYSBtZXRhIGRlc2NyaXB0aW9uIHVuZGVyIDE2MCBjaGFyYWN0ZXJzLjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckMmQ0NTliZGEtYjhhNS00NzlmLTk5ZmMtYTZkZTU3ZDI3OTBjeHdjPGxpPlNldCB1cCBhICdSZWNpcGVzJyBjYXRlZ29yeSB3aXRoIHN1YmNhdGVnb3JpZXMgZm9yIEJyZWFrZmFzdCwgTHVuY2gsIERpbm5lciwgYW5kIERlc3NlcnRzLjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckMzQ2Nzc5NDMtYzE1Ni00NzExLWJlMmQtMWQzMWJlM2RhZDk0eHdYPGxpPkZpbmQgYSB0ZXN0aW1vbmlhbHMgcGF0dGVybiBpbiBteSB0aGVtZSBhbmQgYWRkIGl0IHRvIG15IEFib3V0IHBhZ2UgYXMgYSBkcmFmdC48L2xpPncOY29yZS9saXN0LWl0ZW13JDExZGM1M2MwLTIzNzMtNGM2Mi1iZWZhLWI1ZGRjMmYwZDYwYnh3YjxsaT5BcHByb3ZlIGFsbCBwZW5kaW5nIGNvbW1lbnRzIG9uIG15IGxhdGVzdCBwb3N0IGFuZCByZXBseSB0byB0aGUgb25lIGFza2luZyBhYm91dCBwcmljaW5nLjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckNjdiZjY4YTQtMzNiOC00ZGI3LWE2NDgtMGE1OGY2M2U3MWM3eHdRPGxpPkZpbmQgYWxsIGltYWdlcyBtaXNzaW5nIGFsdCB0ZXh0IGFuZCBzdWdnZXN0IHNvbWUgYmFzZWQgb24gdGhlIGZpbGVuYW1lLjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckNTlkMGQwYmQtNzliZS00MGRhLThjZTktYzg4NjM2ZmUxOTdmeHerAjxwPlRoaXMgd29ya3Nob3AgaXMgZGVzaWduZWQgZm9yIFdvcmRQcmVzcyBwbHVnaW4gZGV2ZWxvcGVycy4gWW91IHNob3VsZCBiZSBjb21mb3J0YWJsZSBidWlsZGluZyBwbHVnaW5zLCB3b3JraW5nIHdpdGggdGhlIFJFU1QgQVBJLCBhbmQgd3JpdGluZyBKYXZhU2NyaXB0IGZvciB0aGUgYWRtaW4uIE5vIHByaW9yIEFJIG9yIG1hY2hpbmUgbGVhcm5pbmcgZXhwZXJpZW5jZSBpcyBuZWVkZWQg4oCUIHdlJ2xsIGNvdmVyIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdyBhYm91dCB0aGUgQUkgQVBJcyBhcyB3ZSBnby48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDc5Njg4ODZiLTBhNTAtNDk1Ny1hZWFmLTRmMDEyYTdhNWZmMHh3BzxwPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckNThiYzQ4NTMtMGYyMC00ZGJjLWI2M2EtMTgwMWY1ZmU3NzA2eHczPHA+PHN0cm9uZz5XaGF0IHlvdSdsbCB3YWxrIGF3YXkgd2l0aDo8L3N0cm9uZz48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDhhYzM3OTRmLTE2NDAtNDIzYi05NDlmLWNiOWRhNDgzMjRiNHh3Jzx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+CgoKCgoKCgo8L3VsPncJY29yZS9saXN0eXcAdyQwZDlhYTNjMC1jMWRjLTQ3NzUtOGVhNS1iNTc1OGE5ZWJiNGJ4d0s8bGk+QSB3b3JraW5nIGFkbWluLWZhY2luZyBwbHVnaW4geW91IGNhbiBleHRlbmQgZm9yIHlvdXIgb3duIHByb2plY3RzPC9saT53DmNvcmUvbGlzdC1pdGVtdyQxY2ZhNDZkNS01OTczLTQ1OTItOTMzZC0xYmFiYWI2YTM5ZDN4d3I8bGk+SGFuZHMtb24gZXhwZXJpZW5jZSBjcmVhdGluZyBjdXN0b20gQWJpbGl0aWVzLCBjb25maWd1cmluZyBDb25uZWN0b3JzLCBhbmQgdXNpbmcgdGhlIEphdmFTY3JpcHQgQUkgQ2xpZW50PC9saT53DmNvcmUvbGlzdC1pdGVtdyRlMmFlMmYwZC04YjFiLTQ2NjktYTMwZi0yODgyYmM2ZWM3ODd4d148bGk+UGF0dGVybnMgZm9yIHNpbmdsZS1zaG90IEFJIGFjdGlvbnMgYW5kIG11bHRpLXN0ZXAgd29ya2Zsb3dzIHRyaWdnZXJlZCBmcm9tIHRoZSBhZG1pbjwvbGk+dw5jb3JlL2xpc3QtaXRlbXckNmMxNDNiNzItNTZiOS00YTdlLTlkYmQtN2M3ZmUyMTMyMDBkeHdlPGxpPlRoZSB0b29scyB0byB0dXJuIGFueSByZXBldGl0aXZlIFdvcmRQcmVzcyB3b3JrZmxvdyBpbnRvIGEgcGxhaW4tbGFuZ3VhZ2UgQUktcG93ZXJlZCBmZWF0dXJlPC9saT53DmNvcmUvbGlzdC1pdGVtdyRmYzVhNmQxYi0xY2VhLTQ1OTctOWJmZi04YjZhYmE2ZjA1NDJ4d2k8bGk+QSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgQUkgQnVpbGRpbmcgQmxvY2tzIGZpdCB0b2dldGhlciBhbmQgd2hlcmUgdGhlIHByb2plY3QgaXMgaGVhZGVkPC9saT53DmNvcmUvbGlzdC1pdGVtdQF9gBq8AQB3JDU2Y2RiNzgzLWFiN2YtNDhlMy05NzA3LWEzNjFiNThmNzViMXh3DmNvcmUvcGFyYWdyYXBoeXckMjcyZTdlNWMtNDMzYy00YmRjLThkYjAtYjI0YTY1MzhhMWMydyQzNThlMzU3OS1mZDcwLTQ5OWMtYjgwOC1iZTUzZjUzZTAxOTF4dwljb3JlL2xpc3R5dwB3JDJiNzI4NjA5LWJkNGEtNGIxNC04OGQzLTMyNDkwMjJmNmJiOHh3DmNvcmUvbGlzdC1pdGVtdyQ0ZmQzZTA1MS1hNTNlLTQxZjYtODRlMy0wYmVjM2MzNTFlYmF4dw5jb3JlL2xpc3QtaXRlbXckNDI5ZTllMjgtYmE1ZS00MjlmLTlkZGUtM2I5NzFhNjI0YTc2eHcOY29yZS9saXN0LWl0ZW13JGQ4ZjU5OGRiLTE0ZDYtNDRhYi1iY2RlLWNjOTBkY2M5ZDU3Znh3DmNvcmUvbGlzdC1pdGVtdyQxYzY5YmVjYS03ZGY4LTQyOTUtOTZhZC1mZmZhOWQ5MTBlZDR3DGNvcmUvaGVhZGluZ30CfQN3JGYwNWJhOWMxLWE0OWQtNDhiYS1iMjhjLTM3Y2MxMGE4M2U4MXcJY29yZS9saXN0eXcAdyQ3ODk0MzdiMS1mZGJlLTQ1MmItODMyNi1lN2VmMDNlZGQ2ZTF4dw5jb3JlL2xpc3QtaXRlbXcOY29yZS9wYXJhZ3JhcGh5dyQyNzJlN2U1Yy00MzNjLTRiZGMtOGRiMC1iMjRhNjUzOGExYzJ3JDM3ZTgzOWJiLTQwZDUtNDY2Yi1iMGMzLWU4NTA2YTkyNDEzNHcMY29yZS9oZWFkaW5nfQJ9BH0De0J54jEIvBAAfaWZn3J3JDc0MmUxZmUzLTEyYzItNGRhYy1iNjMxLTBiYjVhODE4ZmFhNXcKY29yZS9ncm91cHcDZGl2dwB3A2x0cnYBBHR5cGV3C2NvbnN0cmFpbmVkdyQzNjY2NjUwNS1lZDY5LTQ1NGQtOTdmZS0wNDgwYmE0Nzk4NDV4dwxjb3JlL2hlYWRpbmd9A3ckODE2ODMyN2MtNGI3MC00ZjQxLTkxNjctOWRlMjJkNmMxMjNleHcJY29yZS9saXN0eXcAdyQyYjcyODYwOS1iZDRhLTRiMTQtODhkMy0zMjQ5MDIyZjZiYjh4dw5jb3JlL2xpc3QtaXRlbXckNGZkM2UwNTEtYTUzZS00MWY2LTg0ZTMtMGJlYzNjMzUxZWJheHcOY29yZS9saXN0LWl0ZW13JDQyOWU5ZTI4LWJhNWUtNDI5Zi05ZGRlLTNiOTcxYTYyNGE3Nnh3DmNvcmUvbGlzdC1pdGVtdyRkOGY1OThkYi0xNGQ2LTQ0YWItYmNkZS1jYzkwZGNjOWQ1N2Z4dw5jb3JlL2xpc3QtaXRlbXcEYmFzZXYBB3NwYWNpbmd2AQdwYWRkaW5ndgIDdG9wdxV2YXI6cHJlc2V0fHNwYWNpbmd8MzAGYm90dG9tdxV2YXI6cHJlc2V0fHNwYWNpbmd8MzB2AQdzcGFjaW5ndgEHcGFkZGluZ3YEA3RvcHcVdmFyOnByZXNldHxzcGFjaW5nfDMwBmJvdHRvbXcVdmFyOnByZXNldHxzcGFjaW5nfDMwBGxlZnR3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAVyaWdodHcVdmFyOnByZXNldHxzcGFjaW5nfDMwdgIHc3BhY2luZ3YBB3BhZGRpbmd2BAN0b3B3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAZib3R0b213FXZhcjpwcmVzZXR8c3BhY2luZ3wzMARsZWZ0dxV2YXI6cHJlc2V0fHNwYWNpbmd8MzAFcmlnaHR3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAZib3JkZXJ2AQZyYWRpdXN2BAd0b3BMZWZ0dwM4cHgIdG9wUmlnaHR3AzhweApib3R0b21MZWZ0dwM4cHgLYm90dG9tUmlnaHR3AzhweHYBB3NwYWNpbmd2AQdwYWRkaW5ndgQDdG9wdxV2YXI6cHJlc2V0fHNwYWNpbmd8MzAGYm90dG9tdxV2YXI6cHJlc2V0fHNwYWNpbmd8MzAEbGVmdHcVdmFyOnByZXNldHxzcGFjaW5nfDMwBXJpZ2h0dxV2YXI6cHJlc2V0fHNwYWNpbmd8MzB2AgdzcGFjaW5ndgEHcGFkZGluZ3YEA3RvcHcVdmFyOnByZXNldHxzcGFjaW5nfDMwBmJvdHRvbXcVdmFyOnByZXNldHxzcGFjaW5nfDMwBGxlZnR3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAVyaWdodHcVdmFyOnByZXNldHxzcGFjaW5nfDMwBmJvcmRlcnYBBnJhZGl1c3YEB3RvcExlZnR3AzFweAh0b3BSaWdodHcDMXB4CmJvdHRvbUxlZnR3AzFweAtib3R0b21SaWdodHcDMXB4dgIHc3BhY2luZ3YBB3BhZGRpbmd2BAN0b3B3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAZib3R0b213FXZhcjpwcmVzZXR8c3BhY2luZ3wzMARsZWZ0dxV2YXI6cHJlc2V0fHNwYWNpbmd8MzAFcmlnaHR3FXZhcjpwcmVzZXR8c3BhY2luZ3wzMAZib3JkZXJ2AQZyYWRpdXN2BAd0b3BMZWZ0dwQxNnB4CHRvcFJpZ2h0dwQxNnB4CmJvdHRvbUxlZnR3BDE2cHgLYm90dG9tUmlnaHR3BDE2cHgE6PGNpw0CAQACA8LGt9YBAQAA0cupuQEQAAChGwABAQEDNgALAAEBAQObBgAHAAMAAgDFFAABAS4A7gMG5cyPORAAAAEAAQABAQHDAwoAAQEBAzEACwABAQEDngUBAgABYbgEBA==\",\"updateId\":821402364}","_nakedcatplugins_page_lang":"","_nakedcatplugins_page_dir":"ltr","_wcpt_session_time":1778940000,"_wcpt_session_duration":12600,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[1664],"footnotes":""},"session_track":[30],"session_category":[42,36],"class_list":["post-1663","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-workshops","wcb_session_category-3h30min","wcb_session_category-en"],"jetpack_sharing_enabled":true,"session_date_time":{"date":"16\/05\/2026","time":"15:00"},"session_speakers":[{"id":"1664","slug":"ryan-welcher","name":"Ryan Welcher","link":"https:\/\/portugal.wordcamp.org\/2026\/speaker\/ryan-welcher\/"}],"session_cats_rendered":"3h30min, EN","_links":{"self":[{"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":5,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1663\/revisions"}],"predecessor-version":[{"id":3032,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/1663\/revisions\/3032"}],"speakers":[{"embeddable":true,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/1664"}],"author":[{"embeddable":true,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/welcher"}],"wp:attachment":[{"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=1663"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=1663"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/portugal.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=1663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}