[{"data":1,"prerenderedAt":5267},["Reactive",2],{"navigation":3,"/posts/it-event-calendars":204,"/posts/it-event-calendars-surround":5237},[4,192,200],{"title":5,"_path":6,"children":7,"icon":191},"Blog","/posts",[8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188],{"title":9,"_path":10},"Testing your API with REST Client","/posts/testing-your-api-with-rest-client",{"title":12,"_path":13},"HTML templating in Xamarin","/posts/html-templating-in-xamarin",{"title":15,"_path":16},"Goodbye Azure Portal, Welcome Azure CLI","/posts/welcome-azure-cli",{"title":18,"_path":19},"Coming across Gitpod","/posts/gitpod",{"title":21,"_path":22},"Handle token retrieval while querying an API","/posts/delegating-handler",{"title":24,"_path":25},"Clean up your local git branches.","/posts/cleaning-git-branches",{"title":27,"_path":28},"Automate configuration of Teams Tab SSO with PowerShell.","/posts/teams-sso-powershell",{"title":30,"_path":31},"How to do a technology watch? - Part 1","/posts/technology-watch-part1",{"title":33,"_path":34},"How to do a technology watch? - Part 2","/posts/technology-watch-part2",{"title":36,"_path":37},"You almost no longer need Key Vault references for Azure Functions.","/posts/azure-functions-custom-configuration",{"title":39,"_path":40},"How to do a technology watch? - Part 3","/posts/technology-watch-part3",{"title":42,"_path":43},"Forget DevOps, the future is already here!","/posts/devops-future",{"title":45,"_path":46},"Week 9, 2021 - Tips I learned this week","/posts/w09-2021-tips-learned-this-week",{"title":48,"_path":49},"Week 12, 2021 - Tips I learned this week","/posts/w12-2021-tips-learned-this-week",{"title":51,"_path":52},"Week 14, 2021 - Tips I learned this week","/posts/w14-2021-tips-learned-this-week",{"title":54,"_path":55},"Once upon a time in .NET","/posts/once-upon-a-time-in-dotnet",{"title":57,"_path":58},"Install your applications with winget","/posts/winget-import",{"title":60,"_path":61},"Customize your applications when installing them with winget","/posts/winget-override",{"title":63,"_path":64},"Week 22, 2021 - Tips I learned this week","/posts/w22-2021-tips-learned-this-week",{"title":66,"_path":67},"How to connect to an Azure SQL Database from C# using Azure AD","/posts/sqlclient-active-directory-authent",{"title":69,"_path":70},"Producing packages for Windows Package Manager","/posts/wingetcreate",{"title":72,"_path":73},"4 tips about GitHub Actions environment variables and contexts","/posts/github-actions-var-and-context",{"title":75,"_path":76},"AzureWebJobsStorage, the secret you don't need in your Function App.","/posts/azure-functions-without-azurewebjobsstorage",{"title":78,"_path":79},"ASP.NET Core - Lost in configuration","/posts/lost-in-configuration",{"title":81,"_path":82},"Week 39, 2021 - Tips I learned this week","/posts/w39-2021-tips-learned-this-week",{"title":84,"_path":85},"Week 41, 2021 - Tips I learned this week","/posts/w41-2021-tips-learned-this-week",{"title":87,"_path":88},"Migrating and open-sourcing my blog","/posts/migrating-blog",{"title":90,"_path":91},"Week 45, 2021 - Tips I learned this week","/posts/w45-2021-tips-learned-this-week",{"title":93,"_path":94},"Organize your GitHub stars with Astral","/posts/astral",{"title":96,"_path":97},"Pulumi with an Azure Blob Storage backend","/posts/pulumi-azure-backend",{"title":99,"_path":100},"IaC Hot Reload with Pulumi Watch","/posts/pulumi-watch",{"title":102,"_path":103},"Week 2, 2022 - Tips I learned this week","/posts/w02-2022-tips-learned-this-week",{"title":105,"_path":106},"Week 3, 2022 - Tips I learned this week","/posts/w03-2022-tips-learned-this-week",{"title":108,"_path":109},"Week 5, 2022 - Tips I learned this week","/posts/w05-2022-tips-learned-this-week",{"title":111,"_path":112},"How to provision an Azure SQL Database with Active Directory authentication","/posts/sqldatabase-active-directory-authent",{"title":114,"_path":115},"Why will I choose Pulumi over Terraform for my next project?","/posts/pulumi-vs-terraform",{"title":117,"_path":118},"Week 19, 2022 - Tips I learned this week","/posts/w19-2022-tips-learned-this-week",{"title":120,"_path":121},"Week 20, 2022 - Tips I learned this week","/posts/w20-2022-tips-learned-this-week",{"title":123,"_path":124},"Keeping secrets secure when using API Clients","/posts/http-clients-secrets",{"title":126,"_path":127},"What made me want to be a developer?","/posts/be-a-developer",{"title":129,"_path":130},"What can we do when stuck with a programming problem?","/posts/get-unstuck",{"title":132,"_path":133},"How did I automate the setup of my developer Windows laptop?","/posts/automate-developer-machine",{"title":135,"_path":136},"Discussion about API clients","/posts/http-clients",{"title":138,"_path":139},"Week 46, 2022 - Tips I learned this week","/posts/w46-2022-tips-learned-this-week",{"title":141,"_path":142},"When Pulumi met Nuke: a .NET love story","/posts/when-pulumi-met-nuke",{"title":144,"_path":145},"A year of learning and sharing - Dev Retro 2022","/posts/2022-retro",{"title":147,"_path":148},"Perform Dynamic Execution of an npm Package","/posts/pnpm-dlx",{"title":150,"_path":151},"Manage multiple Node.js versions","/posts/pnpm-env",{"title":153,"_path":154},"Introducing the Vue.js CI/CD series","/posts/vuecicd-introduction",{"title":156,"_path":157},"Execute commands using your project dependencies","/posts/pnpm-exec",{"title":159,"_path":160},"Vue.js CI/CD: Continuous Integration","/posts/vuecicd-ci",{"title":162,"_path":163},"Who is using pnpm?","/posts/pnpm-who-is-using",{"title":165,"_path":166},"Create an Azure-Ready GitHub Repository using Pulumi","/posts/azure-ready-github-repository",{"title":168,"_path":169},"Deploying to Azure from Azure DevOps without secrets","/posts/ado-workload-identity-federation",{"title":171,"_path":172},"Effortlessly Configure GitHub Repositories for Azure Deployment via OIDC","/posts/scripting-azure-ready-github-repository",{"title":174,"_path":175},"Playing with the .NET 8 Web API template","/posts/playing-with-dotnet8",{"title":177,"_path":178},"Another year of sharing and learning - Dev Retro 2023","/posts/2023-retro",{"title":180,"_path":181},"Week 4, 2024 - Tips I learned this week","/posts/w04-2024-tips-learned-this-week",{"title":183,"_path":184},"Using dependency injection with Azure .NET SDK","/posts/azure-sdk-di",{"title":186,"_path":187},"Having Fun With IT Event Calendars","/posts/it-event-calendars",{"title":189,"_path":190},"Call your Azure AD B2C protected API with authenticated HTTP requests from your JetBrains IDE","/posts/http-clients-oauth2","i-heroicons-newspaper",{"title":193,"_path":194,"children":195,"icon":199},"Goodies","/goodies",[196],{"title":197,"_path":198},"My Git Cheat Sheet","/goodies/gitcheatsheet","i-heroicons-gift-solid",{"title":201,"_path":202,"icon":203},"About","/about","i-heroicons-user-circle-solid",{"_path":187,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":186,"description":208,"lead":209,"date":210,"image":211,"badge":213,"tags":215,"ImageAttribution":218,"body":219,"_type":5232,"_id":5233,"_source":5234,"_file":5235,"_extension":5236},"posts",false,"","In this post, we will discuss how to write a small .NET program that retrieves events from an IT event calendar and submits them to another one using AngleSharp.","Playing with AngleSharp","2024-03-04T00:00:00.000Z",{"src":212},"/images/calendar_1.webp",{"label":214},"Development",[216,217],".NET","AngleSharp","Picture of \u003Ca href=\"https://unsplash.com/fr/@towfiqu999999\">Towfiqu barbhuiya on \u003Ca href=\"https://unsplash.com/fr/photos/un-calendrier-avec-des-boutons-poussoirs-rouges-epingles-bwOAixLG0uc\">Unsplash\u003C/a>",{"type":220,"children":221,"toc":5222},"root",[222,229,236,261,275,280,286,318,332,338,352,357,507,543,729,735,740,751,756,987,997,1017,1612,1617,1773,1779,1784,1797,2261,2277,2283,2296,2611,2626,2632,2645,5156,5161,5167,5172,5181,5186,5206,5211,5216],{"type":223,"tag":224,"props":225,"children":226},"element","p",{},[227],{"type":228,"value":208},"text",{"type":223,"tag":230,"props":231,"children":233},"h2",{"id":232},"some-context",[234],{"type":228,"value":235},"Some context",{"type":223,"tag":224,"props":237,"children":238},{},[239,241,250,252,259],{"type":228,"value":240},"There are plenty of websites that list IT events in the world. One that is particularly popular is the ",{"type":223,"tag":242,"props":243,"children":247},"a",{"href":244,"rel":245},"https://github.com/scraly/developers-conferences-agenda",[246],"nofollow",[248],{"type":228,"value":249},"developers conferences agenda",{"type":228,"value":251}," Github repository that was created by Aurélie Vache, a well-known French DevRel. This repository is an excellent resource where numerous tech conferences and CFPs (Call for Papers) are listed. Adding a new conference/CFP is very easy for any developer because you just have add it in the readme that contains all the conferences and make a PR. Additionally, there is now a ",{"type":223,"tag":242,"props":253,"children":256},{"href":254,"rel":255},"https://developers.events/",[246],[257],{"type":228,"value":258},"website",{"type":228,"value":260}," available to easily view the list of conferences.",{"type":223,"tag":224,"props":262,"children":263},{},[264,266,273],{"type":228,"value":265},"Another one I like is the ",{"type":223,"tag":242,"props":267,"children":270},{"href":268,"rel":269},"https://techcommunitycalendar.com/",[246],[271],{"type":228,"value":272},"Tech Community Calendar",{"type":228,"value":274}," created by Lee Englestone, a Microsoft MVP. What I find interesting it that it does not just list conferences and call for papers but also other tech events like hackathon or meetups. Events are displayed on small cards with thumbnails of the events websites, and you can filter them by country or type of event. Yet, it is less popular than the developers conferences agenda I mentioned before, so there are fewer events listed. There is a form to suggest new events, and I have been submitted events from time to time. However, most events I submit are developer conferences and CFPs that people have already added in the developer conferences agenda.",{"type":223,"tag":224,"props":276,"children":277},{},[278],{"type":228,"value":279},"So I thought, what if I automate the process of retrieving events from the developer conferences agenda and submitting them to the tech community calendar?",{"type":223,"tag":230,"props":281,"children":283},{"id":282},"its-just-a-poc",[284],{"type":228,"value":285},"It's just a PoC!",{"type":223,"tag":224,"props":287,"children":288},{},[289,291,298,300,307,309,316],{"type":228,"value":290},"At first, I spent too much time thinking about how to schedule and host the program I hadn't even started writing 😁. Of course, time-triggered ",{"type":223,"tag":242,"props":292,"children":295},{"href":293,"rel":294},"https://azure.microsoft.com/fr-fr/products/functions",[246],[296],{"type":228,"value":297},"Azure Functions",{"type":228,"value":299}," came to my mind, I even considered Durable Functions to break down the process into steps (retrieve events, check for existing events, submitting each event...). Then I thought about ",{"type":223,"tag":242,"props":301,"children":304},{"href":302,"rel":303},"https://learn.microsoft.com/en-us/azure/container-apps/jobs",[246],[305],{"type":228,"value":306},"Jobs in Azure Container Apps",{"type":228,"value":308},", or Dapr with Azure Container Apps and even ",{"type":223,"tag":242,"props":310,"children":313},{"href":311,"rel":312},"https://docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview/",[246],[314],{"type":228,"value":315},"Dapr Workflows",{"type":228,"value":317},". Eventually, I realized it did not matter much since it was just a proof of concept. I decided to postpone the choice for later (if ever it goes beyond the poc) and just start coding.",{"type":223,"tag":224,"props":319,"children":320},{},[321,323,330],{"type":228,"value":322},"I often like writing .NET tools or small programs using the Worker Service template because it's straightforward and includes useful features like dependency injection and configuration. However, this time I decided to keep things simple: just a .NET console application and all the code in Program.cs file. With ",{"type":223,"tag":242,"props":324,"children":327},{"href":325,"rel":326},"https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/program-structure/top-level-statements",[246],[328],{"type":228,"value":329},"top level statement",{"type":228,"value":331},", it feels similar to writing a Bash or PowerShell script, making it quite convenient for experimenting. Of course, this approach isn't what I would use for a real project.",{"type":223,"tag":230,"props":333,"children":335},{"id":334},"retrieve-developer-conferences",[336],{"type":228,"value":337},"Retrieve Developer Conferences",{"type":223,"tag":224,"props":339,"children":340},{},[341,343,350],{"type":228,"value":342},"In addition to the readme file, the developers conferences agenda exposes all the data publicly in JSON ",{"type":223,"tag":242,"props":344,"children":347},{"href":345,"rel":346},"https://developers.events/all-events.json",[246],[348],{"type":228,"value":349},"here",{"type":228,"value":351},".",{"type":223,"tag":224,"props":353,"children":354},{},[355],{"type":228,"value":356},"Developer conferences can be easily represented with a record (I only kept the properties I needed):",{"type":223,"tag":358,"props":359,"children":363},"pre",{"className":360,"code":361,"language":362,"meta":207,"style":207},"language-csharp shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","public record DeveloperEvent(\n    string Name,\n    long[] Date,\n    string Hyperlink,\n    string Location,\n    string City,\n    string Country\n);\n","csharp",[364],{"type":223,"tag":365,"props":366,"children":367},"code",{"__ignoreMap":207},[368,397,416,434,451,468,485,498],{"type":223,"tag":369,"props":370,"children":373},"span",{"class":371,"line":372},"line",1,[374,380,386,391],{"type":223,"tag":369,"props":375,"children":377},{"style":376},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[378],{"type":228,"value":379},"public",{"type":223,"tag":369,"props":381,"children":383},{"style":382},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[384],{"type":228,"value":385}," record",{"type":223,"tag":369,"props":387,"children":388},{"style":382},[389],{"type":228,"value":390}," DeveloperEvent",{"type":223,"tag":369,"props":392,"children":394},{"style":393},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[395],{"type":228,"value":396},"(\n",{"type":223,"tag":369,"props":398,"children":400},{"class":371,"line":399},2,[401,406,411],{"type":223,"tag":369,"props":402,"children":403},{"style":393},[404],{"type":228,"value":405},"    string",{"type":223,"tag":369,"props":407,"children":408},{"style":382},[409],{"type":228,"value":410}," Name",{"type":223,"tag":369,"props":412,"children":413},{"style":393},[414],{"type":228,"value":415},",\n",{"type":223,"tag":369,"props":417,"children":419},{"class":371,"line":418},3,[420,425,430],{"type":223,"tag":369,"props":421,"children":422},{"style":393},[423],{"type":228,"value":424},"    long[]",{"type":223,"tag":369,"props":426,"children":427},{"style":382},[428],{"type":228,"value":429}," Date",{"type":223,"tag":369,"props":431,"children":432},{"style":393},[433],{"type":228,"value":415},{"type":223,"tag":369,"props":435,"children":437},{"class":371,"line":436},4,[438,442,447],{"type":223,"tag":369,"props":439,"children":440},{"style":393},[441],{"type":228,"value":405},{"type":223,"tag":369,"props":443,"children":444},{"style":382},[445],{"type":228,"value":446}," Hyperlink",{"type":223,"tag":369,"props":448,"children":449},{"style":393},[450],{"type":228,"value":415},{"type":223,"tag":369,"props":452,"children":454},{"class":371,"line":453},5,[455,459,464],{"type":223,"tag":369,"props":456,"children":457},{"style":393},[458],{"type":228,"value":405},{"type":223,"tag":369,"props":460,"children":461},{"style":382},[462],{"type":228,"value":463}," Location",{"type":223,"tag":369,"props":465,"children":466},{"style":393},[467],{"type":228,"value":415},{"type":223,"tag":369,"props":469,"children":471},{"class":371,"line":470},6,[472,476,481],{"type":223,"tag":369,"props":473,"children":474},{"style":393},[475],{"type":228,"value":405},{"type":223,"tag":369,"props":477,"children":478},{"style":382},[479],{"type":228,"value":480}," City",{"type":223,"tag":369,"props":482,"children":483},{"style":393},[484],{"type":228,"value":415},{"type":223,"tag":369,"props":486,"children":488},{"class":371,"line":487},7,[489,493],{"type":223,"tag":369,"props":490,"children":491},{"style":393},[492],{"type":228,"value":405},{"type":223,"tag":369,"props":494,"children":495},{"style":382},[496],{"type":228,"value":497}," Country\n",{"type":223,"tag":369,"props":499,"children":501},{"class":371,"line":500},8,[502],{"type":223,"tag":369,"props":503,"children":504},{"style":393},[505],{"type":228,"value":506},");\n",{"type":223,"tag":224,"props":508,"children":509},{},[510,512,518,520,526,528,534,536,542],{"type":228,"value":511},"We can use an ",{"type":223,"tag":365,"props":513,"children":515},{"className":514},[],[516],{"type":228,"value":517},"HttpClient",{"type":228,"value":519}," to retrieve the events. The namespace ",{"type":223,"tag":365,"props":521,"children":523},{"className":522},[],[524],{"type":228,"value":525},"System.Net.Http.Json",{"type":228,"value":527}," contains an interesting method to make the ",{"type":223,"tag":365,"props":529,"children":531},{"className":530},[],[532],{"type":228,"value":533},"GET",{"type":228,"value":535}," HTTP call and deserialize the data using ",{"type":223,"tag":365,"props":537,"children":539},{"className":538},[],[540],{"type":228,"value":541},"System.Text.Json",{"type":228,"value":351},{"type":223,"tag":358,"props":544,"children":546},{"className":360,"code":545,"language":362,"meta":207,"style":207},"using var httpClient = new HttpClient()\n{\n    BaseAddress = new Uri(\"https://developers.events/\")\n};\n\nvar events = await httpClient.GetFromJsonAsync\u003CDeveloperEvent[]>(\"all-events.json\");\n",[547],{"type":223,"tag":365,"props":548,"children":549},{"__ignoreMap":207},[550,589,597,644,652,661],{"type":223,"tag":369,"props":551,"children":552},{"class":371,"line":372},[553,559,564,569,574,579,584],{"type":223,"tag":369,"props":554,"children":556},{"style":555},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF;--shiki-light-font-style:italic;--shiki-default-font-style:italic;--shiki-dark-font-style:italic",[557],{"type":228,"value":558},"using",{"type":223,"tag":369,"props":560,"children":561},{"style":382},[562],{"type":228,"value":563}," var",{"type":223,"tag":369,"props":565,"children":566},{"style":382},[567],{"type":228,"value":568}," httpClient",{"type":223,"tag":369,"props":570,"children":571},{"style":393},[572],{"type":228,"value":573}," =",{"type":223,"tag":369,"props":575,"children":576},{"style":393},[577],{"type":228,"value":578}," new",{"type":223,"tag":369,"props":580,"children":581},{"style":382},[582],{"type":228,"value":583}," HttpClient",{"type":223,"tag":369,"props":585,"children":586},{"style":393},[587],{"type":228,"value":588},"()\n",{"type":223,"tag":369,"props":590,"children":591},{"class":371,"line":399},[592],{"type":223,"tag":369,"props":593,"children":594},{"style":393},[595],{"type":228,"value":596},"{\n",{"type":223,"tag":369,"props":598,"children":599},{"class":371,"line":418},[600,606,611,615,620,625,630,635,639],{"type":223,"tag":369,"props":601,"children":603},{"style":602},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[604],{"type":228,"value":605},"    BaseAddress ",{"type":223,"tag":369,"props":607,"children":608},{"style":393},[609],{"type":228,"value":610},"=",{"type":223,"tag":369,"props":612,"children":613},{"style":393},[614],{"type":228,"value":578},{"type":223,"tag":369,"props":616,"children":617},{"style":382},[618],{"type":228,"value":619}," Uri",{"type":223,"tag":369,"props":621,"children":622},{"style":393},[623],{"type":228,"value":624},"(",{"type":223,"tag":369,"props":626,"children":627},{"style":393},[628],{"type":228,"value":629},"\"",{"type":223,"tag":369,"props":631,"children":633},{"style":632},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[634],{"type":228,"value":254},{"type":223,"tag":369,"props":636,"children":637},{"style":393},[638],{"type":228,"value":629},{"type":223,"tag":369,"props":640,"children":641},{"style":393},[642],{"type":228,"value":643},")\n",{"type":223,"tag":369,"props":645,"children":646},{"class":371,"line":436},[647],{"type":223,"tag":369,"props":648,"children":649},{"style":393},[650],{"type":228,"value":651},"};\n",{"type":223,"tag":369,"props":653,"children":654},{"class":371,"line":453},[655],{"type":223,"tag":369,"props":656,"children":658},{"emptyLinePlaceholder":657},true,[659],{"type":228,"value":660},"\n",{"type":223,"tag":369,"props":662,"children":663},{"class":371,"line":470},[664,669,674,678,683,687,691,697,702,707,712,716,721,725],{"type":223,"tag":369,"props":665,"children":666},{"style":382},[667],{"type":228,"value":668},"var",{"type":223,"tag":369,"props":670,"children":671},{"style":382},[672],{"type":228,"value":673}," events",{"type":223,"tag":369,"props":675,"children":676},{"style":393},[677],{"type":228,"value":573},{"type":223,"tag":369,"props":679,"children":680},{"style":393},[681],{"type":228,"value":682}," await",{"type":223,"tag":369,"props":684,"children":685},{"style":602},[686],{"type":228,"value":568},{"type":223,"tag":369,"props":688,"children":689},{"style":393},[690],{"type":228,"value":351},{"type":223,"tag":369,"props":692,"children":694},{"style":693},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[695],{"type":228,"value":696},"GetFromJsonAsync",{"type":223,"tag":369,"props":698,"children":699},{"style":393},[700],{"type":228,"value":701},"\u003C",{"type":223,"tag":369,"props":703,"children":704},{"style":382},[705],{"type":228,"value":706},"DeveloperEvent",{"type":223,"tag":369,"props":708,"children":709},{"style":393},[710],{"type":228,"value":711},"[]>(",{"type":223,"tag":369,"props":713,"children":714},{"style":393},[715],{"type":228,"value":629},{"type":223,"tag":369,"props":717,"children":718},{"style":632},[719],{"type":228,"value":720},"all-events.json",{"type":223,"tag":369,"props":722,"children":723},{"style":393},[724],{"type":228,"value":629},{"type":223,"tag":369,"props":726,"children":727},{"style":393},[728],{"type":228,"value":506},{"type":223,"tag":230,"props":730,"children":732},{"id":731},"convert-events-to-the-proper-format",[733],{"type":228,"value":734},"Convert Events To The Proper Format",{"type":223,"tag":224,"props":736,"children":737},{},[738],{"type":228,"value":739},"The form to submit events in the Tech Community Calendar look likes that:",{"type":223,"tag":224,"props":741,"children":742},{},[743],{"type":223,"tag":744,"props":745,"children":750},"img",{"alt":746,"className":747,"src":749},"Form to submit events to tech community calendar",[748],"rounded-lg","/posts/images/iteventcalendar_tcc.webp",[],{"type":223,"tag":224,"props":752,"children":753},{},[754],{"type":228,"value":755},"The Tech Community Calendar events can be represented with the following record :",{"type":223,"tag":358,"props":757,"children":759},{"className":360,"code":758,"language":362,"meta":207,"style":207},"public record TechCommunityCalendarEvent(\n    string Name,\n    string Url,\n    DateTimeOffset StartDate,\n    DateTimeOffset EndDate,\n    EventType EventType,\n    EventFormat EventFormat,\n    string Country,\n    string City\n)\n{\n    public string? TwitterHandle { get; set; }\n}; \n",[760],{"type":223,"tag":365,"props":761,"children":762},{"__ignoreMap":207},[763,783,798,814,831,847,864,881,897,910,918,926,979],{"type":223,"tag":369,"props":764,"children":765},{"class":371,"line":372},[766,770,774,779],{"type":223,"tag":369,"props":767,"children":768},{"style":376},[769],{"type":228,"value":379},{"type":223,"tag":369,"props":771,"children":772},{"style":382},[773],{"type":228,"value":385},{"type":223,"tag":369,"props":775,"children":776},{"style":382},[777],{"type":228,"value":778}," TechCommunityCalendarEvent",{"type":223,"tag":369,"props":780,"children":781},{"style":393},[782],{"type":228,"value":396},{"type":223,"tag":369,"props":784,"children":785},{"class":371,"line":399},[786,790,794],{"type":223,"tag":369,"props":787,"children":788},{"style":393},[789],{"type":228,"value":405},{"type":223,"tag":369,"props":791,"children":792},{"style":382},[793],{"type":228,"value":410},{"type":223,"tag":369,"props":795,"children":796},{"style":393},[797],{"type":228,"value":415},{"type":223,"tag":369,"props":799,"children":800},{"class":371,"line":418},[801,805,810],{"type":223,"tag":369,"props":802,"children":803},{"style":393},[804],{"type":228,"value":405},{"type":223,"tag":369,"props":806,"children":807},{"style":382},[808],{"type":228,"value":809}," Url",{"type":223,"tag":369,"props":811,"children":812},{"style":393},[813],{"type":228,"value":415},{"type":223,"tag":369,"props":815,"children":816},{"class":371,"line":436},[817,822,827],{"type":223,"tag":369,"props":818,"children":819},{"style":382},[820],{"type":228,"value":821},"    DateTimeOffset",{"type":223,"tag":369,"props":823,"children":824},{"style":382},[825],{"type":228,"value":826}," StartDate",{"type":223,"tag":369,"props":828,"children":829},{"style":393},[830],{"type":228,"value":415},{"type":223,"tag":369,"props":832,"children":833},{"class":371,"line":453},[834,838,843],{"type":223,"tag":369,"props":835,"children":836},{"style":382},[837],{"type":228,"value":821},{"type":223,"tag":369,"props":839,"children":840},{"style":382},[841],{"type":228,"value":842}," EndDate",{"type":223,"tag":369,"props":844,"children":845},{"style":393},[846],{"type":228,"value":415},{"type":223,"tag":369,"props":848,"children":849},{"class":371,"line":470},[850,855,860],{"type":223,"tag":369,"props":851,"children":852},{"style":382},[853],{"type":228,"value":854},"    EventType",{"type":223,"tag":369,"props":856,"children":857},{"style":382},[858],{"type":228,"value":859}," EventType",{"type":223,"tag":369,"props":861,"children":862},{"style":393},[863],{"type":228,"value":415},{"type":223,"tag":369,"props":865,"children":866},{"class":371,"line":487},[867,872,877],{"type":223,"tag":369,"props":868,"children":869},{"style":382},[870],{"type":228,"value":871},"    EventFormat",{"type":223,"tag":369,"props":873,"children":874},{"style":382},[875],{"type":228,"value":876}," EventFormat",{"type":223,"tag":369,"props":878,"children":879},{"style":393},[880],{"type":228,"value":415},{"type":223,"tag":369,"props":882,"children":883},{"class":371,"line":500},[884,888,893],{"type":223,"tag":369,"props":885,"children":886},{"style":393},[887],{"type":228,"value":405},{"type":223,"tag":369,"props":889,"children":890},{"style":382},[891],{"type":228,"value":892}," Country",{"type":223,"tag":369,"props":894,"children":895},{"style":393},[896],{"type":228,"value":415},{"type":223,"tag":369,"props":898,"children":900},{"class":371,"line":899},9,[901,905],{"type":223,"tag":369,"props":902,"children":903},{"style":393},[904],{"type":228,"value":405},{"type":223,"tag":369,"props":906,"children":907},{"style":382},[908],{"type":228,"value":909}," City\n",{"type":223,"tag":369,"props":911,"children":913},{"class":371,"line":912},10,[914],{"type":223,"tag":369,"props":915,"children":916},{"style":393},[917],{"type":228,"value":643},{"type":223,"tag":369,"props":919,"children":921},{"class":371,"line":920},11,[922],{"type":223,"tag":369,"props":923,"children":924},{"style":393},[925],{"type":228,"value":596},{"type":223,"tag":369,"props":927,"children":929},{"class":371,"line":928},12,[930,935,940,945,950,955,960,965,970,974],{"type":223,"tag":369,"props":931,"children":932},{"style":376},[933],{"type":228,"value":934},"    public",{"type":223,"tag":369,"props":936,"children":937},{"style":393},[938],{"type":228,"value":939}," string",{"type":223,"tag":369,"props":941,"children":942},{"style":393},[943],{"type":228,"value":944},"?",{"type":223,"tag":369,"props":946,"children":947},{"style":382},[948],{"type":228,"value":949}," TwitterHandle",{"type":223,"tag":369,"props":951,"children":952},{"style":393},[953],{"type":228,"value":954}," {",{"type":223,"tag":369,"props":956,"children":957},{"style":382},[958],{"type":228,"value":959}," get",{"type":223,"tag":369,"props":961,"children":962},{"style":393},[963],{"type":228,"value":964},";",{"type":223,"tag":369,"props":966,"children":967},{"style":382},[968],{"type":228,"value":969}," set",{"type":223,"tag":369,"props":971,"children":972},{"style":393},[973],{"type":228,"value":964},{"type":223,"tag":369,"props":975,"children":976},{"style":393},[977],{"type":228,"value":978}," }\n",{"type":223,"tag":369,"props":980,"children":982},{"class":371,"line":981},13,[983],{"type":223,"tag":369,"props":984,"children":985},{"style":393},[986],{"type":228,"value":651},{"type":223,"tag":988,"props":989,"children":991},"callout",{"icon":990},"i-heroicons-chat-bubble-left-20-solid",[992],{"type":223,"tag":224,"props":993,"children":994},{},[995],{"type":228,"value":996},"Positional parameters in a record are init-only. As I want to set the Twitter URL after the event has been created, I use a read-write property for it.",{"type":223,"tag":224,"props":998,"children":999},{},[1000,1002,1007,1009,1015],{"type":228,"value":1001},"We can write a method to convert a ",{"type":223,"tag":365,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":228,"value":706},{"type":228,"value":1008}," to a ",{"type":223,"tag":365,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":228,"value":1014},"TechCommunityCalendarEvent",{"type":228,"value":1016},":",{"type":223,"tag":358,"props":1018,"children":1020},{"className":360,"code":1019,"language":362,"meta":207,"style":207},"TechCommunityCalendarEvent ConvertToTechEvent(DeveloperEvent developerEvent)\n{\n    var startingDate = DateTimeOffset.FromUnixTimeMilliseconds(developerEvent.Date.First());\n    var endingDate = DateTimeOffset.FromUnixTimeMilliseconds(developerEvent.Date.Last());\n    var eventNameContainsYear = int.TryParse(developerEvent.Name.Split(\" \").LastOrDefault(), out var year) \n                                && year == startingDate.Year;\n    return new TechCommunityCalendarEvent(\n        eventNameContainsYear ? developerEvent.Name : $\"{developerEvent.Name} {startingDate.Year}\",\n        developerEvent.Hyperlink,\n        startingDate,\n        endingDate,\n        EventType.Conference,\n        developerEvent.Country is \"Online\" ? EventFormat.Virtual : EventFormat.In_Person,\n        developerEvent.Country,\n        developerEvent.City\n    );\n}\n",[1021],{"type":223,"tag":365,"props":1022,"children":1023},{"__ignoreMap":207},[1024,1053,1060,1123,1180,1284,1320,1340,1417,1438,1450,1462,1483,1556,1577,1594,1603],{"type":223,"tag":369,"props":1025,"children":1026},{"class":371,"line":372},[1027,1031,1036,1040,1044,1049],{"type":223,"tag":369,"props":1028,"children":1029},{"style":382},[1030],{"type":228,"value":1014},{"type":223,"tag":369,"props":1032,"children":1033},{"style":693},[1034],{"type":228,"value":1035}," ConvertToTechEvent",{"type":223,"tag":369,"props":1037,"children":1038},{"style":393},[1039],{"type":228,"value":624},{"type":223,"tag":369,"props":1041,"children":1042},{"style":382},[1043],{"type":228,"value":706},{"type":223,"tag":369,"props":1045,"children":1046},{"style":382},[1047],{"type":228,"value":1048}," developerEvent",{"type":223,"tag":369,"props":1050,"children":1051},{"style":393},[1052],{"type":228,"value":643},{"type":223,"tag":369,"props":1054,"children":1055},{"class":371,"line":399},[1056],{"type":223,"tag":369,"props":1057,"children":1058},{"style":393},[1059],{"type":228,"value":596},{"type":223,"tag":369,"props":1061,"children":1062},{"class":371,"line":418},[1063,1068,1073,1077,1082,1086,1091,1095,1100,1104,1109,1113,1118],{"type":223,"tag":369,"props":1064,"children":1065},{"style":382},[1066],{"type":228,"value":1067},"    var",{"type":223,"tag":369,"props":1069,"children":1070},{"style":382},[1071],{"type":228,"value":1072}," startingDate",{"type":223,"tag":369,"props":1074,"children":1075},{"style":393},[1076],{"type":228,"value":573},{"type":223,"tag":369,"props":1078,"children":1079},{"style":602},[1080],{"type":228,"value":1081}," DateTimeOffset",{"type":223,"tag":369,"props":1083,"children":1084},{"style":393},[1085],{"type":228,"value":351},{"type":223,"tag":369,"props":1087,"children":1088},{"style":693},[1089],{"type":228,"value":1090},"FromUnixTimeMilliseconds",{"type":223,"tag":369,"props":1092,"children":1093},{"style":393},[1094],{"type":228,"value":624},{"type":223,"tag":369,"props":1096,"children":1097},{"style":602},[1098],{"type":228,"value":1099},"developerEvent",{"type":223,"tag":369,"props":1101,"children":1102},{"style":393},[1103],{"type":228,"value":351},{"type":223,"tag":369,"props":1105,"children":1106},{"style":602},[1107],{"type":228,"value":1108},"Date",{"type":223,"tag":369,"props":1110,"children":1111},{"style":393},[1112],{"type":228,"value":351},{"type":223,"tag":369,"props":1114,"children":1115},{"style":693},[1116],{"type":228,"value":1117},"First",{"type":223,"tag":369,"props":1119,"children":1120},{"style":393},[1121],{"type":228,"value":1122},"());\n",{"type":223,"tag":369,"props":1124,"children":1125},{"class":371,"line":436},[1126,1130,1135,1139,1143,1147,1151,1155,1159,1163,1167,1171,1176],{"type":223,"tag":369,"props":1127,"children":1128},{"style":382},[1129],{"type":228,"value":1067},{"type":223,"tag":369,"props":1131,"children":1132},{"style":382},[1133],{"type":228,"value":1134}," endingDate",{"type":223,"tag":369,"props":1136,"children":1137},{"style":393},[1138],{"type":228,"value":573},{"type":223,"tag":369,"props":1140,"children":1141},{"style":602},[1142],{"type":228,"value":1081},{"type":223,"tag":369,"props":1144,"children":1145},{"style":393},[1146],{"type":228,"value":351},{"type":223,"tag":369,"props":1148,"children":1149},{"style":693},[1150],{"type":228,"value":1090},{"type":223,"tag":369,"props":1152,"children":1153},{"style":393},[1154],{"type":228,"value":624},{"type":223,"tag":369,"props":1156,"children":1157},{"style":602},[1158],{"type":228,"value":1099},{"type":223,"tag":369,"props":1160,"children":1161},{"style":393},[1162],{"type":228,"value":351},{"type":223,"tag":369,"props":1164,"children":1165},{"style":602},[1166],{"type":228,"value":1108},{"type":223,"tag":369,"props":1168,"children":1169},{"style":393},[1170],{"type":228,"value":351},{"type":223,"tag":369,"props":1172,"children":1173},{"style":693},[1174],{"type":228,"value":1175},"Last",{"type":223,"tag":369,"props":1177,"children":1178},{"style":393},[1179],{"type":228,"value":1122},{"type":223,"tag":369,"props":1181,"children":1182},{"class":371,"line":453},[1183,1187,1192,1196,1201,1206,1210,1214,1218,1223,1227,1232,1236,1240,1245,1250,1255,1260,1265,1269,1274,1279],{"type":223,"tag":369,"props":1184,"children":1185},{"style":382},[1186],{"type":228,"value":1067},{"type":223,"tag":369,"props":1188,"children":1189},{"style":382},[1190],{"type":228,"value":1191}," eventNameContainsYear",{"type":223,"tag":369,"props":1193,"children":1194},{"style":393},[1195],{"type":228,"value":573},{"type":223,"tag":369,"props":1197,"children":1198},{"style":393},[1199],{"type":228,"value":1200}," int.",{"type":223,"tag":369,"props":1202,"children":1203},{"style":693},[1204],{"type":228,"value":1205},"TryParse",{"type":223,"tag":369,"props":1207,"children":1208},{"style":393},[1209],{"type":228,"value":624},{"type":223,"tag":369,"props":1211,"children":1212},{"style":602},[1213],{"type":228,"value":1099},{"type":223,"tag":369,"props":1215,"children":1216},{"style":393},[1217],{"type":228,"value":351},{"type":223,"tag":369,"props":1219,"children":1220},{"style":602},[1221],{"type":228,"value":1222},"Name",{"type":223,"tag":369,"props":1224,"children":1225},{"style":393},[1226],{"type":228,"value":351},{"type":223,"tag":369,"props":1228,"children":1229},{"style":693},[1230],{"type":228,"value":1231},"Split",{"type":223,"tag":369,"props":1233,"children":1234},{"style":393},[1235],{"type":228,"value":624},{"type":223,"tag":369,"props":1237,"children":1238},{"style":393},[1239],{"type":228,"value":629},{"type":223,"tag":369,"props":1241,"children":1242},{"style":393},[1243],{"type":228,"value":1244}," \"",{"type":223,"tag":369,"props":1246,"children":1247},{"style":393},[1248],{"type":228,"value":1249},").",{"type":223,"tag":369,"props":1251,"children":1252},{"style":693},[1253],{"type":228,"value":1254},"LastOrDefault",{"type":223,"tag":369,"props":1256,"children":1257},{"style":393},[1258],{"type":228,"value":1259},"(),",{"type":223,"tag":369,"props":1261,"children":1262},{"style":376},[1263],{"type":228,"value":1264}," out",{"type":223,"tag":369,"props":1266,"children":1267},{"style":382},[1268],{"type":228,"value":563},{"type":223,"tag":369,"props":1270,"children":1271},{"style":382},[1272],{"type":228,"value":1273}," year",{"type":223,"tag":369,"props":1275,"children":1276},{"style":393},[1277],{"type":228,"value":1278},")",{"type":223,"tag":369,"props":1280,"children":1281},{"style":602},[1282],{"type":228,"value":1283}," \n",{"type":223,"tag":369,"props":1285,"children":1286},{"class":371,"line":470},[1287,1292,1297,1302,1306,1310,1315],{"type":223,"tag":369,"props":1288,"children":1289},{"style":393},[1290],{"type":228,"value":1291},"                                &&",{"type":223,"tag":369,"props":1293,"children":1294},{"style":602},[1295],{"type":228,"value":1296}," year ",{"type":223,"tag":369,"props":1298,"children":1299},{"style":393},[1300],{"type":228,"value":1301},"==",{"type":223,"tag":369,"props":1303,"children":1304},{"style":602},[1305],{"type":228,"value":1072},{"type":223,"tag":369,"props":1307,"children":1308},{"style":393},[1309],{"type":228,"value":351},{"type":223,"tag":369,"props":1311,"children":1312},{"style":602},[1313],{"type":228,"value":1314},"Year",{"type":223,"tag":369,"props":1316,"children":1317},{"style":393},[1318],{"type":228,"value":1319},";\n",{"type":223,"tag":369,"props":1321,"children":1322},{"class":371,"line":487},[1323,1328,1332,1336],{"type":223,"tag":369,"props":1324,"children":1325},{"style":555},[1326],{"type":228,"value":1327},"    return",{"type":223,"tag":369,"props":1329,"children":1330},{"style":393},[1331],{"type":228,"value":578},{"type":223,"tag":369,"props":1333,"children":1334},{"style":382},[1335],{"type":228,"value":778},{"type":223,"tag":369,"props":1337,"children":1338},{"style":393},[1339],{"type":228,"value":396},{"type":223,"tag":369,"props":1341,"children":1342},{"class":371,"line":500},[1343,1348,1352,1356,1360,1365,1369,1374,1378,1382,1386,1391,1395,1400,1404,1408,1413],{"type":223,"tag":369,"props":1344,"children":1345},{"style":602},[1346],{"type":228,"value":1347},"        eventNameContainsYear ",{"type":223,"tag":369,"props":1349,"children":1350},{"style":393},[1351],{"type":228,"value":944},{"type":223,"tag":369,"props":1353,"children":1354},{"style":602},[1355],{"type":228,"value":1048},{"type":223,"tag":369,"props":1357,"children":1358},{"style":393},[1359],{"type":228,"value":351},{"type":223,"tag":369,"props":1361,"children":1362},{"style":602},[1363],{"type":228,"value":1364},"Name ",{"type":223,"tag":369,"props":1366,"children":1367},{"style":393},[1368],{"type":228,"value":1016},{"type":223,"tag":369,"props":1370,"children":1371},{"style":393},[1372],{"type":228,"value":1373}," $\"{",{"type":223,"tag":369,"props":1375,"children":1376},{"style":602},[1377],{"type":228,"value":1099},{"type":223,"tag":369,"props":1379,"children":1380},{"style":393},[1381],{"type":228,"value":351},{"type":223,"tag":369,"props":1383,"children":1384},{"style":602},[1385],{"type":228,"value":1222},{"type":223,"tag":369,"props":1387,"children":1388},{"style":393},[1389],{"type":228,"value":1390},"}",{"type":223,"tag":369,"props":1392,"children":1393},{"style":393},[1394],{"type":228,"value":954},{"type":223,"tag":369,"props":1396,"children":1397},{"style":602},[1398],{"type":228,"value":1399},"startingDate",{"type":223,"tag":369,"props":1401,"children":1402},{"style":393},[1403],{"type":228,"value":351},{"type":223,"tag":369,"props":1405,"children":1406},{"style":602},[1407],{"type":228,"value":1314},{"type":223,"tag":369,"props":1409,"children":1410},{"style":393},[1411],{"type":228,"value":1412},"}\"",{"type":223,"tag":369,"props":1414,"children":1415},{"style":393},[1416],{"type":228,"value":415},{"type":223,"tag":369,"props":1418,"children":1419},{"class":371,"line":899},[1420,1425,1429,1434],{"type":223,"tag":369,"props":1421,"children":1422},{"style":602},[1423],{"type":228,"value":1424},"        developerEvent",{"type":223,"tag":369,"props":1426,"children":1427},{"style":393},[1428],{"type":228,"value":351},{"type":223,"tag":369,"props":1430,"children":1431},{"style":602},[1432],{"type":228,"value":1433},"Hyperlink",{"type":223,"tag":369,"props":1435,"children":1436},{"style":393},[1437],{"type":228,"value":415},{"type":223,"tag":369,"props":1439,"children":1440},{"class":371,"line":912},[1441,1446],{"type":223,"tag":369,"props":1442,"children":1443},{"style":602},[1444],{"type":228,"value":1445},"        startingDate",{"type":223,"tag":369,"props":1447,"children":1448},{"style":393},[1449],{"type":228,"value":415},{"type":223,"tag":369,"props":1451,"children":1452},{"class":371,"line":920},[1453,1458],{"type":223,"tag":369,"props":1454,"children":1455},{"style":602},[1456],{"type":228,"value":1457},"        endingDate",{"type":223,"tag":369,"props":1459,"children":1460},{"style":393},[1461],{"type":228,"value":415},{"type":223,"tag":369,"props":1463,"children":1464},{"class":371,"line":928},[1465,1470,1474,1479],{"type":223,"tag":369,"props":1466,"children":1467},{"style":602},[1468],{"type":228,"value":1469},"        EventType",{"type":223,"tag":369,"props":1471,"children":1472},{"style":393},[1473],{"type":228,"value":351},{"type":223,"tag":369,"props":1475,"children":1476},{"style":602},[1477],{"type":228,"value":1478},"Conference",{"type":223,"tag":369,"props":1480,"children":1481},{"style":393},[1482],{"type":228,"value":415},{"type":223,"tag":369,"props":1484,"children":1485},{"class":371,"line":981},[1486,1490,1494,1499,1504,1508,1513,1517,1522,1526,1530,1535,1539,1543,1547,1552],{"type":223,"tag":369,"props":1487,"children":1488},{"style":602},[1489],{"type":228,"value":1424},{"type":223,"tag":369,"props":1491,"children":1492},{"style":393},[1493],{"type":228,"value":351},{"type":223,"tag":369,"props":1495,"children":1496},{"style":602},[1497],{"type":228,"value":1498},"Country ",{"type":223,"tag":369,"props":1500,"children":1501},{"style":393},[1502],{"type":228,"value":1503},"is",{"type":223,"tag":369,"props":1505,"children":1506},{"style":393},[1507],{"type":228,"value":1244},{"type":223,"tag":369,"props":1509,"children":1510},{"style":632},[1511],{"type":228,"value":1512},"Online",{"type":223,"tag":369,"props":1514,"children":1515},{"style":393},[1516],{"type":228,"value":629},{"type":223,"tag":369,"props":1518,"children":1519},{"style":393},[1520],{"type":228,"value":1521}," ?",{"type":223,"tag":369,"props":1523,"children":1524},{"style":602},[1525],{"type":228,"value":876},{"type":223,"tag":369,"props":1527,"children":1528},{"style":393},[1529],{"type":228,"value":351},{"type":223,"tag":369,"props":1531,"children":1532},{"style":602},[1533],{"type":228,"value":1534},"Virtual ",{"type":223,"tag":369,"props":1536,"children":1537},{"style":393},[1538],{"type":228,"value":1016},{"type":223,"tag":369,"props":1540,"children":1541},{"style":602},[1542],{"type":228,"value":876},{"type":223,"tag":369,"props":1544,"children":1545},{"style":393},[1546],{"type":228,"value":351},{"type":223,"tag":369,"props":1548,"children":1549},{"style":602},[1550],{"type":228,"value":1551},"In_Person",{"type":223,"tag":369,"props":1553,"children":1554},{"style":393},[1555],{"type":228,"value":415},{"type":223,"tag":369,"props":1557,"children":1559},{"class":371,"line":1558},14,[1560,1564,1568,1573],{"type":223,"tag":369,"props":1561,"children":1562},{"style":602},[1563],{"type":228,"value":1424},{"type":223,"tag":369,"props":1565,"children":1566},{"style":393},[1567],{"type":228,"value":351},{"type":223,"tag":369,"props":1569,"children":1570},{"style":602},[1571],{"type":228,"value":1572},"Country",{"type":223,"tag":369,"props":1574,"children":1575},{"style":393},[1576],{"type":228,"value":415},{"type":223,"tag":369,"props":1578,"children":1580},{"class":371,"line":1579},15,[1581,1585,1589],{"type":223,"tag":369,"props":1582,"children":1583},{"style":602},[1584],{"type":228,"value":1424},{"type":223,"tag":369,"props":1586,"children":1587},{"style":393},[1588],{"type":228,"value":351},{"type":223,"tag":369,"props":1590,"children":1591},{"style":602},[1592],{"type":228,"value":1593},"City\n",{"type":223,"tag":369,"props":1595,"children":1597},{"class":371,"line":1596},16,[1598],{"type":223,"tag":369,"props":1599,"children":1600},{"style":393},[1601],{"type":228,"value":1602},"    );\n",{"type":223,"tag":369,"props":1604,"children":1606},{"class":371,"line":1605},17,[1607],{"type":223,"tag":369,"props":1608,"children":1609},{"style":393},[1610],{"type":228,"value":1611},"}\n",{"type":223,"tag":224,"props":1613,"children":1614},{},[1615],{"type":228,"value":1616},"It allows us to convert all retrieved events after filtering on their date to only keep upcoming events.",{"type":223,"tag":358,"props":1618,"children":1620},{"className":360,"code":1619,"language":362,"meta":207,"style":207},"var upcomingEvents =  events\n    .Where(e => e.Date.FirstOrDefault() > DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())\n    .Select(ConvertToTechEvent)\n    .ToList();\n",[1621],{"type":223,"tag":365,"props":1622,"children":1623},{"__ignoreMap":207},[1624,1645,1731,1756],{"type":223,"tag":369,"props":1625,"children":1626},{"class":371,"line":372},[1627,1631,1636,1640],{"type":223,"tag":369,"props":1628,"children":1629},{"style":382},[1630],{"type":228,"value":668},{"type":223,"tag":369,"props":1632,"children":1633},{"style":382},[1634],{"type":228,"value":1635}," upcomingEvents",{"type":223,"tag":369,"props":1637,"children":1638},{"style":393},[1639],{"type":228,"value":573},{"type":223,"tag":369,"props":1641,"children":1642},{"style":602},[1643],{"type":228,"value":1644},"  events\n",{"type":223,"tag":369,"props":1646,"children":1647},{"class":371,"line":399},[1648,1653,1658,1662,1667,1672,1677,1681,1685,1689,1694,1699,1704,1708,1712,1717,1721,1726],{"type":223,"tag":369,"props":1649,"children":1650},{"style":393},[1651],{"type":228,"value":1652},"    .",{"type":223,"tag":369,"props":1654,"children":1655},{"style":693},[1656],{"type":228,"value":1657},"Where",{"type":223,"tag":369,"props":1659,"children":1660},{"style":393},[1661],{"type":228,"value":624},{"type":223,"tag":369,"props":1663,"children":1664},{"style":382},[1665],{"type":228,"value":1666},"e",{"type":223,"tag":369,"props":1668,"children":1669},{"style":393},[1670],{"type":228,"value":1671}," =>",{"type":223,"tag":369,"props":1673,"children":1674},{"style":602},[1675],{"type":228,"value":1676}," e",{"type":223,"tag":369,"props":1678,"children":1679},{"style":393},[1680],{"type":228,"value":351},{"type":223,"tag":369,"props":1682,"children":1683},{"style":602},[1684],{"type":228,"value":1108},{"type":223,"tag":369,"props":1686,"children":1687},{"style":393},[1688],{"type":228,"value":351},{"type":223,"tag":369,"props":1690,"children":1691},{"style":693},[1692],{"type":228,"value":1693},"FirstOrDefault",{"type":223,"tag":369,"props":1695,"children":1696},{"style":393},[1697],{"type":228,"value":1698},"()",{"type":223,"tag":369,"props":1700,"children":1701},{"style":393},[1702],{"type":228,"value":1703}," >",{"type":223,"tag":369,"props":1705,"children":1706},{"style":602},[1707],{"type":228,"value":1081},{"type":223,"tag":369,"props":1709,"children":1710},{"style":393},[1711],{"type":228,"value":351},{"type":223,"tag":369,"props":1713,"children":1714},{"style":602},[1715],{"type":228,"value":1716},"UtcNow",{"type":223,"tag":369,"props":1718,"children":1719},{"style":393},[1720],{"type":228,"value":351},{"type":223,"tag":369,"props":1722,"children":1723},{"style":693},[1724],{"type":228,"value":1725},"ToUnixTimeMilliseconds",{"type":223,"tag":369,"props":1727,"children":1728},{"style":393},[1729],{"type":228,"value":1730},"())\n",{"type":223,"tag":369,"props":1732,"children":1733},{"class":371,"line":418},[1734,1738,1743,1747,1752],{"type":223,"tag":369,"props":1735,"children":1736},{"style":393},[1737],{"type":228,"value":1652},{"type":223,"tag":369,"props":1739,"children":1740},{"style":693},[1741],{"type":228,"value":1742},"Select",{"type":223,"tag":369,"props":1744,"children":1745},{"style":393},[1746],{"type":228,"value":624},{"type":223,"tag":369,"props":1748,"children":1749},{"style":602},[1750],{"type":228,"value":1751},"ConvertToTechEvent",{"type":223,"tag":369,"props":1753,"children":1754},{"style":393},[1755],{"type":228,"value":643},{"type":223,"tag":369,"props":1757,"children":1758},{"class":371,"line":436},[1759,1763,1768],{"type":223,"tag":369,"props":1760,"children":1761},{"style":393},[1762],{"type":228,"value":1652},{"type":223,"tag":369,"props":1764,"children":1765},{"style":693},[1766],{"type":228,"value":1767},"ToList",{"type":223,"tag":369,"props":1769,"children":1770},{"style":393},[1771],{"type":228,"value":1772},"();\n",{"type":223,"tag":230,"props":1774,"children":1776},{"id":1775},"retrieve-an-event-twitter-profile-link",[1777],{"type":228,"value":1778},"Retrieve An Event Twitter Profile Link",{"type":223,"tag":224,"props":1780,"children":1781},{},[1782],{"type":228,"value":1783},"In the submission form, there's an optional field for entering the Twitter Profile Link of an event. That's not something the events from the developers conferences agenda have but that's interesting data that could be useful to supply. All events have an associated website and most of them contain a link to their Twitter Profile on it.",{"type":223,"tag":224,"props":1785,"children":1786},{},[1787,1789,1795],{"type":228,"value":1788},"This is where a library like ",{"type":223,"tag":242,"props":1790,"children":1793},{"href":1791,"rel":1792},"https://github.com/AngleSharp/AngleSharp",[246],[1794],{"type":228,"value":217},{"type":228,"value":1796},", which can parse HTML according to W3C specifications, becomes useful. Although I have not used this library before, creating a method to find the Twitter URL on an event's webpage is straightforward.",{"type":223,"tag":358,"props":1798,"children":1800},{"className":360,"code":1799,"language":362,"meta":207,"style":207},"async Task\u003Cstring?> RetrieveEventTwitterProfileLink(string eventUrl)\n{\n    var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());\n    var queryDocument = await context.OpenAsync(eventUrl);\n\n    var twitterSelector = \"a[href*='twitter.com'], a[href*='https://x.com']\";\n    var twitterSocialLink = queryDocument.QuerySelector(twitterSelector)\n        ?.GetAttribute(\"href\");\n\n    return Uri.TryCreate(twitterSocialLink, UriKind.Absolute, out var twitterProfileUri) ?\n        // Normalize X/Twitter profile URL by removing query parameters and fragments\n        $\"{twitterProfileUri.Scheme}://{twitterProfileUri.Host}{twitterProfileUri.AbsolutePath}\" : null;\n}\n",[1801],{"type":223,"tag":365,"props":1802,"children":1803},{"__ignoreMap":207},[1804,1853,1860,1921,1967,1974,2007,2049,2083,2090,2164,2173,2254],{"type":223,"tag":369,"props":1805,"children":1806},{"class":371,"line":372},[1807,1812,1817,1821,1826,1831,1836,1840,1844,1849],{"type":223,"tag":369,"props":1808,"children":1809},{"style":376},[1810],{"type":228,"value":1811},"async",{"type":223,"tag":369,"props":1813,"children":1814},{"style":382},[1815],{"type":228,"value":1816}," Task",{"type":223,"tag":369,"props":1818,"children":1819},{"style":393},[1820],{"type":228,"value":701},{"type":223,"tag":369,"props":1822,"children":1823},{"style":393},[1824],{"type":228,"value":1825},"string",{"type":223,"tag":369,"props":1827,"children":1828},{"style":393},[1829],{"type":228,"value":1830},"?>",{"type":223,"tag":369,"props":1832,"children":1833},{"style":693},[1834],{"type":228,"value":1835}," RetrieveEventTwitterProfileLink",{"type":223,"tag":369,"props":1837,"children":1838},{"style":393},[1839],{"type":228,"value":624},{"type":223,"tag":369,"props":1841,"children":1842},{"style":393},[1843],{"type":228,"value":1825},{"type":223,"tag":369,"props":1845,"children":1846},{"style":382},[1847],{"type":228,"value":1848}," eventUrl",{"type":223,"tag":369,"props":1850,"children":1851},{"style":393},[1852],{"type":228,"value":643},{"type":223,"tag":369,"props":1854,"children":1855},{"class":371,"line":399},[1856],{"type":223,"tag":369,"props":1857,"children":1858},{"style":393},[1859],{"type":228,"value":596},{"type":223,"tag":369,"props":1861,"children":1862},{"class":371,"line":418},[1863,1867,1872,1876,1881,1885,1890,1894,1899,1903,1908,1912,1917],{"type":223,"tag":369,"props":1864,"children":1865},{"style":382},[1866],{"type":228,"value":1067},{"type":223,"tag":369,"props":1868,"children":1869},{"style":382},[1870],{"type":228,"value":1871}," context",{"type":223,"tag":369,"props":1873,"children":1874},{"style":393},[1875],{"type":228,"value":573},{"type":223,"tag":369,"props":1877,"children":1878},{"style":602},[1879],{"type":228,"value":1880}," BrowsingContext",{"type":223,"tag":369,"props":1882,"children":1883},{"style":393},[1884],{"type":228,"value":351},{"type":223,"tag":369,"props":1886,"children":1887},{"style":693},[1888],{"type":228,"value":1889},"New",{"type":223,"tag":369,"props":1891,"children":1892},{"style":393},[1893],{"type":228,"value":624},{"type":223,"tag":369,"props":1895,"children":1896},{"style":602},[1897],{"type":228,"value":1898},"Configuration",{"type":223,"tag":369,"props":1900,"children":1901},{"style":393},[1902],{"type":228,"value":351},{"type":223,"tag":369,"props":1904,"children":1905},{"style":602},[1906],{"type":228,"value":1907},"Default",{"type":223,"tag":369,"props":1909,"children":1910},{"style":393},[1911],{"type":228,"value":351},{"type":223,"tag":369,"props":1913,"children":1914},{"style":693},[1915],{"type":228,"value":1916},"WithDefaultLoader",{"type":223,"tag":369,"props":1918,"children":1919},{"style":393},[1920],{"type":228,"value":1122},{"type":223,"tag":369,"props":1922,"children":1923},{"class":371,"line":436},[1924,1928,1933,1937,1941,1945,1949,1954,1958,1963],{"type":223,"tag":369,"props":1925,"children":1926},{"style":382},[1927],{"type":228,"value":1067},{"type":223,"tag":369,"props":1929,"children":1930},{"style":382},[1931],{"type":228,"value":1932}," queryDocument",{"type":223,"tag":369,"props":1934,"children":1935},{"style":393},[1936],{"type":228,"value":573},{"type":223,"tag":369,"props":1938,"children":1939},{"style":393},[1940],{"type":228,"value":682},{"type":223,"tag":369,"props":1942,"children":1943},{"style":602},[1944],{"type":228,"value":1871},{"type":223,"tag":369,"props":1946,"children":1947},{"style":393},[1948],{"type":228,"value":351},{"type":223,"tag":369,"props":1950,"children":1951},{"style":693},[1952],{"type":228,"value":1953},"OpenAsync",{"type":223,"tag":369,"props":1955,"children":1956},{"style":393},[1957],{"type":228,"value":624},{"type":223,"tag":369,"props":1959,"children":1960},{"style":602},[1961],{"type":228,"value":1962},"eventUrl",{"type":223,"tag":369,"props":1964,"children":1965},{"style":393},[1966],{"type":228,"value":506},{"type":223,"tag":369,"props":1968,"children":1969},{"class":371,"line":453},[1970],{"type":223,"tag":369,"props":1971,"children":1972},{"emptyLinePlaceholder":657},[1973],{"type":228,"value":660},{"type":223,"tag":369,"props":1975,"children":1976},{"class":371,"line":470},[1977,1981,1986,1990,1994,1999,2003],{"type":223,"tag":369,"props":1978,"children":1979},{"style":382},[1980],{"type":228,"value":1067},{"type":223,"tag":369,"props":1982,"children":1983},{"style":382},[1984],{"type":228,"value":1985}," twitterSelector",{"type":223,"tag":369,"props":1987,"children":1988},{"style":393},[1989],{"type":228,"value":573},{"type":223,"tag":369,"props":1991,"children":1992},{"style":393},[1993],{"type":228,"value":1244},{"type":223,"tag":369,"props":1995,"children":1996},{"style":632},[1997],{"type":228,"value":1998},"a[href*='twitter.com'], a[href*='https://x.com']",{"type":223,"tag":369,"props":2000,"children":2001},{"style":393},[2002],{"type":228,"value":629},{"type":223,"tag":369,"props":2004,"children":2005},{"style":393},[2006],{"type":228,"value":1319},{"type":223,"tag":369,"props":2008,"children":2009},{"class":371,"line":487},[2010,2014,2019,2023,2027,2031,2036,2040,2045],{"type":223,"tag":369,"props":2011,"children":2012},{"style":382},[2013],{"type":228,"value":1067},{"type":223,"tag":369,"props":2015,"children":2016},{"style":382},[2017],{"type":228,"value":2018}," twitterSocialLink",{"type":223,"tag":369,"props":2020,"children":2021},{"style":393},[2022],{"type":228,"value":573},{"type":223,"tag":369,"props":2024,"children":2025},{"style":602},[2026],{"type":228,"value":1932},{"type":223,"tag":369,"props":2028,"children":2029},{"style":393},[2030],{"type":228,"value":351},{"type":223,"tag":369,"props":2032,"children":2033},{"style":693},[2034],{"type":228,"value":2035},"QuerySelector",{"type":223,"tag":369,"props":2037,"children":2038},{"style":393},[2039],{"type":228,"value":624},{"type":223,"tag":369,"props":2041,"children":2042},{"style":602},[2043],{"type":228,"value":2044},"twitterSelector",{"type":223,"tag":369,"props":2046,"children":2047},{"style":393},[2048],{"type":228,"value":643},{"type":223,"tag":369,"props":2050,"children":2051},{"class":371,"line":500},[2052,2057,2062,2066,2070,2075,2079],{"type":223,"tag":369,"props":2053,"children":2054},{"style":393},[2055],{"type":228,"value":2056},"        ?.",{"type":223,"tag":369,"props":2058,"children":2059},{"style":693},[2060],{"type":228,"value":2061},"GetAttribute",{"type":223,"tag":369,"props":2063,"children":2064},{"style":393},[2065],{"type":228,"value":624},{"type":223,"tag":369,"props":2067,"children":2068},{"style":393},[2069],{"type":228,"value":629},{"type":223,"tag":369,"props":2071,"children":2072},{"style":632},[2073],{"type":228,"value":2074},"href",{"type":223,"tag":369,"props":2076,"children":2077},{"style":393},[2078],{"type":228,"value":629},{"type":223,"tag":369,"props":2080,"children":2081},{"style":393},[2082],{"type":228,"value":506},{"type":223,"tag":369,"props":2084,"children":2085},{"class":371,"line":899},[2086],{"type":223,"tag":369,"props":2087,"children":2088},{"emptyLinePlaceholder":657},[2089],{"type":228,"value":660},{"type":223,"tag":369,"props":2091,"children":2092},{"class":371,"line":912},[2093,2097,2101,2105,2110,2114,2119,2124,2129,2133,2138,2142,2146,2150,2155,2159],{"type":223,"tag":369,"props":2094,"children":2095},{"style":555},[2096],{"type":228,"value":1327},{"type":223,"tag":369,"props":2098,"children":2099},{"style":602},[2100],{"type":228,"value":619},{"type":223,"tag":369,"props":2102,"children":2103},{"style":393},[2104],{"type":228,"value":351},{"type":223,"tag":369,"props":2106,"children":2107},{"style":693},[2108],{"type":228,"value":2109},"TryCreate",{"type":223,"tag":369,"props":2111,"children":2112},{"style":393},[2113],{"type":228,"value":624},{"type":223,"tag":369,"props":2115,"children":2116},{"style":602},[2117],{"type":228,"value":2118},"twitterSocialLink",{"type":223,"tag":369,"props":2120,"children":2121},{"style":393},[2122],{"type":228,"value":2123},",",{"type":223,"tag":369,"props":2125,"children":2126},{"style":602},[2127],{"type":228,"value":2128}," UriKind",{"type":223,"tag":369,"props":2130,"children":2131},{"style":393},[2132],{"type":228,"value":351},{"type":223,"tag":369,"props":2134,"children":2135},{"style":602},[2136],{"type":228,"value":2137},"Absolute",{"type":223,"tag":369,"props":2139,"children":2140},{"style":393},[2141],{"type":228,"value":2123},{"type":223,"tag":369,"props":2143,"children":2144},{"style":376},[2145],{"type":228,"value":1264},{"type":223,"tag":369,"props":2147,"children":2148},{"style":382},[2149],{"type":228,"value":563},{"type":223,"tag":369,"props":2151,"children":2152},{"style":382},[2153],{"type":228,"value":2154}," twitterProfileUri",{"type":223,"tag":369,"props":2156,"children":2157},{"style":393},[2158],{"type":228,"value":1278},{"type":223,"tag":369,"props":2160,"children":2161},{"style":393},[2162],{"type":228,"value":2163}," ?\n",{"type":223,"tag":369,"props":2165,"children":2166},{"class":371,"line":920},[2167],{"type":223,"tag":369,"props":2168,"children":2170},{"style":2169},"--shiki-light:#90A4AE;--shiki-default:#546E7A;--shiki-dark:#676E95;--shiki-light-font-style:italic;--shiki-default-font-style:italic;--shiki-dark-font-style:italic",[2171],{"type":228,"value":2172},"        // Normalize X/Twitter profile URL by removing query parameters and fragments\n",{"type":223,"tag":369,"props":2174,"children":2175},{"class":371,"line":928},[2176,2181,2186,2190,2195,2199,2204,2209,2213,2217,2222,2227,2231,2235,2240,2244,2249],{"type":223,"tag":369,"props":2177,"children":2178},{"style":393},[2179],{"type":228,"value":2180},"        $\"{",{"type":223,"tag":369,"props":2182,"children":2183},{"style":602},[2184],{"type":228,"value":2185},"twitterProfileUri",{"type":223,"tag":369,"props":2187,"children":2188},{"style":393},[2189],{"type":228,"value":351},{"type":223,"tag":369,"props":2191,"children":2192},{"style":602},[2193],{"type":228,"value":2194},"Scheme",{"type":223,"tag":369,"props":2196,"children":2197},{"style":393},[2198],{"type":228,"value":1390},{"type":223,"tag":369,"props":2200,"children":2201},{"style":632},[2202],{"type":228,"value":2203},"://",{"type":223,"tag":369,"props":2205,"children":2206},{"style":393},[2207],{"type":228,"value":2208},"{",{"type":223,"tag":369,"props":2210,"children":2211},{"style":602},[2212],{"type":228,"value":2185},{"type":223,"tag":369,"props":2214,"children":2215},{"style":393},[2216],{"type":228,"value":351},{"type":223,"tag":369,"props":2218,"children":2219},{"style":602},[2220],{"type":228,"value":2221},"Host",{"type":223,"tag":369,"props":2223,"children":2224},{"style":393},[2225],{"type":228,"value":2226},"}{",{"type":223,"tag":369,"props":2228,"children":2229},{"style":602},[2230],{"type":228,"value":2185},{"type":223,"tag":369,"props":2232,"children":2233},{"style":393},[2234],{"type":228,"value":351},{"type":223,"tag":369,"props":2236,"children":2237},{"style":602},[2238],{"type":228,"value":2239},"AbsolutePath",{"type":223,"tag":369,"props":2241,"children":2242},{"style":393},[2243],{"type":228,"value":1412},{"type":223,"tag":369,"props":2245,"children":2246},{"style":393},[2247],{"type":228,"value":2248}," :",{"type":223,"tag":369,"props":2250,"children":2251},{"style":393},[2252],{"type":228,"value":2253}," null;\n",{"type":223,"tag":369,"props":2255,"children":2256},{"class":371,"line":981},[2257],{"type":223,"tag":369,"props":2258,"children":2259},{"style":393},[2260],{"type":228,"value":1611},{"type":223,"tag":988,"props":2262,"children":2263},{"icon":990},[2264],{"type":223,"tag":224,"props":2265,"children":2266},{},[2267,2269,2275],{"type":228,"value":2268},"As the DOM API exposed follows the W3C specifications, it is very convenient. If you can retrieve something with ",{"type":223,"tag":365,"props":2270,"children":2272},{"className":2271},[],[2273],{"type":228,"value":2274},"document.querySelector",{"type":228,"value":2276}," in your browser console, you will be able to retrieve it using the same selector in your AngleSharp code.",{"type":223,"tag":230,"props":2278,"children":2280},{"id":2279},"submit-an-event",[2281],{"type":228,"value":2282},"Submit An Event",{"type":223,"tag":224,"props":2284,"children":2285},{},[2286,2288,2294],{"type":228,"value":2287},"Submitting forms is also possible using AngleSharp. We first have to retrieve the form element in the HTML document using the query sector ",{"type":223,"tag":365,"props":2289,"children":2291},{"className":2290},[],[2292],{"type":228,"value":2293},"form[action=\"/addevent/\"]",{"type":228,"value":2295},". Then we can directly submit the event.",{"type":223,"tag":358,"props":2297,"children":2299},{"className":360,"code":2298,"language":362,"meta":207,"style":207},"async Task SubmitEventToTechCommunityCalendar(TechCommunityCalendarEvent techCommunityCalendarEvent)\n{\n    var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());\n    var queryDocument = await context.OpenAsync(\"https://techcommunitycalendar.com/addevent/\");\n    var form = queryDocument.QuerySelector\u003CIHtmlFormElement>(\"\"\"form[action=\"/addevent/\"]\"\"\");\n    if (form is not null)\n    {\n        var response = await form.SubmitAsync(techCommunityCalendarEvent);\n    }\n}\n",[2300],{"type":223,"tag":365,"props":2301,"children":2302},{"__ignoreMap":207},[2303,2336,2343,2398,2450,2509,2541,2549,2596,2604],{"type":223,"tag":369,"props":2304,"children":2305},{"class":371,"line":372},[2306,2310,2314,2319,2323,2327,2332],{"type":223,"tag":369,"props":2307,"children":2308},{"style":376},[2309],{"type":228,"value":1811},{"type":223,"tag":369,"props":2311,"children":2312},{"style":382},[2313],{"type":228,"value":1816},{"type":223,"tag":369,"props":2315,"children":2316},{"style":693},[2317],{"type":228,"value":2318}," SubmitEventToTechCommunityCalendar",{"type":223,"tag":369,"props":2320,"children":2321},{"style":393},[2322],{"type":228,"value":624},{"type":223,"tag":369,"props":2324,"children":2325},{"style":382},[2326],{"type":228,"value":1014},{"type":223,"tag":369,"props":2328,"children":2329},{"style":382},[2330],{"type":228,"value":2331}," techCommunityCalendarEvent",{"type":223,"tag":369,"props":2333,"children":2334},{"style":393},[2335],{"type":228,"value":643},{"type":223,"tag":369,"props":2337,"children":2338},{"class":371,"line":399},[2339],{"type":223,"tag":369,"props":2340,"children":2341},{"style":393},[2342],{"type":228,"value":596},{"type":223,"tag":369,"props":2344,"children":2345},{"class":371,"line":418},[2346,2350,2354,2358,2362,2366,2370,2374,2378,2382,2386,2390,2394],{"type":223,"tag":369,"props":2347,"children":2348},{"style":382},[2349],{"type":228,"value":1067},{"type":223,"tag":369,"props":2351,"children":2352},{"style":382},[2353],{"type":228,"value":1871},{"type":223,"tag":369,"props":2355,"children":2356},{"style":393},[2357],{"type":228,"value":573},{"type":223,"tag":369,"props":2359,"children":2360},{"style":602},[2361],{"type":228,"value":1880},{"type":223,"tag":369,"props":2363,"children":2364},{"style":393},[2365],{"type":228,"value":351},{"type":223,"tag":369,"props":2367,"children":2368},{"style":693},[2369],{"type":228,"value":1889},{"type":223,"tag":369,"props":2371,"children":2372},{"style":393},[2373],{"type":228,"value":624},{"type":223,"tag":369,"props":2375,"children":2376},{"style":602},[2377],{"type":228,"value":1898},{"type":223,"tag":369,"props":2379,"children":2380},{"style":393},[2381],{"type":228,"value":351},{"type":223,"tag":369,"props":2383,"children":2384},{"style":602},[2385],{"type":228,"value":1907},{"type":223,"tag":369,"props":2387,"children":2388},{"style":393},[2389],{"type":228,"value":351},{"type":223,"tag":369,"props":2391,"children":2392},{"style":693},[2393],{"type":228,"value":1916},{"type":223,"tag":369,"props":2395,"children":2396},{"style":393},[2397],{"type":228,"value":1122},{"type":223,"tag":369,"props":2399,"children":2400},{"class":371,"line":436},[2401,2405,2409,2413,2417,2421,2425,2429,2433,2437,2442,2446],{"type":223,"tag":369,"props":2402,"children":2403},{"style":382},[2404],{"type":228,"value":1067},{"type":223,"tag":369,"props":2406,"children":2407},{"style":382},[2408],{"type":228,"value":1932},{"type":223,"tag":369,"props":2410,"children":2411},{"style":393},[2412],{"type":228,"value":573},{"type":223,"tag":369,"props":2414,"children":2415},{"style":393},[2416],{"type":228,"value":682},{"type":223,"tag":369,"props":2418,"children":2419},{"style":602},[2420],{"type":228,"value":1871},{"type":223,"tag":369,"props":2422,"children":2423},{"style":393},[2424],{"type":228,"value":351},{"type":223,"tag":369,"props":2426,"children":2427},{"style":693},[2428],{"type":228,"value":1953},{"type":223,"tag":369,"props":2430,"children":2431},{"style":393},[2432],{"type":228,"value":624},{"type":223,"tag":369,"props":2434,"children":2435},{"style":393},[2436],{"type":228,"value":629},{"type":223,"tag":369,"props":2438,"children":2439},{"style":632},[2440],{"type":228,"value":2441},"https://techcommunitycalendar.com/addevent/",{"type":223,"tag":369,"props":2443,"children":2444},{"style":393},[2445],{"type":228,"value":629},{"type":223,"tag":369,"props":2447,"children":2448},{"style":393},[2449],{"type":228,"value":506},{"type":223,"tag":369,"props":2451,"children":2452},{"class":371,"line":453},[2453,2457,2462,2466,2470,2474,2478,2482,2487,2492,2497,2501,2505],{"type":223,"tag":369,"props":2454,"children":2455},{"style":382},[2456],{"type":228,"value":1067},{"type":223,"tag":369,"props":2458,"children":2459},{"style":382},[2460],{"type":228,"value":2461}," form",{"type":223,"tag":369,"props":2463,"children":2464},{"style":393},[2465],{"type":228,"value":573},{"type":223,"tag":369,"props":2467,"children":2468},{"style":602},[2469],{"type":228,"value":1932},{"type":223,"tag":369,"props":2471,"children":2472},{"style":393},[2473],{"type":228,"value":351},{"type":223,"tag":369,"props":2475,"children":2476},{"style":693},[2477],{"type":228,"value":2035},{"type":223,"tag":369,"props":2479,"children":2480},{"style":393},[2481],{"type":228,"value":701},{"type":223,"tag":369,"props":2483,"children":2484},{"style":382},[2485],{"type":228,"value":2486},"IHtmlFormElement",{"type":223,"tag":369,"props":2488,"children":2489},{"style":393},[2490],{"type":228,"value":2491},">(",{"type":223,"tag":369,"props":2493,"children":2494},{"style":393},[2495],{"type":228,"value":2496},"\"\"\"",{"type":223,"tag":369,"props":2498,"children":2499},{"style":632},[2500],{"type":228,"value":2293},{"type":223,"tag":369,"props":2502,"children":2503},{"style":393},[2504],{"type":228,"value":2496},{"type":223,"tag":369,"props":2506,"children":2507},{"style":393},[2508],{"type":228,"value":506},{"type":223,"tag":369,"props":2510,"children":2511},{"class":371,"line":470},[2512,2517,2522,2527,2531,2536],{"type":223,"tag":369,"props":2513,"children":2514},{"style":555},[2515],{"type":228,"value":2516},"    if",{"type":223,"tag":369,"props":2518,"children":2519},{"style":393},[2520],{"type":228,"value":2521}," (",{"type":223,"tag":369,"props":2523,"children":2524},{"style":602},[2525],{"type":228,"value":2526},"form ",{"type":223,"tag":369,"props":2528,"children":2529},{"style":393},[2530],{"type":228,"value":1503},{"type":223,"tag":369,"props":2532,"children":2533},{"style":393},[2534],{"type":228,"value":2535}," not",{"type":223,"tag":369,"props":2537,"children":2538},{"style":393},[2539],{"type":228,"value":2540}," null)\n",{"type":223,"tag":369,"props":2542,"children":2543},{"class":371,"line":487},[2544],{"type":223,"tag":369,"props":2545,"children":2546},{"style":393},[2547],{"type":228,"value":2548},"    {\n",{"type":223,"tag":369,"props":2550,"children":2551},{"class":371,"line":500},[2552,2557,2562,2566,2570,2574,2578,2583,2587,2592],{"type":223,"tag":369,"props":2553,"children":2554},{"style":382},[2555],{"type":228,"value":2556},"        var",{"type":223,"tag":369,"props":2558,"children":2559},{"style":382},[2560],{"type":228,"value":2561}," response",{"type":223,"tag":369,"props":2563,"children":2564},{"style":393},[2565],{"type":228,"value":573},{"type":223,"tag":369,"props":2567,"children":2568},{"style":393},[2569],{"type":228,"value":682},{"type":223,"tag":369,"props":2571,"children":2572},{"style":602},[2573],{"type":228,"value":2461},{"type":223,"tag":369,"props":2575,"children":2576},{"style":393},[2577],{"type":228,"value":351},{"type":223,"tag":369,"props":2579,"children":2580},{"style":693},[2581],{"type":228,"value":2582},"SubmitAsync",{"type":223,"tag":369,"props":2584,"children":2585},{"style":393},[2586],{"type":228,"value":624},{"type":223,"tag":369,"props":2588,"children":2589},{"style":602},[2590],{"type":228,"value":2591},"techCommunityCalendarEvent",{"type":223,"tag":369,"props":2593,"children":2594},{"style":393},[2595],{"type":228,"value":506},{"type":223,"tag":369,"props":2597,"children":2598},{"class":371,"line":899},[2599],{"type":223,"tag":369,"props":2600,"children":2601},{"style":393},[2602],{"type":228,"value":2603},"    }\n",{"type":223,"tag":369,"props":2605,"children":2606},{"class":371,"line":912},[2607],{"type":223,"tag":369,"props":2608,"children":2609},{"style":393},[2610],{"type":228,"value":1611},{"type":223,"tag":988,"props":2612,"children":2613},{"icon":990},[2614],{"type":223,"tag":224,"props":2615,"children":2616},{},[2617,2619,2624],{"type":228,"value":2618},"I intentionally named the properties in the ",{"type":223,"tag":365,"props":2620,"children":2622},{"className":2621},[],[2623],{"type":228,"value":1014},{"type":228,"value":2625}," record with the same names as the fields in the form. This way, I can directly submit the event without any transformation. Otherwise, I would have to convert the event to an anonymous object with the correct names.",{"type":223,"tag":230,"props":2627,"children":2629},{"id":2628},"the-full-program",[2630],{"type":228,"value":2631},"The Full Program",{"type":223,"tag":224,"props":2633,"children":2634},{},[2635,2637,2643],{"type":228,"value":2636},"Here is the content of the complete ",{"type":223,"tag":365,"props":2638,"children":2640},{"className":2639},[],[2641],{"type":228,"value":2642},"Program.cs",{"type":228,"value":2644}," file.",{"type":223,"tag":358,"props":2646,"children":2648},{"className":360,"code":2647,"filename":2642,"language":362,"meta":207,"style":207},"using System.Net.Http.Json;\nusing AngleSharp;\nusing AngleSharp.Dom;\nusing AngleSharp.Html.Dom;\n\nusing var httpClient = new HttpClient()\n{\n    BaseAddress = new Uri(\"https://developers.events/\")\n};\n\nvar events = await httpClient.GetFromJsonAsync\u003CDeveloperEvent[]>(\"all-events.json\");\nvar upcomingEvents =  events\n    .Where(e => e.Date.FirstOrDefault() > DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())\n    .Select(ConvertToTechEvent)\n    .ToList();\n\nforeach (var upcomingEvent in upcomingEvents)\n{\n    upcomingEvent.TwitterHandle = await RetrieveEventTwitterProfileLink(upcomingEvent.Url);\n    await SubmitEventToTechCommunityCalendar(upcomingEvent);\n}\n\nasync Task\u003Cstring?> RetrieveEventTwitterProfileLink(string eventUrl)\n{\n    var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());\n    var queryDocument = await context.OpenAsync(eventUrl);\n\n    var twitterSelector = \"a[href*='twitter.com'], a[href*='https://x.com']\";\n    var twitterSocialLink = queryDocument.QuerySelector(twitterSelector)\n        ?.GetAttribute(\"href\");\n\n    return Uri.TryCreate(twitterSocialLink, UriKind.Absolute, out var twitterProfileUri) ?\n        // Normalize X/Twitter profile URL by removing query parameters and fragments\n        $\"{twitterProfileUri.Scheme}://{twitterProfileUri.Host}{twitterProfileUri.AbsolutePath}\" : null;\n}\n\nasync Task SubmitEventToTechCommunityCalendar(TechCommunityCalendarEvent techCommunityCalendarEvent)\n{\n    var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());\n    var queryDocument = await context.OpenAsync(\"https://techcommunitycalendar.com/addevent/\");\n    var form = queryDocument.QuerySelector\u003CIHtmlFormElement>(\"\"\"form[action=\"/addevent/\"]\"\"\");\n    if (form is not null)\n    {\n        var response = await form.SubmitAsync(techCommunityCalendarEvent);\n    }\n}\n\nTechCommunityCalendarEvent ConvertToTechEvent(DeveloperEvent developerEvent)\n{\n    var startingDate = DateTimeOffset.FromUnixTimeMilliseconds(developerEvent.Date.First());\n    var endingDate = DateTimeOffset.FromUnixTimeMilliseconds(developerEvent.Date.Last());\n    var eventNameContainsYear = int.TryParse(developerEvent.Name.Split(\" \").LastOrDefault(), out var year) \n                                && year == startingDate.Year;\n    return new TechCommunityCalendarEvent(\n        eventNameContainsYear ? developerEvent.Name : $\"{developerEvent.Name} {startingDate.Year}\",\n        developerEvent.Hyperlink,\n        startingDate,\n        endingDate,\n        EventType.Conference,\n        developerEvent.Country is \"Online\" ? EventFormat.Virtual : EventFormat.In_Person,\n        developerEvent.Country,\n        developerEvent.City\n    );\n}\n\npublic record DeveloperEvent(\n    string Name,\n    long[] Date,\n    string Hyperlink,\n    string Location,\n    string City,\n    string Country\n);\n\npublic record TechCommunityCalendarEvent(\n    string Name,\n    string Url,\n    DateTimeOffset StartDate,\n    DateTimeOffset EndDate,\n    EventType EventType,\n    EventFormat EventFormat,\n    string Country,\n    string City\n)\n{\n    public string? TwitterHandle { get; set; }\n};\n\npublic enum EventFormat\n{\n    Unknown = 1,\n    Virtual = 2,\n    In_Person = 3,\n    Hybrid = 4\n}\n\npublic enum EventType\n{\n    Any = 0,\n    Unknown = 1,\n    Conference = 2,\n    Meetup = 3,\n    Hackathon = 4,\n    Call_For_Papers = 5,\n    Website = 6,\n}\n",[2649],{"type":223,"tag":365,"props":2650,"children":2651},{"__ignoreMap":207},[2652,2696,2712,2736,2768,2775,2806,2813,2852,2859,2866,2925,2944,3019,3042,3057,3064,3098,3106,3158,3183,3191,3199,3243,3251,3307,3351,3359,3391,3431,3463,3471,3539,3547,3619,3627,3635,3667,3675,3731,3783,3839,3867,3875,3919,3927,3935,3943,3971,3979,4035,4091,4183,4215,4235,4307,4327,4339,4351,4371,4439,4459,4475,4483,4491,4499,4519,4535,4551,4567,4583,4599,4611,4619,4627,4647,4663,4679,4695,4711,4727,4743,4759,4771,4779,4787,4831,4839,4847,4865,4873,4895,4917,4939,4957,4965,4973,4990,4998,5020,5040,5061,5082,5104,5126,5148],{"type":223,"tag":369,"props":2653,"children":2654},{"class":371,"line":372},[2655,2660,2665,2669,2674,2678,2683,2687,2692],{"type":223,"tag":369,"props":2656,"children":2658},{"style":2657},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2659],{"type":228,"value":558},{"type":223,"tag":369,"props":2661,"children":2662},{"style":602},[2663],{"type":228,"value":2664}," System",{"type":223,"tag":369,"props":2666,"children":2667},{"style":393},[2668],{"type":228,"value":351},{"type":223,"tag":369,"props":2670,"children":2671},{"style":602},[2672],{"type":228,"value":2673},"Net",{"type":223,"tag":369,"props":2675,"children":2676},{"style":393},[2677],{"type":228,"value":351},{"type":223,"tag":369,"props":2679,"children":2680},{"style":602},[2681],{"type":228,"value":2682},"Http",{"type":223,"tag":369,"props":2684,"children":2685},{"style":393},[2686],{"type":228,"value":351},{"type":223,"tag":369,"props":2688,"children":2689},{"style":602},[2690],{"type":228,"value":2691},"Json",{"type":223,"tag":369,"props":2693,"children":2694},{"style":393},[2695],{"type":228,"value":1319},{"type":223,"tag":369,"props":2697,"children":2698},{"class":371,"line":399},[2699,2703,2708],{"type":223,"tag":369,"props":2700,"children":2701},{"style":2657},[2702],{"type":228,"value":558},{"type":223,"tag":369,"props":2704,"children":2705},{"style":602},[2706],{"type":228,"value":2707}," AngleSharp",{"type":223,"tag":369,"props":2709,"children":2710},{"style":393},[2711],{"type":228,"value":1319},{"type":223,"tag":369,"props":2713,"children":2714},{"class":371,"line":418},[2715,2719,2723,2727,2732],{"type":223,"tag":369,"props":2716,"children":2717},{"style":2657},[2718],{"type":228,"value":558},{"type":223,"tag":369,"props":2720,"children":2721},{"style":602},[2722],{"type":228,"value":2707},{"type":223,"tag":369,"props":2724,"children":2725},{"style":393},[2726],{"type":228,"value":351},{"type":223,"tag":369,"props":2728,"children":2729},{"style":602},[2730],{"type":228,"value":2731},"Dom",{"type":223,"tag":369,"props":2733,"children":2734},{"style":393},[2735],{"type":228,"value":1319},{"type":223,"tag":369,"props":2737,"children":2738},{"class":371,"line":436},[2739,2743,2747,2751,2756,2760,2764],{"type":223,"tag":369,"props":2740,"children":2741},{"style":2657},[2742],{"type":228,"value":558},{"type":223,"tag":369,"props":2744,"children":2745},{"style":602},[2746],{"type":228,"value":2707},{"type":223,"tag":369,"props":2748,"children":2749},{"style":393},[2750],{"type":228,"value":351},{"type":223,"tag":369,"props":2752,"children":2753},{"style":602},[2754],{"type":228,"value":2755},"Html",{"type":223,"tag":369,"props":2757,"children":2758},{"style":393},[2759],{"type":228,"value":351},{"type":223,"tag":369,"props":2761,"children":2762},{"style":602},[2763],{"type":228,"value":2731},{"type":223,"tag":369,"props":2765,"children":2766},{"style":393},[2767],{"type":228,"value":1319},{"type":223,"tag":369,"props":2769,"children":2770},{"class":371,"line":453},[2771],{"type":223,"tag":369,"props":2772,"children":2773},{"emptyLinePlaceholder":657},[2774],{"type":228,"value":660},{"type":223,"tag":369,"props":2776,"children":2777},{"class":371,"line":470},[2778,2782,2786,2790,2794,2798,2802],{"type":223,"tag":369,"props":2779,"children":2780},{"style":555},[2781],{"type":228,"value":558},{"type":223,"tag":369,"props":2783,"children":2784},{"style":382},[2785],{"type":228,"value":563},{"type":223,"tag":369,"props":2787,"children":2788},{"style":382},[2789],{"type":228,"value":568},{"type":223,"tag":369,"props":2791,"children":2792},{"style":393},[2793],{"type":228,"value":573},{"type":223,"tag":369,"props":2795,"children":2796},{"style":393},[2797],{"type":228,"value":578},{"type":223,"tag":369,"props":2799,"children":2800},{"style":382},[2801],{"type":228,"value":583},{"type":223,"tag":369,"props":2803,"children":2804},{"style":393},[2805],{"type":228,"value":588},{"type":223,"tag":369,"props":2807,"children":2808},{"class":371,"line":487},[2809],{"type":223,"tag":369,"props":2810,"children":2811},{"style":393},[2812],{"type":228,"value":596},{"type":223,"tag":369,"props":2814,"children":2815},{"class":371,"line":500},[2816,2820,2824,2828,2832,2836,2840,2844,2848],{"type":223,"tag":369,"props":2817,"children":2818},{"style":602},[2819],{"type":228,"value":605},{"type":223,"tag":369,"props":2821,"children":2822},{"style":393},[2823],{"type":228,"value":610},{"type":223,"tag":369,"props":2825,"children":2826},{"style":393},[2827],{"type":228,"value":578},{"type":223,"tag":369,"props":2829,"children":2830},{"style":382},[2831],{"type":228,"value":619},{"type":223,"tag":369,"props":2833,"children":2834},{"style":393},[2835],{"type":228,"value":624},{"type":223,"tag":369,"props":2837,"children":2838},{"style":393},[2839],{"type":228,"value":629},{"type":223,"tag":369,"props":2841,"children":2842},{"style":632},[2843],{"type":228,"value":254},{"type":223,"tag":369,"props":2845,"children":2846},{"style":393},[2847],{"type":228,"value":629},{"type":223,"tag":369,"props":2849,"children":2850},{"style":393},[2851],{"type":228,"value":643},{"type":223,"tag":369,"props":2853,"children":2854},{"class":371,"line":899},[2855],{"type":223,"tag":369,"props":2856,"children":2857},{"style":393},[2858],{"type":228,"value":651},{"type":223,"tag":369,"props":2860,"children":2861},{"class":371,"line":912},[2862],{"type":223,"tag":369,"props":2863,"children":2864},{"emptyLinePlaceholder":657},[2865],{"type":228,"value":660},{"type":223,"tag":369,"props":2867,"children":2868},{"class":371,"line":920},[2869,2873,2877,2881,2885,2889,2893,2897,2901,2905,2909,2913,2917,2921],{"type":223,"tag":369,"props":2870,"children":2871},{"style":382},[2872],{"type":228,"value":668},{"type":223,"tag":369,"props":2874,"children":2875},{"style":382},[2876],{"type":228,"value":673},{"type":223,"tag":369,"props":2878,"children":2879},{"style":393},[2880],{"type":228,"value":573},{"type":223,"tag":369,"props":2882,"children":2883},{"style":393},[2884],{"type":228,"value":682},{"type":223,"tag":369,"props":2886,"children":2887},{"style":602},[2888],{"type":228,"value":568},{"type":223,"tag":369,"props":2890,"children":2891},{"style":393},[2892],{"type":228,"value":351},{"type":223,"tag":369,"props":2894,"children":2895},{"style":693},[2896],{"type":228,"value":696},{"type":223,"tag":369,"props":2898,"children":2899},{"style":393},[2900],{"type":228,"value":701},{"type":223,"tag":369,"props":2902,"children":2903},{"style":382},[2904],{"type":228,"value":706},{"type":223,"tag":369,"props":2906,"children":2907},{"style":393},[2908],{"type":228,"value":711},{"type":223,"tag":369,"props":2910,"children":2911},{"style":393},[2912],{"type":228,"value":629},{"type":223,"tag":369,"props":2914,"children":2915},{"style":632},[2916],{"type":228,"value":720},{"type":223,"tag":369,"props":2918,"children":2919},{"style":393},[2920],{"type":228,"value":629},{"type":223,"tag":369,"props":2922,"children":2923},{"style":393},[2924],{"type":228,"value":506},{"type":223,"tag":369,"props":2926,"children":2927},{"class":371,"line":928},[2928,2932,2936,2940],{"type":223,"tag":369,"props":2929,"children":2930},{"style":382},[2931],{"type":228,"value":668},{"type":223,"tag":369,"props":2933,"children":2934},{"style":382},[2935],{"type":228,"value":1635},{"type":223,"tag":369,"props":2937,"children":2938},{"style":393},[2939],{"type":228,"value":573},{"type":223,"tag":369,"props":2941,"children":2942},{"style":602},[2943],{"type":228,"value":1644},{"type":223,"tag":369,"props":2945,"children":2946},{"class":371,"line":981},[2947,2951,2955,2959,2963,2967,2971,2975,2979,2983,2987,2991,2995,2999,3003,3007,3011,3015],{"type":223,"tag":369,"props":2948,"children":2949},{"style":393},[2950],{"type":228,"value":1652},{"type":223,"tag":369,"props":2952,"children":2953},{"style":693},[2954],{"type":228,"value":1657},{"type":223,"tag":369,"props":2956,"children":2957},{"style":393},[2958],{"type":228,"value":624},{"type":223,"tag":369,"props":2960,"children":2961},{"style":382},[2962],{"type":228,"value":1666},{"type":223,"tag":369,"props":2964,"children":2965},{"style":393},[2966],{"type":228,"value":1671},{"type":223,"tag":369,"props":2968,"children":2969},{"style":602},[2970],{"type":228,"value":1676},{"type":223,"tag":369,"props":2972,"children":2973},{"style":393},[2974],{"type":228,"value":351},{"type":223,"tag":369,"props":2976,"children":2977},{"style":602},[2978],{"type":228,"value":1108},{"type":223,"tag":369,"props":2980,"children":2981},{"style":393},[2982],{"type":228,"value":351},{"type":223,"tag":369,"props":2984,"children":2985},{"style":693},[2986],{"type":228,"value":1693},{"type":223,"tag":369,"props":2988,"children":2989},{"style":393},[2990],{"type":228,"value":1698},{"type":223,"tag":369,"props":2992,"children":2993},{"style":393},[2994],{"type":228,"value":1703},{"type":223,"tag":369,"props":2996,"children":2997},{"style":602},[2998],{"type":228,"value":1081},{"type":223,"tag":369,"props":3000,"children":3001},{"style":393},[3002],{"type":228,"value":351},{"type":223,"tag":369,"props":3004,"children":3005},{"style":602},[3006],{"type":228,"value":1716},{"type":223,"tag":369,"props":3008,"children":3009},{"style":393},[3010],{"type":228,"value":351},{"type":223,"tag":369,"props":3012,"children":3013},{"style":693},[3014],{"type":228,"value":1725},{"type":223,"tag":369,"props":3016,"children":3017},{"style":393},[3018],{"type":228,"value":1730},{"type":223,"tag":369,"props":3020,"children":3021},{"class":371,"line":1558},[3022,3026,3030,3034,3038],{"type":223,"tag":369,"props":3023,"children":3024},{"style":393},[3025],{"type":228,"value":1652},{"type":223,"tag":369,"props":3027,"children":3028},{"style":693},[3029],{"type":228,"value":1742},{"type":223,"tag":369,"props":3031,"children":3032},{"style":393},[3033],{"type":228,"value":624},{"type":223,"tag":369,"props":3035,"children":3036},{"style":602},[3037],{"type":228,"value":1751},{"type":223,"tag":369,"props":3039,"children":3040},{"style":393},[3041],{"type":228,"value":643},{"type":223,"tag":369,"props":3043,"children":3044},{"class":371,"line":1579},[3045,3049,3053],{"type":223,"tag":369,"props":3046,"children":3047},{"style":393},[3048],{"type":228,"value":1652},{"type":223,"tag":369,"props":3050,"children":3051},{"style":693},[3052],{"type":228,"value":1767},{"type":223,"tag":369,"props":3054,"children":3055},{"style":393},[3056],{"type":228,"value":1772},{"type":223,"tag":369,"props":3058,"children":3059},{"class":371,"line":1596},[3060],{"type":223,"tag":369,"props":3061,"children":3062},{"emptyLinePlaceholder":657},[3063],{"type":228,"value":660},{"type":223,"tag":369,"props":3065,"children":3066},{"class":371,"line":1605},[3067,3072,3076,3080,3085,3090,3094],{"type":223,"tag":369,"props":3068,"children":3069},{"style":555},[3070],{"type":228,"value":3071},"foreach",{"type":223,"tag":369,"props":3073,"children":3074},{"style":393},[3075],{"type":228,"value":2521},{"type":223,"tag":369,"props":3077,"children":3078},{"style":382},[3079],{"type":228,"value":668},{"type":223,"tag":369,"props":3081,"children":3082},{"style":382},[3083],{"type":228,"value":3084}," upcomingEvent",{"type":223,"tag":369,"props":3086,"children":3087},{"style":555},[3088],{"type":228,"value":3089}," in",{"type":223,"tag":369,"props":3091,"children":3092},{"style":602},[3093],{"type":228,"value":1635},{"type":223,"tag":369,"props":3095,"children":3096},{"style":393},[3097],{"type":228,"value":643},{"type":223,"tag":369,"props":3099,"children":3101},{"class":371,"line":3100},18,[3102],{"type":223,"tag":369,"props":3103,"children":3104},{"style":393},[3105],{"type":228,"value":596},{"type":223,"tag":369,"props":3107,"children":3109},{"class":371,"line":3108},19,[3110,3115,3119,3124,3128,3132,3136,3140,3145,3149,3154],{"type":223,"tag":369,"props":3111,"children":3112},{"style":602},[3113],{"type":228,"value":3114},"    upcomingEvent",{"type":223,"tag":369,"props":3116,"children":3117},{"style":393},[3118],{"type":228,"value":351},{"type":223,"tag":369,"props":3120,"children":3121},{"style":602},[3122],{"type":228,"value":3123},"TwitterHandle ",{"type":223,"tag":369,"props":3125,"children":3126},{"style":393},[3127],{"type":228,"value":610},{"type":223,"tag":369,"props":3129,"children":3130},{"style":393},[3131],{"type":228,"value":682},{"type":223,"tag":369,"props":3133,"children":3134},{"style":693},[3135],{"type":228,"value":1835},{"type":223,"tag":369,"props":3137,"children":3138},{"style":393},[3139],{"type":228,"value":624},{"type":223,"tag":369,"props":3141,"children":3142},{"style":602},[3143],{"type":228,"value":3144},"upcomingEvent",{"type":223,"tag":369,"props":3146,"children":3147},{"style":393},[3148],{"type":228,"value":351},{"type":223,"tag":369,"props":3150,"children":3151},{"style":602},[3152],{"type":228,"value":3153},"Url",{"type":223,"tag":369,"props":3155,"children":3156},{"style":393},[3157],{"type":228,"value":506},{"type":223,"tag":369,"props":3159,"children":3161},{"class":371,"line":3160},20,[3162,3167,3171,3175,3179],{"type":223,"tag":369,"props":3163,"children":3164},{"style":393},[3165],{"type":228,"value":3166},"    await",{"type":223,"tag":369,"props":3168,"children":3169},{"style":693},[3170],{"type":228,"value":2318},{"type":223,"tag":369,"props":3172,"children":3173},{"style":393},[3174],{"type":228,"value":624},{"type":223,"tag":369,"props":3176,"children":3177},{"style":602},[3178],{"type":228,"value":3144},{"type":223,"tag":369,"props":3180,"children":3181},{"style":393},[3182],{"type":228,"value":506},{"type":223,"tag":369,"props":3184,"children":3186},{"class":371,"line":3185},21,[3187],{"type":223,"tag":369,"props":3188,"children":3189},{"style":393},[3190],{"type":228,"value":1611},{"type":223,"tag":369,"props":3192,"children":3194},{"class":371,"line":3193},22,[3195],{"type":223,"tag":369,"props":3196,"children":3197},{"emptyLinePlaceholder":657},[3198],{"type":228,"value":660},{"type":223,"tag":369,"props":3200,"children":3202},{"class":371,"line":3201},23,[3203,3207,3211,3215,3219,3223,3227,3231,3235,3239],{"type":223,"tag":369,"props":3204,"children":3205},{"style":376},[3206],{"type":228,"value":1811},{"type":223,"tag":369,"props":3208,"children":3209},{"style":382},[3210],{"type":228,"value":1816},{"type":223,"tag":369,"props":3212,"children":3213},{"style":393},[3214],{"type":228,"value":701},{"type":223,"tag":369,"props":3216,"children":3217},{"style":393},[3218],{"type":228,"value":1825},{"type":223,"tag":369,"props":3220,"children":3221},{"style":393},[3222],{"type":228,"value":1830},{"type":223,"tag":369,"props":3224,"children":3225},{"style":693},[3226],{"type":228,"value":1835},{"type":223,"tag":369,"props":3228,"children":3229},{"style":393},[3230],{"type":228,"value":624},{"type":223,"tag":369,"props":3232,"children":3233},{"style":393},[3234],{"type":228,"value":1825},{"type":223,"tag":369,"props":3236,"children":3237},{"style":382},[3238],{"type":228,"value":1848},{"type":223,"tag":369,"props":3240,"children":3241},{"style":393},[3242],{"type":228,"value":643},{"type":223,"tag":369,"props":3244,"children":3246},{"class":371,"line":3245},24,[3247],{"type":223,"tag":369,"props":3248,"children":3249},{"style":393},[3250],{"type":228,"value":596},{"type":223,"tag":369,"props":3252,"children":3254},{"class":371,"line":3253},25,[3255,3259,3263,3267,3271,3275,3279,3283,3287,3291,3295,3299,3303],{"type":223,"tag":369,"props":3256,"children":3257},{"style":382},[3258],{"type":228,"value":1067},{"type":223,"tag":369,"props":3260,"children":3261},{"style":382},[3262],{"type":228,"value":1871},{"type":223,"tag":369,"props":3264,"children":3265},{"style":393},[3266],{"type":228,"value":573},{"type":223,"tag":369,"props":3268,"children":3269},{"style":602},[3270],{"type":228,"value":1880},{"type":223,"tag":369,"props":3272,"children":3273},{"style":393},[3274],{"type":228,"value":351},{"type":223,"tag":369,"props":3276,"children":3277},{"style":693},[3278],{"type":228,"value":1889},{"type":223,"tag":369,"props":3280,"children":3281},{"style":393},[3282],{"type":228,"value":624},{"type":223,"tag":369,"props":3284,"children":3285},{"style":602},[3286],{"type":228,"value":1898},{"type":223,"tag":369,"props":3288,"children":3289},{"style":393},[3290],{"type":228,"value":351},{"type":223,"tag":369,"props":3292,"children":3293},{"style":602},[3294],{"type":228,"value":1907},{"type":223,"tag":369,"props":3296,"children":3297},{"style":393},[3298],{"type":228,"value":351},{"type":223,"tag":369,"props":3300,"children":3301},{"style":693},[3302],{"type":228,"value":1916},{"type":223,"tag":369,"props":3304,"children":3305},{"style":393},[3306],{"type":228,"value":1122},{"type":223,"tag":369,"props":3308,"children":3310},{"class":371,"line":3309},26,[3311,3315,3319,3323,3327,3331,3335,3339,3343,3347],{"type":223,"tag":369,"props":3312,"children":3313},{"style":382},[3314],{"type":228,"value":1067},{"type":223,"tag":369,"props":3316,"children":3317},{"style":382},[3318],{"type":228,"value":1932},{"type":223,"tag":369,"props":3320,"children":3321},{"style":393},[3322],{"type":228,"value":573},{"type":223,"tag":369,"props":3324,"children":3325},{"style":393},[3326],{"type":228,"value":682},{"type":223,"tag":369,"props":3328,"children":3329},{"style":602},[3330],{"type":228,"value":1871},{"type":223,"tag":369,"props":3332,"children":3333},{"style":393},[3334],{"type":228,"value":351},{"type":223,"tag":369,"props":3336,"children":3337},{"style":693},[3338],{"type":228,"value":1953},{"type":223,"tag":369,"props":3340,"children":3341},{"style":393},[3342],{"type":228,"value":624},{"type":223,"tag":369,"props":3344,"children":3345},{"style":602},[3346],{"type":228,"value":1962},{"type":223,"tag":369,"props":3348,"children":3349},{"style":393},[3350],{"type":228,"value":506},{"type":223,"tag":369,"props":3352,"children":3354},{"class":371,"line":3353},27,[3355],{"type":223,"tag":369,"props":3356,"children":3357},{"emptyLinePlaceholder":657},[3358],{"type":228,"value":660},{"type":223,"tag":369,"props":3360,"children":3362},{"class":371,"line":3361},28,[3363,3367,3371,3375,3379,3383,3387],{"type":223,"tag":369,"props":3364,"children":3365},{"style":382},[3366],{"type":228,"value":1067},{"type":223,"tag":369,"props":3368,"children":3369},{"style":382},[3370],{"type":228,"value":1985},{"type":223,"tag":369,"props":3372,"children":3373},{"style":393},[3374],{"type":228,"value":573},{"type":223,"tag":369,"props":3376,"children":3377},{"style":393},[3378],{"type":228,"value":1244},{"type":223,"tag":369,"props":3380,"children":3381},{"style":632},[3382],{"type":228,"value":1998},{"type":223,"tag":369,"props":3384,"children":3385},{"style":393},[3386],{"type":228,"value":629},{"type":223,"tag":369,"props":3388,"children":3389},{"style":393},[3390],{"type":228,"value":1319},{"type":223,"tag":369,"props":3392,"children":3394},{"class":371,"line":3393},29,[3395,3399,3403,3407,3411,3415,3419,3423,3427],{"type":223,"tag":369,"props":3396,"children":3397},{"style":382},[3398],{"type":228,"value":1067},{"type":223,"tag":369,"props":3400,"children":3401},{"style":382},[3402],{"type":228,"value":2018},{"type":223,"tag":369,"props":3404,"children":3405},{"style":393},[3406],{"type":228,"value":573},{"type":223,"tag":369,"props":3408,"children":3409},{"style":602},[3410],{"type":228,"value":1932},{"type":223,"tag":369,"props":3412,"children":3413},{"style":393},[3414],{"type":228,"value":351},{"type":223,"tag":369,"props":3416,"children":3417},{"style":693},[3418],{"type":228,"value":2035},{"type":223,"tag":369,"props":3420,"children":3421},{"style":393},[3422],{"type":228,"value":624},{"type":223,"tag":369,"props":3424,"children":3425},{"style":602},[3426],{"type":228,"value":2044},{"type":223,"tag":369,"props":3428,"children":3429},{"style":393},[3430],{"type":228,"value":643},{"type":223,"tag":369,"props":3432,"children":3434},{"class":371,"line":3433},30,[3435,3439,3443,3447,3451,3455,3459],{"type":223,"tag":369,"props":3436,"children":3437},{"style":393},[3438],{"type":228,"value":2056},{"type":223,"tag":369,"props":3440,"children":3441},{"style":693},[3442],{"type":228,"value":2061},{"type":223,"tag":369,"props":3444,"children":3445},{"style":393},[3446],{"type":228,"value":624},{"type":223,"tag":369,"props":3448,"children":3449},{"style":393},[3450],{"type":228,"value":629},{"type":223,"tag":369,"props":3452,"children":3453},{"style":632},[3454],{"type":228,"value":2074},{"type":223,"tag":369,"props":3456,"children":3457},{"style":393},[3458],{"type":228,"value":629},{"type":223,"tag":369,"props":3460,"children":3461},{"style":393},[3462],{"type":228,"value":506},{"type":223,"tag":369,"props":3464,"children":3466},{"class":371,"line":3465},31,[3467],{"type":223,"tag":369,"props":3468,"children":3469},{"emptyLinePlaceholder":657},[3470],{"type":228,"value":660},{"type":223,"tag":369,"props":3472,"children":3474},{"class":371,"line":3473},32,[3475,3479,3483,3487,3491,3495,3499,3503,3507,3511,3515,3519,3523,3527,3531,3535],{"type":223,"tag":369,"props":3476,"children":3477},{"style":555},[3478],{"type":228,"value":1327},{"type":223,"tag":369,"props":3480,"children":3481},{"style":602},[3482],{"type":228,"value":619},{"type":223,"tag":369,"props":3484,"children":3485},{"style":393},[3486],{"type":228,"value":351},{"type":223,"tag":369,"props":3488,"children":3489},{"style":693},[3490],{"type":228,"value":2109},{"type":223,"tag":369,"props":3492,"children":3493},{"style":393},[3494],{"type":228,"value":624},{"type":223,"tag":369,"props":3496,"children":3497},{"style":602},[3498],{"type":228,"value":2118},{"type":223,"tag":369,"props":3500,"children":3501},{"style":393},[3502],{"type":228,"value":2123},{"type":223,"tag":369,"props":3504,"children":3505},{"style":602},[3506],{"type":228,"value":2128},{"type":223,"tag":369,"props":3508,"children":3509},{"style":393},[3510],{"type":228,"value":351},{"type":223,"tag":369,"props":3512,"children":3513},{"style":602},[3514],{"type":228,"value":2137},{"type":223,"tag":369,"props":3516,"children":3517},{"style":393},[3518],{"type":228,"value":2123},{"type":223,"tag":369,"props":3520,"children":3521},{"style":376},[3522],{"type":228,"value":1264},{"type":223,"tag":369,"props":3524,"children":3525},{"style":382},[3526],{"type":228,"value":563},{"type":223,"tag":369,"props":3528,"children":3529},{"style":382},[3530],{"type":228,"value":2154},{"type":223,"tag":369,"props":3532,"children":3533},{"style":393},[3534],{"type":228,"value":1278},{"type":223,"tag":369,"props":3536,"children":3537},{"style":393},[3538],{"type":228,"value":2163},{"type":223,"tag":369,"props":3540,"children":3542},{"class":371,"line":3541},33,[3543],{"type":223,"tag":369,"props":3544,"children":3545},{"style":2169},[3546],{"type":228,"value":2172},{"type":223,"tag":369,"props":3548,"children":3550},{"class":371,"line":3549},34,[3551,3555,3559,3563,3567,3571,3575,3579,3583,3587,3591,3595,3599,3603,3607,3611,3615],{"type":223,"tag":369,"props":3552,"children":3553},{"style":393},[3554],{"type":228,"value":2180},{"type":223,"tag":369,"props":3556,"children":3557},{"style":602},[3558],{"type":228,"value":2185},{"type":223,"tag":369,"props":3560,"children":3561},{"style":393},[3562],{"type":228,"value":351},{"type":223,"tag":369,"props":3564,"children":3565},{"style":602},[3566],{"type":228,"value":2194},{"type":223,"tag":369,"props":3568,"children":3569},{"style":393},[3570],{"type":228,"value":1390},{"type":223,"tag":369,"props":3572,"children":3573},{"style":632},[3574],{"type":228,"value":2203},{"type":223,"tag":369,"props":3576,"children":3577},{"style":393},[3578],{"type":228,"value":2208},{"type":223,"tag":369,"props":3580,"children":3581},{"style":602},[3582],{"type":228,"value":2185},{"type":223,"tag":369,"props":3584,"children":3585},{"style":393},[3586],{"type":228,"value":351},{"type":223,"tag":369,"props":3588,"children":3589},{"style":602},[3590],{"type":228,"value":2221},{"type":223,"tag":369,"props":3592,"children":3593},{"style":393},[3594],{"type":228,"value":2226},{"type":223,"tag":369,"props":3596,"children":3597},{"style":602},[3598],{"type":228,"value":2185},{"type":223,"tag":369,"props":3600,"children":3601},{"style":393},[3602],{"type":228,"value":351},{"type":223,"tag":369,"props":3604,"children":3605},{"style":602},[3606],{"type":228,"value":2239},{"type":223,"tag":369,"props":3608,"children":3609},{"style":393},[3610],{"type":228,"value":1412},{"type":223,"tag":369,"props":3612,"children":3613},{"style":393},[3614],{"type":228,"value":2248},{"type":223,"tag":369,"props":3616,"children":3617},{"style":393},[3618],{"type":228,"value":2253},{"type":223,"tag":369,"props":3620,"children":3622},{"class":371,"line":3621},35,[3623],{"type":223,"tag":369,"props":3624,"children":3625},{"style":393},[3626],{"type":228,"value":1611},{"type":223,"tag":369,"props":3628,"children":3630},{"class":371,"line":3629},36,[3631],{"type":223,"tag":369,"props":3632,"children":3633},{"emptyLinePlaceholder":657},[3634],{"type":228,"value":660},{"type":223,"tag":369,"props":3636,"children":3638},{"class":371,"line":3637},37,[3639,3643,3647,3651,3655,3659,3663],{"type":223,"tag":369,"props":3640,"children":3641},{"style":376},[3642],{"type":228,"value":1811},{"type":223,"tag":369,"props":3644,"children":3645},{"style":382},[3646],{"type":228,"value":1816},{"type":223,"tag":369,"props":3648,"children":3649},{"style":693},[3650],{"type":228,"value":2318},{"type":223,"tag":369,"props":3652,"children":3653},{"style":393},[3654],{"type":228,"value":624},{"type":223,"tag":369,"props":3656,"children":3657},{"style":382},[3658],{"type":228,"value":1014},{"type":223,"tag":369,"props":3660,"children":3661},{"style":382},[3662],{"type":228,"value":2331},{"type":223,"tag":369,"props":3664,"children":3665},{"style":393},[3666],{"type":228,"value":643},{"type":223,"tag":369,"props":3668,"children":3670},{"class":371,"line":3669},38,[3671],{"type":223,"tag":369,"props":3672,"children":3673},{"style":393},[3674],{"type":228,"value":596},{"type":223,"tag":369,"props":3676,"children":3678},{"class":371,"line":3677},39,[3679,3683,3687,3691,3695,3699,3703,3707,3711,3715,3719,3723,3727],{"type":223,"tag":369,"props":3680,"children":3681},{"style":382},[3682],{"type":228,"value":1067},{"type":223,"tag":369,"props":3684,"children":3685},{"style":382},[3686],{"type":228,"value":1871},{"type":223,"tag":369,"props":3688,"children":3689},{"style":393},[3690],{"type":228,"value":573},{"type":223,"tag":369,"props":3692,"children":3693},{"style":602},[3694],{"type":228,"value":1880},{"type":223,"tag":369,"props":3696,"children":3697},{"style":393},[3698],{"type":228,"value":351},{"type":223,"tag":369,"props":3700,"children":3701},{"style":693},[3702],{"type":228,"value":1889},{"type":223,"tag":369,"props":3704,"children":3705},{"style":393},[3706],{"type":228,"value":624},{"type":223,"tag":369,"props":3708,"children":3709},{"style":602},[3710],{"type":228,"value":1898},{"type":223,"tag":369,"props":3712,"children":3713},{"style":393},[3714],{"type":228,"value":351},{"type":223,"tag":369,"props":3716,"children":3717},{"style":602},[3718],{"type":228,"value":1907},{"type":223,"tag":369,"props":3720,"children":3721},{"style":393},[3722],{"type":228,"value":351},{"type":223,"tag":369,"props":3724,"children":3725},{"style":693},[3726],{"type":228,"value":1916},{"type":223,"tag":369,"props":3728,"children":3729},{"style":393},[3730],{"type":228,"value":1122},{"type":223,"tag":369,"props":3732,"children":3734},{"class":371,"line":3733},40,[3735,3739,3743,3747,3751,3755,3759,3763,3767,3771,3775,3779],{"type":223,"tag":369,"props":3736,"children":3737},{"style":382},[3738],{"type":228,"value":1067},{"type":223,"tag":369,"props":3740,"children":3741},{"style":382},[3742],{"type":228,"value":1932},{"type":223,"tag":369,"props":3744,"children":3745},{"style":393},[3746],{"type":228,"value":573},{"type":223,"tag":369,"props":3748,"children":3749},{"style":393},[3750],{"type":228,"value":682},{"type":223,"tag":369,"props":3752,"children":3753},{"style":602},[3754],{"type":228,"value":1871},{"type":223,"tag":369,"props":3756,"children":3757},{"style":393},[3758],{"type":228,"value":351},{"type":223,"tag":369,"props":3760,"children":3761},{"style":693},[3762],{"type":228,"value":1953},{"type":223,"tag":369,"props":3764,"children":3765},{"style":393},[3766],{"type":228,"value":624},{"type":223,"tag":369,"props":3768,"children":3769},{"style":393},[3770],{"type":228,"value":629},{"type":223,"tag":369,"props":3772,"children":3773},{"style":632},[3774],{"type":228,"value":2441},{"type":223,"tag":369,"props":3776,"children":3777},{"style":393},[3778],{"type":228,"value":629},{"type":223,"tag":369,"props":3780,"children":3781},{"style":393},[3782],{"type":228,"value":506},{"type":223,"tag":369,"props":3784,"children":3786},{"class":371,"line":3785},41,[3787,3791,3795,3799,3803,3807,3811,3815,3819,3823,3827,3831,3835],{"type":223,"tag":369,"props":3788,"children":3789},{"style":382},[3790],{"type":228,"value":1067},{"type":223,"tag":369,"props":3792,"children":3793},{"style":382},[3794],{"type":228,"value":2461},{"type":223,"tag":369,"props":3796,"children":3797},{"style":393},[3798],{"type":228,"value":573},{"type":223,"tag":369,"props":3800,"children":3801},{"style":602},[3802],{"type":228,"value":1932},{"type":223,"tag":369,"props":3804,"children":3805},{"style":393},[3806],{"type":228,"value":351},{"type":223,"tag":369,"props":3808,"children":3809},{"style":693},[3810],{"type":228,"value":2035},{"type":223,"tag":369,"props":3812,"children":3813},{"style":393},[3814],{"type":228,"value":701},{"type":223,"tag":369,"props":3816,"children":3817},{"style":382},[3818],{"type":228,"value":2486},{"type":223,"tag":369,"props":3820,"children":3821},{"style":393},[3822],{"type":228,"value":2491},{"type":223,"tag":369,"props":3824,"children":3825},{"style":393},[3826],{"type":228,"value":2496},{"type":223,"tag":369,"props":3828,"children":3829},{"style":632},[3830],{"type":228,"value":2293},{"type":223,"tag":369,"props":3832,"children":3833},{"style":393},[3834],{"type":228,"value":2496},{"type":223,"tag":369,"props":3836,"children":3837},{"style":393},[3838],{"type":228,"value":506},{"type":223,"tag":369,"props":3840,"children":3842},{"class":371,"line":3841},42,[3843,3847,3851,3855,3859,3863],{"type":223,"tag":369,"props":3844,"children":3845},{"style":555},[3846],{"type":228,"value":2516},{"type":223,"tag":369,"props":3848,"children":3849},{"style":393},[3850],{"type":228,"value":2521},{"type":223,"tag":369,"props":3852,"children":3853},{"style":602},[3854],{"type":228,"value":2526},{"type":223,"tag":369,"props":3856,"children":3857},{"style":393},[3858],{"type":228,"value":1503},{"type":223,"tag":369,"props":3860,"children":3861},{"style":393},[3862],{"type":228,"value":2535},{"type":223,"tag":369,"props":3864,"children":3865},{"style":393},[3866],{"type":228,"value":2540},{"type":223,"tag":369,"props":3868,"children":3870},{"class":371,"line":3869},43,[3871],{"type":223,"tag":369,"props":3872,"children":3873},{"style":393},[3874],{"type":228,"value":2548},{"type":223,"tag":369,"props":3876,"children":3878},{"class":371,"line":3877},44,[3879,3883,3887,3891,3895,3899,3903,3907,3911,3915],{"type":223,"tag":369,"props":3880,"children":3881},{"style":382},[3882],{"type":228,"value":2556},{"type":223,"tag":369,"props":3884,"children":3885},{"style":382},[3886],{"type":228,"value":2561},{"type":223,"tag":369,"props":3888,"children":3889},{"style":393},[3890],{"type":228,"value":573},{"type":223,"tag":369,"props":3892,"children":3893},{"style":393},[3894],{"type":228,"value":682},{"type":223,"tag":369,"props":3896,"children":3897},{"style":602},[3898],{"type":228,"value":2461},{"type":223,"tag":369,"props":3900,"children":3901},{"style":393},[3902],{"type":228,"value":351},{"type":223,"tag":369,"props":3904,"children":3905},{"style":693},[3906],{"type":228,"value":2582},{"type":223,"tag":369,"props":3908,"children":3909},{"style":393},[3910],{"type":228,"value":624},{"type":223,"tag":369,"props":3912,"children":3913},{"style":602},[3914],{"type":228,"value":2591},{"type":223,"tag":369,"props":3916,"children":3917},{"style":393},[3918],{"type":228,"value":506},{"type":223,"tag":369,"props":3920,"children":3922},{"class":371,"line":3921},45,[3923],{"type":223,"tag":369,"props":3924,"children":3925},{"style":393},[3926],{"type":228,"value":2603},{"type":223,"tag":369,"props":3928,"children":3930},{"class":371,"line":3929},46,[3931],{"type":223,"tag":369,"props":3932,"children":3933},{"style":393},[3934],{"type":228,"value":1611},{"type":223,"tag":369,"props":3936,"children":3938},{"class":371,"line":3937},47,[3939],{"type":223,"tag":369,"props":3940,"children":3941},{"emptyLinePlaceholder":657},[3942],{"type":228,"value":660},{"type":223,"tag":369,"props":3944,"children":3946},{"class":371,"line":3945},48,[3947,3951,3955,3959,3963,3967],{"type":223,"tag":369,"props":3948,"children":3949},{"style":382},[3950],{"type":228,"value":1014},{"type":223,"tag":369,"props":3952,"children":3953},{"style":693},[3954],{"type":228,"value":1035},{"type":223,"tag":369,"props":3956,"children":3957},{"style":393},[3958],{"type":228,"value":624},{"type":223,"tag":369,"props":3960,"children":3961},{"style":382},[3962],{"type":228,"value":706},{"type":223,"tag":369,"props":3964,"children":3965},{"style":382},[3966],{"type":228,"value":1048},{"type":223,"tag":369,"props":3968,"children":3969},{"style":393},[3970],{"type":228,"value":643},{"type":223,"tag":369,"props":3972,"children":3974},{"class":371,"line":3973},49,[3975],{"type":223,"tag":369,"props":3976,"children":3977},{"style":393},[3978],{"type":228,"value":596},{"type":223,"tag":369,"props":3980,"children":3982},{"class":371,"line":3981},50,[3983,3987,3991,3995,3999,4003,4007,4011,4015,4019,4023,4027,4031],{"type":223,"tag":369,"props":3984,"children":3985},{"style":382},[3986],{"type":228,"value":1067},{"type":223,"tag":369,"props":3988,"children":3989},{"style":382},[3990],{"type":228,"value":1072},{"type":223,"tag":369,"props":3992,"children":3993},{"style":393},[3994],{"type":228,"value":573},{"type":223,"tag":369,"props":3996,"children":3997},{"style":602},[3998],{"type":228,"value":1081},{"type":223,"tag":369,"props":4000,"children":4001},{"style":393},[4002],{"type":228,"value":351},{"type":223,"tag":369,"props":4004,"children":4005},{"style":693},[4006],{"type":228,"value":1090},{"type":223,"tag":369,"props":4008,"children":4009},{"style":393},[4010],{"type":228,"value":624},{"type":223,"tag":369,"props":4012,"children":4013},{"style":602},[4014],{"type":228,"value":1099},{"type":223,"tag":369,"props":4016,"children":4017},{"style":393},[4018],{"type":228,"value":351},{"type":223,"tag":369,"props":4020,"children":4021},{"style":602},[4022],{"type":228,"value":1108},{"type":223,"tag":369,"props":4024,"children":4025},{"style":393},[4026],{"type":228,"value":351},{"type":223,"tag":369,"props":4028,"children":4029},{"style":693},[4030],{"type":228,"value":1117},{"type":223,"tag":369,"props":4032,"children":4033},{"style":393},[4034],{"type":228,"value":1122},{"type":223,"tag":369,"props":4036,"children":4038},{"class":371,"line":4037},51,[4039,4043,4047,4051,4055,4059,4063,4067,4071,4075,4079,4083,4087],{"type":223,"tag":369,"props":4040,"children":4041},{"style":382},[4042],{"type":228,"value":1067},{"type":223,"tag":369,"props":4044,"children":4045},{"style":382},[4046],{"type":228,"value":1134},{"type":223,"tag":369,"props":4048,"children":4049},{"style":393},[4050],{"type":228,"value":573},{"type":223,"tag":369,"props":4052,"children":4053},{"style":602},[4054],{"type":228,"value":1081},{"type":223,"tag":369,"props":4056,"children":4057},{"style":393},[4058],{"type":228,"value":351},{"type":223,"tag":369,"props":4060,"children":4061},{"style":693},[4062],{"type":228,"value":1090},{"type":223,"tag":369,"props":4064,"children":4065},{"style":393},[4066],{"type":228,"value":624},{"type":223,"tag":369,"props":4068,"children":4069},{"style":602},[4070],{"type":228,"value":1099},{"type":223,"tag":369,"props":4072,"children":4073},{"style":393},[4074],{"type":228,"value":351},{"type":223,"tag":369,"props":4076,"children":4077},{"style":602},[4078],{"type":228,"value":1108},{"type":223,"tag":369,"props":4080,"children":4081},{"style":393},[4082],{"type":228,"value":351},{"type":223,"tag":369,"props":4084,"children":4085},{"style":693},[4086],{"type":228,"value":1175},{"type":223,"tag":369,"props":4088,"children":4089},{"style":393},[4090],{"type":228,"value":1122},{"type":223,"tag":369,"props":4092,"children":4094},{"class":371,"line":4093},52,[4095,4099,4103,4107,4111,4115,4119,4123,4127,4131,4135,4139,4143,4147,4151,4155,4159,4163,4167,4171,4175,4179],{"type":223,"tag":369,"props":4096,"children":4097},{"style":382},[4098],{"type":228,"value":1067},{"type":223,"tag":369,"props":4100,"children":4101},{"style":382},[4102],{"type":228,"value":1191},{"type":223,"tag":369,"props":4104,"children":4105},{"style":393},[4106],{"type":228,"value":573},{"type":223,"tag":369,"props":4108,"children":4109},{"style":393},[4110],{"type":228,"value":1200},{"type":223,"tag":369,"props":4112,"children":4113},{"style":693},[4114],{"type":228,"value":1205},{"type":223,"tag":369,"props":4116,"children":4117},{"style":393},[4118],{"type":228,"value":624},{"type":223,"tag":369,"props":4120,"children":4121},{"style":602},[4122],{"type":228,"value":1099},{"type":223,"tag":369,"props":4124,"children":4125},{"style":393},[4126],{"type":228,"value":351},{"type":223,"tag":369,"props":4128,"children":4129},{"style":602},[4130],{"type":228,"value":1222},{"type":223,"tag":369,"props":4132,"children":4133},{"style":393},[4134],{"type":228,"value":351},{"type":223,"tag":369,"props":4136,"children":4137},{"style":693},[4138],{"type":228,"value":1231},{"type":223,"tag":369,"props":4140,"children":4141},{"style":393},[4142],{"type":228,"value":624},{"type":223,"tag":369,"props":4144,"children":4145},{"style":393},[4146],{"type":228,"value":629},{"type":223,"tag":369,"props":4148,"children":4149},{"style":393},[4150],{"type":228,"value":1244},{"type":223,"tag":369,"props":4152,"children":4153},{"style":393},[4154],{"type":228,"value":1249},{"type":223,"tag":369,"props":4156,"children":4157},{"style":693},[4158],{"type":228,"value":1254},{"type":223,"tag":369,"props":4160,"children":4161},{"style":393},[4162],{"type":228,"value":1259},{"type":223,"tag":369,"props":4164,"children":4165},{"style":376},[4166],{"type":228,"value":1264},{"type":223,"tag":369,"props":4168,"children":4169},{"style":382},[4170],{"type":228,"value":563},{"type":223,"tag":369,"props":4172,"children":4173},{"style":382},[4174],{"type":228,"value":1273},{"type":223,"tag":369,"props":4176,"children":4177},{"style":393},[4178],{"type":228,"value":1278},{"type":223,"tag":369,"props":4180,"children":4181},{"style":602},[4182],{"type":228,"value":1283},{"type":223,"tag":369,"props":4184,"children":4186},{"class":371,"line":4185},53,[4187,4191,4195,4199,4203,4207,4211],{"type":223,"tag":369,"props":4188,"children":4189},{"style":393},[4190],{"type":228,"value":1291},{"type":223,"tag":369,"props":4192,"children":4193},{"style":602},[4194],{"type":228,"value":1296},{"type":223,"tag":369,"props":4196,"children":4197},{"style":393},[4198],{"type":228,"value":1301},{"type":223,"tag":369,"props":4200,"children":4201},{"style":602},[4202],{"type":228,"value":1072},{"type":223,"tag":369,"props":4204,"children":4205},{"style":393},[4206],{"type":228,"value":351},{"type":223,"tag":369,"props":4208,"children":4209},{"style":602},[4210],{"type":228,"value":1314},{"type":223,"tag":369,"props":4212,"children":4213},{"style":393},[4214],{"type":228,"value":1319},{"type":223,"tag":369,"props":4216,"children":4218},{"class":371,"line":4217},54,[4219,4223,4227,4231],{"type":223,"tag":369,"props":4220,"children":4221},{"style":555},[4222],{"type":228,"value":1327},{"type":223,"tag":369,"props":4224,"children":4225},{"style":393},[4226],{"type":228,"value":578},{"type":223,"tag":369,"props":4228,"children":4229},{"style":382},[4230],{"type":228,"value":778},{"type":223,"tag":369,"props":4232,"children":4233},{"style":393},[4234],{"type":228,"value":396},{"type":223,"tag":369,"props":4236,"children":4238},{"class":371,"line":4237},55,[4239,4243,4247,4251,4255,4259,4263,4267,4271,4275,4279,4283,4287,4291,4295,4299,4303],{"type":223,"tag":369,"props":4240,"children":4241},{"style":602},[4242],{"type":228,"value":1347},{"type":223,"tag":369,"props":4244,"children":4245},{"style":393},[4246],{"type":228,"value":944},{"type":223,"tag":369,"props":4248,"children":4249},{"style":602},[4250],{"type":228,"value":1048},{"type":223,"tag":369,"props":4252,"children":4253},{"style":393},[4254],{"type":228,"value":351},{"type":223,"tag":369,"props":4256,"children":4257},{"style":602},[4258],{"type":228,"value":1364},{"type":223,"tag":369,"props":4260,"children":4261},{"style":393},[4262],{"type":228,"value":1016},{"type":223,"tag":369,"props":4264,"children":4265},{"style":393},[4266],{"type":228,"value":1373},{"type":223,"tag":369,"props":4268,"children":4269},{"style":602},[4270],{"type":228,"value":1099},{"type":223,"tag":369,"props":4272,"children":4273},{"style":393},[4274],{"type":228,"value":351},{"type":223,"tag":369,"props":4276,"children":4277},{"style":602},[4278],{"type":228,"value":1222},{"type":223,"tag":369,"props":4280,"children":4281},{"style":393},[4282],{"type":228,"value":1390},{"type":223,"tag":369,"props":4284,"children":4285},{"style":393},[4286],{"type":228,"value":954},{"type":223,"tag":369,"props":4288,"children":4289},{"style":602},[4290],{"type":228,"value":1399},{"type":223,"tag":369,"props":4292,"children":4293},{"style":393},[4294],{"type":228,"value":351},{"type":223,"tag":369,"props":4296,"children":4297},{"style":602},[4298],{"type":228,"value":1314},{"type":223,"tag":369,"props":4300,"children":4301},{"style":393},[4302],{"type":228,"value":1412},{"type":223,"tag":369,"props":4304,"children":4305},{"style":393},[4306],{"type":228,"value":415},{"type":223,"tag":369,"props":4308,"children":4310},{"class":371,"line":4309},56,[4311,4315,4319,4323],{"type":223,"tag":369,"props":4312,"children":4313},{"style":602},[4314],{"type":228,"value":1424},{"type":223,"tag":369,"props":4316,"children":4317},{"style":393},[4318],{"type":228,"value":351},{"type":223,"tag":369,"props":4320,"children":4321},{"style":602},[4322],{"type":228,"value":1433},{"type":223,"tag":369,"props":4324,"children":4325},{"style":393},[4326],{"type":228,"value":415},{"type":223,"tag":369,"props":4328,"children":4330},{"class":371,"line":4329},57,[4331,4335],{"type":223,"tag":369,"props":4332,"children":4333},{"style":602},[4334],{"type":228,"value":1445},{"type":223,"tag":369,"props":4336,"children":4337},{"style":393},[4338],{"type":228,"value":415},{"type":223,"tag":369,"props":4340,"children":4342},{"class":371,"line":4341},58,[4343,4347],{"type":223,"tag":369,"props":4344,"children":4345},{"style":602},[4346],{"type":228,"value":1457},{"type":223,"tag":369,"props":4348,"children":4349},{"style":393},[4350],{"type":228,"value":415},{"type":223,"tag":369,"props":4352,"children":4354},{"class":371,"line":4353},59,[4355,4359,4363,4367],{"type":223,"tag":369,"props":4356,"children":4357},{"style":602},[4358],{"type":228,"value":1469},{"type":223,"tag":369,"props":4360,"children":4361},{"style":393},[4362],{"type":228,"value":351},{"type":223,"tag":369,"props":4364,"children":4365},{"style":602},[4366],{"type":228,"value":1478},{"type":223,"tag":369,"props":4368,"children":4369},{"style":393},[4370],{"type":228,"value":415},{"type":223,"tag":369,"props":4372,"children":4374},{"class":371,"line":4373},60,[4375,4379,4383,4387,4391,4395,4399,4403,4407,4411,4415,4419,4423,4427,4431,4435],{"type":223,"tag":369,"props":4376,"children":4377},{"style":602},[4378],{"type":228,"value":1424},{"type":223,"tag":369,"props":4380,"children":4381},{"style":393},[4382],{"type":228,"value":351},{"type":223,"tag":369,"props":4384,"children":4385},{"style":602},[4386],{"type":228,"value":1498},{"type":223,"tag":369,"props":4388,"children":4389},{"style":393},[4390],{"type":228,"value":1503},{"type":223,"tag":369,"props":4392,"children":4393},{"style":393},[4394],{"type":228,"value":1244},{"type":223,"tag":369,"props":4396,"children":4397},{"style":632},[4398],{"type":228,"value":1512},{"type":223,"tag":369,"props":4400,"children":4401},{"style":393},[4402],{"type":228,"value":629},{"type":223,"tag":369,"props":4404,"children":4405},{"style":393},[4406],{"type":228,"value":1521},{"type":223,"tag":369,"props":4408,"children":4409},{"style":602},[4410],{"type":228,"value":876},{"type":223,"tag":369,"props":4412,"children":4413},{"style":393},[4414],{"type":228,"value":351},{"type":223,"tag":369,"props":4416,"children":4417},{"style":602},[4418],{"type":228,"value":1534},{"type":223,"tag":369,"props":4420,"children":4421},{"style":393},[4422],{"type":228,"value":1016},{"type":223,"tag":369,"props":4424,"children":4425},{"style":602},[4426],{"type":228,"value":876},{"type":223,"tag":369,"props":4428,"children":4429},{"style":393},[4430],{"type":228,"value":351},{"type":223,"tag":369,"props":4432,"children":4433},{"style":602},[4434],{"type":228,"value":1551},{"type":223,"tag":369,"props":4436,"children":4437},{"style":393},[4438],{"type":228,"value":415},{"type":223,"tag":369,"props":4440,"children":4442},{"class":371,"line":4441},61,[4443,4447,4451,4455],{"type":223,"tag":369,"props":4444,"children":4445},{"style":602},[4446],{"type":228,"value":1424},{"type":223,"tag":369,"props":4448,"children":4449},{"style":393},[4450],{"type":228,"value":351},{"type":223,"tag":369,"props":4452,"children":4453},{"style":602},[4454],{"type":228,"value":1572},{"type":223,"tag":369,"props":4456,"children":4457},{"style":393},[4458],{"type":228,"value":415},{"type":223,"tag":369,"props":4460,"children":4462},{"class":371,"line":4461},62,[4463,4467,4471],{"type":223,"tag":369,"props":4464,"children":4465},{"style":602},[4466],{"type":228,"value":1424},{"type":223,"tag":369,"props":4468,"children":4469},{"style":393},[4470],{"type":228,"value":351},{"type":223,"tag":369,"props":4472,"children":4473},{"style":602},[4474],{"type":228,"value":1593},{"type":223,"tag":369,"props":4476,"children":4478},{"class":371,"line":4477},63,[4479],{"type":223,"tag":369,"props":4480,"children":4481},{"style":393},[4482],{"type":228,"value":1602},{"type":223,"tag":369,"props":4484,"children":4486},{"class":371,"line":4485},64,[4487],{"type":223,"tag":369,"props":4488,"children":4489},{"style":393},[4490],{"type":228,"value":1611},{"type":223,"tag":369,"props":4492,"children":4494},{"class":371,"line":4493},65,[4495],{"type":223,"tag":369,"props":4496,"children":4497},{"emptyLinePlaceholder":657},[4498],{"type":228,"value":660},{"type":223,"tag":369,"props":4500,"children":4502},{"class":371,"line":4501},66,[4503,4507,4511,4515],{"type":223,"tag":369,"props":4504,"children":4505},{"style":376},[4506],{"type":228,"value":379},{"type":223,"tag":369,"props":4508,"children":4509},{"style":382},[4510],{"type":228,"value":385},{"type":223,"tag":369,"props":4512,"children":4513},{"style":382},[4514],{"type":228,"value":390},{"type":223,"tag":369,"props":4516,"children":4517},{"style":393},[4518],{"type":228,"value":396},{"type":223,"tag":369,"props":4520,"children":4522},{"class":371,"line":4521},67,[4523,4527,4531],{"type":223,"tag":369,"props":4524,"children":4525},{"style":393},[4526],{"type":228,"value":405},{"type":223,"tag":369,"props":4528,"children":4529},{"style":382},[4530],{"type":228,"value":410},{"type":223,"tag":369,"props":4532,"children":4533},{"style":393},[4534],{"type":228,"value":415},{"type":223,"tag":369,"props":4536,"children":4538},{"class":371,"line":4537},68,[4539,4543,4547],{"type":223,"tag":369,"props":4540,"children":4541},{"style":393},[4542],{"type":228,"value":424},{"type":223,"tag":369,"props":4544,"children":4545},{"style":382},[4546],{"type":228,"value":429},{"type":223,"tag":369,"props":4548,"children":4549},{"style":393},[4550],{"type":228,"value":415},{"type":223,"tag":369,"props":4552,"children":4554},{"class":371,"line":4553},69,[4555,4559,4563],{"type":223,"tag":369,"props":4556,"children":4557},{"style":393},[4558],{"type":228,"value":405},{"type":223,"tag":369,"props":4560,"children":4561},{"style":382},[4562],{"type":228,"value":446},{"type":223,"tag":369,"props":4564,"children":4565},{"style":393},[4566],{"type":228,"value":415},{"type":223,"tag":369,"props":4568,"children":4570},{"class":371,"line":4569},70,[4571,4575,4579],{"type":223,"tag":369,"props":4572,"children":4573},{"style":393},[4574],{"type":228,"value":405},{"type":223,"tag":369,"props":4576,"children":4577},{"style":382},[4578],{"type":228,"value":463},{"type":223,"tag":369,"props":4580,"children":4581},{"style":393},[4582],{"type":228,"value":415},{"type":223,"tag":369,"props":4584,"children":4586},{"class":371,"line":4585},71,[4587,4591,4595],{"type":223,"tag":369,"props":4588,"children":4589},{"style":393},[4590],{"type":228,"value":405},{"type":223,"tag":369,"props":4592,"children":4593},{"style":382},[4594],{"type":228,"value":480},{"type":223,"tag":369,"props":4596,"children":4597},{"style":393},[4598],{"type":228,"value":415},{"type":223,"tag":369,"props":4600,"children":4602},{"class":371,"line":4601},72,[4603,4607],{"type":223,"tag":369,"props":4604,"children":4605},{"style":393},[4606],{"type":228,"value":405},{"type":223,"tag":369,"props":4608,"children":4609},{"style":382},[4610],{"type":228,"value":497},{"type":223,"tag":369,"props":4612,"children":4614},{"class":371,"line":4613},73,[4615],{"type":223,"tag":369,"props":4616,"children":4617},{"style":393},[4618],{"type":228,"value":506},{"type":223,"tag":369,"props":4620,"children":4622},{"class":371,"line":4621},74,[4623],{"type":223,"tag":369,"props":4624,"children":4625},{"emptyLinePlaceholder":657},[4626],{"type":228,"value":660},{"type":223,"tag":369,"props":4628,"children":4630},{"class":371,"line":4629},75,[4631,4635,4639,4643],{"type":223,"tag":369,"props":4632,"children":4633},{"style":376},[4634],{"type":228,"value":379},{"type":223,"tag":369,"props":4636,"children":4637},{"style":382},[4638],{"type":228,"value":385},{"type":223,"tag":369,"props":4640,"children":4641},{"style":382},[4642],{"type":228,"value":778},{"type":223,"tag":369,"props":4644,"children":4645},{"style":393},[4646],{"type":228,"value":396},{"type":223,"tag":369,"props":4648,"children":4650},{"class":371,"line":4649},76,[4651,4655,4659],{"type":223,"tag":369,"props":4652,"children":4653},{"style":393},[4654],{"type":228,"value":405},{"type":223,"tag":369,"props":4656,"children":4657},{"style":382},[4658],{"type":228,"value":410},{"type":223,"tag":369,"props":4660,"children":4661},{"style":393},[4662],{"type":228,"value":415},{"type":223,"tag":369,"props":4664,"children":4666},{"class":371,"line":4665},77,[4667,4671,4675],{"type":223,"tag":369,"props":4668,"children":4669},{"style":393},[4670],{"type":228,"value":405},{"type":223,"tag":369,"props":4672,"children":4673},{"style":382},[4674],{"type":228,"value":809},{"type":223,"tag":369,"props":4676,"children":4677},{"style":393},[4678],{"type":228,"value":415},{"type":223,"tag":369,"props":4680,"children":4682},{"class":371,"line":4681},78,[4683,4687,4691],{"type":223,"tag":369,"props":4684,"children":4685},{"style":382},[4686],{"type":228,"value":821},{"type":223,"tag":369,"props":4688,"children":4689},{"style":382},[4690],{"type":228,"value":826},{"type":223,"tag":369,"props":4692,"children":4693},{"style":393},[4694],{"type":228,"value":415},{"type":223,"tag":369,"props":4696,"children":4698},{"class":371,"line":4697},79,[4699,4703,4707],{"type":223,"tag":369,"props":4700,"children":4701},{"style":382},[4702],{"type":228,"value":821},{"type":223,"tag":369,"props":4704,"children":4705},{"style":382},[4706],{"type":228,"value":842},{"type":223,"tag":369,"props":4708,"children":4709},{"style":393},[4710],{"type":228,"value":415},{"type":223,"tag":369,"props":4712,"children":4714},{"class":371,"line":4713},80,[4715,4719,4723],{"type":223,"tag":369,"props":4716,"children":4717},{"style":382},[4718],{"type":228,"value":854},{"type":223,"tag":369,"props":4720,"children":4721},{"style":382},[4722],{"type":228,"value":859},{"type":223,"tag":369,"props":4724,"children":4725},{"style":393},[4726],{"type":228,"value":415},{"type":223,"tag":369,"props":4728,"children":4730},{"class":371,"line":4729},81,[4731,4735,4739],{"type":223,"tag":369,"props":4732,"children":4733},{"style":382},[4734],{"type":228,"value":871},{"type":223,"tag":369,"props":4736,"children":4737},{"style":382},[4738],{"type":228,"value":876},{"type":223,"tag":369,"props":4740,"children":4741},{"style":393},[4742],{"type":228,"value":415},{"type":223,"tag":369,"props":4744,"children":4746},{"class":371,"line":4745},82,[4747,4751,4755],{"type":223,"tag":369,"props":4748,"children":4749},{"style":393},[4750],{"type":228,"value":405},{"type":223,"tag":369,"props":4752,"children":4753},{"style":382},[4754],{"type":228,"value":892},{"type":223,"tag":369,"props":4756,"children":4757},{"style":393},[4758],{"type":228,"value":415},{"type":223,"tag":369,"props":4760,"children":4762},{"class":371,"line":4761},83,[4763,4767],{"type":223,"tag":369,"props":4764,"children":4765},{"style":393},[4766],{"type":228,"value":405},{"type":223,"tag":369,"props":4768,"children":4769},{"style":382},[4770],{"type":228,"value":909},{"type":223,"tag":369,"props":4772,"children":4774},{"class":371,"line":4773},84,[4775],{"type":223,"tag":369,"props":4776,"children":4777},{"style":393},[4778],{"type":228,"value":643},{"type":223,"tag":369,"props":4780,"children":4782},{"class":371,"line":4781},85,[4783],{"type":223,"tag":369,"props":4784,"children":4785},{"style":393},[4786],{"type":228,"value":596},{"type":223,"tag":369,"props":4788,"children":4790},{"class":371,"line":4789},86,[4791,4795,4799,4803,4807,4811,4815,4819,4823,4827],{"type":223,"tag":369,"props":4792,"children":4793},{"style":376},[4794],{"type":228,"value":934},{"type":223,"tag":369,"props":4796,"children":4797},{"style":393},[4798],{"type":228,"value":939},{"type":223,"tag":369,"props":4800,"children":4801},{"style":393},[4802],{"type":228,"value":944},{"type":223,"tag":369,"props":4804,"children":4805},{"style":382},[4806],{"type":228,"value":949},{"type":223,"tag":369,"props":4808,"children":4809},{"style":393},[4810],{"type":228,"value":954},{"type":223,"tag":369,"props":4812,"children":4813},{"style":382},[4814],{"type":228,"value":959},{"type":223,"tag":369,"props":4816,"children":4817},{"style":393},[4818],{"type":228,"value":964},{"type":223,"tag":369,"props":4820,"children":4821},{"style":382},[4822],{"type":228,"value":969},{"type":223,"tag":369,"props":4824,"children":4825},{"style":393},[4826],{"type":228,"value":964},{"type":223,"tag":369,"props":4828,"children":4829},{"style":393},[4830],{"type":228,"value":978},{"type":223,"tag":369,"props":4832,"children":4834},{"class":371,"line":4833},87,[4835],{"type":223,"tag":369,"props":4836,"children":4837},{"style":393},[4838],{"type":228,"value":651},{"type":223,"tag":369,"props":4840,"children":4842},{"class":371,"line":4841},88,[4843],{"type":223,"tag":369,"props":4844,"children":4845},{"emptyLinePlaceholder":657},[4846],{"type":228,"value":660},{"type":223,"tag":369,"props":4848,"children":4850},{"class":371,"line":4849},89,[4851,4855,4860],{"type":223,"tag":369,"props":4852,"children":4853},{"style":376},[4854],{"type":228,"value":379},{"type":223,"tag":369,"props":4856,"children":4857},{"style":382},[4858],{"type":228,"value":4859}," enum",{"type":223,"tag":369,"props":4861,"children":4862},{"style":382},[4863],{"type":228,"value":4864}," EventFormat\n",{"type":223,"tag":369,"props":4866,"children":4868},{"class":371,"line":4867},90,[4869],{"type":223,"tag":369,"props":4870,"children":4871},{"style":393},[4872],{"type":228,"value":596},{"type":223,"tag":369,"props":4874,"children":4876},{"class":371,"line":4875},91,[4877,4882,4886,4891],{"type":223,"tag":369,"props":4878,"children":4879},{"style":382},[4880],{"type":228,"value":4881},"    Unknown",{"type":223,"tag":369,"props":4883,"children":4884},{"style":393},[4885],{"type":228,"value":573},{"type":223,"tag":369,"props":4887,"children":4888},{"style":2657},[4889],{"type":228,"value":4890}," 1",{"type":223,"tag":369,"props":4892,"children":4893},{"style":393},[4894],{"type":228,"value":415},{"type":223,"tag":369,"props":4896,"children":4898},{"class":371,"line":4897},92,[4899,4904,4908,4913],{"type":223,"tag":369,"props":4900,"children":4901},{"style":382},[4902],{"type":228,"value":4903},"    Virtual",{"type":223,"tag":369,"props":4905,"children":4906},{"style":393},[4907],{"type":228,"value":573},{"type":223,"tag":369,"props":4909,"children":4910},{"style":2657},[4911],{"type":228,"value":4912}," 2",{"type":223,"tag":369,"props":4914,"children":4915},{"style":393},[4916],{"type":228,"value":415},{"type":223,"tag":369,"props":4918,"children":4920},{"class":371,"line":4919},93,[4921,4926,4930,4935],{"type":223,"tag":369,"props":4922,"children":4923},{"style":382},[4924],{"type":228,"value":4925},"    In_Person",{"type":223,"tag":369,"props":4927,"children":4928},{"style":393},[4929],{"type":228,"value":573},{"type":223,"tag":369,"props":4931,"children":4932},{"style":2657},[4933],{"type":228,"value":4934}," 3",{"type":223,"tag":369,"props":4936,"children":4937},{"style":393},[4938],{"type":228,"value":415},{"type":223,"tag":369,"props":4940,"children":4942},{"class":371,"line":4941},94,[4943,4948,4952],{"type":223,"tag":369,"props":4944,"children":4945},{"style":382},[4946],{"type":228,"value":4947},"    Hybrid",{"type":223,"tag":369,"props":4949,"children":4950},{"style":393},[4951],{"type":228,"value":573},{"type":223,"tag":369,"props":4953,"children":4954},{"style":2657},[4955],{"type":228,"value":4956}," 4\n",{"type":223,"tag":369,"props":4958,"children":4960},{"class":371,"line":4959},95,[4961],{"type":223,"tag":369,"props":4962,"children":4963},{"style":393},[4964],{"type":228,"value":1611},{"type":223,"tag":369,"props":4966,"children":4968},{"class":371,"line":4967},96,[4969],{"type":223,"tag":369,"props":4970,"children":4971},{"emptyLinePlaceholder":657},[4972],{"type":228,"value":660},{"type":223,"tag":369,"props":4974,"children":4976},{"class":371,"line":4975},97,[4977,4981,4985],{"type":223,"tag":369,"props":4978,"children":4979},{"style":376},[4980],{"type":228,"value":379},{"type":223,"tag":369,"props":4982,"children":4983},{"style":382},[4984],{"type":228,"value":4859},{"type":223,"tag":369,"props":4986,"children":4987},{"style":382},[4988],{"type":228,"value":4989}," EventType\n",{"type":223,"tag":369,"props":4991,"children":4993},{"class":371,"line":4992},98,[4994],{"type":223,"tag":369,"props":4995,"children":4996},{"style":393},[4997],{"type":228,"value":596},{"type":223,"tag":369,"props":4999,"children":5001},{"class":371,"line":5000},99,[5002,5007,5011,5016],{"type":223,"tag":369,"props":5003,"children":5004},{"style":382},[5005],{"type":228,"value":5006},"    Any",{"type":223,"tag":369,"props":5008,"children":5009},{"style":393},[5010],{"type":228,"value":573},{"type":223,"tag":369,"props":5012,"children":5013},{"style":2657},[5014],{"type":228,"value":5015}," 0",{"type":223,"tag":369,"props":5017,"children":5018},{"style":393},[5019],{"type":228,"value":415},{"type":223,"tag":369,"props":5021,"children":5023},{"class":371,"line":5022},100,[5024,5028,5032,5036],{"type":223,"tag":369,"props":5025,"children":5026},{"style":382},[5027],{"type":228,"value":4881},{"type":223,"tag":369,"props":5029,"children":5030},{"style":393},[5031],{"type":228,"value":573},{"type":223,"tag":369,"props":5033,"children":5034},{"style":2657},[5035],{"type":228,"value":4890},{"type":223,"tag":369,"props":5037,"children":5038},{"style":393},[5039],{"type":228,"value":415},{"type":223,"tag":369,"props":5041,"children":5043},{"class":371,"line":5042},101,[5044,5049,5053,5057],{"type":223,"tag":369,"props":5045,"children":5046},{"style":382},[5047],{"type":228,"value":5048},"    Conference",{"type":223,"tag":369,"props":5050,"children":5051},{"style":393},[5052],{"type":228,"value":573},{"type":223,"tag":369,"props":5054,"children":5055},{"style":2657},[5056],{"type":228,"value":4912},{"type":223,"tag":369,"props":5058,"children":5059},{"style":393},[5060],{"type":228,"value":415},{"type":223,"tag":369,"props":5062,"children":5064},{"class":371,"line":5063},102,[5065,5070,5074,5078],{"type":223,"tag":369,"props":5066,"children":5067},{"style":382},[5068],{"type":228,"value":5069},"    Meetup",{"type":223,"tag":369,"props":5071,"children":5072},{"style":393},[5073],{"type":228,"value":573},{"type":223,"tag":369,"props":5075,"children":5076},{"style":2657},[5077],{"type":228,"value":4934},{"type":223,"tag":369,"props":5079,"children":5080},{"style":393},[5081],{"type":228,"value":415},{"type":223,"tag":369,"props":5083,"children":5085},{"class":371,"line":5084},103,[5086,5091,5095,5100],{"type":223,"tag":369,"props":5087,"children":5088},{"style":382},[5089],{"type":228,"value":5090},"    Hackathon",{"type":223,"tag":369,"props":5092,"children":5093},{"style":393},[5094],{"type":228,"value":573},{"type":223,"tag":369,"props":5096,"children":5097},{"style":2657},[5098],{"type":228,"value":5099}," 4",{"type":223,"tag":369,"props":5101,"children":5102},{"style":393},[5103],{"type":228,"value":415},{"type":223,"tag":369,"props":5105,"children":5107},{"class":371,"line":5106},104,[5108,5113,5117,5122],{"type":223,"tag":369,"props":5109,"children":5110},{"style":382},[5111],{"type":228,"value":5112},"    Call_For_Papers",{"type":223,"tag":369,"props":5114,"children":5115},{"style":393},[5116],{"type":228,"value":573},{"type":223,"tag":369,"props":5118,"children":5119},{"style":2657},[5120],{"type":228,"value":5121}," 5",{"type":223,"tag":369,"props":5123,"children":5124},{"style":393},[5125],{"type":228,"value":415},{"type":223,"tag":369,"props":5127,"children":5129},{"class":371,"line":5128},105,[5130,5135,5139,5144],{"type":223,"tag":369,"props":5131,"children":5132},{"style":382},[5133],{"type":228,"value":5134},"    Website",{"type":223,"tag":369,"props":5136,"children":5137},{"style":393},[5138],{"type":228,"value":573},{"type":223,"tag":369,"props":5140,"children":5141},{"style":2657},[5142],{"type":228,"value":5143}," 6",{"type":223,"tag":369,"props":5145,"children":5146},{"style":393},[5147],{"type":228,"value":415},{"type":223,"tag":369,"props":5149,"children":5151},{"class":371,"line":5150},106,[5152],{"type":223,"tag":369,"props":5153,"children":5154},{"style":393},[5155],{"type":228,"value":1611},{"type":223,"tag":224,"props":5157,"children":5158},{},[5159],{"type":228,"value":5160},"Keep it mind that it's a quick experiment to automate the submission of developer conferences to the Tech Community Calendar, not production-ready code.",{"type":223,"tag":230,"props":5162,"children":5164},{"id":5163},"final-thoughts",[5165],{"type":228,"value":5166},"Final Thoughts",{"type":223,"tag":224,"props":5168,"children":5169},{},[5170],{"type":228,"value":5171},"I think this PoC is a good starting point to create a scheduled process that automatically submit the events from the developers conferences agenda to the tech community calendar.",{"type":223,"tag":988,"props":5173,"children":5175},{"icon":5174},"i-heroicons-light-bulb",[5176],{"type":223,"tag":224,"props":5177,"children":5178},{},[5179],{"type":228,"value":5180},"Of course it would be great to do the opposite as well (automatically import events from the tech community calendar to the developers conferences agenda) but it seems complicated as events in the tech community calendar are stored in a database I don't have access to and it would involved parsing and writing in the README file of the developers conferences agenda repository.",{"type":223,"tag":224,"props":5182,"children":5183},{},[5184],{"type":228,"value":5185},"Some ideas for improvement:",{"type":223,"tag":5187,"props":5188,"children":5189},"ul",{},[5190,5196,5201],{"type":223,"tag":5191,"props":5192,"children":5193},"li",{},[5194],{"type":228,"value":5195},"store somewhere the events already submitted to only process new events on each run",{"type":223,"tag":5191,"props":5197,"children":5198},{},[5199],{"type":228,"value":5200},"parallelize the processing of events as retrieving the twitter URL of submitting an event can take some time",{"type":223,"tag":5191,"props":5202,"children":5203},{},[5204],{"type":228,"value":5205},"reorganize the code",{"type":223,"tag":224,"props":5207,"children":5208},{},[5209],{"type":228,"value":5210},"It was the first time I used AngleSharp, and I was happy with the result. It's a nice library that I would use again for similar needs.",{"type":223,"tag":224,"props":5212,"children":5213},{},[5214],{"type":228,"value":5215},"A big thank you to the contributors of these IT event calendars. As someone who tries to attend tech events and speak at developer conferences, I find them incredibly useful. A special shoutout to Aurélie Vache and her developer conferences agenda for making this data openly available (JSON files with CFPs and conferences publicly accessible).",{"type":223,"tag":5217,"props":5218,"children":5219},"style",{},[5220],{"type":228,"value":5221},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":207,"searchDepth":399,"depth":399,"links":5223},[5224,5225,5226,5227,5228,5229,5230,5231],{"id":232,"depth":399,"text":235},{"id":282,"depth":399,"text":285},{"id":334,"depth":399,"text":337},{"id":731,"depth":399,"text":734},{"id":1775,"depth":399,"text":1778},{"id":2279,"depth":399,"text":2282},{"id":2628,"depth":399,"text":2631},{"id":5163,"depth":399,"text":5166},"markdown","content:1.posts:60.it-event-calendars.md","content","1.posts/60.it-event-calendars.md","md",[5238,5254],{"_path":190,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":189,"description":5239,"lead":5240,"date":5241,"image":5242,"badge":5244,"tags":5246,"ImageAttribution":5251,"_type":5232,"_id":5252,"_source":5234,"_file":5253,"_extension":5236},"I have written several blog posts about HTTP clients in the past. I am a big fan of using HTTP text files versioned in a git repository alongside API code and executed by an IDE tooling. However, there was one use case where a GUI tool like Postman or a swagger page was more convenient: retrieving OAuth 2.0 users' tokens. Thanks to the latest OAuth 2.0 feature in JetBrains' IDE built-in HTTP client, this is no longer an issue.","Automatically acquire OAuth 2.0 tokens","2024-03-11T00:00:00.000Z",{"src":5243},"/images/access-code-door.webp",{"label":5245},"Tooling",[5247,5248,5249,5250],"tooling","HTTP","OAuth2","Azure AD B2C","Picture of \u003Ca href=\"https://unsplash.com/fr/@drice22\">Danielle Rice\u003C/a> on \u003Ca href=\"https://unsplash.com/fr/photos/personne-detenant-une-carte-en-noir-et-blanc-7GfRwb78YWs\">Unsplash\u003C/a>","content:1.posts:61.http-clients-oauth2.md","1.posts/61.http-clients-oauth2.md",{"_path":184,"_dir":205,"_draft":206,"_partial":206,"_locale":207,"title":183,"description":5255,"lead":5256,"date":5257,"image":5258,"badge":5260,"tags":5261,"ImageAttribution":5264,"_type":5232,"_id":5265,"_source":5234,"_file":5266,"_extension":5236},"I love how the Azure SDKs have evolved over the years. In the past, there was no consistency between the various Azure SDKs. However, that's not longer the case (at least for most Azure libraries), as they now adhere to the same principles and follow a set of well-defined guidelines.","Register your Azure clients the proper way","2024-02-19T00:00:00.000Z",{"src":5259},"/images/apple-di.webp",{"label":214},[5262,5263,216],"Azure","Azure SDK","Picture of \u003Ca href=\"https://unsplash.com/fr/@sarabakhshi\">Sara Bakhshi\u003C/a> on \u003Ca href=\"https://unsplash.com/fr/photos/pomme-fruit-avec-des-seringues-en-plastique-MfnX4XtGnvU\">Unsplash\u003C/a>","content:1.posts:59.azure-sdk-di.md","1.posts/59.azure-sdk-di.md",1716749601474]