{
  "bryanwong.dev": {
    "/posts/savings-account-malaysia/": {
      "date": "2026-02-14T06:46:45Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "66.33.60.130",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "JOAZEDKDBQYZQKRXRD34UPAFJ7TTLKWU",
      "httpHeaderTechnologies": [
        "HSTS",
        "Vercel"
      ],
      "httpHeaderUrls": [
        "iad1::mtr2f-1771051605187-c709837f48ff"
      ],
      "httpHeaderByteSize": 641,
      "httpBodyHash": "MWSUZD7375EJSLO52NQQOSM2KNIAKMC3",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "/",
        "/pages/about/",
        "#types-of-savings-account",
        "/icons/safari-pinned-tab.svg",
        "http://databank.worldbank.org/data/Population-With-Acc-in-Fin-Institution/id/2a961711",
        "/index.xml",
        "/favicon.ico",
        "https://stackoverflow.com/users/2605609/bryan-wong",
        "/style.min.2d921c18cf1ec555ffc03d59a8adc211c402c68c930c27d6a0c306ab175a8d09.css",
        "https://github.com/hugo-sid/hugo-blog-awesome",
        "/pages/books/",
        "https://disqus.com",
        "http://localhost:1313/",
        "http://localhost:1313/posts/savings-account-malaysia/",
        "/posts/",
        "#background",
        "https://news.ycombinator.com/user?id=bryanwbh",
        "/livereload.js?mindelay=10\u0026v=2\u0026port=1313\u0026path=livereload",
        "http://www.bnm.gov.my/index.php?ch=en_press\u0026pg=en_press\u0026ac=950\u0026lang=en",
        "/icons/favicon.svg",
        "/icons/favicon-32x32.png",
        "https://x.com/bryanwongbh",
        "https://www.linkedin.com/in/bryanwongbh",
        "/js/theme.js",
        "#regular-savings-account",
        "/icons/favicon-16x16.png",
        "http://localhost:1313/js/main.js",
        "https://www.github.com/bryanwongbh",
        "http://localhost:1313/site.webmanifest",
        "http://bankinginfo.com.my/Banking%20Info%20-%20Savings%20Account.html",
        "/code-highlight.min.706d31975fec544a864cb7f0d847a73ea55ca1df91bf495fd12a177138d807cf.css",
        "#",
        "#basic-savings-account",
        "/icons/apple-touch-icon.png",
        "mailto:bryanwongbh@gmail.com",
        "https://i.imgur.com/0lZeg7r.jpg",
        "http://bankinginfo.com.my/Banking%20Info%20-%20Basic%20Banking%20Services.html"
      ],
      "httpBodyMetaTags": {
        "description": "General savings accounts available in Malaysia for Malaysians",
        "og:description": "General savings accounts available in Malaysia for Malaysians",
        "twitter:description": "General savings accounts available in Malaysia for Malaysians"
      },
      "httpBodyByteSize": 19868,
      "httpBodyPageTitle": "Savings Account in Malaysia | Think Different"
    }
  },
  "danielms.site": {
    "/": {
      "date": "2026-02-07T01:20:46Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "75.2.60.5",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "OKKGJWSO5ALCG24UUQ6NNCQRTRGM4I5A",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 401,
      "httpBodyHash": "XDOWDLBT2HJM4P5VE3BE4KJSDPGK4NF4",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css",
        "/blog/the-slight-edge-a-summary",
        "/blog/httpx-is-the-new-requests-with-async",
        "https://danielms.site/favicons/apple-touch-icon.png",
        "https://danielms.site/css/style.min.e6bf9272b3b84d90d72157768bd6d8a6ea8dea41169e82d2d750b230f2616c62.css",
        "/",
        "/blog/",
        "/projects/",
        "/zet/",
        "mailto:dan@danielms.site",
        "https://danielms.site/favicons/favicon-32x32.png",
        "https://danielms.site/zet/2026/til-gos-fnv-hash/",
        "https://danielms.site/zet/2025/tailscale-with-pfsense/",
        "/uses/",
        "/nats-adsb/",
        "https://danielms.site/",
        "/blog/design-first-api-development-with-goa",
        "https://danielms.site/zet/2026/ai-on-the-cow/",
        "/blog/requirements-txt-to-poetry-pyproject-toml",
        "https://danielms.site/zet/2025/i-miss-being-a-sniper-sometimes/",
        "https://www.twitter.com/dansult/",
        "/blog/alpine.js-and-tailwind-html-setup",
        "https://danielms.site/css/markupHighlight.min.8e383108dc92ba103f73468d4927e7fb4d6099b318599033a37502fbe4d93cc1.css",
        "/about/",
        "https://danielms.site/favicons/favicon.ico",
        "https://plausible.io",
        "https://danielms.site/index.xml",
        "https://github.com/danielmichaels/",
        "https://linkedin.com/in/daniel-michaels",
        "https://danielms.site/zet/2025/github-is-the-microsoft-of-vcs/",
        "https://danielms.site/favicons/favicon-16x16.png",
        "/static",
        "https://danielms.site/extra/dansult-twitter.jpg"
      ],
      "httpBodyMetaTags": {
        "description": "I build things and drink coffee.",
        "og:description": "Hey 👋 I’m Dan, software developer, creator and blogger. I am an ex-SF soldier who made the switch to software and is trying to navigate this world one day at a time. I work for a large corporation during the day and create stuff at night.",
        "twitter:description": "Hey 👋 I’m Dan, software developer, creator and blogger. I am an ex-SF soldier who made the switch to software and is trying to navigate this world one day at a time. I work for a large corporation during the day and create stuff at night."
      },
      "httpBodyByteSize": 8931,
      "httpBodyPageTitle": "Daniel Michaels"
    },
    "/zet/2023/qantas-wifi-and-docker/": {
      "date": "2026-02-07T00:32:21Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "75.2.60.5",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "A7GP5JKWXVKWFNTKGGA6G6HXFUT6FMUR",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 401,
      "httpBodyHash": "EAND33RF2GT5VTU6KS6OJE5ZZQNN3ZNX",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "/zet/",
        "/about/",
        "/static",
        "https://plausible.io",
        "mailto:dan@danielms.site",
        "https://danielms.site/favicons/favicon-32x32.png",
        "https://danielms.site/zet/2023/qantas-wifi-and-docker/",
        "https://danielms.site/css/style.min.e6bf9272b3b84d90d72157768bd6d8a6ea8dea41169e82d2d750b230f2616c62.css",
        "/",
        "/uses/",
        "/nats-adsb/",
        "https://www.twitter.com/dansult/",
        "https://linkedin.com/in/daniel-michaels",
        "https://danielms.site/css/markupHighlight.min.8e383108dc92ba103f73468d4927e7fb4d6099b318599033a37502fbe4d93cc1.css",
        "/blog/",
        "/tags/zet/",
        "/categories/zet/",
        "https://danielms.site/favicons/favicon.ico",
        "https://danielms.site/extra/dansult-twitter.jpg",
        "https://danielms.site/favicons/favicon-16x16.png",
        "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css",
        "/projects/",
        "https://github.com/danielmichaels/",
        "https://danielms.site/favicons/apple-touch-icon.png"
      ],
      "httpBodyMetaTags": {
        "description": "I build things and drink coffee.",
        "og:description": "Qantas Wifi and Docker I’m currently in the air and spent ages trying to figure out why I could connect to the in-flight wifi but not trigger the captive portal.",
        "twitter:description": "Qantas Wifi and Docker I’m currently in the air and spent ages trying to figure out why I could connect to the in-flight wifi but not trigger the captive portal."
      },
      "httpBodyByteSize": 7980,
      "httpBodyPageTitle": "Daniel Michaels | Qantas Wifi and Docker"
    },
    "/zet/2025/til-about-gos-json.indent-and-when-to-use-it/": {
      "date": "2026-02-07T01:47:06Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "75.2.60.5",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "2ROHUOAKNANFFD7HLGAVCDAKSVFV4UWO",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 563,
      "httpBodyHash": "7YQSE25KCKRR6RXJ4HOWODN5NRJUAYX5",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "/uses/",
        "/tags/zet/",
        "https://linkedin.com/in/daniel-michaels",
        "https://danielms.site/extra/dansult-twitter.jpg",
        "https://danielms.site/css/markupHighlight.min.8e383108dc92ba103f73468d4927e7fb4d6099b318599033a37502fbe4d93cc1.css",
        "/",
        "/blog/",
        "/static",
        "/nats-adsb/",
        "https://github.com/danielmichaels/",
        "https://danielms.site/favicons/favicon-16x16.png",
        "https://danielms.site/favicons/favicon-32x32.png",
        "https://danielms.site/favicons/apple-touch-icon.png",
        "/about/",
        "/projects/",
        "/categories/zet/",
        "mailto:dan@danielms.site",
        "https://danielms.site/favicons/favicon.ico",
        "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css",
        "https://danielms.site/zet/2025/til-about-gos-json.indent-and-when-to-use-it/",
        "https://danielms.site/css/style.min.e6bf9272b3b84d90d72157768bd6d8a6ea8dea41169e82d2d750b230f2616c62.css",
        "/zet/",
        "https://plausible.io",
        "https://www.twitter.com/dansult/",
        "https://go.dev/play/p/qFKb23mUYuz"
      ],
      "httpBodyMetaTags": {
        "description": "I build things and drink coffee.",
        "og:description": "TIL about Go’s json.Indent and when to use it I needed to json.Unmarshal then json.MarshalIndent a large amount of JSON. In this was a set of very large numbers.",
        "twitter:description": "TIL about Go’s json.Indent and when to use it I needed to json.Unmarshal then json.MarshalIndent a large amount of JSON. In this was a set of very large numbers."
      },
      "httpBodyByteSize": 10166,
      "httpBodyPageTitle": "Daniel Michaels | TIL about Go's json.Indent and when to use it"
    },
    "/zet/2026/til-gos-fnv-hash/": {
      "date": "2026-02-07T01:11:52Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "75.2.60.5",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "VVOQLICCYYQKLAVFDHAZFMKJAKPA2LWQ",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 401,
      "httpBodyHash": "5N4POEH3R3PBVFL62W3C7S23FOV3XNHQ",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "/categories/zet/",
        "https://go.dev/play/p/YqlSV0GZ3fQ",
        "https://github.com/danielmichaels/",
        "https://linkedin.com/in/daniel-michaels",
        "https://danielms.site/favicons/apple-touch-icon.png",
        "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css",
        "https://danielms.site/css/markupHighlight.min.8e383108dc92ba103f73468d4927e7fb4d6099b318599033a37502fbe4d93cc1.css",
        "/",
        "/zet/",
        "/blog/",
        "/uses/",
        "/about/",
        "/static",
        "https://danielms.site/favicons/favicon-16x16.png",
        "https://danielms.site/favicons/favicon-32x32.png",
        "/projects/",
        "/nats-adsb/",
        "https://plausible.io",
        "mailto:dan@danielms.site",
        "https://www.twitter.com/dansult/",
        "https://danielms.site/favicons/favicon.ico",
        "https://danielms.site/zet/2026/til-gos-fnv-hash/",
        "https://danielms.site/css/style.min.e6bf9272b3b84d90d72157768bd6d8a6ea8dea41169e82d2d750b230f2616c62.css",
        "/tags/zet/",
        "https://danielms.site/extra/dansult-twitter.jpg"
      ],
      "httpBodyMetaTags": {
        "description": "I build things and drink coffee.",
        "og:description": "TIL: Go’s fnv hash A colleague introduced me to hash/fnv from the Go stdlib today.",
        "twitter:description": "TIL: Go’s fnv hash A colleague introduced me to hash/fnv from the Go stdlib today."
      },
      "httpBodyByteSize": 7444,
      "httpBodyPageTitle": "Daniel Michaels | TIL: Go's fnv hash"
    }
  },
  "glaforge.dev": {
    "/": {
      "date": "2026-02-14T06:55:10Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "185.199.110.153",
      "ipASN": "Fastly, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "TJJSSBXYOUGDOEGN7DKUFJCZLSY5XL3T",
      "httpHeaderTechnologies": [
        "Fastly",
        "Varnish",
        "GitHub Pages"
      ],
      "httpHeaderUrls": [
        "f70a:225B3D:8C5FED:9E3FF4:6990183B"
      ],
      "httpHeaderByteSize": 769,
      "httpBodyHash": "5RT3ER4DHPBODRHANYCPPSUCLKXOH6FE",
      "httpBodyTechnologies": [
        "Hugo:0.143.0"
      ],
      "httpBodyUrls": [
        "/img/icons/bluesky-black.svg",
        "https://glaforge.dev/posts/2025/12/15/implementing-the-interactions-api-with-antigravity/",
        "/tags/java",
        "/tags/model-context-protocol",
        "https://aistudio.google.com/",
        "/img/icons/linkedin-black.svg",
        "/talks/2025/12/02/ai-agentic-patterns-and-anti-patterns/",
        "https://glaforge.dev/posts/2026/01/03/building-a-research-assistant-with-the-interactions-api-in-java/",
        "/index.xml",
        "/tags/gemini-cli",
        "/css/style.css?v=1771003690",
        "/page/54/",
        "/img/icons/mastodon-black.svg",
        "https://github.com/langchain4j/langchain4j/releases/tag/1.11.0",
        "https://github.com/glaforge/arxiv-mcp-server/blob/main/README.md",
        "/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/",
        "https://glaforge.dev/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/",
        "https://javelit.io/",
        "https://snowcamp.io/",
        "https://bsky.app/profile/glaforge.dev",
        "https://docs.langchain4j.dev/tutorials/mcp-stdio-server#start-the-stdio-server",
        "https://glaforge.dev/talks/2019/11/25/implementing-webhooks-not-as-trivial-as-it-may-seem/",
        "/about",
        "/tags/architecture",
        "/tags/large-language-models",
        "/img/icons/twitter-black.svg",
        "https://glaforge.dev/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/",
        "/page/2/",
        "https://docs.langchain4j.dev",
        "https://pixstat-adh43sr7ba-ew.a.run.app/transparent.gif",
        "https://agentclientprotocol.com/get-started/introduction",
        "/tags/gemini",
        "/tags/agent-client-protocol",
        "https://fonts.googleapis.com",
        "https://github.com/glaforge/arxiv-mcp-server",
        "https://www.theunwindai.com/p/build-an-ai-research-agent-with-google-interactions-api-gemini-3",
        "https://glaforge.dev/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/",
        "/tags/generative-ai",
        "/tags/google-ai-studio",
        "/img/icons/speakerdeck-black.svg",
        "https://glaforge.dev/tags/micronaut/",
        "/talks/2025/07/16/ai-agents-the-new-frontier-for-llms/",
        "https://github.com/glaforge/gemini-interactions-api-sdk/",
        "/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/",
        "https://glaforge.dev/posts/2026/01/30/a-javelit-frontend-for-the-deep-research-agent/",
        "https://developers.googleblog.com/building-agents-with-the-adk-and-the-new-interactions-api/",
        "https://glaforge.dev/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/",
        "https://cloud.google.com/run",
        "https://glaforge.dev/tags/quarkus/",
        "https://docs.langchain4j.dev/integrations/image-models/gemini",
        "/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/",
        "https://glaforge.dev/posts/2026/01/18/implementing-an-arxiv-mcp-server-with-quarkus-in-java/",
        "https://glaforge.dev/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/",
        "https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700\u0026family=Roboto+Slab:wght@800\u0026display=swap",
        "https://geminicli.com/",
        "/talks",
        "/tags/langchain4j",
        "http://arxiv.org/",
        "https://antigravity.google/",
        "https://news.ycombinator.com/item?id=46549444",
        "/talks/2025/05/26/things-you-never-dared-to-ask-about-llms-take-2/",
        "/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/",
        "/tags/jbang",
        "/tags/quarkus",
        "https://zed.dev/",
        "/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/",
        "https://glaforge.dev/posts/2026/02/01/how-to-integrate-gemini-cli-with-intellij-idea-using-acp/",
        "/tags/retrieval-augmented-generation",
        "https://github.com/glaforge/gcli-mdrun",
        "https://en.wikipedia.org/wiki/Okapi_BM25",
        "/archive",
        "https://glaforge.dev/",
        "https://github.com/glaforge",
        "https://x.com/Saboo_Shubham_",
        "https://cdn.jsdelivr.net/npm/comic-mono@0.0.1/index.css",
        "/tags/intellij-idea",
        "https://fonts.gstatic.com",
        "https://uwyn.net/@glaforge",
        "https://twitter.com/@glaforge",
        "https://linkedin.com/in/glaforge",
        "/talks/2025/10/22/building-ai-agents-with-adk-for-java/",
        "https://glaforge.dev/tags/retrieval-augmented-generation/",
        "/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/",
        "/tags/javelit",
        "/tags/nano-banana",
        "https://jbang.dev",
        "/img/icons/github-black.svg",
        "https://speakerdeck.com/glaforge",
        "https://glaforge.dev/posts/2026/01/26/executable-markdown-files-with-gcli-mdrun-and-gemini-cli/",
        "https://glaforge.dev/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/",
        "/",
        "/tags/markdown"
      ],
      "httpBodyMetaTags": {
        "description": "Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming",
        "twitter:description": ""
      },
      "httpBodyByteSize": 20281,
      "httpBodyPageTitle": "Guillaume Laforge"
    },
    "/posts/2005/12/04/debugging-xml-parser-issues/": {
      "date": "2026-02-14T08:05:07Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "185.199.110.153",
      "ipASN": "Fastly, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "ARS5742Z7ZKPCMXQFFWI6U3OGMFNGEOA",
      "httpHeaderTechnologies": [
        "Fastly",
        "Varnish",
        "GitHub Pages"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 794,
      "httpBodyHash": "HGU7RFPOAFRR257UYUOLQRY6YGWA2P3A",
      "httpBodyTechnologies": [],
      "httpBodyUrls": [
        "/img/icons/mastodon-black.svg",
        "https://speakerdeck.com/glaforge",
        "/posts/2005/12/27/google-summer-of-code-2005-tshirt/",
        "/talks/2025/07/16/ai-agents-the-new-frontier-for-llms/",
        "/archive",
        "/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/",
        "https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700\u0026family=Roboto+Slab:wght@800\u0026display=swap",
        "/talks/2025/05/26/things-you-never-dared-to-ask-about-llms-take-2/",
        "/posts/2005/12/03/antbuilder-imitation-is-the-best-form-of-flattery/",
        "/about",
        "/tags/geek",
        "/talks/2025/12/02/ai-agentic-patterns-and-anti-patterns/",
        "/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/",
        "https://glaforge.dev/",
        "/talks/2025/10/22/building-ai-agents-with-adk-for-java/",
        "https://cdn.jsdelivr.net/npm/comic-mono@0.0.1/index.css",
        "https://fonts.googleapis.com",
        "/talks",
        "https://uwyn.net/@glaforge",
        "/img/icons/linkedin-black.svg",
        "https://pixstat-adh43sr7ba-ew.a.run.app/transparent.gif",
        "/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/",
        "/img/icons/github-black.svg",
        "https://twitter.com/@glaforge",
        "/img/icons/speakerdeck-black.svg",
        "https://linkedin.com/in/glaforge",
        "/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/",
        "https://github.com/glaforge",
        "/",
        "https://fonts.gstatic.com",
        "/css/style.css?v=1771003691",
        "https://bsky.app/profile/glaforge.dev",
        "/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/",
        "/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/",
        "/img/icons/bluesky-black.svg",
        "/img/icons/twitter-black.svg"
      ],
      "httpBodyMetaTags": {
        "description": "Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming",
        "twitter:description": "There are often some issues that can waste several hours of your precious time: XML parser incompatibilities depending on your platform and application, i18n problems where several elements of your architecture aren’t configured well to serve correct encoded and localized content, class loader hierarchy nightmares, or even Jar Hell when different libraries you depend on require different versions of the same jar. Today, I’m going to concentrate on the first problem: XML parser issues."
      },
      "httpBodyByteSize": 9985,
      "httpBodyPageTitle": "Debugging XML parser issues"
    },
    "/posts/2012/06/28/whats-new-in-groovy-20/": {
      "date": "2026-02-14T08:01:54Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "185.199.110.153",
      "ipASN": "Fastly, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "GQ3OX33EMNAWGLJELDEWU66FXKIQALOH",
      "httpHeaderTechnologies": [
        "Fastly",
        "Varnish",
        "GitHub Pages"
      ],
      "httpHeaderUrls": [
        "e136:1B78FD:DAA91B:EE89C8:69902BF2"
      ],
      "httpHeaderByteSize": 772,
      "httpBodyHash": "MYPM4BOGW2Q54FDKSXWBAKOG2XZ6A76J",
      "httpBodyTechnologies": [],
      "httpBodyUrls": [
        "/talks/2025/05/26/things-you-never-dared-to-ask-about-llms-take-2/",
        "/about",
        "/css/style.css?v=1771003691",
        "/img/icons/bluesky-black.svg",
        "https://fonts.googleapis.com",
        "https://speakerdeck.com/glaforge",
        "/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/",
        "/archive",
        "/img/icons/speakerdeck-black.svg",
        "https://linkedin.com/in/glaforge",
        "/talks/2025/12/02/ai-agentic-patterns-and-anti-patterns/",
        "/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/",
        "/",
        "/talks/2025/10/22/building-ai-agents-with-adk-for-java/",
        "https://cdn.jsdelivr.net/npm/comic-mono@0.0.1/index.css",
        "https://pixstat-adh43sr7ba-ew.a.run.app/transparent.gif",
        "/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/",
        "/talks",
        "/tags/groovy",
        "https://glaforge.dev/",
        "https://github.com/glaforge",
        "https://twitter.com/@glaforge",
        "/posts/2012/06/28/groovy-2-0-released/",
        "/posts/2011/11/11/latest-groovy-releases-and-roadmap-update/",
        "/img/icons/linkedin-black.svg",
        "https://www.infoq.com/articles/new-groovy-20/",
        "/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/",
        "https://bsky.app/profile/glaforge.dev",
        "https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700\u0026family=Roboto+Slab:wght@800\u0026display=swap",
        "/img/icons/twitter-black.svg",
        "/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/",
        "/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/",
        "https://fonts.gstatic.com",
        "https://uwyn.net/@glaforge",
        "/img/icons/github-black.svg",
        "/img/icons/mastodon-black.svg",
        "/posts/2012/07/04/groovy-2-0-support-in-eclipse/",
        "/talks/2025/07/16/ai-agents-the-new-frontier-for-llms/",
        "/posts/2012/03/18/speaking-of-groovy-2-0-at-33rd-degree-in-poland/"
      ],
      "httpBodyMetaTags": {
        "description": "Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming",
        "twitter:description": "The newly released Groovy 2.0 brings key static features to the language with static type checking and static compilation, adopts JDK 7 related improvements with Project Coin syntax enhancements and the support of the new “invoke dynamic” JVM instruction, and becomes more modular than before. In this article, we’re going to look into those new features in more detail.\nA “static theme” for a dynamic language\nStatic type checking\nGroovy, by nature, is and will always be a dynamic language. However, Groovy is often used as a “Java scripting language”, or as a “better Java” (ie. a Java with less boilerplate and more power features)."
      },
      "httpBodyByteSize": 77735,
      "httpBodyPageTitle": "What's new in Groovy 2.0"
    },
    "/posts/2019/07/04/getting-started-with-micronaut-on-google-app-engine-java-11/": {
      "date": "2026-02-14T08:13:24Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "185.199.110.153",
      "ipASN": "Fastly, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "E7BNQKKFYJIDBYCRD4CJHHG472KAOFHZ",
      "httpHeaderTechnologies": [
        "Fastly",
        "Varnish",
        "GitHub Pages"
      ],
      "httpHeaderUrls": [
        "ee54:1BE5:1FC233:227CE6:69902EA4"
      ],
      "httpHeaderByteSize": 768,
      "httpBodyHash": "ABHI667DVQG5JLKG45WJVOF37RLFB4F5",
      "httpBodyTechnologies": [],
      "httpBodyUrls": [
        "/tags/groovy",
        "https://speakerdeck.com/glaforge",
        "https://bsky.app/profile/glaforge.dev",
        "https://cdn.jsdelivr.net/npm/comic-mono@0.0.1/index.css",
        "/talks/2025/05/26/things-you-never-dared-to-ask-about-llms-take-2/",
        "https://glaforge.dev/",
        "https://fonts.googleapis.com",
        "https://twitter.com/@glaforge",
        "https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/353",
        "/posts/2026/02/09/decoded-how-google-ai-studio-securely-proxies-gemini-api-requests/",
        "/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/",
        "/talks/2019/07/02/update-on-the-recent-serverless-developments-on-gcp-at-dataxday-2019/",
        "https://cloud.google.com/sdk/gcloud/",
        "/about",
        "https://github.com/glaforge",
        "/img/icons/bluesky-black.svg",
        "/img/icons/twitter-black.svg",
        "/talks/2025/07/16/ai-agents-the-new-frontier-for-llms/",
        "https://docs.micronaut.io/latest/guide/index.html#buildCLI",
        "/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/",
        "/archive",
        "https://fonts.gstatic.com",
        "https://uwyn.net/@glaforge",
        "https://cloud.google.com/free/",
        "/img/icons/speakerdeck-black.svg",
        "/talks/2025/10/22/building-ai-agents-with-adk-for-java/",
        "/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/",
        "/talks/2019/08/08/app-engine-2nd-generation-runtimes-and-serverless-containers-with-cloud-run-at-cloud-next-tokyo/",
        "/img/icons/linkedin-black.svg",
        "https://pixstat-adh43sr7ba-ew.a.run.app/transparent.gif",
        "/talks/2025/12/02/ai-agentic-patterns-and-anti-patterns/",
        "/posts/2017/01/15/deploy-a-ratpack-app-on-google-app-engine-flex/",
        "/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/",
        "https://cloud.google.com/blog/products/application-development/app-engine-second-generation-runtimes-now-get-double-the-memory-plus-go-112-and-php-73-now-generally-available",
        "/talks",
        "/talks/2026/01/16/on-ai-standards-and-protocols-focus-on-mcp-and-a2a/",
        "https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700\u0026family=Roboto+Slab:wght@800\u0026display=swap",
        "https://linkedin.com/in/glaforge",
        "/tags/java",
        "/tags/micronaut",
        "/tags/google-cloud",
        "/img/icons/mastodon-black.svg",
        "https://cloud.google.com/appengine/docs/standard/java11/quickstart",
        "/posts/2019/06/21/turn-it-up-to-eleven-java-11-runtime-comes-to-app-engine/",
        "/",
        "/tags/app-engine",
        "/css/style.css?v=1771003692",
        "/img/icons/github-black.svg",
        "https://console.cloud.google.com/",
        "https://mn113-gae-java11.appspot.com/hello",
        "/posts/2019/11/29/serverless-tip-1-deploy-a-standalone-jvm-web-app-with-gradle-and-the-app-engine-plugin/",
        "https://cloud.google.com/blog/products/application-development/turn-it-up-to-eleven-java-11-runtime-comes-to-app-engine"
      ],
      "httpBodyMetaTags": {
        "description": "Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming",
        "twitter:description": "A new Java runtime was announced for Google App Engine standard: with Java 11. It’s currently in beta, but anybody can already try it out. Another interesting announcement was the fact that the instances running your apps now get double the memory! So with this double dose of great news, I decided to craft a little tutorial to show how to deploy a Micronaut application on App Engine Java 11. And because Apache Groovy is, well, groovy, I’ll go ahead and use Groovy for my programming language, but of course, the same steps apply to Java workloads as well."
      },
      "httpBodyByteSize": 18468,
      "httpBodyPageTitle": "Getting started with Micronaut on Google App Engine Java 11"
    }
  },
  "may-online.com": {
    "/en/": {
      "date": "2026-02-13T17:34:51Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "92.205.48.98",
      "ipASN": "Host Europe GmbH",
      "ipCountry": "France",
      "httpHeaderHash": "FTF2PD7P2EJURF72LSMEGM4IRWMMG2QH",
      "httpHeaderTechnologies": [
        "HSTS",
        "Nginx"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 846,
      "httpBodyHash": "25R2KBZTVWDXR4HW55D24GR5F4L54OV7",
      "httpBodyTechnologies": [
        "Lightbox",
        "reCAPTCHA",
        "Cloudflare",
        "Hugo:0.143.0",
        "jQuery:3.5.1",
        "Tiny Slider:2.9.3",
        "Google Tag Manager",
        "cdnjs"
      ],
      "httpBodyUrls": [
        "#startpage",
        "https://www.may-online.com/en/retail/",
        "https://www.may-online.com/en/additional-equipment/",
        "https://www.may-online.com/en/references/heimaat-binz-germany/",
        "https://www.may-online.com/en/additional-equipment/cleaning-materials/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/einzelhandel.jpg",
        "https://www.may-online.com/en/references/deutsches-auswanderhaus-germany/",
        "../css/vendor/glightbox.min.css",
        "../css/vendor/tiny-slider.min.css",
        "../images/icons/other/order_print.svg",
        "https://www.may-online.com/en/references/dundee-theater-usa/",
        "https://www.may-online.com/en/references/the-fontenay-germany/",
        "https://www.may-online.com/en/references/bikini-berlin-germany/",
        "https://www.may-online.com/en/references/inselhalle-lindau-germany/",
        "../en/large-parasols/filius/",
        "https://www.may-online.com/en/images-graphics/",
        "https://www.may-online.com/en/references/ruessels-landhaus-germany/",
        "https://www.may-online.com/en/references/mol-campus-budapest-hungary/",
        "https://www.may-online.com/en/references/roncalli-grand-cafe-germany/",
        "https://www.may-online.com/en/references/laudensacks-parkhotel-germany/",
        "https://www.may-online.com/en/references/the-ritz-carlton-berlin-germany/",
        "https://www.may-online.com/en/references/ratskeller-gotha-schattello-germany/",
        "https://www.may-online.com/en/references/koenigstuhl-heidelberg-germany/",
        "../en/gastronomy-hotel-industry/",
        "https://www.may-online.com/en/large-parasols/albatros/",
        "https://www.may-online.com/en/references/bagutta-wiesbaden-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314154_schwarz.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314851_vanille.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/20Stories_Manchester_England_2018_ALBATROS/20_Stories_Manchester_England_Aussenansicht_ALBATROS_02_Obgcfn6lbIu4i.jpg?tr=w-640",
        "../images/icons/logo_en.svg",
        "https://www.may-online.com/en/additional-equipment/impact-protection/",
        "https://www.may-online.com/en/references/genusshoefe-osnabrueck-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-200/MAY_SCHATTELLO_SG4000_braun.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_DA7559_taupe.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314003_gelb.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314022_rost.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9526_maisgelb.jpg",
        "../en/balcony-patio/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/ALBATROS/tr:w-453/ALBATROS.png",
        "https://www.may-online.com/en/references/brasserie-k116-esch-sur-alzette-luxemburg/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-220/MAY_Terrassen_Profit_Rechner_w1pEvIwD-C4J.jpg",
        "#top",
        "../images/icons/flags/flag_en.svg",
        "../images/icons/favicons/favicon-16x16.png",
        "https://www.may-online.com/js/glightbox.min.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/kantine.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314624_patinagruen.jpg",
        "../en/parasol-bases/",
        "https://www.may-online.com/en/tips/uv-radiation/",
        "https://www.may-online.com/en/references/20stories-manchester-uk/",
        "https://www.may-online.com/en/references/markree-castle-collooney-ireland/",
        "https://www.may-online.com/en/references/alex-wein-lounge-herxheim-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9875_creme.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314546_patinablau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314402_schwarz-beige_strukturiert.jpg",
        "https://www.may-online.com/en/electrical-equipment/led-lighting/",
        "https://www.may-online.com/en/references/fairmont-windsor-park-england/",
        "https://www.may-online.com/en/references/schwaketenbad-konstanz-germany/",
        "https://www.may-online.com/en/references/panorama-hotel-oberjoch-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Solista_Soest_Deutschland_2017_SCHATTELLO/Solista_Soest_Deutschland_SCHATTELLO_05.jpg?tr=w-640",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Elektrik/Infrarotheizstrahler/tr:w-175/MAY_200430_Infrarot-Heizstrahler_in_Arbeitsposition_02_XtrV7KUcjOGs.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Europaeisches_Parlament_Strassburg_Frankreich_2015_SCHATTELLO/Europaeisches_Parlament_Strassburg_Frankreich_Aussenansicht_SCHATTELLO_10.jpg?tr=w-640",
        "https://www.may-online.com/en/apps/",
        "https://www.may-online.com/en/colours-fabrics/",
        "https://www.may-online.com/en/references/top-seven-roof-bar-germany/",
        "https://www.may-online.com/en/references/fischhaus-am-schaalsee-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302199_gelb.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Heritage_Hamburg_Deutschland_2020_SCHATTELLO/Heritage_Hamburg_Deutschland_Aussen_SCHATTELLO_01_zknaGy0S1_oe.jpg",
        "https://www.may-online.com/en/tips/planning-a-patio/",
        "https://www.may-online.com/en/cantilever-parasols/dacapo/",
        "https://www.may-online.com/en/references/bar-ludwig-germany/",
        "https://www.may-online.com/en/parasol-bases/screw-in-ground-anchors/",
        "https://www.may-online.com/en/references/flockenwerk-ochsenfurt-germany/",
        "https://www.may-online.com/en/references/ile-de-re-frankreich/",
        "https://www.may-online.com/en/references/bootshaus-ulm-germany/",
        "https://www.may-online.com/en/references/il-ristorante-merignac/",
        "https://www.may-online.com/en/references/the-butcher-eivissa-spain/",
        "https://www.may-online.com/en/references/chateau-rohan-saverne-france/",
        "https://www.may-online.com/en/additional-equipment/mountable-high-table/",
        "https://www.may-online.com/en/references/barfuesser-pfullendorf-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314014_mandarin.jpg",
        "https://www.may-online.com/en/references/vapiano-fuerth-germany/",
        "https://www.may-online.com/en/references/dank-augusta-cologne-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314010_weiss.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9823_elfenbein.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9878_terrakotta.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_DA7244_lindgruen.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314583_weiss-gelb-grau_genoppt.jpg",
        "https://www.may-online.com/en/tips/sail-parasol-awning/",
        "https://www.may-online.com/en/references/muniqo-rooftop-germany/",
        "https://www.may-online.com/en/references/l-osteria-brunnthal-germany/",
        "https://www.may-online.com/en/references/super-green-terville-france/",
        "https://www.may-online.com/en/references/steinterrasse-salzburg-austria/",
        "https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/min/tiny-slider.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9577_weiss.jpg",
        "https://www.may-online.com/en/parasol-bases/base-plates/",
        "https://www.may-online.com/en/references/starbucks-bremen-germany/",
        "https://www.may-online.com/en/references/gosch-sylt-flensburg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/gastronomie.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302378_schiefergrau_matt.jpg",
        "https://www.may-online.com/en/references/hotel-edita-germany/",
        "https://www.may-online.com/en/references/familux-resort-germany/",
        "https://www.may-online.com/en/references/golf-champ-de-bataille-france/",
        "https://www.may-online.com/en/references/summer-lounge-dalwigk-germany/",
        "../en/education-social/",
        "../images/icons/favicons/safari-pinned-tab.svg",
        "https://www.may-online.com/en/cafe-barriers/",
        "https://www.may-online.com/en/large-parasols/schattello/",
        "https://ik.imagekit.io/nkghd4v9rlh/Sonstiges/Zertifikate/top_arbeitgeber_yourfirm_2024.svg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314038_beige.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302239_weiss_matt.jpg",
        "https://www.may-online.com/en/references/juwel-wien-austria/",
        "https://www.may-online.com/en/references/strandleben-schleswig-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/DACAPO/tr:w-453/DACAPO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302165_beigegrau_matt.jpg",
        "https://www.may-online.com/en/references/ameron-neuschwanstein-germany/",
        "https://www.may-online.com/en/references/freiraum-unterschleisseim-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9853_schwarz.jpg",
        "../en/catalogues-brochures/",
        "../images/icons/flags/flag_de.svg",
        "https://www.may-online.com/en/additional-equipment/rain-gutters/",
        "https://www.may-online.com/en/additional-equipment/textile-sun-shade/",
        "https://www.may-online.com/en/references/cafe-brant-strasbourg-france/",
        "https://www.may-online.com/en/references/klingenstein-blaustein-germany/",
        "https://www.may-online.com/en/references/riku-hotel-pfullendorf-germany/",
        "https://www.may-online.com/en/references/zollenspieker-faehrhaus-germany/",
        "../apple-touch-icon.png",
        "https://www.may-online.com/en/large-parasols/filius/",
        "https://www.may-online.com/en/references/l-apart-the-dole-france/",
        "https://www.may-online.com/en/references/buffalo-block-prime-steakhouse-us/",
        "https://www.may-online.com/en/references/renaissance-tower-hotel-switzerland/",
        "https://www.may-online.com/en/references/haeckers-grand-hotel-und-spa-resort-bad-ems/",
        "https://ik.imagekit.io/nkghd4v9rlh/Impressionen/MAY_Naeherei_2.jpg?tr=w-688,h-415,fo-custom",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9879_weinrot.jpg",
        "https://www.may-online.com/en/bakery/",
        "https://www.may-online.com/en/screen-print-digital-print/",
        "https://www.may-online.com/en/references/marriott-ac-hotels-france/",
        "https://ik.imagekit.io/nkghd4v9rlh//Sonstiges/MAY_Titelvideo_Webseite.mp4",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9653_grau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9545_dunkelblau.jpg",
        "https://www.may-online.com/en/parasol-bases/ground-anchors/",
        "https://www.may-online.com/en/references/hilton-danzig-poland/",
        "https://www.may-online.com/en/references/bio-hotel-sturm-germany/",
        "https://www.may-online.com/en/references/freibad-biberach-germany/",
        "https://www.may-online.com/en/additional-equipment/protective-covers/",
        "https://ik.imagekit.io/nkghd4v9rlh/Impressionen/Karl-Heinz_May_Klaus-Peter_May.jpg?tr=w-688,h-415,fo-custom",
        "../en/cafeteria/",
        "../en/colours-fabrics/",
        "https://www.may-online.com/de/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_DA8203_basaltgrau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-270/MAY_Katalog_Gewerbeschirme_Privatschirm_DE.jpg",
        "../en/large-parasols/schattello/",
        "https://www.may-online.com/en/tips/",
        "https://www.may-online.com/en/company/",
        "https://www.may-online.com/en/references/le-nessay-saint-briac-sur-mer-france/",
        "https://www.may-online.com/en/electrical-equipment/infrared-heaters/",
        "https://www.may-online.com/en/references/sackmann-baiersbronn-germany/",
        "https://www.may-online.com/en/references/the-dutch-house-coffe-england/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9527_orange.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Impressionen/MAY_Firmengebaeude_und_Montagehalle_von_Oben.jpg?tr=w-688,h-415,fo-custom",
        "https://www.may-online.com/en/cantilever-parasols/mezzo/",
        "https://www.may-online.com/en/references/hovedbanen-spiserie-norway/",
        "https://www.may-online.com/en/references/blumen-cafe-freiburg-lehen-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314397_magenta.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314347_rubinrot.jpg",
        "https://www.may-online.com/en/contact/",
        "https://www.may-online.com/en/references/olivia-oslo-norwegen/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/event.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_DA7560_hellgelb.jpg",
        "../en/recreation-events/",
        "../images/icons/favicons/site.webmanifest",
        "https://www.may-online.com/js/mittelmastschirm.min.js",
        "https://www.may-online.com/en/cross-section-calculator/",
        "https://www.may-online.com/en/references/strandrestaurant-marienbad-busdorf-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314045_pyrit.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314143_malve.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314044_grau-weiss.jpg",
        "https://www.may-online.com/en/references/le-cheval-blanc-france/",
        "https://www.may-online.com/en/references/plenum-stuttgart-germany/",
        "https://www.may-online.com/en/references/nespresso-muenchen-germany/",
        "https://www.may-online.com/en/references/parkhaus-egerner-hoefe-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Europaeisches_Parlament_Strassburg_Frankreich_2015_SCHATTELLO/Europaeisches_Parlament_Logo.jpg?tr=w-102",
        "../en/retail/",
        "https://www.may-online.com/en/references/mcdonalds-munich/",
        "https://www.may-online.com/en/references/hotel-48-nord-france/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302405_schwarz_matt.jpg",
        "https://www.may-online.com/en/",
        "https://www.may-online.com/en/references/dorint-hotel-oberursel-frankfurt-germany/",
        "tel:+49737492090",
        "https://www.may-online.com/en/tips/recycling-parasols/",
        "https://www.may-online.com/en/references/freiraum-garching-germany/",
        "https://www.may-online.com/en/references/syrdall-schwemm-niederanven-luxembourg/",
        "https://www.may-online.com/en/search/",
        "https://www.may-online.com/en/references/altes-maedchen-hamburg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314001_kirschrot.jpg",
        "https://www.may-online.com/en/references/medienhafen-dusseldorf-germany/",
        "https://www.may-online.com/en/references/insel-der-sinne-goerlitz-germany/",
        "https://www.may-online.com/en/recreation-events/",
        "https://www.may-online.com/en/parasol-bases/wall-brackets/",
        "https://www.may-online.com/en/references/brennerei-liebl-germany/",
        "https://www.may-online.com/en/references/gmunder-berghaus-austria/",
        "https://www.may-online.com/en/references/bruggerhof-kitzbuehel-austria/",
        "https://www.may-online.com/en/references/ferry_boat_inn_shaldon-england/",
        "https://www.may-online.com/en/index.json",
        "https://www.may-online.com/en/references/tresor-bremen-germany/",
        "https://www.may-online.com/en/references/qmuh-reutlingen-germany/",
        "https://www.may-online.com/en/references/ellington-berlin-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/baeckerei.jpg",
        "https://www.may-online.com/en/references/weisses-roessl-innsbruck-austria/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9671_rot.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Seitenbehang/tr:w-250/MAY_ALBATROS_mit_Seitenbehang_02__McCkw92Mn.jpg",
        "../images/icons/favicons/favicon-32x32.png",
        "https://www.may-online.com/en/references/hotel-lemongarden-croatia/",
        "https://www.may-online.com/en/references/kaefers-wiesbaden-germany/",
        "https://www.may-online.com/en/references/european-parliament-strasbourg-france/",
        "https://ik.imagekit.io/nkghd4v9rlh/Impressionen/MAY_Montage_2.jpg?tr=w-688,h-415,fo-custom",
        "https://www.may-online.com/en/cafeteria/",
        "https://www.may-online.com/en/references/landtag-rheinland-pfalz-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314007_reinrot.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_DA8779_olivebraun.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314580_weiss-gelb-grau_genoppt.jpg",
        "https://www.may-online.com/en/data-privacy/",
        "https://www.may-online.com/en/#parasol_sizes#parasol_sizes",
        "https://www.may-online.com/en/references/lobster-kappeln-germany/",
        "https://www.may-online.com/en/references/elztalhotel-winden-germany/",
        "https://www.may-online.com/en/tips/parasol-electrics-and-smart-home/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302814_gruen_matt.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Schirmstaender/tr:w-250/MAY_SZ273_Standplatte_mit_Klappscharnier.jpg",
        "https://www.may-online.com/en/catalogues-brochures/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314414_dunkelblau.jpg",
        "https://www.may-online.com/en/electrical-equipment/",
        "https://www.may-online.com/en/tips/spare-parts-repair/",
        "https://www.may-online.com/en/references/la-villa-germany/",
        "https://www.may-online.com/en/references/pasing-arcaden-munich-germany/",
        "https://www.may-online.com/en/references/grand-hotel-savoy-budapest-hungary/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-200/MAY_MEZZO_MH3000_malve.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Bedruckung/McCafe/tr:w-250/MAY_SCHATTELLO_rechteckig_McCafe_01_bY52DBwMkiFNV.png",
        "https://www.may-online.com/fr/",
        "https://www.may-online.com/en/parasol-bases/wheeled-pedestals/",
        "https://www.may-online.com/en/references/tresor-bad-saulgau-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314471_silbergrau-dunkelbraun_genoppt.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/20Stories_Manchester_England_2018_ALBATROS/tr:w-200/20Stories_Aqr-IdqMaX_2n.png?tr=w-102",
        "../en/large-parasols/albatros/",
        "https://www.may-online.com/js/main.min.js",
        "https://www.may-online.com/en/references/weber-haus-rheinau-germany/",
        "https://www.may-online.com/en/additional-equipment/parasol-roof-stabiliser/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314011_koenigsblau.jpg",
        "https://www.may-online.com/en/cantilever-parasols/rialto/",
        "https://www.may-online.com/en/references/ravintola-tiiliholvi-finland/",
        "https://www.may-online.com/en/electrical-equipment/tubular-motor-wind-sensor/",
        "https://www.may-online.com/en/references/upstalsboom-hotelresidenz-spa-kuehlungsborn-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9793_mittelblau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Solista_Soest_Deutschland_2017_SCHATTELLO/Logo_Solista.png?tr=w-102",
        "https://www.may-online.com/en/tips/windproof-parasols/",
        "https://www.may-online.com/en/references/zechmeisterlehen-schoenau-am-koenigsee-germany/",
        "https://www.may-online.com/en/operating-manuals/",
        "https://www.may-online.com/en/parasol-bases/granite-bases/",
        "https://www.may-online.com/en/references/",
        "https://www.may-online.com/en/tips/buy-may-parasol/",
        "https://www.may-online.com/en/references/pyramide-mainz-germany/",
        "https://www.may-online.com/en/references/neocity-office-building-us/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302001_blau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302544_beige_matt.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314364_telegrau-weiss.jpg",
        "../en/cantilever-parasols/dacapo/",
        "https://www.may-online.com/profit/#/?language=en\u0026currency=GBP/",
        "https://www.may-online.com/en/references/stadthalle-balingen-germany/",
        "https://www.may-online.com/en/references/freibad-georgenschwaige-germany/",
        "https://www.may-online.com/en/references/hyatt-regency-amsterdam-netherlands/",
        "/css/main.min.1755f97e0ed7617a1ce138e0432e6c23e82ecc014434e39454ca4cb48b12e0a3.css",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302236_bordeaux_matt.jpg",
        "https://www.may-online.com/en/parasol-bases/",
        "https://www.may-online.com/en/parasol-bases/dowel-anchored-plates/",
        "https://www.may-online.com/en/references/restaurant-waca-motorworld-munich-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302331_grau_matt.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/",
        "https://www.may-online.com/js/jquery-3.5.1.min.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302241_elfenbein_matt.jpg",
        "../en/data-privacy/",
        "../en/cantilever-parasols/mezzo/",
        "https://www.may-online.com/en/references/hansens-brauerei-flensburg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314002_orange.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314396_gruen-apfelgruen_strukturiert.jpg",
        "https://www.may-online.com/en/electrical-equipment/electrical-kits/",
        "https://www.may-online.com/en/references/nordsee-nuernberg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/RIALTO/tr:w-453/RIALTO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302255_rot.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314763_bordeaux.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314033_elfenbein.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314028_steingrau_meliert.jpg",
        "https://www.may-online.com/en/parasol-bases/concrete-bases/",
        "https://www.may-online.com/en/additional-equipment/side-sheets/",
        "https://www.may-online.com/en/references/hofgut-dagobertshausen-germany/",
        "https://www.may-online.com/en/references/technik-museum-sinsheim-germany/",
        "https://www.may-online.com/en/references/ropach-restaurant-biberach-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Downloads/tr:w-300/MAY_Katalog_Gewerbeschirme_EN_2025.jpg",
        "https://www.may-online.com/en/references/cafe-arte-germany/",
        "https://www.may-online.com/en/references/hansen-bremen-germany/",
        "https://www.may-online.com/en/parasol-bases/full-frame-pedestals/",
        "https://www.may-online.com/en/references/moselschloesschen-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/bildung.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-453/MEZZO.png",
        "https://www.may-online.com/en/references/steigmillers-bio-hofladen-ummendorf/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/FILIUS/tr:w-453/FILIUS.png",
        "../en/bakery/",
        "https://www.may-online.com/en/gastronomy-hotel-industry/",
        "https://www.may-online.com/en/references/heritage-hamburg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Einsatzzwecke/tr:w-451/privat.jpg",
        "https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js",
        "https://www.may-online.com/en/references/der-leuchtturm-elsterheide-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Gastrowand/Renderings/tr:w-250/MAY_Gastrowand_kurz.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9816_sand.jpg",
        "https://www.may-online.com/en/education-social/",
        "https://www.may-online.com/en/references/solista-soest-germany/",
        "https://www.may-online.com/en/references/wieniawy-warsaw-poland/",
        "https://www.may-online.com/en/electrical-equipment/usb-charging-station/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314325_natur.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302328_dunkelbraun.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314030_hellgrau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314398_atlasgrau.jpg",
        "https://www.may-online.com/en/references/tonis-gasthaus-germany/",
        "https://www.may-online.com/en/references/barfuesser-goeppingen-germany/",
        "https://www.may-online.com/en/references/tynedale-hotel-llandudno-england/",
        "https://www.google.com/recaptcha/api.js?onload=CaptchaCallback\u0026render=explicit",
        "https://www.may-online.com/en/references/dolden-maedel-braugasthaus-binz-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314006_saphierblau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314016_dunkelbraun.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Schirme/SCHATTELLO_SG5000_MayTex-Acryl_SA314010_weiss_RAL9010_ohne_Volant_.jpg",
        "https://www.may-online.com/js/createjs.min.js",
        "https://www.may-online.com/en/electrical-equipment/loudspeakers/",
        "https://www.may-online.com/en/references/good-food-koeln-germany/",
        "https://www.may-online.com/en/references/kernmuehle-rosstal-germany/",
        "https://www.may-online.com/en/references/sportbad-friedrichshafen-germany/",
        "https://www.may-online.com/en/references/haus-am-markt-bad-saulgau-germany/",
        "https://www.may-online.com/en/references/gasthof-hinterbr%C3%BChl-am-see-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-453/SCHATTELLO.png",
        "../images/icons/flags/flag_fr.svg",
        "https://www.may-online.com/en/references/ratskeller-gotha-albatros-germany/",
        "https://www.may-online.com/en/references/buddelbar-timmendorfer-strand-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9710_moosgruen.jpg",
        "https://www.may-online.com/en/cad/",
        "../en/electrical-equipment/tubular-motor-wind-sensor/",
        "https://www.may-online.com/en/references/noho-west-usa/",
        "https://www.may-online.com/en/references/montforthaus-austria/",
        "https://www.may-online.com/en/references/quellental-gluecksburg-germany/",
        "https://www.may-online.com/en/references/salling-rooftop-aarhus-germany/",
        "https://www.may-online.com/en/references/castle-resort-luttrellstown-ireland/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-PVC_302237_natur_matt.jpg",
        "../en/cantilever-parasols/rialto/",
        "https://www.may-online.com/en/gtc/",
        "https://www.may-online.com/en/balcony-patio/",
        "https://www.may-online.com/en/references/schloss-steinburg-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9675_kirschrot.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Poly_M9654_graphitgrau.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314018_weiss-grau_genoppt.jpg",
        "../favicon.png",
        "https://www.may-online.com/en/references/japan/",
        "https://www.may-online.com/en/references/lufthansa-seeheim-germany/",
        "https://www.may-online.com/en/references/ostsee-strandhaus-gluecksburg-holnis-germany/",
        "https://ik.imagekit.io/nkghd4v9rlh/Stoffkollektion/Thumbnails/tr:w-85,h-70/MayTex-Acryl_SA314362_dunkelgruen.jpg",
        "https://www.may-online.com/en/site-notice/",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Heritage_Hamburg_Deutschland_2020_SCHATTELLO/Heritage_Hamburg_Deutschland_Aussen_SCHATTELLO_01_zknaGy0S1_oe.jpg"
      ],
      "httpBodyMetaTags": {
        "description": "Giant parasols, cantilever parasols \u0026 large parasols ✓ 100% Made in Germany for the hospitality and hotel industry ✓",
        "og:description": "Giant parasols, cantilever parasols \u0026 large parasols ✓ 100% Made in Germany for the hospitality and hotel industry ✓"
      },
      "httpBodyByteSize": 421435,
      "httpBodyPageTitle": "Giant parasols by MAY: patio umbrellas 100% Made in Germany."
    },
    "/en/references/leopoldplatz-sigmaringen-germany/": {
      "date": "2026-02-07T08:34:27Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "92.205.48.98",
      "ipASN": "Host Europe GmbH",
      "ipCountry": "France",
      "httpHeaderHash": "ING7QYH6AF4QHGVZG4ENR6LX2OAW5GQZ",
      "httpHeaderTechnologies": [
        "Nginx",
        "HSTS"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 846,
      "httpBodyHash": "H2UXIUKHYFJZP2WHUSIUSSB4UHQRSLOW",
      "httpBodyTechnologies": [
        "jQuery:3.5.1",
        "Tiny Slider:2.9.3",
        "Google Tag Manager",
        "cdnjs",
        "Lightbox",
        "reCAPTCHA",
        "Cloudflare"
      ],
      "httpBodyUrls": [
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_02.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_06.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-453/MEZZO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/",
        "https://www.may-online.com/en/parasol-bases/",
        "../../../images/icons/favicons/safari-pinned-tab.svg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/RIALTO/tr:w-453/RIALTO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-453/SCHATTELLO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_07.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_02.jpg",
        "https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/min/tiny-slider.js",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_07.jpg",
        "https://www.may-online.com/js/glightbox.min.js",
        "https://www.may-online.com/en/catalogues-brochures/",
        "https://www.may-online.com/en/large-parasols/schattello/",
        "https://www.may-online.com/en/electrical-equipment/loudspeakers/",
        "https://www.may-online.com/en/references/",
        "https://www.may-online.com/en/",
        "https://www.may-online.com/en/cantilever-parasols/mezzo/",
        "https://www.may-online.com/en/additional-equipment/rain-gutters/",
        "https://www.may-online.com/en/additional-equipment/protective-covers/",
        "https://www.may-online.com/en/additional-equipment/cleaning-materials/",
        "https://www.may-online.com/en/references/leopoldplatz-sigmaringen-germany/",
        "https://www.may-online.com/en/additional-equipment/parasol-roof-stabiliser/",
        "https://www.may-online.com/de/referenzen/leopoldplatz-sigmaringen-deutschland/",
        "#top",
        "https://www.may-online.com/js/jquery-3.5.1.min.js",
        "https://www.may-online.com/en/tips/buy-may-parasol/",
        "https://www.may-online.com/en/tips/planning-a-patio/",
        "../../../css/vendor/glightbox.min.css",
        "../../../images/icons/favicons/site.webmanifest",
        "https://www.may-online.com/en/parasol-bases/ground-anchors/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Gastrowand/Renderings/tr:w-250/MAY_Gastrowand_kurz.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-270/MAY_Katalog_Gewerbeschirme_Privatschirm_DE.jpg",
        "../../../favicon.png",
        "https://www.may-online.com/en/cad/",
        "https://www.may-online.com/en/tips/",
        "https://www.may-online.com/en/balcony-patio/",
        "https://www.may-online.com/en/large-parasols/albatros/",
        "https://www.may-online.com/en/electrical-equipment/usb-charging-station/",
        "https://www.may-online.com/en/cantilever-parasols/dacapo/",
        "https://www.may-online.com/en/parasol-bases/wall-brackets/",
        "https://www.may-online.com/en/additional-equipment/side-sheets/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/ALBATROS/tr:w-453/ALBATROS.png",
        "https://www.may-online.com/en/retail/",
        "https://www.may-online.com/en/large-parasols/filius/",
        "https://www.may-online.com/en/tips/spare-parts-repair/",
        "https://www.may-online.com/en/electrical-equipment/tubular-motor-wind-sensor/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Seitenbehang/tr:w-250/MAY_ALBATROS_mit_Seitenbehang_02__McCkw92Mn.jpg",
        "../../../en/data-privacy/",
        "https://www.may-online.com/en/tips/sail-parasol-awning/",
        "https://www.may-online.com/en/parasol-bases/base-plates/",
        "https://www.may-online.com/en/parasol-bases/wheeled-pedestals/",
        "../../../images/icons/flags/flag_en.svg",
        "https://www.may-online.com/en/operating-manuals/",
        "https://www.may-online.com/en/tips/uv-radiation/",
        "https://www.may-online.com/en/tips/recycling-parasols/",
        "https://www.may-online.com/en/parasol-bases/dowel-anchored-plates/",
        "https://www.google.com/recaptcha/api.js?onload=CaptchaCallback\u0026render=explicit",
        "https://www.may-online.com/en/tips/windproof-parasols/",
        "https://www.may-online.com/en/parasol-bases/concrete-bases/",
        "https://www.may-online.com/en/colours-fabrics/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-220/MAY_Terrassen_Profit_Rechner_w1pEvIwD-C4J.jpg",
        "https://www.may-online.com/en/education-social/",
        "https://www.may-online.com/en/parasol-bases/full-frame-pedestals/",
        "https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js",
        "https://www.may-online.com/en/additional-equipment/mountable-high-table/",
        "https://www.may-online.com/en/bakery/",
        "https://www.may-online.com/en/cafeteria/",
        "https://www.may-online.com/en/images-graphics/",
        "https://www.may-online.com/en/cross-section-calculator/",
        "https://www.may-online.com/en/gastronomy-hotel-industry/",
        "https://www.may-online.com/en/additional-equipment/",
        "https://www.may-online.com/en/screen-print-digital-print/",
        "https://www.may-online.com/en/electrical-equipment/led-lighting/",
        "/css/main.min.1755f97e0ed7617a1ce138e0432e6c23e82ecc014434e39454ca4cb48b12e0a3.css",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-200/MAY_SCHATTELLO_SG4000_braun.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_06.jpg",
        "../../../images/icons/flags/flag_de.svg",
        "https://www.may-online.com/en/additional-equipment/impact-protection/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/FILIUS/tr:w-453/FILIUS.png",
        "https://www.may-online.com/en/search/",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_01.jpg",
        "https://www.may-online.com/en/company/",
        "../../../images/icons/other/order_print.svg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Schirmstaender/tr:w-250/MAY_SZ273_Standplatte_mit_Klappscharnier.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Elektrik/Infrarotheizstrahler/tr:w-175/MAY_200430_Infrarot-Heizstrahler_in_Arbeitsposition_02_XtrV7KUcjOGs.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Downloads/tr:w-300/MAY_Katalog_Gewerbeschirme_EN_2025.jpg",
        "https://www.may-online.com/en/site-notice/",
        "https://www.may-online.com/en/cafe-barriers/",
        "https://www.may-online.com/en/electrical-equipment/electrical-kits/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/DACAPO/tr:w-453/DACAPO.png",
        "tel:+49737492090",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/Leopoldplatz_Sigmaringen_Deutschland_Aussen_ALBATROS_01.jpg",
        "https://www.may-online.com/en/apps/",
        "https://www.may-online.com/en/contact/",
        "https://www.may-online.com/en/electrical-equipment/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Bedruckung/McCafe/tr:w-250/MAY_SCHATTELLO_rechteckig_McCafe_01_bY52DBwMkiFNV.png",
        "https://www.may-online.com/en/gtc/",
        "https://www.may-online.com/en/data-privacy/",
        "https://www.may-online.com/en/#parasol_sizes#parasol_sizes",
        "../../../apple-touch-icon.png",
        "../../../css/vendor/tiny-slider.min.css",
        "https://www.may-online.com/fr/references/leopoldplatz-sigmaringen-allemagne/",
        "https://www.may-online.com/en/cantilever-parasols/rialto/",
        "https://www.may-online.com/profit/#/?language=en\u0026currency=GBP/",
        "https://www.may-online.com/en/parasol-bases/screw-in-ground-anchors/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-200/MAY_MEZZO_MH3000_malve.jpg",
        "../../../images/icons/flags/flag_fr.svg",
        "https://www.may-online.com/en/recreation-events/",
        "https://www.may-online.com/en/electrical-equipment/infrared-heaters/",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-200/Referenzen/Leopoldplatz_Sigmaringen_Deutschland_2020_ALBATROS/stadt-sigmaringen-logo-vector.png",
        "../../../en/catalogues-brochures/",
        "https://www.may-online.com/js/main.min.js",
        "https://www.may-online.com/en/parasol-bases/granite-bases/",
        "https://www.may-online.com/en/additional-equipment/textile-sun-shade/",
        "../../../images/icons/favicons/favicon-16x16.png",
        "../../../images/icons/favicons/favicon-32x32.png",
        "https://www.may-online.com/en/tips/parasol-electrics-and-smart-home/",
        "../../../images/icons/logo_en.svg"
      ],
      "httpBodyMetaTags": {
        "description": "MAY Parasol reference from Leopoldplatz in Sigmaringen Germany",
        "og:description": "MAY Parasol reference from Leopoldplatz in Sigmaringen Germany"
      },
      "httpBodyByteSize": 108963,
      "httpBodyPageTitle": "Leopoldplatz, Sigmaringen"
    },
    "/en/references/summer-festival-of-the-berliner-wirtschaft-weberbank-berlin-germany/": {
      "date": "2026-02-07T07:18:10Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "92.205.48.98",
      "ipASN": "Host Europe GmbH",
      "ipCountry": "France",
      "httpHeaderHash": "DZFXM64NCQ5DWVCLJ2TYWKGVZ5XKTRJW",
      "httpHeaderTechnologies": [
        "HSTS",
        "Nginx"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 846,
      "httpBodyHash": "7RTIJR45NVI6M7HZR7IQ7ZLLRLJQR4YJ",
      "httpBodyTechnologies": [
        "reCAPTCHA",
        "Cloudflare",
        "jQuery:3.5.1",
        "Tiny Slider:2.9.3",
        "Google Tag Manager",
        "cdnjs",
        "Lightbox"
      ],
      "httpBodyUrls": [
        "https://www.may-online.com/en/contact/",
        "https://www.may-online.com/js/main.min.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Downloads/tr:w-300/MAY_Katalog_Gewerbeschirme_EN_2025.jpg",
        "https://www.google.com/recaptcha/api.js?onload=CaptchaCallback\u0026render=explicit",
        "https://www.may-online.com/en/tips/uv-radiation/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-270/MAY_Katalog_Gewerbeschirme_Privatschirm_DE.jpg",
        "../../../images/icons/logo_en.svg",
        "https://www.may-online.com/en/tips/recycling-parasols/",
        "https://www.may-online.com/en/electrical-equipment/led-lighting/",
        "https://www.may-online.com/en/additional-equipment/parasol-roof-stabiliser/",
        "https://www.may-online.com/en/company/",
        "https://www.may-online.com/en/references/",
        "https://www.may-online.com/js/glightbox.min.js",
        "https://www.may-online.com/en/tips/planning-a-patio/",
        "https://www.may-online.com/en/additional-equipment/mountable-high-table/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Seitenbehang/tr:w-250/MAY_ALBATROS_mit_Seitenbehang_02__McCkw92Mn.jpg",
        "https://www.may-online.com/en/retail/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Elektrik/Infrarotheizstrahler/tr:w-175/MAY_200430_Infrarot-Heizstrahler_in_Arbeitsposition_02_XtrV7KUcjOGs.png",
        "https://www.may-online.com/en/cafeteria/",
        "https://www.may-online.com/en/electrical-equipment/tubular-motor-wind-sensor/",
        "https://www.may-online.com/de/referenzen/sommerfest-der-berliner-wirtschaft-weberbank-berlin-deutschland/",
        "../../../images/icons/flags/flag_de.svg",
        "https://www.may-online.com/en/site-notice/",
        "https://www.may-online.com/en/large-parasols/filius/",
        "https://www.may-online.com/en/tips/windproof-parasols/",
        "https://www.may-online.com/en/gastronomy-hotel-industry/",
        "https://www.may-online.com/en/electrical-equipment/infrared-heaters/",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO_01.jpg",
        "../../../images/icons/favicons/site.webmanifest",
        "https://www.may-online.com/en/additional-equipment/",
        "https://www.may-online.com/en/additional-equipment/rain-gutters/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Gastrowand/Renderings/tr:w-250/MAY_Gastrowand_kurz.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-200/MAY_SCHATTELLO_SG4000_braun.jpg",
        "https://www.may-online.com/en/tips/",
        "../../../images/icons/other/order_print.svg",
        "https://www.may-online.com/en/parasol-bases/base-plates/",
        "https://www.may-online.com/en/tips/parasol-electrics-and-smart-home/",
        "tel:+49737492090",
        "../../../apple-touch-icon.png",
        "https://www.may-online.com/en/",
        "../../../css/vendor/tiny-slider.min.css",
        "../../../images/icons/flags/flag_fr.svg",
        "https://www.may-online.com/en/apps/",
        "../../../images/icons/favicons/favicon-16x16.png",
        "https://www.may-online.com/en/additional-equipment/impact-protection/",
        "https://www.may-online.com/en/data-privacy/",
        "https://www.may-online.com/en/images-graphics/",
        "https://www.may-online.com/en/bakery/",
        "https://www.may-online.com/profit/#/?language=en\u0026currency=GBP/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-200/MAY_MEZZO_MH3000_malve.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Bedruckung/McCafe/tr:w-250/MAY_SCHATTELLO_rechteckig_McCafe_01_bY52DBwMkiFNV.png",
        "https://www.may-online.com/en/cantilever-parasols/mezzo/",
        "https://www.may-online.com/en/parasol-bases/full-frame-pedestals/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Schirmstaender/tr:w-250/MAY_SZ273_Standplatte_mit_Klappscharnier.jpg",
        "https://www.may-online.com/en/cross-section-calculator/",
        "../../../favicon.png",
        "https://ik.imagekit.io/nkghd4v9rlh/",
        "https://www.may-online.com/en/electrical-equipment/",
        "https://www.may-online.com/en/parasol-bases/concrete-bases/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/RIALTO/tr:w-453/RIALTO.png",
        "https://www.may-online.com/en/search/",
        "https://www.may-online.com/en/screen-print-digital-print/",
        "https://www.may-online.com/en/cafe-barriers/",
        "https://www.may-online.com/en/additional-equipment/textile-sun-shade/",
        "../../../en/data-privacy/",
        "https://www.may-online.com/en/parasol-bases/",
        "../../../images/icons/favicons/safari-pinned-tab.svg",
        "https://www.may-online.com/en/cantilever-parasols/rialto/",
        "https://www.may-online.com/en/parasol-bases/dowel-anchored-plates/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/DACAPO/tr:w-453/DACAPO.png",
        "https://www.may-online.com/fr/references/fete-berliner-wirtschaft-weberbank-berlin-allemagne/",
        "https://www.may-online.com/en/references/summer-festival-of-the-berliner-wirtschaft-weberbank-berlin-germany/",
        "https://www.may-online.com/en/large-parasols/albatros/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/FILIUS/tr:w-453/FILIUS.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/ALBATROS/tr:w-453/ALBATROS.png",
        "https://www.may-online.com/en/additional-equipment/protective-covers/",
        "https://www.may-online.com/en/balcony-patio/",
        "https://www.may-online.com/en/education-social/",
        "https://www.may-online.com/js/jquery-3.5.1.min.js",
        "https://www.may-online.com/en/parasol-bases/wall-brackets/",
        "https://www.may-online.com/en/parasol-bases/wheeled-pedestals/",
        "https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/min/tiny-slider.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-453/SCHATTELLO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO/Sommerfest_der_Berliner_Wirtschaft_2016_Collage_SCHATTELLO_01.jpg",
        "#top",
        "../../../css/vendor/glightbox.min.css",
        "../../../images/icons/favicons/favicon-32x32.png",
        "https://www.may-online.com/en/recreation-events/",
        "https://www.may-online.com/en/large-parasols/schattello/",
        "https://www.may-online.com/en/additional-equipment/cleaning-materials/",
        "https://www.may-online.com/en/colours-fabrics/",
        "https://www.may-online.com/en/catalogues-brochures/",
        "https://www.may-online.com/en/tips/spare-parts-repair/",
        "https://www.may-online.com/en/parasol-bases/granite-bases/",
        "https://www.may-online.com/en/parasol-bases/ground-anchors/",
        "https://www.may-online.com/en/additional-equipment/side-sheets/",
        "/css/main.min.1755f97e0ed7617a1ce138e0432e6c23e82ecc014434e39454ca4cb48b12e0a3.css",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO_01.jpg",
        "../../../en/catalogues-brochures/",
        "https://www.may-online.com/en/electrical-equipment/loudspeakers/",
        "https://www.may-online.com/en/parasol-bases/screw-in-ground-anchors/",
        "https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js",
        "https://www.may-online.com/en/cad/",
        "https://www.may-online.com/en/gtc/",
        "../../../images/icons/flags/flag_en.svg",
        "https://www.may-online.com/en/operating-manuals/",
        "https://www.may-online.com/en/tips/buy-may-parasol/",
        "https://www.may-online.com/en/tips/sail-parasol-awning/",
        "https://www.may-online.com/en/cantilever-parasols/dacapo/",
        "https://www.may-online.com/en/#parasol_sizes#parasol_sizes",
        "https://www.may-online.com/en/electrical-equipment/electrical-kits/",
        "https://www.may-online.com/en/electrical-equipment/usb-charging-station/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-453/MEZZO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-220/MAY_Terrassen_Profit_Rechner_w1pEvIwD-C4J.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Sommerfest_der_Berliner_Wirtschaft_2016_SCHATTELLO/Sommerfest_der_Berliner_Wirtschaft_2016_Collage_SCHATTELLO_01.jpg"
      ],
      "httpBodyMetaTags": {
        "description": "MAY Parasol reference from Summer festival of the Berliner Wirtschaft Germany",
        "og:description": "MAY Parasol reference from Summer festival of the Berliner Wirtschaft Germany"
      },
      "httpBodyByteSize": 105674,
      "httpBodyPageTitle": "Summer festival of the Berliner Wirtschaft"
    },
    "/fr/references/cafe-brant-strasbourg-france/": {
      "date": "2026-02-07T06:51:44Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "92.205.48.98",
      "ipASN": "Host Europe GmbH",
      "ipCountry": "France",
      "httpHeaderHash": "E7GGAGGUATERM4RNXW6KTJCM2CE3TSSY",
      "httpHeaderTechnologies": [
        "HSTS",
        "Nginx"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 846,
      "httpBodyHash": "I4LAQWMO6ZJBT7TMJD5QV4KEU5MXPJUY",
      "httpBodyTechnologies": [
        "Tiny Slider:2.9.3",
        "Google Tag Manager",
        "cdnjs",
        "Lightbox",
        "reCAPTCHA",
        "Cloudflare",
        "jQuery:3.5.1"
      ],
      "httpBodyUrls": [
        "../../../fr/protection-donnees/",
        "https://www.may-online.com/fr/cgv/",
        "https://www.may-online.com/fr/calculateur-section-transversale/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-453/MEZZO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/DACAPO/tr:w-453/DACAPO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-200/Referenzen/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO/Cafe_Brant_Logo_1c.png",
        "https://www.may-online.com/fr/equipement-supplementaire/housses-protection/",
        "../../../css/vendor/tiny-slider.min.css",
        "https://www.may-online.com/fr/entreprise/",
        "https://www.may-online.com/fr/couleur-textiles/",
        "../../../images/icons/favicons/favicon-16x16.png",
        "https://www.may-online.com/fr/grands-parasols/filius/",
        "https://www.may-online.com/fr/parasols-deportes/rialto/",
        "https://www.may-online.com/de/referenzen/cafe-brant-strassburg-frankreich/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-200/MAY_SCHATTELLO_SG4000_braun.jpg",
        "https://www.may-online.com/fr/electricite/",
        "https://www.may-online.com/fr/conseils/acheter-parasol-may/",
        "https://www.may-online.com/fr/electricite/packs-electriques/",
        "#top",
        "https://www.may-online.com/fr/applis/",
        "../../../images/icons/flags/flag_en.svg",
        "https://www.may-online.com/fr/conseils/rayons-uv/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-220/MAY_Terrassen_Profit_Rechner_w1pEvIwD-C4J.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Bedruckung/McCafe/tr:w-250/MAY_SCHATTELLO_rechteckig_McCafe_01_bY52DBwMkiFNV.png",
        "https://www.may-online.com/fr/pieds-parasol/douilles-sol/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Schirmstaender/tr:w-250/MAY_SZ273_Standplatte_mit_Klappscharnier.jpg",
        "https://www.may-online.com/fr/",
        "https://www.may-online.com/fr/restauration-hotellerie/",
        "https://www.may-online.com/fr/equipement-supplementaire/joue-laterale/",
        "../../../en/kataloge-prospekte/",
        "https://ik.imagekit.io/nkghd4v9rlh/",
        "https://www.may-online.com/js/glightbox.min.js",
        "https://www.may-online.com/fr/pieds-parasol/plaques/",
        "https://www.may-online.com/fr/#parasol_sizes#parasol_sizes",
        "https://www.may-online.com/fr/references/cafe-brant-strasbourg-france/",
        "tel:+49737492090",
        "https://www.may-online.com/fr/catalogues-prospectus/",
        "https://www.may-online.com/fr/pieds-parasol/pieds-beton/",
        "https://www.may-online.com/fr/conseils/recyclage-parasols/",
        "https://www.may-online.com/profit/#/?language=en\u0026currency=GBP/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/SCHATTELLO/tr:w-453/SCHATTELLO.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO_02.jpg",
        "../../../images/icons/favicons/safari-pinned-tab.svg",
        "https://www.may-online.com/fr/serigraphie-impression-numerique/",
        "https://www.may-online.com/fr/mentions-legales/",
        "https://www.may-online.com/fr/conseils/electricite-parasols-smart-home/",
        "../../../apple-touch-icon.png",
        "../../../images/icons/other/order_print.svg",
        "https://www.may-online.com/fr/education-social/",
        "https://www.may-online.com/fr/grands-parasols/albatros/",
        "https://www.may-online.com/fr/conseils/voile-parasol-store/",
        "https://www.may-online.com/fr/references/",
        "https://www.may-online.com/fr/paravents-restauration/",
        "https://www.may-online.com/fr/pieds-parasol/pieds-mobiles/",
        "https://www.may-online.com/fr/pieds-parasol/fixations-murales/",
        "https://www.may-online.com/en/references/cafe-brant-strasbourg-france/",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO_02.jpg",
        "https://www.may-online.com/fr/cao/",
        "../../../images/icons/favicons/site.webmanifest",
        "https://www.may-online.com/fr/equipement-supplementaire/table-haute/",
        "https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/RIALTO/tr:w-453/RIALTO.png",
        "https://www.may-online.com/js/jquery-3.5.1.min.js",
        "https://www.may-online.com/fr/conseils/parasols-resistants-vent/",
        "https://www.may-online.com/fr/equipement-supplementaire/stabilisateur-sommet-parasol/",
        "https://www.may-online.com/fr/modes-emploi/",
        "https://www.may-online.com/fr/protection-donnees/",
        "https://www.may-online.com/fr/grands-parasols/schattello/",
        "https://www.may-online.com/fr/pieds-parasol/ancrage-visse-sol/",
        "https://www.may-online.com/fr/electricite/radiateurs-infrarouges/",
        "https://ik.imagekit.io/nkghd4v9rlh/Referenzen/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO_01.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/tr:w-1024/Referenzen/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO/Cafe_Brant_Strassburg_Frankreich_2016_SCHATTELLO_01.jpg",
        "https://www.may-online.com/fr/parasols-deportes/dacapo/",
        "https://www.may-online.com/fr/electricite/eclairage-led/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/FILIUS/tr:w-453/FILIUS.png",
        "https://www.may-online.com/fr/equipement-supplementaire/protection-contre-chocs/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Seitenbehang/tr:w-250/MAY_ALBATROS_mit_Seitenbehang_02__McCkw92Mn.jpg",
        "../../../css/vendor/glightbox.min.css",
        "https://www.may-online.com/fr/equipement-supplementaire/pare-soleil/",
        "https://www.may-online.com/fr/loisirs-evenements/",
        "https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/min/tiny-slider.js",
        "https://www.may-online.com/fr/electricite/station-recharge-usb/",
        "../../../images/icons/flags/flag_fr.svg",
        "https://www.may-online.com/fr/conseils/pieces-rechange-reparation/",
        "https://www.may-online.com/fr/equipement-supplementaire/produit-nettoyage/",
        "../../../images/icons/logo_fr.svg",
        "../../../images/icons/flags/flag_de.svg",
        "https://www.may-online.com/js/main.min.js",
        "https://www.may-online.com/fr/electricite/haut-parleurs/",
        "https://www.may-online.com/fr/equipement-supplementaire/gouttieres/",
        "https://www.may-online.com/fr/pieds-parasol/",
        "https://www.may-online.com/fr/pieds-parasol/cadre-pose/",
        "/css/main.min.1755f97e0ed7617a1ce138e0432e6c23e82ecc014434e39454ca4cb48b12e0a3.css",
        "../../../favicon.png",
        "../../../images/icons/favicons/favicon-32x32.png",
        "https://www.may-online.com/fr/conseils/planifier-terrasse/",
        "https://www.google.com/recaptcha/api.js?onload=CaptchaCallback\u0026render=explicit",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/ALBATROS/tr:w-453/ALBATROS.png",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Werbematerial/tr:w-270/MAY_Katalog_Gewerbeschirme_Privatschirm_DE.jpg",
        "https://www.may-online.com/fr/images-graphiques/",
        "https://www.may-online.com/fr/cantine/",
        "https://www.may-online.com/fr/pieds-parasol/pieds-granit/",
        "https://www.may-online.com/fr/electricite/moteur-tubulaire-anemometre/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Gastrowand/Renderings/tr:w-250/MAY_Gastrowand_kurz.jpg",
        "https://www.may-online.com/fr/contact/",
        "https://www.may-online.com/fr/rechercher/",
        "https://www.may-online.com/fr/balcon-terrasse-prives/",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Schirme/MEZZO/tr:w-200/MAY_MEZZO_MH3000_malve.jpg",
        "https://ik.imagekit.io/nkghd4v9rlh/Produkte/Zubehoer/Elektrik/Infrarotheizstrahler/tr:w-175/MAY_200430_Infrarot-Heizstrahler_in_Arbeitsposition_02_XtrV7KUcjOGs.png",
        "https://www.may-online.com/fr/conseils/",
        "https://www.may-online.com/fr/boulangerie/",
        "https://www.may-online.com/fr/parasols-deportes/mezzo/",
        "https://www.may-online.com/fr/equipement-supplementaire/",
        "https://www.may-online.com/fr/commerce-detail/",
        "https://www.may-online.com/fr/pieds-parasol/plaques-ancrage/",
        "https://ik.imagekit.io/nkghd4v9rlh/Downloads/tr:w-300/MAY_Katalog_Gewerbeschirme_FR_2025.jpg"
      ],
      "httpBodyMetaTags": {
        "description": "MAY Parasol reference from Café Brant in Strasbourg France",
        "og:description": "MAY Parasol reference from Café Brant in Strasbourg France"
      },
      "httpBodyByteSize": 107207,
      "httpBodyPageTitle": "Café Brant, Strasbourg"
    }
  },
  "onmyway133.com": {
    "/": {
      "date": "2026-02-06T18:42:08Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "76.76.21.21",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "A72T4EPFONXELRF2CR7J2ZN2FVS5UR3J",
      "httpHeaderTechnologies": [
        "Vercel",
        "HSTS"
      ],
      "httpHeaderUrls": [
        "iad1::sbpc9-1770403328226-316dd66a17bc"
      ],
      "httpHeaderByteSize": 603,
      "httpBodyHash": "AAM47DUIRTGM3XVICEBPG5H74CQW3DVE",
      "httpBodyTechnologies": [
        "Hugo:0.143.0",
        "Google Analytics",
        "Simple Analytics"
      ],
      "httpBodyUrls": [
        "/posts/my-year-in-review-2020/",
        "http://onmyway133.com/tags/swift/",
        "http://onmyway133.com/tags/github/",
        "/posts/how-to-observe-model-changes-in-ios-26/",
        "https://gohugo.io/",
        "http://onmyway133.com/tags/ci/",
        "http://onmyway133.com/tags/macos/",
        "http://onmyway133.com/authors/khoa/",
        "/posts/how-to-observe-optional-observableobject-in-swiftui/",
        "/posts/",
        "https://wwdctogether.com",
        "http://onmyway133.com/tags/ios/",
        "http://onmyway133.com/tags/life/",
        "https://github.com/onmyway133/blog/issues/995",
        "https://github.com/onmyway133/blog/issues/1004",
        "https://scripts.simpleanalyticscdn.com/latest.js",
        "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900\u0026family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900\u0026display=swap",
        "/open-source",
        "https://X.com/onmyway133",
        "https://github.com/onmyway133/blog/issues/985",
        "https://github.com/onmyway133/blog/issues/1003",
        "/posts/how-to-tap-again-on-tab-bar-item-to-scroll-top-in-ios/",
        "https://developer.apple.com/documentation/swiftui/view/navigationtransition(_:)",
        "https://developer.apple.com/documentation/swiftui/view/matchedtransitionsource(id:in:configuration:)",
        "/",
        "/about",
        "/posts/how-to-delete-gitlab-artifact/",
        "/posts/how-to-morph-liquid-glass-view-transition/",
        "/posts/how-to-clear-background-for-textfield-inside-list-in-macos/",
        "/posts",
        "/tags/",
        "/posts/how-to-use-github-copilot-for-xcode/",
        "/posts/how-to-animate-number-change-from-ios-17/",
        "https://docs.github.com/en/actions/how-tos/manage-runners/self-hosted-runners/add-runners",
        "http://onmyway133.com/index.xml",
        "https://github.com/onmyway133/blog/issues/994",
        "/posts/how-to-make-zoom-transition-animation-in-ios-18/",
        "/posts/how-to-make-scale-to-fill-nsimageview-with-remote-kingfisher-image/",
        "/favicon.ico",
        "http://onmyway133.com/tags/ai/",
        "/posts/how-to-create-mesh-gradient-in-ios-18/",
        "https://github.com/user-attachments/assets/9e49ee01-6033-4fb9-a863-85a488aa54e8",
        "http://onmyway133.com/tags/featured/",
        "https://github.com/onmyway133/blog/issues/990",
        "/mentions/",
        "https://medium.com/@onmyway133",
        "http://onmyway133.com/tags/aws/",
        "https://github.com/onmyway133/blog/issues/996",
        "https://stackoverflow.com/users/1418457/onmyway133",
        "/posts/how-to-get-offset-for-a-specific-timezone-in-javascript/",
        "https://github.com/onmyway133/blog/issues/992",
        "/contact/",
        "/tags/swiftui",
        "/posts/how-to-use-claude-code/",
        "https://github.com/onmyway133/blog/issues/1005",
        "https://developer.apple.com/documentation/swiftui/glasseffectcontainer/",
        "https://github.com/onmyway133",
        "http://onmyway133.com/tags/swiftui/",
        "https://www.producthunt.com/@onmyway133",
        "/posts/how-to-use-playground-in-swift-file/",
        "https://github.com/onmyway133/blog/issues/993",
        "https://github.com/onmyway133/blog/issues/998",
        "https://code.visualstudio.com/docs/copilot/overview",
        "/posts/how-to-install-github-action-runner-on-ec2-mac/",
        "https://fonts.gstatic.com",
        "/posts/how-to-make-nsimage-sendable-in-swift/",
        "/posts/how-to-prompt-users-to-configure-widgets-in-ios-18/",
        "https://github.blog/changelog/2024-10-29-github-copilot-code-completion-in-xcode-is-now-available-in-public-preview/",
        "http://onmyway133.com/tags/react/",
        "https://github.com/onmyway133/blog/issues/991",
        "https://github.com/onmyway133/blog/issues/997",
        "https://github.com/onmyway133/blog/issues/1000",
        "https://github.com/onmyway133/blog/issues/1002",
        "https://www.googletagmanager.com/gtag/js?id=G-452W0N71PK",
        "/speaking",
        "https://github.com/onmyway133/blog/issues/986",
        "https://github.com/onmyway133/blog/issues/1006",
        "/posts/how-to-handle-shell-script-with-github-action/",
        "/posts/how-to-bulk-delete-gitlab-artifacts-using-graphql-api/",
        "/js/scripts.min.b659c1ee20bc1966ac063b3f4884d665d8245ddc5a19b66ce3d09cf700558a0d.js",
        "http://onmyway133.com/",
        "https://indiegoodies.com",
        "https://fonts.googleapis.com",
        "https://github.com/pumaswift/Puma",
        "https://github.com/onmyway133/blog/issues/988",
        "https://github.com/onmyway133/blog/issues/999",
        "/posts/how-swiftui-stateobject-and-react-usestate-defer-initial-value-evaluation/",
        "https://githubuniverse.com/",
        "http://onmyway133.com/tags/javascript/",
        "https://github.com/github/CopilotForXcode",
        "https://github.com/onmyway133/blog/issues/989",
        "/js/common.min.4dfc53e2869803bfb37f2dc4ec47ccdfbaee346f1e330223e77bef1bf9b04958.js",
        "https://github.com/onmyway133/blog/issues/715",
        "#",
        "/about/",
        "/writing/"
      ],
      "httpBodyMetaTags": {
        "description": "Swift Discovery",
        "og:description": "Swift Discovery",
        "twitter:description": "Swift Discovery"
      },
      "httpBodyByteSize": 267045,
      "httpBodyPageTitle": "Swift Discovery"
    },
    "/posts/how-to-create-uitabbarcontroller-programmatically-in-ios/": {
      "date": "2026-02-06T18:28:44Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "76.76.21.21",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "MTPNXAOJ32GSE35XEQCOZ47REBGULKB4",
      "httpHeaderTechnologies": [
        "HSTS",
        "Vercel"
      ],
      "httpHeaderUrls": [
        "iad1::qcmqv-1770402524929-7daf0b315da8"
      ],
      "httpHeaderByteSize": 674,
      "httpBodyHash": "CLWNQAQONLPRQCPCWYQENIMH32OPW2SH",
      "httpBodyTechnologies": [
        "Simple Analytics",
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "http://onmyway133.com/authors/khoa/",
        "http://onmyway133.com/tags/swiftui/",
        "https://www.producthunt.com/@onmyway133",
        "/tags/",
        "/contact/",
        "/speaking",
        "https://fonts.googleapis.com",
        "http://onmyway133.com/",
        "https://github.com/onmyway133",
        "https://medium.com/@onmyway133",
        "https://github.com/onmyway133/blog/issues/997",
        "https://github.com/onmyway133/blog/issues/1006",
        "/posts/how-to-prompt-users-to-configure-widgets-in-ios-18/",
        "/js/scripts.min.b659c1ee20bc1966ac063b3f4884d665d8245ddc5a19b66ce3d09cf700558a0d.js",
        "https://user-images.githubusercontent.com/2284279/57286819-71f8cb80-70b6-11e9-937e-a3572fb3bb57.png",
        "/mentions/",
        "/open-source",
        "https://gohugo.io/",
        "/posts/how-to-use-playground-in-swift-file/",
        "/js/common.min.4dfc53e2869803bfb37f2dc4ec47ccdfbaee346f1e330223e77bef1bf9b04958.js",
        "https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/custom-icons/",
        "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900\u0026family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900\u0026display=swap",
        "http://pinterest.com/pin/create/button/?url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-create-uitabbarcontroller-programmatically-in-ios%2f\u0026media=https%3a%2f%2fpicsum.photos%2fid%2f224%2f800%2f400\u0026description=How%20to%20create%20UITabBarController%20programmatically%20in%20iOS",
        "/posts/",
        "http://onmyway133.com/tags/swift/",
        "/posts/how-to-make-scale-to-fill-nsimageview-with-remote-kingfisher-image/",
        "https://www.facebook.com/sharer/sharer.php?u=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-create-uitabbarcontroller-programmatically-in-ios%2f",
        "https://www.linkedin.com/shareArticle?mini=true\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-create-uitabbarcontroller-programmatically-in-ios%2f\u0026title=How%20to%20create%20UITabBarController%20programmatically%20in%20iOS\u0026summary=\u0026source=How%20to%20create%20UITabBarController%20programmatically%20in%20iOS",
        "#",
        "/",
        "https://fonts.gstatic.com",
        "https://github.com/onmyway133/blog/issues/996",
        "https://github.com/onmyway133/blog/issues/998",
        "https://stackoverflow.com/users/1418457/onmyway133",
        "/favicon.ico",
        "https://github.com/onmyway133/blog/issues/224",
        "https://www.googletagmanager.com/gtag/js?id=G-452W0N71PK",
        "https://developer.apple.com/documentation/swiftui/glasseffectcontainer/",
        "https://X.com/onmyway133",
        "https://indiegoodies.com",
        "https://scripts.simpleanalyticscdn.com/latest.js",
        "/about",
        "/writing/",
        "https://wwdctogether.com",
        "http://onmyway133.com/tags/ios/",
        "/posts/how-to-morph-liquid-glass-view-transition/",
        "https://twitter.com/intent/tweet?text=How%20to%20create%20UITabBarController%20programmatically%20in%20iOS\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-create-uitabbarcontroller-programmatically-in-ios%2f",
        "http://onmyway133.com/tags/macos/"
      ],
      "httpBodyMetaTags": {
        "description": "",
        "og:description": "Issue #224\nlet tabBarController = UITabBarController()\n\nlet navigationController1 = UINavigationController(rootViewController: viewController1)\nlet navigationController2 = UINavigationController(rootViewController: viewController2)\nlet navigationController3 = UINavigationController(rootViewController: viewController3)\n\nnavigationController2.isNavigationBarHidden = true\n\nnavigationController1.tabBarItem.image = R.image.profile()\nnavigationController2.tabBarItem.image = R.image.books()\nnavigationController3.tabBarItem.image = R.image.settings()\n\ntabBarController.tabBar.tintColor = .yellow\ntabBarController.viewControllers = [navigationController1, navigationController2, navigationController3]\nUse tintColor instead of the deprecated selectedImageTintColor to indicate selected item color.\nFor icon size, check Tab Bar Icon Size, usually 50x50 for 2x and 75x75 for 3x\n\nIn portrait orientation, tab bar icons appear above tab titles. In landscape orientation, the icons and titles appear side-by-side. Depending on the device and orientation, the system displays either a regular or compact tab bar. Your app should include custom tab bar icons for both sizes.",
        "twitter:description": "Issue #224\nlet tabBarController = UITabBarController()\n\nlet navigationController1 = UINavigationController(rootViewController: viewController1)\nlet navigationController2 = UINavigationController(rootViewController: viewController2)\nlet navigationController3 = UINavigationController(rootViewController: viewController3)\n\nnavigationController2.isNavigationBarHidden = true\n\nnavigationController1.tabBarItem.image = R.image.profile()\nnavigationController2.tabBarItem.image = R.image.books()\nnavigationController3.tabBarItem.image = R.image.settings()\n\ntabBarController.tabBar.tintColor = .yellow\ntabBarController.viewControllers = [navigationController1, navigationController2, navigationController3]\nUse tintColor instead of the deprecated selectedImageTintColor to indicate selected item color.\nFor icon size, check Tab Bar Icon Size, usually 50x50 for 2x and 75x75 for 3x\n\nIn portrait orientation, tab bar icons appear above tab titles. In landscape orientation, the icons and titles appear side-by-side. Depending on the device and orientation, the system displays either a regular or compact tab bar. Your app should include custom tab bar icons for both sizes."
      },
      "httpBodyByteSize": 227697,
      "httpBodyPageTitle": "How to create UITabBarController programmatically in iOS | Swift Discovery"
    },
    "/posts/how-to-make-carousel-pager-view-in-swiftui/": {
      "date": "2026-02-06T20:20:22Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "76.76.21.21",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "XV35FBQ6N6S6LNFJ3ONIAPUZ4L7SXX3R",
      "httpHeaderTechnologies": [
        "HSTS",
        "Vercel"
      ],
      "httpHeaderUrls": [
        "iad1::j8j9g-1770409222921-7e90c4b78887"
      ],
      "httpHeaderByteSize": 660,
      "httpBodyHash": "WVZSNK5PGM6ZPAM43YE2I3YHWJPGIC46",
      "httpBodyTechnologies": [
        "Google Analytics",
        "Simple Analytics"
      ],
      "httpBodyUrls": [
        "https://www.googletagmanager.com/gtag/js?id=G-452W0N71PK",
        "https://twitter.com/intent/tweet?text=How%20to%20make%20carousel%20pager%20view%20in%20SwiftUI\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-carousel-pager-view-in-swiftui%2f",
        "/favicon.ico",
        "https://scripts.simpleanalyticscdn.com/latest.js",
        "/js/scripts.min.b659c1ee20bc1966ac063b3f4884d665d8245ddc5a19b66ce3d09cf700558a0d.js",
        "https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-scrolling-pages-of-content-using-tabviewstyle",
        "/contact/",
        "/speaking",
        "https://X.com/onmyway133",
        "https://fonts.gstatic.com",
        "http://onmyway133.com/authors/khoa/",
        "http://onmyway133.com/tags/swiftui/",
        "https://github.com/onmyway133/blog/issues/996",
        "https://swiftwithmajid.com/2019/12/25/building-pager-view-in-swiftui/",
        "/posts/",
        "/writing/",
        "/open-source",
        "https://wwdctogether.com",
        "https://github.com/onmyway133",
        "https://medium.com/@onmyway133",
        "https://github.com/onmyway133/blog/issues/997",
        "/posts/how-to-morph-liquid-glass-view-transition/",
        "/about",
        "https://indiegoodies.com",
        "https://github.com/onmyway133/blog/issues/812",
        "https://stackoverflow.com/users/1418457/onmyway133",
        "https://github.com/nachonavarro/Pages/blob/master/Sources/Pages/PageViewController.swift",
        "https://developer.apple.com/documentation/swiftui/view/matchedtransitionsource(id:in:configuration:)",
        "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900\u0026family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900\u0026display=swap",
        "http://pinterest.com/pin/create/button/?url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-carousel-pager-view-in-swiftui%2f\u0026media=https%3a%2f%2fpicsum.photos%2fid%2f812%2f800%2f400\u0026description=How%20to%20make%20carousel%20pager%20view%20in%20SwiftUI",
        "/tags/",
        "/mentions/",
        "http://onmyway133.com/tags/swift/",
        "https://github.com/onmyway133/blog/issues/995",
        "/posts/how-to-make-zoom-transition-animation-in-ios-18/",
        "/posts/how-to-prompt-users-to-configure-widgets-in-ios-18/",
        "https://developer.apple.com/documentation/swiftui/view/navigationtransition(_:)",
        "https://www.facebook.com/sharer/sharer.php?u=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-carousel-pager-view-in-swiftui%2f",
        "/posts/how-to-create-mesh-gradient-in-ios-18/",
        "https://github.com/onmyway133/blog/issues/994",
        "#",
        "http://onmyway133.com/",
        "https://www.linkedin.com/shareArticle?mini=true\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-carousel-pager-view-in-swiftui%2f\u0026title=How%20to%20make%20carousel%20pager%20view%20in%20SwiftUI\u0026summary=\u0026source=How%20to%20make%20carousel%20pager%20view%20in%20SwiftUI",
        "https://fonts.googleapis.com",
        "http://onmyway133.com/tags/ios/",
        "https://www.producthunt.com/@onmyway133",
        "https://developer.apple.com/documentation/swiftui/glasseffectcontainer/",
        "/js/common.min.4dfc53e2869803bfb37f2dc4ec47ccdfbaee346f1e330223e77bef1bf9b04958.js",
        "/",
        "https://gohugo.io/"
      ],
      "httpBodyMetaTags": {
        "description": "",
        "og:description": "Issue #812\nUse GeometryReader to set width and a DragGesture on LazyVStack\nCarouselView(\n    pageCount: images.count,\n    currentIndex: $selectedImageIndex\n) {\n    ForEach(0 ..\u003c images) { image in\n        // AsyncImage\n    }\n}\nstruct CarouselView\u003cContent: View\u003e: View {\n    let pageCount: Int\n    @Binding var currentIndex: Int\n    @ViewBuilder let content: Content\n\n    @GestureState private var translation: CGFloat = 0\n\n    var body: some View {\n        GeometryReader { geometry in\n            LazyHStack(spacing: 0) {\n                self.content.frame(width: geometry.size.width)\n            }\n            .frame(width: geometry.size.width, alignment: .leading)\n            .offset(x: -CGFloat(self.currentIndex) * geometry.size.width)\n            .offset(x: self.translation)\n            .animation(.interactiveSpring(), value: currentIndex)\n            .animation(.interactiveSpring(), value: translation)\n            .gesture(\n                DragGesture()\n                    .updating(self.$translation) { value, state, _ in\n                        state = value.translation.width\n                    }.onEnded { value in\n                        let offset = value.translation.width / geometry.size.width\n                        let newIndex = (CGFloat(self.currentIndex) - offset).rounded()\n                        self.currentIndex = min(max(Int(newIndex), 0), self.pageCount - 1)\n                    }\n            )\n        }\n    }\n}\nRead more\n\nUse DragGesture on HStack https://swiftwithmajid.com/2019/12/25/building-pager-view-in-swiftui/\nUse UIPageViewController under the hood https://github.com/nachonavarro/Pages/blob/master/Sources/Pages/PageViewController.swift\nUse PageTabViewStyle but need to cancel vertical scroll https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-scrolling-pages-of-content-using-tabviewstyle",
        "twitter:description": "Issue #812\nUse GeometryReader to set width and a DragGesture on LazyVStack\nCarouselView(\n    pageCount: images.count,\n    currentIndex: $selectedImageIndex\n) {\n    ForEach(0 ..\u003c images) { image in\n        // AsyncImage\n    }\n}\nstruct CarouselView\u003cContent: View\u003e: View {\n    let pageCount: Int\n    @Binding var currentIndex: Int\n    @ViewBuilder let content: Content\n\n    @GestureState private var translation: CGFloat = 0\n\n    var body: some View {\n        GeometryReader { geometry in\n            LazyHStack(spacing: 0) {\n                self.content.frame(width: geometry.size.width)\n            }\n            .frame(width: geometry.size.width, alignment: .leading)\n            .offset(x: -CGFloat(self.currentIndex) * geometry.size.width)\n            .offset(x: self.translation)\n            .animation(.interactiveSpring(), value: currentIndex)\n            .animation(.interactiveSpring(), value: translation)\n            .gesture(\n                DragGesture()\n                    .updating(self.$translation) { value, state, _ in\n                        state = value.translation.width\n                    }.onEnded { value in\n                        let offset = value.translation.width / geometry.size.width\n                        let newIndex = (CGFloat(self.currentIndex) - offset).rounded()\n                        self.currentIndex = min(max(Int(newIndex), 0), self.pageCount - 1)\n                    }\n            )\n        }\n    }\n}\nRead more\n\nUse DragGesture on HStack https://swiftwithmajid.com/2019/12/25/building-pager-view-in-swiftui/\nUse UIPageViewController under the hood https://github.com/nachonavarro/Pages/blob/master/Sources/Pages/PageViewController.swift\nUse PageTabViewStyle but need to cancel vertical scroll https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-scrolling-pages-of-content-using-tabviewstyle"
      },
      "httpBodyByteSize": 234795,
      "httpBodyPageTitle": "How to make carousel pager view in SwiftUI | Swift Discovery"
    },
    "/posts/how-to-make-simple-redux-for-swiftui/": {
      "date": "2026-02-06T20:13:32Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "76.76.21.21",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "OUHIIK5Q7KSFDOBD3AJOJW2N7TZHG4CY",
      "httpHeaderTechnologies": [
        "HSTS",
        "Vercel"
      ],
      "httpHeaderUrls": [
        "iad1::zd96l-1770408812321-11c38ecc18ce"
      ],
      "httpHeaderByteSize": 654,
      "httpBodyHash": "OUHYDATEUAMUOUZFUZWJGUMHNMUWDPOU",
      "httpBodyTechnologies": [
        "Google Analytics",
        "Simple Analytics"
      ],
      "httpBodyUrls": [
        "/open-source",
        "https://X.com/onmyway133",
        "https://wwdctogether.com",
        "https://fonts.googleapis.com",
        "https://github.com/onmyway133",
        "http://onmyway133.com/tags/swift/",
        "/",
        "http://onmyway133.com/tags/swiftui/",
        "https://github.com/mecid/swiftui-recipes-app",
        "https://github.com/onmyway133/blog/issues/995",
        "/posts/how-to-morph-liquid-glass-view-transition/",
        "/posts/how-to-make-zoom-transition-animation-in-ios-18/",
        "https://developer.apple.com/documentation/swiftui/view/navigationtransition(_:)",
        "https://www.facebook.com/sharer/sharer.php?u=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-simple-redux-for-swiftui%2f",
        "#",
        "/about",
        "/speaking",
        "https://github.com/onmyway133/blog/issues/994",
        "https://github.com/onmyway133/blog/issues/996",
        "https://twitter.com/intent/tweet?text=How%20to%20make%20simple%20Redux%20for%20SwiftUI\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-simple-redux-for-swiftui%2f",
        "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900\u0026family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900\u0026display=swap",
        "https://gohugo.io/",
        "/posts/how-to-prompt-users-to-configure-widgets-in-ios-18/",
        "https://swiftwithmajid.com/2019/09/18/redux-like-state-container-in-swiftui/",
        "/js/common.min.4dfc53e2869803bfb37f2dc4ec47ccdfbaee346f1e330223e77bef1bf9b04958.js",
        "/contact/",
        "https://medium.com/@onmyway133",
        "http://onmyway133.com/tags/ios/",
        "https://stackoverflow.com/users/1418457/onmyway133",
        "https://www.googletagmanager.com/gtag/js?id=G-452W0N71PK",
        "https://developer.apple.com/documentation/swiftui/view/matchedtransitionsource(id:in:configuration:)",
        "/tags/",
        "/writing/",
        "http://onmyway133.com/",
        "https://www.producthunt.com/@onmyway133",
        "https://github.com/onmyway133/blog/issues/997",
        "https://scripts.simpleanalyticscdn.com/latest.js",
        "https://developer.apple.com/documentation/swiftui/glasseffectcontainer/",
        "http://pinterest.com/pin/create/button/?url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-simple-redux-for-swiftui%2f\u0026media=https%3a%2f%2fpicsum.photos%2fid%2f502%2f800%2f400\u0026description=How%20to%20make%20simple%20Redux%20for%20SwiftUI",
        "https://indiegoodies.com",
        "http://onmyway133.com/authors/khoa/",
        "https://github.com/redux-observable/redux-observable",
        "https://www.linkedin.com/shareArticle?mini=true\u0026url=http%3a%2f%2fonmyway133.com%2fposts%2fhow-to-make-simple-redux-for-swiftui%2f\u0026title=How%20to%20make%20simple%20Redux%20for%20SwiftUI\u0026summary=\u0026source=How%20to%20make%20simple%20Redux%20for%20SwiftUI",
        "/posts/",
        "/mentions/",
        "https://fonts.gstatic.com",
        "https://github.com/onmyway133/blog/issues/502",
        "/js/scripts.min.b659c1ee20bc1966ac063b3f4884d665d8245ddc5a19b66ce3d09cf700558a0d.js",
        "/posts/how-to-create-mesh-gradient-in-ios-18/",
        "/favicon.ico"
      ],
      "httpBodyMetaTags": {
        "description": "",
        "og:description": "Issue #502\nMutation is used to mutate state synchronously. Action is like intent, either from app or from user action. Action maps to Mutation in form of Publisher to work  with  async action, similar to redux-observable\nAnyReducer is a type erasure that takes the reduce function\nimport Combine\nimport Foundation\n\npublic protocol Reducer {\n    associatedtype State\n    associatedtype Mutation\n    func reduce(state: State, mutation: Mutation) -\u003e State\n}\n\npublic struct AnyReducer\u003cState, Mutation\u003e {\n    public let reduce: (State, Mutation) -\u003e State\n    public init\u003cR: Reducer\u003e(reducer: R) where R.State == State, R.Mutation == Mutation {\n        self.reduce = reducer.reduce\n    }\n}\n\npublic protocol Action {\n    associatedtype Mutation\n    func toMutation() -\u003e AnyPublisher\u003cMutation, Never\u003e\n}\n\npublic final class Store\u003cState, Mutation\u003e: ObservableObject {\n    @Published public private(set) var state: State\n    public let reducer: AnyReducer\u003cState, Mutation\u003e\n    public private(set) var cancellables = Set\u003cAnyCancellable\u003e()\n\n    public init(initialState: State, reducer: AnyReducer\u003cState, Mutation\u003e) {\n        self.state = initialState\n        self.reducer = reducer\n    }\n\n    public func send\u003cA: Action\u003e(action: A) where A.Mutation == Mutation {\n        action\n            .toMutation()\n            .receive(on: DispatchQueue.main)\n            .sink(receiveValue: update(mutation:))\n            .store(in: \u0026cancellables)\n    }\n\n    public func update(mutation: Mutation) {\n        self.state = reducer.reduce(state, mutation)\n    }\n}\nTo use, conform to all the protocols. Also make typelias AppStore in order to easy specify type in SwiftUI View",
        "twitter:description": "Issue #502\nMutation is used to mutate state synchronously. Action is like intent, either from app or from user action. Action maps to Mutation in form of Publisher to work  with  async action, similar to redux-observable\nAnyReducer is a type erasure that takes the reduce function\nimport Combine\nimport Foundation\n\npublic protocol Reducer {\n    associatedtype State\n    associatedtype Mutation\n    func reduce(state: State, mutation: Mutation) -\u003e State\n}\n\npublic struct AnyReducer\u003cState, Mutation\u003e {\n    public let reduce: (State, Mutation) -\u003e State\n    public init\u003cR: Reducer\u003e(reducer: R) where R.State == State, R.Mutation == Mutation {\n        self.reduce = reducer.reduce\n    }\n}\n\npublic protocol Action {\n    associatedtype Mutation\n    func toMutation() -\u003e AnyPublisher\u003cMutation, Never\u003e\n}\n\npublic final class Store\u003cState, Mutation\u003e: ObservableObject {\n    @Published public private(set) var state: State\n    public let reducer: AnyReducer\u003cState, Mutation\u003e\n    public private(set) var cancellables = Set\u003cAnyCancellable\u003e()\n\n    public init(initialState: State, reducer: AnyReducer\u003cState, Mutation\u003e) {\n        self.state = initialState\n        self.reducer = reducer\n    }\n\n    public func send\u003cA: Action\u003e(action: A) where A.Mutation == Mutation {\n        action\n            .toMutation()\n            .receive(on: DispatchQueue.main)\n            .sink(receiveValue: update(mutation:))\n            .store(in: \u0026cancellables)\n    }\n\n    public func update(mutation: Mutation) {\n        self.state = reducer.reduce(state, mutation)\n    }\n}\nTo use, conform to all the protocols. Also make typelias AppStore in order to easy specify type in SwiftUI View"
      },
      "httpBodyByteSize": 242235,
      "httpBodyPageTitle": "How to make simple Redux for SwiftUI | Swift Discovery"
    }
  },
  "schoenlaub.dev": {
    "/series/continuous-discovery/": {
      "date": "2026-02-13T07:53:22Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "172.67.220.132",
      "ipASN": "Cloudflare, Inc.",
      "ipCountry": null,
      "httpHeaderHash": "MQ7YLYQP5C6CASVRWCYUDV2CUMVYGRIN",
      "httpHeaderTechnologies": [
        "HTTP/3",
        "Cloudflare"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 883,
      "httpBodyHash": "A4K6A6CC6MOPW7Y36PWZ22FSWWVEET2D",
      "httpBodyTechnologies": [
        "Hugo:0.143.0",
        "Cloudflare Browser Insights"
      ],
      "httpBodyUrls": [
        "/manifest.webmanifest",
        "https://schoenlaub.dev/series/continuous-discovery/ld.json",
        "/js/code.min.6a916d004c6041ca67aecc4fbe1ef204fe1090e6f67341797d5831d74ac1e720.js",
        "/css/main.min.dcb765a0cc5322b7f45d7f86000fdf06fb0bcb139659cb1cd146096cb72633e5.css",
        "https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015",
        "https://indieauth.com/auth",
        "https://analytics.eu.umami.is/script.js",
        "https://schoenlaub.dev/series/continuous-discovery/atom.xml",
        "https://schoenlaub.dev/2024/12/what-is-continuous-discovery/",
        "https://schoenlaub.dev/series/continuous-discovery/actor.json",
        "/blog/",
        "/authors/mschoenlaub/",
        "https://schoenlaub.dev/",
        "https://tokens.indieauth.com/token",
        "https://static.cloudflareinsights.com/beacon.min.js",
        "https://schoenlaub.dev/series/continuous-discovery/index.xml",
        "https://schoenlaub.dev/series/continuous-discovery/",
        "https://schoenlaub.dev/series/continuous-discovery/outbox.json",
        "/2024/12/what-is-continuous-discovery/cover_hu_26635eae8d2a1c19.ea2af6927fdebc784abaf88961f0dfe43192f0dd3e51403a3abc6a0f3eb56835.png"
      ],
      "httpBodyMetaTags": {
        "description": ""
      },
      "httpBodyByteSize": 16972,
      "httpBodyPageTitle": "Continuous Discovery"
    }
  },
  "wizardfrag.co.uk": {
    "/": {
      "date": "2026-02-14T05:09:03Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "104.21.10.142",
      "ipASN": "Cloudflare, Inc.",
      "ipCountry": null,
      "httpHeaderHash": "PQYKDYDUOEROL3PV4HGOV4NM7HJVX4HE",
      "httpHeaderTechnologies": [
        "HTTP/3",
        "Cloudflare"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 883,
      "httpBodyHash": "JFGB5MAD6G2GQXAN4Y5VBS7AHSBUM4NZ",
      "httpBodyTechnologies": [
        "Hugo:0.143.0",
        "Cloudflare Browser Insights"
      ],
      "httpBodyUrls": [
        "https://gohugo.io/",
        "https://helloprima.com",
        "https://github.com/wizardfrag",
        "https://wizardfrag.co.uk/posts/hello-world/",
        "https://wizardfrag.co.uk/safari-pinned-tab.svg",
        "https://wizardfrag.co.uk/posts/hello-world/hello-world-cover.jpg",
        "https://wizardfrag.co.uk/index.xml",
        "https://wizardfrag.co.uk/favicon.ico",
        "https://bsky.app/profile/wizardfrag.uk",
        "https://wizardfrag.co.uk/favicon-32x32.png",
        "https://github.com/adityatelange/hugo-PaperMod/",
        "/assets/css/stylesheet.45e028aa8ce0961349adf411b013ee39406be2c0bc80d4ea3fc04555f7f4611a.css",
        "https://wizardfrag.co.uk/apple-touch-icon.png",
        "https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015",
        "#top",
        "https://wizardfrag.co.uk/",
        "https://mstdn.social/@wizardfrag",
        "https://wizardfrag.co.uk/favicon-16x16.png"
      ],
      "httpBodyMetaTags": {
        "description": "Software developer and hobbyist game developer",
        "og:description": "Software developer and hobbyist game developer",
        "twitter:description": "Software developer and hobbyist game developer"
      },
      "httpBodyByteSize": 13381,
      "httpBodyPageTitle": "David White"
    }
  }
}