{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/aYGJCvSFoantRUzfEvdJ/R3HzaXN99zpIst2zJwMZ/codesandbox_nodebox.js", "ssg:https://framerusercontent.com/modules/fn2r53K2SixLM3ktuGOw/eTuqjtAw0LFZDyNdTgHv/codesandbox_sandpack_client.js", "ssg:https://framerusercontent.com/modules/peSgSa05KnLqaA8FHu9n/D7eZPbfsEH95yDKH1UTM/codemirror_commands.js", "ssg:https://framerusercontent.com/modules/SWAtenub3goqbKHfvwGg/SGdoMClxnsCb2h0GRQ48/codesandbox_sandpack_react.js", "ssg:https://framerusercontent.com/modules/wOI0XDWuPNeaYuatKp4b/ezOdeUpHBrE7fwL9evTL/browser.js", "ssg:https://framerusercontent.com/modules/19BkzxjVBT3VP0Ykl3DY/Ca7pJ6oGfAIcZSScMdTx/types.js", "ssg:https://framerusercontent.com/modules/HpmklHRFex5a5HMDftQo/5VVfjnRHGJM1T33zb1N5/SuspenseValue.js", "ssg:https://framerusercontent.com/modules/IdMJ4CymCWCh4cOBkZlb/RXSqswLIbuViBOVW1keE/utils.js", "ssg:https://framerusercontent.com/modules/DyzTKdNCsRH8nvz08sNT/dJhQ3yTSKg9tQmEoIrL8/useLanguageAsync.js", "ssg:https://framerusercontent.com/modules/c4BjG1nmVImY1EzTuV13/OqRStXQUJv4l4u3XtQrx/codesandbox_sandpack_themes.js", "ssg:https://framerusercontent.com/modules/HdJmYu90NFzknVhsFw9C/cOAv9fBRPSDcFUuL4yPJ/theming.js", "ssg:https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/VRQHcjrUbz44BGN94kVX/CodeBlock.js", "ssg:https://framerusercontent.com/modules/23om2LJCjwJ5oT9x5reG/WhZgmQkaJ5wsCU9shPFV/N9zffXeA0.js"],
  "sourcesContent": ["// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */ // ../../node_modules/@codesandbox/nodebox/build/index.mjs\nfunction _checkPrivateRedeclaration(obj, privateCollection) {\n  if (privateCollection.has(obj)) {\n    throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n  }\n}\nfunction _classApplyDescriptorGet(receiver, descriptor) {\n  if (descriptor.get) {\n    return descriptor.get.call(receiver);\n  }\n  return descriptor.value;\n}\nfunction _classApplyDescriptorSet(receiver, descriptor, value) {\n  if (descriptor.set) {\n    descriptor.set.call(receiver, value);\n  } else {\n    if (!descriptor.writable) {\n      throw new TypeError(\"attempted to set read only private field\");\n    }\n    descriptor.value = value;\n  }\n}\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) {\n  if (!privateMap.has(receiver)) {\n    throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n  }\n  return privateMap.get(receiver);\n}\nfunction _classPrivateFieldGet(receiver, privateMap) {\n  var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\");\n  return _classApplyDescriptorGet(receiver, descriptor);\n}\nfunction _classPrivateFieldInit(obj, privateMap, value) {\n  _checkPrivateRedeclaration(obj, privateMap);\n  privateMap.set(obj, value);\n}\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n  var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\");\n  _classApplyDescriptorSet(receiver, descriptor, value);\n  return value;\n}\nfunction _classPrivateMethodGet(receiver, privateSet, fn) {\n  if (!privateSet.has(receiver)) {\n    throw new TypeError(\"attempted to get private field on non-instance\");\n  }\n  return fn;\n}\nfunction _classPrivateMethodInit(obj, privateSet) {\n  _checkPrivateRedeclaration(obj, privateSet);\n  privateSet.add(obj);\n}\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n  enumerable: true,\n  configurable: true,\n  writable: true,\n  value\n}) : obj[key] = value;\nvar __commonJS = (cb, mod) => function __require() {\n  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {\n    exports: {}\n  }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n      get: () => from[key],\n      enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n    });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n  value: mod,\n  enumerable: true\n}) : target, mod));\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\nvar __accessCheck = (obj, member, msg) => {\n  if (!member.has(obj)) throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n  __accessCheck(obj, member, \"read from private field\");\n  return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n  if (member.has(obj)) throw TypeError(\"Cannot add the same private member more than once\");\n  member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n  __accessCheck(obj, member, \"write to private field\");\n  setter ? setter.call(obj, value) : member.set(obj, value);\n  return value;\n};\nvar __privateMethod = (obj, member, method) => {\n  __accessCheck(obj, member, \"access private method\");\n  return method;\n};\nvar require_pad = __commonJS({\n  \"../../node_modules/.pnpm/cuid@2.1.8/node_modules/cuid/lib/pad.js\"(exports, module) {\n    module.exports = function pad(num, size) {\n      var s = \"000000000\" + num;\n      return s.substr(s.length - size);\n    };\n  }\n});\nvar require_fingerprint_browser = __commonJS({\n  \"../../node_modules/.pnpm/cuid@2.1.8/node_modules/cuid/lib/fingerprint.browser.js\"(exports, module) {\n    module.exports = function fingerprint() {\n      return Math.random().toString(16).slice(2);\n    };\n  }\n});\nvar require_getRandomValue_browser = __commonJS({\n  \"../../node_modules/.pnpm/cuid@2.1.8/node_modules/cuid/lib/getRandomValue.browser.js\"(exports, module) {\n    var getRandomValue;\n    var crypto = typeof window !== \"undefined\" && (window.crypto || window.msCrypto) || typeof self !== \"undefined\" && self.crypto;\n    if (crypto) {\n      lim = Math.pow(2, 32) - 1;\n      getRandomValue = function () {\n        return Math.abs(crypto.getRandomValues(new Uint32Array(1))[0] / lim);\n      };\n    } else {\n      getRandomValue = Math.random;\n    }\n    var lim;\n    module.exports = getRandomValue;\n  }\n});\nvar require_cuid = __commonJS({\n  \"../../node_modules/.pnpm/cuid@2.1.8/node_modules/cuid/index.js\"(exports, module) {\n    var fingerprint = require_fingerprint_browser();\n    var pad = require_pad();\n    var getRandomValue = require_getRandomValue_browser();\n    var c = 0;\n    var blockSize = 4;\n    var base = 36;\n    var discreteValues = Math.pow(base, blockSize);\n    function randomBlock() {\n      return pad((getRandomValue() * discreteValues << 0).toString(base), blockSize);\n    }\n    function safeCounter() {\n      c = c < discreteValues ? c : 0;\n      c++;\n      return c - 1;\n    }\n    function cuid3() {\n      var letter = \"c\",\n        timestamp = /* @__PURE__ */new Date().getTime().toString(base),\n        counter = pad(safeCounter().toString(base), blockSize),\n        print = fingerprint(),\n        random = randomBlock() + randomBlock();\n      return letter + timestamp + counter + print + random;\n    }\n    cuid3.slug = function slug() {\n      var date = /* @__PURE__ */new Date().getTime().toString(36),\n        counter = safeCounter().toString(36).slice(-4),\n        print = fingerprint().slice(0, 1) + fingerprint().slice(-1),\n        random = randomBlock().slice(-2);\n      return date.slice(-2) + counter + print + random;\n    };\n    cuid3.isCuid = function isCuid(stringToCheck) {\n      if (typeof stringToCheck !== \"string\") return false;\n      if (stringToCheck.startsWith(\"c\")) return true;\n      return false;\n    };\n    cuid3.isSlug = function isSlug(stringToCheck) {\n      if (typeof stringToCheck !== \"string\") return false;\n      var stringLength = stringToCheck.length;\n      if (stringLength >= 7 && stringLength <= 10) return true;\n      return false;\n    };\n    cuid3.fingerprint = fingerprint;\n    module.exports = cuid3;\n  }\n});\nvar require_createDeferredExecutor = __commonJS({\n  \"../../node_modules/.pnpm/@open-draft+deferred-promise@2.1.0/node_modules/@open-draft/deferred-promise/build/createDeferredExecutor.js\"(exports) {\n    \"use strict\";\n\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    exports.createDeferredExecutor = void 0;\n    function createDeferredExecutor() {\n      const executor = (resolve, reject) => {\n        executor.state = \"pending\";\n        executor.resolve = data => {\n          if (executor.state !== \"pending\") {\n            return;\n          }\n          executor.result = data;\n          const onFulfilled = value => {\n            executor.state = \"fulfilled\";\n            return value;\n          };\n          return resolve(data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled));\n        };\n        executor.reject = reason => {\n          if (executor.state !== \"pending\") {\n            return;\n          }\n          queueMicrotask(() => {\n            executor.state = \"rejected\";\n          });\n          return reject(executor.rejectionReason = reason);\n        };\n      };\n      return executor;\n    }\n    exports.createDeferredExecutor = createDeferredExecutor;\n  }\n});\nvar require_DeferredPromise = __commonJS({\n  \"../../node_modules/.pnpm/@open-draft+deferred-promise@2.1.0/node_modules/@open-draft/deferred-promise/build/DeferredPromise.js\"(exports) {\n    \"use strict\";\n\n    var _executor, _decorate, _class;\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    exports.DeferredPromise = void 0;\n    var createDeferredExecutor_1 = require_createDeferredExecutor();\n    var DeferredPromise4 = (_executor = /*#__PURE__*/new WeakMap(), _decorate = /*#__PURE__*/new WeakSet(), _class = class extends Promise {\n      get state() {\n        return _classPrivateFieldGet(this, _executor).state;\n      }\n      get rejectionReason() {\n        return _classPrivateFieldGet(this, _executor).rejectionReason;\n      }\n      then(onFulfilled, onRejected) {\n        return _classPrivateMethodGet(this, _decorate, decorate).call(this, super.then(onFulfilled, onRejected));\n      }\n      catch(onRejected) {\n        return _classPrivateMethodGet(this, _decorate, decorate).call(this, super.catch(onRejected));\n      }\n      finally(onfinally) {\n        return _classPrivateMethodGet(this, _decorate, decorate).call(this, super.finally(onfinally));\n      }\n      constructor(executor = null) {\n        const deferredExecutor = (0, createDeferredExecutor_1.createDeferredExecutor)();\n        super((originalResolve, originalReject) => {\n          deferredExecutor(originalResolve, originalReject);\n          executor === null || executor === void 0 ? void 0 : executor(deferredExecutor.resolve, deferredExecutor.reject);\n        });\n        _classPrivateMethodInit(this, _decorate);\n        _classPrivateFieldInit(this, _executor, {\n          writable: true,\n          value: void 0\n        });\n        _classPrivateFieldSet(this, _executor, deferredExecutor);\n        this.resolve = _classPrivateFieldGet(this, _executor).resolve;\n        this.reject = _classPrivateFieldGet(this, _executor).reject;\n      }\n    }, _class);\n    exports.DeferredPromise = DeferredPromise4;\n    function decorate(promise) {\n      return Object.defineProperties(promise, {\n        resolve: {\n          configurable: true,\n          value: this.resolve\n        },\n        reject: {\n          configurable: true,\n          value: this.reject\n        }\n      });\n    }\n  }\n});\nvar require_build = __commonJS({\n  \"../../node_modules/.pnpm/@open-draft+deferred-promise@2.1.0/node_modules/@open-draft/deferred-promise/build/index.js\"(exports) {\n    \"use strict\";\n\n    var __createBinding = exports && exports.__createBinding || (Object.create ? function (o, m, k, k2) {\n      if (k2 === void 0) k2 = k;\n      var desc = Object.getOwnPropertyDescriptor(m, k);\n      if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n        desc = {\n          enumerable: true,\n          get: function () {\n            return m[k];\n          }\n        };\n      }\n      Object.defineProperty(o, k2, desc);\n    } : function (o, m, k, k2) {\n      if (k2 === void 0) k2 = k;\n      o[k2] = m[k];\n    });\n    var __exportStar = exports && exports.__exportStar || function (m, exports2) {\n      for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p);\n    };\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    __exportStar(require_createDeferredExecutor(), exports);\n    __exportStar(require_DeferredPromise(), exports);\n  }\n});\nvar require_MemoryLeakError = __commonJS({\n  \"../../node_modules/.pnpm/strict-event-emitter@0.4.3/node_modules/strict-event-emitter/lib/MemoryLeakError.js\"(exports) {\n    \"use strict\";\n\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    exports.MemoryLeakError = void 0;\n    var MemoryLeakError = class extends Error {\n      constructor(emitter, type, count) {\n        super(`Possible EventEmitter memory leak detected. ${count} ${type.toString()} listeners added. Use emitter.setMaxListeners() to increase limit`);\n        this.emitter = emitter;\n        this.type = type;\n        this.count = count;\n        this.name = \"MaxListenersExceededWarning\";\n      }\n    };\n    exports.MemoryLeakError = MemoryLeakError;\n  }\n});\nvar require_Emitter = __commonJS({\n  \"../../node_modules/.pnpm/strict-event-emitter@0.4.3/node_modules/strict-event-emitter/lib/Emitter.js\"(exports) {\n    \"use strict\";\n\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    exports.Emitter = void 0;\n    var MemoryLeakError_1 = require_MemoryLeakError();\n    var _events, _maxListeners, _hasWarnedAboutPotentialMemortyLeak, _getListeners, getListeners_fn, _removeListener, removeListener_fn, _wrapOnceListener, wrapOnceListener_fn, _internalEmit, internalEmit_fn;\n    var _Emitter = class {\n      static listenerCount(emitter, eventName) {\n        return emitter.listenerCount(eventName);\n      }\n      setMaxListeners(maxListeners) {\n        __privateSet(this, _maxListeners, maxListeners);\n        return this;\n      }\n      getMaxListeners() {\n        return __privateGet(this, _maxListeners);\n      }\n      eventNames() {\n        return Array.from(__privateGet(this, _events).keys());\n      }\n      emit(eventName, ...data) {\n        const listeners = __privateMethod(this, _getListeners, getListeners_fn).call(this, eventName);\n        listeners.forEach(listener => {\n          listener.apply(this, data);\n        });\n        return listeners.length > 0;\n      }\n      addListener(eventName, listener) {\n        __privateMethod(this, _internalEmit, internalEmit_fn).call(this, \"newListener\", eventName, listener);\n        const nextListeners = __privateMethod(this, _getListeners, getListeners_fn).call(this, eventName).concat(listener);\n        __privateGet(this, _events).set(eventName, nextListeners);\n        if (__privateGet(this, _maxListeners) > 0 && this.listenerCount(eventName) > __privateGet(this, _maxListeners) && !__privateGet(this, _hasWarnedAboutPotentialMemortyLeak)) {\n          __privateSet(this, _hasWarnedAboutPotentialMemortyLeak, true);\n          const memoryLeakWarning = new MemoryLeakError_1.MemoryLeakError(this, eventName, this.listenerCount(eventName));\n          console.warn(memoryLeakWarning);\n        }\n        return this;\n      }\n      on(eventName, listener) {\n        return this.addListener(eventName, listener);\n      }\n      once(eventName, listener) {\n        return this.addListener(eventName, __privateMethod(this, _wrapOnceListener, wrapOnceListener_fn).call(this, eventName, listener));\n      }\n      prependListener(eventName, listener) {\n        const listeners = __privateMethod(this, _getListeners, getListeners_fn).call(this, eventName);\n        if (listeners.length > 0) {\n          const nextListeners = [listener].concat(listeners);\n          __privateGet(this, _events).set(eventName, nextListeners);\n        } else {\n          __privateGet(this, _events).set(eventName, listeners.concat(listener));\n        }\n        return this;\n      }\n      prependOnceListener(eventName, listener) {\n        return this.prependListener(eventName, __privateMethod(this, _wrapOnceListener, wrapOnceListener_fn).call(this, eventName, listener));\n      }\n      removeListener(eventName, listener) {\n        const listeners = __privateMethod(this, _getListeners, getListeners_fn).call(this, eventName);\n        if (listeners.length > 0) {\n          __privateMethod(this, _removeListener, removeListener_fn).call(this, listeners, listener);\n          __privateGet(this, _events).set(eventName, listeners);\n          __privateMethod(this, _internalEmit, internalEmit_fn).call(this, \"removeListener\", eventName, listener);\n        }\n        return this;\n      }\n      off(eventName, listener) {\n        return this.removeListener(eventName, listener);\n      }\n      removeAllListeners(eventName) {\n        if (eventName) {\n          __privateGet(this, _events).delete(eventName);\n        } else {\n          __privateGet(this, _events).clear();\n        }\n        return this;\n      }\n      listeners(eventName) {\n        return Array.from(__privateMethod(this, _getListeners, getListeners_fn).call(this, eventName));\n      }\n      listenerCount(eventName) {\n        return __privateMethod(this, _getListeners, getListeners_fn).call(this, eventName).length;\n      }\n      rawListeners(eventName) {\n        return this.listeners(eventName);\n      }\n      constructor() {\n        __privateAdd(this, _getListeners);\n        __privateAdd(this, _removeListener);\n        __privateAdd(this, _wrapOnceListener);\n        __privateAdd(this, _internalEmit);\n        __privateAdd(this, _events, void 0);\n        __privateAdd(this, _maxListeners, void 0);\n        __privateAdd(this, _hasWarnedAboutPotentialMemortyLeak, void 0);\n        __privateSet(this, _events, /* @__PURE__ */new Map());\n        __privateSet(this, _maxListeners, _Emitter.defaultMaxListeners);\n        __privateSet(this, _hasWarnedAboutPotentialMemortyLeak, false);\n      }\n    };\n    var Emitter2 = _Emitter;\n    _events = /* @__PURE__ */new WeakMap();\n    _maxListeners = /* @__PURE__ */new WeakMap();\n    _hasWarnedAboutPotentialMemortyLeak = /* @__PURE__ */new WeakMap();\n    _getListeners = /* @__PURE__ */new WeakSet();\n    getListeners_fn = function (eventName) {\n      return __privateGet(this, _events).get(eventName) || [];\n    };\n    _removeListener = /* @__PURE__ */new WeakSet();\n    removeListener_fn = function (listeners, listener) {\n      const index = listeners.indexOf(listener);\n      if (index > -1) {\n        listeners.splice(index, 1);\n      }\n      return [];\n    };\n    _wrapOnceListener = /* @__PURE__ */new WeakSet();\n    wrapOnceListener_fn = function (eventName, listener) {\n      const onceListener = (...data) => {\n        this.removeListener(eventName, onceListener);\n        listener.apply(this, data);\n      };\n      return onceListener;\n    };\n    _internalEmit = /* @__PURE__ */new WeakSet();\n    internalEmit_fn = function (internalEventName, eventName, listener) {\n      this.emit(internalEventName, ...[eventName, listener]);\n    };\n    __publicField(Emitter2, \"defaultMaxListeners\", 10);\n    exports.Emitter = Emitter2;\n  }\n});\nvar require_lib = __commonJS({\n  \"../../node_modules/.pnpm/strict-event-emitter@0.4.3/node_modules/strict-event-emitter/lib/index.js\"(exports) {\n    \"use strict\";\n\n    var __createBinding = exports && exports.__createBinding || (Object.create ? function (o, m, k, k2) {\n      if (k2 === void 0) k2 = k;\n      var desc = Object.getOwnPropertyDescriptor(m, k);\n      if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n        desc = {\n          enumerable: true,\n          get: function () {\n            return m[k];\n          }\n        };\n      }\n      Object.defineProperty(o, k2, desc);\n    } : function (o, m, k, k2) {\n      if (k2 === void 0) k2 = k;\n      o[k2] = m[k];\n    });\n    var __exportStar = exports && exports.__exportStar || function (m, exports2) {\n      for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p);\n    };\n    Object.defineProperty(exports, \"__esModule\", {\n      value: true\n    });\n    __exportStar(require_Emitter(), exports);\n    __exportStar(require_MemoryLeakError(), exports);\n  }\n});\nvar import_cuid = __toESM(require_cuid());\nvar POSITIONALS_EXP = /(%?)(%([sdjo]))/g;\nfunction serializePositional(positional, flag) {\n  switch (flag) {\n    case \"s\":\n      return positional;\n    case \"d\":\n    case \"i\":\n      return Number(positional);\n    case \"j\":\n      return JSON.stringify(positional);\n    case \"o\":\n      {\n        if (typeof positional === \"string\") {\n          return positional;\n        }\n        const json = JSON.stringify(positional);\n        if (json === \"{}\" || json === \"[]\" || /^\\[object .+?\\]$/.test(json)) {\n          return positional;\n        }\n        return json;\n      }\n  }\n}\nfunction format(message, ...positionals) {\n  if (positionals.length === 0) {\n    return message;\n  }\n  let positionalIndex = 0;\n  let formattedMessage = message.replace(POSITIONALS_EXP, (match, isEscaped, _, flag) => {\n    const positional = positionals[positionalIndex];\n    const value = serializePositional(positional, flag);\n    if (!isEscaped) {\n      positionalIndex++;\n      return value;\n    }\n    return match;\n  });\n  if (positionalIndex < positionals.length) {\n    formattedMessage += ` ${positionals.slice(positionalIndex).join(\" \")}`;\n  }\n  formattedMessage = formattedMessage.replace(/%{2,2}/g, \"%\");\n  return formattedMessage;\n}\nvar STACK_FRAMES_TO_IGNORE = 2;\nfunction cleanErrorStack(error) {\n  if (!error.stack) {\n    return;\n  }\n  const nextStack = error.stack.split(\"\\n\");\n  nextStack.splice(1, STACK_FRAMES_TO_IGNORE);\n  error.stack = nextStack.join(\"\\n\");\n}\nvar InvariantError = class extends Error {\n  constructor(message, ...positionals) {\n    super(message);\n    this.message = message;\n    this.name = \"Invariant Violation\";\n    this.message = format(message, ...positionals);\n    cleanErrorStack(this);\n  }\n};\nvar invariant = (predicate, message, ...positionals) => {\n  if (!predicate) {\n    throw new InvariantError(message, ...positionals);\n  }\n};\ninvariant.as = (ErrorConstructor, predicate, message, ...positionals) => {\n  if (!predicate) {\n    const isConstructor = ErrorConstructor.prototype.name != null;\n    const error = isConstructor ? new ErrorConstructor(format(message, positionals)) : ErrorConstructor(format(message, positionals));\n    throw error;\n  }\n};\nvar import_deferred_promise = __toESM(require_build());\nvar FLAG = undefined;\nvar DEFAULT = \"\\x1b[0m\";\nvar GREEN = \"\\x1b[32;1m\";\nvar RED = \"\\x1b[31m\";\nvar BLUE = \"\\x1b[34m\";\nvar YELLOW = \"\\x1b[33;1m\";\nvar MAGENTA = \"\\x1b[35;1m\";\nvar CYAN = \"\\x1b[36;1m\";\nvar COLOR_SCOPE = {\n  preview: YELLOW,\n  emulator: MAGENTA,\n  runtime: CYAN,\n  bridge: BLUE,\n  \"runtime:worker\": CYAN\n};\nfunction createDebug(scope) {\n  return function debug3(message, ...data) {\n    if (FLAG === \"true\") {\n      const direction = () => {\n        if (message.includes(\"sender\")) return `${GREEN}sender`;\n        if (message.includes(\"receiver\")) return `${RED}receiver`;\n        return \"\";\n      };\n      const cleanMessage = message.replace(/\\[.+\\]:/, \"\");\n      console.debug(`${COLOR_SCOPE[scope]}${scope}:${direction()}${DEFAULT}:${cleanMessage}`, ...data);\n    }\n  };\n}\nvar debug = createDebug(\"emulator\");\nvar MessageReceiver = class {\n  waitForHandshake() {\n    const handshakePromise = new import_deferred_promise.DeferredPromise();\n    const handshakeListener = message => {\n      const {\n        data\n      } = message;\n      debug(\"[message-receiver]: incoming\", message);\n      if (data.type === \"internal/handshake\") {\n        invariant(message.ports.length > 0, \"Failed to confirm a MessageReceiver handshake: received event has no ports\");\n        this.senderPort = message.ports[0];\n        this.addMessageListener();\n        debug(\"[message-receiver]: handshake received!\", this.senderPort);\n        this.send(\"internal/handshake/done\");\n        debug(\"[message-receiver]: finish handshake\");\n      }\n    };\n    window.addEventListener(\"message\", handshakeListener);\n    handshakePromise.then(() => {\n      window.removeEventListener(\"message\", handshakeListener);\n    });\n    window.parent.postMessage({\n      type: \"internal/ready\"\n    }, \"*\");\n    return handshakePromise;\n  }\n  addMessageListener() {\n    invariant(this.senderPort, \"[MessageReceiver] Failed to add a message listener: sender port is not defined. Did you forget to await a handshake?\");\n    this.senderPort.onmessage = evt => {\n      const data = evt.data;\n      if (data.type == null) {\n        return;\n      }\n      this.emitter.dispatchEvent(new MessageEvent(data.type, {\n        data: data.payload\n      }));\n    };\n  }\n  on(event, listener, options) {\n    this.emitter.addEventListener(event, async message => {\n      if (!(message instanceof MessageEvent)) {\n        return;\n      }\n      const {\n        operationId,\n        payload\n      } = message.data;\n      try {\n        const listenerPayload = await listener(payload);\n        this.send(\"internal/operation/done\", {\n          operationId,\n          listenerPayload\n        });\n      } catch (error) {\n        if (error instanceof Error) {\n          this.send(\"internal/operation/failed\", {\n            operationId,\n            error\n          });\n        }\n      }\n    }, options);\n  }\n  send(event, ...data) {\n    invariant(this.senderPort, '[MessageReceiver] Failed to send a message \"%j\": sender port is not defined. Did you forget to await a handshake?', event);\n    const payload = data[0] || {};\n    debug('[message-receiver]: send \"%s\"', event, payload);\n    this.senderPort.postMessage({\n      type: event,\n      payload\n    });\n  }\n  constructor() {\n    _defineProperty(this, \"senderPort\", null);\n    this.emitter = new EventTarget();\n    this.waitForHandshake();\n  }\n};\nvar MessageSender = class {\n  async handshake() {\n    const handshakePromise = new import_deferred_promise.DeferredPromise();\n    await this.receiverReadyPromise;\n    debug(\"[message-sender]: sending handshake\");\n    this.target.postMessage({\n      type: \"internal/handshake\"\n    }, \"*\", [this.channel.port2]);\n    this.on(\"internal/handshake/done\", () => {\n      handshakePromise.resolve();\n      clearTimeout(rejectionTimeout);\n    });\n    const rejectionTimeout = setTimeout(() => {\n      handshakePromise.reject(new Error(\"MessageSender: Handshake timeout\"));\n    }, 5e3);\n    return handshakePromise;\n  }\n  on(event, listener, options) {\n    debug('[message-sender]: add listener \"%s\"', event);\n    this.emitter.addEventListener(event, message => {\n      if (message instanceof MessageEvent) {\n        listener(message);\n      }\n    }, options);\n  }\n  off(event, listener, options) {\n    this.emitter.removeEventListener(event, listener, options);\n  }\n  async send(event, ...data) {\n    const operationPromise = new import_deferred_promise.DeferredPromise();\n    const operationId = (0, import_cuid.default)();\n    const payload = data[0] || {};\n    debug('[message-sender]: send \"%s\" (%s)', event, operationId, payload);\n    this.receiverPort.postMessage({\n      type: event,\n      payload: {\n        operationId,\n        payload\n      }\n    });\n    debug('[message-sender]: adding done listener for \"%s\" (%s)', event, operationId);\n    const handleOperationDone = doneEvent => {\n      const {\n        data: data2\n      } = doneEvent;\n      if (data2.operationId === operationId) {\n        const listenerPayload = data2.listenerPayload || {};\n        debug('[message-sender]: resolving \"%s (%s) promise!', event, operationId);\n        operationPromise.resolve({\n          ...listenerPayload,\n          operationId: data2.operationId\n        });\n      }\n    };\n    const handleOperationFailed = failEvent => {\n      const {\n        data: data2\n      } = failEvent;\n      if (data2.operationId === operationId) {\n        debug('[message-sender]: rejecting \"%s (%s) promise!', event, operationId);\n        operationPromise.reject(data2.error);\n      }\n    };\n    this.on(\"internal/operation/done\", handleOperationDone);\n    this.on(\"internal/operation/failed\", handleOperationFailed);\n    return operationPromise.finally(() => {\n      this.emitter.removeEventListener(\"internal/operation/done\", handleOperationDone);\n      this.emitter.removeEventListener(\"internal/operation/failed\", handleOperationFailed);\n    });\n  }\n  constructor(target) {\n    this.target = target;\n    this.emitter = new EventTarget();\n    this.channel = new MessageChannel();\n    this.receiverPort = this.channel.port1;\n    const receiverReadyPromise = new import_deferred_promise.DeferredPromise();\n    const handshakeListener = message => {\n      if (message.data.type === \"internal/ready\") {\n        debug(\"[message-sender]: runtime is ready\");\n        receiverReadyPromise.resolve();\n      }\n    };\n    window.addEventListener(\"message\", handshakeListener);\n    receiverReadyPromise.then(() => {\n      window.removeEventListener(\"message\", handshakeListener);\n    });\n    this.receiverReadyPromise = receiverReadyPromise;\n    this.receiverPort.onmessage = evt => {\n      const data = evt.data;\n      if (data.type != null) {\n        debug('[message-sender]: emitting \"%s\" event...', data.type, data.payload);\n        this.emitter.dispatchEvent(new MessageEvent(data.type, {\n          data: data.payload\n        }));\n      }\n    };\n  }\n};\nvar import_deferred_promise3 = __toESM(require_build());\nvar import_cuid2 = __toESM(require_cuid());\nvar FileSystemApi = class {\n  async init(files) {\n    await this.channel.send(\"fs/init\", {\n      files\n    });\n  }\n  async readFile(path, encoding) {\n    const response = await this.channel.send(\"fs/readFile\", {\n      path,\n      encoding\n    }).catch(error => {\n      throw new Error(format('Failed to read file at path \"%s\"', path), {\n        cause: error\n      });\n    });\n    if (!response) {\n      throw new Error(\"File not found\");\n    }\n    return response.data;\n  }\n  async writeFile(path, content, options) {\n    let encoding = void 0;\n    let recursive = false;\n    if (typeof options === \"object\") {\n      encoding = options.encoding;\n      recursive = !!options.recursive;\n    } else if (typeof options === \"string\") {\n      encoding = options;\n    }\n    await this.channel.send(\"fs/writeFile\", {\n      path,\n      content,\n      encoding,\n      recursive\n    }).catch(error => {\n      throw new Error(format('Failed to write file at path \"%s\"', path), {\n        cause: error\n      });\n    });\n  }\n  async readdir(path) {\n    const response = await this.channel.send(\"fs/readdir\", {\n      path\n    }).catch(error => {\n      throw new Error(format('Failed to read directory at path \"%s\"', path), {\n        cause: error\n      });\n    });\n    if (!response) {\n      throw new Error(\"Directory not found\");\n    }\n    return response.data;\n  }\n  async mkdir(path, options) {\n    const recursive = !!(options === null || options === void 0 ? void 0 : options.recursive);\n    await this.channel.send(\"fs/mkdir\", {\n      path,\n      recursive\n    }).catch(error => {\n      throw new Error(format('Failed to make directory at path \"%s\"', path), {\n        cause: error\n      });\n    });\n  }\n  async stat(path) {\n    const response = await this.channel.send(\"fs/stat\", {\n      path\n    }).catch(error => {\n      throw new Error(format('Failed to stat file at path \"%s\"', path), {\n        cause: error\n      });\n    });\n    if (!response) {\n      throw new Error(\"File not found\");\n    }\n    return response.data;\n  }\n  async rm(path, options) {\n    const {\n      force,\n      recursive\n    } = options || {};\n    await this.channel.send(\"fs/rm\", {\n      path,\n      force,\n      recursive\n    }).catch(error => {\n      throw new Error(format('Failed to remove file at path \"%s\"', path), {\n        cause: error\n      });\n    });\n  }\n  async watch(includes, excludes, listener) {\n    const watcherId = (0, import_cuid2.default)();\n    await this.channel.send(\"fs/watch\", {\n      watcherId,\n      includes,\n      excludes\n    });\n    this.channel.on(\"fs/watch-event\", ({\n      data\n    }) => {\n      if (data.watcherId === watcherId && listener) {\n        const evt = {\n          ...data\n        };\n        delete evt.watcherId;\n        listener(evt);\n      }\n    });\n    return {\n      dispose: () => this.channel.send(\"fs/unwatch\", {\n        watcherId\n      })\n    };\n  }\n  constructor(channel) {\n    this.channel = channel;\n  }\n};\nvar import_strict_event_emitter = __toESM(require_lib());\nvar ShellApi = class {\n  create() {\n    return new ShellProcess(this.channel);\n  }\n  constructor(channel) {\n    this.channel = channel;\n  }\n};\nvar ShellProcess = class {\n  forwardStdEvents() {\n    this.channel.on(\"worker/tty\", message => {\n      const {\n        data\n      } = message;\n      if (data.workerId !== this.id) {\n        return;\n      }\n      switch (data.payload.type) {\n        case \"out\":\n          {\n            this.stdout.emit(\"data\", data.payload.data);\n            break;\n          }\n        case \"err\":\n          {\n            this.stderr.emit(\"data\", data.payload.data);\n            break;\n          }\n      }\n    });\n  }\n  async runCommand(command, args, options = {}) {\n    invariant(!this.id, 'Failed to run \"runCommand\" on a ShellProcess: there is already a process running.');\n    const shellInfo = await this.channel.send(\"shell/runCommand\", {\n      command,\n      args,\n      options\n    });\n    invariant(shellInfo, 'Failed to run \"runCommand\" on a ShellProcess: was not able to retrieve a running process.');\n    this.id = shellInfo.id;\n    this.state = \"running\";\n    return shellInfo;\n  }\n  async on(message, listener) {\n    switch (message) {\n      case \"progress\":\n        {\n          this.channel.on(\"worker/progress\", ({\n            data\n          }) => {\n            listener(data.status);\n          });\n          return;\n        }\n      case \"exit\":\n        {\n          this.channel.on(\"worker/exit\", ({\n            data\n          }) => {\n            if (data.workerId === this.id) {\n              listener(data.exitCode, data.error);\n            }\n          });\n          return;\n        }\n    }\n  }\n  async kill() {\n    invariant(this.id, 'Failed to run \"kill\" on a ShellProcess: there is no process running. Did you forget to run it?');\n    this.state = \"idle\";\n    await this.channel.send(\"shell/exit\", {\n      id: this.id\n    }).catch(error => {\n      throw new Error(format('Failed to kill shell with ID \"%s\"', this.id), {\n        cause: error\n      });\n    });\n    this.id = void 0;\n  }\n  constructor(channel) {\n    this.channel = channel;\n    this.state = \"running\";\n    this.stdout = new import_strict_event_emitter.Emitter();\n    this.stderr = new import_strict_event_emitter.Emitter();\n    this.stdin = {\n      write: data => {\n        if (!this.id) {\n          throw new Error(\"Failed to write to stdin, no process is currently running\");\n        }\n        return this.channel.send(\"shell/stdin\", {\n          data,\n          workerId: this.id\n        });\n      }\n    };\n    this.forwardStdEvents();\n  }\n};\nvar import_deferred_promise2 = __toESM(require_build());\nvar TIMEOUT = 2e4;\nvar PreviewApi = class {\n  async waitFor(payload, predicate, timeout = TIMEOUT) {\n    const readyPromise = new import_deferred_promise2.DeferredPromise();\n    const rejectTimeout = setTimeout(() => {\n      readyPromise.reject();\n    }, timeout);\n    const previewInformation = await this.channel.send(\"preview/get/info\", payload).catch(error => {\n      readyPromise.reject(new Error(format('Failed to look up preview information for shell ID \"%s\" (port: %d)', payload.sourceShellId, payload.port)));\n    });\n    const foundPreview = previewInformation && predicate(previewInformation);\n    if (foundPreview) {\n      readyPromise.resolve({\n        url: previewInformation.url,\n        port: previewInformation.port,\n        sourceShellId: previewInformation.sourceShellId\n      });\n    }\n    this.channel.on(\"preview/port/ready\", ({\n      data\n    }) => {\n      if (!foundPreview && predicate(data)) {\n        readyPromise.resolve({\n          url: data.url,\n          port: data.port,\n          sourceShellId: data.sourceShellId\n        });\n      }\n    });\n    return readyPromise.finally(() => {\n      clearTimeout(rejectTimeout);\n    });\n  }\n  async getByShellId(sourceShellId, timeout) {\n    return this.waitFor({\n      sourceShellId\n    }, data => data.sourceShellId === sourceShellId, timeout).catch(error => {\n      throw new Error(format('Failed to get shell by ID \"%s\"', sourceShellId), {\n        cause: error\n      });\n    });\n  }\n  async waitForPort(port, timeout) {\n    return this.waitFor({\n      port\n    }, data => data.port === port, timeout).catch(error => {\n      throw new Error(format(\"Failed to await port %d\", port), {\n        cause: error\n      });\n    });\n  }\n  constructor(channel) {\n    this.channel = channel;\n  }\n};\nvar DEFAULT_RUNTIME_URL = \"https://nodebox-runtime.codesandbox.io\";\nvar debug2 = createDebug(\"emulator\");\nvar Nodebox = class {\n  async connect() {\n    const {\n      iframe,\n      cdnUrl\n    } = this.options;\n    debug2(\"[message-sender]: Connecting to node emulator...\");\n    const connectionPromise = new import_deferred_promise3.DeferredPromise();\n    if (!this.url) {\n      connectionPromise.reject(new Error(\"Nodebox URL is missing. Did you forget to provide it when creating this Nodebox instance?\"));\n    }\n    invariant(iframe.contentWindow, \"Failed to create a MessageChannel with the Nodebox iframe: no content window found\");\n    this.channel = new MessageSender(iframe.contentWindow);\n    const frameLoadPromise = new import_deferred_promise3.DeferredPromise();\n    iframe.setAttribute(\"src\", this.url);\n    iframe.addEventListener(\"load\", () => {\n      frameLoadPromise.resolve();\n    }, {\n      once: true\n    });\n    iframe.addEventListener(\"error\", event => {\n      frameLoadPromise.reject(event.error);\n    }, {\n      once: true\n    });\n    await frameLoadPromise;\n    debug2(\"[message-sender]: IFrame loaded...\");\n    await this.channel.handshake();\n    debug2(\"[message-sender]: Handshake completed...\");\n    this.channel.send(\"connect\", {\n      cdnUrl\n    });\n    this.channel.on(\"runtime/ready\", () => {\n      connectionPromise.resolve();\n    });\n    return connectionPromise.then(() => {\n      debug2(\"[message-sender]: Connected to runtime...\");\n      this.isConnected = true;\n    });\n  }\n  get fs() {\n    invariant(this.isConnected, 'Failed to access the File System API: consumer is not connected. Did you forget to run \"connect()\"?');\n    if (this.fileSystemApi) {\n      return this.fileSystemApi;\n    }\n    this.fileSystemApi = new FileSystemApi(this.channel);\n    return this.fileSystemApi;\n  }\n  get shell() {\n    invariant(this.isConnected, 'Failed to access the Shell API: consumer is not connected. Did you forget to run \"connect()\"?');\n    if (this.shellApi) {\n      return this.shellApi;\n    }\n    this.shellApi = new ShellApi(this.channel);\n    return this.shellApi;\n  }\n  get preview() {\n    invariant(this.isConnected, 'Failed to access the Preview API: consumer is not connected. Did you forget to run \"connect()\"?');\n    if (this.previewApi) {\n      return this.previewApi;\n    }\n    this.previewApi = new PreviewApi(this.channel);\n    return this.previewApi;\n  }\n  constructor(options) {\n    _defineProperty(this, \"channel\", null);\n    _defineProperty(this, \"fileSystemApi\", null);\n    _defineProperty(this, \"shellApi\", null);\n    _defineProperty(this, \"previewApi\", null);\n    this.options = options;\n    invariant(this.options.iframe, 'Failed to create a Nodebox: expected \"iframe\" argument to be a reference to an <iframe> element but got %j', this.options.iframe);\n    this.url = this.options.runtimeUrl || DEFAULT_RUNTIME_URL;\n    this.isConnected = false;\n  }\n};\nvar INJECT_MESSAGE_TYPE = \"INJECT_AND_INVOKE\";\nvar PREVIEW_LOADED_MESSAGE_TYPE = \"PREVIEW_LOADED\";\nexport { INJECT_MESSAGE_TYPE, MessageReceiver, MessageSender, Nodebox, PREVIEW_LOADED_MESSAGE_TYPE };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"Nodebox\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"PREVIEW_LOADED_MESSAGE_TYPE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"MessageReceiver\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"MessageSender\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"INJECT_MESSAGE_TYPE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./codesandbox_nodebox.map", "// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esm = (fn, res) => function __init() {\n  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {\n    exports: {}\n  }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n  for (var name in all) __defProp(target, name, {\n    get: all[name],\n    enumerable: true\n  });\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n      get: () => from[key],\n      enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n    });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n// If the importer is in node compatibility mode or this is not an ESM\n// file that has been converted to a CommonJS file using a Babel-\n// compatible transform (i.e. \"__esModule\" has not been set), then set\n// \"default\" to the CommonJS \"module.exports\" for node compatibility.\nisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n  value: mod,\n  enumerable: true\n}) : target, mod)); // ../../node_modules/outvariant/lib/index.mjs\nfunction serializePositional(positional, flag) {\n  switch (flag) {\n    case \"s\":\n      return positional;\n    case \"d\":\n    case \"i\":\n      return Number(positional);\n    case \"j\":\n      return JSON.stringify(positional);\n    case \"o\":\n      {\n        if (typeof positional === \"string\") {\n          return positional;\n        }\n        const json = JSON.stringify(positional);\n        if (json === \"{}\" || json === \"[]\" || /^\\[object .+?\\]$/.test(json)) {\n          return positional;\n        }\n        return json;\n      }\n  }\n}\nfunction format(message, ...positionals) {\n  if (positionals.length === 0) {\n    return message;\n  }\n  let positionalIndex = 0;\n  let formattedMessage = message.replace(POSITIONALS_EXP, (match, isEscaped, _, flag) => {\n    const positional = positionals[positionalIndex];\n    const value = serializePositional(positional, flag);\n    if (!isEscaped) {\n      positionalIndex++;\n      return value;\n    }\n    return match;\n  });\n  if (positionalIndex < positionals.length) {\n    formattedMessage += ` ${positionals.slice(positionalIndex).join(\" \")}`;\n  }\n  formattedMessage = formattedMessage.replace(/%{2,2}/g, \"%\");\n  return formattedMessage;\n}\nfunction cleanErrorStack(error) {\n  if (!error.stack) {\n    return;\n  }\n  const nextStack = error.stack.split(\"\\n\");\n  nextStack.splice(1, STACK_FRAMES_TO_IGNORE);\n  error.stack = nextStack.join(\"\\n\");\n}\nvar POSITIONALS_EXP, STACK_FRAMES_TO_IGNORE, InvariantError, invariant;\nvar init_lib = __esm({\n  \"../../node_modules/outvariant/lib/index.mjs\"() {\n    POSITIONALS_EXP = /(%?)(%([sdjo]))/g;\n    STACK_FRAMES_TO_IGNORE = 2;\n    InvariantError = class extends Error {\n      constructor(message, ...positionals) {\n        super(message);\n        this.message = message;\n        this.name = \"Invariant Violation\";\n        this.message = format(message, ...positionals);\n        cleanErrorStack(this);\n      }\n    };\n    invariant = (predicate, message, ...positionals) => {\n      if (!predicate) {\n        throw new InvariantError(message, ...positionals);\n      }\n    };\n    invariant.as = (ErrorConstructor, predicate, message, ...positionals) => {\n      if (!predicate) {\n        const isConstructor = ErrorConstructor.prototype.name != null;\n        const error = isConstructor ? new ErrorConstructor(format(message, positionals)) : ErrorConstructor(format(message, positionals));\n        throw error;\n      }\n    };\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/types-36e5ec0d.mjs\nfunction __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() {\n    this.constructor = d;\n  }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) {\n    return value instanceof P ? value : new P(function (resolve) {\n      resolve(value);\n    });\n  }\n  return new (P || (P = Promise))(function (resolve, reject) {\n    function fulfilled(value) {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    }\n    function rejected(value) {\n      try {\n        step(generator[\"throw\"](value));\n      } catch (e) {\n        reject(e);\n      }\n    }\n    function step(result) {\n      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n    }\n    step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\nfunction __generator(thisArg, body) {\n  var _ = {\n      label: 0,\n      sent: function () {\n        if (t[0] & 1) throw t[1];\n        return t[1];\n      },\n      trys: [],\n      ops: []\n    },\n    f,\n    y,\n    t,\n    g;\n  return g = {\n    next: verb(0),\n    throw: verb(1),\n    return: verb(2)\n  }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n    return this;\n  }), g;\n  function verb(n) {\n    return function (v) {\n      return step([n, v]);\n    };\n  }\n  function step(op) {\n    if (f) throw new TypeError(\"Generator is already executing.\");\n    while (_) try {\n      if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n      if (y = 0, t) op = [op[0] & 2, t.value];\n      switch (op[0]) {\n        case 0:\n        case 1:\n          t = op;\n          break;\n        case 4:\n          _.label++;\n          return {\n            value: op[1],\n            done: false\n          };\n        case 5:\n          _.label++;\n          y = op[1];\n          op = [0];\n          continue;\n        case 7:\n          op = _.ops.pop();\n          _.trys.pop();\n          continue;\n        default:\n          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n            _ = 0;\n            continue;\n          }\n          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n            _.label = op[1];\n            break;\n          }\n          if (op[0] === 6 && _.label < t[1]) {\n            _.label = t[1];\n            t = op;\n            break;\n          }\n          if (t && _.label < t[2]) {\n            _.label = t[2];\n            _.ops.push(op);\n            break;\n          }\n          if (t[2]) _.ops.pop();\n          _.trys.pop();\n          continue;\n      }\n      op = body.call(thisArg, _);\n    } catch (e) {\n      op = [6, e];\n      y = 0;\n    } finally {\n      f = t = 0;\n    }\n    if (op[0] & 5) throw op[1];\n    return {\n      value: op[0] ? op[1] : void 0,\n      done: true\n    };\n  }\n}\nfunction __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n    if (ar || !(i in from)) {\n      if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n      ar[i] = from[i];\n    }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\nfunction nullthrows(value, err) {\n  if (err === void 0) {\n    err = \"Value is nullish\";\n  }\n  invariant(value != null, createError(err));\n  return value;\n}\nfunction createPackageJSON(dependencies, devDependencies, entry) {\n  if (dependencies === void 0) {\n    dependencies = {};\n  }\n  if (devDependencies === void 0) {\n    devDependencies = {};\n  }\n  if (entry === void 0) {\n    entry = \"/index.js\";\n  }\n  return JSON.stringify({\n    name: \"sandpack-project\",\n    main: entry,\n    dependencies,\n    devDependencies\n  }, null, 2);\n}\nfunction addPackageJSONIfNeeded(files, dependencies, devDependencies, entry) {\n  var _a2, _b;\n  var normalizedFilesPath = normalizePath(files);\n  var packageJsonFile = normalizedFilesPath[\"/package.json\"];\n  if (!packageJsonFile) {\n    nullthrows(dependencies, DEPENDENCY_ERROR_MESSAGE);\n    nullthrows(entry, ENTRY_ERROR_MESSAGE);\n    normalizedFilesPath[\"/package.json\"] = {\n      code: createPackageJSON(dependencies, devDependencies, entry)\n    };\n    return normalizedFilesPath;\n  }\n  if (packageJsonFile) {\n    var packageJsonContent = JSON.parse(packageJsonFile.code);\n    nullthrows(!(!dependencies && !packageJsonContent.dependencies), ENTRY_ERROR_MESSAGE);\n    if (dependencies) {\n      packageJsonContent.dependencies = __assign(__assign({}, (_a2 = packageJsonContent.dependencies) !== null && _a2 !== void 0 ? _a2 : {}), dependencies !== null && dependencies !== void 0 ? dependencies : {});\n    }\n    if (devDependencies) {\n      packageJsonContent.devDependencies = __assign(__assign({}, (_b = packageJsonContent.devDependencies) !== null && _b !== void 0 ? _b : {}), devDependencies !== null && devDependencies !== void 0 ? devDependencies : {});\n    }\n    if (entry) {\n      packageJsonContent.main = entry;\n    }\n    normalizedFilesPath[\"/package.json\"] = {\n      code: JSON.stringify(packageJsonContent, null, 2)\n    };\n  }\n  return normalizedFilesPath;\n}\nfunction extractErrorDetails(msg) {\n  var _a2;\n  if (msg.title === \"SyntaxError\") {\n    var title = msg.title,\n      path = msg.path,\n      message = msg.message,\n      line = msg.line,\n      column = msg.column;\n    return {\n      title,\n      path,\n      message,\n      line,\n      column\n    };\n  }\n  var relevantStackFrame = getRelevantStackFrame((_a2 = msg.payload) === null || _a2 === void 0 ? void 0 : _a2.frames);\n  if (!relevantStackFrame) {\n    return {\n      message: msg.message\n    };\n  }\n  var errorInCode = getErrorInOriginalCode(relevantStackFrame);\n  var errorLocation = getErrorLocation(relevantStackFrame);\n  var errorMessage = formatErrorMessage(relevantStackFrame._originalFileName, msg.message, errorLocation, errorInCode);\n  return {\n    message: errorMessage,\n    title: msg.title,\n    path: relevantStackFrame._originalFileName,\n    line: relevantStackFrame._originalLineNumber,\n    column: relevantStackFrame._originalColumnNumber\n  };\n}\nfunction getRelevantStackFrame(frames) {\n  if (!frames) {\n    return;\n  }\n  return frames.find(function (frame) {\n    return !!frame._originalFileName;\n  });\n}\nfunction getErrorLocation(errorFrame) {\n  return errorFrame ? \" (\" + errorFrame._originalLineNumber + \":\" + errorFrame._originalColumnNumber + \")\" : \"\";\n}\nfunction getErrorInOriginalCode(errorFrame) {\n  var lastScriptLine = errorFrame._originalScriptCode[errorFrame._originalScriptCode.length - 1];\n  var numberOfLineNumberCharacters = lastScriptLine.lineNumber.toString().length;\n  var leadingCharacterOffset = 2;\n  var barSeparatorCharacterOffset = 3;\n  var extraLineLeadingSpaces = leadingCharacterOffset + numberOfLineNumberCharacters + barSeparatorCharacterOffset + errorFrame._originalColumnNumber;\n  return errorFrame._originalScriptCode.reduce(function (result, scriptLine) {\n    var leadingChar = scriptLine.highlight ? \">\" : \" \";\n    var lineNumber = scriptLine.lineNumber.toString().length === numberOfLineNumberCharacters ? \"\" + scriptLine.lineNumber : \" \" + scriptLine.lineNumber;\n    var extraLine = scriptLine.highlight ? \"\\n\" + \" \".repeat(extraLineLeadingSpaces) + \"^\" : \"\";\n    return result + \"\\n\" + leadingChar + \" \" + lineNumber + \" | \" + scriptLine.content + extraLine;\n  }, \"\");\n}\nfunction formatErrorMessage(filePath, message, location, errorInCode) {\n  return filePath + \": \" + message + location + \"\\n\" + errorInCode;\n}\nvar extendStatics, __assign, createError, DEPENDENCY_ERROR_MESSAGE, ENTRY_ERROR_MESSAGE, normalizePath, SandpackLogLevel;\nvar init_types_36e5ec0d = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/types-36e5ec0d.mjs\"() {\n    init_lib();\n    extendStatics = function (d, b) {\n      extendStatics = Object.setPrototypeOf || {\n        __proto__: []\n      } instanceof Array && function (d2, b2) {\n        d2.__proto__ = b2;\n      } || function (d2, b2) {\n        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];\n      };\n      return extendStatics(d, b);\n    };\n    __assign = function () {\n      __assign = Object.assign || function __assign2(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n        }\n        return t;\n      };\n      return __assign.apply(this, arguments);\n    };\n    createError = function (message) {\n      return \"[sandpack-client]: \" + message;\n    };\n    DEPENDENCY_ERROR_MESSAGE = '\"dependencies\" was not specified - provide either a package.json or a \"dependencies\" value';\n    ENTRY_ERROR_MESSAGE = '\"entry\" was not specified - provide either a package.json with the \"main\" field or an \"entry\" value';\n    normalizePath = function (path) {\n      if (typeof path === \"string\") {\n        return path.startsWith(\"/\") ? path : \"/\" + path;\n      }\n      if (Array.isArray(path)) {\n        return path.map(function (p) {\n          return p.startsWith(\"/\") ? p : \"/\" + p;\n        });\n      }\n      if (typeof path === \"object\" && path !== null) {\n        return Object.entries(path).reduce(function (acc, _a2) {\n          var key = _a2[0],\n            content = _a2[1];\n          var fileName = key.startsWith(\"/\") ? key : \"/\" + key;\n          acc[fileName] = content;\n          return acc;\n        }, {});\n      }\n      return null;\n    };\n    (function (SandpackLogLevel2) {\n      SandpackLogLevel2[SandpackLogLevel2[\"None\"] = 0] = \"None\";\n      SandpackLogLevel2[SandpackLogLevel2[\"Error\"] = 10] = \"Error\";\n      SandpackLogLevel2[SandpackLogLevel2[\"Warning\"] = 20] = \"Warning\";\n      SandpackLogLevel2[SandpackLogLevel2[\"Info\"] = 30] = \"Info\";\n      SandpackLogLevel2[SandpackLogLevel2[\"Debug\"] = 40] = \"Debug\";\n    })(SandpackLogLevel || (SandpackLogLevel = {}));\n  }\n}); // ../../node_modules/dequal/dist/index.mjs\nfunction find(iter, tar, key) {\n  for (key of iter.keys()) {\n    if (dequal(key, tar)) return key;\n  }\n}\nfunction dequal(foo, bar) {\n  var ctor, len, tmp;\n  if (foo === bar) return true;\n  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {\n    if (ctor === Date) return foo.getTime() === bar.getTime();\n    if (ctor === RegExp) return foo.toString() === bar.toString();\n    if (ctor === Array) {\n      if ((len = foo.length) === bar.length) {\n        while (len-- && dequal(foo[len], bar[len]));\n      }\n      return len === -1;\n    }\n    if (ctor === Set) {\n      if (foo.size !== bar.size) {\n        return false;\n      }\n      for (len of foo) {\n        tmp = len;\n        if (tmp && typeof tmp === \"object\") {\n          tmp = find(bar, tmp);\n          if (!tmp) return false;\n        }\n        if (!bar.has(tmp)) return false;\n      }\n      return true;\n    }\n    if (ctor === Map) {\n      if (foo.size !== bar.size) {\n        return false;\n      }\n      for (len of foo) {\n        tmp = len[0];\n        if (tmp && typeof tmp === \"object\") {\n          tmp = find(bar, tmp);\n          if (!tmp) return false;\n        }\n        if (!dequal(len[1], bar.get(tmp))) {\n          return false;\n        }\n      }\n      return true;\n    }\n    if (ctor === ArrayBuffer) {\n      foo = new Uint8Array(foo);\n      bar = new Uint8Array(bar);\n    } else if (ctor === DataView) {\n      if ((len = foo.byteLength) === bar.byteLength) {\n        while (len-- && foo.getInt8(len) === bar.getInt8(len));\n      }\n      return len === -1;\n    }\n    if (ArrayBuffer.isView(foo)) {\n      if ((len = foo.byteLength) === bar.byteLength) {\n        while (len-- && foo[len] === bar[len]);\n      }\n      return len === -1;\n    }\n    if (!ctor || typeof foo === \"object\") {\n      len = 0;\n      for (ctor in foo) {\n        if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n        if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n      }\n      return Object.keys(bar).length === len;\n    }\n  }\n  return foo !== foo && bar !== bar;\n}\nvar has;\nvar init_dist = __esm({\n  \"../../node_modules/dequal/dist/index.mjs\"() {\n    has = Object.prototype.hasOwnProperty;\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/base-80a1f760.mjs\nvar SandpackClient;\nvar init_base_80a1f760 = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/base-80a1f760.mjs\"() {\n    init_dist();\n    SandpackClient = /** @class */function () {\n      function SandpackClient2(iframeSelector, sandboxSetup, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        this.status = \"idle\";\n        this.options = options;\n        this.sandboxSetup = sandboxSetup;\n        this.iframeSelector = iframeSelector;\n      }\n      SandpackClient2.prototype.updateOptions = function (options) {\n        if (!dequal(this.options, options)) {\n          this.options = options;\n          this.updateSandbox();\n        }\n      };\n      SandpackClient2.prototype.updateSandbox = function (_sandboxSetup, _isInitializationCompile) {\n        if (_sandboxSetup === void 0) {\n          _sandboxSetup = this.sandboxSetup;\n        }\n        throw Error(\"Method not implemented\");\n      };\n      SandpackClient2.prototype.destroy = function () {\n        throw Error(\"Method not implemented\");\n      };\n      SandpackClient2.prototype.dispatch = function (_message) {\n        throw Error(\"Method not implemented\");\n      };\n      SandpackClient2.prototype.listen = function (_listener) {\n        throw Error(\"Method not implemented\");\n      };\n      return SandpackClient2;\n    }();\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/client.utils-7a723432.mjs\nfunction isCommand(char) {\n  return /[a-zA-Z.]/.test(char);\n}\nfunction isAlpha(char) {\n  return /[a-zA-Z]/.test(char);\n}\nfunction isWhitespace(char) {\n  return /\\s/.test(char);\n}\nfunction isOperator(char) {\n  return /[&|]/.test(char);\n}\nfunction isArgument(char) {\n  return /-/.test(char);\n}\nfunction isString(char) {\n  return /[\"']/.test(char);\n}\nfunction isEnvVar(char) {\n  return isAlpha(char) && char === char.toUpperCase();\n}\nfunction tokenize(input) {\n  var current = 0;\n  var tokens = [];\n  function parseCommand() {\n    var value = \"\";\n    while (isCommand(input[current]) && current < input.length) {\n      value += input[current];\n      current++;\n    }\n    return {\n      type: TokenType.Command,\n      value\n    };\n  }\n  function parseOperator() {\n    var value = \"\";\n    while (isOperator(input[current]) && current < input.length) {\n      value += input[current];\n      current++;\n    }\n    return operators.get(value);\n  }\n  function parseArgument() {\n    var value = \"\";\n    while ((isArgument(input[current]) || isAlpha(input[current])) && current < input.length) {\n      value += input[current];\n      current++;\n    }\n    return {\n      type: TokenType.Argument,\n      value\n    };\n  }\n  function parseString() {\n    var openCloseQuote = input[current];\n    var value = input[current];\n    current++;\n    while (input[current] !== openCloseQuote && current < input.length) {\n      value += input[current];\n      current++;\n    }\n    value += input[current];\n    current++;\n    return {\n      type: TokenType.String,\n      value\n    };\n  }\n  function parseEnvVars() {\n    var value = {};\n    var parseSingleEnv = function () {\n      var key = \"\";\n      var pair = \"\";\n      while (input[current] !== \"=\" && current < input.length) {\n        key += input[current];\n        current++;\n      }\n      if (input[current] === \"=\") {\n        current++;\n      }\n      while (input[current] !== \" \" && current < input.length) {\n        pair += input[current];\n        current++;\n      }\n      value[key] = pair;\n    };\n    while (isEnvVar(input[current]) && current < input.length) {\n      parseSingleEnv();\n      current++;\n    }\n    return {\n      type: TokenType.EnvVar,\n      value\n    };\n  }\n  while (current < input.length) {\n    var currentChar = input[current];\n    if (isWhitespace(currentChar)) {\n      current++;\n      continue;\n    }\n    switch (true) {\n      case isEnvVar(currentChar):\n        tokens.push(parseEnvVars());\n        break;\n      case isCommand(currentChar):\n        tokens.push(parseCommand());\n        break;\n      case isOperator(currentChar):\n        tokens.push(parseOperator());\n        break;\n      case isArgument(currentChar):\n        tokens.push(parseArgument());\n        break;\n      case isString(currentChar):\n        tokens.push(parseString());\n        break;\n      default:\n        throw new Error(\"Unknown character: \" + currentChar);\n    }\n  }\n  return tokens;\n}\nfunction generateRandomId() {\n  var now = Date.now();\n  var randomNumber = Math.round(Math.random() * 1e4);\n  var count = counter += 1;\n  return (+(\"\" + now + randomNumber + count)).toString(16);\n}\nvar EventEmitter, TokenType, operators, counter, writeBuffer, readBuffer, fromBundlerFilesToFS, findStartScriptPackageJson, getMessageFromError;\nvar init_client_utils_7a723432 = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/client.utils-7a723432.mjs\"() {\n    init_lib();\n    init_types_36e5ec0d();\n    EventEmitter = /** @class */function () {\n      function EventEmitter2() {\n        this.listeners = {};\n        this.listenersCount = 0;\n        this.channelId = Math.floor(Math.random() * 1e6);\n        this.listeners = [];\n      }\n      EventEmitter2.prototype.cleanup = function () {\n        this.listeners = {};\n        this.listenersCount = 0;\n      };\n      EventEmitter2.prototype.dispatch = function (message) {\n        Object.values(this.listeners).forEach(function (listener) {\n          return listener(message);\n        });\n      };\n      EventEmitter2.prototype.listener = function (listener) {\n        var _this = this;\n        if (typeof listener !== \"function\") {\n          return function () {\n            return;\n          };\n        }\n        var listenerId = this.listenersCount;\n        this.listeners[listenerId] = listener;\n        this.listenersCount++;\n        return function () {\n          delete _this.listeners[listenerId];\n        };\n      };\n      return EventEmitter2;\n    }();\n    (function (TokenType2) {\n      TokenType2[\"OR\"] = \"OR\";\n      TokenType2[\"AND\"] = \"AND\";\n      TokenType2[\"PIPE\"] = \"PIPE\";\n      TokenType2[\"Command\"] = \"Command\";\n      TokenType2[\"Argument\"] = \"Argument\";\n      TokenType2[\"String\"] = \"String\";\n      TokenType2[\"EnvVar\"] = \"EnvVar\";\n    })(TokenType || (TokenType = {}));\n    operators = /* @__PURE__ */new Map([[\"&&\", {\n      type: TokenType.AND\n    }], [\"||\", {\n      type: TokenType.OR\n    }], [\"|\", {\n      type: TokenType.PIPE\n    }], [\"-\", {\n      type: TokenType.Argument\n    }]]);\n    counter = 0;\n    writeBuffer = function (content) {\n      if (typeof content === \"string\") {\n        return new TextEncoder().encode(content);\n      } else {\n        return content;\n      }\n    };\n    readBuffer = function (content) {\n      if (typeof content === \"string\") {\n        return content;\n      } else {\n        return new TextDecoder().decode(content);\n      }\n    };\n    fromBundlerFilesToFS = function (files) {\n      return Object.entries(files).reduce(function (acc, _a2) {\n        var key = _a2[0],\n          value = _a2[1];\n        acc[key] = writeBuffer(value.code);\n        return acc;\n      }, {});\n    };\n    findStartScriptPackageJson = function (packageJson) {\n      var scripts2 = {};\n      var possibleKeys = [\"dev\", \"start\"];\n      try {\n        scripts2 = JSON.parse(packageJson).scripts;\n      } catch (e) {\n        throw createError(\"Could not parse package.json file: \" + e.message);\n      }\n      invariant(scripts2, \"Failed to start. Please provide a `start` or `dev` script on the package.json\");\n      var _loop_1 = function (index2) {\n        if (possibleKeys[index2] in scripts2) {\n          var script = possibleKeys[index2];\n          var candidate = scripts2[script];\n          var env_1 = {};\n          var command_1 = \"\";\n          var args_1 = [];\n          tokenize(candidate).forEach(function (item) {\n            var commandNotFoundYet = command_1 === \"\";\n            if (item.type === TokenType.EnvVar) {\n              env_1 = item.value;\n            }\n            if (item.type === TokenType.Command && commandNotFoundYet) {\n              command_1 = item.value;\n            }\n            if (item.type === TokenType.Argument || !commandNotFoundYet && item.type === TokenType.Command) {\n              args_1.push(item.value);\n            }\n          });\n          return {\n            value: [command_1, args_1, {\n              env: env_1\n            }]\n          };\n        }\n      };\n      for (var index = 0; index < possibleKeys.length; index++) {\n        var state_1 = _loop_1(index);\n        if (typeof state_1 === \"object\") return state_1.value;\n      }\n      throw createError(\"Failed to start. Please provide a `start` or `dev` script on the package.json\");\n    };\n    getMessageFromError = function (error) {\n      if (typeof error === \"string\") return error;\n      if (typeof error === \"object\" && \"message\" in error) {\n        return error.message;\n      }\n      return createError(\"The server could not be reached. Make sure that the node script is running and that a port has been started.\");\n    };\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/clients/node/index.mjs\nvar node_exports = {};\n__export(node_exports, {\n  SandpackNode: () => SandpackNode\n});\nimport { INJECT_MESSAGE_TYPE, Nodebox, PREVIEW_LOADED_MESSAGE_TYPE } from \"https://framerusercontent.com/modules/aYGJCvSFoantRUzfEvdJ/R3HzaXN99zpIst2zJwMZ/codesandbox_nodebox.js\";\nfunction loadPreviewIframe(iframe, url) {\n  return __awaiter(this, void 0, void 0, function () {\n    var contentWindow, TIME_OUT, MAX_MANY_TIRES, tries, timeout;\n    return __generator(this, function (_a2) {\n      contentWindow = iframe.contentWindow;\n      nullthrows(contentWindow, \"Failed to await preview iframe: no content window found\");\n      TIME_OUT = 9e4;\n      MAX_MANY_TIRES = 20;\n      tries = 0;\n      return [2, new Promise(function (resolve, reject) {\n        var triesToSetUrl = function () {\n          var onLoadPage = function () {\n            clearTimeout(timeout);\n            tries = MAX_MANY_TIRES;\n            resolve();\n            iframe.removeEventListener(\"load\", onLoadPage);\n          };\n          if (tries >= MAX_MANY_TIRES) {\n            reject(createError(\"Could not able to connect to preview.\"));\n            return;\n          }\n          iframe.setAttribute(\"src\", url);\n          timeout = setTimeout(function () {\n            triesToSetUrl();\n            iframe.removeEventListener(\"load\", onLoadPage);\n          }, TIME_OUT);\n          tries = tries + 1;\n          iframe.addEventListener(\"load\", onLoadPage);\n        };\n        iframe.addEventListener(\"error\", function () {\n          return reject(new Error(\"Iframe error\"));\n        });\n        iframe.addEventListener(\"abort\", function () {\n          return reject(new Error(\"Aborted\"));\n        });\n        triesToSetUrl();\n      })];\n    });\n  });\n}\nfunction setupHistoryListeners(_a2) {\n  var scope = _a2.scope;\n  var origHistoryProto = window.history.__proto__;\n  var historyList = [];\n  var historyPosition = 0;\n  var dispatchMessage = function (url) {\n    parent.postMessage({\n      type: \"urlchange\",\n      url,\n      back: historyPosition > 0,\n      forward: historyPosition < historyList.length - 1,\n      channelId: scope.channelId\n    }, \"*\");\n  };\n  function pushHistory(url, state) {\n    historyList.splice(historyPosition + 1);\n    historyList.push({\n      url,\n      state\n    });\n    historyPosition = historyList.length - 1;\n  }\n  Object.assign(window.history, {\n    go: function (delta) {\n      var newPos = historyPosition + delta;\n      if (newPos >= 0 && newPos <= historyList.length - 1) {\n        historyPosition = newPos;\n        var _a3 = historyList[historyPosition],\n          url = _a3.url,\n          state = _a3.state;\n        origHistoryProto.replaceState.call(window.history, state, \"\", url);\n        var newURL = document.location.href;\n        dispatchMessage(newURL);\n        window.dispatchEvent(new PopStateEvent(\"popstate\", {\n          state\n        }));\n      }\n    },\n    back: function () {\n      window.history.go(-1);\n    },\n    forward: function () {\n      window.history.go(1);\n    },\n    pushState: function (state, title, url) {\n      origHistoryProto.replaceState.call(window.history, state, title, url);\n      pushHistory(url, state);\n      dispatchMessage(document.location.href);\n    },\n    replaceState: function (state, title, url) {\n      origHistoryProto.replaceState.call(window.history, state, title, url);\n      historyList[historyPosition] = {\n        state,\n        url\n      };\n      dispatchMessage(document.location.href);\n    }\n  });\n  function handleMessage(_a3) {\n    var data = _a3.data;\n    if (data.type === \"urlback\") {\n      history.back();\n    } else if (data.type === \"urlforward\") {\n      history.forward();\n    } else if (data.type === \"refresh\") {\n      document.location.reload();\n    }\n  }\n  window.addEventListener(\"message\", handleMessage);\n}\nvar setPreviewIframeProperties, consoleHook, scripts, injectScriptToIframe, SandpackNode;\nvar init_node = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/clients/node/index.mjs\"() {\n    init_types_36e5ec0d();\n    init_base_80a1f760();\n    init_client_utils_7a723432();\n    init_lib();\n    init_dist();\n    setPreviewIframeProperties = function (iframe, options) {\n      iframe.style.border = \"0\";\n      iframe.style.width = options.width || \"100%\";\n      iframe.style.height = options.height || \"100%\";\n      iframe.style.overflow = \"hidden\";\n      iframe.allow = \"cross-origin-isolated\";\n    };\n    consoleHook = `var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:{};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var e={},n={};!function(t){t.__esModule=!0,t.default=[\"log\",\"debug\",\"info\",\"warn\",\"error\",\"table\",\"clear\",\"time\",\"timeEnd\",\"count\",\"assert\",\"command\",\"result\"]}(n);var a,o={},i={};(a=i).__esModule=!0,a.default=function(){var t=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return t()+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+\"-\"+t()+\"-\"+Date.now()};var u={},s={__esModule:!0};s.update=s.state=void 0,s.update=function(t){s.state=t};var f={},c={};!function(r){var e=t&&t.__assign||function(){return e=Object.assign||function(t){for(var r,e=1,n=arguments.length;e<n;e++)for(var a in r=arguments[e])Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a]);return t},e.apply(this,arguments)};r.__esModule=!0,r.initialState=void 0,r.initialState={timings:{},count:{}};var n=function(){return\"undefined\"!=typeof performance&&performance.now?performance.now():Date.now()};r.default=function(t,a){var o,i,u;switch(void 0===t&&(t=r.initialState),a.type){case\"COUNT\":var s=t.count[a.name]||0;return e(e({},t),{count:e(e({},t.count),(o={},o[a.name]=s+1,o))});case\"TIME_START\":return e(e({},t),{timings:e(e({},t.timings),(i={},i[a.name]={start:n()},i))});case\"TIME_END\":var f=t.timings[a.name],c=n(),l=c-f.start;return e(e({},t),{timings:e(e({},t.timings),(u={},u[a.name]=e(e({},f),{end:c,time:l}),u))});default:return t}}}(c),function(r){var e=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};r.__esModule=!0;var n=e(c),a=s;r.default=function(t){a.update(n.default(a.state,t))}}(f);var l={__esModule:!0};l.timeEnd=l.timeStart=l.count=void 0,l.count=function(t){return{type:\"COUNT\",name:t}},l.timeStart=function(t){return{type:\"TIME_START\",name:t}},l.timeEnd=function(t){return{type:\"TIME_END\",name:t}};var d=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};u.__esModule=!0,u.stop=u.start=void 0;var p=s,h=d(f),m=l;u.start=function(t){h.default(m.timeStart(t))},u.stop=function(t){var r=null===p.state||void 0===p.state?void 0:p.state.timings[t];return r&&!r.end?(h.default(m.timeEnd(t)),{method:\"log\",data:[t+\": \"+p.state.timings[t].time+\"ms\"]}):{method:\"warn\",data:[\"Timer '\"+t+\"' does not exist\"]}};var y={},v=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};y.__esModule=!0,y.increment=void 0;var _=s,b=v(f),g=l;y.increment=function(t){return b.default(g.count(t)),{method:\"log\",data:[t+\": \"+_.state.count[t]]}};var M={},T=t&&t.__spreadArrays||function(){for(var t=0,r=0,e=arguments.length;r<e;r++)t+=arguments[r].length;var n=Array(t),a=0;for(r=0;r<e;r++)for(var o=arguments[r],i=0,u=o.length;i<u;i++,a++)n[a]=o[i];return n};M.__esModule=!0,M.test=void 0,M.test=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return!t&&(0===r.length&&r.push(\"console.assert\"),{method:\"error\",data:T([\"Assertion failed:\"],r)})},function(r){var e=t&&t.__assign||function(){return e=Object.assign||function(t){for(var r,e=1,n=arguments.length;e<n;e++)for(var a in r=arguments[e])Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a]);return t},e.apply(this,arguments)},n=t&&t.__createBinding||(Object.create?function(t,r,e,n){void 0===n&&(n=e),Object.defineProperty(t,n,{enumerable:!0,get:function(){return r[e]}})}:function(t,r,e,n){void 0===n&&(n=e),t[n]=r[e]}),a=t&&t.__setModuleDefault||(Object.create?function(t,r){Object.defineProperty(t,\"default\",{enumerable:!0,value:r})}:function(t,r){t.default=r}),o=t&&t.__importStar||function(t){if(t&&t.__esModule)return t;var r={};if(null!=t)for(var e in t)\"default\"!==e&&Object.prototype.hasOwnProperty.call(t,e)&&n(r,t,e);return a(r,t),r},s=t&&t.__spreadArrays||function(){for(var t=0,r=0,e=arguments.length;r<e;r++)t+=arguments[r].length;var n=Array(t),a=0;for(r=0;r<e;r++)for(var o=arguments[r],i=0,u=o.length;i<u;i++,a++)n[a]=o[i];return n},f=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};r.__esModule=!0;var c=f(i),l=o(u),d=o(y),p=o(M);r.default=function(t,r,n){var a=n||c.default();switch(t){case\"clear\":return{method:t,id:a};case\"count\":return!!(o=\"string\"==typeof r[0]?r[0]:\"default\")&&e(e({},d.increment(o)),{id:a});case\"time\":case\"timeEnd\":var o;return!!(o=\"string\"==typeof r[0]?r[0]:\"default\")&&(\"time\"===t?(l.start(o),!1):e(e({},l.stop(o)),{id:a}));case\"assert\":if(0!==r.length){var i=p.test.apply(p,s([r[0]],r.slice(1)));if(i)return e(e({},i),{id:a})}return!1;case\"error\":return{method:t,id:a,data:r.map((function(t){try{return t.stack||t}catch(r){return t}}))};default:return{method:t,id:a,data:r}}}}(o);var S={},O={};!function(t){var r;t.__esModule=!0,function(t){t[t.infinity=0]=\"infinity\",t[t.minusInfinity=1]=\"minusInfinity\",t[t.minusZero=2]=\"minusZero\"}(r||(r={})),t.default={type:\"Arithmetic\",lookup:Number,shouldTransform:function(t,r){return\"number\"===t&&(r===1/0||r===-1/0||function(t){return 1/t==-1/0}(r))},toSerializable:function(t){return t===1/0?r.infinity:t===-1/0?r.minusInfinity:r.minusZero},fromSerializable:function(t){return t===r.infinity?1/0:t===r.minusInfinity?-1/0:t===r.minusZero?-0:t}}}(O);var w={};!function(t){t.__esModule=!0,t.default={type:\"Function\",lookup:Function,shouldTransform:function(t,r){return\"function\"==typeof r},toSerializable:function(t){var r=\"\";try{r=t.toString().substring(r.indexOf(\"{\")+1,r.lastIndexOf(\"}\"))}catch(t){}return{name:t.name,body:r,proto:Object.getPrototypeOf(t).constructor.name}},fromSerializable:function(t){try{var r=function(){};return\"string\"==typeof t.name&&Object.defineProperty(r,\"name\",{value:t.name,writable:!1}),\"string\"==typeof t.body&&Object.defineProperty(r,\"body\",{value:t.body,writable:!1}),\"string\"==typeof t.proto&&(r.constructor={name:t.proto}),r}catch(r){return t}}}}(w);var A={};!function(t){var r;function e(t){for(var r={},e=0,n=t.attributes;e<n.length;e++){var a=n[e];r[a.name]=a.value}return r}t.__esModule=!0,t.default={type:\"HTMLElement\",shouldTransform:function(t,r){return r&&r.children&&\"string\"==typeof r.innerHTML&&\"string\"==typeof r.tagName},toSerializable:function(t){return{tagName:t.tagName.toLowerCase(),attributes:e(t),innerHTML:t.innerHTML}},fromSerializable:function(t){try{var e=(r||(r=document.implementation.createHTMLDocument(\"sandbox\"))).createElement(t.tagName);e.innerHTML=t.innerHTML;for(var n=0,a=Object.keys(t.attributes);n<a.length;n++){var o=a[n];try{e.setAttribute(o,t.attributes[o])}catch(t){}}return e}catch(r){return t}}}}(A);var j={};!function(r){var e=t&&t.__assign||function(){return e=Object.assign||function(t){for(var r,e=1,n=arguments.length;e<n;e++)for(var a in r=arguments[e])Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a]);return t},e.apply(this,arguments)};r.__esModule=!0,r.default={type:\"Map\",shouldTransform:function(t,r){return r&&r.constructor&&\"Map\"===r.constructor.name},toSerializable:function(t){var r={};return t.forEach((function(t,e){var n=\"object\"==typeof e?JSON.stringify(e):e;r[n]=t})),{name:\"Map\",body:r,proto:Object.getPrototypeOf(t).constructor.name}},fromSerializable:function(t){var r=t.body,n=e({},r);return\"string\"==typeof t.proto&&(n.constructor={name:t.proto}),n}}}(j);var z={};!function(t){t.__esModule=!0;var r=\"@t\",e=/^#*@(t|r)$/,n=(0,eval)(\"this\"),a=\"function\"==typeof ArrayBuffer,o=\"function\"==typeof Map,i=\"function\"==typeof Set,u=[\"Int8Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Int16Array\",\"Uint16Array\",\"Int32Array\",\"Uint32Array\",\"Float32Array\",\"Float64Array\"],s=Array.prototype.slice,f={serialize:function(t){return JSON.stringify(t)},deserialize:function(t){return JSON.parse(t)}},c=function(){function t(t,r){this.references=t,this.transforms=r,this.transformsMap=this._makeTransformsMap(),this.circularCandidates=[],this.circularCandidatesDescrs=[],this.circularRefCount=0}return t._createRefMark=function(t){var r=Object.create(null);return r[\"@r\"]=t,r},t.prototype._createCircularCandidate=function(t,r,e){this.circularCandidates.push(t),this.circularCandidatesDescrs.push({parent:r,key:e,refIdx:-1})},t.prototype._applyTransform=function(t,e,n,a){var o=Object.create(null),i=a.toSerializable(t);return\"object\"==typeof i&&this._createCircularCandidate(t,e,n),o[r]=a.type,o.data=this._handleValue((function(){return i}),e,n),o},t.prototype._handleArray=function(t){for(var r=[],e=function(e){r[e]=n._handleValue((function(){return t[e]}),r,e)},n=this,a=0;a<t.length;a++)e(a);return r},t.prototype._handlePlainObject=function(t){var r,n,a=Object.create(null),o=function(r){if(Reflect.has(t,r)){var n=e.test(r)?\"#\"+r:r;a[n]=i._handleValue((function(){return t[r]}),a,n)}},i=this;for(var u in t)o(u);var s=null===(n=null===(r=null==t?void 0:t.__proto__)||void 0===r?void 0:r.constructor)||void 0===n?void 0:n.name;return s&&\"Object\"!==s&&(a.constructor={name:s}),a},t.prototype._handleObject=function(t,r,e){return this._createCircularCandidate(t,r,e),Array.isArray(t)?this._handleArray(t):this._handlePlainObject(t)},t.prototype._ensureCircularReference=function(r){var e=this.circularCandidates.indexOf(r);if(e>-1){var n=this.circularCandidatesDescrs[e];return-1===n.refIdx&&(n.refIdx=n.parent?++this.circularRefCount:0),t._createRefMark(n.refIdx)}return null},t.prototype._handleValue=function(t,r,e){try{var n=t(),a=typeof n,o=\"object\"===a&&null!==n;if(o){var i=this._ensureCircularReference(n);if(i)return i}var u=this._findTransform(a,n);return u?this._applyTransform(n,r,e,u):o?this._handleObject(n,r,e):n}catch(t){try{return this._handleValue((function(){return t instanceof Error?t:new Error(t)}),r,e)}catch(t){return null}}},t.prototype._makeTransformsMap=function(){if(o){var t=new Map;return this.transforms.forEach((function(r){r.lookup&&t.set(r.lookup,r)})),t}},t.prototype._findTransform=function(t,r){if(o&&r&&r.constructor&&(null==(a=this.transformsMap.get(r.constructor))?void 0:a.shouldTransform(t,r)))return a;for(var e=0,n=this.transforms;e<n.length;e++){var a;if((a=n[e]).shouldTransform(t,r))return a}},t.prototype.transform=function(){for(var r=this,e=[this._handleValue((function(){return r.references}),null,null)],n=0,a=this.circularCandidatesDescrs;n<a.length;n++){var o=a[n];o.refIdx>0&&(e[o.refIdx]=o.parent[o.key],o.parent[o.key]=t._createRefMark(o.refIdx))}return e},t}(),l=function(){function t(t,r){this.activeTransformsStack=[],this.visitedRefs=Object.create(null),this.references=t,this.transformMap=r}return t.prototype._handlePlainObject=function(t){var r=Object.create(null);for(var n in\"constructor\"in t&&(t.constructor&&\"string\"==typeof t.constructor.name||(t.constructor={name:\"Object\"})),t)t.hasOwnProperty(n)&&(this._handleValue(t[n],t,n),e.test(n)&&(r[n.substring(1)]=t[n],delete t[n]));for(var a in r)t[a]=r[a]},t.prototype._handleTransformedObject=function(t,e,n){var a=t[r],o=this.transformMap[a];if(!o)throw new Error(\"Can't find transform for \\\\\"\"+a+'\" type.');this.activeTransformsStack.push(t),this._handleValue(t.data,t,\"data\"),this.activeTransformsStack.pop(),e[n]=o.fromSerializable(t.data)},t.prototype._handleCircularSelfRefDuringTransform=function(t,r,e){var n=this.references;Object.defineProperty(r,e,{val:void 0,configurable:!0,enumerable:!0,get:function(){return void 0===this.val&&(this.val=n[t]),this.val},set:function(t){this.val=t}})},t.prototype._handleCircularRef=function(t,r,e){this.activeTransformsStack.includes(this.references[t])?this._handleCircularSelfRefDuringTransform(t,r,e):(this.visitedRefs[t]||(this.visitedRefs[t]=!0,this._handleValue(this.references[t],this.references,t)),r[e]=this.references[t])},t.prototype._handleValue=function(t,e,n){if(\"object\"==typeof t&&null!==t){var a=t[\"@r\"];if(void 0!==a)this._handleCircularRef(a,e,n);else if(t[r])this._handleTransformedObject(t,e,n);else if(Array.isArray(t))for(var o=0;o<t.length;o++)this._handleValue(t[o],t,o);else this._handlePlainObject(t)}},t.prototype.transform=function(){return this.visitedRefs[0]=!0,this._handleValue(this.references[0],this.references,0),this.references[0]},t}(),d=[{type:\"[[NaN]]\",shouldTransform:function(t,r){return\"number\"===t&&isNaN(r)},toSerializable:function(){return\"\"},fromSerializable:function(){return NaN}},{type:\"[[undefined]]\",shouldTransform:function(t){return\"undefined\"===t},toSerializable:function(){return\"\"},fromSerializable:function(){}},{type:\"[[Date]]\",lookup:Date,shouldTransform:function(t,r){return r instanceof Date},toSerializable:function(t){return t.getTime()},fromSerializable:function(t){var r=new Date;return r.setTime(t),r}},{type:\"[[RegExp]]\",lookup:RegExp,shouldTransform:function(t,r){return r instanceof RegExp},toSerializable:function(t){var r={src:t.source,flags:\"\"};return t.globalThis&&(r.flags+=\"g\"),t.ignoreCase&&(r.flags+=\"i\"),t.multiline&&(r.flags+=\"m\"),r},fromSerializable:function(t){return new RegExp(t.src,t.flags)}},{type:\"[[Error]]\",lookup:Error,shouldTransform:function(t,r){return r instanceof Error},toSerializable:function(t){var r,e;return t.stack||null===(e=(r=Error).captureStackTrace)||void 0===e||e.call(r,t),{name:t.name,message:t.message,stack:t.stack}},fromSerializable:function(t){var r=new(n[t.name]||Error)(t.message);return r.stack=t.stack,r}},{type:\"[[ArrayBuffer]]\",lookup:a&&ArrayBuffer,shouldTransform:function(t,r){return a&&r instanceof ArrayBuffer},toSerializable:function(t){var r=new Int8Array(t);return s.call(r)},fromSerializable:function(t){if(a){var r=new ArrayBuffer(t.length);return new Int8Array(r).set(t),r}return t}},{type:\"[[TypedArray]]\",shouldTransform:function(t,r){if(a)return ArrayBuffer.isView(r)&&!(r instanceof DataView);for(var e=0,o=u;e<o.length;e++){var i=o[e];if(\"function\"==typeof n[i]&&r instanceof n[i])return!0}return!1},toSerializable:function(t){return{ctorName:t.constructor.name,arr:s.call(t)}},fromSerializable:function(t){return\"function\"==typeof n[t.ctorName]?new n[t.ctorName](t.arr):t.arr}},{type:\"[[Map]]\",lookup:o&&Map,shouldTransform:function(t,r){return o&&r instanceof Map},toSerializable:function(t){var r=[];return t.forEach((function(t,e){r.push(e),r.push(t)})),r},fromSerializable:function(t){if(o){for(var r=new Map,e=0;e<t.length;e+=2)r.set(t[e],t[e+1]);return r}for(var n=[],a=0;a<t.length;a+=2)n.push([t[e],t[e+1]]);return n}},{type:\"[[Set]]\",lookup:i&&Set,shouldTransform:function(t,r){return i&&r instanceof Set},toSerializable:function(t){var r=[];return t.forEach((function(t){r.push(t)})),r},fromSerializable:function(t){if(i){for(var r=new Set,e=0;e<t.length;e++)r.add(t[e]);return r}return t}}],p=function(){function t(t){this.transforms=[],this.transformsMap=Object.create(null),this.serializer=t||f,this.addTransforms(d)}return t.prototype.addTransforms=function(t){for(var r=0,e=t=Array.isArray(t)?t:[t];r<e.length;r++){var n=e[r];if(this.transformsMap[n.type])throw new Error('Transform with type \"'+n.type+'\" was already added.');this.transforms.push(n),this.transformsMap[n.type]=n}return this},t.prototype.removeTransforms=function(t){for(var r=0,e=t=Array.isArray(t)?t:[t];r<e.length;r++){var n=e[r],a=this.transforms.indexOf(n);a>-1&&this.transforms.splice(a,1),delete this.transformsMap[n.type]}return this},t.prototype.encode=function(t){var r=new c(t,this.transforms).transform();return this.serializer.serialize(r)},t.prototype.decode=function(t){var r=this.serializer.deserialize(t);return new l(r,this.transformsMap).transform()},t}();t.default=p}(z);var E=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};S.__esModule=!0,S.Decode=P=S.Encode=void 0;var k=E(O),C=E(w),D=E(A),I=E(j),N=E(z),R=[D.default,C.default,k.default,I.default],x=new N.default;x.addTransforms(R);var P=S.Encode=function(t){return JSON.parse(x.encode(t))};S.Decode=function(t){return x.decode(JSON.stringify(t))},function(r){var e=t&&t.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};r.__esModule=!0;var a=e(n),i=e(o),u=S;r.default=function(t,r,e){void 0===e&&(e=!0);for(var n=t,o={pointers:{},src:{npm:\"https://npmjs.com/package/console-feed\",github:\"https://github.com/samdenty99/console-feed\"}},s=function(t){var a=n[t];n[t]=function(){a.apply(this,arguments);var n=[].slice.call(arguments);setTimeout((function(){var a=i.default(t,n);if(a){var o=a;e&&(o=u.Encode(a)),r(o,a)}}))},o.pointers[t]=a},f=0,c=a.default;f<c.length;f++)s(c[f]);return n.feed=o,n}}(e),r(e)(window.console,(function(t){var r=P(t);parent.postMessage({type:\"console\",codesandbox:!0,log:Array.isArray(r)?r[0]:r,channelId:scope.channelId},\"*\")}));\n`;\n    scripts = [{\n      code: setupHistoryListeners.toString(),\n      id: \"historyListener\"\n    }, {\n      code: \"function consoleHook({ scope }) {\" + consoleHook + \"\\n};\",\n      id: \"consoleHook\"\n    }];\n    injectScriptToIframe = function (iframe, channelId) {\n      scripts.forEach(function (_a2) {\n        var _b;\n        var code = _a2.code,\n          id = _a2.id;\n        var message = {\n          uid: id,\n          type: INJECT_MESSAGE_TYPE,\n          code: \"exports.activate = \" + code,\n          scope: {\n            channelId\n          }\n        };\n        (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message, \"*\");\n      });\n    };\n    SandpackNode = /** @class */function (_super) {\n      __extends(SandpackNode2, _super);\n      function SandpackNode2(selector, sandboxInfo, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        var _this = _super.call(this, selector, sandboxInfo, __assign(__assign({}, options), {\n          bundlerURL: options.bundlerURL\n        })) || this;\n        _this._modulesCache = /* @__PURE__ */new Map();\n        _this.messageChannelId = generateRandomId();\n        _this._initPromise = null;\n        _this.emitter = new EventEmitter();\n        _this.manageIframes(selector);\n        _this.emulator = new Nodebox({\n          iframe: _this.emulatorIframe,\n          runtimeUrl: _this.options.bundlerURL\n        });\n        _this.updateSandbox(sandboxInfo);\n        return _this;\n      }\n      SandpackNode2.prototype._init = function (files) {\n        return __awaiter(this, void 0, void 0, function () {\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                return [4, this.emulator.connect()];\n              case 1:\n                _a2.sent();\n                return [4, this.emulator.fs.init(files)];\n              case 2:\n                _a2.sent();\n                return [4, this.globalListeners()];\n              case 3:\n                _a2.sent();\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.compile = function (files) {\n        return __awaiter(this, void 0, void 0, function () {\n          var shellId, err_1;\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                _a2.trys.push([0, 5,, 6]);\n                this.status = \"initializing\";\n                this.dispatch({\n                  type: \"start\",\n                  firstLoad: true\n                });\n                if (!this._initPromise) {\n                  this._initPromise = this._init(files);\n                }\n                return [4, this._initPromise];\n              case 1:\n                _a2.sent();\n                this.dispatch({\n                  type: \"connected\"\n                });\n                return [4, this.createShellProcessFromTask(files)];\n              case 2:\n                shellId = _a2.sent().id;\n                return [4, this.createPreviewURLFromId(shellId)];\n              case 3:\n                _a2.sent();\n                return [4, this.setLocationURLIntoIFrame()];\n              case 4:\n                _a2.sent();\n                this.dispatchDoneMessage();\n                return [3, 6];\n              case 5:\n                err_1 = _a2.sent();\n                this.dispatch({\n                  type: \"action\",\n                  action: \"notification\",\n                  notificationType: \"error\",\n                  title: getMessageFromError(err_1)\n                });\n                this.dispatch({\n                  type: \"done\",\n                  compilatonError: true\n                });\n                return [3, 6];\n              case 6:\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.createShellProcessFromTask = function (files) {\n        return __awaiter(this, void 0, void 0, function () {\n          var packageJsonContent;\n          var _a2;\n          var _this = this;\n          return __generator(this, function (_b) {\n            switch (_b.label) {\n              case 0:\n                packageJsonContent = readBuffer(files[\"/package.json\"]);\n                this.emulatorCommand = findStartScriptPackageJson(packageJsonContent);\n                this.emulatorShellProcess = this.emulator.shell.create();\n                return [4, this.emulatorShellProcess.on(\"exit\", function (exitCode) {\n                  _this.dispatch({\n                    type: \"action\",\n                    action: \"notification\",\n                    notificationType: \"error\",\n                    title: createError(\"Error: process.exit(\" + exitCode + \") called.\")\n                  });\n                })];\n              case 1:\n                _b.sent();\n                return [4, this.emulatorShellProcess.on(\"progress\", function (data) {\n                  var _a3, _b2;\n                  if (data.state === \"command_running\" || data.state === \"starting_command\") {\n                    _this.dispatch({\n                      type: \"shell/progress\",\n                      data: __assign(__assign({}, data), {\n                        command: [(_a3 = _this.emulatorCommand) === null || _a3 === void 0 ? void 0 : _a3[0], (_b2 = _this.emulatorCommand) === null || _b2 === void 0 ? void 0 : _b2[1].join(\" \")].join(\" \")\n                      })\n                    });\n                    _this.status = \"installing-dependencies\";\n                    return;\n                  }\n                  _this.dispatch({\n                    type: \"shell/progress\",\n                    data\n                  });\n                })];\n              case 2:\n                _b.sent();\n                this.emulatorShellProcess.stdout.on(\"data\", function (data) {\n                  _this.dispatch({\n                    type: \"stdout\",\n                    payload: {\n                      data,\n                      type: \"out\"\n                    }\n                  });\n                });\n                this.emulatorShellProcess.stderr.on(\"data\", function (data) {\n                  _this.dispatch({\n                    type: \"stdout\",\n                    payload: {\n                      data,\n                      type: \"err\"\n                    }\n                  });\n                });\n                return [4, (_a2 = this.emulatorShellProcess).runCommand.apply(_a2, this.emulatorCommand)];\n              case 3:\n                return [2, _b.sent()];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.createPreviewURLFromId = function (id) {\n        return __awaiter(this, void 0, void 0, function () {\n          var url;\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                this.iframePreviewUrl = void 0;\n                return [4, this.emulator.preview.getByShellId(id)];\n              case 1:\n                url = _a2.sent().url;\n                this.iframePreviewUrl = url + this.options.startRoute;\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.manageIframes = function (selector) {\n        var _a2;\n        if (typeof selector === \"string\") {\n          var element = document.querySelector(selector);\n          nullthrows(element, \"The element '\" + selector + \"' was not found\");\n          this.iframe = document.createElement(\"iframe\");\n        } else {\n          this.iframe = selector;\n        }\n        setPreviewIframeProperties(this.iframe, this.options);\n        nullthrows(this.iframe.parentNode, \"The given iframe does not have a parent.\");\n        this.emulatorIframe = document.createElement(\"iframe\");\n        this.emulatorIframe.classList.add(\"sp-bridge-frame\");\n        (_a2 = this.iframe.parentNode) === null || _a2 === void 0 ? void 0 : _a2.appendChild(this.emulatorIframe);\n      };\n      SandpackNode2.prototype.setLocationURLIntoIFrame = function () {\n        return __awaiter(this, void 0, void 0, function () {\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                if (!this.iframePreviewUrl) return [3, 2];\n                return [4, loadPreviewIframe(this.iframe, this.iframePreviewUrl)];\n              case 1:\n                _a2.sent();\n                _a2.label = 2;\n              case 2:\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.dispatchDoneMessage = function () {\n        this.status = \"done\";\n        this.dispatch({\n          type: \"done\",\n          compilatonError: false\n        });\n        if (this.iframePreviewUrl) {\n          this.dispatch({\n            type: \"urlchange\",\n            url: this.iframePreviewUrl,\n            back: false,\n            forward: false\n          });\n        }\n      };\n      SandpackNode2.prototype.globalListeners = function () {\n        return __awaiter(this, void 0, void 0, function () {\n          var _this = this;\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                window.addEventListener(\"message\", function (event) {\n                  if (event.data.type === PREVIEW_LOADED_MESSAGE_TYPE) {\n                    injectScriptToIframe(_this.iframe, _this.messageChannelId);\n                  }\n                  if (event.data.type === \"urlchange\" && event.data.channelId === _this.messageChannelId) {\n                    _this.dispatch({\n                      type: \"urlchange\",\n                      url: event.data.url,\n                      back: event.data.back,\n                      forward: event.data.forward\n                    });\n                  } else if (event.data.channelId === _this.messageChannelId) {\n                    _this.dispatch(event.data);\n                  }\n                });\n                return [4, this.emulator.fs.watch([\"*\"], [\".next\", \"node_modules\", \"build\", \"dist\", \"vendor\", \".config\", \".vuepress\"], function (message) {\n                  return __awaiter(_this, void 0, void 0, function () {\n                    var event, path, type, _a3, content, newContent, err_2;\n                    return __generator(this, function (_b) {\n                      switch (_b.label) {\n                        case 0:\n                          if (!message) return [2];\n                          event = message;\n                          path = \"newPath\" in event ? event.newPath : \"path\" in event ? event.path : \"\";\n                          return [4, this.emulator.fs.stat(path)];\n                        case 1:\n                          type = _b.sent().type;\n                          if (type !== \"file\") return [2, null];\n                          _b.label = 2;\n                        case 2:\n                          _b.trys.push([2, 10,, 11]);\n                          _a3 = event.type;\n                          switch (_a3) {\n                            case \"change\":\n                              return [3, 3];\n                            case \"create\":\n                              return [3, 3];\n                            case \"remove\":\n                              return [3, 5];\n                            case \"rename\":\n                              return [3, 6];\n                            case \"close\":\n                              return [3, 8];\n                          }\n                          return [3, 9];\n                        case 3:\n                          return [4, this.emulator.fs.readFile(event.path, \"utf8\")];\n                        case 4:\n                          content = _b.sent();\n                          this.dispatch({\n                            type: \"fs/change\",\n                            path: event.path,\n                            content\n                          });\n                          this._modulesCache.set(event.path, writeBuffer(content));\n                          return [3, 9];\n                        case 5:\n                          this.dispatch({\n                            type: \"fs/remove\",\n                            path: event.path\n                          });\n                          this._modulesCache[\"delete\"](event.path);\n                          return [3, 9];\n                        case 6:\n                          this.dispatch({\n                            type: \"fs/remove\",\n                            path: event.oldPath\n                          });\n                          this._modulesCache[\"delete\"](event.oldPath);\n                          return [4, this.emulator.fs.readFile(event.newPath, \"utf8\")];\n                        case 7:\n                          newContent = _b.sent();\n                          this.dispatch({\n                            type: \"fs/change\",\n                            path: event.newPath,\n                            content: newContent\n                          });\n                          this._modulesCache.set(event.newPath, writeBuffer(newContent));\n                          return [3, 9];\n                        case 8:\n                          return [3, 9];\n                        case 9:\n                          return [3, 11];\n                        case 10:\n                          err_2 = _b.sent();\n                          this.dispatch({\n                            type: \"action\",\n                            action: \"notification\",\n                            notificationType: \"error\",\n                            title: getMessageFromError(err_2)\n                          });\n                          return [3, 11];\n                        case 11:\n                          return [2];\n                      }\n                    });\n                  });\n                })];\n              case 1:\n                _a2.sent();\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.restartShellProcess = function () {\n        var _a2;\n        return __awaiter(this, void 0, void 0, function () {\n          return __generator(this, function (_b) {\n            switch (_b.label) {\n              case 0:\n                if (!(this.emulatorShellProcess && this.emulatorCommand)) return [3, 3];\n                this.dispatch({\n                  type: \"start\",\n                  firstLoad: true\n                });\n                this.status = \"initializing\";\n                return [4, this.emulatorShellProcess.kill()];\n              case 1:\n                _b.sent();\n                (_a2 = this.iframe) === null || _a2 === void 0 ? void 0 : _a2.removeAttribute(\"attr\");\n                this.emulator.fs.rm(\"/node_modules/.vite\", {\n                  recursive: true,\n                  force: true\n                });\n                return [4, this.compile(Object.fromEntries(this._modulesCache))];\n              case 2:\n                _b.sent();\n                _b.label = 3;\n              case 3:\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.updateSandbox = function (setup) {\n        var _this = this;\n        var _a2;\n        var modules = fromBundlerFilesToFS(setup.files);\n        if (((_a2 = this.emulatorShellProcess) === null || _a2 === void 0 ? void 0 : _a2.state) === \"running\") {\n          Object.entries(modules).forEach(function (_a3) {\n            var key = _a3[0],\n              value = _a3[1];\n            if (!_this._modulesCache.get(key) || readBuffer(value) !== readBuffer(_this._modulesCache.get(key))) {\n              _this.emulator.fs.writeFile(key, value, {\n                recursive: true\n              });\n            }\n          });\n          return;\n        }\n        this.dispatch({\n          codesandbox: true,\n          modules,\n          template: setup.template,\n          type: \"compile\"\n        });\n        Object.entries(modules).forEach(function (_a3) {\n          var key = _a3[0],\n            value = _a3[1];\n          _this._modulesCache.set(key, writeBuffer(value));\n        });\n      };\n      SandpackNode2.prototype.dispatch = function (message) {\n        var _a2, _b;\n        return __awaiter(this, void 0, void 0, function () {\n          var _c;\n          return __generator(this, function (_d) {\n            switch (_d.label) {\n              case 0:\n                _c = message.type;\n                switch (_c) {\n                  case \"compile\":\n                    return [3, 1];\n                  case \"refresh\":\n                    return [3, 2];\n                  case \"urlback\":\n                    return [3, 4];\n                  case \"urlforward\":\n                    return [3, 4];\n                  case \"shell/restart\":\n                    return [3, 5];\n                  case \"shell/openPreview\":\n                    return [3, 6];\n                }\n                return [3, 7];\n              case 1:\n                this.compile(message.modules);\n                return [3, 8];\n              case 2:\n                return [4, this.setLocationURLIntoIFrame()];\n              case 3:\n                _d.sent();\n                return [3, 8];\n              case 4:\n                (_b = (_a2 = this.iframe) === null || _a2 === void 0 ? void 0 : _a2.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message, \"*\");\n                return [3, 8];\n              case 5:\n                this.restartShellProcess();\n                return [3, 8];\n              case 6:\n                window.open(this.iframePreviewUrl, \"_blank\");\n                return [3, 8];\n              case 7:\n                this.emitter.dispatch(message);\n                _d.label = 8;\n              case 8:\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackNode2.prototype.listen = function (listener) {\n        return this.emitter.listener(listener);\n      };\n      SandpackNode2.prototype.destroy = function () {\n        this.emulatorIframe.remove();\n        this.emitter.cleanup();\n      };\n      return SandpackNode2;\n    }(SandpackClient);\n  }\n}); // ../../node_modules/static-browser-server/out/lib/main.js\nvar require_main = __commonJS({\n  \"../../node_modules/static-browser-server/out/lib/main.js\"(exports, module) {\n    \"use strict\";\n\n    var __create2 = Object.create;\n    var __defProp2 = Object.defineProperty;\n    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n    var __getOwnPropNames2 = Object.getOwnPropertyNames;\n    var __getProtoOf2 = Object.getPrototypeOf;\n    var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n    var __commonJS2 = (cb, mod) => function __require() {\n      return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = {\n        exports: {}\n      }).exports, mod), mod.exports;\n    };\n    var __export2 = (target, all) => {\n      for (var name in all) __defProp2(target, name, {\n        get: all[name],\n        enumerable: true\n      });\n    };\n    var __copyProps2 = (to, from, except, desc) => {\n      if (from && typeof from === \"object\" || typeof from === \"function\") {\n        for (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, {\n          get: () => from[key],\n          enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable\n        });\n      }\n      return to;\n    };\n    var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(\n    // If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    isNodeMode || !mod || !mod.__esModule ? __defProp2(target, \"default\", {\n      value: mod,\n      enumerable: true\n    }) : target, mod));\n    var __toCommonJS = mod => __copyProps2(__defProp2({}, \"__esModule\", {\n      value: true\n    }), mod);\n    var require_db = __commonJS2({\n      \"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json\"(exports2, module2) {\n        module2.exports = {\n          \"application/1d-interleaved-parityfec\": {\n            source: \"iana\"\n          },\n          \"application/3gpdash-qoe-report+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/3gpp-ims+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/3gpphal+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/3gpphalforms+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/a2l\": {\n            source: \"iana\"\n          },\n          \"application/ace+cbor\": {\n            source: \"iana\"\n          },\n          \"application/activemessage\": {\n            source: \"iana\"\n          },\n          \"application/activity+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-costmap+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-costmapfilter+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-directory+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-endpointcost+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-endpointcostparams+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-endpointprop+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-endpointpropparams+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-error+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-networkmap+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-networkmapfilter+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-updatestreamcontrol+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/alto-updatestreamparams+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/aml\": {\n            source: \"iana\"\n          },\n          \"application/andrew-inset\": {\n            source: \"iana\",\n            extensions: [\"ez\"]\n          },\n          \"application/applefile\": {\n            source: \"iana\"\n          },\n          \"application/applixware\": {\n            source: \"apache\",\n            extensions: [\"aw\"]\n          },\n          \"application/at+jwt\": {\n            source: \"iana\"\n          },\n          \"application/atf\": {\n            source: \"iana\"\n          },\n          \"application/atfx\": {\n            source: \"iana\"\n          },\n          \"application/atom+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"atom\"]\n          },\n          \"application/atomcat+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"atomcat\"]\n          },\n          \"application/atomdeleted+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"atomdeleted\"]\n          },\n          \"application/atomicmail\": {\n            source: \"iana\"\n          },\n          \"application/atomsvc+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"atomsvc\"]\n          },\n          \"application/atsc-dwd+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"dwd\"]\n          },\n          \"application/atsc-dynamic-event-message\": {\n            source: \"iana\"\n          },\n          \"application/atsc-held+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"held\"]\n          },\n          \"application/atsc-rdt+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/atsc-rsat+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rsat\"]\n          },\n          \"application/atxml\": {\n            source: \"iana\"\n          },\n          \"application/auth-policy+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/bacnet-xdd+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/batch-smtp\": {\n            source: \"iana\"\n          },\n          \"application/bdoc\": {\n            compressible: false,\n            extensions: [\"bdoc\"]\n          },\n          \"application/beep+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/calendar+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/calendar+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xcs\"]\n          },\n          \"application/call-completion\": {\n            source: \"iana\"\n          },\n          \"application/cals-1840\": {\n            source: \"iana\"\n          },\n          \"application/captive+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cbor\": {\n            source: \"iana\"\n          },\n          \"application/cbor-seq\": {\n            source: \"iana\"\n          },\n          \"application/cccex\": {\n            source: \"iana\"\n          },\n          \"application/ccmp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/ccxml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ccxml\"]\n          },\n          \"application/cdfx+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"cdfx\"]\n          },\n          \"application/cdmi-capability\": {\n            source: \"iana\",\n            extensions: [\"cdmia\"]\n          },\n          \"application/cdmi-container\": {\n            source: \"iana\",\n            extensions: [\"cdmic\"]\n          },\n          \"application/cdmi-domain\": {\n            source: \"iana\",\n            extensions: [\"cdmid\"]\n          },\n          \"application/cdmi-object\": {\n            source: \"iana\",\n            extensions: [\"cdmio\"]\n          },\n          \"application/cdmi-queue\": {\n            source: \"iana\",\n            extensions: [\"cdmiq\"]\n          },\n          \"application/cdni\": {\n            source: \"iana\"\n          },\n          \"application/cea\": {\n            source: \"iana\"\n          },\n          \"application/cea-2018+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cellml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cfw\": {\n            source: \"iana\"\n          },\n          \"application/city+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/clr\": {\n            source: \"iana\"\n          },\n          \"application/clue+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/clue_info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cms\": {\n            source: \"iana\"\n          },\n          \"application/cnrp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/coap-group+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/coap-payload\": {\n            source: \"iana\"\n          },\n          \"application/commonground\": {\n            source: \"iana\"\n          },\n          \"application/conference-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cose\": {\n            source: \"iana\"\n          },\n          \"application/cose-key\": {\n            source: \"iana\"\n          },\n          \"application/cose-key-set\": {\n            source: \"iana\"\n          },\n          \"application/cpl+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"cpl\"]\n          },\n          \"application/csrattrs\": {\n            source: \"iana\"\n          },\n          \"application/csta+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cstadata+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/csvm+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/cu-seeme\": {\n            source: \"apache\",\n            extensions: [\"cu\"]\n          },\n          \"application/cwt\": {\n            source: \"iana\"\n          },\n          \"application/cybercash\": {\n            source: \"iana\"\n          },\n          \"application/dart\": {\n            compressible: true\n          },\n          \"application/dash+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mpd\"]\n          },\n          \"application/dash-patch+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mpp\"]\n          },\n          \"application/dashdelta\": {\n            source: \"iana\"\n          },\n          \"application/davmount+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"davmount\"]\n          },\n          \"application/dca-rft\": {\n            source: \"iana\"\n          },\n          \"application/dcd\": {\n            source: \"iana\"\n          },\n          \"application/dec-dx\": {\n            source: \"iana\"\n          },\n          \"application/dialog-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/dicom\": {\n            source: \"iana\"\n          },\n          \"application/dicom+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/dicom+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/dii\": {\n            source: \"iana\"\n          },\n          \"application/dit\": {\n            source: \"iana\"\n          },\n          \"application/dns\": {\n            source: \"iana\"\n          },\n          \"application/dns+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/dns-message\": {\n            source: \"iana\"\n          },\n          \"application/docbook+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"dbk\"]\n          },\n          \"application/dots+cbor\": {\n            source: \"iana\"\n          },\n          \"application/dskpp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/dssc+der\": {\n            source: \"iana\",\n            extensions: [\"dssc\"]\n          },\n          \"application/dssc+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xdssc\"]\n          },\n          \"application/dvcs\": {\n            source: \"iana\"\n          },\n          \"application/ecmascript\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"es\", \"ecma\"]\n          },\n          \"application/edi-consent\": {\n            source: \"iana\"\n          },\n          \"application/edi-x12\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/edifact\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/efi\": {\n            source: \"iana\"\n          },\n          \"application/elm+json\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/elm+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.cap+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/emergencycalldata.comment+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.control+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.deviceinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.ecall.msd\": {\n            source: \"iana\"\n          },\n          \"application/emergencycalldata.providerinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.serviceinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.subscriberinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emergencycalldata.veds+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/emma+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"emma\"]\n          },\n          \"application/emotionml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"emotionml\"]\n          },\n          \"application/encaprtp\": {\n            source: \"iana\"\n          },\n          \"application/epp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/epub+zip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"epub\"]\n          },\n          \"application/eshop\": {\n            source: \"iana\"\n          },\n          \"application/exi\": {\n            source: \"iana\",\n            extensions: [\"exi\"]\n          },\n          \"application/expect-ct-report+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/express\": {\n            source: \"iana\",\n            extensions: [\"exp\"]\n          },\n          \"application/fastinfoset\": {\n            source: \"iana\"\n          },\n          \"application/fastsoap\": {\n            source: \"iana\"\n          },\n          \"application/fdt+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"fdt\"]\n          },\n          \"application/fhir+json\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/fhir+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/fido.trusted-apps+json\": {\n            compressible: true\n          },\n          \"application/fits\": {\n            source: \"iana\"\n          },\n          \"application/flexfec\": {\n            source: \"iana\"\n          },\n          \"application/font-sfnt\": {\n            source: \"iana\"\n          },\n          \"application/font-tdpfr\": {\n            source: \"iana\",\n            extensions: [\"pfr\"]\n          },\n          \"application/font-woff\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/framework-attributes+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/geo+json\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"geojson\"]\n          },\n          \"application/geo+json-seq\": {\n            source: \"iana\"\n          },\n          \"application/geopackage+sqlite3\": {\n            source: \"iana\"\n          },\n          \"application/geoxacml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/gltf-buffer\": {\n            source: \"iana\"\n          },\n          \"application/gml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"gml\"]\n          },\n          \"application/gpx+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"gpx\"]\n          },\n          \"application/gxf\": {\n            source: \"apache\",\n            extensions: [\"gxf\"]\n          },\n          \"application/gzip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"gz\"]\n          },\n          \"application/h224\": {\n            source: \"iana\"\n          },\n          \"application/held+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/hjson\": {\n            extensions: [\"hjson\"]\n          },\n          \"application/http\": {\n            source: \"iana\"\n          },\n          \"application/hyperstudio\": {\n            source: \"iana\",\n            extensions: [\"stk\"]\n          },\n          \"application/ibe-key-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/ibe-pkg-reply+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/ibe-pp-data\": {\n            source: \"iana\"\n          },\n          \"application/iges\": {\n            source: \"iana\"\n          },\n          \"application/im-iscomposing+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/index\": {\n            source: \"iana\"\n          },\n          \"application/index.cmd\": {\n            source: \"iana\"\n          },\n          \"application/index.obj\": {\n            source: \"iana\"\n          },\n          \"application/index.response\": {\n            source: \"iana\"\n          },\n          \"application/index.vnd\": {\n            source: \"iana\"\n          },\n          \"application/inkml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ink\", \"inkml\"]\n          },\n          \"application/iotp\": {\n            source: \"iana\"\n          },\n          \"application/ipfix\": {\n            source: \"iana\",\n            extensions: [\"ipfix\"]\n          },\n          \"application/ipp\": {\n            source: \"iana\"\n          },\n          \"application/isup\": {\n            source: \"iana\"\n          },\n          \"application/its+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"its\"]\n          },\n          \"application/java-archive\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"jar\", \"war\", \"ear\"]\n          },\n          \"application/java-serialized-object\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"ser\"]\n          },\n          \"application/java-vm\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"class\"]\n          },\n          \"application/javascript\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"js\", \"mjs\"]\n          },\n          \"application/jf2feed+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/jose\": {\n            source: \"iana\"\n          },\n          \"application/jose+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/jrd+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/jscalendar+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/json\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"json\", \"map\"]\n          },\n          \"application/json-patch+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/json-seq\": {\n            source: \"iana\"\n          },\n          \"application/json5\": {\n            extensions: [\"json5\"]\n          },\n          \"application/jsonml+json\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"jsonml\"]\n          },\n          \"application/jwk+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/jwk-set+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/jwt\": {\n            source: \"iana\"\n          },\n          \"application/kpml-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/kpml-response+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/ld+json\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"jsonld\"]\n          },\n          \"application/lgr+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"lgr\"]\n          },\n          \"application/link-format\": {\n            source: \"iana\"\n          },\n          \"application/load-control+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/lost+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"lostxml\"]\n          },\n          \"application/lostsync+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/lpf+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/lxf\": {\n            source: \"iana\"\n          },\n          \"application/mac-binhex40\": {\n            source: \"iana\",\n            extensions: [\"hqx\"]\n          },\n          \"application/mac-compactpro\": {\n            source: \"apache\",\n            extensions: [\"cpt\"]\n          },\n          \"application/macwriteii\": {\n            source: \"iana\"\n          },\n          \"application/mads+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mads\"]\n          },\n          \"application/manifest+json\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"webmanifest\"]\n          },\n          \"application/marc\": {\n            source: \"iana\",\n            extensions: [\"mrc\"]\n          },\n          \"application/marcxml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mrcx\"]\n          },\n          \"application/mathematica\": {\n            source: \"iana\",\n            extensions: [\"ma\", \"nb\", \"mb\"]\n          },\n          \"application/mathml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mathml\"]\n          },\n          \"application/mathml-content+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mathml-presentation+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-associated-procedure-description+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-deregister+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-envelope+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-msk+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-msk-response+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-protection-description+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-reception-report+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-register+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-register-response+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-schedule+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbms-user-service-description+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mbox\": {\n            source: \"iana\",\n            extensions: [\"mbox\"]\n          },\n          \"application/media-policy-dataset+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mpf\"]\n          },\n          \"application/media_control+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mediaservercontrol+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mscml\"]\n          },\n          \"application/merge-patch+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/metalink+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"metalink\"]\n          },\n          \"application/metalink4+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"meta4\"]\n          },\n          \"application/mets+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mets\"]\n          },\n          \"application/mf4\": {\n            source: \"iana\"\n          },\n          \"application/mikey\": {\n            source: \"iana\"\n          },\n          \"application/mipc\": {\n            source: \"iana\"\n          },\n          \"application/missing-blocks+cbor-seq\": {\n            source: \"iana\"\n          },\n          \"application/mmt-aei+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"maei\"]\n          },\n          \"application/mmt-usd+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"musd\"]\n          },\n          \"application/mods+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mods\"]\n          },\n          \"application/moss-keys\": {\n            source: \"iana\"\n          },\n          \"application/moss-signature\": {\n            source: \"iana\"\n          },\n          \"application/mosskey-data\": {\n            source: \"iana\"\n          },\n          \"application/mosskey-request\": {\n            source: \"iana\"\n          },\n          \"application/mp21\": {\n            source: \"iana\",\n            extensions: [\"m21\", \"mp21\"]\n          },\n          \"application/mp4\": {\n            source: \"iana\",\n            extensions: [\"mp4s\", \"m4p\"]\n          },\n          \"application/mpeg4-generic\": {\n            source: \"iana\"\n          },\n          \"application/mpeg4-iod\": {\n            source: \"iana\"\n          },\n          \"application/mpeg4-iod-xmt\": {\n            source: \"iana\"\n          },\n          \"application/mrb-consumer+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/mrb-publish+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/msc-ivr+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/msc-mixer+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/msword\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"doc\", \"dot\"]\n          },\n          \"application/mud+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/multipart-core\": {\n            source: \"iana\"\n          },\n          \"application/mxf\": {\n            source: \"iana\",\n            extensions: [\"mxf\"]\n          },\n          \"application/n-quads\": {\n            source: \"iana\",\n            extensions: [\"nq\"]\n          },\n          \"application/n-triples\": {\n            source: \"iana\",\n            extensions: [\"nt\"]\n          },\n          \"application/nasdata\": {\n            source: \"iana\"\n          },\n          \"application/news-checkgroups\": {\n            source: \"iana\",\n            charset: \"US-ASCII\"\n          },\n          \"application/news-groupinfo\": {\n            source: \"iana\",\n            charset: \"US-ASCII\"\n          },\n          \"application/news-transmission\": {\n            source: \"iana\"\n          },\n          \"application/nlsml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/node\": {\n            source: \"iana\",\n            extensions: [\"cjs\"]\n          },\n          \"application/nss\": {\n            source: \"iana\"\n          },\n          \"application/oauth-authz-req+jwt\": {\n            source: \"iana\"\n          },\n          \"application/oblivious-dns-message\": {\n            source: \"iana\"\n          },\n          \"application/ocsp-request\": {\n            source: \"iana\"\n          },\n          \"application/ocsp-response\": {\n            source: \"iana\"\n          },\n          \"application/octet-stream\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"bin\", \"dms\", \"lrf\", \"mar\", \"so\", \"dist\", \"distz\", \"pkg\", \"bpk\", \"dump\", \"elc\", \"deploy\", \"exe\", \"dll\", \"deb\", \"dmg\", \"iso\", \"img\", \"msi\", \"msp\", \"msm\", \"buffer\"]\n          },\n          \"application/oda\": {\n            source: \"iana\",\n            extensions: [\"oda\"]\n          },\n          \"application/odm+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/odx\": {\n            source: \"iana\"\n          },\n          \"application/oebps-package+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"opf\"]\n          },\n          \"application/ogg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"ogx\"]\n          },\n          \"application/omdoc+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"omdoc\"]\n          },\n          \"application/onenote\": {\n            source: \"apache\",\n            extensions: [\"onetoc\", \"onetoc2\", \"onetmp\", \"onepkg\"]\n          },\n          \"application/opc-nodeset+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/oscore\": {\n            source: \"iana\"\n          },\n          \"application/oxps\": {\n            source: \"iana\",\n            extensions: [\"oxps\"]\n          },\n          \"application/p21\": {\n            source: \"iana\"\n          },\n          \"application/p21+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/p2p-overlay+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"relo\"]\n          },\n          \"application/parityfec\": {\n            source: \"iana\"\n          },\n          \"application/passport\": {\n            source: \"iana\"\n          },\n          \"application/patch-ops-error+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xer\"]\n          },\n          \"application/pdf\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"pdf\"]\n          },\n          \"application/pdx\": {\n            source: \"iana\"\n          },\n          \"application/pem-certificate-chain\": {\n            source: \"iana\"\n          },\n          \"application/pgp-encrypted\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"pgp\"]\n          },\n          \"application/pgp-keys\": {\n            source: \"iana\",\n            extensions: [\"asc\"]\n          },\n          \"application/pgp-signature\": {\n            source: \"iana\",\n            extensions: [\"asc\", \"sig\"]\n          },\n          \"application/pics-rules\": {\n            source: \"apache\",\n            extensions: [\"prf\"]\n          },\n          \"application/pidf+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/pidf-diff+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/pkcs10\": {\n            source: \"iana\",\n            extensions: [\"p10\"]\n          },\n          \"application/pkcs12\": {\n            source: \"iana\"\n          },\n          \"application/pkcs7-mime\": {\n            source: \"iana\",\n            extensions: [\"p7m\", \"p7c\"]\n          },\n          \"application/pkcs7-signature\": {\n            source: \"iana\",\n            extensions: [\"p7s\"]\n          },\n          \"application/pkcs8\": {\n            source: \"iana\",\n            extensions: [\"p8\"]\n          },\n          \"application/pkcs8-encrypted\": {\n            source: \"iana\"\n          },\n          \"application/pkix-attr-cert\": {\n            source: \"iana\",\n            extensions: [\"ac\"]\n          },\n          \"application/pkix-cert\": {\n            source: \"iana\",\n            extensions: [\"cer\"]\n          },\n          \"application/pkix-crl\": {\n            source: \"iana\",\n            extensions: [\"crl\"]\n          },\n          \"application/pkix-pkipath\": {\n            source: \"iana\",\n            extensions: [\"pkipath\"]\n          },\n          \"application/pkixcmp\": {\n            source: \"iana\",\n            extensions: [\"pki\"]\n          },\n          \"application/pls+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"pls\"]\n          },\n          \"application/poc-settings+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/postscript\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ai\", \"eps\", \"ps\"]\n          },\n          \"application/ppsp-tracker+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/problem+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/problem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/provenance+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"provx\"]\n          },\n          \"application/prs.alvestrand.titrax-sheet\": {\n            source: \"iana\"\n          },\n          \"application/prs.cww\": {\n            source: \"iana\",\n            extensions: [\"cww\"]\n          },\n          \"application/prs.cyn\": {\n            source: \"iana\",\n            charset: \"7-BIT\"\n          },\n          \"application/prs.hpub+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/prs.nprend\": {\n            source: \"iana\"\n          },\n          \"application/prs.plucker\": {\n            source: \"iana\"\n          },\n          \"application/prs.rdf-xml-crypt\": {\n            source: \"iana\"\n          },\n          \"application/prs.xsf+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/pskc+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"pskcxml\"]\n          },\n          \"application/pvd+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/qsig\": {\n            source: \"iana\"\n          },\n          \"application/raml+yaml\": {\n            compressible: true,\n            extensions: [\"raml\"]\n          },\n          \"application/raptorfec\": {\n            source: \"iana\"\n          },\n          \"application/rdap+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/rdf+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rdf\", \"owl\"]\n          },\n          \"application/reginfo+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rif\"]\n          },\n          \"application/relax-ng-compact-syntax\": {\n            source: \"iana\",\n            extensions: [\"rnc\"]\n          },\n          \"application/remote-printing\": {\n            source: \"iana\"\n          },\n          \"application/reputon+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/resource-lists+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rl\"]\n          },\n          \"application/resource-lists-diff+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rld\"]\n          },\n          \"application/rfc+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/riscos\": {\n            source: \"iana\"\n          },\n          \"application/rlmi+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/rls-services+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rs\"]\n          },\n          \"application/route-apd+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rapd\"]\n          },\n          \"application/route-s-tsid+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"sls\"]\n          },\n          \"application/route-usd+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rusd\"]\n          },\n          \"application/rpki-ghostbusters\": {\n            source: \"iana\",\n            extensions: [\"gbr\"]\n          },\n          \"application/rpki-manifest\": {\n            source: \"iana\",\n            extensions: [\"mft\"]\n          },\n          \"application/rpki-publication\": {\n            source: \"iana\"\n          },\n          \"application/rpki-roa\": {\n            source: \"iana\",\n            extensions: [\"roa\"]\n          },\n          \"application/rpki-updown\": {\n            source: \"iana\"\n          },\n          \"application/rsd+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"rsd\"]\n          },\n          \"application/rss+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"rss\"]\n          },\n          \"application/rtf\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rtf\"]\n          },\n          \"application/rtploopback\": {\n            source: \"iana\"\n          },\n          \"application/rtx\": {\n            source: \"iana\"\n          },\n          \"application/samlassertion+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/samlmetadata+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sarif+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sarif-external-properties+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sbe\": {\n            source: \"iana\"\n          },\n          \"application/sbml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"sbml\"]\n          },\n          \"application/scaip+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/scim+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/scvp-cv-request\": {\n            source: \"iana\",\n            extensions: [\"scq\"]\n          },\n          \"application/scvp-cv-response\": {\n            source: \"iana\",\n            extensions: [\"scs\"]\n          },\n          \"application/scvp-vp-request\": {\n            source: \"iana\",\n            extensions: [\"spq\"]\n          },\n          \"application/scvp-vp-response\": {\n            source: \"iana\",\n            extensions: [\"spp\"]\n          },\n          \"application/sdp\": {\n            source: \"iana\",\n            extensions: [\"sdp\"]\n          },\n          \"application/secevent+jwt\": {\n            source: \"iana\"\n          },\n          \"application/senml+cbor\": {\n            source: \"iana\"\n          },\n          \"application/senml+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/senml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"senmlx\"]\n          },\n          \"application/senml-etch+cbor\": {\n            source: \"iana\"\n          },\n          \"application/senml-etch+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/senml-exi\": {\n            source: \"iana\"\n          },\n          \"application/sensml+cbor\": {\n            source: \"iana\"\n          },\n          \"application/sensml+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sensml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"sensmlx\"]\n          },\n          \"application/sensml-exi\": {\n            source: \"iana\"\n          },\n          \"application/sep+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sep-exi\": {\n            source: \"iana\"\n          },\n          \"application/session-info\": {\n            source: \"iana\"\n          },\n          \"application/set-payment\": {\n            source: \"iana\"\n          },\n          \"application/set-payment-initiation\": {\n            source: \"iana\",\n            extensions: [\"setpay\"]\n          },\n          \"application/set-registration\": {\n            source: \"iana\"\n          },\n          \"application/set-registration-initiation\": {\n            source: \"iana\",\n            extensions: [\"setreg\"]\n          },\n          \"application/sgml\": {\n            source: \"iana\"\n          },\n          \"application/sgml-open-catalog\": {\n            source: \"iana\"\n          },\n          \"application/shf+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"shf\"]\n          },\n          \"application/sieve\": {\n            source: \"iana\",\n            extensions: [\"siv\", \"sieve\"]\n          },\n          \"application/simple-filter+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/simple-message-summary\": {\n            source: \"iana\"\n          },\n          \"application/simplesymbolcontainer\": {\n            source: \"iana\"\n          },\n          \"application/sipc\": {\n            source: \"iana\"\n          },\n          \"application/slate\": {\n            source: \"iana\"\n          },\n          \"application/smil\": {\n            source: \"iana\"\n          },\n          \"application/smil+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"smi\", \"smil\"]\n          },\n          \"application/smpte336m\": {\n            source: \"iana\"\n          },\n          \"application/soap+fastinfoset\": {\n            source: \"iana\"\n          },\n          \"application/soap+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sparql-query\": {\n            source: \"iana\",\n            extensions: [\"rq\"]\n          },\n          \"application/sparql-results+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"srx\"]\n          },\n          \"application/spdx+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/spirits-event+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/sql\": {\n            source: \"iana\"\n          },\n          \"application/srgs\": {\n            source: \"iana\",\n            extensions: [\"gram\"]\n          },\n          \"application/srgs+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"grxml\"]\n          },\n          \"application/sru+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"sru\"]\n          },\n          \"application/ssdl+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"ssdl\"]\n          },\n          \"application/ssml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ssml\"]\n          },\n          \"application/stix+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/swid+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"swidtag\"]\n          },\n          \"application/tamp-apex-update\": {\n            source: \"iana\"\n          },\n          \"application/tamp-apex-update-confirm\": {\n            source: \"iana\"\n          },\n          \"application/tamp-community-update\": {\n            source: \"iana\"\n          },\n          \"application/tamp-community-update-confirm\": {\n            source: \"iana\"\n          },\n          \"application/tamp-error\": {\n            source: \"iana\"\n          },\n          \"application/tamp-sequence-adjust\": {\n            source: \"iana\"\n          },\n          \"application/tamp-sequence-adjust-confirm\": {\n            source: \"iana\"\n          },\n          \"application/tamp-status-query\": {\n            source: \"iana\"\n          },\n          \"application/tamp-status-response\": {\n            source: \"iana\"\n          },\n          \"application/tamp-update\": {\n            source: \"iana\"\n          },\n          \"application/tamp-update-confirm\": {\n            source: \"iana\"\n          },\n          \"application/tar\": {\n            compressible: true\n          },\n          \"application/taxii+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/td+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/tei+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"tei\", \"teicorpus\"]\n          },\n          \"application/tetra_isi\": {\n            source: \"iana\"\n          },\n          \"application/thraud+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"tfi\"]\n          },\n          \"application/timestamp-query\": {\n            source: \"iana\"\n          },\n          \"application/timestamp-reply\": {\n            source: \"iana\"\n          },\n          \"application/timestamped-data\": {\n            source: \"iana\",\n            extensions: [\"tsd\"]\n          },\n          \"application/tlsrpt+gzip\": {\n            source: \"iana\"\n          },\n          \"application/tlsrpt+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/tnauthlist\": {\n            source: \"iana\"\n          },\n          \"application/token-introspection+jwt\": {\n            source: \"iana\"\n          },\n          \"application/toml\": {\n            compressible: true,\n            extensions: [\"toml\"]\n          },\n          \"application/trickle-ice-sdpfrag\": {\n            source: \"iana\"\n          },\n          \"application/trig\": {\n            source: \"iana\",\n            extensions: [\"trig\"]\n          },\n          \"application/ttml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ttml\"]\n          },\n          \"application/tve-trigger\": {\n            source: \"iana\"\n          },\n          \"application/tzif\": {\n            source: \"iana\"\n          },\n          \"application/tzif-leap\": {\n            source: \"iana\"\n          },\n          \"application/ubjson\": {\n            compressible: false,\n            extensions: [\"ubj\"]\n          },\n          \"application/ulpfec\": {\n            source: \"iana\"\n          },\n          \"application/urc-grpsheet+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/urc-ressheet+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rsheet\"]\n          },\n          \"application/urc-targetdesc+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"td\"]\n          },\n          \"application/urc-uisocketdesc+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vcard+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vcard+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vemmi\": {\n            source: \"iana\"\n          },\n          \"application/vividence.scriptfile\": {\n            source: \"apache\"\n          },\n          \"application/vnd.1000minds.decision-model+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"1km\"]\n          },\n          \"application/vnd.3gpp-prose+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp-prose-pc3ch+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp-v2x-local-service-information\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.5gnas\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.access-transfer-events+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.bsf+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.gmop+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.gtpc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.interworking-data\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.lpp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.mc-signalling-ear\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcdata-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcdata-payload\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.mcdata-service-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcdata-signalling\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-location-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-service-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-signed+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.mid-call+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.ngap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.pfcp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.pic-bw-large\": {\n            source: \"iana\",\n            extensions: [\"plb\"]\n          },\n          \"application/vnd.3gpp.pic-bw-small\": {\n            source: \"iana\",\n            extensions: [\"psb\"]\n          },\n          \"application/vnd.3gpp.pic-bw-var\": {\n            source: \"iana\",\n            extensions: [\"pvb\"]\n          },\n          \"application/vnd.3gpp.s1ap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.sms\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp.sms+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.srvcc-ext+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.srvcc-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.state-and-event-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp.ussd+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.3gpp2.sms\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3gpp2.tcap\": {\n            source: \"iana\",\n            extensions: [\"tcap\"]\n          },\n          \"application/vnd.3lightssoftware.imagescal\": {\n            source: \"iana\"\n          },\n          \"application/vnd.3m.post-it-notes\": {\n            source: \"iana\",\n            extensions: [\"pwn\"]\n          },\n          \"application/vnd.accpac.simply.aso\": {\n            source: \"iana\",\n            extensions: [\"aso\"]\n          },\n          \"application/vnd.accpac.simply.imp\": {\n            source: \"iana\",\n            extensions: [\"imp\"]\n          },\n          \"application/vnd.acucobol\": {\n            source: \"iana\",\n            extensions: [\"acu\"]\n          },\n          \"application/vnd.acucorp\": {\n            source: \"iana\",\n            extensions: [\"atc\", \"acutc\"]\n          },\n          \"application/vnd.adobe.air-application-installer-package+zip\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"air\"]\n          },\n          \"application/vnd.adobe.flash.movie\": {\n            source: \"iana\"\n          },\n          \"application/vnd.adobe.formscentral.fcdt\": {\n            source: \"iana\",\n            extensions: [\"fcdt\"]\n          },\n          \"application/vnd.adobe.fxp\": {\n            source: \"iana\",\n            extensions: [\"fxp\", \"fxpl\"]\n          },\n          \"application/vnd.adobe.partial-upload\": {\n            source: \"iana\"\n          },\n          \"application/vnd.adobe.xdp+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xdp\"]\n          },\n          \"application/vnd.adobe.xfdf\": {\n            source: \"iana\",\n            extensions: [\"xfdf\"]\n          },\n          \"application/vnd.aether.imp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.afplinedata\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.afplinedata-pagedef\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.cmoca-cmresource\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.foca-charset\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.foca-codedfont\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.foca-codepage\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-cmtable\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-formdef\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-mediummap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-objectcontainer\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-overlay\": {\n            source: \"iana\"\n          },\n          \"application/vnd.afpc.modca-pagesegment\": {\n            source: \"iana\"\n          },\n          \"application/vnd.age\": {\n            source: \"iana\",\n            extensions: [\"age\"]\n          },\n          \"application/vnd.ah-barcode\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ahead.space\": {\n            source: \"iana\",\n            extensions: [\"ahead\"]\n          },\n          \"application/vnd.airzip.filesecure.azf\": {\n            source: \"iana\",\n            extensions: [\"azf\"]\n          },\n          \"application/vnd.airzip.filesecure.azs\": {\n            source: \"iana\",\n            extensions: [\"azs\"]\n          },\n          \"application/vnd.amadeus+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.amazon.ebook\": {\n            source: \"apache\",\n            extensions: [\"azw\"]\n          },\n          \"application/vnd.amazon.mobi8-ebook\": {\n            source: \"iana\"\n          },\n          \"application/vnd.americandynamics.acc\": {\n            source: \"iana\",\n            extensions: [\"acc\"]\n          },\n          \"application/vnd.amiga.ami\": {\n            source: \"iana\",\n            extensions: [\"ami\"]\n          },\n          \"application/vnd.amundsen.maze+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.android.ota\": {\n            source: \"iana\"\n          },\n          \"application/vnd.android.package-archive\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"apk\"]\n          },\n          \"application/vnd.anki\": {\n            source: \"iana\"\n          },\n          \"application/vnd.anser-web-certificate-issue-initiation\": {\n            source: \"iana\",\n            extensions: [\"cii\"]\n          },\n          \"application/vnd.anser-web-funds-transfer-initiation\": {\n            source: \"apache\",\n            extensions: [\"fti\"]\n          },\n          \"application/vnd.antix.game-component\": {\n            source: \"iana\",\n            extensions: [\"atx\"]\n          },\n          \"application/vnd.apache.arrow.file\": {\n            source: \"iana\"\n          },\n          \"application/vnd.apache.arrow.stream\": {\n            source: \"iana\"\n          },\n          \"application/vnd.apache.thrift.binary\": {\n            source: \"iana\"\n          },\n          \"application/vnd.apache.thrift.compact\": {\n            source: \"iana\"\n          },\n          \"application/vnd.apache.thrift.json\": {\n            source: \"iana\"\n          },\n          \"application/vnd.api+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.aplextor.warrp+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.apothekende.reservation+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.apple.installer+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mpkg\"]\n          },\n          \"application/vnd.apple.keynote\": {\n            source: \"iana\",\n            extensions: [\"key\"]\n          },\n          \"application/vnd.apple.mpegurl\": {\n            source: \"iana\",\n            extensions: [\"m3u8\"]\n          },\n          \"application/vnd.apple.numbers\": {\n            source: \"iana\",\n            extensions: [\"numbers\"]\n          },\n          \"application/vnd.apple.pages\": {\n            source: \"iana\",\n            extensions: [\"pages\"]\n          },\n          \"application/vnd.apple.pkpass\": {\n            compressible: false,\n            extensions: [\"pkpass\"]\n          },\n          \"application/vnd.arastra.swi\": {\n            source: \"iana\"\n          },\n          \"application/vnd.aristanetworks.swi\": {\n            source: \"iana\",\n            extensions: [\"swi\"]\n          },\n          \"application/vnd.artisan+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.artsquare\": {\n            source: \"iana\"\n          },\n          \"application/vnd.astraea-software.iota\": {\n            source: \"iana\",\n            extensions: [\"iota\"]\n          },\n          \"application/vnd.audiograph\": {\n            source: \"iana\",\n            extensions: [\"aep\"]\n          },\n          \"application/vnd.autopackage\": {\n            source: \"iana\"\n          },\n          \"application/vnd.avalon+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.avistar+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.balsamiq.bmml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"bmml\"]\n          },\n          \"application/vnd.balsamiq.bmpr\": {\n            source: \"iana\"\n          },\n          \"application/vnd.banana-accounting\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bbf.usp.error\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bbf.usp.msg\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bbf.usp.msg+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.bekitzur-stech+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.bint.med-content\": {\n            source: \"iana\"\n          },\n          \"application/vnd.biopax.rdf+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.blink-idb-value-wrapper\": {\n            source: \"iana\"\n          },\n          \"application/vnd.blueice.multipass\": {\n            source: \"iana\",\n            extensions: [\"mpm\"]\n          },\n          \"application/vnd.bluetooth.ep.oob\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bluetooth.le.oob\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bmi\": {\n            source: \"iana\",\n            extensions: [\"bmi\"]\n          },\n          \"application/vnd.bpf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.bpf3\": {\n            source: \"iana\"\n          },\n          \"application/vnd.businessobjects\": {\n            source: \"iana\",\n            extensions: [\"rep\"]\n          },\n          \"application/vnd.byu.uapi+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cab-jscript\": {\n            source: \"iana\"\n          },\n          \"application/vnd.canon-cpdl\": {\n            source: \"iana\"\n          },\n          \"application/vnd.canon-lips\": {\n            source: \"iana\"\n          },\n          \"application/vnd.capasystems-pg+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cendio.thinlinc.clientconf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.century-systems.tcp_stream\": {\n            source: \"iana\"\n          },\n          \"application/vnd.chemdraw+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"cdxml\"]\n          },\n          \"application/vnd.chess-pgn\": {\n            source: \"iana\"\n          },\n          \"application/vnd.chipnuts.karaoke-mmd\": {\n            source: \"iana\",\n            extensions: [\"mmd\"]\n          },\n          \"application/vnd.ciedi\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cinderella\": {\n            source: \"iana\",\n            extensions: [\"cdy\"]\n          },\n          \"application/vnd.cirpack.isdn-ext\": {\n            source: \"iana\"\n          },\n          \"application/vnd.citationstyles.style+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"csl\"]\n          },\n          \"application/vnd.claymore\": {\n            source: \"iana\",\n            extensions: [\"cla\"]\n          },\n          \"application/vnd.cloanto.rp9\": {\n            source: \"iana\",\n            extensions: [\"rp9\"]\n          },\n          \"application/vnd.clonk.c4group\": {\n            source: \"iana\",\n            extensions: [\"c4g\", \"c4d\", \"c4f\", \"c4p\", \"c4u\"]\n          },\n          \"application/vnd.cluetrust.cartomobile-config\": {\n            source: \"iana\",\n            extensions: [\"c11amc\"]\n          },\n          \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n            source: \"iana\",\n            extensions: [\"c11amz\"]\n          },\n          \"application/vnd.coffeescript\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.document\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.document-template\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.presentation\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.presentation-template\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.spreadsheet\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n            source: \"iana\"\n          },\n          \"application/vnd.collection+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.collection.doc+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.collection.next+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.comicbook+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.comicbook-rar\": {\n            source: \"iana\"\n          },\n          \"application/vnd.commerce-battelle\": {\n            source: \"iana\"\n          },\n          \"application/vnd.commonspace\": {\n            source: \"iana\",\n            extensions: [\"csp\"]\n          },\n          \"application/vnd.contact.cmsg\": {\n            source: \"iana\",\n            extensions: [\"cdbcmsg\"]\n          },\n          \"application/vnd.coreos.ignition+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cosmocaller\": {\n            source: \"iana\",\n            extensions: [\"cmc\"]\n          },\n          \"application/vnd.crick.clicker\": {\n            source: \"iana\",\n            extensions: [\"clkx\"]\n          },\n          \"application/vnd.crick.clicker.keyboard\": {\n            source: \"iana\",\n            extensions: [\"clkk\"]\n          },\n          \"application/vnd.crick.clicker.palette\": {\n            source: \"iana\",\n            extensions: [\"clkp\"]\n          },\n          \"application/vnd.crick.clicker.template\": {\n            source: \"iana\",\n            extensions: [\"clkt\"]\n          },\n          \"application/vnd.crick.clicker.wordbank\": {\n            source: \"iana\",\n            extensions: [\"clkw\"]\n          },\n          \"application/vnd.criticaltools.wbs+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wbs\"]\n          },\n          \"application/vnd.cryptii.pipe+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.crypto-shade-file\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cryptomator.encrypted\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cryptomator.vault\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ctc-posml\": {\n            source: \"iana\",\n            extensions: [\"pml\"]\n          },\n          \"application/vnd.ctct.ws+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cups-pdf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cups-postscript\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cups-ppd\": {\n            source: \"iana\",\n            extensions: [\"ppd\"]\n          },\n          \"application/vnd.cups-raster\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cups-raw\": {\n            source: \"iana\"\n          },\n          \"application/vnd.curl\": {\n            source: \"iana\"\n          },\n          \"application/vnd.curl.car\": {\n            source: \"apache\",\n            extensions: [\"car\"]\n          },\n          \"application/vnd.curl.pcurl\": {\n            source: \"apache\",\n            extensions: [\"pcurl\"]\n          },\n          \"application/vnd.cyan.dean.root+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cybank\": {\n            source: \"iana\"\n          },\n          \"application/vnd.cyclonedx+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.cyclonedx+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.d2l.coursepackage1p0+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.d3m-dataset\": {\n            source: \"iana\"\n          },\n          \"application/vnd.d3m-problem\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dart\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"dart\"]\n          },\n          \"application/vnd.data-vision.rdz\": {\n            source: \"iana\",\n            extensions: [\"rdz\"]\n          },\n          \"application/vnd.datapackage+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dataresource+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dbf\": {\n            source: \"iana\",\n            extensions: [\"dbf\"]\n          },\n          \"application/vnd.debian.binary-package\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dece.data\": {\n            source: \"iana\",\n            extensions: [\"uvf\", \"uvvf\", \"uvd\", \"uvvd\"]\n          },\n          \"application/vnd.dece.ttml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"uvt\", \"uvvt\"]\n          },\n          \"application/vnd.dece.unspecified\": {\n            source: \"iana\",\n            extensions: [\"uvx\", \"uvvx\"]\n          },\n          \"application/vnd.dece.zip\": {\n            source: \"iana\",\n            extensions: [\"uvz\", \"uvvz\"]\n          },\n          \"application/vnd.denovo.fcselayout-link\": {\n            source: \"iana\",\n            extensions: [\"fe_launch\"]\n          },\n          \"application/vnd.desmume.movie\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dm.delegation+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dna\": {\n            source: \"iana\",\n            extensions: [\"dna\"]\n          },\n          \"application/vnd.document+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dolby.mlp\": {\n            source: \"apache\",\n            extensions: [\"mlp\"]\n          },\n          \"application/vnd.dolby.mobile.1\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dolby.mobile.2\": {\n            source: \"iana\"\n          },\n          \"application/vnd.doremir.scorecloud-binary-document\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dpgraph\": {\n            source: \"iana\",\n            extensions: [\"dpg\"]\n          },\n          \"application/vnd.dreamfactory\": {\n            source: \"iana\",\n            extensions: [\"dfac\"]\n          },\n          \"application/vnd.drive+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ds-keypoint\": {\n            source: \"apache\",\n            extensions: [\"kpxx\"]\n          },\n          \"application/vnd.dtg.local\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dtg.local.flash\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dtg.local.html\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ait\": {\n            source: \"iana\",\n            extensions: [\"ait\"]\n          },\n          \"application/vnd.dvb.dvbisl+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.dvbj\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.esgcontainer\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ipdcdftnotifaccess\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ipdcesgaccess\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ipdcesgaccess2\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ipdcesgpdd\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.ipdcroaming\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.iptv.alfec-base\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.iptv.alfec-enhancement\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.notif-aggregate-root+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-container+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-generic+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-ia-msglist+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.notif-init+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.dvb.pfr\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dvb.service\": {\n            source: \"iana\",\n            extensions: [\"svc\"]\n          },\n          \"application/vnd.dxr\": {\n            source: \"iana\"\n          },\n          \"application/vnd.dynageo\": {\n            source: \"iana\",\n            extensions: [\"geo\"]\n          },\n          \"application/vnd.dzr\": {\n            source: \"iana\"\n          },\n          \"application/vnd.easykaraoke.cdgdownload\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecdis-update\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecip.rlp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.eclipse.ditto+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ecowin.chart\": {\n            source: \"iana\",\n            extensions: [\"mag\"]\n          },\n          \"application/vnd.ecowin.filerequest\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecowin.fileupdate\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecowin.series\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecowin.seriesrequest\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ecowin.seriesupdate\": {\n            source: \"iana\"\n          },\n          \"application/vnd.efi.img\": {\n            source: \"iana\"\n          },\n          \"application/vnd.efi.iso\": {\n            source: \"iana\"\n          },\n          \"application/vnd.emclient.accessrequest+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.enliven\": {\n            source: \"iana\",\n            extensions: [\"nml\"]\n          },\n          \"application/vnd.enphase.envoy\": {\n            source: \"iana\"\n          },\n          \"application/vnd.eprints.data+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.epson.esf\": {\n            source: \"iana\",\n            extensions: [\"esf\"]\n          },\n          \"application/vnd.epson.msf\": {\n            source: \"iana\",\n            extensions: [\"msf\"]\n          },\n          \"application/vnd.epson.quickanime\": {\n            source: \"iana\",\n            extensions: [\"qam\"]\n          },\n          \"application/vnd.epson.salt\": {\n            source: \"iana\",\n            extensions: [\"slt\"]\n          },\n          \"application/vnd.epson.ssf\": {\n            source: \"iana\",\n            extensions: [\"ssf\"]\n          },\n          \"application/vnd.ericsson.quickcall\": {\n            source: \"iana\"\n          },\n          \"application/vnd.espass-espass+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.eszigno3+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"es3\", \"et3\"]\n          },\n          \"application/vnd.etsi.aoc+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.asic-e+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.etsi.asic-s+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.etsi.cug+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvcommand+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvdiscovery+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvprofile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvsad-bc+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvsad-cod+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvsad-npvr+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvservice+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvsync+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.iptvueprofile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.mcid+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.mheg5\": {\n            source: \"iana\"\n          },\n          \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.pstn+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.sci+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.simservs+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.timestamp-token\": {\n            source: \"iana\"\n          },\n          \"application/vnd.etsi.tsl+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.etsi.tsl.der\": {\n            source: \"iana\"\n          },\n          \"application/vnd.eu.kasparian.car+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.eudora.data\": {\n            source: \"iana\"\n          },\n          \"application/vnd.evolv.ecig.profile\": {\n            source: \"iana\"\n          },\n          \"application/vnd.evolv.ecig.settings\": {\n            source: \"iana\"\n          },\n          \"application/vnd.evolv.ecig.theme\": {\n            source: \"iana\"\n          },\n          \"application/vnd.exstream-empower+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.exstream-package\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ezpix-album\": {\n            source: \"iana\",\n            extensions: [\"ez2\"]\n          },\n          \"application/vnd.ezpix-package\": {\n            source: \"iana\",\n            extensions: [\"ez3\"]\n          },\n          \"application/vnd.f-secure.mobile\": {\n            source: \"iana\"\n          },\n          \"application/vnd.familysearch.gedcom+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.fastcopy-disk-image\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fdf\": {\n            source: \"iana\",\n            extensions: [\"fdf\"]\n          },\n          \"application/vnd.fdsn.mseed\": {\n            source: \"iana\",\n            extensions: [\"mseed\"]\n          },\n          \"application/vnd.fdsn.seed\": {\n            source: \"iana\",\n            extensions: [\"seed\", \"dataless\"]\n          },\n          \"application/vnd.ffsns\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ficlab.flb+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.filmit.zfc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fints\": {\n            source: \"iana\"\n          },\n          \"application/vnd.firemonkeys.cloudcell\": {\n            source: \"iana\"\n          },\n          \"application/vnd.flographit\": {\n            source: \"iana\",\n            extensions: [\"gph\"]\n          },\n          \"application/vnd.fluxtime.clip\": {\n            source: \"iana\",\n            extensions: [\"ftc\"]\n          },\n          \"application/vnd.font-fontforge-sfd\": {\n            source: \"iana\"\n          },\n          \"application/vnd.framemaker\": {\n            source: \"iana\",\n            extensions: [\"fm\", \"frame\", \"maker\", \"book\"]\n          },\n          \"application/vnd.frogans.fnc\": {\n            source: \"iana\",\n            extensions: [\"fnc\"]\n          },\n          \"application/vnd.frogans.ltf\": {\n            source: \"iana\",\n            extensions: [\"ltf\"]\n          },\n          \"application/vnd.fsc.weblaunch\": {\n            source: \"iana\",\n            extensions: [\"fsc\"]\n          },\n          \"application/vnd.fujifilm.fb.docuworks\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujifilm.fb.docuworks.binder\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujifilm.fb.docuworks.container\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujifilm.fb.jfi+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.fujitsu.oasys\": {\n            source: \"iana\",\n            extensions: [\"oas\"]\n          },\n          \"application/vnd.fujitsu.oasys2\": {\n            source: \"iana\",\n            extensions: [\"oa2\"]\n          },\n          \"application/vnd.fujitsu.oasys3\": {\n            source: \"iana\",\n            extensions: [\"oa3\"]\n          },\n          \"application/vnd.fujitsu.oasysgp\": {\n            source: \"iana\",\n            extensions: [\"fg5\"]\n          },\n          \"application/vnd.fujitsu.oasysprs\": {\n            source: \"iana\",\n            extensions: [\"bh2\"]\n          },\n          \"application/vnd.fujixerox.art-ex\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujixerox.art4\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujixerox.ddd\": {\n            source: \"iana\",\n            extensions: [\"ddd\"]\n          },\n          \"application/vnd.fujixerox.docuworks\": {\n            source: \"iana\",\n            extensions: [\"xdw\"]\n          },\n          \"application/vnd.fujixerox.docuworks.binder\": {\n            source: \"iana\",\n            extensions: [\"xbd\"]\n          },\n          \"application/vnd.fujixerox.docuworks.container\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fujixerox.hbpl\": {\n            source: \"iana\"\n          },\n          \"application/vnd.fut-misnet\": {\n            source: \"iana\"\n          },\n          \"application/vnd.futoin+cbor\": {\n            source: \"iana\"\n          },\n          \"application/vnd.futoin+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.fuzzysheet\": {\n            source: \"iana\",\n            extensions: [\"fzs\"]\n          },\n          \"application/vnd.genomatix.tuxedo\": {\n            source: \"iana\",\n            extensions: [\"txd\"]\n          },\n          \"application/vnd.gentics.grd+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.geo+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.geocube+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.geogebra.file\": {\n            source: \"iana\",\n            extensions: [\"ggb\"]\n          },\n          \"application/vnd.geogebra.slides\": {\n            source: \"iana\"\n          },\n          \"application/vnd.geogebra.tool\": {\n            source: \"iana\",\n            extensions: [\"ggt\"]\n          },\n          \"application/vnd.geometry-explorer\": {\n            source: \"iana\",\n            extensions: [\"gex\", \"gre\"]\n          },\n          \"application/vnd.geonext\": {\n            source: \"iana\",\n            extensions: [\"gxt\"]\n          },\n          \"application/vnd.geoplan\": {\n            source: \"iana\",\n            extensions: [\"g2w\"]\n          },\n          \"application/vnd.geospace\": {\n            source: \"iana\",\n            extensions: [\"g3w\"]\n          },\n          \"application/vnd.gerber\": {\n            source: \"iana\"\n          },\n          \"application/vnd.globalplatform.card-content-mgt\": {\n            source: \"iana\"\n          },\n          \"application/vnd.globalplatform.card-content-mgt-response\": {\n            source: \"iana\"\n          },\n          \"application/vnd.gmx\": {\n            source: \"iana\",\n            extensions: [\"gmx\"]\n          },\n          \"application/vnd.google-apps.document\": {\n            compressible: false,\n            extensions: [\"gdoc\"]\n          },\n          \"application/vnd.google-apps.presentation\": {\n            compressible: false,\n            extensions: [\"gslides\"]\n          },\n          \"application/vnd.google-apps.spreadsheet\": {\n            compressible: false,\n            extensions: [\"gsheet\"]\n          },\n          \"application/vnd.google-earth.kml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"kml\"]\n          },\n          \"application/vnd.google-earth.kmz\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"kmz\"]\n          },\n          \"application/vnd.gov.sk.e-form+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.gov.sk.e-form+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.grafeq\": {\n            source: \"iana\",\n            extensions: [\"gqf\", \"gqs\"]\n          },\n          \"application/vnd.gridmp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.groove-account\": {\n            source: \"iana\",\n            extensions: [\"gac\"]\n          },\n          \"application/vnd.groove-help\": {\n            source: \"iana\",\n            extensions: [\"ghf\"]\n          },\n          \"application/vnd.groove-identity-message\": {\n            source: \"iana\",\n            extensions: [\"gim\"]\n          },\n          \"application/vnd.groove-injector\": {\n            source: \"iana\",\n            extensions: [\"grv\"]\n          },\n          \"application/vnd.groove-tool-message\": {\n            source: \"iana\",\n            extensions: [\"gtm\"]\n          },\n          \"application/vnd.groove-tool-template\": {\n            source: \"iana\",\n            extensions: [\"tpl\"]\n          },\n          \"application/vnd.groove-vcard\": {\n            source: \"iana\",\n            extensions: [\"vcg\"]\n          },\n          \"application/vnd.hal+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hal+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"hal\"]\n          },\n          \"application/vnd.handheld-entertainment+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"zmm\"]\n          },\n          \"application/vnd.hbci\": {\n            source: \"iana\",\n            extensions: [\"hbci\"]\n          },\n          \"application/vnd.hc+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hcl-bireports\": {\n            source: \"iana\"\n          },\n          \"application/vnd.hdt\": {\n            source: \"iana\"\n          },\n          \"application/vnd.heroku+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hhe.lesson-player\": {\n            source: \"iana\",\n            extensions: [\"les\"]\n          },\n          \"application/vnd.hl7cda+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.hl7v2+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.hp-hpgl\": {\n            source: \"iana\",\n            extensions: [\"hpgl\"]\n          },\n          \"application/vnd.hp-hpid\": {\n            source: \"iana\",\n            extensions: [\"hpid\"]\n          },\n          \"application/vnd.hp-hps\": {\n            source: \"iana\",\n            extensions: [\"hps\"]\n          },\n          \"application/vnd.hp-jlyt\": {\n            source: \"iana\",\n            extensions: [\"jlt\"]\n          },\n          \"application/vnd.hp-pcl\": {\n            source: \"iana\",\n            extensions: [\"pcl\"]\n          },\n          \"application/vnd.hp-pclxl\": {\n            source: \"iana\",\n            extensions: [\"pclxl\"]\n          },\n          \"application/vnd.httphone\": {\n            source: \"iana\"\n          },\n          \"application/vnd.hydrostatix.sof-data\": {\n            source: \"iana\",\n            extensions: [\"sfd-hdstx\"]\n          },\n          \"application/vnd.hyper+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hyper-item+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hyperdrive+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.hzn-3d-crossword\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ibm.afplinedata\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ibm.electronic-media\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ibm.minipay\": {\n            source: \"iana\",\n            extensions: [\"mpy\"]\n          },\n          \"application/vnd.ibm.modcap\": {\n            source: \"iana\",\n            extensions: [\"afp\", \"listafp\", \"list3820\"]\n          },\n          \"application/vnd.ibm.rights-management\": {\n            source: \"iana\",\n            extensions: [\"irm\"]\n          },\n          \"application/vnd.ibm.secure-container\": {\n            source: \"iana\",\n            extensions: [\"sc\"]\n          },\n          \"application/vnd.iccprofile\": {\n            source: \"iana\",\n            extensions: [\"icc\", \"icm\"]\n          },\n          \"application/vnd.ieee.1905\": {\n            source: \"iana\"\n          },\n          \"application/vnd.igloader\": {\n            source: \"iana\",\n            extensions: [\"igl\"]\n          },\n          \"application/vnd.imagemeter.folder+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.imagemeter.image+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.immervision-ivp\": {\n            source: \"iana\",\n            extensions: [\"ivp\"]\n          },\n          \"application/vnd.immervision-ivu\": {\n            source: \"iana\",\n            extensions: [\"ivu\"]\n          },\n          \"application/vnd.ims.imsccv1p1\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ims.imsccv1p2\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ims.imsccv1p3\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ims.lis.v2.result+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ims.lti.v2.toolproxy+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ims.lti.v2.toolsettings+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.informedcontrol.rms+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.informix-visionary\": {\n            source: \"iana\"\n          },\n          \"application/vnd.infotech.project\": {\n            source: \"iana\"\n          },\n          \"application/vnd.infotech.project+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.innopath.wamp.notification\": {\n            source: \"iana\"\n          },\n          \"application/vnd.insors.igm\": {\n            source: \"iana\",\n            extensions: [\"igm\"]\n          },\n          \"application/vnd.intercon.formnet\": {\n            source: \"iana\",\n            extensions: [\"xpw\", \"xpx\"]\n          },\n          \"application/vnd.intergeo\": {\n            source: \"iana\",\n            extensions: [\"i2g\"]\n          },\n          \"application/vnd.intertrust.digibox\": {\n            source: \"iana\"\n          },\n          \"application/vnd.intertrust.nncp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.intu.qbo\": {\n            source: \"iana\",\n            extensions: [\"qbo\"]\n          },\n          \"application/vnd.intu.qfx\": {\n            source: \"iana\",\n            extensions: [\"qfx\"]\n          },\n          \"application/vnd.iptc.g2.catalogitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.conceptitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.newsitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.newsmessage+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.packageitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.iptc.g2.planningitem+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ipunplugged.rcprofile\": {\n            source: \"iana\",\n            extensions: [\"rcprofile\"]\n          },\n          \"application/vnd.irepository.package+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"irp\"]\n          },\n          \"application/vnd.is-xpr\": {\n            source: \"iana\",\n            extensions: [\"xpr\"]\n          },\n          \"application/vnd.isac.fcs\": {\n            source: \"iana\",\n            extensions: [\"fcs\"]\n          },\n          \"application/vnd.iso11783-10+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.jam\": {\n            source: \"iana\",\n            extensions: [\"jam\"]\n          },\n          \"application/vnd.japannet-directory-service\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-jpnstore-wakeup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-payment-wakeup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-registration\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-registration-wakeup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-setstore-wakeup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-verification\": {\n            source: \"iana\"\n          },\n          \"application/vnd.japannet-verification-wakeup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.jcp.javame.midlet-rms\": {\n            source: \"iana\",\n            extensions: [\"rms\"]\n          },\n          \"application/vnd.jisp\": {\n            source: \"iana\",\n            extensions: [\"jisp\"]\n          },\n          \"application/vnd.joost.joda-archive\": {\n            source: \"iana\",\n            extensions: [\"joda\"]\n          },\n          \"application/vnd.jsk.isdn-ngn\": {\n            source: \"iana\"\n          },\n          \"application/vnd.kahootz\": {\n            source: \"iana\",\n            extensions: [\"ktz\", \"ktr\"]\n          },\n          \"application/vnd.kde.karbon\": {\n            source: \"iana\",\n            extensions: [\"karbon\"]\n          },\n          \"application/vnd.kde.kchart\": {\n            source: \"iana\",\n            extensions: [\"chrt\"]\n          },\n          \"application/vnd.kde.kformula\": {\n            source: \"iana\",\n            extensions: [\"kfo\"]\n          },\n          \"application/vnd.kde.kivio\": {\n            source: \"iana\",\n            extensions: [\"flw\"]\n          },\n          \"application/vnd.kde.kontour\": {\n            source: \"iana\",\n            extensions: [\"kon\"]\n          },\n          \"application/vnd.kde.kpresenter\": {\n            source: \"iana\",\n            extensions: [\"kpr\", \"kpt\"]\n          },\n          \"application/vnd.kde.kspread\": {\n            source: \"iana\",\n            extensions: [\"ksp\"]\n          },\n          \"application/vnd.kde.kword\": {\n            source: \"iana\",\n            extensions: [\"kwd\", \"kwt\"]\n          },\n          \"application/vnd.kenameaapp\": {\n            source: \"iana\",\n            extensions: [\"htke\"]\n          },\n          \"application/vnd.kidspiration\": {\n            source: \"iana\",\n            extensions: [\"kia\"]\n          },\n          \"application/vnd.kinar\": {\n            source: \"iana\",\n            extensions: [\"kne\", \"knp\"]\n          },\n          \"application/vnd.koan\": {\n            source: \"iana\",\n            extensions: [\"skp\", \"skd\", \"skt\", \"skm\"]\n          },\n          \"application/vnd.kodak-descriptor\": {\n            source: \"iana\",\n            extensions: [\"sse\"]\n          },\n          \"application/vnd.las\": {\n            source: \"iana\"\n          },\n          \"application/vnd.las.las+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.las.las+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"lasxml\"]\n          },\n          \"application/vnd.laszip\": {\n            source: \"iana\"\n          },\n          \"application/vnd.leap+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.liberty-request+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.llamagraphics.life-balance.desktop\": {\n            source: \"iana\",\n            extensions: [\"lbd\"]\n          },\n          \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"lbe\"]\n          },\n          \"application/vnd.logipipe.circuit+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.loom\": {\n            source: \"iana\"\n          },\n          \"application/vnd.lotus-1-2-3\": {\n            source: \"iana\",\n            extensions: [\"123\"]\n          },\n          \"application/vnd.lotus-approach\": {\n            source: \"iana\",\n            extensions: [\"apr\"]\n          },\n          \"application/vnd.lotus-freelance\": {\n            source: \"iana\",\n            extensions: [\"pre\"]\n          },\n          \"application/vnd.lotus-notes\": {\n            source: \"iana\",\n            extensions: [\"nsf\"]\n          },\n          \"application/vnd.lotus-organizer\": {\n            source: \"iana\",\n            extensions: [\"org\"]\n          },\n          \"application/vnd.lotus-screencam\": {\n            source: \"iana\",\n            extensions: [\"scm\"]\n          },\n          \"application/vnd.lotus-wordpro\": {\n            source: \"iana\",\n            extensions: [\"lwp\"]\n          },\n          \"application/vnd.macports.portpkg\": {\n            source: \"iana\",\n            extensions: [\"portpkg\"]\n          },\n          \"application/vnd.mapbox-vector-tile\": {\n            source: \"iana\",\n            extensions: [\"mvt\"]\n          },\n          \"application/vnd.marlin.drm.actiontoken+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.marlin.drm.conftoken+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.marlin.drm.license+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.marlin.drm.mdcf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mason+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.maxar.archive.3tz+zip\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"application/vnd.maxmind.maxmind-db\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mcd\": {\n            source: \"iana\",\n            extensions: [\"mcd\"]\n          },\n          \"application/vnd.medcalcdata\": {\n            source: \"iana\",\n            extensions: [\"mc1\"]\n          },\n          \"application/vnd.mediastation.cdkey\": {\n            source: \"iana\",\n            extensions: [\"cdkey\"]\n          },\n          \"application/vnd.meridian-slingshot\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mfer\": {\n            source: \"iana\",\n            extensions: [\"mwf\"]\n          },\n          \"application/vnd.mfmp\": {\n            source: \"iana\",\n            extensions: [\"mfm\"]\n          },\n          \"application/vnd.micro+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.micrografx.flo\": {\n            source: \"iana\",\n            extensions: [\"flo\"]\n          },\n          \"application/vnd.micrografx.igx\": {\n            source: \"iana\",\n            extensions: [\"igx\"]\n          },\n          \"application/vnd.microsoft.portable-executable\": {\n            source: \"iana\"\n          },\n          \"application/vnd.microsoft.windows.thumbnail-cache\": {\n            source: \"iana\"\n          },\n          \"application/vnd.miele+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.mif\": {\n            source: \"iana\",\n            extensions: [\"mif\"]\n          },\n          \"application/vnd.minisoft-hp3000-save\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mobius.daf\": {\n            source: \"iana\",\n            extensions: [\"daf\"]\n          },\n          \"application/vnd.mobius.dis\": {\n            source: \"iana\",\n            extensions: [\"dis\"]\n          },\n          \"application/vnd.mobius.mbk\": {\n            source: \"iana\",\n            extensions: [\"mbk\"]\n          },\n          \"application/vnd.mobius.mqy\": {\n            source: \"iana\",\n            extensions: [\"mqy\"]\n          },\n          \"application/vnd.mobius.msl\": {\n            source: \"iana\",\n            extensions: [\"msl\"]\n          },\n          \"application/vnd.mobius.plc\": {\n            source: \"iana\",\n            extensions: [\"plc\"]\n          },\n          \"application/vnd.mobius.txf\": {\n            source: \"iana\",\n            extensions: [\"txf\"]\n          },\n          \"application/vnd.mophun.application\": {\n            source: \"iana\",\n            extensions: [\"mpn\"]\n          },\n          \"application/vnd.mophun.certificate\": {\n            source: \"iana\",\n            extensions: [\"mpc\"]\n          },\n          \"application/vnd.motorola.flexsuite\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.adsi\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.fis\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.gotap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.kmr\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.ttc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.flexsuite.wem\": {\n            source: \"iana\"\n          },\n          \"application/vnd.motorola.iprm\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mozilla.xul+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xul\"]\n          },\n          \"application/vnd.ms-3mfdocument\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-artgalry\": {\n            source: \"iana\",\n            extensions: [\"cil\"]\n          },\n          \"application/vnd.ms-asf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-cab-compressed\": {\n            source: \"iana\",\n            extensions: [\"cab\"]\n          },\n          \"application/vnd.ms-color.iccprofile\": {\n            source: \"apache\"\n          },\n          \"application/vnd.ms-excel\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"xls\", \"xlm\", \"xla\", \"xlc\", \"xlt\", \"xlw\"]\n          },\n          \"application/vnd.ms-excel.addin.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"xlam\"]\n          },\n          \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"xlsb\"]\n          },\n          \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"xlsm\"]\n          },\n          \"application/vnd.ms-excel.template.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"xltm\"]\n          },\n          \"application/vnd.ms-fontobject\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"eot\"]\n          },\n          \"application/vnd.ms-htmlhelp\": {\n            source: \"iana\",\n            extensions: [\"chm\"]\n          },\n          \"application/vnd.ms-ims\": {\n            source: \"iana\",\n            extensions: [\"ims\"]\n          },\n          \"application/vnd.ms-lrm\": {\n            source: \"iana\",\n            extensions: [\"lrm\"]\n          },\n          \"application/vnd.ms-office.activex+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ms-officetheme\": {\n            source: \"iana\",\n            extensions: [\"thmx\"]\n          },\n          \"application/vnd.ms-opentype\": {\n            source: \"apache\",\n            compressible: true\n          },\n          \"application/vnd.ms-outlook\": {\n            compressible: false,\n            extensions: [\"msg\"]\n          },\n          \"application/vnd.ms-package.obfuscated-opentype\": {\n            source: \"apache\"\n          },\n          \"application/vnd.ms-pki.seccat\": {\n            source: \"apache\",\n            extensions: [\"cat\"]\n          },\n          \"application/vnd.ms-pki.stl\": {\n            source: \"apache\",\n            extensions: [\"stl\"]\n          },\n          \"application/vnd.ms-playready.initiator+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ms-powerpoint\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"ppt\", \"pps\", \"pot\"]\n          },\n          \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"ppam\"]\n          },\n          \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"pptm\"]\n          },\n          \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"sldm\"]\n          },\n          \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"ppsm\"]\n          },\n          \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"potm\"]\n          },\n          \"application/vnd.ms-printdevicecapabilities+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ms-printing.printticket+xml\": {\n            source: \"apache\",\n            compressible: true\n          },\n          \"application/vnd.ms-printschematicket+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ms-project\": {\n            source: \"iana\",\n            extensions: [\"mpp\", \"mpt\"]\n          },\n          \"application/vnd.ms-tnef\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-windows.devicepairing\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-windows.nwprinting.oob\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-windows.printerpairing\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-windows.wsd.oob\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-wmdrm.lic-resp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-wmdrm.meter-resp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ms-word.document.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"docm\"]\n          },\n          \"application/vnd.ms-word.template.macroenabled.12\": {\n            source: \"iana\",\n            extensions: [\"dotm\"]\n          },\n          \"application/vnd.ms-works\": {\n            source: \"iana\",\n            extensions: [\"wps\", \"wks\", \"wcm\", \"wdb\"]\n          },\n          \"application/vnd.ms-wpl\": {\n            source: \"iana\",\n            extensions: [\"wpl\"]\n          },\n          \"application/vnd.ms-xpsdocument\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"xps\"]\n          },\n          \"application/vnd.msa-disk-image\": {\n            source: \"iana\"\n          },\n          \"application/vnd.mseq\": {\n            source: \"iana\",\n            extensions: [\"mseq\"]\n          },\n          \"application/vnd.msign\": {\n            source: \"iana\"\n          },\n          \"application/vnd.multiad.creator\": {\n            source: \"iana\"\n          },\n          \"application/vnd.multiad.creator.cif\": {\n            source: \"iana\"\n          },\n          \"application/vnd.music-niff\": {\n            source: \"iana\"\n          },\n          \"application/vnd.musician\": {\n            source: \"iana\",\n            extensions: [\"mus\"]\n          },\n          \"application/vnd.muvee.style\": {\n            source: \"iana\",\n            extensions: [\"msty\"]\n          },\n          \"application/vnd.mynfc\": {\n            source: \"iana\",\n            extensions: [\"taglet\"]\n          },\n          \"application/vnd.nacamar.ybrid+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.ncd.control\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ncd.reference\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nearst.inv+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nebumind.line\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nervana\": {\n            source: \"iana\"\n          },\n          \"application/vnd.netfpx\": {\n            source: \"iana\"\n          },\n          \"application/vnd.neurolanguage.nlu\": {\n            source: \"iana\",\n            extensions: [\"nlu\"]\n          },\n          \"application/vnd.nimn\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nintendo.nitro.rom\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nintendo.snes.rom\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nitf\": {\n            source: \"iana\",\n            extensions: [\"ntf\", \"nitf\"]\n          },\n          \"application/vnd.noblenet-directory\": {\n            source: \"iana\",\n            extensions: [\"nnd\"]\n          },\n          \"application/vnd.noblenet-sealer\": {\n            source: \"iana\",\n            extensions: [\"nns\"]\n          },\n          \"application/vnd.noblenet-web\": {\n            source: \"iana\",\n            extensions: [\"nnw\"]\n          },\n          \"application/vnd.nokia.catalogs\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.conml+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.conml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nokia.iptv.config+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nokia.isds-radio-presets\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.landmark+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.landmark+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nokia.landmarkcollection+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nokia.n-gage.ac+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ac\"]\n          },\n          \"application/vnd.nokia.n-gage.data\": {\n            source: \"iana\",\n            extensions: [\"ngdat\"]\n          },\n          \"application/vnd.nokia.n-gage.symbian.install\": {\n            source: \"iana\",\n            extensions: [\"n-gage\"]\n          },\n          \"application/vnd.nokia.ncd\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.pcd+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.nokia.pcd+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.nokia.radio-preset\": {\n            source: \"iana\",\n            extensions: [\"rpst\"]\n          },\n          \"application/vnd.nokia.radio-presets\": {\n            source: \"iana\",\n            extensions: [\"rpss\"]\n          },\n          \"application/vnd.novadigm.edm\": {\n            source: \"iana\",\n            extensions: [\"edm\"]\n          },\n          \"application/vnd.novadigm.edx\": {\n            source: \"iana\",\n            extensions: [\"edx\"]\n          },\n          \"application/vnd.novadigm.ext\": {\n            source: \"iana\",\n            extensions: [\"ext\"]\n          },\n          \"application/vnd.ntt-local.content-share\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ntt-local.file-transfer\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ntt-local.ogw_remote-access\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ntt-local.sip-ta_remote\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oasis.opendocument.chart\": {\n            source: \"iana\",\n            extensions: [\"odc\"]\n          },\n          \"application/vnd.oasis.opendocument.chart-template\": {\n            source: \"iana\",\n            extensions: [\"otc\"]\n          },\n          \"application/vnd.oasis.opendocument.database\": {\n            source: \"iana\",\n            extensions: [\"odb\"]\n          },\n          \"application/vnd.oasis.opendocument.formula\": {\n            source: \"iana\",\n            extensions: [\"odf\"]\n          },\n          \"application/vnd.oasis.opendocument.formula-template\": {\n            source: \"iana\",\n            extensions: [\"odft\"]\n          },\n          \"application/vnd.oasis.opendocument.graphics\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"odg\"]\n          },\n          \"application/vnd.oasis.opendocument.graphics-template\": {\n            source: \"iana\",\n            extensions: [\"otg\"]\n          },\n          \"application/vnd.oasis.opendocument.image\": {\n            source: \"iana\",\n            extensions: [\"odi\"]\n          },\n          \"application/vnd.oasis.opendocument.image-template\": {\n            source: \"iana\",\n            extensions: [\"oti\"]\n          },\n          \"application/vnd.oasis.opendocument.presentation\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"odp\"]\n          },\n          \"application/vnd.oasis.opendocument.presentation-template\": {\n            source: \"iana\",\n            extensions: [\"otp\"]\n          },\n          \"application/vnd.oasis.opendocument.spreadsheet\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"ods\"]\n          },\n          \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n            source: \"iana\",\n            extensions: [\"ots\"]\n          },\n          \"application/vnd.oasis.opendocument.text\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"odt\"]\n          },\n          \"application/vnd.oasis.opendocument.text-master\": {\n            source: \"iana\",\n            extensions: [\"odm\"]\n          },\n          \"application/vnd.oasis.opendocument.text-template\": {\n            source: \"iana\",\n            extensions: [\"ott\"]\n          },\n          \"application/vnd.oasis.opendocument.text-web\": {\n            source: \"iana\",\n            extensions: [\"oth\"]\n          },\n          \"application/vnd.obn\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ocf+cbor\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oci.image.manifest.v1+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oftn.l10n+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.contentaccessdownload+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.contentaccessstreaming+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.cspg-hexbinary\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oipf.dae.svg+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.dae.xhtml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.pae.gem\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oipf.spdiscovery+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.spdlist+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.ueprofile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oipf.userprofile+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.olpc-sugar\": {\n            source: \"iana\",\n            extensions: [\"xo\"]\n          },\n          \"application/vnd.oma-scws-config\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma-scws-http-request\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma-scws-http-response\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.drm-trigger+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.imd+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.ltkm\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.notification+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.provisioningtrigger\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.sgboot\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.sgdd+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.sgdu\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.simple-symbol-container\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.sprov+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.bcast.stkm\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.cab-address-book+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.cab-feature-handler+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.cab-pcc+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.cab-subs-invite+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.cab-user-prefs+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.dcd\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.dcdc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.dd2+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"dd2\"]\n          },\n          \"application/vnd.oma.drm.risd+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.group-usage-list+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.lwm2m+cbor\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.lwm2m+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.lwm2m+tlv\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.pal+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.poc.final-report+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.poc.groups+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.push\": {\n            source: \"iana\"\n          },\n          \"application/vnd.oma.scidm.messages+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oma.xcap-directory+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.omads-email+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.omads-file+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.omads-folder+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.omaloc-supl-init\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepager\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepagertamp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepagertamx\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepagertat\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepagertatp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.onepagertatx\": {\n            source: \"iana\"\n          },\n          \"application/vnd.openblox.game+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"obgx\"]\n          },\n          \"application/vnd.openblox.game-binary\": {\n            source: \"iana\"\n          },\n          \"application/vnd.openeye.oeb\": {\n            source: \"iana\"\n          },\n          \"application/vnd.openofficeorg.extension\": {\n            source: \"apache\",\n            extensions: [\"oxt\"]\n          },\n          \"application/vnd.openstreetmap.data+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"osm\"]\n          },\n          \"application/vnd.opentimestamps.ots\": {\n            source: \"iana\"\n          },\n          \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"pptx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n            source: \"iana\",\n            extensions: [\"sldx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n            source: \"iana\",\n            extensions: [\"ppsx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n            source: \"iana\",\n            extensions: [\"potx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"xlsx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n            source: \"iana\",\n            extensions: [\"xltx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n            source: \"iana\"\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"docx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n            source: \"iana\",\n            extensions: [\"dotx\"]\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-package.core-properties+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.openxmlformats-package.relationships+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oracle.resource+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.orange.indata\": {\n            source: \"iana\"\n          },\n          \"application/vnd.osa.netdeploy\": {\n            source: \"iana\"\n          },\n          \"application/vnd.osgeo.mapguide.package\": {\n            source: \"iana\",\n            extensions: [\"mgp\"]\n          },\n          \"application/vnd.osgi.bundle\": {\n            source: \"iana\"\n          },\n          \"application/vnd.osgi.dp\": {\n            source: \"iana\",\n            extensions: [\"dp\"]\n          },\n          \"application/vnd.osgi.subsystem\": {\n            source: \"iana\",\n            extensions: [\"esa\"]\n          },\n          \"application/vnd.otps.ct-kip+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.oxli.countgraph\": {\n            source: \"iana\"\n          },\n          \"application/vnd.pagerduty+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.palm\": {\n            source: \"iana\",\n            extensions: [\"pdb\", \"pqa\", \"oprc\"]\n          },\n          \"application/vnd.panoply\": {\n            source: \"iana\"\n          },\n          \"application/vnd.paos.xml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.patentdive\": {\n            source: \"iana\"\n          },\n          \"application/vnd.patientecommsdoc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.pawaafile\": {\n            source: \"iana\",\n            extensions: [\"paw\"]\n          },\n          \"application/vnd.pcos\": {\n            source: \"iana\"\n          },\n          \"application/vnd.pg.format\": {\n            source: \"iana\",\n            extensions: [\"str\"]\n          },\n          \"application/vnd.pg.osasli\": {\n            source: \"iana\",\n            extensions: [\"ei6\"]\n          },\n          \"application/vnd.piaccess.application-licence\": {\n            source: \"iana\"\n          },\n          \"application/vnd.picsel\": {\n            source: \"iana\",\n            extensions: [\"efif\"]\n          },\n          \"application/vnd.pmi.widget\": {\n            source: \"iana\",\n            extensions: [\"wg\"]\n          },\n          \"application/vnd.poc.group-advertisement+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.pocketlearn\": {\n            source: \"iana\",\n            extensions: [\"plf\"]\n          },\n          \"application/vnd.powerbuilder6\": {\n            source: \"iana\",\n            extensions: [\"pbd\"]\n          },\n          \"application/vnd.powerbuilder6-s\": {\n            source: \"iana\"\n          },\n          \"application/vnd.powerbuilder7\": {\n            source: \"iana\"\n          },\n          \"application/vnd.powerbuilder7-s\": {\n            source: \"iana\"\n          },\n          \"application/vnd.powerbuilder75\": {\n            source: \"iana\"\n          },\n          \"application/vnd.powerbuilder75-s\": {\n            source: \"iana\"\n          },\n          \"application/vnd.preminet\": {\n            source: \"iana\"\n          },\n          \"application/vnd.previewsystems.box\": {\n            source: \"iana\",\n            extensions: [\"box\"]\n          },\n          \"application/vnd.proteus.magazine\": {\n            source: \"iana\",\n            extensions: [\"mgz\"]\n          },\n          \"application/vnd.psfs\": {\n            source: \"iana\"\n          },\n          \"application/vnd.publishare-delta-tree\": {\n            source: \"iana\",\n            extensions: [\"qps\"]\n          },\n          \"application/vnd.pvi.ptid1\": {\n            source: \"iana\",\n            extensions: [\"ptid\"]\n          },\n          \"application/vnd.pwg-multiplexed\": {\n            source: \"iana\"\n          },\n          \"application/vnd.pwg-xhtml-print+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.qualcomm.brew-app-res\": {\n            source: \"iana\"\n          },\n          \"application/vnd.quarantainenet\": {\n            source: \"iana\"\n          },\n          \"application/vnd.quark.quarkxpress\": {\n            source: \"iana\",\n            extensions: [\"qxd\", \"qxt\", \"qwd\", \"qwt\", \"qxl\", \"qxb\"]\n          },\n          \"application/vnd.quobject-quoxdocument\": {\n            source: \"iana\"\n          },\n          \"application/vnd.radisys.moml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-audit+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-audit-conf+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-audit-conn+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-audit-dialog+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-audit-stream+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-conf+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-base+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-group+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-speech+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.radisys.msml-dialog-transform+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.rainstor.data\": {\n            source: \"iana\"\n          },\n          \"application/vnd.rapid\": {\n            source: \"iana\"\n          },\n          \"application/vnd.rar\": {\n            source: \"iana\",\n            extensions: [\"rar\"]\n          },\n          \"application/vnd.realvnc.bed\": {\n            source: \"iana\",\n            extensions: [\"bed\"]\n          },\n          \"application/vnd.recordare.musicxml\": {\n            source: \"iana\",\n            extensions: [\"mxl\"]\n          },\n          \"application/vnd.recordare.musicxml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"musicxml\"]\n          },\n          \"application/vnd.renlearn.rlprint\": {\n            source: \"iana\"\n          },\n          \"application/vnd.resilient.logic\": {\n            source: \"iana\"\n          },\n          \"application/vnd.restful+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.rig.cryptonote\": {\n            source: \"iana\",\n            extensions: [\"cryptonote\"]\n          },\n          \"application/vnd.rim.cod\": {\n            source: \"apache\",\n            extensions: [\"cod\"]\n          },\n          \"application/vnd.rn-realmedia\": {\n            source: \"apache\",\n            extensions: [\"rm\"]\n          },\n          \"application/vnd.rn-realmedia-vbr\": {\n            source: \"apache\",\n            extensions: [\"rmvb\"]\n          },\n          \"application/vnd.route66.link66+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"link66\"]\n          },\n          \"application/vnd.rs-274x\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ruckus.download\": {\n            source: \"iana\"\n          },\n          \"application/vnd.s3sms\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sailingtracker.track\": {\n            source: \"iana\",\n            extensions: [\"st\"]\n          },\n          \"application/vnd.sar\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sbm.cid\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sbm.mid2\": {\n            source: \"iana\"\n          },\n          \"application/vnd.scribus\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.3df\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.csf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.doc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.eml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.mht\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.net\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.ppt\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.tiff\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealed.xls\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealedmedia.softseal.html\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sealedmedia.softseal.pdf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.seemail\": {\n            source: \"iana\",\n            extensions: [\"see\"]\n          },\n          \"application/vnd.seis+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.sema\": {\n            source: \"iana\",\n            extensions: [\"sema\"]\n          },\n          \"application/vnd.semd\": {\n            source: \"iana\",\n            extensions: [\"semd\"]\n          },\n          \"application/vnd.semf\": {\n            source: \"iana\",\n            extensions: [\"semf\"]\n          },\n          \"application/vnd.shade-save-file\": {\n            source: \"iana\"\n          },\n          \"application/vnd.shana.informed.formdata\": {\n            source: \"iana\",\n            extensions: [\"ifm\"]\n          },\n          \"application/vnd.shana.informed.formtemplate\": {\n            source: \"iana\",\n            extensions: [\"itp\"]\n          },\n          \"application/vnd.shana.informed.interchange\": {\n            source: \"iana\",\n            extensions: [\"iif\"]\n          },\n          \"application/vnd.shana.informed.package\": {\n            source: \"iana\",\n            extensions: [\"ipk\"]\n          },\n          \"application/vnd.shootproof+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.shopkick+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.shp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.shx\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sigrok.session\": {\n            source: \"iana\"\n          },\n          \"application/vnd.simtech-mindmapper\": {\n            source: \"iana\",\n            extensions: [\"twd\", \"twds\"]\n          },\n          \"application/vnd.siren+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.smaf\": {\n            source: \"iana\",\n            extensions: [\"mmf\"]\n          },\n          \"application/vnd.smart.notebook\": {\n            source: \"iana\"\n          },\n          \"application/vnd.smart.teacher\": {\n            source: \"iana\",\n            extensions: [\"teacher\"]\n          },\n          \"application/vnd.snesdev-page-table\": {\n            source: \"iana\"\n          },\n          \"application/vnd.software602.filler.form+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"fo\"]\n          },\n          \"application/vnd.software602.filler.form-xml-zip\": {\n            source: \"iana\"\n          },\n          \"application/vnd.solent.sdkm+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"sdkm\", \"sdkd\"]\n          },\n          \"application/vnd.spotfire.dxp\": {\n            source: \"iana\",\n            extensions: [\"dxp\"]\n          },\n          \"application/vnd.spotfire.sfs\": {\n            source: \"iana\",\n            extensions: [\"sfs\"]\n          },\n          \"application/vnd.sqlite3\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sss-cod\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sss-dtf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sss-ntf\": {\n            source: \"iana\"\n          },\n          \"application/vnd.stardivision.calc\": {\n            source: \"apache\",\n            extensions: [\"sdc\"]\n          },\n          \"application/vnd.stardivision.draw\": {\n            source: \"apache\",\n            extensions: [\"sda\"]\n          },\n          \"application/vnd.stardivision.impress\": {\n            source: \"apache\",\n            extensions: [\"sdd\"]\n          },\n          \"application/vnd.stardivision.math\": {\n            source: \"apache\",\n            extensions: [\"smf\"]\n          },\n          \"application/vnd.stardivision.writer\": {\n            source: \"apache\",\n            extensions: [\"sdw\", \"vor\"]\n          },\n          \"application/vnd.stardivision.writer-global\": {\n            source: \"apache\",\n            extensions: [\"sgl\"]\n          },\n          \"application/vnd.stepmania.package\": {\n            source: \"iana\",\n            extensions: [\"smzip\"]\n          },\n          \"application/vnd.stepmania.stepchart\": {\n            source: \"iana\",\n            extensions: [\"sm\"]\n          },\n          \"application/vnd.street-stream\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sun.wadl+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wadl\"]\n          },\n          \"application/vnd.sun.xml.calc\": {\n            source: \"apache\",\n            extensions: [\"sxc\"]\n          },\n          \"application/vnd.sun.xml.calc.template\": {\n            source: \"apache\",\n            extensions: [\"stc\"]\n          },\n          \"application/vnd.sun.xml.draw\": {\n            source: \"apache\",\n            extensions: [\"sxd\"]\n          },\n          \"application/vnd.sun.xml.draw.template\": {\n            source: \"apache\",\n            extensions: [\"std\"]\n          },\n          \"application/vnd.sun.xml.impress\": {\n            source: \"apache\",\n            extensions: [\"sxi\"]\n          },\n          \"application/vnd.sun.xml.impress.template\": {\n            source: \"apache\",\n            extensions: [\"sti\"]\n          },\n          \"application/vnd.sun.xml.math\": {\n            source: \"apache\",\n            extensions: [\"sxm\"]\n          },\n          \"application/vnd.sun.xml.writer\": {\n            source: \"apache\",\n            extensions: [\"sxw\"]\n          },\n          \"application/vnd.sun.xml.writer.global\": {\n            source: \"apache\",\n            extensions: [\"sxg\"]\n          },\n          \"application/vnd.sun.xml.writer.template\": {\n            source: \"apache\",\n            extensions: [\"stw\"]\n          },\n          \"application/vnd.sus-calendar\": {\n            source: \"iana\",\n            extensions: [\"sus\", \"susp\"]\n          },\n          \"application/vnd.svd\": {\n            source: \"iana\",\n            extensions: [\"svd\"]\n          },\n          \"application/vnd.swiftview-ics\": {\n            source: \"iana\"\n          },\n          \"application/vnd.sycle+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.syft+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.symbian.install\": {\n            source: \"apache\",\n            extensions: [\"sis\", \"sisx\"]\n          },\n          \"application/vnd.syncml+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"xsm\"]\n          },\n          \"application/vnd.syncml.dm+wbxml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            extensions: [\"bdm\"]\n          },\n          \"application/vnd.syncml.dm+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"xdm\"]\n          },\n          \"application/vnd.syncml.dm.notification\": {\n            source: \"iana\"\n          },\n          \"application/vnd.syncml.dmddf+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.syncml.dmddf+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"ddf\"]\n          },\n          \"application/vnd.syncml.dmtnds+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.syncml.dmtnds+xml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true\n          },\n          \"application/vnd.syncml.ds.notification\": {\n            source: \"iana\"\n          },\n          \"application/vnd.tableschema+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.tao.intent-module-archive\": {\n            source: \"iana\",\n            extensions: [\"tao\"]\n          },\n          \"application/vnd.tcpdump.pcap\": {\n            source: \"iana\",\n            extensions: [\"pcap\", \"cap\", \"dmp\"]\n          },\n          \"application/vnd.think-cell.ppttc+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.tmd.mediaflex.api+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.tml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.tmobile-livetv\": {\n            source: \"iana\",\n            extensions: [\"tmo\"]\n          },\n          \"application/vnd.tri.onesource\": {\n            source: \"iana\"\n          },\n          \"application/vnd.trid.tpt\": {\n            source: \"iana\",\n            extensions: [\"tpt\"]\n          },\n          \"application/vnd.triscape.mxs\": {\n            source: \"iana\",\n            extensions: [\"mxs\"]\n          },\n          \"application/vnd.trueapp\": {\n            source: \"iana\",\n            extensions: [\"tra\"]\n          },\n          \"application/vnd.truedoc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ubisoft.webplayer\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ufdl\": {\n            source: \"iana\",\n            extensions: [\"ufd\", \"ufdl\"]\n          },\n          \"application/vnd.uiq.theme\": {\n            source: \"iana\",\n            extensions: [\"utz\"]\n          },\n          \"application/vnd.umajin\": {\n            source: \"iana\",\n            extensions: [\"umj\"]\n          },\n          \"application/vnd.unity\": {\n            source: \"iana\",\n            extensions: [\"unityweb\"]\n          },\n          \"application/vnd.uoml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"uoml\"]\n          },\n          \"application/vnd.uplanet.alert\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.alert-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.bearer-choice\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.bearer-choice-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.cacheop\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.cacheop-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.channel\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.channel-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.list\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.list-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.listcmd\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.listcmd-wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uplanet.signal\": {\n            source: \"iana\"\n          },\n          \"application/vnd.uri-map\": {\n            source: \"iana\"\n          },\n          \"application/vnd.valve.source.material\": {\n            source: \"iana\"\n          },\n          \"application/vnd.vcx\": {\n            source: \"iana\",\n            extensions: [\"vcx\"]\n          },\n          \"application/vnd.vd-study\": {\n            source: \"iana\"\n          },\n          \"application/vnd.vectorworks\": {\n            source: \"iana\"\n          },\n          \"application/vnd.vel+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.verimatrix.vcas\": {\n            source: \"iana\"\n          },\n          \"application/vnd.veritone.aion+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.veryant.thin\": {\n            source: \"iana\"\n          },\n          \"application/vnd.ves.encrypted\": {\n            source: \"iana\"\n          },\n          \"application/vnd.vidsoft.vidconference\": {\n            source: \"iana\"\n          },\n          \"application/vnd.visio\": {\n            source: \"iana\",\n            extensions: [\"vsd\", \"vst\", \"vss\", \"vsw\"]\n          },\n          \"application/vnd.visionary\": {\n            source: \"iana\",\n            extensions: [\"vis\"]\n          },\n          \"application/vnd.vividence.scriptfile\": {\n            source: \"iana\"\n          },\n          \"application/vnd.vsf\": {\n            source: \"iana\",\n            extensions: [\"vsf\"]\n          },\n          \"application/vnd.wap.sic\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wap.slc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wap.wbxml\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            extensions: [\"wbxml\"]\n          },\n          \"application/vnd.wap.wmlc\": {\n            source: \"iana\",\n            extensions: [\"wmlc\"]\n          },\n          \"application/vnd.wap.wmlscriptc\": {\n            source: \"iana\",\n            extensions: [\"wmlsc\"]\n          },\n          \"application/vnd.webturbo\": {\n            source: \"iana\",\n            extensions: [\"wtb\"]\n          },\n          \"application/vnd.wfa.dpp\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wfa.p2p\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wfa.wsc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.windows.devicepairing\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wmc\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wmf.bootstrap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wolfram.mathematica\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wolfram.mathematica.package\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wolfram.player\": {\n            source: \"iana\",\n            extensions: [\"nbp\"]\n          },\n          \"application/vnd.wordperfect\": {\n            source: \"iana\",\n            extensions: [\"wpd\"]\n          },\n          \"application/vnd.wqd\": {\n            source: \"iana\",\n            extensions: [\"wqd\"]\n          },\n          \"application/vnd.wrq-hp3000-labelled\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wt.stf\": {\n            source: \"iana\",\n            extensions: [\"stf\"]\n          },\n          \"application/vnd.wv.csp+wbxml\": {\n            source: \"iana\"\n          },\n          \"application/vnd.wv.csp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.wv.ssp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.xacml+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.xara\": {\n            source: \"iana\",\n            extensions: [\"xar\"]\n          },\n          \"application/vnd.xfdl\": {\n            source: \"iana\",\n            extensions: [\"xfdl\"]\n          },\n          \"application/vnd.xfdl.webform\": {\n            source: \"iana\"\n          },\n          \"application/vnd.xmi+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vnd.xmpie.cpkg\": {\n            source: \"iana\"\n          },\n          \"application/vnd.xmpie.dpkg\": {\n            source: \"iana\"\n          },\n          \"application/vnd.xmpie.plan\": {\n            source: \"iana\"\n          },\n          \"application/vnd.xmpie.ppkg\": {\n            source: \"iana\"\n          },\n          \"application/vnd.xmpie.xlim\": {\n            source: \"iana\"\n          },\n          \"application/vnd.yamaha.hv-dic\": {\n            source: \"iana\",\n            extensions: [\"hvd\"]\n          },\n          \"application/vnd.yamaha.hv-script\": {\n            source: \"iana\",\n            extensions: [\"hvs\"]\n          },\n          \"application/vnd.yamaha.hv-voice\": {\n            source: \"iana\",\n            extensions: [\"hvp\"]\n          },\n          \"application/vnd.yamaha.openscoreformat\": {\n            source: \"iana\",\n            extensions: [\"osf\"]\n          },\n          \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"osfpvg\"]\n          },\n          \"application/vnd.yamaha.remote-setup\": {\n            source: \"iana\"\n          },\n          \"application/vnd.yamaha.smaf-audio\": {\n            source: \"iana\",\n            extensions: [\"saf\"]\n          },\n          \"application/vnd.yamaha.smaf-phrase\": {\n            source: \"iana\",\n            extensions: [\"spf\"]\n          },\n          \"application/vnd.yamaha.through-ngn\": {\n            source: \"iana\"\n          },\n          \"application/vnd.yamaha.tunnel-udpencap\": {\n            source: \"iana\"\n          },\n          \"application/vnd.yaoweme\": {\n            source: \"iana\"\n          },\n          \"application/vnd.yellowriver-custom-menu\": {\n            source: \"iana\",\n            extensions: [\"cmp\"]\n          },\n          \"application/vnd.youtube.yt\": {\n            source: \"iana\"\n          },\n          \"application/vnd.zul\": {\n            source: \"iana\",\n            extensions: [\"zir\", \"zirz\"]\n          },\n          \"application/vnd.zzazz.deck+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"zaz\"]\n          },\n          \"application/voicexml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"vxml\"]\n          },\n          \"application/voucher-cms+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/vq-rtcpxr\": {\n            source: \"iana\"\n          },\n          \"application/wasm\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wasm\"]\n          },\n          \"application/watcherinfo+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wif\"]\n          },\n          \"application/webpush-options+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/whoispp-query\": {\n            source: \"iana\"\n          },\n          \"application/whoispp-response\": {\n            source: \"iana\"\n          },\n          \"application/widget\": {\n            source: \"iana\",\n            extensions: [\"wgt\"]\n          },\n          \"application/winhlp\": {\n            source: \"apache\",\n            extensions: [\"hlp\"]\n          },\n          \"application/wita\": {\n            source: \"iana\"\n          },\n          \"application/wordperfect5.1\": {\n            source: \"iana\"\n          },\n          \"application/wsdl+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wsdl\"]\n          },\n          \"application/wspolicy+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"wspolicy\"]\n          },\n          \"application/x-7z-compressed\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"7z\"]\n          },\n          \"application/x-abiword\": {\n            source: \"apache\",\n            extensions: [\"abw\"]\n          },\n          \"application/x-ace-compressed\": {\n            source: \"apache\",\n            extensions: [\"ace\"]\n          },\n          \"application/x-amf\": {\n            source: \"apache\"\n          },\n          \"application/x-apple-diskimage\": {\n            source: \"apache\",\n            extensions: [\"dmg\"]\n          },\n          \"application/x-arj\": {\n            compressible: false,\n            extensions: [\"arj\"]\n          },\n          \"application/x-authorware-bin\": {\n            source: \"apache\",\n            extensions: [\"aab\", \"x32\", \"u32\", \"vox\"]\n          },\n          \"application/x-authorware-map\": {\n            source: \"apache\",\n            extensions: [\"aam\"]\n          },\n          \"application/x-authorware-seg\": {\n            source: \"apache\",\n            extensions: [\"aas\"]\n          },\n          \"application/x-bcpio\": {\n            source: \"apache\",\n            extensions: [\"bcpio\"]\n          },\n          \"application/x-bdoc\": {\n            compressible: false,\n            extensions: [\"bdoc\"]\n          },\n          \"application/x-bittorrent\": {\n            source: \"apache\",\n            extensions: [\"torrent\"]\n          },\n          \"application/x-blorb\": {\n            source: \"apache\",\n            extensions: [\"blb\", \"blorb\"]\n          },\n          \"application/x-bzip\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"bz\"]\n          },\n          \"application/x-bzip2\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"bz2\", \"boz\"]\n          },\n          \"application/x-cbr\": {\n            source: \"apache\",\n            extensions: [\"cbr\", \"cba\", \"cbt\", \"cbz\", \"cb7\"]\n          },\n          \"application/x-cdlink\": {\n            source: \"apache\",\n            extensions: [\"vcd\"]\n          },\n          \"application/x-cfs-compressed\": {\n            source: \"apache\",\n            extensions: [\"cfs\"]\n          },\n          \"application/x-chat\": {\n            source: \"apache\",\n            extensions: [\"chat\"]\n          },\n          \"application/x-chess-pgn\": {\n            source: \"apache\",\n            extensions: [\"pgn\"]\n          },\n          \"application/x-chrome-extension\": {\n            extensions: [\"crx\"]\n          },\n          \"application/x-cocoa\": {\n            source: \"nginx\",\n            extensions: [\"cco\"]\n          },\n          \"application/x-compress\": {\n            source: \"apache\"\n          },\n          \"application/x-conference\": {\n            source: \"apache\",\n            extensions: [\"nsc\"]\n          },\n          \"application/x-cpio\": {\n            source: \"apache\",\n            extensions: [\"cpio\"]\n          },\n          \"application/x-csh\": {\n            source: \"apache\",\n            extensions: [\"csh\"]\n          },\n          \"application/x-deb\": {\n            compressible: false\n          },\n          \"application/x-debian-package\": {\n            source: \"apache\",\n            extensions: [\"deb\", \"udeb\"]\n          },\n          \"application/x-dgc-compressed\": {\n            source: \"apache\",\n            extensions: [\"dgc\"]\n          },\n          \"application/x-director\": {\n            source: \"apache\",\n            extensions: [\"dir\", \"dcr\", \"dxr\", \"cst\", \"cct\", \"cxt\", \"w3d\", \"fgd\", \"swa\"]\n          },\n          \"application/x-doom\": {\n            source: \"apache\",\n            extensions: [\"wad\"]\n          },\n          \"application/x-dtbncx+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"ncx\"]\n          },\n          \"application/x-dtbook+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"dtb\"]\n          },\n          \"application/x-dtbresource+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"res\"]\n          },\n          \"application/x-dvi\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"dvi\"]\n          },\n          \"application/x-envoy\": {\n            source: \"apache\",\n            extensions: [\"evy\"]\n          },\n          \"application/x-eva\": {\n            source: \"apache\",\n            extensions: [\"eva\"]\n          },\n          \"application/x-font-bdf\": {\n            source: \"apache\",\n            extensions: [\"bdf\"]\n          },\n          \"application/x-font-dos\": {\n            source: \"apache\"\n          },\n          \"application/x-font-framemaker\": {\n            source: \"apache\"\n          },\n          \"application/x-font-ghostscript\": {\n            source: \"apache\",\n            extensions: [\"gsf\"]\n          },\n          \"application/x-font-libgrx\": {\n            source: \"apache\"\n          },\n          \"application/x-font-linux-psf\": {\n            source: \"apache\",\n            extensions: [\"psf\"]\n          },\n          \"application/x-font-pcf\": {\n            source: \"apache\",\n            extensions: [\"pcf\"]\n          },\n          \"application/x-font-snf\": {\n            source: \"apache\",\n            extensions: [\"snf\"]\n          },\n          \"application/x-font-speedo\": {\n            source: \"apache\"\n          },\n          \"application/x-font-sunos-news\": {\n            source: \"apache\"\n          },\n          \"application/x-font-type1\": {\n            source: \"apache\",\n            extensions: [\"pfa\", \"pfb\", \"pfm\", \"afm\"]\n          },\n          \"application/x-font-vfont\": {\n            source: \"apache\"\n          },\n          \"application/x-freearc\": {\n            source: \"apache\",\n            extensions: [\"arc\"]\n          },\n          \"application/x-futuresplash\": {\n            source: \"apache\",\n            extensions: [\"spl\"]\n          },\n          \"application/x-gca-compressed\": {\n            source: \"apache\",\n            extensions: [\"gca\"]\n          },\n          \"application/x-glulx\": {\n            source: \"apache\",\n            extensions: [\"ulx\"]\n          },\n          \"application/x-gnumeric\": {\n            source: \"apache\",\n            extensions: [\"gnumeric\"]\n          },\n          \"application/x-gramps-xml\": {\n            source: \"apache\",\n            extensions: [\"gramps\"]\n          },\n          \"application/x-gtar\": {\n            source: \"apache\",\n            extensions: [\"gtar\"]\n          },\n          \"application/x-gzip\": {\n            source: \"apache\"\n          },\n          \"application/x-hdf\": {\n            source: \"apache\",\n            extensions: [\"hdf\"]\n          },\n          \"application/x-httpd-php\": {\n            compressible: true,\n            extensions: [\"php\"]\n          },\n          \"application/x-install-instructions\": {\n            source: \"apache\",\n            extensions: [\"install\"]\n          },\n          \"application/x-iso9660-image\": {\n            source: \"apache\",\n            extensions: [\"iso\"]\n          },\n          \"application/x-iwork-keynote-sffkey\": {\n            extensions: [\"key\"]\n          },\n          \"application/x-iwork-numbers-sffnumbers\": {\n            extensions: [\"numbers\"]\n          },\n          \"application/x-iwork-pages-sffpages\": {\n            extensions: [\"pages\"]\n          },\n          \"application/x-java-archive-diff\": {\n            source: \"nginx\",\n            extensions: [\"jardiff\"]\n          },\n          \"application/x-java-jnlp-file\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"jnlp\"]\n          },\n          \"application/x-javascript\": {\n            compressible: true\n          },\n          \"application/x-keepass2\": {\n            extensions: [\"kdbx\"]\n          },\n          \"application/x-latex\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"latex\"]\n          },\n          \"application/x-lua-bytecode\": {\n            extensions: [\"luac\"]\n          },\n          \"application/x-lzh-compressed\": {\n            source: \"apache\",\n            extensions: [\"lzh\", \"lha\"]\n          },\n          \"application/x-makeself\": {\n            source: \"nginx\",\n            extensions: [\"run\"]\n          },\n          \"application/x-mie\": {\n            source: \"apache\",\n            extensions: [\"mie\"]\n          },\n          \"application/x-mobipocket-ebook\": {\n            source: \"apache\",\n            extensions: [\"prc\", \"mobi\"]\n          },\n          \"application/x-mpegurl\": {\n            compressible: false\n          },\n          \"application/x-ms-application\": {\n            source: \"apache\",\n            extensions: [\"application\"]\n          },\n          \"application/x-ms-shortcut\": {\n            source: \"apache\",\n            extensions: [\"lnk\"]\n          },\n          \"application/x-ms-wmd\": {\n            source: \"apache\",\n            extensions: [\"wmd\"]\n          },\n          \"application/x-ms-wmz\": {\n            source: \"apache\",\n            extensions: [\"wmz\"]\n          },\n          \"application/x-ms-xbap\": {\n            source: \"apache\",\n            extensions: [\"xbap\"]\n          },\n          \"application/x-msaccess\": {\n            source: \"apache\",\n            extensions: [\"mdb\"]\n          },\n          \"application/x-msbinder\": {\n            source: \"apache\",\n            extensions: [\"obd\"]\n          },\n          \"application/x-mscardfile\": {\n            source: \"apache\",\n            extensions: [\"crd\"]\n          },\n          \"application/x-msclip\": {\n            source: \"apache\",\n            extensions: [\"clp\"]\n          },\n          \"application/x-msdos-program\": {\n            extensions: [\"exe\"]\n          },\n          \"application/x-msdownload\": {\n            source: \"apache\",\n            extensions: [\"exe\", \"dll\", \"com\", \"bat\", \"msi\"]\n          },\n          \"application/x-msmediaview\": {\n            source: \"apache\",\n            extensions: [\"mvb\", \"m13\", \"m14\"]\n          },\n          \"application/x-msmetafile\": {\n            source: \"apache\",\n            extensions: [\"wmf\", \"wmz\", \"emf\", \"emz\"]\n          },\n          \"application/x-msmoney\": {\n            source: \"apache\",\n            extensions: [\"mny\"]\n          },\n          \"application/x-mspublisher\": {\n            source: \"apache\",\n            extensions: [\"pub\"]\n          },\n          \"application/x-msschedule\": {\n            source: \"apache\",\n            extensions: [\"scd\"]\n          },\n          \"application/x-msterminal\": {\n            source: \"apache\",\n            extensions: [\"trm\"]\n          },\n          \"application/x-mswrite\": {\n            source: \"apache\",\n            extensions: [\"wri\"]\n          },\n          \"application/x-netcdf\": {\n            source: \"apache\",\n            extensions: [\"nc\", \"cdf\"]\n          },\n          \"application/x-ns-proxy-autoconfig\": {\n            compressible: true,\n            extensions: [\"pac\"]\n          },\n          \"application/x-nzb\": {\n            source: \"apache\",\n            extensions: [\"nzb\"]\n          },\n          \"application/x-perl\": {\n            source: \"nginx\",\n            extensions: [\"pl\", \"pm\"]\n          },\n          \"application/x-pilot\": {\n            source: \"nginx\",\n            extensions: [\"prc\", \"pdb\"]\n          },\n          \"application/x-pkcs12\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"p12\", \"pfx\"]\n          },\n          \"application/x-pkcs7-certificates\": {\n            source: \"apache\",\n            extensions: [\"p7b\", \"spc\"]\n          },\n          \"application/x-pkcs7-certreqresp\": {\n            source: \"apache\",\n            extensions: [\"p7r\"]\n          },\n          \"application/x-pki-message\": {\n            source: \"iana\"\n          },\n          \"application/x-rar-compressed\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"rar\"]\n          },\n          \"application/x-redhat-package-manager\": {\n            source: \"nginx\",\n            extensions: [\"rpm\"]\n          },\n          \"application/x-research-info-systems\": {\n            source: \"apache\",\n            extensions: [\"ris\"]\n          },\n          \"application/x-sea\": {\n            source: \"nginx\",\n            extensions: [\"sea\"]\n          },\n          \"application/x-sh\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"sh\"]\n          },\n          \"application/x-shar\": {\n            source: \"apache\",\n            extensions: [\"shar\"]\n          },\n          \"application/x-shockwave-flash\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"swf\"]\n          },\n          \"application/x-silverlight-app\": {\n            source: \"apache\",\n            extensions: [\"xap\"]\n          },\n          \"application/x-sql\": {\n            source: \"apache\",\n            extensions: [\"sql\"]\n          },\n          \"application/x-stuffit\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"sit\"]\n          },\n          \"application/x-stuffitx\": {\n            source: \"apache\",\n            extensions: [\"sitx\"]\n          },\n          \"application/x-subrip\": {\n            source: \"apache\",\n            extensions: [\"srt\"]\n          },\n          \"application/x-sv4cpio\": {\n            source: \"apache\",\n            extensions: [\"sv4cpio\"]\n          },\n          \"application/x-sv4crc\": {\n            source: \"apache\",\n            extensions: [\"sv4crc\"]\n          },\n          \"application/x-t3vm-image\": {\n            source: \"apache\",\n            extensions: [\"t3\"]\n          },\n          \"application/x-tads\": {\n            source: \"apache\",\n            extensions: [\"gam\"]\n          },\n          \"application/x-tar\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"tar\"]\n          },\n          \"application/x-tcl\": {\n            source: \"apache\",\n            extensions: [\"tcl\", \"tk\"]\n          },\n          \"application/x-tex\": {\n            source: \"apache\",\n            extensions: [\"tex\"]\n          },\n          \"application/x-tex-tfm\": {\n            source: \"apache\",\n            extensions: [\"tfm\"]\n          },\n          \"application/x-texinfo\": {\n            source: \"apache\",\n            extensions: [\"texinfo\", \"texi\"]\n          },\n          \"application/x-tgif\": {\n            source: \"apache\",\n            extensions: [\"obj\"]\n          },\n          \"application/x-ustar\": {\n            source: \"apache\",\n            extensions: [\"ustar\"]\n          },\n          \"application/x-virtualbox-hdd\": {\n            compressible: true,\n            extensions: [\"hdd\"]\n          },\n          \"application/x-virtualbox-ova\": {\n            compressible: true,\n            extensions: [\"ova\"]\n          },\n          \"application/x-virtualbox-ovf\": {\n            compressible: true,\n            extensions: [\"ovf\"]\n          },\n          \"application/x-virtualbox-vbox\": {\n            compressible: true,\n            extensions: [\"vbox\"]\n          },\n          \"application/x-virtualbox-vbox-extpack\": {\n            compressible: false,\n            extensions: [\"vbox-extpack\"]\n          },\n          \"application/x-virtualbox-vdi\": {\n            compressible: true,\n            extensions: [\"vdi\"]\n          },\n          \"application/x-virtualbox-vhd\": {\n            compressible: true,\n            extensions: [\"vhd\"]\n          },\n          \"application/x-virtualbox-vmdk\": {\n            compressible: true,\n            extensions: [\"vmdk\"]\n          },\n          \"application/x-wais-source\": {\n            source: \"apache\",\n            extensions: [\"src\"]\n          },\n          \"application/x-web-app-manifest+json\": {\n            compressible: true,\n            extensions: [\"webapp\"]\n          },\n          \"application/x-www-form-urlencoded\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/x-x509-ca-cert\": {\n            source: \"iana\",\n            extensions: [\"der\", \"crt\", \"pem\"]\n          },\n          \"application/x-x509-ca-ra-cert\": {\n            source: \"iana\"\n          },\n          \"application/x-x509-next-ca-cert\": {\n            source: \"iana\"\n          },\n          \"application/x-xfig\": {\n            source: \"apache\",\n            extensions: [\"fig\"]\n          },\n          \"application/x-xliff+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"xlf\"]\n          },\n          \"application/x-xpinstall\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"xpi\"]\n          },\n          \"application/x-xz\": {\n            source: \"apache\",\n            extensions: [\"xz\"]\n          },\n          \"application/x-zmachine\": {\n            source: \"apache\",\n            extensions: [\"z1\", \"z2\", \"z3\", \"z4\", \"z5\", \"z6\", \"z7\", \"z8\"]\n          },\n          \"application/x400-bp\": {\n            source: \"iana\"\n          },\n          \"application/xacml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xaml+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"xaml\"]\n          },\n          \"application/xcap-att+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xav\"]\n          },\n          \"application/xcap-caps+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xca\"]\n          },\n          \"application/xcap-diff+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xdf\"]\n          },\n          \"application/xcap-el+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xel\"]\n          },\n          \"application/xcap-error+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xcap-ns+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xns\"]\n          },\n          \"application/xcon-conference-info+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xcon-conference-info-diff+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xenc+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xenc\"]\n          },\n          \"application/xhtml+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xhtml\", \"xht\"]\n          },\n          \"application/xhtml-voice+xml\": {\n            source: \"apache\",\n            compressible: true\n          },\n          \"application/xliff+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xlf\"]\n          },\n          \"application/xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xml\", \"xsl\", \"xsd\", \"rng\"]\n          },\n          \"application/xml-dtd\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"dtd\"]\n          },\n          \"application/xml-external-parsed-entity\": {\n            source: \"iana\"\n          },\n          \"application/xml-patch+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xmpp+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/xop+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xop\"]\n          },\n          \"application/xproc+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"xpl\"]\n          },\n          \"application/xslt+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xsl\", \"xslt\"]\n          },\n          \"application/xspf+xml\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"xspf\"]\n          },\n          \"application/xv+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"mxml\", \"xhvml\", \"xvml\", \"xvm\"]\n          },\n          \"application/yang\": {\n            source: \"iana\",\n            extensions: [\"yang\"]\n          },\n          \"application/yang-data+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/yang-data+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/yang-patch+json\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/yang-patch+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"application/yin+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"yin\"]\n          },\n          \"application/zip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"zip\"]\n          },\n          \"application/zlib\": {\n            source: \"iana\"\n          },\n          \"application/zstd\": {\n            source: \"iana\"\n          },\n          \"audio/1d-interleaved-parityfec\": {\n            source: \"iana\"\n          },\n          \"audio/32kadpcm\": {\n            source: \"iana\"\n          },\n          \"audio/3gpp\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"3gpp\"]\n          },\n          \"audio/3gpp2\": {\n            source: \"iana\"\n          },\n          \"audio/aac\": {\n            source: \"iana\"\n          },\n          \"audio/ac3\": {\n            source: \"iana\"\n          },\n          \"audio/adpcm\": {\n            source: \"apache\",\n            extensions: [\"adp\"]\n          },\n          \"audio/amr\": {\n            source: \"iana\",\n            extensions: [\"amr\"]\n          },\n          \"audio/amr-wb\": {\n            source: \"iana\"\n          },\n          \"audio/amr-wb+\": {\n            source: \"iana\"\n          },\n          \"audio/aptx\": {\n            source: \"iana\"\n          },\n          \"audio/asc\": {\n            source: \"iana\"\n          },\n          \"audio/atrac-advanced-lossless\": {\n            source: \"iana\"\n          },\n          \"audio/atrac-x\": {\n            source: \"iana\"\n          },\n          \"audio/atrac3\": {\n            source: \"iana\"\n          },\n          \"audio/basic\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"au\", \"snd\"]\n          },\n          \"audio/bv16\": {\n            source: \"iana\"\n          },\n          \"audio/bv32\": {\n            source: \"iana\"\n          },\n          \"audio/clearmode\": {\n            source: \"iana\"\n          },\n          \"audio/cn\": {\n            source: \"iana\"\n          },\n          \"audio/dat12\": {\n            source: \"iana\"\n          },\n          \"audio/dls\": {\n            source: \"iana\"\n          },\n          \"audio/dsr-es201108\": {\n            source: \"iana\"\n          },\n          \"audio/dsr-es202050\": {\n            source: \"iana\"\n          },\n          \"audio/dsr-es202211\": {\n            source: \"iana\"\n          },\n          \"audio/dsr-es202212\": {\n            source: \"iana\"\n          },\n          \"audio/dv\": {\n            source: \"iana\"\n          },\n          \"audio/dvi4\": {\n            source: \"iana\"\n          },\n          \"audio/eac3\": {\n            source: \"iana\"\n          },\n          \"audio/encaprtp\": {\n            source: \"iana\"\n          },\n          \"audio/evrc\": {\n            source: \"iana\"\n          },\n          \"audio/evrc-qcp\": {\n            source: \"iana\"\n          },\n          \"audio/evrc0\": {\n            source: \"iana\"\n          },\n          \"audio/evrc1\": {\n            source: \"iana\"\n          },\n          \"audio/evrcb\": {\n            source: \"iana\"\n          },\n          \"audio/evrcb0\": {\n            source: \"iana\"\n          },\n          \"audio/evrcb1\": {\n            source: \"iana\"\n          },\n          \"audio/evrcnw\": {\n            source: \"iana\"\n          },\n          \"audio/evrcnw0\": {\n            source: \"iana\"\n          },\n          \"audio/evrcnw1\": {\n            source: \"iana\"\n          },\n          \"audio/evrcwb\": {\n            source: \"iana\"\n          },\n          \"audio/evrcwb0\": {\n            source: \"iana\"\n          },\n          \"audio/evrcwb1\": {\n            source: \"iana\"\n          },\n          \"audio/evs\": {\n            source: \"iana\"\n          },\n          \"audio/flexfec\": {\n            source: \"iana\"\n          },\n          \"audio/fwdred\": {\n            source: \"iana\"\n          },\n          \"audio/g711-0\": {\n            source: \"iana\"\n          },\n          \"audio/g719\": {\n            source: \"iana\"\n          },\n          \"audio/g722\": {\n            source: \"iana\"\n          },\n          \"audio/g7221\": {\n            source: \"iana\"\n          },\n          \"audio/g723\": {\n            source: \"iana\"\n          },\n          \"audio/g726-16\": {\n            source: \"iana\"\n          },\n          \"audio/g726-24\": {\n            source: \"iana\"\n          },\n          \"audio/g726-32\": {\n            source: \"iana\"\n          },\n          \"audio/g726-40\": {\n            source: \"iana\"\n          },\n          \"audio/g728\": {\n            source: \"iana\"\n          },\n          \"audio/g729\": {\n            source: \"iana\"\n          },\n          \"audio/g7291\": {\n            source: \"iana\"\n          },\n          \"audio/g729d\": {\n            source: \"iana\"\n          },\n          \"audio/g729e\": {\n            source: \"iana\"\n          },\n          \"audio/gsm\": {\n            source: \"iana\"\n          },\n          \"audio/gsm-efr\": {\n            source: \"iana\"\n          },\n          \"audio/gsm-hr-08\": {\n            source: \"iana\"\n          },\n          \"audio/ilbc\": {\n            source: \"iana\"\n          },\n          \"audio/ip-mr_v2.5\": {\n            source: \"iana\"\n          },\n          \"audio/isac\": {\n            source: \"apache\"\n          },\n          \"audio/l16\": {\n            source: \"iana\"\n          },\n          \"audio/l20\": {\n            source: \"iana\"\n          },\n          \"audio/l24\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"audio/l8\": {\n            source: \"iana\"\n          },\n          \"audio/lpc\": {\n            source: \"iana\"\n          },\n          \"audio/melp\": {\n            source: \"iana\"\n          },\n          \"audio/melp1200\": {\n            source: \"iana\"\n          },\n          \"audio/melp2400\": {\n            source: \"iana\"\n          },\n          \"audio/melp600\": {\n            source: \"iana\"\n          },\n          \"audio/mhas\": {\n            source: \"iana\"\n          },\n          \"audio/midi\": {\n            source: \"apache\",\n            extensions: [\"mid\", \"midi\", \"kar\", \"rmi\"]\n          },\n          \"audio/mobile-xmf\": {\n            source: \"iana\",\n            extensions: [\"mxmf\"]\n          },\n          \"audio/mp3\": {\n            compressible: false,\n            extensions: [\"mp3\"]\n          },\n          \"audio/mp4\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"m4a\", \"mp4a\"]\n          },\n          \"audio/mp4a-latm\": {\n            source: \"iana\"\n          },\n          \"audio/mpa\": {\n            source: \"iana\"\n          },\n          \"audio/mpa-robust\": {\n            source: \"iana\"\n          },\n          \"audio/mpeg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"mpga\", \"mp2\", \"mp2a\", \"mp3\", \"m2a\", \"m3a\"]\n          },\n          \"audio/mpeg4-generic\": {\n            source: \"iana\"\n          },\n          \"audio/musepack\": {\n            source: \"apache\"\n          },\n          \"audio/ogg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"oga\", \"ogg\", \"spx\", \"opus\"]\n          },\n          \"audio/opus\": {\n            source: \"iana\"\n          },\n          \"audio/parityfec\": {\n            source: \"iana\"\n          },\n          \"audio/pcma\": {\n            source: \"iana\"\n          },\n          \"audio/pcma-wb\": {\n            source: \"iana\"\n          },\n          \"audio/pcmu\": {\n            source: \"iana\"\n          },\n          \"audio/pcmu-wb\": {\n            source: \"iana\"\n          },\n          \"audio/prs.sid\": {\n            source: \"iana\"\n          },\n          \"audio/qcelp\": {\n            source: \"iana\"\n          },\n          \"audio/raptorfec\": {\n            source: \"iana\"\n          },\n          \"audio/red\": {\n            source: \"iana\"\n          },\n          \"audio/rtp-enc-aescm128\": {\n            source: \"iana\"\n          },\n          \"audio/rtp-midi\": {\n            source: \"iana\"\n          },\n          \"audio/rtploopback\": {\n            source: \"iana\"\n          },\n          \"audio/rtx\": {\n            source: \"iana\"\n          },\n          \"audio/s3m\": {\n            source: \"apache\",\n            extensions: [\"s3m\"]\n          },\n          \"audio/scip\": {\n            source: \"iana\"\n          },\n          \"audio/silk\": {\n            source: \"apache\",\n            extensions: [\"sil\"]\n          },\n          \"audio/smv\": {\n            source: \"iana\"\n          },\n          \"audio/smv-qcp\": {\n            source: \"iana\"\n          },\n          \"audio/smv0\": {\n            source: \"iana\"\n          },\n          \"audio/sofa\": {\n            source: \"iana\"\n          },\n          \"audio/sp-midi\": {\n            source: \"iana\"\n          },\n          \"audio/speex\": {\n            source: \"iana\"\n          },\n          \"audio/t140c\": {\n            source: \"iana\"\n          },\n          \"audio/t38\": {\n            source: \"iana\"\n          },\n          \"audio/telephone-event\": {\n            source: \"iana\"\n          },\n          \"audio/tetra_acelp\": {\n            source: \"iana\"\n          },\n          \"audio/tetra_acelp_bb\": {\n            source: \"iana\"\n          },\n          \"audio/tone\": {\n            source: \"iana\"\n          },\n          \"audio/tsvcis\": {\n            source: \"iana\"\n          },\n          \"audio/uemclip\": {\n            source: \"iana\"\n          },\n          \"audio/ulpfec\": {\n            source: \"iana\"\n          },\n          \"audio/usac\": {\n            source: \"iana\"\n          },\n          \"audio/vdvi\": {\n            source: \"iana\"\n          },\n          \"audio/vmr-wb\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.3gpp.iufp\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.4sb\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.audiokoz\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.celp\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.cisco.nse\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.cmles.radio-events\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.cns.anp1\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.cns.inf1\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dece.audio\": {\n            source: \"iana\",\n            extensions: [\"uva\", \"uvva\"]\n          },\n          \"audio/vnd.digital-winds\": {\n            source: \"iana\",\n            extensions: [\"eol\"]\n          },\n          \"audio/vnd.dlna.adts\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.heaac.1\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.heaac.2\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.mlp\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.mps\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.pl2\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.pl2x\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.pl2z\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dolby.pulse.1\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dra\": {\n            source: \"iana\",\n            extensions: [\"dra\"]\n          },\n          \"audio/vnd.dts\": {\n            source: \"iana\",\n            extensions: [\"dts\"]\n          },\n          \"audio/vnd.dts.hd\": {\n            source: \"iana\",\n            extensions: [\"dtshd\"]\n          },\n          \"audio/vnd.dts.uhd\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.dvb.file\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.everad.plj\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.hns.audio\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.lucent.voice\": {\n            source: \"iana\",\n            extensions: [\"lvp\"]\n          },\n          \"audio/vnd.ms-playready.media.pya\": {\n            source: \"iana\",\n            extensions: [\"pya\"]\n          },\n          \"audio/vnd.nokia.mobile-xmf\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.nortel.vbk\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.nuera.ecelp4800\": {\n            source: \"iana\",\n            extensions: [\"ecelp4800\"]\n          },\n          \"audio/vnd.nuera.ecelp7470\": {\n            source: \"iana\",\n            extensions: [\"ecelp7470\"]\n          },\n          \"audio/vnd.nuera.ecelp9600\": {\n            source: \"iana\",\n            extensions: [\"ecelp9600\"]\n          },\n          \"audio/vnd.octel.sbc\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.presonus.multitrack\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.qcelp\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.rhetorex.32kadpcm\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.rip\": {\n            source: \"iana\",\n            extensions: [\"rip\"]\n          },\n          \"audio/vnd.rn-realaudio\": {\n            compressible: false\n          },\n          \"audio/vnd.sealedmedia.softseal.mpeg\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.vmx.cvsd\": {\n            source: \"iana\"\n          },\n          \"audio/vnd.wave\": {\n            compressible: false\n          },\n          \"audio/vorbis\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"audio/vorbis-config\": {\n            source: \"iana\"\n          },\n          \"audio/wav\": {\n            compressible: false,\n            extensions: [\"wav\"]\n          },\n          \"audio/wave\": {\n            compressible: false,\n            extensions: [\"wav\"]\n          },\n          \"audio/webm\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"weba\"]\n          },\n          \"audio/x-aac\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"aac\"]\n          },\n          \"audio/x-aiff\": {\n            source: \"apache\",\n            extensions: [\"aif\", \"aiff\", \"aifc\"]\n          },\n          \"audio/x-caf\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"caf\"]\n          },\n          \"audio/x-flac\": {\n            source: \"apache\",\n            extensions: [\"flac\"]\n          },\n          \"audio/x-m4a\": {\n            source: \"nginx\",\n            extensions: [\"m4a\"]\n          },\n          \"audio/x-matroska\": {\n            source: \"apache\",\n            extensions: [\"mka\"]\n          },\n          \"audio/x-mpegurl\": {\n            source: \"apache\",\n            extensions: [\"m3u\"]\n          },\n          \"audio/x-ms-wax\": {\n            source: \"apache\",\n            extensions: [\"wax\"]\n          },\n          \"audio/x-ms-wma\": {\n            source: \"apache\",\n            extensions: [\"wma\"]\n          },\n          \"audio/x-pn-realaudio\": {\n            source: \"apache\",\n            extensions: [\"ram\", \"ra\"]\n          },\n          \"audio/x-pn-realaudio-plugin\": {\n            source: \"apache\",\n            extensions: [\"rmp\"]\n          },\n          \"audio/x-realaudio\": {\n            source: \"nginx\",\n            extensions: [\"ra\"]\n          },\n          \"audio/x-tta\": {\n            source: \"apache\"\n          },\n          \"audio/x-wav\": {\n            source: \"apache\",\n            extensions: [\"wav\"]\n          },\n          \"audio/xm\": {\n            source: \"apache\",\n            extensions: [\"xm\"]\n          },\n          \"chemical/x-cdx\": {\n            source: \"apache\",\n            extensions: [\"cdx\"]\n          },\n          \"chemical/x-cif\": {\n            source: \"apache\",\n            extensions: [\"cif\"]\n          },\n          \"chemical/x-cmdf\": {\n            source: \"apache\",\n            extensions: [\"cmdf\"]\n          },\n          \"chemical/x-cml\": {\n            source: \"apache\",\n            extensions: [\"cml\"]\n          },\n          \"chemical/x-csml\": {\n            source: \"apache\",\n            extensions: [\"csml\"]\n          },\n          \"chemical/x-pdb\": {\n            source: \"apache\"\n          },\n          \"chemical/x-xyz\": {\n            source: \"apache\",\n            extensions: [\"xyz\"]\n          },\n          \"font/collection\": {\n            source: \"iana\",\n            extensions: [\"ttc\"]\n          },\n          \"font/otf\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"otf\"]\n          },\n          \"font/sfnt\": {\n            source: \"iana\"\n          },\n          \"font/ttf\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ttf\"]\n          },\n          \"font/woff\": {\n            source: \"iana\",\n            extensions: [\"woff\"]\n          },\n          \"font/woff2\": {\n            source: \"iana\",\n            extensions: [\"woff2\"]\n          },\n          \"image/aces\": {\n            source: \"iana\",\n            extensions: [\"exr\"]\n          },\n          \"image/apng\": {\n            compressible: false,\n            extensions: [\"apng\"]\n          },\n          \"image/avci\": {\n            source: \"iana\",\n            extensions: [\"avci\"]\n          },\n          \"image/avcs\": {\n            source: \"iana\",\n            extensions: [\"avcs\"]\n          },\n          \"image/avif\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"avif\"]\n          },\n          \"image/bmp\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"bmp\"]\n          },\n          \"image/cgm\": {\n            source: \"iana\",\n            extensions: [\"cgm\"]\n          },\n          \"image/dicom-rle\": {\n            source: \"iana\",\n            extensions: [\"drle\"]\n          },\n          \"image/emf\": {\n            source: \"iana\",\n            extensions: [\"emf\"]\n          },\n          \"image/fits\": {\n            source: \"iana\",\n            extensions: [\"fits\"]\n          },\n          \"image/g3fax\": {\n            source: \"iana\",\n            extensions: [\"g3\"]\n          },\n          \"image/gif\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"gif\"]\n          },\n          \"image/heic\": {\n            source: \"iana\",\n            extensions: [\"heic\"]\n          },\n          \"image/heic-sequence\": {\n            source: \"iana\",\n            extensions: [\"heics\"]\n          },\n          \"image/heif\": {\n            source: \"iana\",\n            extensions: [\"heif\"]\n          },\n          \"image/heif-sequence\": {\n            source: \"iana\",\n            extensions: [\"heifs\"]\n          },\n          \"image/hej2k\": {\n            source: \"iana\",\n            extensions: [\"hej2\"]\n          },\n          \"image/hsj2\": {\n            source: \"iana\",\n            extensions: [\"hsj2\"]\n          },\n          \"image/ief\": {\n            source: \"iana\",\n            extensions: [\"ief\"]\n          },\n          \"image/jls\": {\n            source: \"iana\",\n            extensions: [\"jls\"]\n          },\n          \"image/jp2\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"jp2\", \"jpg2\"]\n          },\n          \"image/jpeg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"jpeg\", \"jpg\", \"jpe\"]\n          },\n          \"image/jph\": {\n            source: \"iana\",\n            extensions: [\"jph\"]\n          },\n          \"image/jphc\": {\n            source: \"iana\",\n            extensions: [\"jhc\"]\n          },\n          \"image/jpm\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"jpm\"]\n          },\n          \"image/jpx\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"jpx\", \"jpf\"]\n          },\n          \"image/jxr\": {\n            source: \"iana\",\n            extensions: [\"jxr\"]\n          },\n          \"image/jxra\": {\n            source: \"iana\",\n            extensions: [\"jxra\"]\n          },\n          \"image/jxrs\": {\n            source: \"iana\",\n            extensions: [\"jxrs\"]\n          },\n          \"image/jxs\": {\n            source: \"iana\",\n            extensions: [\"jxs\"]\n          },\n          \"image/jxsc\": {\n            source: \"iana\",\n            extensions: [\"jxsc\"]\n          },\n          \"image/jxsi\": {\n            source: \"iana\",\n            extensions: [\"jxsi\"]\n          },\n          \"image/jxss\": {\n            source: \"iana\",\n            extensions: [\"jxss\"]\n          },\n          \"image/ktx\": {\n            source: \"iana\",\n            extensions: [\"ktx\"]\n          },\n          \"image/ktx2\": {\n            source: \"iana\",\n            extensions: [\"ktx2\"]\n          },\n          \"image/naplps\": {\n            source: \"iana\"\n          },\n          \"image/pjpeg\": {\n            compressible: false\n          },\n          \"image/png\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"png\"]\n          },\n          \"image/prs.btif\": {\n            source: \"iana\",\n            extensions: [\"btif\"]\n          },\n          \"image/prs.pti\": {\n            source: \"iana\",\n            extensions: [\"pti\"]\n          },\n          \"image/pwg-raster\": {\n            source: \"iana\"\n          },\n          \"image/sgi\": {\n            source: \"apache\",\n            extensions: [\"sgi\"]\n          },\n          \"image/svg+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"svg\", \"svgz\"]\n          },\n          \"image/t38\": {\n            source: \"iana\",\n            extensions: [\"t38\"]\n          },\n          \"image/tiff\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"tif\", \"tiff\"]\n          },\n          \"image/tiff-fx\": {\n            source: \"iana\",\n            extensions: [\"tfx\"]\n          },\n          \"image/vnd.adobe.photoshop\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"psd\"]\n          },\n          \"image/vnd.airzip.accelerator.azv\": {\n            source: \"iana\",\n            extensions: [\"azv\"]\n          },\n          \"image/vnd.cns.inf2\": {\n            source: \"iana\"\n          },\n          \"image/vnd.dece.graphic\": {\n            source: \"iana\",\n            extensions: [\"uvi\", \"uvvi\", \"uvg\", \"uvvg\"]\n          },\n          \"image/vnd.djvu\": {\n            source: \"iana\",\n            extensions: [\"djvu\", \"djv\"]\n          },\n          \"image/vnd.dvb.subtitle\": {\n            source: \"iana\",\n            extensions: [\"sub\"]\n          },\n          \"image/vnd.dwg\": {\n            source: \"iana\",\n            extensions: [\"dwg\"]\n          },\n          \"image/vnd.dxf\": {\n            source: \"iana\",\n            extensions: [\"dxf\"]\n          },\n          \"image/vnd.fastbidsheet\": {\n            source: \"iana\",\n            extensions: [\"fbs\"]\n          },\n          \"image/vnd.fpx\": {\n            source: \"iana\",\n            extensions: [\"fpx\"]\n          },\n          \"image/vnd.fst\": {\n            source: \"iana\",\n            extensions: [\"fst\"]\n          },\n          \"image/vnd.fujixerox.edmics-mmr\": {\n            source: \"iana\",\n            extensions: [\"mmr\"]\n          },\n          \"image/vnd.fujixerox.edmics-rlc\": {\n            source: \"iana\",\n            extensions: [\"rlc\"]\n          },\n          \"image/vnd.globalgraphics.pgb\": {\n            source: \"iana\"\n          },\n          \"image/vnd.microsoft.icon\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"ico\"]\n          },\n          \"image/vnd.mix\": {\n            source: \"iana\"\n          },\n          \"image/vnd.mozilla.apng\": {\n            source: \"iana\"\n          },\n          \"image/vnd.ms-dds\": {\n            compressible: true,\n            extensions: [\"dds\"]\n          },\n          \"image/vnd.ms-modi\": {\n            source: \"iana\",\n            extensions: [\"mdi\"]\n          },\n          \"image/vnd.ms-photo\": {\n            source: \"apache\",\n            extensions: [\"wdp\"]\n          },\n          \"image/vnd.net-fpx\": {\n            source: \"iana\",\n            extensions: [\"npx\"]\n          },\n          \"image/vnd.pco.b16\": {\n            source: \"iana\",\n            extensions: [\"b16\"]\n          },\n          \"image/vnd.radiance\": {\n            source: \"iana\"\n          },\n          \"image/vnd.sealed.png\": {\n            source: \"iana\"\n          },\n          \"image/vnd.sealedmedia.softseal.gif\": {\n            source: \"iana\"\n          },\n          \"image/vnd.sealedmedia.softseal.jpg\": {\n            source: \"iana\"\n          },\n          \"image/vnd.svf\": {\n            source: \"iana\"\n          },\n          \"image/vnd.tencent.tap\": {\n            source: \"iana\",\n            extensions: [\"tap\"]\n          },\n          \"image/vnd.valve.source.texture\": {\n            source: \"iana\",\n            extensions: [\"vtf\"]\n          },\n          \"image/vnd.wap.wbmp\": {\n            source: \"iana\",\n            extensions: [\"wbmp\"]\n          },\n          \"image/vnd.xiff\": {\n            source: \"iana\",\n            extensions: [\"xif\"]\n          },\n          \"image/vnd.zbrush.pcx\": {\n            source: \"iana\",\n            extensions: [\"pcx\"]\n          },\n          \"image/webp\": {\n            source: \"apache\",\n            extensions: [\"webp\"]\n          },\n          \"image/wmf\": {\n            source: \"iana\",\n            extensions: [\"wmf\"]\n          },\n          \"image/x-3ds\": {\n            source: \"apache\",\n            extensions: [\"3ds\"]\n          },\n          \"image/x-cmu-raster\": {\n            source: \"apache\",\n            extensions: [\"ras\"]\n          },\n          \"image/x-cmx\": {\n            source: \"apache\",\n            extensions: [\"cmx\"]\n          },\n          \"image/x-freehand\": {\n            source: \"apache\",\n            extensions: [\"fh\", \"fhc\", \"fh4\", \"fh5\", \"fh7\"]\n          },\n          \"image/x-icon\": {\n            source: \"apache\",\n            compressible: true,\n            extensions: [\"ico\"]\n          },\n          \"image/x-jng\": {\n            source: \"nginx\",\n            extensions: [\"jng\"]\n          },\n          \"image/x-mrsid-image\": {\n            source: \"apache\",\n            extensions: [\"sid\"]\n          },\n          \"image/x-ms-bmp\": {\n            source: \"nginx\",\n            compressible: true,\n            extensions: [\"bmp\"]\n          },\n          \"image/x-pcx\": {\n            source: \"apache\",\n            extensions: [\"pcx\"]\n          },\n          \"image/x-pict\": {\n            source: \"apache\",\n            extensions: [\"pic\", \"pct\"]\n          },\n          \"image/x-portable-anymap\": {\n            source: \"apache\",\n            extensions: [\"pnm\"]\n          },\n          \"image/x-portable-bitmap\": {\n            source: \"apache\",\n            extensions: [\"pbm\"]\n          },\n          \"image/x-portable-graymap\": {\n            source: \"apache\",\n            extensions: [\"pgm\"]\n          },\n          \"image/x-portable-pixmap\": {\n            source: \"apache\",\n            extensions: [\"ppm\"]\n          },\n          \"image/x-rgb\": {\n            source: \"apache\",\n            extensions: [\"rgb\"]\n          },\n          \"image/x-tga\": {\n            source: \"apache\",\n            extensions: [\"tga\"]\n          },\n          \"image/x-xbitmap\": {\n            source: \"apache\",\n            extensions: [\"xbm\"]\n          },\n          \"image/x-xcf\": {\n            compressible: false\n          },\n          \"image/x-xpixmap\": {\n            source: \"apache\",\n            extensions: [\"xpm\"]\n          },\n          \"image/x-xwindowdump\": {\n            source: \"apache\",\n            extensions: [\"xwd\"]\n          },\n          \"message/cpim\": {\n            source: \"iana\"\n          },\n          \"message/delivery-status\": {\n            source: \"iana\"\n          },\n          \"message/disposition-notification\": {\n            source: \"iana\",\n            extensions: [\"disposition-notification\"]\n          },\n          \"message/external-body\": {\n            source: \"iana\"\n          },\n          \"message/feedback-report\": {\n            source: \"iana\"\n          },\n          \"message/global\": {\n            source: \"iana\",\n            extensions: [\"u8msg\"]\n          },\n          \"message/global-delivery-status\": {\n            source: \"iana\",\n            extensions: [\"u8dsn\"]\n          },\n          \"message/global-disposition-notification\": {\n            source: \"iana\",\n            extensions: [\"u8mdn\"]\n          },\n          \"message/global-headers\": {\n            source: \"iana\",\n            extensions: [\"u8hdr\"]\n          },\n          \"message/http\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"message/imdn+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"message/news\": {\n            source: \"iana\"\n          },\n          \"message/partial\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"message/rfc822\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"eml\", \"mime\"]\n          },\n          \"message/s-http\": {\n            source: \"iana\"\n          },\n          \"message/sip\": {\n            source: \"iana\"\n          },\n          \"message/sipfrag\": {\n            source: \"iana\"\n          },\n          \"message/tracking-status\": {\n            source: \"iana\"\n          },\n          \"message/vnd.si.simp\": {\n            source: \"iana\"\n          },\n          \"message/vnd.wfa.wsc\": {\n            source: \"iana\",\n            extensions: [\"wsc\"]\n          },\n          \"model/3mf\": {\n            source: \"iana\",\n            extensions: [\"3mf\"]\n          },\n          \"model/e57\": {\n            source: \"iana\"\n          },\n          \"model/gltf+json\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"gltf\"]\n          },\n          \"model/gltf-binary\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"glb\"]\n          },\n          \"model/iges\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"igs\", \"iges\"]\n          },\n          \"model/mesh\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"msh\", \"mesh\", \"silo\"]\n          },\n          \"model/mtl\": {\n            source: \"iana\",\n            extensions: [\"mtl\"]\n          },\n          \"model/obj\": {\n            source: \"iana\",\n            extensions: [\"obj\"]\n          },\n          \"model/step\": {\n            source: \"iana\"\n          },\n          \"model/step+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"stpx\"]\n          },\n          \"model/step+zip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"stpz\"]\n          },\n          \"model/step-xml+zip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"stpxz\"]\n          },\n          \"model/stl\": {\n            source: \"iana\",\n            extensions: [\"stl\"]\n          },\n          \"model/vnd.collada+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"dae\"]\n          },\n          \"model/vnd.dwf\": {\n            source: \"iana\",\n            extensions: [\"dwf\"]\n          },\n          \"model/vnd.flatland.3dml\": {\n            source: \"iana\"\n          },\n          \"model/vnd.gdl\": {\n            source: \"iana\",\n            extensions: [\"gdl\"]\n          },\n          \"model/vnd.gs-gdl\": {\n            source: \"apache\"\n          },\n          \"model/vnd.gs.gdl\": {\n            source: \"iana\"\n          },\n          \"model/vnd.gtw\": {\n            source: \"iana\",\n            extensions: [\"gtw\"]\n          },\n          \"model/vnd.moml+xml\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"model/vnd.mts\": {\n            source: \"iana\",\n            extensions: [\"mts\"]\n          },\n          \"model/vnd.opengex\": {\n            source: \"iana\",\n            extensions: [\"ogex\"]\n          },\n          \"model/vnd.parasolid.transmit.binary\": {\n            source: \"iana\",\n            extensions: [\"x_b\"]\n          },\n          \"model/vnd.parasolid.transmit.text\": {\n            source: \"iana\",\n            extensions: [\"x_t\"]\n          },\n          \"model/vnd.pytha.pyox\": {\n            source: \"iana\"\n          },\n          \"model/vnd.rosette.annotated-data-model\": {\n            source: \"iana\"\n          },\n          \"model/vnd.sap.vds\": {\n            source: \"iana\",\n            extensions: [\"vds\"]\n          },\n          \"model/vnd.usdz+zip\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"usdz\"]\n          },\n          \"model/vnd.valve.source.compiled-map\": {\n            source: \"iana\",\n            extensions: [\"bsp\"]\n          },\n          \"model/vnd.vtu\": {\n            source: \"iana\",\n            extensions: [\"vtu\"]\n          },\n          \"model/vrml\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"wrl\", \"vrml\"]\n          },\n          \"model/x3d+binary\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"x3db\", \"x3dbz\"]\n          },\n          \"model/x3d+fastinfoset\": {\n            source: \"iana\",\n            extensions: [\"x3db\"]\n          },\n          \"model/x3d+vrml\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"x3dv\", \"x3dvz\"]\n          },\n          \"model/x3d+xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"x3d\", \"x3dz\"]\n          },\n          \"model/x3d-vrml\": {\n            source: \"iana\",\n            extensions: [\"x3dv\"]\n          },\n          \"multipart/alternative\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"multipart/appledouble\": {\n            source: \"iana\"\n          },\n          \"multipart/byteranges\": {\n            source: \"iana\"\n          },\n          \"multipart/digest\": {\n            source: \"iana\"\n          },\n          \"multipart/encrypted\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"multipart/form-data\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"multipart/header-set\": {\n            source: \"iana\"\n          },\n          \"multipart/mixed\": {\n            source: \"iana\"\n          },\n          \"multipart/multilingual\": {\n            source: \"iana\"\n          },\n          \"multipart/parallel\": {\n            source: \"iana\"\n          },\n          \"multipart/related\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"multipart/report\": {\n            source: \"iana\"\n          },\n          \"multipart/signed\": {\n            source: \"iana\",\n            compressible: false\n          },\n          \"multipart/vnd.bint.med-plus\": {\n            source: \"iana\"\n          },\n          \"multipart/voice-message\": {\n            source: \"iana\"\n          },\n          \"multipart/x-mixed-replace\": {\n            source: \"iana\"\n          },\n          \"text/1d-interleaved-parityfec\": {\n            source: \"iana\"\n          },\n          \"text/cache-manifest\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"appcache\", \"manifest\"]\n          },\n          \"text/calendar\": {\n            source: \"iana\",\n            extensions: [\"ics\", \"ifb\"]\n          },\n          \"text/calender\": {\n            compressible: true\n          },\n          \"text/cmd\": {\n            compressible: true\n          },\n          \"text/coffeescript\": {\n            extensions: [\"coffee\", \"litcoffee\"]\n          },\n          \"text/cql\": {\n            source: \"iana\"\n          },\n          \"text/cql-expression\": {\n            source: \"iana\"\n          },\n          \"text/cql-identifier\": {\n            source: \"iana\"\n          },\n          \"text/css\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"css\"]\n          },\n          \"text/csv\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"csv\"]\n          },\n          \"text/csv-schema\": {\n            source: \"iana\"\n          },\n          \"text/directory\": {\n            source: \"iana\"\n          },\n          \"text/dns\": {\n            source: \"iana\"\n          },\n          \"text/ecmascript\": {\n            source: \"iana\"\n          },\n          \"text/encaprtp\": {\n            source: \"iana\"\n          },\n          \"text/enriched\": {\n            source: \"iana\"\n          },\n          \"text/fhirpath\": {\n            source: \"iana\"\n          },\n          \"text/flexfec\": {\n            source: \"iana\"\n          },\n          \"text/fwdred\": {\n            source: \"iana\"\n          },\n          \"text/gff3\": {\n            source: \"iana\"\n          },\n          \"text/grammar-ref-list\": {\n            source: \"iana\"\n          },\n          \"text/html\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"html\", \"htm\", \"shtml\"]\n          },\n          \"text/jade\": {\n            extensions: [\"jade\"]\n          },\n          \"text/javascript\": {\n            source: \"iana\",\n            compressible: true\n          },\n          \"text/jcr-cnd\": {\n            source: \"iana\"\n          },\n          \"text/jsx\": {\n            compressible: true,\n            extensions: [\"jsx\"]\n          },\n          \"text/less\": {\n            compressible: true,\n            extensions: [\"less\"]\n          },\n          \"text/markdown\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"markdown\", \"md\"]\n          },\n          \"text/mathml\": {\n            source: \"nginx\",\n            extensions: [\"mml\"]\n          },\n          \"text/mdx\": {\n            compressible: true,\n            extensions: [\"mdx\"]\n          },\n          \"text/mizar\": {\n            source: \"iana\"\n          },\n          \"text/n3\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"n3\"]\n          },\n          \"text/parameters\": {\n            source: \"iana\",\n            charset: \"UTF-8\"\n          },\n          \"text/parityfec\": {\n            source: \"iana\"\n          },\n          \"text/plain\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"txt\", \"text\", \"conf\", \"def\", \"list\", \"log\", \"in\", \"ini\"]\n          },\n          \"text/provenance-notation\": {\n            source: \"iana\",\n            charset: \"UTF-8\"\n          },\n          \"text/prs.fallenstein.rst\": {\n            source: \"iana\"\n          },\n          \"text/prs.lines.tag\": {\n            source: \"iana\",\n            extensions: [\"dsc\"]\n          },\n          \"text/prs.prop.logic\": {\n            source: \"iana\"\n          },\n          \"text/raptorfec\": {\n            source: \"iana\"\n          },\n          \"text/red\": {\n            source: \"iana\"\n          },\n          \"text/rfc822-headers\": {\n            source: \"iana\"\n          },\n          \"text/richtext\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rtx\"]\n          },\n          \"text/rtf\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"rtf\"]\n          },\n          \"text/rtp-enc-aescm128\": {\n            source: \"iana\"\n          },\n          \"text/rtploopback\": {\n            source: \"iana\"\n          },\n          \"text/rtx\": {\n            source: \"iana\"\n          },\n          \"text/sgml\": {\n            source: \"iana\",\n            extensions: [\"sgml\", \"sgm\"]\n          },\n          \"text/shaclc\": {\n            source: \"iana\"\n          },\n          \"text/shex\": {\n            source: \"iana\",\n            extensions: [\"shex\"]\n          },\n          \"text/slim\": {\n            extensions: [\"slim\", \"slm\"]\n          },\n          \"text/spdx\": {\n            source: \"iana\",\n            extensions: [\"spdx\"]\n          },\n          \"text/strings\": {\n            source: \"iana\"\n          },\n          \"text/stylus\": {\n            extensions: [\"stylus\", \"styl\"]\n          },\n          \"text/t140\": {\n            source: \"iana\"\n          },\n          \"text/tab-separated-values\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"tsv\"]\n          },\n          \"text/troff\": {\n            source: \"iana\",\n            extensions: [\"t\", \"tr\", \"roff\", \"man\", \"me\", \"ms\"]\n          },\n          \"text/turtle\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            extensions: [\"ttl\"]\n          },\n          \"text/ulpfec\": {\n            source: \"iana\"\n          },\n          \"text/uri-list\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"uri\", \"uris\", \"urls\"]\n          },\n          \"text/vcard\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"vcard\"]\n          },\n          \"text/vnd.a\": {\n            source: \"iana\"\n          },\n          \"text/vnd.abc\": {\n            source: \"iana\"\n          },\n          \"text/vnd.ascii-art\": {\n            source: \"iana\"\n          },\n          \"text/vnd.curl\": {\n            source: \"iana\",\n            extensions: [\"curl\"]\n          },\n          \"text/vnd.curl.dcurl\": {\n            source: \"apache\",\n            extensions: [\"dcurl\"]\n          },\n          \"text/vnd.curl.mcurl\": {\n            source: \"apache\",\n            extensions: [\"mcurl\"]\n          },\n          \"text/vnd.curl.scurl\": {\n            source: \"apache\",\n            extensions: [\"scurl\"]\n          },\n          \"text/vnd.debian.copyright\": {\n            source: \"iana\",\n            charset: \"UTF-8\"\n          },\n          \"text/vnd.dmclientscript\": {\n            source: \"iana\"\n          },\n          \"text/vnd.dvb.subtitle\": {\n            source: \"iana\",\n            extensions: [\"sub\"]\n          },\n          \"text/vnd.esmertec.theme-descriptor\": {\n            source: \"iana\",\n            charset: \"UTF-8\"\n          },\n          \"text/vnd.familysearch.gedcom\": {\n            source: \"iana\",\n            extensions: [\"ged\"]\n          },\n          \"text/vnd.ficlab.flt\": {\n            source: \"iana\"\n          },\n          \"text/vnd.fly\": {\n            source: \"iana\",\n            extensions: [\"fly\"]\n          },\n          \"text/vnd.fmi.flexstor\": {\n            source: \"iana\",\n            extensions: [\"flx\"]\n          },\n          \"text/vnd.gml\": {\n            source: \"iana\"\n          },\n          \"text/vnd.graphviz\": {\n            source: \"iana\",\n            extensions: [\"gv\"]\n          },\n          \"text/vnd.hans\": {\n            source: \"iana\"\n          },\n          \"text/vnd.hgl\": {\n            source: \"iana\"\n          },\n          \"text/vnd.in3d.3dml\": {\n            source: \"iana\",\n            extensions: [\"3dml\"]\n          },\n          \"text/vnd.in3d.spot\": {\n            source: \"iana\",\n            extensions: [\"spot\"]\n          },\n          \"text/vnd.iptc.newsml\": {\n            source: \"iana\"\n          },\n          \"text/vnd.iptc.nitf\": {\n            source: \"iana\"\n          },\n          \"text/vnd.latex-z\": {\n            source: \"iana\"\n          },\n          \"text/vnd.motorola.reflex\": {\n            source: \"iana\"\n          },\n          \"text/vnd.ms-mediapackage\": {\n            source: \"iana\"\n          },\n          \"text/vnd.net2phone.commcenter.command\": {\n            source: \"iana\"\n          },\n          \"text/vnd.radisys.msml-basic-layout\": {\n            source: \"iana\"\n          },\n          \"text/vnd.senx.warpscript\": {\n            source: \"iana\"\n          },\n          \"text/vnd.si.uricatalogue\": {\n            source: \"iana\"\n          },\n          \"text/vnd.sosi\": {\n            source: \"iana\"\n          },\n          \"text/vnd.sun.j2me.app-descriptor\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            extensions: [\"jad\"]\n          },\n          \"text/vnd.trolltech.linguist\": {\n            source: \"iana\",\n            charset: \"UTF-8\"\n          },\n          \"text/vnd.wap.si\": {\n            source: \"iana\"\n          },\n          \"text/vnd.wap.sl\": {\n            source: \"iana\"\n          },\n          \"text/vnd.wap.wml\": {\n            source: \"iana\",\n            extensions: [\"wml\"]\n          },\n          \"text/vnd.wap.wmlscript\": {\n            source: \"iana\",\n            extensions: [\"wmls\"]\n          },\n          \"text/vtt\": {\n            source: \"iana\",\n            charset: \"UTF-8\",\n            compressible: true,\n            extensions: [\"vtt\"]\n          },\n          \"text/x-asm\": {\n            source: \"apache\",\n            extensions: [\"s\", \"asm\"]\n          },\n          \"text/x-c\": {\n            source: \"apache\",\n            extensions: [\"c\", \"cc\", \"cxx\", \"cpp\", \"h\", \"hh\", \"dic\"]\n          },\n          \"text/x-component\": {\n            source: \"nginx\",\n            extensions: [\"htc\"]\n          },\n          \"text/x-fortran\": {\n            source: \"apache\",\n            extensions: [\"f\", \"for\", \"f77\", \"f90\"]\n          },\n          \"text/x-gwt-rpc\": {\n            compressible: true\n          },\n          \"text/x-handlebars-template\": {\n            extensions: [\"hbs\"]\n          },\n          \"text/x-java-source\": {\n            source: \"apache\",\n            extensions: [\"java\"]\n          },\n          \"text/x-jquery-tmpl\": {\n            compressible: true\n          },\n          \"text/x-lua\": {\n            extensions: [\"lua\"]\n          },\n          \"text/x-markdown\": {\n            compressible: true,\n            extensions: [\"mkd\"]\n          },\n          \"text/x-nfo\": {\n            source: \"apache\",\n            extensions: [\"nfo\"]\n          },\n          \"text/x-opml\": {\n            source: \"apache\",\n            extensions: [\"opml\"]\n          },\n          \"text/x-org\": {\n            compressible: true,\n            extensions: [\"org\"]\n          },\n          \"text/x-pascal\": {\n            source: \"apache\",\n            extensions: [\"p\", \"pas\"]\n          },\n          \"text/x-processing\": {\n            compressible: true,\n            extensions: [\"pde\"]\n          },\n          \"text/x-sass\": {\n            extensions: [\"sass\"]\n          },\n          \"text/x-scss\": {\n            extensions: [\"scss\"]\n          },\n          \"text/x-setext\": {\n            source: \"apache\",\n            extensions: [\"etx\"]\n          },\n          \"text/x-sfv\": {\n            source: \"apache\",\n            extensions: [\"sfv\"]\n          },\n          \"text/x-suse-ymp\": {\n            compressible: true,\n            extensions: [\"ymp\"]\n          },\n          \"text/x-uuencode\": {\n            source: \"apache\",\n            extensions: [\"uu\"]\n          },\n          \"text/x-vcalendar\": {\n            source: \"apache\",\n            extensions: [\"vcs\"]\n          },\n          \"text/x-vcard\": {\n            source: \"apache\",\n            extensions: [\"vcf\"]\n          },\n          \"text/xml\": {\n            source: \"iana\",\n            compressible: true,\n            extensions: [\"xml\"]\n          },\n          \"text/xml-external-parsed-entity\": {\n            source: \"iana\"\n          },\n          \"text/yaml\": {\n            compressible: true,\n            extensions: [\"yaml\", \"yml\"]\n          },\n          \"video/1d-interleaved-parityfec\": {\n            source: \"iana\"\n          },\n          \"video/3gpp\": {\n            source: \"iana\",\n            extensions: [\"3gp\", \"3gpp\"]\n          },\n          \"video/3gpp-tt\": {\n            source: \"iana\"\n          },\n          \"video/3gpp2\": {\n            source: \"iana\",\n            extensions: [\"3g2\"]\n          },\n          \"video/av1\": {\n            source: \"iana\"\n          },\n          \"video/bmpeg\": {\n            source: \"iana\"\n          },\n          \"video/bt656\": {\n            source: \"iana\"\n          },\n          \"video/celb\": {\n            source: \"iana\"\n          },\n          \"video/dv\": {\n            source: \"iana\"\n          },\n          \"video/encaprtp\": {\n            source: \"iana\"\n          },\n          \"video/ffv1\": {\n            source: \"iana\"\n          },\n          \"video/flexfec\": {\n            source: \"iana\"\n          },\n          \"video/h261\": {\n            source: \"iana\",\n            extensions: [\"h261\"]\n          },\n          \"video/h263\": {\n            source: \"iana\",\n            extensions: [\"h263\"]\n          },\n          \"video/h263-1998\": {\n            source: \"iana\"\n          },\n          \"video/h263-2000\": {\n            source: \"iana\"\n          },\n          \"video/h264\": {\n            source: \"iana\",\n            extensions: [\"h264\"]\n          },\n          \"video/h264-rcdo\": {\n            source: \"iana\"\n          },\n          \"video/h264-svc\": {\n            source: \"iana\"\n          },\n          \"video/h265\": {\n            source: \"iana\"\n          },\n          \"video/iso.segment\": {\n            source: \"iana\",\n            extensions: [\"m4s\"]\n          },\n          \"video/jpeg\": {\n            source: \"iana\",\n            extensions: [\"jpgv\"]\n          },\n          \"video/jpeg2000\": {\n            source: \"iana\"\n          },\n          \"video/jpm\": {\n            source: \"apache\",\n            extensions: [\"jpm\", \"jpgm\"]\n          },\n          \"video/jxsv\": {\n            source: \"iana\"\n          },\n          \"video/mj2\": {\n            source: \"iana\",\n            extensions: [\"mj2\", \"mjp2\"]\n          },\n          \"video/mp1s\": {\n            source: \"iana\"\n          },\n          \"video/mp2p\": {\n            source: \"iana\"\n          },\n          \"video/mp2t\": {\n            source: \"iana\",\n            extensions: [\"ts\"]\n          },\n          \"video/mp4\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"mp4\", \"mp4v\", \"mpg4\"]\n          },\n          \"video/mp4v-es\": {\n            source: \"iana\"\n          },\n          \"video/mpeg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"mpeg\", \"mpg\", \"mpe\", \"m1v\", \"m2v\"]\n          },\n          \"video/mpeg4-generic\": {\n            source: \"iana\"\n          },\n          \"video/mpv\": {\n            source: \"iana\"\n          },\n          \"video/nv\": {\n            source: \"iana\"\n          },\n          \"video/ogg\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"ogv\"]\n          },\n          \"video/parityfec\": {\n            source: \"iana\"\n          },\n          \"video/pointer\": {\n            source: \"iana\"\n          },\n          \"video/quicktime\": {\n            source: \"iana\",\n            compressible: false,\n            extensions: [\"qt\", \"mov\"]\n          },\n          \"video/raptorfec\": {\n            source: \"iana\"\n          },\n          \"video/raw\": {\n            source: \"iana\"\n          },\n          \"video/rtp-enc-aescm128\": {\n            source: \"iana\"\n          },\n          \"video/rtploopback\": {\n            source: \"iana\"\n          },\n          \"video/rtx\": {\n            source: \"iana\"\n          },\n          \"video/scip\": {\n            source: \"iana\"\n          },\n          \"video/smpte291\": {\n            source: \"iana\"\n          },\n          \"video/smpte292m\": {\n            source: \"iana\"\n          },\n          \"video/ulpfec\": {\n            source: \"iana\"\n          },\n          \"video/vc1\": {\n            source: \"iana\"\n          },\n          \"video/vc2\": {\n            source: \"iana\"\n          },\n          \"video/vnd.cctv\": {\n            source: \"iana\"\n          },\n          \"video/vnd.dece.hd\": {\n            source: \"iana\",\n            extensions: [\"uvh\", \"uvvh\"]\n          },\n          \"video/vnd.dece.mobile\": {\n            source: \"iana\",\n            extensions: [\"uvm\", \"uvvm\"]\n          },\n          \"video/vnd.dece.mp4\": {\n            source: \"iana\"\n          },\n          \"video/vnd.dece.pd\": {\n            source: \"iana\",\n            extensions: [\"uvp\", \"uvvp\"]\n          },\n          \"video/vnd.dece.sd\": {\n            source: \"iana\",\n            extensions: [\"uvs\", \"uvvs\"]\n          },\n          \"video/vnd.dece.video\": {\n            source: \"iana\",\n            extensions: [\"uvv\", \"uvvv\"]\n          },\n          \"video/vnd.directv.mpeg\": {\n            source: \"iana\"\n          },\n          \"video/vnd.directv.mpeg-tts\": {\n            source: \"iana\"\n          },\n          \"video/vnd.dlna.mpeg-tts\": {\n            source: \"iana\"\n          },\n          \"video/vnd.dvb.file\": {\n            source: \"iana\",\n            extensions: [\"dvb\"]\n          },\n          \"video/vnd.fvt\": {\n            source: \"iana\",\n            extensions: [\"fvt\"]\n          },\n          \"video/vnd.hns.video\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.1dparityfec-1010\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.1dparityfec-2005\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.2dparityfec-1010\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.2dparityfec-2005\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.ttsavc\": {\n            source: \"iana\"\n          },\n          \"video/vnd.iptvforum.ttsmpeg2\": {\n            source: \"iana\"\n          },\n          \"video/vnd.motorola.video\": {\n            source: \"iana\"\n          },\n          \"video/vnd.motorola.videop\": {\n            source: \"iana\"\n          },\n          \"video/vnd.mpegurl\": {\n            source: \"iana\",\n            extensions: [\"mxu\", \"m4u\"]\n          },\n          \"video/vnd.ms-playready.media.pyv\": {\n            source: \"iana\",\n            extensions: [\"pyv\"]\n          },\n          \"video/vnd.nokia.interleaved-multimedia\": {\n            source: \"iana\"\n          },\n          \"video/vnd.nokia.mp4vr\": {\n            source: \"iana\"\n          },\n          \"video/vnd.nokia.videovoip\": {\n            source: \"iana\"\n          },\n          \"video/vnd.objectvideo\": {\n            source: \"iana\"\n          },\n          \"video/vnd.radgamettools.bink\": {\n            source: \"iana\"\n          },\n          \"video/vnd.radgamettools.smacker\": {\n            source: \"iana\"\n          },\n          \"video/vnd.sealed.mpeg1\": {\n            source: \"iana\"\n          },\n          \"video/vnd.sealed.mpeg4\": {\n            source: \"iana\"\n          },\n          \"video/vnd.sealed.swf\": {\n            source: \"iana\"\n          },\n          \"video/vnd.sealedmedia.softseal.mov\": {\n            source: \"iana\"\n          },\n          \"video/vnd.uvvu.mp4\": {\n            source: \"iana\",\n            extensions: [\"uvu\", \"uvvu\"]\n          },\n          \"video/vnd.vivo\": {\n            source: \"iana\",\n            extensions: [\"viv\"]\n          },\n          \"video/vnd.youtube.yt\": {\n            source: \"iana\"\n          },\n          \"video/vp8\": {\n            source: \"iana\"\n          },\n          \"video/vp9\": {\n            source: \"iana\"\n          },\n          \"video/webm\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"webm\"]\n          },\n          \"video/x-f4v\": {\n            source: \"apache\",\n            extensions: [\"f4v\"]\n          },\n          \"video/x-fli\": {\n            source: \"apache\",\n            extensions: [\"fli\"]\n          },\n          \"video/x-flv\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"flv\"]\n          },\n          \"video/x-m4v\": {\n            source: \"apache\",\n            extensions: [\"m4v\"]\n          },\n          \"video/x-matroska\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"mkv\", \"mk3d\", \"mks\"]\n          },\n          \"video/x-mng\": {\n            source: \"apache\",\n            extensions: [\"mng\"]\n          },\n          \"video/x-ms-asf\": {\n            source: \"apache\",\n            extensions: [\"asf\", \"asx\"]\n          },\n          \"video/x-ms-vob\": {\n            source: \"apache\",\n            extensions: [\"vob\"]\n          },\n          \"video/x-ms-wm\": {\n            source: \"apache\",\n            extensions: [\"wm\"]\n          },\n          \"video/x-ms-wmv\": {\n            source: \"apache\",\n            compressible: false,\n            extensions: [\"wmv\"]\n          },\n          \"video/x-ms-wmx\": {\n            source: \"apache\",\n            extensions: [\"wmx\"]\n          },\n          \"video/x-ms-wvx\": {\n            source: \"apache\",\n            extensions: [\"wvx\"]\n          },\n          \"video/x-msvideo\": {\n            source: \"apache\",\n            extensions: [\"avi\"]\n          },\n          \"video/x-sgi-movie\": {\n            source: \"apache\",\n            extensions: [\"movie\"]\n          },\n          \"video/x-smv\": {\n            source: \"apache\",\n            extensions: [\"smv\"]\n          },\n          \"x-conference/x-cooltalk\": {\n            source: \"apache\",\n            extensions: [\"ice\"]\n          },\n          \"x-shader/x-fragment\": {\n            compressible: true\n          },\n          \"x-shader/x-vertex\": {\n            compressible: true\n          }\n        };\n      }\n    });\n    var require_mime_db = __commonJS2({\n      \"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js\"(exports2, module2) {\n        module2.exports = require_db();\n      }\n    });\n    var main_exports = {};\n    __export2(main_exports, {\n      PreviewController: () => PreviewController2,\n      getExtension: () => getExtension,\n      joinFilepath: () => joinFilepath,\n      normalizeFilepath: () => normalizeFilepath\n    });\n    module.exports = __toCommonJS(main_exports);\n    var CHANNEL_NAME = \"$CSB_RELAY\";\n    var import_mime_db = __toESM2(require_mime_db());\n    var extensionMap = /* @__PURE__ */new Map();\n    var entries = Object.entries(import_mime_db.default);\n    for (const [mimetype, entry] of entries) {\n      const extensions = entry.extensions;\n      if (extensions === null || extensions === void 0 ? void 0 : extensions.length) {\n        for (const ext of extensions) {\n          extensionMap.set(ext, mimetype);\n        }\n      }\n    }\n    var EXTENSIONS_MAP = extensionMap;\n    var counter2 = 0;\n    function generateRandomId2() {\n      const now = Date.now();\n      const randomNumber = Math.round(Math.random() * 1e4);\n      const count = counter2 += 1;\n      return (+`${now}${randomNumber}${count}`).toString(16);\n    }\n    function normalizeFilepath(filepath) {\n      const split = filepath.split(\"/\").filter(Boolean);\n      const normalized = split.join(\"/\");\n      return \"/\" + normalized;\n    }\n    function joinFilepath(filepath, addition) {\n      return normalizeFilepath(filepath + \"/\" + addition);\n    }\n    function getExtension(filepath) {\n      const parts = filepath.split(\".\");\n      if (parts.length <= 1) {\n        return \"\";\n      } else {\n        const ext = parts[parts.length - 1];\n        return ext;\n      }\n    }\n    var PreviewController2 = class {\n      async getIndexAtPath(filepath) {\n        for (const index of this.indexFiles) {\n          try {\n            const content = await this.getFileContent(joinFilepath(filepath, index));\n            return content;\n          } catch (err) {}\n        }\n        throw new Error(\"No index file not found\");\n      }\n      async handleWorkerRequest(request) {\n        if (!this.initPromise) {\n          throw new Error(\"Init promise is null\");\n        }\n        const [previewRoot, port] = await this.initPromise;\n        try {\n          const filepath = normalizeFilepath(new URL(request.url, previewRoot).pathname);\n          let body = null;\n          const headers = {};\n          try {\n            body = await this.getFileContent(filepath);\n          } catch (err) {}\n          if (body == null) {\n            body = await this.getIndexAtPath(filepath);\n            headers[\"Content-Type\"] = \"text/html; charset=utf-8\";\n          }\n          if (body == null) {\n            throw new Error(\"File not found\");\n          }\n          if (!headers[\"Content-Type\"]) {\n            const extension = getExtension(filepath);\n            const foundMimetype = EXTENSIONS_MAP.get(extension);\n            if (foundMimetype) {\n              headers[\"Content-Type\"] = foundMimetype;\n            }\n          }\n          const responseMessage = {\n            $channel: CHANNEL_NAME,\n            $type: \"preview/response\",\n            id: request.id,\n            headers,\n            status: 200,\n            body\n          };\n          port.postMessage(responseMessage);\n        } catch (err1) {\n          const responseMessage1 = {\n            $channel: CHANNEL_NAME,\n            $type: \"preview/response\",\n            id: request.id,\n            headers: {\n              [\"Content-Type\"]: \"text/html; charset=utf-8\"\n            },\n            status: 404,\n            body: \"File not found\"\n          };\n          port.postMessage(responseMessage1);\n        }\n      }\n      getRelayUrl(previewUrl) {\n        const relayUrl = new URL(previewUrl);\n        relayUrl.pathname = \"/__csb_relay/\";\n        return relayUrl.toString();\n      }\n      async _initPreview() {\n        const id = generateRandomId2();\n        const previewUrl = new URL(this.baseUrl);\n        previewUrl.hostname = id + \"-\" + previewUrl.hostname;\n        previewUrl.pathname = \"/\";\n        const relayUrl = this.getRelayUrl(previewUrl.toString());\n        const iframe = document.createElement(\"iframe\");\n        iframe.setAttribute(\"src\", relayUrl.toString());\n        iframe.style.display = \"none\";\n        document.body.appendChild(iframe);\n        const channel = new MessageChannel();\n        const iframeContentWindow = iframe.contentWindow;\n        if (!iframeContentWindow) {\n          throw new Error(\"Could not get iframe contentWindow\");\n        }\n        return new Promise(resolve => {\n          const port = channel.port1;\n          port.onmessage = evt => {\n            if (typeof evt.data === \"object\" && evt.data.$channel === CHANNEL_NAME) {\n              switch (evt.data.$type) {\n                case \"preview/ready\":\n                  resolve([previewUrl.toString(), port, iframe]);\n                  break;\n                case \"preview/request\":\n                  this.handleWorkerRequest(evt.data);\n                  break;\n              }\n            }\n          };\n          iframe.onload = () => {\n            const initMsg = {\n              $channel: CHANNEL_NAME,\n              $type: \"preview/init\"\n            };\n            iframeContentWindow.postMessage(initMsg, \"*\", [channel.port2]);\n          };\n        });\n      } /**\n        * Initialize a preview and return the url at which the preview is being served\n        **/\n      initPreview() {\n        if (!this.initPromise) {\n          this.initPromise = this._initPreview();\n        }\n        return this.initPromise.then(v => v[0]);\n      }\n      destroy() {\n        if (this.initPromise) {\n          const p = this.initPromise;\n          p.then(val => {\n            val[1].close();\n            const url = this.getRelayUrl(val[0]);\n            const foundElements = document.body.querySelectorAll(`src=\"${url}\"`);\n            foundElements.forEach(el => el.remove());\n          });\n          this.initPromise = null;\n        }\n      }\n      constructor(options) {\n        this.initPromise = null;\n        this.baseUrl = new URL(options.baseUrl);\n        this.getFileContent = options.getFileContent;\n        var _indexFiles;\n        this.indexFiles = (_indexFiles = options.indexFiles) !== null && _indexFiles !== void 0 ? _indexFiles : [\"index.html\", \"index.html\"];\n      }\n    };\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/index-bd1ff004.mjs\nvar index_bd1ff004_exports = {};\n__export(index_bd1ff004_exports, {\n  SandpackStatic: () => SandpackStatic\n});\nvar import_static_browser_server, insertHtmlAfterRegex, readBuffer2, validateHtml, SandpackStatic;\nvar init_index_bd1ff004 = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/index-bd1ff004.mjs\"() {\n    init_types_36e5ec0d();\n    import_static_browser_server = __toESM(require_main(), 1);\n    init_base_80a1f760();\n    init_client_utils_7a723432();\n    init_lib();\n    init_dist();\n    insertHtmlAfterRegex = function (regex, content, insertable) {\n      var match = regex.exec(content);\n      if (match && match.length >= 1) {\n        var offset = match.index + match[0].length;\n        var prefix = content.substring(0, offset);\n        var suffix = content.substring(offset);\n        return prefix + insertable + suffix;\n      }\n    };\n    readBuffer2 = function (content) {\n      if (typeof content === \"string\") {\n        return content;\n      } else {\n        return new TextDecoder().decode(content);\n      }\n    };\n    validateHtml = function (content) {\n      var contentString = readBuffer2(content);\n      var domParser = new DOMParser();\n      var doc = domParser.parseFromString(contentString, \"text/html\");\n      if (!doc.documentElement.getAttribute(\"lang\")) {\n        doc.documentElement.setAttribute(\"lang\", \"en\");\n      }\n      var html = doc.documentElement.outerHTML;\n      return \"<!DOCTYPE html>\\n\" + html;\n    };\n    SandpackStatic = /** @class */function (_super) {\n      __extends(SandpackStatic2, _super);\n      function SandpackStatic2(selector, sandboxSetup, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        var _a2;\n        var _this = _super.call(this, selector, sandboxSetup, options) || this;\n        _this.files = /* @__PURE__ */new Map();\n        _this.status = \"initializing\";\n        _this.emitter = new EventEmitter();\n        _this.previewController = new import_static_browser_server.PreviewController({\n          baseUrl: (_a2 = options.bundlerURL) !== null && _a2 !== void 0 ? _a2 : \"https://preview.sandpack-static-server.codesandbox.io\",\n          // filepath is always normalized to start with / and not end with a slash\n          getFileContent: function (filepath) {\n            var content = _this.files.get(filepath);\n            if (!content) {\n              throw new Error(\"File not found\");\n            }\n            if (filepath.endsWith(\".html\") || filepath.endsWith(\".htm\")) {\n              try {\n                content = validateHtml(content);\n                content = _this.injectProtocolScript(content);\n                content = _this.injectExternalResources(content, options.externalResources);\n              } catch (err) {\n                console.error(\"Runtime injection failed\", err);\n              }\n            }\n            return content;\n          }\n        });\n        if (typeof selector === \"string\") {\n          _this.selector = selector;\n          var element = document.querySelector(selector);\n          _this.element = element;\n          _this.iframe = document.createElement(\"iframe\");\n        } else {\n          _this.element = selector;\n          _this.iframe = selector;\n        }\n        if (!_this.iframe.getAttribute(\"sandbox\")) {\n          _this.iframe.setAttribute(\"sandbox\", \"allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts\");\n          _this.iframe.setAttribute(\"allow\", \"accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;\");\n        }\n        _this.updateSandbox();\n        return _this;\n      }\n      SandpackStatic2.prototype.injectContentIntoHead = function (content, contentToInsert) {\n        var _a2;\n        content = readBuffer2(content);\n        content = (_a2 = insertHtmlAfterRegex(/<head[^<>]*>/g, content, \"\\n\" + contentToInsert)) !== null && _a2 !== void 0 ? _a2 : contentToInsert + \"\\n\" + content;\n        return content;\n      };\n      SandpackStatic2.prototype.injectProtocolScript = function (content) {\n        var scriptToInsert = '<script>\\n  window.addEventListener(\"message\", (message) => {\\n    if(message.data.type === \"refresh\") {\\n      window.location.reload();\\n    }\\n  })\\n</script>';\n        return this.injectContentIntoHead(content, scriptToInsert);\n      };\n      SandpackStatic2.prototype.injectExternalResources = function (content, externalResources) {\n        if (externalResources === void 0) {\n          externalResources = [];\n        }\n        var tagsToInsert = externalResources.map(function (resource) {\n          var match = resource.match(/\\.([^.]*)$/);\n          var fileType = match === null || match === void 0 ? void 0 : match[1];\n          if (fileType === \"css\" || resource.includes(\"fonts.googleapis\")) {\n            return '<link rel=\"stylesheet\" href=\"' + resource + '\">';\n          }\n          if (fileType === \"js\") {\n            return '<script src=\"' + resource + '\"></script>';\n          }\n          throw new Error(\"Unable to determine file type for external resource: \" + resource);\n        }).join(\"\\n\");\n        return this.injectContentIntoHead(content, tagsToInsert);\n      };\n      SandpackStatic2.prototype.updateSandbox = function (setup, _isInitializationCompile) {\n        if (setup === void 0) {\n          setup = this.sandboxSetup;\n        }\n        var modules = fromBundlerFilesToFS(setup.files);\n        this.dispatch({\n          codesandbox: true,\n          modules,\n          template: setup.template,\n          type: \"compile\"\n        });\n      };\n      SandpackStatic2.prototype.compile = function (files) {\n        return __awaiter(this, void 0, void 0, function () {\n          var previewUrl;\n          return __generator(this, function (_a2) {\n            switch (_a2.label) {\n              case 0:\n                this.files = new Map(Object.entries(files));\n                return [4, this.previewController.initPreview()];\n              case 1:\n                previewUrl = _a2.sent();\n                this.iframe.setAttribute(\"src\", previewUrl);\n                this.status = \"done\";\n                this.dispatch({\n                  type: \"done\",\n                  compilatonError: false\n                });\n                this.dispatch({\n                  type: \"urlchange\",\n                  url: previewUrl,\n                  back: false,\n                  forward: false\n                });\n                return [2];\n            }\n          });\n        });\n      };\n      SandpackStatic2.prototype.dispatch = function (message) {\n        var _a2;\n        switch (message.type) {\n          case \"compile\":\n            this.compile(message.modules);\n            break;\n          default:\n            (_a2 = this.iframe.contentWindow) === null || _a2 === void 0 ? void 0 : _a2.postMessage(message, \"*\");\n            this.emitter.dispatch(message);\n        }\n      };\n      SandpackStatic2.prototype.listen = function (listener) {\n        return this.emitter.listener(listener);\n      };\n      SandpackStatic2.prototype.destroy = function () {\n        this.emitter.cleanup();\n      };\n      return SandpackStatic2;\n    }(SandpackClient);\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/clients/runtime/index.mjs\nvar runtime_exports = {};\n__export(runtime_exports, {\n  SandpackRuntime: () => SandpackRuntime\n});\nfunction getTemplate(pkg, modules) {\n  if (!pkg) {\n    return \"static\";\n  }\n  var _a2 = pkg.dependencies,\n    dependencies = _a2 === void 0 ? {} : _a2,\n    _b = pkg.devDependencies,\n    devDependencies = _b === void 0 ? {} : _b;\n  var totalDependencies = __spreadArray(__spreadArray([], Object.keys(dependencies), true), Object.keys(devDependencies), true);\n  var moduleNames = Object.keys(modules);\n  var adonis = [\"@adonisjs/framework\", \"@adonisjs/core\"];\n  if (totalDependencies.some(function (dep) {\n    return adonis.indexOf(dep) > -1;\n  })) {\n    return \"adonis\";\n  }\n  var nuxt = [\"nuxt\", \"nuxt-edge\", \"nuxt-ts\", \"nuxt-ts-edge\", \"nuxt3\"];\n  if (totalDependencies.some(function (dep) {\n    return nuxt.indexOf(dep) > -1;\n  })) {\n    return \"nuxt\";\n  }\n  if (totalDependencies.indexOf(\"next\") > -1) {\n    return \"next\";\n  }\n  var apollo = [\"apollo-server\", \"apollo-server-express\", \"apollo-server-hapi\", \"apollo-server-koa\", \"apollo-server-lambda\", \"apollo-server-micro\"];\n  if (totalDependencies.some(function (dep) {\n    return apollo.indexOf(dep) > -1;\n  })) {\n    return \"apollo\";\n  }\n  if (totalDependencies.indexOf(\"mdx-deck\") > -1) {\n    return \"mdx-deck\";\n  }\n  if (totalDependencies.indexOf(\"gridsome\") > -1) {\n    return \"gridsome\";\n  }\n  if (totalDependencies.indexOf(\"vuepress\") > -1) {\n    return \"vuepress\";\n  }\n  if (totalDependencies.indexOf(\"ember-cli\") > -1) {\n    return \"ember\";\n  }\n  if (totalDependencies.indexOf(\"sapper\") > -1) {\n    return \"sapper\";\n  }\n  if (totalDependencies.indexOf(\"gatsby\") > -1) {\n    return \"gatsby\";\n  }\n  if (totalDependencies.indexOf(\"quasar\") > -1) {\n    return \"quasar\";\n  }\n  if (totalDependencies.indexOf(\"@docusaurus/core\") > -1) {\n    return \"docusaurus\";\n  }\n  if (totalDependencies.indexOf(\"remix\") > -1) {\n    return \"remix\";\n  }\n  if (totalDependencies.indexOf(\"astro\") > -1) {\n    return \"node\";\n  }\n  if (moduleNames.some(function (m) {\n    return m.endsWith(\".re\");\n  })) {\n    return \"reason\";\n  }\n  var parcel = [\"parcel-bundler\", \"parcel\"];\n  if (totalDependencies.some(function (dep) {\n    return parcel.indexOf(dep) > -1;\n  })) {\n    return \"parcel\";\n  }\n  var dojo = [\"@dojo/core\", \"@dojo/framework\"];\n  if (totalDependencies.some(function (dep) {\n    return dojo.indexOf(dep) > -1;\n  })) {\n    return \"@dojo/cli-create-app\";\n  }\n  if (totalDependencies.indexOf(\"@nestjs/core\") > -1 || totalDependencies.indexOf(\"@nestjs/common\") > -1) {\n    return \"nest\";\n  }\n  if (totalDependencies.indexOf(\"react-styleguidist\") > -1) {\n    return \"styleguidist\";\n  }\n  if (totalDependencies.indexOf(\"react-scripts\") > -1) {\n    return \"create-react-app\";\n  }\n  if (totalDependencies.indexOf(\"react-scripts-ts\") > -1) {\n    return \"create-react-app-typescript\";\n  }\n  if (totalDependencies.indexOf(\"@angular/core\") > -1) {\n    return \"angular-cli\";\n  }\n  if (totalDependencies.indexOf(\"preact-cli\") > -1) {\n    return \"preact-cli\";\n  }\n  if (totalDependencies.indexOf(\"@sveltech/routify\") > -1 || totalDependencies.indexOf(\"@roxi/routify\") > -1) {\n    return \"node\";\n  }\n  if (totalDependencies.indexOf(\"vite\") > -1) {\n    return \"node\";\n  }\n  if (totalDependencies.indexOf(\"@frontity/core\") > -1) {\n    return \"node\";\n  }\n  if (totalDependencies.indexOf(\"svelte\") > -1) {\n    return \"svelte\";\n  }\n  if (totalDependencies.indexOf(\"vue\") > -1) {\n    return \"vue-cli\";\n  }\n  if (totalDependencies.indexOf(\"cx\") > -1) {\n    return \"cxjs\";\n  }\n  var nodeDeps = [\"express\", \"koa\", \"nodemon\", \"ts-node\", \"@tensorflow/tfjs-node\", \"webpack-dev-server\", \"snowpack\"];\n  if (totalDependencies.some(function (dep) {\n    return nodeDeps.indexOf(dep) > -1;\n  })) {\n    return \"node\";\n  }\n  if (Object.keys(dependencies).length >= MAX_CLIENT_DEPENDENCY_COUNT) {\n    return \"node\";\n  }\n  return void 0;\n}\nvar Protocol, IFrameProtocol, MAX_CLIENT_DEPENDENCY_COUNT, _a, BUNDLER_URL, SandpackRuntime;\nvar init_runtime = __esm({\n  \"../../node_modules/@codesandbox/sandpack-client/dist/clients/runtime/index.mjs\"() {\n    init_types_36e5ec0d();\n    init_dist();\n    init_base_80a1f760();\n    init_lib();\n    Protocol = /** @class */function () {\n      function Protocol2(type, handleMessage, protocol) {\n        var _this = this;\n        this.type = type;\n        this.handleMessage = handleMessage;\n        this.protocol = protocol;\n        this._disposeMessageListener = this.protocol.channelListen(function (msg) {\n          return __awaiter(_this, void 0, void 0, function () {\n            var message, result, response, err_1, response;\n            return __generator(this, function (_a2) {\n              switch (_a2.label) {\n                case 0:\n                  if (!(msg.type === this.getTypeId() && msg.method)) return [3, 4];\n                  message = msg;\n                  _a2.label = 1;\n                case 1:\n                  _a2.trys.push([1, 3,, 4]);\n                  return [4, this.handleMessage(message)];\n                case 2:\n                  result = _a2.sent();\n                  response = {\n                    type: this.getTypeId(),\n                    msgId: message.msgId,\n                    result\n                  };\n                  this.protocol.dispatch(response);\n                  return [3, 4];\n                case 3:\n                  err_1 = _a2.sent();\n                  response = {\n                    type: this.getTypeId(),\n                    msgId: message.msgId,\n                    error: {\n                      message: err_1.message\n                    }\n                  };\n                  this.protocol.dispatch(response);\n                  return [3, 4];\n                case 4:\n                  return [2];\n              }\n            });\n          });\n        });\n      }\n      Protocol2.prototype.getTypeId = function () {\n        return \"protocol-\" + this.type;\n      };\n      Protocol2.prototype.dispose = function () {\n        this._disposeMessageListener();\n      };\n      return Protocol2;\n    }();\n    IFrameProtocol = /** @class */function () {\n      function IFrameProtocol2(iframe, origin) {\n        this.globalListeners = {};\n        this.globalListenersCount = 0;\n        this.channelListeners = {};\n        this.channelListenersCount = 0;\n        this.channelId = Math.floor(Math.random() * 1e6);\n        this.frameWindow = iframe.contentWindow;\n        this.origin = origin;\n        this.globalListeners = [];\n        this.channelListeners = [];\n        this.eventListener = this.eventListener.bind(this);\n        if (typeof window !== \"undefined\") {\n          window.addEventListener(\"message\", this.eventListener);\n        }\n      }\n      IFrameProtocol2.prototype.cleanup = function () {\n        window.removeEventListener(\"message\", this.eventListener);\n        this.globalListeners = {};\n        this.channelListeners = {};\n        this.globalListenersCount = 0;\n        this.channelListenersCount = 0;\n      };\n      IFrameProtocol2.prototype.register = function () {\n        if (!this.frameWindow) {\n          return;\n        }\n        this.frameWindow.postMessage({\n          type: \"register-frame\",\n          origin: document.location.origin,\n          id: this.channelId\n        }, this.origin);\n      };\n      IFrameProtocol2.prototype.dispatch = function (message) {\n        if (!this.frameWindow) {\n          return;\n        }\n        this.frameWindow.postMessage(__assign({\n          $id: this.channelId,\n          codesandbox: true\n        }, message), this.origin);\n      };\n      IFrameProtocol2.prototype.globalListen = function (listener) {\n        var _this = this;\n        if (typeof listener !== \"function\") {\n          return function () {\n            return;\n          };\n        }\n        var listenerId = this.globalListenersCount;\n        this.globalListeners[listenerId] = listener;\n        this.globalListenersCount++;\n        return function () {\n          delete _this.globalListeners[listenerId];\n        };\n      };\n      IFrameProtocol2.prototype.channelListen = function (listener) {\n        var _this = this;\n        if (typeof listener !== \"function\") {\n          return function () {\n            return;\n          };\n        }\n        var listenerId = this.channelListenersCount;\n        this.channelListeners[listenerId] = listener;\n        this.channelListenersCount++;\n        return function () {\n          delete _this.channelListeners[listenerId];\n        };\n      };\n      IFrameProtocol2.prototype.eventListener = function (evt) {\n        if (evt.source !== this.frameWindow) {\n          return;\n        }\n        var message = evt.data;\n        if (!message.codesandbox) {\n          return;\n        }\n        Object.values(this.globalListeners).forEach(function (listener) {\n          return listener(message);\n        });\n        if (message.$id !== this.channelId) {\n          return;\n        }\n        Object.values(this.channelListeners).forEach(function (listener) {\n          return listener(message);\n        });\n      };\n      return IFrameProtocol2;\n    }();\n    MAX_CLIENT_DEPENDENCY_COUNT = 50;\n    BUNDLER_URL = \"https://\" + ((_a = \"2.6.7\") === null || _a === void 0 ? void 0 : _a.replace(/\\./g, \"-\")) + \"-sandpack.codesandbox.io/\";\n    SandpackRuntime = /** @class */function (_super) {\n      __extends(SandpackRuntime2, _super);\n      function SandpackRuntime2(selector, sandboxSetup, options) {\n        if (options === void 0) {\n          options = {};\n        }\n        var _this = _super.call(this, selector, sandboxSetup, options) || this;\n        _this.getTranspilerContext = function () {\n          return new Promise(function (resolve) {\n            var unsubscribe = _this.listen(function (message) {\n              if (message.type === \"transpiler-context\") {\n                resolve(message.data);\n                unsubscribe();\n              }\n            });\n            _this.dispatch({\n              type: \"get-transpiler-context\"\n            });\n          });\n        };\n        _this.bundlerURL = options.bundlerURL || BUNDLER_URL;\n        if (options.teamId) {\n          _this.bundlerURL = _this.bundlerURL.replace(\"https://\", \"https://\" + options.teamId + \"-\") + (\"?cache=\" + Date.now());\n        }\n        _this.bundlerState = void 0;\n        _this.errors = [];\n        _this.status = \"initializing\";\n        if (typeof selector === \"string\") {\n          _this.selector = selector;\n          var element = document.querySelector(selector);\n          nullthrows(element, \"The element '\" + selector + \"' was not found\");\n          _this.element = element;\n          _this.iframe = document.createElement(\"iframe\");\n          _this.initializeElement();\n        } else {\n          _this.element = selector;\n          _this.iframe = selector;\n        }\n        if (!_this.iframe.getAttribute(\"sandbox\")) {\n          _this.iframe.setAttribute(\"sandbox\", \"allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts\");\n          _this.iframe.setAttribute(\"allow\", \"accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;\");\n        }\n        _this.setLocationURLIntoIFrame();\n        _this.iframeProtocol = new IFrameProtocol(_this.iframe, _this.bundlerURL);\n        _this.unsubscribeGlobalListener = _this.iframeProtocol.globalListen(function (mes) {\n          if (mes.type !== \"initialized\" || !_this.iframe.contentWindow) {\n            return;\n          }\n          _this.iframeProtocol.register();\n          if (_this.options.fileResolver) {\n            _this.fileResolverProtocol = new Protocol(\"fs\", function (data) {\n              return __awaiter(_this, void 0, void 0, function () {\n                return __generator(this, function (_a2) {\n                  if (data.method === \"isFile\") {\n                    return [2, this.options.fileResolver.isFile(data.params[0])];\n                  } else if (data.method === \"readFile\") {\n                    return [2, this.options.fileResolver.readFile(data.params[0])];\n                  } else {\n                    throw new Error(\"Method not supported\");\n                  }\n                });\n              });\n            }, _this.iframeProtocol);\n          }\n          _this.updateSandbox(_this.sandboxSetup, true);\n        });\n        _this.unsubscribeChannelListener = _this.iframeProtocol.channelListen(function (mes) {\n          switch (mes.type) {\n            case \"start\":\n              {\n                _this.errors = [];\n                break;\n              }\n            case \"status\":\n              {\n                _this.status = mes.status;\n                break;\n              }\n            case \"action\":\n              {\n                if (mes.action === \"show-error\") {\n                  _this.errors = __spreadArray(__spreadArray([], _this.errors, true), [extractErrorDetails(mes)], false);\n                }\n                break;\n              }\n            case \"done\":\n              {\n                _this.status = \"done\";\n                break;\n              }\n            case \"state\":\n              {\n                _this.bundlerState = mes.state;\n                break;\n              }\n          }\n        });\n        return _this;\n      }\n      SandpackRuntime2.prototype.setLocationURLIntoIFrame = function () {\n        var _a2;\n        var urlSource = this.options.startRoute ? new URL(this.options.startRoute, this.bundlerURL).toString() : this.bundlerURL;\n        (_a2 = this.iframe.contentWindow) === null || _a2 === void 0 ? void 0 : _a2.location.replace(urlSource);\n        this.iframe.src = urlSource;\n      };\n      SandpackRuntime2.prototype.destroy = function () {\n        this.unsubscribeChannelListener();\n        this.unsubscribeGlobalListener();\n        this.iframeProtocol.cleanup();\n      };\n      SandpackRuntime2.prototype.updateOptions = function (options) {\n        if (!dequal(this.options, options)) {\n          this.options = options;\n          this.updateSandbox();\n        }\n      };\n      SandpackRuntime2.prototype.updateSandbox = function (sandboxSetup, isInitializationCompile) {\n        var _a2, _b, _c, _d;\n        if (sandboxSetup === void 0) {\n          sandboxSetup = this.sandboxSetup;\n        }\n        this.sandboxSetup = __assign(__assign({}, this.sandboxSetup), sandboxSetup);\n        var files = this.getFiles();\n        var modules = Object.keys(files).reduce(function (prev, next) {\n          var _a3;\n          return __assign(__assign({}, prev), (_a3 = {}, _a3[next] = {\n            code: files[next].code,\n            path: next\n          }, _a3));\n        }, {});\n        var packageJSON = JSON.parse(createPackageJSON(this.sandboxSetup.dependencies, this.sandboxSetup.devDependencies, this.sandboxSetup.entry));\n        try {\n          packageJSON = JSON.parse(files[\"/package.json\"].code);\n        } catch (e) {\n          console.error(createError(\"could not parse package.json file: \" + e.message));\n        }\n        var normalizedModules = Object.keys(files).reduce(function (prev, next) {\n          var _a3;\n          return __assign(__assign({}, prev), (_a3 = {}, _a3[next] = {\n            content: files[next].code,\n            path: next\n          }, _a3));\n        }, {});\n        this.dispatch({\n          type: \"compile\",\n          codesandbox: true,\n          version: 3,\n          isInitializationCompile,\n          modules,\n          reactDevTools: this.options.reactDevTools,\n          externalResources: this.options.externalResources || [],\n          hasFileResolver: Boolean(this.options.fileResolver),\n          disableDependencyPreprocessing: this.sandboxSetup.disableDependencyPreprocessing,\n          template: this.sandboxSetup.template || getTemplate(packageJSON, normalizedModules),\n          showOpenInCodeSandbox: (_a2 = this.options.showOpenInCodeSandbox) !== null && _a2 !== void 0 ? _a2 : true,\n          showErrorScreen: (_b = this.options.showErrorScreen) !== null && _b !== void 0 ? _b : true,\n          showLoadingScreen: (_c = this.options.showLoadingScreen) !== null && _c !== void 0 ? _c : false,\n          skipEval: this.options.skipEval || false,\n          clearConsoleDisabled: !this.options.clearConsoleOnFirstCompile,\n          logLevel: (_d = this.options.logLevel) !== null && _d !== void 0 ? _d : SandpackLogLevel.Info,\n          customNpmRegistries: this.options.customNpmRegistries,\n          teamId: this.options.teamId\n        });\n      };\n      SandpackRuntime2.prototype.dispatch = function (message) {\n        if (message.type === \"refresh\") {\n          this.setLocationURLIntoIFrame();\n        }\n        this.iframeProtocol.dispatch(message);\n      };\n      SandpackRuntime2.prototype.listen = function (listener) {\n        return this.iframeProtocol.channelListen(listener);\n      };\n      SandpackRuntime2.prototype.getCodeSandboxURL = function () {\n        var files = this.getFiles();\n        var paramFiles = Object.keys(files).reduce(function (prev, next) {\n          var _a2;\n          return __assign(__assign({}, prev), (_a2 = {}, _a2[next.replace(\"/\", \"\")] = {\n            content: files[next].code,\n            isBinary: false\n          }, _a2));\n        }, {});\n        return fetch(\"https://codesandbox.io/api/v1/sandboxes/define?json=1\", {\n          method: \"POST\",\n          body: JSON.stringify({\n            files: paramFiles\n          }),\n          headers: {\n            Accept: \"application/json\",\n            \"Content-Type\": \"application/json\"\n          }\n        }).then(function (x) {\n          return x.json();\n        }).then(function (res) {\n          return {\n            sandboxId: res.sandbox_id,\n            editorUrl: \"https://codesandbox.io/s/\" + res.sandbox_id,\n            embedUrl: \"https://codesandbox.io/embed/\" + res.sandbox_id\n          };\n        });\n      };\n      SandpackRuntime2.prototype.getFiles = function () {\n        var sandboxSetup = this.sandboxSetup;\n        if (sandboxSetup.files[\"/package.json\"] === void 0) {\n          return addPackageJSONIfNeeded(sandboxSetup.files, sandboxSetup.dependencies, sandboxSetup.devDependencies, sandboxSetup.entry);\n        }\n        return this.sandboxSetup.files;\n      };\n      SandpackRuntime2.prototype.initializeElement = function () {\n        this.iframe.style.border = \"0\";\n        this.iframe.style.width = this.options.width || \"100%\";\n        this.iframe.style.height = this.options.height || \"100%\";\n        this.iframe.style.overflow = \"hidden\";\n        nullthrows(this.element.parentNode, \"The given iframe does not have a parent.\");\n        this.element.parentNode.replaceChild(this.iframe, this.element);\n      };\n      return SandpackRuntime2;\n    }(SandpackClient);\n  }\n}); // ../../node_modules/@codesandbox/sandpack-client/dist/index.mjs\ninit_types_36e5ec0d();\ninit_types_36e5ec0d();\ninit_lib();\nfunction loadSandpackClient(iframeSelector, sandboxSetup, options) {\n  var _a2;\n  if (options === void 0) {\n    options = {};\n  }\n  return __awaiter(this, void 0, void 0, function () {\n    var template, Client, _b;\n    return __generator(this, function (_c) {\n      switch (_c.label) {\n        case 0:\n          template = (_a2 = sandboxSetup.template) !== null && _a2 !== void 0 ? _a2 : \"parcel\";\n          _b = template;\n          switch (_b) {\n            case \"node\":\n              return [3, 1];\n            case \"static\":\n              return [3, 3];\n          }\n          return [3, 5];\n        case 1:\n          return [4, Promise.resolve().then(() => (init_node(), node_exports)).then(function (m) {\n            return m.SandpackNode;\n          })];\n        case 2:\n          Client = _c.sent();\n          return [3, 7];\n        case 3:\n          return [4, Promise.resolve().then(() => (init_index_bd1ff004(), index_bd1ff004_exports)).then(function (m) {\n            return m.SandpackStatic;\n          })];\n        case 4:\n          Client = _c.sent();\n          return [3, 7];\n        case 5:\n          return [4, Promise.resolve().then(() => (init_runtime(), runtime_exports)).then(function (m) {\n            return m.SandpackRuntime;\n          })];\n        case 6:\n          Client = _c.sent();\n          _c.label = 7;\n        case 7:\n          return [2, new Client(iframeSelector, sandboxSetup, options)];\n      }\n    });\n  });\n}\nexport { SandpackLogLevel, addPackageJSONIfNeeded, createError, createPackageJSON, extractErrorDetails, loadSandpackClient, normalizePath, nullthrows }; /*! Bundled license information:\n                                                                                                                                                         static-browser-server/out/lib/main.js:\n                                                                                                                                                         (*! Bundled license information:\n                                                                                                                                                         mime-db/index.js:\n                                                                                                                                                         (*!\n                                                                                                                                                         * mime-db\n                                                                                                                                                         * Copyright(c) 2014 Jonathan Ong\n                                                                                                                                                         * Copyright(c) 2015-2022 Douglas Christopher Wilson\n                                                                                                                                                         * MIT Licensed\n                                                                                                                                                         *)\n                                                                                                                                                         *)\n                                                                                                                                                         */\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"loadSandpackClient\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"addPackageJSONIfNeeded\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"normalizePath\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"createPackageJSON\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"nullthrows\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"createError\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"extractErrorDetails\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackLogLevel\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */ // ../../node_modules/@codemirror/commands/dist/index.js\nimport { Annotation, Facet, combineConfig, StateField, EditorSelection, Transaction, ChangeSet, ChangeDesc, StateEffect, Text, findClusterBreak, countColumn, CharCategory } from \"https://framerusercontent.com/modules/wFkXxZqfKOPeEQtsYrsa/Xcw7qvncyogRPQtf9aNn/codemirror_state.js\";\nimport { EditorView, Direction } from \"https://framerusercontent.com/modules/wKCR2JyUW8wZdYweJrou/EndxaPZLF2o4GndkIvF9/codemirror_view.js\";\nimport { IndentContext, getIndentation, indentString, matchBrackets, syntaxTree, getIndentUnit, indentUnit } from \"https://framerusercontent.com/modules/aJsTBlWNkIaM900KNIXT/TeoF57xeGMuVMjiI2ooR/codemirror_language.js\";\nimport { NodeProp } from \"https://framerusercontent.com/modules/CO9ruPlVDRTCLVInyri7/dIK6ma4pzS0qSHWtJ4s1/lezer_common.js\";\nvar toggleComment = target => {\n  let {\n      state\n    } = target,\n    line = state.doc.lineAt(state.selection.main.from),\n    config = getConfig(target.state, line.from);\n  return config.line ? toggleLineComment(target) : config.block ? toggleBlockCommentByLine(target) : false;\n};\nfunction command(f, option) {\n  return ({\n    state,\n    dispatch\n  }) => {\n    if (state.readOnly) return false;\n    let tr = f(option, state);\n    if (!tr) return false;\n    dispatch(state.update(tr));\n    return true;\n  };\n}\nvar toggleLineComment = /* @__PURE__ */command(changeLineComment, 0);\nvar lineComment = /* @__PURE__ */command(changeLineComment, 1);\nvar lineUncomment = /* @__PURE__ */command(changeLineComment, 2);\nvar toggleBlockComment = /* @__PURE__ */command(changeBlockComment, 0);\nvar blockComment = /* @__PURE__ */command(changeBlockComment, 1);\nvar blockUncomment = /* @__PURE__ */command(changeBlockComment, 2);\nvar toggleBlockCommentByLine = /* @__PURE__ */command((o, s) => changeBlockComment(o, s, selectedLineRanges(s)), 0);\nfunction getConfig(state, pos) {\n  let data = state.languageDataAt(\"commentTokens\", pos);\n  return data.length ? data[0] : {};\n}\nvar SearchMargin = 50;\nfunction findBlockComment(state, {\n  open,\n  close\n}, from, to) {\n  let textBefore = state.sliceDoc(from - SearchMargin, from);\n  let textAfter = state.sliceDoc(to, to + SearchMargin);\n  let spaceBefore = /\\s*$/.exec(textBefore)[0].length,\n    spaceAfter = /^\\s*/.exec(textAfter)[0].length;\n  let beforeOff = textBefore.length - spaceBefore;\n  if (textBefore.slice(beforeOff - open.length, beforeOff) == open && textAfter.slice(spaceAfter, spaceAfter + close.length) == close) {\n    return {\n      open: {\n        pos: from - spaceBefore,\n        margin: spaceBefore && 1\n      },\n      close: {\n        pos: to + spaceAfter,\n        margin: spaceAfter && 1\n      }\n    };\n  }\n  let startText, endText;\n  if (to - from <= 2 * SearchMargin) {\n    startText = endText = state.sliceDoc(from, to);\n  } else {\n    startText = state.sliceDoc(from, from + SearchMargin);\n    endText = state.sliceDoc(to - SearchMargin, to);\n  }\n  let startSpace = /^\\s*/.exec(startText)[0].length,\n    endSpace = /\\s*$/.exec(endText)[0].length;\n  let endOff = endText.length - endSpace - close.length;\n  if (startText.slice(startSpace, startSpace + open.length) == open && endText.slice(endOff, endOff + close.length) == close) {\n    return {\n      open: {\n        pos: from + startSpace + open.length,\n        margin: /\\s/.test(startText.charAt(startSpace + open.length)) ? 1 : 0\n      },\n      close: {\n        pos: to - endSpace - close.length,\n        margin: /\\s/.test(endText.charAt(endOff - 1)) ? 1 : 0\n      }\n    };\n  }\n  return null;\n}\nfunction selectedLineRanges(state) {\n  let ranges = [];\n  for (let r of state.selection.ranges) {\n    let fromLine = state.doc.lineAt(r.from);\n    let toLine = r.to <= fromLine.to ? fromLine : state.doc.lineAt(r.to);\n    let last = ranges.length - 1;\n    if (last >= 0 && ranges[last].to > fromLine.from) ranges[last].to = toLine.to;else ranges.push({\n      from: fromLine.from + /^\\s*/.exec(fromLine.text)[0].length,\n      to: toLine.to\n    });\n  }\n  return ranges;\n}\nfunction changeBlockComment(option, state, ranges = state.selection.ranges) {\n  let tokens = ranges.map(r => getConfig(state, r.from).block);\n  if (!tokens.every(c => c)) return null;\n  let comments = ranges.map((r, i) => findBlockComment(state, tokens[i], r.from, r.to));\n  if (option != 2 && !comments.every(c => c)) {\n    return {\n      changes: state.changes(ranges.map((range, i) => {\n        if (comments[i]) return [];\n        return [{\n          from: range.from,\n          insert: tokens[i].open + \" \"\n        }, {\n          from: range.to,\n          insert: \" \" + tokens[i].close\n        }];\n      }))\n    };\n  } else if (option != 1 && comments.some(c => c)) {\n    let changes = [];\n    for (let i = 0, comment; i < comments.length; i++) if (comment = comments[i]) {\n      let token = tokens[i],\n        {\n          open,\n          close\n        } = comment;\n      changes.push({\n        from: open.pos - token.open.length,\n        to: open.pos + open.margin\n      }, {\n        from: close.pos - close.margin,\n        to: close.pos + token.close.length\n      });\n    }\n    return {\n      changes\n    };\n  }\n  return null;\n}\nfunction changeLineComment(option, state, ranges = state.selection.ranges) {\n  let lines = [];\n  let prevLine = -1;\n  for (let {\n    from,\n    to\n  } of ranges) {\n    let startI = lines.length,\n      minIndent = 1e9;\n    let token = getConfig(state, from).line;\n    if (!token) continue;\n    for (let pos = from; pos <= to;) {\n      let line = state.doc.lineAt(pos);\n      if (line.from > prevLine && (from == to || to > line.from)) {\n        prevLine = line.from;\n        let indent = /^\\s*/.exec(line.text)[0].length;\n        let empty = indent == line.length;\n        let comment = line.text.slice(indent, indent + token.length) == token ? indent : -1;\n        if (indent < line.text.length && indent < minIndent) minIndent = indent;\n        lines.push({\n          line,\n          comment,\n          token,\n          indent,\n          empty,\n          single: false\n        });\n      }\n      pos = line.to + 1;\n    }\n    if (minIndent < 1e9) {\n      for (let i = startI; i < lines.length; i++) if (lines[i].indent < lines[i].line.text.length) lines[i].indent = minIndent;\n    }\n    if (lines.length == startI + 1) lines[startI].single = true;\n  }\n  if (option != 2 && lines.some(l => l.comment < 0 && (!l.empty || l.single))) {\n    let changes = [];\n    for (let {\n      line: line1,\n      token: token1,\n      indent: indent1,\n      empty: empty1,\n      single\n    } of lines) if (single || !empty1) changes.push({\n      from: line1.from + indent1,\n      insert: token1 + \" \"\n    });\n    let changeSet = state.changes(changes);\n    return {\n      changes: changeSet,\n      selection: state.selection.map(changeSet, 1)\n    };\n  } else if (option != 1 && lines.some(l => l.comment >= 0)) {\n    let changes1 = [];\n    for (let {\n      line: line2,\n      comment: comment1,\n      token: token2\n    } of lines) if (comment1 >= 0) {\n      let from1 = line2.from + comment1,\n        to1 = from1 + token2.length;\n      if (line2.text[to1 - line2.from] == \" \") to1++;\n      changes1.push({\n        from: from1,\n        to: to1\n      });\n    }\n    return {\n      changes: changes1\n    };\n  }\n  return null;\n}\nvar fromHistory = /* @__PURE__ */Annotation.define();\nvar isolateHistory = /* @__PURE__ */Annotation.define();\nvar invertedEffects = /* @__PURE__ */Facet.define();\nvar historyConfig = /* @__PURE__ */Facet.define({\n  combine(configs) {\n    return combineConfig(configs, {\n      minDepth: 100,\n      newGroupDelay: 500,\n      joinToEvent: (_t, isAdjacent2) => isAdjacent2\n    }, {\n      minDepth: Math.max,\n      newGroupDelay: Math.min,\n      joinToEvent: (a, b) => (tr, adj) => a(tr, adj) || b(tr, adj)\n    });\n  }\n});\nfunction changeEnd(changes) {\n  let end = 0;\n  changes.iterChangedRanges((_, to) => end = to);\n  return end;\n}\nvar historyField_ = /* @__PURE__ */StateField.define({\n  create() {\n    return HistoryState.empty;\n  },\n  update(state, tr) {\n    let config = tr.state.facet(historyConfig);\n    let fromHist = tr.annotation(fromHistory);\n    if (fromHist) {\n      let selection = tr.docChanged ? EditorSelection.single(changeEnd(tr.changes)) : void 0;\n      let item = HistEvent.fromTransaction(tr, selection),\n        from = fromHist.side;\n      let other = from == 0 ? state.undone : state.done;\n      if (item) other = updateBranch(other, other.length, config.minDepth, item);else other = addSelection(other, tr.startState.selection);\n      return new HistoryState(from == 0 ? fromHist.rest : other, from == 0 ? other : fromHist.rest);\n    }\n    let isolate = tr.annotation(isolateHistory);\n    if (isolate == \"full\" || isolate == \"before\") state = state.isolate();\n    if (tr.annotation(Transaction.addToHistory) === false) return !tr.changes.empty ? state.addMapping(tr.changes.desc) : state;\n    let event = HistEvent.fromTransaction(tr);\n    let time = tr.annotation(Transaction.time),\n      userEvent = tr.annotation(Transaction.userEvent);\n    if (event) state = state.addChanges(event, time, userEvent, config, tr);else if (tr.selection) state = state.addSelection(tr.startState.selection, time, userEvent, config.newGroupDelay);\n    if (isolate == \"full\" || isolate == \"after\") state = state.isolate();\n    return state;\n  },\n  toJSON(value) {\n    return {\n      done: value.done.map(e => e.toJSON()),\n      undone: value.undone.map(e => e.toJSON())\n    };\n  },\n  fromJSON(json) {\n    return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON));\n  }\n});\nfunction history(config = {}) {\n  return [historyField_, historyConfig.of(config), EditorView.domEventHandlers({\n    beforeinput(e, view) {\n      let command2 = e.inputType == \"historyUndo\" ? undo : e.inputType == \"historyRedo\" ? redo : null;\n      if (!command2) return false;\n      e.preventDefault();\n      return command2(view);\n    }\n  })];\n}\nvar historyField = historyField_;\nfunction cmd(side, selection) {\n  return function ({\n    state,\n    dispatch\n  }) {\n    if (!selection && state.readOnly) return false;\n    let historyState = state.field(historyField_, false);\n    if (!historyState) return false;\n    let tr = historyState.pop(side, state, selection);\n    if (!tr) return false;\n    dispatch(tr);\n    return true;\n  };\n}\nvar undo = /* @__PURE__ */cmd(0, false);\nvar redo = /* @__PURE__ */cmd(1, false);\nvar undoSelection = /* @__PURE__ */cmd(0, true);\nvar redoSelection = /* @__PURE__ */cmd(1, true);\nfunction depth(side) {\n  return function (state) {\n    let histState = state.field(historyField_, false);\n    if (!histState) return 0;\n    let branch = side == 0 ? histState.done : histState.undone;\n    return branch.length - (branch.length && !branch[0].changes ? 1 : 0);\n  };\n}\nvar undoDepth = /* @__PURE__ */depth(0);\nvar redoDepth = /* @__PURE__ */depth(1);\nvar HistEvent = class {\n  setSelAfter(after) {\n    return new HistEvent(this.changes, this.effects, this.mapped, this.startSelection, after);\n  }\n  toJSON() {\n    var _a, _b, _c;\n    return {\n      changes: (_a = this.changes) === null || _a === void 0 ? void 0 : _a.toJSON(),\n      mapped: (_b = this.mapped) === null || _b === void 0 ? void 0 : _b.toJSON(),\n      startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(),\n      selectionsAfter: this.selectionsAfter.map(s => s.toJSON())\n    };\n  }\n  static fromJSON(json) {\n    return new HistEvent(json.changes && ChangeSet.fromJSON(json.changes), [], json.mapped && ChangeDesc.fromJSON(json.mapped), json.startSelection && EditorSelection.fromJSON(json.startSelection), json.selectionsAfter.map(EditorSelection.fromJSON));\n  } // This does not check `addToHistory` and such, it assumes the\n  // transaction needs to be converted to an item. Returns null when\n  // there are no changes or effects in the transaction.\n  static fromTransaction(tr, selection) {\n    let effects = none;\n    for (let invert of tr.startState.facet(invertedEffects)) {\n      let result = invert(tr);\n      if (result.length) effects = effects.concat(result);\n    }\n    if (!effects.length && tr.changes.empty) return null;\n    return new HistEvent(tr.changes.invert(tr.startState.doc), effects, void 0, selection || tr.startState.selection, none);\n  }\n  static selection(selections) {\n    return new HistEvent(void 0, none, void 0, void 0, selections);\n  }\n  constructor(changes, effects, mapped, startSelection, selectionsAfter) {\n    this.changes = changes;\n    this.effects = effects;\n    this.mapped = mapped;\n    this.startSelection = startSelection;\n    this.selectionsAfter = selectionsAfter;\n  }\n};\nfunction updateBranch(branch, to, maxLen, newEvent) {\n  let start = to + 1 > maxLen + 20 ? to - maxLen - 1 : 0;\n  let newBranch = branch.slice(start, to);\n  newBranch.push(newEvent);\n  return newBranch;\n}\nfunction isAdjacent(a, b) {\n  let ranges = [],\n    isAdjacent2 = false;\n  a.iterChangedRanges((f, t) => ranges.push(f, t));\n  b.iterChangedRanges((_f, _t, f, t) => {\n    for (let i = 0; i < ranges.length;) {\n      let from = ranges[i++],\n        to = ranges[i++];\n      if (t >= from && f <= to) isAdjacent2 = true;\n    }\n  });\n  return isAdjacent2;\n}\nfunction eqSelectionShape(a, b) {\n  return a.ranges.length == b.ranges.length && a.ranges.filter((r, i) => r.empty != b.ranges[i].empty).length === 0;\n}\nfunction conc(a, b) {\n  return !a.length ? b : !b.length ? a : a.concat(b);\n}\nvar none = [];\nvar MaxSelectionsPerEvent = 200;\nfunction addSelection(branch, selection) {\n  if (!branch.length) {\n    return [HistEvent.selection([selection])];\n  } else {\n    let lastEvent = branch[branch.length - 1];\n    let sels = lastEvent.selectionsAfter.slice(Math.max(0, lastEvent.selectionsAfter.length - MaxSelectionsPerEvent));\n    if (sels.length && sels[sels.length - 1].eq(selection)) return branch;\n    sels.push(selection);\n    return updateBranch(branch, branch.length - 1, 1e9, lastEvent.setSelAfter(sels));\n  }\n}\nfunction popSelection(branch) {\n  let last = branch[branch.length - 1];\n  let newBranch = branch.slice();\n  newBranch[branch.length - 1] = last.setSelAfter(last.selectionsAfter.slice(0, last.selectionsAfter.length - 1));\n  return newBranch;\n}\nfunction addMappingToBranch(branch, mapping) {\n  if (!branch.length) return branch;\n  let length = branch.length,\n    selections = none;\n  while (length) {\n    let event = mapEvent(branch[length - 1], mapping, selections);\n    if (event.changes && !event.changes.empty || event.effects.length) {\n      let result = branch.slice(0, length);\n      result[length - 1] = event;\n      return result;\n    } else {\n      mapping = event.mapped;\n      length--;\n      selections = event.selectionsAfter;\n    }\n  }\n  return selections.length ? [HistEvent.selection(selections)] : none;\n}\nfunction mapEvent(event, mapping, extraSelections) {\n  let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map(s => s.map(mapping)) : none, extraSelections);\n  if (!event.changes) return HistEvent.selection(selections);\n  let mappedChanges = event.changes.map(mapping),\n    before = mapping.mapDesc(event.changes, true);\n  let fullMapping = event.mapped ? event.mapped.composeDesc(before) : before;\n  return new HistEvent(mappedChanges, StateEffect.mapEffects(event.effects, mapping), fullMapping, event.startSelection.map(before), selections);\n}\nvar joinableUserEvent = /^(input\\.type|delete)($|\\.)/;\nvar HistoryState = class {\n  isolate() {\n    return this.prevTime ? new HistoryState(this.done, this.undone) : this;\n  }\n  addChanges(event, time, userEvent, config, tr) {\n    let done = this.done,\n      lastEvent = done[done.length - 1];\n    if (lastEvent && lastEvent.changes && !lastEvent.changes.empty && event.changes && (!userEvent || joinableUserEvent.test(userEvent)) && (!lastEvent.selectionsAfter.length && time - this.prevTime < config.newGroupDelay && config.joinToEvent(tr, isAdjacent(lastEvent.changes, event.changes)) || userEvent == \"input.type.compose\")) {\n      done = updateBranch(done, done.length - 1, config.minDepth, new HistEvent(event.changes.compose(lastEvent.changes), conc(event.effects, lastEvent.effects), lastEvent.mapped, lastEvent.startSelection, none));\n    } else {\n      done = updateBranch(done, done.length, config.minDepth, event);\n    }\n    return new HistoryState(done, none, time, userEvent);\n  }\n  addSelection(selection, time, userEvent, newGroupDelay) {\n    let last = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;\n    if (last.length > 0 && time - this.prevTime < newGroupDelay && userEvent == this.prevUserEvent && userEvent && /^select($|\\.)/.test(userEvent) && eqSelectionShape(last[last.length - 1], selection)) return this;\n    return new HistoryState(addSelection(this.done, selection), this.undone, time, userEvent);\n  }\n  addMapping(mapping) {\n    return new HistoryState(addMappingToBranch(this.done, mapping), addMappingToBranch(this.undone, mapping), this.prevTime, this.prevUserEvent);\n  }\n  pop(side, state, selection) {\n    let branch = side == 0 ? this.done : this.undone;\n    if (branch.length == 0) return null;\n    let event = branch[branch.length - 1];\n    if (selection && event.selectionsAfter.length) {\n      return state.update({\n        selection: event.selectionsAfter[event.selectionsAfter.length - 1],\n        annotations: fromHistory.of({\n          side,\n          rest: popSelection(branch)\n        }),\n        userEvent: side == 0 ? \"select.undo\" : \"select.redo\",\n        scrollIntoView: true\n      });\n    } else if (!event.changes) {\n      return null;\n    } else {\n      let rest = branch.length == 1 ? none : branch.slice(0, branch.length - 1);\n      if (event.mapped) rest = addMappingToBranch(rest, event.mapped);\n      return state.update({\n        changes: event.changes,\n        selection: event.startSelection,\n        effects: event.effects,\n        annotations: fromHistory.of({\n          side,\n          rest\n        }),\n        filter: false,\n        userEvent: side == 0 ? \"undo\" : \"redo\",\n        scrollIntoView: true\n      });\n    }\n  }\n  constructor(done, undone, prevTime = 0, prevUserEvent = void 0) {\n    this.done = done;\n    this.undone = undone;\n    this.prevTime = prevTime;\n    this.prevUserEvent = prevUserEvent;\n  }\n};\nHistoryState.empty = /* @__PURE__ */new HistoryState(none, none);\nvar historyKeymap = [{\n  key: \"Mod-z\",\n  run: undo,\n  preventDefault: true\n}, {\n  key: \"Mod-y\",\n  mac: \"Mod-Shift-z\",\n  run: redo,\n  preventDefault: true\n}, {\n  linux: \"Ctrl-Shift-z\",\n  run: redo,\n  preventDefault: true\n}, {\n  key: \"Mod-u\",\n  run: undoSelection,\n  preventDefault: true\n}, {\n  key: \"Alt-u\",\n  mac: \"Mod-Shift-u\",\n  run: redoSelection,\n  preventDefault: true\n}];\nfunction updateSel(sel, by) {\n  return EditorSelection.create(sel.ranges.map(by), sel.mainIndex);\n}\nfunction setSel(state, selection) {\n  return state.update({\n    selection,\n    scrollIntoView: true,\n    userEvent: \"select\"\n  });\n}\nfunction moveSel({\n  state,\n  dispatch\n}, how) {\n  let selection = updateSel(state.selection, how);\n  if (selection.eq(state.selection)) return false;\n  dispatch(setSel(state, selection));\n  return true;\n}\nfunction rangeEnd(range, forward) {\n  return EditorSelection.cursor(forward ? range.to : range.from);\n}\nfunction cursorByChar(view, forward) {\n  return moveSel(view, range => range.empty ? view.moveByChar(range, forward) : rangeEnd(range, forward));\n}\nfunction ltrAtCursor(view) {\n  return view.textDirectionAt(view.state.selection.main.head) == Direction.LTR;\n}\nvar cursorCharLeft = view => cursorByChar(view, !ltrAtCursor(view));\nvar cursorCharRight = view => cursorByChar(view, ltrAtCursor(view));\nvar cursorCharForward = view => cursorByChar(view, true);\nvar cursorCharBackward = view => cursorByChar(view, false);\nfunction cursorByGroup(view, forward) {\n  return moveSel(view, range => range.empty ? view.moveByGroup(range, forward) : rangeEnd(range, forward));\n}\nvar cursorGroupLeft = view => cursorByGroup(view, !ltrAtCursor(view));\nvar cursorGroupRight = view => cursorByGroup(view, ltrAtCursor(view));\nvar cursorGroupForward = view => cursorByGroup(view, true);\nvar cursorGroupBackward = view => cursorByGroup(view, false);\nfunction moveBySubword(view, range, forward) {\n  let categorize = view.state.charCategorizer(range.from);\n  return view.moveByChar(range, forward, start => {\n    let cat = CharCategory.Space,\n      pos = range.from;\n    let done = false,\n      sawUpper = false,\n      sawLower = false;\n    let step = next => {\n      if (done) return false;\n      pos += forward ? next.length : -next.length;\n      let nextCat = categorize(next),\n        ahead;\n      if (nextCat == CharCategory.Word && next.charCodeAt(0) < 128 && /[\\W_]/.test(next)) nextCat = -1;\n      if (cat == CharCategory.Space) cat = nextCat;\n      if (cat != nextCat) return false;\n      if (cat == CharCategory.Word) {\n        if (next.toLowerCase() == next) {\n          if (!forward && sawUpper) return false;\n          sawLower = true;\n        } else if (sawLower) {\n          if (forward) return false;\n          done = true;\n        } else {\n          if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == CharCategory.Word && ahead.toLowerCase() == ahead) return false;\n          sawUpper = true;\n        }\n      }\n      return true;\n    };\n    step(start);\n    return step;\n  });\n}\nfunction cursorBySubword(view, forward) {\n  return moveSel(view, range => range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward));\n}\nvar cursorSubwordForward = view => cursorBySubword(view, true);\nvar cursorSubwordBackward = view => cursorBySubword(view, false);\nfunction interestingNode(state, node, bracketProp) {\n  if (node.type.prop(bracketProp)) return true;\n  let len = node.to - node.from;\n  return len && (len > 2 || /[^\\s,.;:]/.test(state.sliceDoc(node.from, node.to))) || node.firstChild;\n}\nfunction moveBySyntax(state, start, forward) {\n  let pos = syntaxTree(state).resolveInner(start.head);\n  let bracketProp = forward ? NodeProp.closedBy : NodeProp.openedBy;\n  for (let at = start.head;;) {\n    let next = forward ? pos.childAfter(at) : pos.childBefore(at);\n    if (!next) break;\n    if (interestingNode(state, next, bracketProp)) pos = next;else at = forward ? next.to : next.from;\n  }\n  let bracket = pos.type.prop(bracketProp),\n    match,\n    newPos;\n  if (bracket && (match = forward ? matchBrackets(state, pos.from, 1) : matchBrackets(state, pos.to, -1)) && match.matched) newPos = forward ? match.end.to : match.end.from;else newPos = forward ? pos.to : pos.from;\n  return EditorSelection.cursor(newPos, forward ? -1 : 1);\n}\nvar cursorSyntaxLeft = view => moveSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\nvar cursorSyntaxRight = view => moveSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction cursorByLine(view, forward) {\n  return moveSel(view, range => {\n    if (!range.empty) return rangeEnd(range, forward);\n    let moved = view.moveVertically(range, forward);\n    return moved.head != range.head ? moved : view.moveToLineBoundary(range, forward);\n  });\n}\nvar cursorLineUp = view => cursorByLine(view, false);\nvar cursorLineDown = view => cursorByLine(view, true);\nfunction pageInfo(view) {\n  let selfScroll = view.scrollDOM.clientHeight < view.scrollDOM.scrollHeight - 2;\n  let marginTop = 0,\n    marginBottom = 0,\n    height;\n  if (selfScroll) {\n    for (let source of view.state.facet(EditorView.scrollMargins)) {\n      let margins = source(view);\n      if (margins === null || margins === void 0 ? void 0 : margins.top) marginTop = Math.max(margins === null || margins === void 0 ? void 0 : margins.top, marginTop);\n      if (margins === null || margins === void 0 ? void 0 : margins.bottom) marginBottom = Math.max(margins === null || margins === void 0 ? void 0 : margins.bottom, marginBottom);\n    }\n    height = view.scrollDOM.clientHeight - marginTop - marginBottom;\n  } else {\n    height = (view.dom.ownerDocument.defaultView || window).innerHeight;\n  }\n  return {\n    marginTop,\n    marginBottom,\n    selfScroll,\n    height: Math.max(view.defaultLineHeight, height - 5)\n  };\n}\nfunction cursorByPage(view, forward) {\n  let page = pageInfo(view);\n  let {\n      state\n    } = view,\n    selection = updateSel(state.selection, range => {\n      return range.empty ? view.moveVertically(range, forward, page.height) : rangeEnd(range, forward);\n    });\n  if (selection.eq(state.selection)) return false;\n  let effect;\n  if (page.selfScroll) {\n    let startPos = view.coordsAtPos(state.selection.main.head);\n    let scrollRect = view.scrollDOM.getBoundingClientRect();\n    let scrollTop = scrollRect.top + page.marginTop,\n      scrollBottom = scrollRect.bottom - page.marginBottom;\n    if (startPos && startPos.top > scrollTop && startPos.bottom < scrollBottom) effect = EditorView.scrollIntoView(selection.main.head, {\n      y: \"start\",\n      yMargin: startPos.top - scrollTop\n    });\n  }\n  view.dispatch(setSel(state, selection), {\n    effects: effect\n  });\n  return true;\n}\nvar cursorPageUp = view => cursorByPage(view, false);\nvar cursorPageDown = view => cursorByPage(view, true);\nfunction moveByLineBoundary(view, start, forward) {\n  let line = view.lineBlockAt(start.head),\n    moved = view.moveToLineBoundary(start, forward);\n  if (moved.head == start.head && moved.head != (forward ? line.to : line.from)) moved = view.moveToLineBoundary(start, forward, false);\n  if (!forward && moved.head == line.from && line.length) {\n    let space = /^\\s*/.exec(view.state.sliceDoc(line.from, Math.min(line.from + 100, line.to)))[0].length;\n    if (space && start.head != line.from + space) moved = EditorSelection.cursor(line.from + space);\n  }\n  return moved;\n}\nvar cursorLineBoundaryForward = view => moveSel(view, range => moveByLineBoundary(view, range, true));\nvar cursorLineBoundaryBackward = view => moveSel(view, range => moveByLineBoundary(view, range, false));\nvar cursorLineBoundaryLeft = view => moveSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\nvar cursorLineBoundaryRight = view => moveSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\nvar cursorLineStart = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from, 1));\nvar cursorLineEnd = view => moveSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to, -1));\nfunction toMatchingBracket(state, dispatch, extend) {\n  let found = false,\n    selection = updateSel(state.selection, range => {\n      let matching = matchBrackets(state, range.head, -1) || matchBrackets(state, range.head, 1) || range.head > 0 && matchBrackets(state, range.head - 1, 1) || range.head < state.doc.length && matchBrackets(state, range.head + 1, -1);\n      if (!matching || !matching.end) return range;\n      found = true;\n      let head = matching.start.from == range.head ? matching.end.to : matching.end.from;\n      return extend ? EditorSelection.range(range.anchor, head) : EditorSelection.cursor(head);\n    });\n  if (!found) return false;\n  dispatch(setSel(state, selection));\n  return true;\n}\nvar cursorMatchingBracket = ({\n  state,\n  dispatch\n}) => toMatchingBracket(state, dispatch, false);\nvar selectMatchingBracket = ({\n  state,\n  dispatch\n}) => toMatchingBracket(state, dispatch, true);\nfunction extendSel(view, how) {\n  let selection = updateSel(view.state.selection, range => {\n    let head = how(range);\n    return EditorSelection.range(range.anchor, head.head, head.goalColumn, head.bidiLevel || void 0);\n  });\n  if (selection.eq(view.state.selection)) return false;\n  view.dispatch(setSel(view.state, selection));\n  return true;\n}\nfunction selectByChar(view, forward) {\n  return extendSel(view, range => view.moveByChar(range, forward));\n}\nvar selectCharLeft = view => selectByChar(view, !ltrAtCursor(view));\nvar selectCharRight = view => selectByChar(view, ltrAtCursor(view));\nvar selectCharForward = view => selectByChar(view, true);\nvar selectCharBackward = view => selectByChar(view, false);\nfunction selectByGroup(view, forward) {\n  return extendSel(view, range => view.moveByGroup(range, forward));\n}\nvar selectGroupLeft = view => selectByGroup(view, !ltrAtCursor(view));\nvar selectGroupRight = view => selectByGroup(view, ltrAtCursor(view));\nvar selectGroupForward = view => selectByGroup(view, true);\nvar selectGroupBackward = view => selectByGroup(view, false);\nfunction selectBySubword(view, forward) {\n  return extendSel(view, range => moveBySubword(view, range, forward));\n}\nvar selectSubwordForward = view => selectBySubword(view, true);\nvar selectSubwordBackward = view => selectBySubword(view, false);\nvar selectSyntaxLeft = view => extendSel(view, range => moveBySyntax(view.state, range, !ltrAtCursor(view)));\nvar selectSyntaxRight = view => extendSel(view, range => moveBySyntax(view.state, range, ltrAtCursor(view)));\nfunction selectByLine(view, forward) {\n  return extendSel(view, range => view.moveVertically(range, forward));\n}\nvar selectLineUp = view => selectByLine(view, false);\nvar selectLineDown = view => selectByLine(view, true);\nfunction selectByPage(view, forward) {\n  return extendSel(view, range => view.moveVertically(range, forward, pageInfo(view).height));\n}\nvar selectPageUp = view => selectByPage(view, false);\nvar selectPageDown = view => selectByPage(view, true);\nvar selectLineBoundaryForward = view => extendSel(view, range => moveByLineBoundary(view, range, true));\nvar selectLineBoundaryBackward = view => extendSel(view, range => moveByLineBoundary(view, range, false));\nvar selectLineBoundaryLeft = view => extendSel(view, range => moveByLineBoundary(view, range, !ltrAtCursor(view)));\nvar selectLineBoundaryRight = view => extendSel(view, range => moveByLineBoundary(view, range, ltrAtCursor(view)));\nvar selectLineStart = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).from));\nvar selectLineEnd = view => extendSel(view, range => EditorSelection.cursor(view.lineBlockAt(range.head).to));\nvar cursorDocStart = ({\n  state,\n  dispatch\n}) => {\n  dispatch(setSel(state, {\n    anchor: 0\n  }));\n  return true;\n};\nvar cursorDocEnd = ({\n  state,\n  dispatch\n}) => {\n  dispatch(setSel(state, {\n    anchor: state.doc.length\n  }));\n  return true;\n};\nvar selectDocStart = ({\n  state,\n  dispatch\n}) => {\n  dispatch(setSel(state, {\n    anchor: state.selection.main.anchor,\n    head: 0\n  }));\n  return true;\n};\nvar selectDocEnd = ({\n  state,\n  dispatch\n}) => {\n  dispatch(setSel(state, {\n    anchor: state.selection.main.anchor,\n    head: state.doc.length\n  }));\n  return true;\n};\nvar selectAll = ({\n  state,\n  dispatch\n}) => {\n  dispatch(state.update({\n    selection: {\n      anchor: 0,\n      head: state.doc.length\n    },\n    userEvent: \"select\"\n  }));\n  return true;\n};\nvar selectLine = ({\n  state,\n  dispatch\n}) => {\n  let ranges = selectedLineBlocks(state).map(({\n    from,\n    to\n  }) => EditorSelection.range(from, Math.min(to + 1, state.doc.length)));\n  dispatch(state.update({\n    selection: EditorSelection.create(ranges),\n    userEvent: \"select\"\n  }));\n  return true;\n};\nvar selectParentSyntax = ({\n  state,\n  dispatch\n}) => {\n  let selection = updateSel(state.selection, range => {\n    var _a;\n    let context = syntaxTree(state).resolveInner(range.head, 1);\n    while (!(context.from < range.from && context.to >= range.to || context.to > range.to && context.from <= range.from || !((_a = context.parent) === null || _a === void 0 ? void 0 : _a.parent))) context = context.parent;\n    return EditorSelection.range(context.to, context.from);\n  });\n  dispatch(setSel(state, selection));\n  return true;\n};\nvar simplifySelection = ({\n  state,\n  dispatch\n}) => {\n  let cur = state.selection,\n    selection = null;\n  if (cur.ranges.length > 1) selection = EditorSelection.create([cur.main]);else if (!cur.main.empty) selection = EditorSelection.create([EditorSelection.cursor(cur.main.head)]);\n  if (!selection) return false;\n  dispatch(setSel(state, selection));\n  return true;\n};\nfunction deleteBy(target, by) {\n  if (target.state.readOnly) return false;\n  let event = \"delete.selection\",\n    {\n      state\n    } = target;\n  let changes = state.changeByRange(range => {\n    let {\n      from,\n      to\n    } = range;\n    if (from == to) {\n      let towards = by(from);\n      if (towards < from) {\n        event = \"delete.backward\";\n        towards = skipAtomic(target, towards, false);\n      } else if (towards > from) {\n        event = \"delete.forward\";\n        towards = skipAtomic(target, towards, true);\n      }\n      from = Math.min(from, towards);\n      to = Math.max(to, towards);\n    } else {\n      from = skipAtomic(target, from, false);\n      to = skipAtomic(target, to, true);\n    }\n    return from == to ? {\n      range\n    } : {\n      changes: {\n        from,\n        to\n      },\n      range: EditorSelection.cursor(from)\n    };\n  });\n  if (changes.changes.empty) return false;\n  target.dispatch(state.update(changes, {\n    scrollIntoView: true,\n    userEvent: event,\n    effects: event == \"delete.selection\" ? EditorView.announce.of(state.phrase(\"Selection deleted\")) : void 0\n  }));\n  return true;\n}\nfunction skipAtomic(target, pos, forward) {\n  if (target instanceof EditorView) for (let ranges of target.state.facet(EditorView.atomicRanges).map(f => f(target))) ranges.between(pos, pos, (from, to) => {\n    if (from < pos && to > pos) pos = forward ? to : from;\n  });\n  return pos;\n}\nvar deleteByChar = (target, forward) => deleteBy(target, pos => {\n  let {\n      state\n    } = target,\n    line = state.doc.lineAt(pos),\n    before,\n    targetPos;\n  if (!forward && pos > line.from && pos < line.from + 200 && !/[^ \\t]/.test(before = line.text.slice(0, pos - line.from))) {\n    if (before[before.length - 1] == \"\t\") return pos - 1;\n    let col = countColumn(before, state.tabSize),\n      drop = col % getIndentUnit(state) || getIndentUnit(state);\n    for (let i = 0; i < drop && before[before.length - 1 - i] == \" \"; i++) pos--;\n    targetPos = pos;\n  } else {\n    targetPos = findClusterBreak(line.text, pos - line.from, forward, forward) + line.from;\n    if (targetPos == pos && line.number != (forward ? state.doc.lines : 1)) targetPos += forward ? 1 : -1;\n  }\n  return targetPos;\n});\nvar deleteCharBackward = view => deleteByChar(view, false);\nvar deleteCharForward = view => deleteByChar(view, true);\nvar deleteByGroup = (target, forward) => deleteBy(target, start => {\n  let pos = start,\n    {\n      state\n    } = target,\n    line = state.doc.lineAt(pos);\n  let categorize = state.charCategorizer(pos);\n  for (let cat = null;;) {\n    if (pos == (forward ? line.to : line.from)) {\n      if (pos == start && line.number != (forward ? state.doc.lines : 1)) pos += forward ? 1 : -1;\n      break;\n    }\n    let next = findClusterBreak(line.text, pos - line.from, forward) + line.from;\n    let nextChar = line.text.slice(Math.min(pos, next) - line.from, Math.max(pos, next) - line.from);\n    let nextCat = categorize(nextChar);\n    if (cat != null && nextCat != cat) break;\n    if (nextChar != \" \" || pos != start) cat = nextCat;\n    pos = next;\n  }\n  return pos;\n});\nvar deleteGroupBackward = target => deleteByGroup(target, false);\nvar deleteGroupForward = target => deleteByGroup(target, true);\nvar deleteToLineEnd = view => deleteBy(view, pos => {\n  let lineEnd = view.lineBlockAt(pos).to;\n  return pos < lineEnd ? lineEnd : Math.min(view.state.doc.length, pos + 1);\n});\nvar deleteToLineStart = view => deleteBy(view, pos => {\n  let lineStart = view.lineBlockAt(pos).from;\n  return pos > lineStart ? lineStart : Math.max(0, pos - 1);\n});\nvar deleteTrailingWhitespace = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  let changes = [];\n  for (let pos = 0, prev = \"\", iter = state.doc.iter();;) {\n    iter.next();\n    if (iter.lineBreak || iter.done) {\n      let trailing = prev.search(/\\s+$/);\n      if (trailing > -1) changes.push({\n        from: pos - (prev.length - trailing),\n        to: pos\n      });\n      if (iter.done) break;\n      prev = \"\";\n    } else {\n      prev = iter.value;\n    }\n    pos += iter.value.length;\n  }\n  if (!changes.length) return false;\n  dispatch(state.update({\n    changes,\n    userEvent: \"delete\"\n  }));\n  return true;\n};\nvar splitLine = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  let changes = state.changeByRange(range => {\n    return {\n      changes: {\n        from: range.from,\n        to: range.to,\n        insert: Text.of([\"\", \"\"])\n      },\n      range: EditorSelection.cursor(range.from)\n    };\n  });\n  dispatch(state.update(changes, {\n    scrollIntoView: true,\n    userEvent: \"input\"\n  }));\n  return true;\n};\nvar transposeChars = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  let changes = state.changeByRange(range => {\n    if (!range.empty || range.from == 0 || range.from == state.doc.length) return {\n      range\n    };\n    let pos = range.from,\n      line = state.doc.lineAt(pos);\n    let from = pos == line.from ? pos - 1 : findClusterBreak(line.text, pos - line.from, false) + line.from;\n    let to = pos == line.to ? pos + 1 : findClusterBreak(line.text, pos - line.from, true) + line.from;\n    return {\n      changes: {\n        from,\n        to,\n        insert: state.doc.slice(pos, to).append(state.doc.slice(from, pos))\n      },\n      range: EditorSelection.cursor(to)\n    };\n  });\n  if (changes.changes.empty) return false;\n  dispatch(state.update(changes, {\n    scrollIntoView: true,\n    userEvent: \"move.character\"\n  }));\n  return true;\n};\nfunction selectedLineBlocks(state) {\n  let blocks = [],\n    upto = -1;\n  for (let range of state.selection.ranges) {\n    let startLine = state.doc.lineAt(range.from),\n      endLine = state.doc.lineAt(range.to);\n    if (!range.empty && range.to == endLine.from) endLine = state.doc.lineAt(range.to - 1);\n    if (upto >= startLine.number) {\n      let prev = blocks[blocks.length - 1];\n      prev.to = endLine.to;\n      prev.ranges.push(range);\n    } else {\n      blocks.push({\n        from: startLine.from,\n        to: endLine.to,\n        ranges: [range]\n      });\n    }\n    upto = endLine.number + 1;\n  }\n  return blocks;\n}\nfunction moveLine(state, dispatch, forward) {\n  if (state.readOnly) return false;\n  let changes = [],\n    ranges = [];\n  for (let block of selectedLineBlocks(state)) {\n    if (forward ? block.to == state.doc.length : block.from == 0) continue;\n    let nextLine = state.doc.lineAt(forward ? block.to + 1 : block.from - 1);\n    let size = nextLine.length + 1;\n    if (forward) {\n      changes.push({\n        from: block.to,\n        to: nextLine.to\n      }, {\n        from: block.from,\n        insert: nextLine.text + state.lineBreak\n      });\n      for (let r of block.ranges) ranges.push(EditorSelection.range(Math.min(state.doc.length, r.anchor + size), Math.min(state.doc.length, r.head + size)));\n    } else {\n      changes.push({\n        from: nextLine.from,\n        to: block.from\n      }, {\n        from: block.to,\n        insert: state.lineBreak + nextLine.text\n      });\n      for (let r1 of block.ranges) ranges.push(EditorSelection.range(r1.anchor - size, r1.head - size));\n    }\n  }\n  if (!changes.length) return false;\n  dispatch(state.update({\n    changes,\n    scrollIntoView: true,\n    selection: EditorSelection.create(ranges, state.selection.mainIndex),\n    userEvent: \"move.line\"\n  }));\n  return true;\n}\nvar moveLineUp = ({\n  state,\n  dispatch\n}) => moveLine(state, dispatch, false);\nvar moveLineDown = ({\n  state,\n  dispatch\n}) => moveLine(state, dispatch, true);\nfunction copyLine(state, dispatch, forward) {\n  if (state.readOnly) return false;\n  let changes = [];\n  for (let block of selectedLineBlocks(state)) {\n    if (forward) changes.push({\n      from: block.from,\n      insert: state.doc.slice(block.from, block.to) + state.lineBreak\n    });else changes.push({\n      from: block.to,\n      insert: state.lineBreak + state.doc.slice(block.from, block.to)\n    });\n  }\n  dispatch(state.update({\n    changes,\n    scrollIntoView: true,\n    userEvent: \"input.copyline\"\n  }));\n  return true;\n}\nvar copyLineUp = ({\n  state,\n  dispatch\n}) => copyLine(state, dispatch, false);\nvar copyLineDown = ({\n  state,\n  dispatch\n}) => copyLine(state, dispatch, true);\nvar deleteLine = view => {\n  if (view.state.readOnly) return false;\n  let {\n      state\n    } = view,\n    changes = state.changes(selectedLineBlocks(state).map(({\n      from,\n      to\n    }) => {\n      if (from > 0) from--;else if (to < state.doc.length) to++;\n      return {\n        from,\n        to\n      };\n    }));\n  let selection = updateSel(state.selection, range => view.moveVertically(range, true)).map(changes);\n  view.dispatch({\n    changes,\n    selection,\n    scrollIntoView: true,\n    userEvent: \"delete.line\"\n  });\n  return true;\n};\nvar insertNewline = ({\n  state,\n  dispatch\n}) => {\n  dispatch(state.update(state.replaceSelection(state.lineBreak), {\n    scrollIntoView: true,\n    userEvent: \"input\"\n  }));\n  return true;\n};\nfunction isBetweenBrackets(state, pos) {\n  if (/\\(\\)|\\[\\]|\\{\\}/.test(state.sliceDoc(pos - 1, pos + 1))) return {\n    from: pos,\n    to: pos\n  };\n  let context = syntaxTree(state).resolveInner(pos);\n  let before = context.childBefore(pos),\n    after = context.childAfter(pos),\n    closedBy;\n  if (before && after && before.to <= pos && after.from >= pos && (closedBy = before.type.prop(NodeProp.closedBy)) && closedBy.indexOf(after.name) > -1 && state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from) return {\n    from: before.to,\n    to: after.from\n  };\n  return null;\n}\nvar insertNewlineAndIndent = /* @__PURE__ */newlineAndIndent(false);\nvar insertBlankLine = /* @__PURE__ */newlineAndIndent(true);\nfunction newlineAndIndent(atEof) {\n  return ({\n    state,\n    dispatch\n  }) => {\n    if (state.readOnly) return false;\n    let changes = state.changeByRange(range => {\n      let {\n          from,\n          to\n        } = range,\n        line = state.doc.lineAt(from);\n      let explode = !atEof && from == to && isBetweenBrackets(state, from);\n      if (atEof) from = to = (to <= line.to ? line : state.doc.lineAt(to)).to;\n      let cx = new IndentContext(state, {\n        simulateBreak: from,\n        simulateDoubleBreak: !!explode\n      });\n      let indent = getIndentation(cx, from);\n      if (indent == null) indent = /^\\s*/.exec(state.doc.lineAt(from).text)[0].length;\n      while (to < line.to && /\\s/.test(line.text[to - line.from])) to++;\n      if (explode) ({\n        from,\n        to\n      } = explode);else if (from > line.from && from < line.from + 100 && !/\\S/.test(line.text.slice(0, from))) from = line.from;\n      let insert = [\"\", indentString(state, indent)];\n      if (explode) insert.push(indentString(state, cx.lineIndent(line.from, -1)));\n      return {\n        changes: {\n          from,\n          to,\n          insert: Text.of(insert)\n        },\n        range: EditorSelection.cursor(from + 1 + insert[1].length)\n      };\n    });\n    dispatch(state.update(changes, {\n      scrollIntoView: true,\n      userEvent: \"input\"\n    }));\n    return true;\n  };\n}\nfunction changeBySelectedLine(state, f) {\n  let atLine = -1;\n  return state.changeByRange(range => {\n    let changes = [];\n    for (let pos = range.from; pos <= range.to;) {\n      let line = state.doc.lineAt(pos);\n      if (line.number > atLine && (range.empty || range.to > line.from)) {\n        f(line, changes, range);\n        atLine = line.number;\n      }\n      pos = line.to + 1;\n    }\n    let changeSet = state.changes(changes);\n    return {\n      changes,\n      range: EditorSelection.range(changeSet.mapPos(range.anchor, 1), changeSet.mapPos(range.head, 1))\n    };\n  });\n}\nvar indentSelection = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  let updated = /* @__PURE__ */Object.create(null);\n  let context = new IndentContext(state, {\n    overrideIndentation: start => {\n      let found = updated[start];\n      return found == null ? -1 : found;\n    }\n  });\n  let changes = changeBySelectedLine(state, (line, changes2, range) => {\n    let indent = getIndentation(context, line.from);\n    if (indent == null) return;\n    if (!/\\S/.test(line.text)) indent = 0;\n    let cur = /^\\s*/.exec(line.text)[0];\n    let norm = indentString(state, indent);\n    if (cur != norm || range.from < line.from + cur.length) {\n      updated[line.from] = indent;\n      changes2.push({\n        from: line.from,\n        to: line.from + cur.length,\n        insert: norm\n      });\n    }\n  });\n  if (!changes.changes.empty) dispatch(state.update(changes, {\n    userEvent: \"indent\"\n  }));\n  return true;\n};\nvar indentMore = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n    changes.push({\n      from: line.from,\n      insert: state.facet(indentUnit)\n    });\n  }), {\n    userEvent: \"input.indent\"\n  }));\n  return true;\n};\nvar indentLess = ({\n  state,\n  dispatch\n}) => {\n  if (state.readOnly) return false;\n  dispatch(state.update(changeBySelectedLine(state, (line, changes) => {\n    let space = /^\\s*/.exec(line.text)[0];\n    if (!space) return;\n    let col = countColumn(space, state.tabSize),\n      keep = 0;\n    let insert = indentString(state, Math.max(0, col - getIndentUnit(state)));\n    while (keep < space.length && keep < insert.length && space.charCodeAt(keep) == insert.charCodeAt(keep)) keep++;\n    changes.push({\n      from: line.from + keep,\n      to: line.from + space.length,\n      insert: insert.slice(keep)\n    });\n  }), {\n    userEvent: \"delete.dedent\"\n  }));\n  return true;\n};\nvar insertTab = ({\n  state,\n  dispatch\n}) => {\n  if (state.selection.ranges.some(r => !r.empty)) return indentMore({\n    state,\n    dispatch\n  });\n  dispatch(state.update(state.replaceSelection(\"\t\"), {\n    scrollIntoView: true,\n    userEvent: \"input\"\n  }));\n  return true;\n};\nvar emacsStyleKeymap = [{\n  key: \"Ctrl-b\",\n  run: cursorCharLeft,\n  shift: selectCharLeft,\n  preventDefault: true\n}, {\n  key: \"Ctrl-f\",\n  run: cursorCharRight,\n  shift: selectCharRight\n}, {\n  key: \"Ctrl-p\",\n  run: cursorLineUp,\n  shift: selectLineUp\n}, {\n  key: \"Ctrl-n\",\n  run: cursorLineDown,\n  shift: selectLineDown\n}, {\n  key: \"Ctrl-a\",\n  run: cursorLineStart,\n  shift: selectLineStart\n}, {\n  key: \"Ctrl-e\",\n  run: cursorLineEnd,\n  shift: selectLineEnd\n}, {\n  key: \"Ctrl-d\",\n  run: deleteCharForward\n}, {\n  key: \"Ctrl-h\",\n  run: deleteCharBackward\n}, {\n  key: \"Ctrl-k\",\n  run: deleteToLineEnd\n}, {\n  key: \"Ctrl-Alt-h\",\n  run: deleteGroupBackward\n}, {\n  key: \"Ctrl-o\",\n  run: splitLine\n}, {\n  key: \"Ctrl-t\",\n  run: transposeChars\n}, {\n  key: \"Ctrl-v\",\n  run: cursorPageDown\n}];\nvar standardKeymap = /* @__PURE__ */[{\n  key: \"ArrowLeft\",\n  run: cursorCharLeft,\n  shift: selectCharLeft,\n  preventDefault: true\n}, {\n  key: \"Mod-ArrowLeft\",\n  mac: \"Alt-ArrowLeft\",\n  run: cursorGroupLeft,\n  shift: selectGroupLeft,\n  preventDefault: true\n}, {\n  mac: \"Cmd-ArrowLeft\",\n  run: cursorLineBoundaryLeft,\n  shift: selectLineBoundaryLeft,\n  preventDefault: true\n}, {\n  key: \"ArrowRight\",\n  run: cursorCharRight,\n  shift: selectCharRight,\n  preventDefault: true\n}, {\n  key: \"Mod-ArrowRight\",\n  mac: \"Alt-ArrowRight\",\n  run: cursorGroupRight,\n  shift: selectGroupRight,\n  preventDefault: true\n}, {\n  mac: \"Cmd-ArrowRight\",\n  run: cursorLineBoundaryRight,\n  shift: selectLineBoundaryRight,\n  preventDefault: true\n}, {\n  key: \"ArrowUp\",\n  run: cursorLineUp,\n  shift: selectLineUp,\n  preventDefault: true\n}, {\n  mac: \"Cmd-ArrowUp\",\n  run: cursorDocStart,\n  shift: selectDocStart\n}, {\n  mac: \"Ctrl-ArrowUp\",\n  run: cursorPageUp,\n  shift: selectPageUp\n}, {\n  key: \"ArrowDown\",\n  run: cursorLineDown,\n  shift: selectLineDown,\n  preventDefault: true\n}, {\n  mac: \"Cmd-ArrowDown\",\n  run: cursorDocEnd,\n  shift: selectDocEnd\n}, {\n  mac: \"Ctrl-ArrowDown\",\n  run: cursorPageDown,\n  shift: selectPageDown\n}, {\n  key: \"PageUp\",\n  run: cursorPageUp,\n  shift: selectPageUp\n}, {\n  key: \"PageDown\",\n  run: cursorPageDown,\n  shift: selectPageDown\n}, {\n  key: \"Home\",\n  run: cursorLineBoundaryBackward,\n  shift: selectLineBoundaryBackward,\n  preventDefault: true\n}, {\n  key: \"Mod-Home\",\n  run: cursorDocStart,\n  shift: selectDocStart\n}, {\n  key: \"End\",\n  run: cursorLineBoundaryForward,\n  shift: selectLineBoundaryForward,\n  preventDefault: true\n}, {\n  key: \"Mod-End\",\n  run: cursorDocEnd,\n  shift: selectDocEnd\n}, {\n  key: \"Enter\",\n  run: insertNewlineAndIndent\n}, {\n  key: \"Mod-a\",\n  run: selectAll\n}, {\n  key: \"Backspace\",\n  run: deleteCharBackward,\n  shift: deleteCharBackward\n}, {\n  key: \"Delete\",\n  run: deleteCharForward\n}, {\n  key: \"Mod-Backspace\",\n  mac: \"Alt-Backspace\",\n  run: deleteGroupBackward\n}, {\n  key: \"Mod-Delete\",\n  mac: \"Alt-Delete\",\n  run: deleteGroupForward\n}, {\n  mac: \"Mod-Backspace\",\n  run: deleteToLineStart\n}, {\n  mac: \"Mod-Delete\",\n  run: deleteToLineEnd\n}].concat( /* @__PURE__ */emacsStyleKeymap.map(b => ({\n  mac: b.key,\n  run: b.run,\n  shift: b.shift\n})));\nvar defaultKeymap = /* @__PURE__ */[{\n  key: \"Alt-ArrowLeft\",\n  mac: \"Ctrl-ArrowLeft\",\n  run: cursorSyntaxLeft,\n  shift: selectSyntaxLeft\n}, {\n  key: \"Alt-ArrowRight\",\n  mac: \"Ctrl-ArrowRight\",\n  run: cursorSyntaxRight,\n  shift: selectSyntaxRight\n}, {\n  key: \"Alt-ArrowUp\",\n  run: moveLineUp\n}, {\n  key: \"Shift-Alt-ArrowUp\",\n  run: copyLineUp\n}, {\n  key: \"Alt-ArrowDown\",\n  run: moveLineDown\n}, {\n  key: \"Shift-Alt-ArrowDown\",\n  run: copyLineDown\n}, {\n  key: \"Escape\",\n  run: simplifySelection\n}, {\n  key: \"Mod-Enter\",\n  run: insertBlankLine\n}, {\n  key: \"Alt-l\",\n  mac: \"Ctrl-l\",\n  run: selectLine\n}, {\n  key: \"Mod-i\",\n  run: selectParentSyntax,\n  preventDefault: true\n}, {\n  key: \"Mod-[\",\n  run: indentLess\n}, {\n  key: \"Mod-]\",\n  run: indentMore\n}, {\n  key: \"Mod-Alt-\\\\\",\n  run: indentSelection\n}, {\n  key: \"Shift-Mod-k\",\n  run: deleteLine\n}, {\n  key: \"Shift-Mod-\\\\\",\n  run: cursorMatchingBracket\n}, {\n  key: \"Mod-/\",\n  run: toggleComment\n}, {\n  key: \"Alt-A\",\n  run: toggleBlockComment\n}].concat(standardKeymap);\nvar indentWithTab = {\n  key: \"Tab\",\n  run: indentMore,\n  shift: indentLess\n};\nexport { blockComment, blockUncomment, copyLineDown, copyLineUp, cursorCharBackward, cursorCharForward, cursorCharLeft, cursorCharRight, cursorDocEnd, cursorDocStart, cursorGroupBackward, cursorGroupForward, cursorGroupLeft, cursorGroupRight, cursorLineBoundaryBackward, cursorLineBoundaryForward, cursorLineBoundaryLeft, cursorLineBoundaryRight, cursorLineDown, cursorLineEnd, cursorLineStart, cursorLineUp, cursorMatchingBracket, cursorPageDown, cursorPageUp, cursorSubwordBackward, cursorSubwordForward, cursorSyntaxLeft, cursorSyntaxRight, defaultKeymap, deleteCharBackward, deleteCharForward, deleteGroupBackward, deleteGroupForward, deleteLine, deleteToLineEnd, deleteToLineStart, deleteTrailingWhitespace, emacsStyleKeymap, history, historyField, historyKeymap, indentLess, indentMore, indentSelection, indentWithTab, insertBlankLine, insertNewline, insertNewlineAndIndent, insertTab, invertedEffects, isolateHistory, lineComment, lineUncomment, moveLineDown, moveLineUp, redo, redoDepth, redoSelection, selectAll, selectCharBackward, selectCharForward, selectCharLeft, selectCharRight, selectDocEnd, selectDocStart, selectGroupBackward, selectGroupForward, selectGroupLeft, selectGroupRight, selectLine, selectLineBoundaryBackward, selectLineBoundaryForward, selectLineBoundaryLeft, selectLineBoundaryRight, selectLineDown, selectLineEnd, selectLineStart, selectLineUp, selectMatchingBracket, selectPageDown, selectPageUp, selectParentSyntax, selectSubwordBackward, selectSubwordForward, selectSyntaxLeft, selectSyntaxRight, simplifySelection, splitLine, standardKeymap, toggleBlockComment, toggleBlockCommentByLine, toggleComment, toggleLineComment, transposeChars, undo, undoDepth, undoSelection };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"copyLineUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"toggleBlockCommentByLine\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectSyntaxLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"toggleComment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectPageDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineStart\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorDocEnd\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"invertedEffects\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorCharLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineStart\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"splitLine\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"toggleBlockComment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectParentSyntax\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"insertNewline\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"undoDepth\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"redoSelection\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"redo\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteGroupForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorMatchingBracket\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectCharRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineBoundaryForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectDocStart\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"lineUncomment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultKeymap\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorSyntaxRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorCharBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"undo\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"insertNewlineAndIndent\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorGroupRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineEnd\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"simplifySelection\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectDocEnd\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteCharForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectCharBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectPageUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"emacsStyleKeymap\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isolateHistory\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorDocStart\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorSubwordForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineBoundaryForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineBoundaryRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"blockUncomment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteLine\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectSubwordBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"moveLineUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"toggleLineComment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"lineComment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorCharForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"indentWithTab\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteTrailingWhitespace\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectCharForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorPageDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"historyKeymap\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectGroupForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"historyField\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"indentLess\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineBoundaryRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorCharRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"moveLineDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineBoundaryLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectGroupLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteCharBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"undoSelection\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"indentMore\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteGroupBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"copyLineDown\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"redoDepth\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineBoundaryBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineBoundaryBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectMatchingBracket\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"standardKeymap\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineBoundaryLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"insertTab\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorLineUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectGroupBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectGroupRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteToLineEnd\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"deleteToLineStart\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectCharLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"insertBlankLine\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorSubwordBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectAll\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"indentSelection\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"history\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorSyntaxLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLine\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorGroupBackward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"blockComment\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorPageUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorGroupLeft\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectSyntaxRight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectSubwordForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cursorGroupForward\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"selectLineEnd\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"transposeChars\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {\n    exports: {}\n  }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n  if (from && typeof from === \"object\" || typeof from === \"function\") {\n    for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n      get: () => from[key],\n      enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n    });\n  }\n  return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n// If the importer is in node compatibility mode or this is not an ESM\n// file that has been converted to a CommonJS file using a Babel-\n// compatible transform (i.e. \"__esModule\" has not been set), then set\n// \"default\" to the CommonJS \"module.exports\" for node compatibility.\nisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n  value: mod,\n  enumerable: true\n}) : target, mod)); // ../../node_modules/anser/lib/index.js\nvar require_lib = __commonJS({\n  \"../../node_modules/anser/lib/index.js\"(exports, module) {\n    \"use strict\";\n\n    var _createClass = function () {\n      function defineProperties(target, props) {\n        for (var i2 = 0; i2 < props.length; i2++) {\n          var descriptor = props[i2];\n          descriptor.enumerable = descriptor.enumerable || false;\n          descriptor.configurable = true;\n          if (\"value\" in descriptor) descriptor.writable = true;\n          Object.defineProperty(target, descriptor.key, descriptor);\n        }\n      }\n      return function (Constructor, protoProps, staticProps) {\n        if (protoProps) defineProperties(Constructor.prototype, protoProps);\n        if (staticProps) defineProperties(Constructor, staticProps);\n        return Constructor;\n      };\n    }();\n    function _classCallCheck(instance, Constructor) {\n      if (!(instance instanceof Constructor)) {\n        throw new TypeError(\"Cannot call a class as a function\");\n      }\n    }\n    var ANSI_COLORS = [[{\n      color: \"0, 0, 0\",\n      class: \"ansi-black\"\n    }, {\n      color: \"187, 0, 0\",\n      class: \"ansi-red\"\n    }, {\n      color: \"0, 187, 0\",\n      class: \"ansi-green\"\n    }, {\n      color: \"187, 187, 0\",\n      class: \"ansi-yellow\"\n    }, {\n      color: \"0, 0, 187\",\n      class: \"ansi-blue\"\n    }, {\n      color: \"187, 0, 187\",\n      class: \"ansi-magenta\"\n    }, {\n      color: \"0, 187, 187\",\n      class: \"ansi-cyan\"\n    }, {\n      color: \"255,255,255\",\n      class: \"ansi-white\"\n    }], [{\n      color: \"85, 85, 85\",\n      class: \"ansi-bright-black\"\n    }, {\n      color: \"255, 85, 85\",\n      class: \"ansi-bright-red\"\n    }, {\n      color: \"0, 255, 0\",\n      class: \"ansi-bright-green\"\n    }, {\n      color: \"255, 255, 85\",\n      class: \"ansi-bright-yellow\"\n    }, {\n      color: \"85, 85, 255\",\n      class: \"ansi-bright-blue\"\n    }, {\n      color: \"255, 85, 255\",\n      class: \"ansi-bright-magenta\"\n    }, {\n      color: \"85, 255, 255\",\n      class: \"ansi-bright-cyan\"\n    }, {\n      color: \"255, 255, 255\",\n      class: \"ansi-bright-white\"\n    }]];\n    var Anser2 = function () {\n      _createClass(Anser3, null, [{\n        key: \"escapeForHtml\",\n        /**\n        * Anser.escapeForHtml\n        * Escape the input HTML.\n        *\n        * This does the minimum escaping of text to make it compliant with HTML.\n        * In particular, the '&','<', and '>' characters are escaped. This should\n        * be run prior to `ansiToHtml`.\n        *\n        * @name Anser.escapeForHtml\n        * @function\n        * @param {String} txt The input text (containing the ANSI snippets).\n        * @returns {String} The escaped html.\n        */\n        value: function escapeForHtml(txt) {\n          return new Anser3().escapeForHtml(txt);\n        }\n      }, {\n        key: \"linkify\",\n        value: function linkify(txt) {\n          return new Anser3().linkify(txt);\n        }\n      }, {\n        key: \"ansiToHtml\",\n        value: function ansiToHtml(txt, options) {\n          return new Anser3().ansiToHtml(txt, options);\n        }\n      }, {\n        key: \"ansiToJson\",\n        value: function ansiToJson(txt, options) {\n          return new Anser3().ansiToJson(txt, options);\n        }\n      }, {\n        key: \"ansiToText\",\n        value: function ansiToText(txt) {\n          return new Anser3().ansiToText(txt);\n        }\n      }]);\n      function Anser3() {\n        _classCallCheck(this, Anser3);\n        this.fg = this.bg = this.fg_truecolor = this.bg_truecolor = null;\n        this.bright = 0;\n        this.decorations = [];\n      }\n      _createClass(Anser3, [{\n        key: \"setupPalette\",\n        value: function setupPalette() {\n          this.PALETTE_COLORS = [];\n          for (var i2 = 0; i2 < 2; ++i2) {\n            for (var j2 = 0; j2 < 8; ++j2) {\n              this.PALETTE_COLORS.push(ANSI_COLORS[i2][j2].color);\n            }\n          }\n          var levels = [0, 95, 135, 175, 215, 255];\n          var format = function format2(r4, g3, b3) {\n            return levels[r4] + \", \" + levels[g3] + \", \" + levels[b3];\n          };\n          var r3 = void 0,\n            g2 = void 0,\n            b2 = void 0;\n          for (var _r = 0; _r < 6; ++_r) {\n            for (var _g = 0; _g < 6; ++_g) {\n              for (var _b2 = 0; _b2 < 6; ++_b2) {\n                this.PALETTE_COLORS.push(format(_r, _g, _b2));\n              }\n            }\n          }\n          var level = 8;\n          for (var _i = 0; _i < 24; ++_i, level += 10) {\n            this.PALETTE_COLORS.push(format(level, level, level));\n          }\n        }\n      }, {\n        key: \"escapeForHtml\",\n        value: function escapeForHtml(txt) {\n          return txt.replace(/[&<>\\\"]/gm, function (str) {\n            return str == \"&\" ? \"&amp;\" : str == '\"' ? \"&quot;\" : str == \"<\" ? \"&lt;\" : str == \">\" ? \"&gt;\" : \"\";\n          });\n        }\n      }, {\n        key: \"linkify\",\n        value: function linkify(txt) {\n          return txt.replace(/(https?:\\/\\/[^\\s]+)/gm, function (str) {\n            return '<a href=\"' + str + '\">' + str + \"</a>\";\n          });\n        }\n      }, {\n        key: \"ansiToHtml\",\n        value: function ansiToHtml(txt, options) {\n          return this.process(txt, options, true);\n        }\n      }, {\n        key: \"ansiToJson\",\n        value: function ansiToJson(txt, options) {\n          options = options || {};\n          options.json = true;\n          options.clearLine = false;\n          return this.process(txt, options, true);\n        }\n      }, {\n        key: \"ansiToText\",\n        value: function ansiToText(txt) {\n          return this.process(txt, {}, false);\n        }\n      }, {\n        key: \"process\",\n        value: function process(txt, options, markup) {\n          var _this = this;\n          var self = this;\n          var raw_text_chunks = txt.split(/\\033\\[/);\n          var first_chunk = raw_text_chunks.shift();\n          if (options === void 0 || options === null) {\n            options = {};\n          }\n          options.clearLine = /\\r/.test(txt);\n          var color_chunks = raw_text_chunks.map(function (chunk) {\n            return _this.processChunk(chunk, options, markup);\n          });\n          if (options && options.json) {\n            var first = self.processChunkJson(\"\");\n            first.content = first_chunk;\n            first.clearLine = options.clearLine;\n            color_chunks.unshift(first);\n            if (options.remove_empty) {\n              color_chunks = color_chunks.filter(function (c2) {\n                return !c2.isEmpty();\n              });\n            }\n            return color_chunks;\n          } else {\n            color_chunks.unshift(first_chunk);\n          }\n          return color_chunks.join(\"\");\n        }\n      }, {\n        key: \"processChunkJson\",\n        value: function processChunkJson(text, options, markup) {\n          options = typeof options == \"undefined\" ? {} : options;\n          var use_classes = options.use_classes = typeof options.use_classes != \"undefined\" && options.use_classes;\n          var key = options.key = use_classes ? \"class\" : \"color\";\n          var result = {\n            content: text,\n            fg: null,\n            bg: null,\n            fg_truecolor: null,\n            bg_truecolor: null,\n            isInverted: false,\n            clearLine: options.clearLine,\n            decoration: null,\n            decorations: [],\n            was_processed: false,\n            isEmpty: function isEmpty2() {\n              return !result.content;\n            }\n          };\n          var matches = text.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);\n          if (!matches) return result;\n          var orig_txt = result.content = matches[4];\n          var nums = matches[2].split(\";\");\n          if (matches[1] !== \"\" || matches[3] !== \"m\") {\n            return result;\n          }\n          if (!markup) {\n            return result;\n          }\n          var self = this;\n          while (nums.length > 0) {\n            var num_str = nums.shift();\n            var num = parseInt(num_str);\n            if (isNaN(num) || num === 0) {\n              self.fg = self.bg = null;\n              self.decorations = [];\n            } else if (num === 1) {\n              self.decorations.push(\"bold\");\n            } else if (num === 2) {\n              self.decorations.push(\"dim\");\n            } else if (num === 3) {\n              self.decorations.push(\"italic\");\n            } else if (num === 4) {\n              self.decorations.push(\"underline\");\n            } else if (num === 5) {\n              self.decorations.push(\"blink\");\n            } else if (num === 7) {\n              self.decorations.push(\"reverse\");\n            } else if (num === 8) {\n              self.decorations.push(\"hidden\");\n            } else if (num === 9) {\n              self.decorations.push(\"strikethrough\");\n            } else if (num === 21) {\n              self.removeDecoration(\"bold\");\n            } else if (num === 22) {\n              self.removeDecoration(\"bold\");\n              self.removeDecoration(\"dim\");\n            } else if (num === 23) {\n              self.removeDecoration(\"italic\");\n            } else if (num === 24) {\n              self.removeDecoration(\"underline\");\n            } else if (num === 25) {\n              self.removeDecoration(\"blink\");\n            } else if (num === 27) {\n              self.removeDecoration(\"reverse\");\n            } else if (num === 28) {\n              self.removeDecoration(\"hidden\");\n            } else if (num === 29) {\n              self.removeDecoration(\"strikethrough\");\n            } else if (num === 39) {\n              self.fg = null;\n            } else if (num === 49) {\n              self.bg = null;\n            } else if (num >= 30 && num < 38) {\n              self.fg = ANSI_COLORS[0][num % 10][key];\n            } else if (num >= 90 && num < 98) {\n              self.fg = ANSI_COLORS[1][num % 10][key];\n            } else if (num >= 40 && num < 48) {\n              self.bg = ANSI_COLORS[0][num % 10][key];\n            } else if (num >= 100 && num < 108) {\n              self.bg = ANSI_COLORS[1][num % 10][key];\n            } else if (num === 38 || num === 48) {\n              var is_foreground = num === 38;\n              if (nums.length >= 1) {\n                var mode = nums.shift();\n                if (mode === \"5\" && nums.length >= 1) {\n                  var palette_index = parseInt(nums.shift());\n                  if (palette_index >= 0 && palette_index <= 255) {\n                    if (!use_classes) {\n                      if (!this.PALETTE_COLORS) {\n                        self.setupPalette();\n                      }\n                      if (is_foreground) {\n                        self.fg = this.PALETTE_COLORS[palette_index];\n                      } else {\n                        self.bg = this.PALETTE_COLORS[palette_index];\n                      }\n                    } else {\n                      var klass = palette_index >= 16 ? \"ansi-palette-\" + palette_index : ANSI_COLORS[palette_index > 7 ? 1 : 0][palette_index % 8][\"class\"];\n                      if (is_foreground) {\n                        self.fg = klass;\n                      } else {\n                        self.bg = klass;\n                      }\n                    }\n                  }\n                } else if (mode === \"2\" && nums.length >= 3) {\n                  var r3 = parseInt(nums.shift());\n                  var g2 = parseInt(nums.shift());\n                  var b2 = parseInt(nums.shift());\n                  if (r3 >= 0 && r3 <= 255 && g2 >= 0 && g2 <= 255 && b2 >= 0 && b2 <= 255) {\n                    var color2 = r3 + \", \" + g2 + \", \" + b2;\n                    if (!use_classes) {\n                      if (is_foreground) {\n                        self.fg = color2;\n                      } else {\n                        self.bg = color2;\n                      }\n                    } else {\n                      if (is_foreground) {\n                        self.fg = \"ansi-truecolor\";\n                        self.fg_truecolor = color2;\n                      } else {\n                        self.bg = \"ansi-truecolor\";\n                        self.bg_truecolor = color2;\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n          if (self.fg === null && self.bg === null && self.decorations.length === 0) {\n            return result;\n          } else {\n            var styles = [];\n            var classes = [];\n            var data = {};\n            result.fg = self.fg;\n            result.bg = self.bg;\n            result.fg_truecolor = self.fg_truecolor;\n            result.bg_truecolor = self.bg_truecolor;\n            result.decorations = self.decorations;\n            result.decoration = self.decorations.slice(-1).pop() || null;\n            result.was_processed = true;\n            return result;\n          }\n        }\n      }, {\n        key: \"processChunk\",\n        value: function processChunk(text, options, markup) {\n          var _this2 = this;\n          options = options || {};\n          var jsonChunk = this.processChunkJson(text, options, markup);\n          var use_classes = options.use_classes;\n          jsonChunk.decorations = jsonChunk.decorations.filter(function (decoration) {\n            if (decoration === \"reverse\") {\n              if (!jsonChunk.fg) {\n                jsonChunk.fg = ANSI_COLORS[0][7][use_classes ? \"class\" : \"color\"];\n              }\n              if (!jsonChunk.bg) {\n                jsonChunk.bg = ANSI_COLORS[0][0][use_classes ? \"class\" : \"color\"];\n              }\n              var tmpFg = jsonChunk.fg;\n              jsonChunk.fg = jsonChunk.bg;\n              jsonChunk.bg = tmpFg;\n              var tmpFgTrue = jsonChunk.fg_truecolor;\n              jsonChunk.fg_truecolor = jsonChunk.bg_truecolor;\n              jsonChunk.bg_truecolor = tmpFgTrue;\n              jsonChunk.isInverted = true;\n              return false;\n            }\n            return true;\n          });\n          if (options.json) {\n            return jsonChunk;\n          }\n          if (jsonChunk.isEmpty()) {\n            return \"\";\n          }\n          if (!jsonChunk.was_processed) {\n            return jsonChunk.content;\n          }\n          var colors = [];\n          var decorations = [];\n          var textDecorations = [];\n          var data = {};\n          var render_data = function render_data2(data2) {\n            var fragments = [];\n            var key = void 0;\n            for (key in data2) {\n              if (data2.hasOwnProperty(key)) {\n                fragments.push(\"data-\" + key + '=\"' + _this2.escapeForHtml(data2[key]) + '\"');\n              }\n            }\n            return fragments.length > 0 ? \" \" + fragments.join(\" \") : \"\";\n          };\n          if (jsonChunk.isInverted) {\n            data[\"ansi-is-inverted\"] = \"true\";\n          }\n          if (jsonChunk.fg) {\n            if (use_classes) {\n              colors.push(jsonChunk.fg + \"-fg\");\n              if (jsonChunk.fg_truecolor !== null) {\n                data[\"ansi-truecolor-fg\"] = jsonChunk.fg_truecolor;\n                jsonChunk.fg_truecolor = null;\n              }\n            } else {\n              colors.push(\"color:rgb(\" + jsonChunk.fg + \")\");\n            }\n          }\n          if (jsonChunk.bg) {\n            if (use_classes) {\n              colors.push(jsonChunk.bg + \"-bg\");\n              if (jsonChunk.bg_truecolor !== null) {\n                data[\"ansi-truecolor-bg\"] = jsonChunk.bg_truecolor;\n                jsonChunk.bg_truecolor = null;\n              }\n            } else {\n              colors.push(\"background-color:rgb(\" + jsonChunk.bg + \")\");\n            }\n          }\n          jsonChunk.decorations.forEach(function (decoration) {\n            if (use_classes) {\n              decorations.push(\"ansi-\" + decoration);\n              return;\n            }\n            if (decoration === \"bold\") {\n              decorations.push(\"font-weight:bold\");\n            } else if (decoration === \"dim\") {\n              decorations.push(\"opacity:0.5\");\n            } else if (decoration === \"italic\") {\n              decorations.push(\"font-style:italic\");\n            } else if (decoration === \"hidden\") {\n              decorations.push(\"visibility:hidden\");\n            } else if (decoration === \"strikethrough\") {\n              textDecorations.push(\"line-through\");\n            } else {\n              textDecorations.push(decoration);\n            }\n          });\n          if (textDecorations.length) {\n            decorations.push(\"text-decoration:\" + textDecorations.join(\" \"));\n          }\n          if (use_classes) {\n            return '<span class=\"' + colors.concat(decorations).join(\" \") + '\"' + render_data(data) + \">\" + jsonChunk.content + \"</span>\";\n          } else {\n            return '<span style=\"' + colors.concat(decorations).join(\";\") + '\"' + render_data(data) + \">\" + jsonChunk.content + \"</span>\";\n          }\n        }\n      }, {\n        key: \"removeDecoration\",\n        value: function removeDecoration(decoration) {\n          var index = this.decorations.indexOf(decoration);\n          if (index >= 0) {\n            this.decorations.splice(index, 1);\n          }\n        }\n      }]);\n      return Anser3;\n    }();\n    module.exports = Anser2;\n  }\n}); // ../../node_modules/escape-carriage/index.js\nvar require_escape_carriage = __commonJS({\n  \"../../node_modules/escape-carriage/index.js\"(exports, module) {\n    function escapeCarriageReturn2(txt) {\n      if (!txt) return \"\";\n      if (!/\\r/.test(txt)) return txt;\n      txt = txt.replace(/\\r+\\n/gm, \"\\n\");\n      while (/\\r./.test(txt)) {\n        txt = txt.replace(/^([^\\r\\n]*)\\r+([^\\r\\n]+)/gm, function (_, base, insert) {\n          return insert + base.slice(insert.length);\n        });\n      }\n      return txt;\n    }\n    function findLongestString(arr) {\n      var longest = 0;\n      for (var i2 = 0; i2 < arr.length; i2++) {\n        if (arr[longest].length <= arr[i2].length) {\n          longest = i2;\n        }\n      }\n      return longest;\n    }\n    function escapeSingleLineSafe(txt) {\n      if (!/\\r/.test(txt)) return txt;\n      var arr = txt.split(\"\\r\");\n      var res = [];\n      while (arr.length > 0) {\n        var longest = findLongestString(arr);\n        res.push(arr[longest]);\n        arr = arr.slice(longest + 1);\n      }\n      return res.join(\"\\r\");\n    }\n    function escapeCarriageReturnSafe(txt) {\n      if (!txt) return \"\";\n      if (!/\\r/.test(txt)) return txt;\n      if (!/\\n/.test(txt)) return escapeSingleLineSafe(txt);\n      txt = txt.replace(/\\r+\\n/gm, \"\\n\");\n      var idx = txt.lastIndexOf(\"\\n\");\n      return escapeCarriageReturn2(txt.slice(0, idx)) + \"\\n\" + escapeSingleLineSafe(txt.slice(idx + 1));\n    }\n    module.exports = escapeCarriageReturn2;\n    module.exports.escapeCarriageReturn = escapeCarriageReturn2;\n    module.exports.escapeCarriageReturnSafe = escapeCarriageReturnSafe;\n  }\n}); // ../../node_modules/lz-string/libs/lz-string.js\nvar require_lz_string = __commonJS({\n  \"../../node_modules/lz-string/libs/lz-string.js\"(exports, module) {\n    var LZString2 = function () {\n      var f2 = String.fromCharCode;\n      var keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n      var keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\n      var baseReverseDic = {};\n      function getBaseValue(alphabet, character) {\n        if (!baseReverseDic[alphabet]) {\n          baseReverseDic[alphabet] = {};\n          for (var i2 = 0; i2 < alphabet.length; i2++) {\n            baseReverseDic[alphabet][alphabet.charAt(i2)] = i2;\n          }\n        }\n        return baseReverseDic[alphabet][character];\n      }\n      var LZString3 = {\n        compressToBase64: function (input) {\n          if (input == null) return \"\";\n          var res = LZString3._compress(input, 6, function (a2) {\n            return keyStrBase64.charAt(a2);\n          });\n          switch (res.length % 4) {\n            default:\n            case 0:\n              return res;\n            case 1:\n              return res + \"===\";\n            case 2:\n              return res + \"==\";\n            case 3:\n              return res + \"=\";\n          }\n        },\n        decompressFromBase64: function (input) {\n          if (input == null) return \"\";\n          if (input == \"\") return null;\n          return LZString3._decompress(input.length, 32, function (index) {\n            return getBaseValue(keyStrBase64, input.charAt(index));\n          });\n        },\n        compressToUTF16: function (input) {\n          if (input == null) return \"\";\n          return LZString3._compress(input, 15, function (a2) {\n            return f2(a2 + 32);\n          }) + \" \";\n        },\n        decompressFromUTF16: function (compressed) {\n          if (compressed == null) return \"\";\n          if (compressed == \"\") return null;\n          return LZString3._decompress(compressed.length, 16384, function (index) {\n            return compressed.charCodeAt(index) - 32;\n          });\n        },\n        //compress into uint8array (UCS-2 big endian format)\n        compressToUint8Array: function (uncompressed) {\n          var compressed = LZString3.compress(uncompressed);\n          var buf = new Uint8Array(compressed.length * 2);\n          for (var i2 = 0, TotalLen = compressed.length; i2 < TotalLen; i2++) {\n            var current_value = compressed.charCodeAt(i2);\n            buf[i2 * 2] = current_value >>> 8;\n            buf[i2 * 2 + 1] = current_value % 256;\n          }\n          return buf;\n        },\n        //decompress from uint8array (UCS-2 big endian format)\n        decompressFromUint8Array: function (compressed) {\n          if (compressed === null || compressed === void 0) {\n            return LZString3.decompress(compressed);\n          } else {\n            var buf = new Array(compressed.length / 2);\n            for (var i2 = 0, TotalLen = buf.length; i2 < TotalLen; i2++) {\n              buf[i2] = compressed[i2 * 2] * 256 + compressed[i2 * 2 + 1];\n            }\n            var result = [];\n            buf.forEach(function (c2) {\n              result.push(f2(c2));\n            });\n            return LZString3.decompress(result.join(\"\"));\n          }\n        },\n        //compress into a string that is already URI encoded\n        compressToEncodedURIComponent: function (input) {\n          if (input == null) return \"\";\n          return LZString3._compress(input, 6, function (a2) {\n            return keyStrUriSafe.charAt(a2);\n          });\n        },\n        //decompress from an output of compressToEncodedURIComponent\n        decompressFromEncodedURIComponent: function (input) {\n          if (input == null) return \"\";\n          if (input == \"\") return null;\n          input = input.replace(/ /g, \"+\");\n          return LZString3._decompress(input.length, 32, function (index) {\n            return getBaseValue(keyStrUriSafe, input.charAt(index));\n          });\n        },\n        compress: function (uncompressed) {\n          return LZString3._compress(uncompressed, 16, function (a2) {\n            return f2(a2);\n          });\n        },\n        _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n          if (uncompressed == null) return \"\";\n          var i2,\n            value,\n            context_dictionary = {},\n            context_dictionaryToCreate = {},\n            context_c = \"\",\n            context_wc = \"\",\n            context_w = \"\",\n            context_enlargeIn = 2,\n            context_dictSize = 3,\n            context_numBits = 2,\n            context_data = [],\n            context_data_val = 0,\n            context_data_position = 0,\n            ii;\n          for (ii = 0; ii < uncompressed.length; ii += 1) {\n            context_c = uncompressed.charAt(ii);\n            if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n              context_dictionary[context_c] = context_dictSize++;\n              context_dictionaryToCreate[context_c] = true;\n            }\n            context_wc = context_w + context_c;\n            if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {\n              context_w = context_wc;\n            } else {\n              if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n                if (context_w.charCodeAt(0) < 256) {\n                  for (i2 = 0; i2 < context_numBits; i2++) {\n                    context_data_val = context_data_val << 1;\n                    if (context_data_position == bitsPerChar - 1) {\n                      context_data_position = 0;\n                      context_data.push(getCharFromInt(context_data_val));\n                      context_data_val = 0;\n                    } else {\n                      context_data_position++;\n                    }\n                  }\n                  value = context_w.charCodeAt(0);\n                  for (i2 = 0; i2 < 8; i2++) {\n                    context_data_val = context_data_val << 1 | value & 1;\n                    if (context_data_position == bitsPerChar - 1) {\n                      context_data_position = 0;\n                      context_data.push(getCharFromInt(context_data_val));\n                      context_data_val = 0;\n                    } else {\n                      context_data_position++;\n                    }\n                    value = value >> 1;\n                  }\n                } else {\n                  value = 1;\n                  for (i2 = 0; i2 < context_numBits; i2++) {\n                    context_data_val = context_data_val << 1 | value;\n                    if (context_data_position == bitsPerChar - 1) {\n                      context_data_position = 0;\n                      context_data.push(getCharFromInt(context_data_val));\n                      context_data_val = 0;\n                    } else {\n                      context_data_position++;\n                    }\n                    value = 0;\n                  }\n                  value = context_w.charCodeAt(0);\n                  for (i2 = 0; i2 < 16; i2++) {\n                    context_data_val = context_data_val << 1 | value & 1;\n                    if (context_data_position == bitsPerChar - 1) {\n                      context_data_position = 0;\n                      context_data.push(getCharFromInt(context_data_val));\n                      context_data_val = 0;\n                    } else {\n                      context_data_position++;\n                    }\n                    value = value >> 1;\n                  }\n                }\n                context_enlargeIn--;\n                if (context_enlargeIn == 0) {\n                  context_enlargeIn = Math.pow(2, context_numBits);\n                  context_numBits++;\n                }\n                delete context_dictionaryToCreate[context_w];\n              } else {\n                value = context_dictionary[context_w];\n                for (i2 = 0; i2 < context_numBits; i2++) {\n                  context_data_val = context_data_val << 1 | value & 1;\n                  if (context_data_position == bitsPerChar - 1) {\n                    context_data_position = 0;\n                    context_data.push(getCharFromInt(context_data_val));\n                    context_data_val = 0;\n                  } else {\n                    context_data_position++;\n                  }\n                  value = value >> 1;\n                }\n              }\n              context_enlargeIn--;\n              if (context_enlargeIn == 0) {\n                context_enlargeIn = Math.pow(2, context_numBits);\n                context_numBits++;\n              }\n              context_dictionary[context_wc] = context_dictSize++;\n              context_w = String(context_c);\n            }\n          }\n          if (context_w !== \"\") {\n            if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n              if (context_w.charCodeAt(0) < 256) {\n                for (i2 = 0; i2 < context_numBits; i2++) {\n                  context_data_val = context_data_val << 1;\n                  if (context_data_position == bitsPerChar - 1) {\n                    context_data_position = 0;\n                    context_data.push(getCharFromInt(context_data_val));\n                    context_data_val = 0;\n                  } else {\n                    context_data_position++;\n                  }\n                }\n                value = context_w.charCodeAt(0);\n                for (i2 = 0; i2 < 8; i2++) {\n                  context_data_val = context_data_val << 1 | value & 1;\n                  if (context_data_position == bitsPerChar - 1) {\n                    context_data_position = 0;\n                    context_data.push(getCharFromInt(context_data_val));\n                    context_data_val = 0;\n                  } else {\n                    context_data_position++;\n                  }\n                  value = value >> 1;\n                }\n              } else {\n                value = 1;\n                for (i2 = 0; i2 < context_numBits; i2++) {\n                  context_data_val = context_data_val << 1 | value;\n                  if (context_data_position == bitsPerChar - 1) {\n                    context_data_position = 0;\n                    context_data.push(getCharFromInt(context_data_val));\n                    context_data_val = 0;\n                  } else {\n                    context_data_position++;\n                  }\n                  value = 0;\n                }\n                value = context_w.charCodeAt(0);\n                for (i2 = 0; i2 < 16; i2++) {\n                  context_data_val = context_data_val << 1 | value & 1;\n                  if (context_data_position == bitsPerChar - 1) {\n                    context_data_position = 0;\n                    context_data.push(getCharFromInt(context_data_val));\n                    context_data_val = 0;\n                  } else {\n                    context_data_position++;\n                  }\n                  value = value >> 1;\n                }\n              }\n              context_enlargeIn--;\n              if (context_enlargeIn == 0) {\n                context_enlargeIn = Math.pow(2, context_numBits);\n                context_numBits++;\n              }\n              delete context_dictionaryToCreate[context_w];\n            } else {\n              value = context_dictionary[context_w];\n              for (i2 = 0; i2 < context_numBits; i2++) {\n                context_data_val = context_data_val << 1 | value & 1;\n                if (context_data_position == bitsPerChar - 1) {\n                  context_data_position = 0;\n                  context_data.push(getCharFromInt(context_data_val));\n                  context_data_val = 0;\n                } else {\n                  context_data_position++;\n                }\n                value = value >> 1;\n              }\n            }\n            context_enlargeIn--;\n            if (context_enlargeIn == 0) {\n              context_enlargeIn = Math.pow(2, context_numBits);\n              context_numBits++;\n            }\n          }\n          value = 2;\n          for (i2 = 0; i2 < context_numBits; i2++) {\n            context_data_val = context_data_val << 1 | value & 1;\n            if (context_data_position == bitsPerChar - 1) {\n              context_data_position = 0;\n              context_data.push(getCharFromInt(context_data_val));\n              context_data_val = 0;\n            } else {\n              context_data_position++;\n            }\n            value = value >> 1;\n          }\n          while (true) {\n            context_data_val = context_data_val << 1;\n            if (context_data_position == bitsPerChar - 1) {\n              context_data.push(getCharFromInt(context_data_val));\n              break;\n            } else context_data_position++;\n          }\n          return context_data.join(\"\");\n        },\n        decompress: function (compressed) {\n          if (compressed == null) return \"\";\n          if (compressed == \"\") return null;\n          return LZString3._decompress(compressed.length, 32768, function (index) {\n            return compressed.charCodeAt(index);\n          });\n        },\n        _decompress: function (length, resetValue, getNextValue) {\n          var dictionary = [],\n            next,\n            enlargeIn = 4,\n            dictSize = 4,\n            numBits = 3,\n            entry = \"\",\n            result = [],\n            i2,\n            w2,\n            bits,\n            resb,\n            maxpower,\n            power,\n            c2,\n            data = {\n              val: getNextValue(0),\n              position: resetValue,\n              index: 1\n            };\n          for (i2 = 0; i2 < 3; i2 += 1) {\n            dictionary[i2] = i2;\n          }\n          bits = 0;\n          maxpower = Math.pow(2, 2);\n          power = 1;\n          while (power != maxpower) {\n            resb = data.val & data.position;\n            data.position >>= 1;\n            if (data.position == 0) {\n              data.position = resetValue;\n              data.val = getNextValue(data.index++);\n            }\n            bits |= (resb > 0 ? 1 : 0) * power;\n            power <<= 1;\n          }\n          switch (next = bits) {\n            case 0:\n              bits = 0;\n              maxpower = Math.pow(2, 8);\n              power = 1;\n              while (power != maxpower) {\n                resb = data.val & data.position;\n                data.position >>= 1;\n                if (data.position == 0) {\n                  data.position = resetValue;\n                  data.val = getNextValue(data.index++);\n                }\n                bits |= (resb > 0 ? 1 : 0) * power;\n                power <<= 1;\n              }\n              c2 = f2(bits);\n              break;\n            case 1:\n              bits = 0;\n              maxpower = Math.pow(2, 16);\n              power = 1;\n              while (power != maxpower) {\n                resb = data.val & data.position;\n                data.position >>= 1;\n                if (data.position == 0) {\n                  data.position = resetValue;\n                  data.val = getNextValue(data.index++);\n                }\n                bits |= (resb > 0 ? 1 : 0) * power;\n                power <<= 1;\n              }\n              c2 = f2(bits);\n              break;\n            case 2:\n              return \"\";\n          }\n          dictionary[3] = c2;\n          w2 = c2;\n          result.push(c2);\n          while (true) {\n            if (data.index > length) {\n              return \"\";\n            }\n            bits = 0;\n            maxpower = Math.pow(2, numBits);\n            power = 1;\n            while (power != maxpower) {\n              resb = data.val & data.position;\n              data.position >>= 1;\n              if (data.position == 0) {\n                data.position = resetValue;\n                data.val = getNextValue(data.index++);\n              }\n              bits |= (resb > 0 ? 1 : 0) * power;\n              power <<= 1;\n            }\n            switch (c2 = bits) {\n              case 0:\n                bits = 0;\n                maxpower = Math.pow(2, 8);\n                power = 1;\n                while (power != maxpower) {\n                  resb = data.val & data.position;\n                  data.position >>= 1;\n                  if (data.position == 0) {\n                    data.position = resetValue;\n                    data.val = getNextValue(data.index++);\n                  }\n                  bits |= (resb > 0 ? 1 : 0) * power;\n                  power <<= 1;\n                }\n                dictionary[dictSize++] = f2(bits);\n                c2 = dictSize - 1;\n                enlargeIn--;\n                break;\n              case 1:\n                bits = 0;\n                maxpower = Math.pow(2, 16);\n                power = 1;\n                while (power != maxpower) {\n                  resb = data.val & data.position;\n                  data.position >>= 1;\n                  if (data.position == 0) {\n                    data.position = resetValue;\n                    data.val = getNextValue(data.index++);\n                  }\n                  bits |= (resb > 0 ? 1 : 0) * power;\n                  power <<= 1;\n                }\n                dictionary[dictSize++] = f2(bits);\n                c2 = dictSize - 1;\n                enlargeIn--;\n                break;\n              case 2:\n                return result.join(\"\");\n            }\n            if (enlargeIn == 0) {\n              enlargeIn = Math.pow(2, numBits);\n              numBits++;\n            }\n            if (dictionary[c2]) {\n              entry = dictionary[c2];\n            } else {\n              if (c2 === dictSize) {\n                entry = w2 + w2.charAt(0);\n              } else {\n                return null;\n              }\n            }\n            result.push(entry);\n            dictionary[dictSize++] = w2 + entry.charAt(0);\n            enlargeIn--;\n            w2 = entry;\n            if (enlargeIn == 0) {\n              enlargeIn = Math.pow(2, numBits);\n              numBits++;\n            }\n          }\n        }\n      };\n      return LZString3;\n    }();\n    if (typeof define === \"function\" && define.amd) {\n      define(function () {\n        return LZString2;\n      });\n    } else if (typeof module !== \"undefined\" && module != null) {\n      module.exports = LZString2;\n    }\n  }\n}); // ../../node_modules/@codesandbox/sandpack-react/dist/index.mjs\nimport { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React3 from \"react\";\nimport { createContext as createContext2, useContext as useContext2, useState as useState3, useRef as useRef2, useCallback as useCallback2, useEffect as useEffect3, createElement as createElement2, forwardRef as forwardRef2 } from \"react\"; // ../../node_modules/@stitches/core/dist/index.mjs\nvar t = \"colors\";\nvar n = \"sizes\";\nvar r = \"space\";\nvar i = {\n  gap: r,\n  gridGap: r,\n  columnGap: r,\n  gridColumnGap: r,\n  rowGap: r,\n  gridRowGap: r,\n  inset: r,\n  insetBlock: r,\n  insetBlockEnd: r,\n  insetBlockStart: r,\n  insetInline: r,\n  insetInlineEnd: r,\n  insetInlineStart: r,\n  margin: r,\n  marginTop: r,\n  marginRight: r,\n  marginBottom: r,\n  marginLeft: r,\n  marginBlock: r,\n  marginBlockEnd: r,\n  marginBlockStart: r,\n  marginInline: r,\n  marginInlineEnd: r,\n  marginInlineStart: r,\n  padding: r,\n  paddingTop: r,\n  paddingRight: r,\n  paddingBottom: r,\n  paddingLeft: r,\n  paddingBlock: r,\n  paddingBlockEnd: r,\n  paddingBlockStart: r,\n  paddingInline: r,\n  paddingInlineEnd: r,\n  paddingInlineStart: r,\n  top: r,\n  right: r,\n  bottom: r,\n  left: r,\n  scrollMargin: r,\n  scrollMarginTop: r,\n  scrollMarginRight: r,\n  scrollMarginBottom: r,\n  scrollMarginLeft: r,\n  scrollMarginX: r,\n  scrollMarginY: r,\n  scrollMarginBlock: r,\n  scrollMarginBlockEnd: r,\n  scrollMarginBlockStart: r,\n  scrollMarginInline: r,\n  scrollMarginInlineEnd: r,\n  scrollMarginInlineStart: r,\n  scrollPadding: r,\n  scrollPaddingTop: r,\n  scrollPaddingRight: r,\n  scrollPaddingBottom: r,\n  scrollPaddingLeft: r,\n  scrollPaddingX: r,\n  scrollPaddingY: r,\n  scrollPaddingBlock: r,\n  scrollPaddingBlockEnd: r,\n  scrollPaddingBlockStart: r,\n  scrollPaddingInline: r,\n  scrollPaddingInlineEnd: r,\n  scrollPaddingInlineStart: r,\n  fontSize: \"fontSizes\",\n  background: t,\n  backgroundColor: t,\n  backgroundImage: t,\n  borderImage: t,\n  border: t,\n  borderBlock: t,\n  borderBlockEnd: t,\n  borderBlockStart: t,\n  borderBottom: t,\n  borderBottomColor: t,\n  borderColor: t,\n  borderInline: t,\n  borderInlineEnd: t,\n  borderInlineStart: t,\n  borderLeft: t,\n  borderLeftColor: t,\n  borderRight: t,\n  borderRightColor: t,\n  borderTop: t,\n  borderTopColor: t,\n  caretColor: t,\n  color: t,\n  columnRuleColor: t,\n  fill: t,\n  outline: t,\n  outlineColor: t,\n  stroke: t,\n  textDecorationColor: t,\n  fontFamily: \"fonts\",\n  fontWeight: \"fontWeights\",\n  lineHeight: \"lineHeights\",\n  letterSpacing: \"letterSpacings\",\n  blockSize: n,\n  minBlockSize: n,\n  maxBlockSize: n,\n  inlineSize: n,\n  minInlineSize: n,\n  maxInlineSize: n,\n  width: n,\n  minWidth: n,\n  maxWidth: n,\n  height: n,\n  minHeight: n,\n  maxHeight: n,\n  flexBasis: n,\n  gridTemplateColumns: n,\n  gridTemplateRows: n,\n  borderWidth: \"borderWidths\",\n  borderTopWidth: \"borderWidths\",\n  borderRightWidth: \"borderWidths\",\n  borderBottomWidth: \"borderWidths\",\n  borderLeftWidth: \"borderWidths\",\n  borderStyle: \"borderStyles\",\n  borderTopStyle: \"borderStyles\",\n  borderRightStyle: \"borderStyles\",\n  borderBottomStyle: \"borderStyles\",\n  borderLeftStyle: \"borderStyles\",\n  borderRadius: \"radii\",\n  borderTopLeftRadius: \"radii\",\n  borderTopRightRadius: \"radii\",\n  borderBottomRightRadius: \"radii\",\n  borderBottomLeftRadius: \"radii\",\n  boxShadow: \"shadows\",\n  textShadow: \"shadows\",\n  transition: \"transitions\",\n  zIndex: \"zIndices\"\n};\nvar o = (e, t2) => \"function\" == typeof t2 ? {\n  \"()\": Function.prototype.toString.call(t2)\n} : t2;\nvar l = () => {\n  const e = /* @__PURE__ */Object.create(null);\n  return (t2, n2, ...r3) => {\n    const i2 = (e2 => JSON.stringify(e2, o))(t2);\n    return i2 in e ? e[i2] : e[i2] = n2(t2, ...r3);\n  };\n};\nvar s = Symbol.for(\"sxs.internal\");\nvar a = (e, t2) => Object.defineProperties(e, Object.getOwnPropertyDescriptors(t2));\nvar c = e => {\n  for (const t2 in e) return true;\n  return false;\n};\nvar {\n  hasOwnProperty: d\n} = Object.prototype;\nvar g = e => e.includes(\"-\") ? e : e.replace(/[A-Z]/g, e2 => \"-\" + e2.toLowerCase());\nvar p = /\\s+(?![^()]*\\))/;\nvar u = e => t2 => e(...(\"string\" == typeof t2 ? String(t2).split(p) : [t2]));\nvar h = {\n  appearance: e => ({\n    WebkitAppearance: e,\n    appearance: e\n  }),\n  backfaceVisibility: e => ({\n    WebkitBackfaceVisibility: e,\n    backfaceVisibility: e\n  }),\n  backdropFilter: e => ({\n    WebkitBackdropFilter: e,\n    backdropFilter: e\n  }),\n  backgroundClip: e => ({\n    WebkitBackgroundClip: e,\n    backgroundClip: e\n  }),\n  boxDecorationBreak: e => ({\n    WebkitBoxDecorationBreak: e,\n    boxDecorationBreak: e\n  }),\n  clipPath: e => ({\n    WebkitClipPath: e,\n    clipPath: e\n  }),\n  content: e => ({\n    content: e.includes('\"') || e.includes(\"'\") || /^([A-Za-z]+\\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(e) ? e : `\"${e}\"`\n  }),\n  hyphens: e => ({\n    WebkitHyphens: e,\n    hyphens: e\n  }),\n  maskImage: e => ({\n    WebkitMaskImage: e,\n    maskImage: e\n  }),\n  maskSize: e => ({\n    WebkitMaskSize: e,\n    maskSize: e\n  }),\n  tabSize: e => ({\n    MozTabSize: e,\n    tabSize: e\n  }),\n  textSizeAdjust: e => ({\n    WebkitTextSizeAdjust: e,\n    textSizeAdjust: e\n  }),\n  userSelect: e => ({\n    WebkitUserSelect: e,\n    userSelect: e\n  }),\n  marginBlock: u((e, t2) => ({\n    marginBlockStart: e,\n    marginBlockEnd: t2 || e\n  })),\n  marginInline: u((e, t2) => ({\n    marginInlineStart: e,\n    marginInlineEnd: t2 || e\n  })),\n  maxSize: u((e, t2) => ({\n    maxBlockSize: e,\n    maxInlineSize: t2 || e\n  })),\n  minSize: u((e, t2) => ({\n    minBlockSize: e,\n    minInlineSize: t2 || e\n  })),\n  paddingBlock: u((e, t2) => ({\n    paddingBlockStart: e,\n    paddingBlockEnd: t2 || e\n  })),\n  paddingInline: u((e, t2) => ({\n    paddingInlineStart: e,\n    paddingInlineEnd: t2 || e\n  }))\n};\nvar f = /([\\d.]+)([^]*)/;\nvar m = (e, t2) => e.length ? e.reduce((e2, n2) => (e2.push(...t2.map(e3 => e3.includes(\"&\") ? e3.replace(/&/g, /[ +>|~]/.test(n2) && /&.*&/.test(e3) ? `:is(${n2})` : n2) : n2 + \" \" + e3)), e2), []) : t2;\nvar b = (e, t2) => e in S && \"string\" == typeof t2 ? t2.replace(/^((?:[^]*[^\\w-])?)(fit-content|stretch)((?:[^\\w-][^]*)?)$/, (t3, n2, r3, i2) => n2 + (\"stretch\" === r3 ? `-moz-available${i2};${g(e)}:${n2}-webkit-fill-available` : `-moz-fit-content${i2};${g(e)}:${n2}fit-content`) + i2) : String(t2);\nvar S = {\n  blockSize: 1,\n  height: 1,\n  inlineSize: 1,\n  maxBlockSize: 1,\n  maxHeight: 1,\n  maxInlineSize: 1,\n  maxWidth: 1,\n  minBlockSize: 1,\n  minHeight: 1,\n  minInlineSize: 1,\n  minWidth: 1,\n  width: 1\n};\nvar k = e => e ? e + \"-\" : \"\";\nvar y = (e, t2, n2) => e.replace(/([+-])?((?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[Ee][+-]?\\d+)?)?(\\$|--)([$\\w-]+)/g, (e2, r3, i2, o2, l2) => \"$\" == o2 == !!i2 ? e2 : (r3 || \"--\" == o2 ? \"calc(\" : \"\") + \"var(--\" + (\"$\" === o2 ? k(t2) + (l2.includes(\"$\") ? \"\" : k(n2)) + l2.replace(/\\$/g, \"-\") : l2) + \")\" + (r3 || \"--\" == o2 ? \"*\" + (r3 || \"\") + (i2 || \"1\") + \")\" : \"\"));\nvar B = /\\s*,\\s*(?![^()]*\\))/;\nvar $ = Object.prototype.toString;\nvar x = (e, t2, n2, r3, i2) => {\n  let o2, l2, s2;\n  const a2 = (e2, t3, n3) => {\n    let c2, d2;\n    const p2 = e3 => {\n      for (c2 in e3) {\n        const x2 = 64 === c2.charCodeAt(0),\n          z2 = x2 && Array.isArray(e3[c2]) ? e3[c2] : [e3[c2]];\n        for (d2 of z2) {\n          const e4 = /[A-Z]/.test(S2 = c2) ? S2 : S2.replace(/-[^]/g, e5 => e5[1].toUpperCase()),\n            z3 = \"object\" == typeof d2 && d2 && d2.toString === $ && (!r3.utils[e4] || !t3.length);\n          if (e4 in r3.utils && !z3) {\n            const t4 = r3.utils[e4];\n            if (t4 !== l2) {\n              l2 = t4, p2(t4(d2)), l2 = null;\n              continue;\n            }\n          } else if (e4 in h) {\n            const t41 = h[e4];\n            if (t41 !== s2) {\n              s2 = t41, p2(t41(d2)), s2 = null;\n              continue;\n            }\n          }\n          if (x2 && (u2 = c2.slice(1) in r3.media ? \"@media \" + r3.media[c2.slice(1)] : c2, c2 = u2.replace(/\\(\\s*([\\w-]+)\\s*(=|<|<=|>|>=)\\s*([\\w-]+)\\s*(?:(<|<=|>|>=)\\s*([\\w-]+)\\s*)?\\)/g, (e5, t4, n4, r4, i3, o3) => {\n            const l3 = f.test(t4),\n              s3 = .0625 * (l3 ? -1 : 1),\n              [a3, c3] = l3 ? [r4, t4] : [t4, r4];\n            return \"(\" + (\"=\" === n4[0] ? \"\" : \">\" === n4[0] === l3 ? \"max-\" : \"min-\") + a3 + \":\" + (\"=\" !== n4[0] && 1 === n4.length ? c3.replace(f, (e6, t5, r5) => Number(t5) + s3 * (\">\" === n4 ? 1 : -1) + r5) : c3) + (i3 ? \") and (\" + (\">\" === i3[0] ? \"min-\" : \"max-\") + a3 + \":\" + (1 === i3.length ? o3.replace(f, (e6, t5, n5) => Number(t5) + s3 * (\">\" === i3 ? -1 : 1) + n5) : o3) : \"\") + \")\";\n          })), z3) {\n            const e5 = x2 ? n3.concat(c2) : [...n3],\n              r4 = x2 ? [...t3] : m(t3, c2.split(B));\n            void 0 !== o2 && i2(I(...o2)), o2 = void 0, a2(d2, r4, e5);\n          } else void 0 === o2 && (o2 = [[], t3, n3]), c2 = x2 || 36 !== c2.charCodeAt(0) ? c2 : `--${k(r3.prefix)}${c2.slice(1).replace(/\\$/g, \"-\")}`, d2 = z3 ? d2 : \"number\" == typeof d2 ? d2 && e4 in R ? String(d2) + \"px\" : String(d2) : y(b(e4, null == d2 ? \"\" : d2), r3.prefix, r3.themeMap[e4]), o2[0].push(`${x2 ? `${c2} ` : `${g(c2)}:`}${d2}`);\n        }\n      }\n      var u2, S2;\n    };\n    p2(e2), void 0 !== o2 && i2(I(...o2)), o2 = void 0;\n  };\n  a2(e, t2, n2);\n};\nvar I = (e, t2, n2) => `${n2.map(e2 => `${e2}{`).join(\"\")}${t2.length ? `${t2.join(\",\")}{` : \"\"}${e.join(\";\")}${t2.length ? \"}\" : \"\"}${Array(n2.length ? n2.length + 1 : 0).join(\"}\")}`;\nvar R = {\n  animationDelay: 1,\n  animationDuration: 1,\n  backgroundSize: 1,\n  blockSize: 1,\n  border: 1,\n  borderBlock: 1,\n  borderBlockEnd: 1,\n  borderBlockEndWidth: 1,\n  borderBlockStart: 1,\n  borderBlockStartWidth: 1,\n  borderBlockWidth: 1,\n  borderBottom: 1,\n  borderBottomLeftRadius: 1,\n  borderBottomRightRadius: 1,\n  borderBottomWidth: 1,\n  borderEndEndRadius: 1,\n  borderEndStartRadius: 1,\n  borderInlineEnd: 1,\n  borderInlineEndWidth: 1,\n  borderInlineStart: 1,\n  borderInlineStartWidth: 1,\n  borderInlineWidth: 1,\n  borderLeft: 1,\n  borderLeftWidth: 1,\n  borderRadius: 1,\n  borderRight: 1,\n  borderRightWidth: 1,\n  borderSpacing: 1,\n  borderStartEndRadius: 1,\n  borderStartStartRadius: 1,\n  borderTop: 1,\n  borderTopLeftRadius: 1,\n  borderTopRightRadius: 1,\n  borderTopWidth: 1,\n  borderWidth: 1,\n  bottom: 1,\n  columnGap: 1,\n  columnRule: 1,\n  columnRuleWidth: 1,\n  columnWidth: 1,\n  containIntrinsicSize: 1,\n  flexBasis: 1,\n  fontSize: 1,\n  gap: 1,\n  gridAutoColumns: 1,\n  gridAutoRows: 1,\n  gridTemplateColumns: 1,\n  gridTemplateRows: 1,\n  height: 1,\n  inlineSize: 1,\n  inset: 1,\n  insetBlock: 1,\n  insetBlockEnd: 1,\n  insetBlockStart: 1,\n  insetInline: 1,\n  insetInlineEnd: 1,\n  insetInlineStart: 1,\n  left: 1,\n  letterSpacing: 1,\n  margin: 1,\n  marginBlock: 1,\n  marginBlockEnd: 1,\n  marginBlockStart: 1,\n  marginBottom: 1,\n  marginInline: 1,\n  marginInlineEnd: 1,\n  marginInlineStart: 1,\n  marginLeft: 1,\n  marginRight: 1,\n  marginTop: 1,\n  maxBlockSize: 1,\n  maxHeight: 1,\n  maxInlineSize: 1,\n  maxWidth: 1,\n  minBlockSize: 1,\n  minHeight: 1,\n  minInlineSize: 1,\n  minWidth: 1,\n  offsetDistance: 1,\n  offsetRotate: 1,\n  outline: 1,\n  outlineOffset: 1,\n  outlineWidth: 1,\n  overflowClipMargin: 1,\n  padding: 1,\n  paddingBlock: 1,\n  paddingBlockEnd: 1,\n  paddingBlockStart: 1,\n  paddingBottom: 1,\n  paddingInline: 1,\n  paddingInlineEnd: 1,\n  paddingInlineStart: 1,\n  paddingLeft: 1,\n  paddingRight: 1,\n  paddingTop: 1,\n  perspective: 1,\n  right: 1,\n  rowGap: 1,\n  scrollMargin: 1,\n  scrollMarginBlock: 1,\n  scrollMarginBlockEnd: 1,\n  scrollMarginBlockStart: 1,\n  scrollMarginBottom: 1,\n  scrollMarginInline: 1,\n  scrollMarginInlineEnd: 1,\n  scrollMarginInlineStart: 1,\n  scrollMarginLeft: 1,\n  scrollMarginRight: 1,\n  scrollMarginTop: 1,\n  scrollPadding: 1,\n  scrollPaddingBlock: 1,\n  scrollPaddingBlockEnd: 1,\n  scrollPaddingBlockStart: 1,\n  scrollPaddingBottom: 1,\n  scrollPaddingInline: 1,\n  scrollPaddingInlineEnd: 1,\n  scrollPaddingInlineStart: 1,\n  scrollPaddingLeft: 1,\n  scrollPaddingRight: 1,\n  scrollPaddingTop: 1,\n  shapeMargin: 1,\n  textDecoration: 1,\n  textDecorationThickness: 1,\n  textIndent: 1,\n  textUnderlineOffset: 1,\n  top: 1,\n  transitionDelay: 1,\n  transitionDuration: 1,\n  verticalAlign: 1,\n  width: 1,\n  wordSpacing: 1\n};\nvar z = e => String.fromCharCode(e + (e > 25 ? 39 : 97));\nvar W = e => (e2 => {\n  let t2,\n    n2 = \"\";\n  for (t2 = Math.abs(e2); t2 > 52; t2 = t2 / 52 | 0) n2 = z(t2 % 52) + n2;\n  return z(t2 % 52) + n2;\n})(((e2, t2) => {\n  let n2 = t2.length;\n  for (; n2;) e2 = 33 * e2 ^ t2.charCodeAt(--n2);\n  return e2;\n})(5381, JSON.stringify(e)) >>> 0);\nvar j = [\"themed\", \"global\", \"styled\", \"onevar\", \"resonevar\", \"allvar\", \"inline\"];\nvar E = e => {\n  if (e.href && !e.href.startsWith(location.origin)) return false;\n  try {\n    return !!e.cssRules;\n  } catch (e2) {\n    return false;\n  }\n};\nvar T = e => {\n  let t2;\n  const n2 = () => {\n      const {\n        cssRules: e2\n      } = t2.sheet;\n      return [].map.call(e2, (n3, r4) => {\n        const {\n          cssText: i2\n        } = n3;\n        let o2 = \"\";\n        if (i2.startsWith(\"--sxs\")) return \"\";\n        if (e2[r4 - 1] && (o2 = e2[r4 - 1].cssText).startsWith(\"--sxs\")) {\n          if (!n3.cssRules.length) return \"\";\n          for (const e3 in t2.rules) if (t2.rules[e3].group === n3) return `--sxs{--sxs:${[...t2.rules[e3].cache].join(\" \")}}${i2}`;\n          return n3.cssRules.length ? `${o2}${i2}` : \"\";\n        }\n        return i2;\n      }).join(\"\");\n    },\n    r3 = () => {\n      if (t2) {\n        const {\n          rules: e2,\n          sheet: n3\n        } = t2;\n        if (!n3.deleteRule) {\n          for (; 3 === Object(Object(n3.cssRules)[0]).type;) n3.cssRules.splice(0, 1);\n          n3.cssRules = [];\n        }\n        for (const t3 in e2) delete e2[t3];\n      }\n      const i2 = Object(e).styleSheets || [];\n      for (const e21 of i2) if (E(e21)) {\n        for (let i3 = 0, o3 = e21.cssRules; o3[i3]; ++i3) {\n          const l3 = Object(o3[i3]);\n          if (1 !== l3.type) continue;\n          const s2 = Object(o3[i3 + 1]);\n          if (4 !== s2.type) continue;\n          ++i3;\n          const {\n            cssText: a2\n          } = l3;\n          if (!a2.startsWith(\"--sxs\")) continue;\n          const c2 = a2.slice(14, -3).trim().split(/\\s+/),\n            d2 = j[c2[0]];\n          d2 && (t2 || (t2 = {\n            sheet: e21,\n            reset: r3,\n            rules: {},\n            toString: n2\n          }), t2.rules[d2] = {\n            group: s2,\n            index: i3,\n            cache: new Set(c2)\n          });\n        }\n        if (t2) break;\n      }\n      if (!t2) {\n        const i31 = (e2, t3) => ({\n          type: t3,\n          cssRules: [],\n          insertRule(e3, t4) {\n            this.cssRules.splice(t4, 0, i31(e3, {\n              import: 3,\n              undefined: 1\n            }[(e3.toLowerCase().match(/^@([a-z]+)/) || [])[1]] || 4));\n          },\n          get cssText() {\n            return \"@media{}\" === e2 ? `@media{${[].map.call(this.cssRules, e3 => e3.cssText).join(\"\")}}` : e2;\n          }\n        });\n        t2 = {\n          sheet: e ? (e.head || e).appendChild(document.createElement(\"style\")).sheet : i31(\"\", \"text/css\"),\n          rules: {},\n          reset: r3,\n          toString: n2\n        };\n      }\n      const {\n        sheet: o2,\n        rules: l2\n      } = t2;\n      for (let e22 = j.length - 1; e22 >= 0; --e22) {\n        const t31 = j[e22];\n        if (!l2[t31]) {\n          const n31 = j[e22 + 1],\n            r4 = l2[n31] ? l2[n31].index : o2.cssRules.length;\n          o2.insertRule(\"@media{}\", r4), o2.insertRule(`--sxs{--sxs:${e22}}`, r4), l2[t31] = {\n            group: o2.cssRules[r4 + 1],\n            index: r4,\n            cache: /* @__PURE__ */new Set([e22])\n          };\n        }\n        v(l2[t31]);\n      }\n    };\n  return r3(), t2;\n};\nvar v = e => {\n  const t2 = e.group;\n  let n2 = t2.cssRules.length;\n  e.apply = e2 => {\n    try {\n      t2.insertRule(e2, n2), ++n2;\n    } catch (e3) {}\n  };\n};\nvar M = Symbol();\nvar w = l();\nvar C = (e, t2) => w(e, () => (...n2) => {\n  let r3 = {\n    type: null,\n    composers: /* @__PURE__ */new Set()\n  };\n  for (const t3 of n2) if (null != t3) if (t3[s]) {\n    null == r3.type && (r3.type = t3[s].type);\n    for (const e2 of t3[s].composers) r3.composers.add(e2);\n  } else t3.constructor !== Object || t3.$$typeof ? null == r3.type && (r3.type = t3) : r3.composers.add(P(t3, e));\n  return null == r3.type && (r3.type = \"span\"), r3.composers.size || r3.composers.add([\"PJLV\", {}, [], [], {}, []]), L(e, r3, t2);\n});\nvar P = ({\n  variants: e,\n  compoundVariants: t2,\n  defaultVariants: n2,\n  ...r3\n}, i2) => {\n  const o2 = `${k(i2.prefix)}c-${W(r3)}`,\n    l2 = [],\n    s2 = [],\n    a2 = /* @__PURE__ */Object.create(null),\n    g2 = [];\n  for (const e2 in n2) a2[e2] = String(n2[e2]);\n  if (\"object\" == typeof e && e) for (const t3 in e) {\n    p2 = a2, u2 = t3, d.call(p2, u2) || (a2[t3] = \"undefined\");\n    const n3 = e[t3];\n    for (const e21 in n3) {\n      const r4 = {\n        [t3]: String(e21)\n      };\n      \"undefined\" === String(e21) && g2.push(t3);\n      const i3 = n3[e21],\n        o3 = [r4, i3, !c(i3)];\n      l2.push(o3);\n    }\n  }\n  var p2, u2;\n  if (\"object\" == typeof t2 && t2) for (const e22 of t2) {\n    let {\n      css: t31,\n      ...n31\n    } = e22;\n    t31 = \"object\" == typeof t31 && t31 || {};\n    for (const e3 in n31) n31[e3] = String(n31[e3]);\n    const r41 = [n31, t31, !c(t31)];\n    s2.push(r41);\n  }\n  return [o2, r3, l2, s2, a2, g2];\n};\nvar L = (e, t2, n2) => {\n  const [r3, i2, o2, l2] = O(t2.composers),\n    c2 = \"function\" == typeof t2.type || t2.type.$$typeof ? (e2 => {\n      function t3() {\n        for (let n3 = 0; n3 < t3[M].length; n3++) {\n          const [r4, i3] = t3[M][n3];\n          e2.rules[r4].apply(i3);\n        }\n        return t3[M] = [], null;\n      }\n      return t3[M] = [], t3.rules = {}, j.forEach(e3 => t3.rules[e3] = {\n        apply: n3 => t3[M].push([e3, n3])\n      }), t3;\n    })(n2) : null,\n    d2 = (c2 || n2).rules,\n    g2 = `.${r3}${i2.length > 1 ? `:where(.${i2.slice(1).join(\".\")})` : \"\"}`,\n    p2 = s2 => {\n      s2 = \"object\" == typeof s2 && s2 || D;\n      const {\n          css: a2,\n          ...p3\n        } = s2,\n        u2 = {};\n      for (const e2 in o2) if (delete p3[e2], e2 in s2) {\n        let t3 = s2[e2];\n        \"object\" == typeof t3 && t3 ? u2[e2] = {\n          \"@initial\": o2[e2],\n          ...t3\n        } : (t3 = String(t3), u2[e2] = \"undefined\" !== t3 || l2.has(e2) ? t3 : o2[e2]);\n      } else u2[e2] = o2[e2];\n      const h2 = /* @__PURE__ */new Set([...i2]);\n      for (const [r4, i3, o3, l3] of t2.composers) {\n        n2.rules.styled.cache.has(r4) || (n2.rules.styled.cache.add(r4), x(i3, [`.${r4}`], [], e, e2 => {\n          d2.styled.apply(e2);\n        }));\n        const t31 = A(o3, u2, e.media),\n          s3 = A(l3, u2, e.media, true);\n        for (const i4 of t31) if (void 0 !== i4) for (const [t4, o4, l4] of i4) {\n          const i5 = `${r4}-${W(o4)}-${t4}`;\n          h2.add(i5);\n          const s4 = (l4 ? n2.rules.resonevar : n2.rules.onevar).cache,\n            a3 = l4 ? d2.resonevar : d2.onevar;\n          s4.has(i5) || (s4.add(i5), x(o4, [`.${i5}`], [], e, e2 => {\n            a3.apply(e2);\n          }));\n        }\n        for (const t41 of s3) if (void 0 !== t41) for (const [i41, o41] of t41) {\n          const t5 = `${r4}-${W(o41)}-${i41}`;\n          h2.add(t5), n2.rules.allvar.cache.has(t5) || (n2.rules.allvar.cache.add(t5), x(o41, [`.${t5}`], [], e, e2 => {\n            d2.allvar.apply(e2);\n          }));\n        }\n      }\n      if (\"object\" == typeof a2 && a2) {\n        const t32 = `${r3}-i${W(a2)}-css`;\n        h2.add(t32), n2.rules.inline.cache.has(t32) || (n2.rules.inline.cache.add(t32), x(a2, [`.${t32}`], [], e, e2 => {\n          d2.inline.apply(e2);\n        }));\n      }\n      for (const e21 of String(s2.className || \"\").trim().split(/\\s+/)) e21 && h2.add(e21);\n      const f2 = p3.className = [...h2].join(\" \");\n      return {\n        type: t2.type,\n        className: f2,\n        selector: g2,\n        props: p3,\n        toString: () => f2,\n        deferredInjector: c2\n      };\n    };\n  return a(p2, {\n    className: r3,\n    selector: g2,\n    [s]: t2,\n    toString: () => (n2.rules.styled.cache.has(r3) || p2(), r3)\n  });\n};\nvar O = e => {\n  let t2 = \"\";\n  const n2 = [],\n    r3 = {},\n    i2 = [];\n  for (const [o2,,,, l2, s2] of e) {\n    \"\" === t2 && (t2 = o2), n2.push(o2), i2.push(...s2);\n    for (const e2 in l2) {\n      const t3 = l2[e2];\n      (void 0 === r3[e2] || \"undefined\" !== t3 || s2.includes(t3)) && (r3[e2] = t3);\n    }\n  }\n  return [t2, n2, r3, new Set(i2)];\n};\nvar A = (e, t2, n2, r3) => {\n  const i2 = [];\n  e: for (let [o2, l2, s2] of e) {\n    if (s2) continue;\n    let e2,\n      a2 = 0,\n      c2 = false;\n    for (e2 in o2) {\n      const r4 = o2[e2];\n      let i3 = t2[e2];\n      if (i3 !== r4) {\n        if (\"object\" != typeof i3 || !i3) continue e;\n        {\n          let e3,\n            t3,\n            o3 = 0;\n          for (const l3 in i3) {\n            if (r4 === String(i3[l3])) {\n              if (\"@initial\" !== l3) {\n                const e4 = l3.slice(1);\n                (t3 = t3 || []).push(e4 in n2 ? n2[e4] : l3.replace(/^@media ?/, \"\")), c2 = true;\n              }\n              a2 += o3, e3 = true;\n            }\n            ++o3;\n          }\n          if (t3 && t3.length && (l2 = {\n            [\"@media \" + t3.join(\", \")]: l2\n          }), !e3) continue e;\n        }\n      }\n    }\n    (i2[a2] = i2[a2] || []).push([r3 ? \"cv\" : `${e2}-${o2[e2]}`, l2, c2]);\n  }\n  return i2;\n};\nvar D = {};\nvar H = l();\nvar N = (e, t2) => H(e, () => (...n2) => {\n  const r3 = () => {\n    for (let r4 of n2) {\n      r4 = \"object\" == typeof r4 && r4 || {};\n      let n3 = W(r4);\n      if (!t2.rules.global.cache.has(n3)) {\n        if (t2.rules.global.cache.add(n3), \"@import\" in r4) {\n          let e2 = [].indexOf.call(t2.sheet.cssRules, t2.rules.themed.group) - 1;\n          for (let n4 of [].concat(r4[\"@import\"])) n4 = n4.includes('\"') || n4.includes(\"'\") ? n4 : `\"${n4}\"`, t2.sheet.insertRule(`@import ${n4};`, e2++);\n          delete r4[\"@import\"];\n        }\n        x(r4, [], [], e, e2 => {\n          t2.rules.global.apply(e2);\n        });\n      }\n    }\n    return \"\";\n  };\n  return a(r3, {\n    toString: r3\n  });\n});\nvar V = l();\nvar G = (e, t2) => V(e, () => n2 => {\n  const r3 = `${k(e.prefix)}k-${W(n2)}`,\n    i2 = () => {\n      if (!t2.rules.global.cache.has(r3)) {\n        t2.rules.global.cache.add(r3);\n        const i3 = [];\n        x(n2, [], [], e, e2 => i3.push(e2));\n        const o2 = `@keyframes ${r3}{${i3.join(\"\")}}`;\n        t2.rules.global.apply(o2);\n      }\n      return r3;\n    };\n  return a(i2, {\n    get name() {\n      return i2();\n    },\n    toString: i2\n  });\n});\nvar F = class {\n  get computedValue() {\n    return \"var(\" + this.variable + \")\";\n  }\n  get variable() {\n    return \"--\" + k(this.prefix) + k(this.scale) + this.token;\n  }\n  toString() {\n    return this.computedValue;\n  }\n  constructor(e, t2, n2, r3) {\n    this.token = null == e ? \"\" : String(e), this.value = null == t2 ? \"\" : String(t2), this.scale = null == n2 ? \"\" : String(n2), this.prefix = null == r3 ? \"\" : String(r3);\n  }\n};\nvar J = l();\nvar U = (e, t2) => J(e, () => (n2, r3) => {\n  r3 = \"object\" == typeof n2 && n2 || Object(r3);\n  const i2 = `.${n2 = (n2 = \"string\" == typeof n2 ? n2 : \"\") || `${k(e.prefix)}t-${W(r3)}`}`,\n    o2 = {},\n    l2 = [];\n  for (const t3 in r3) {\n    o2[t3] = {};\n    for (const n3 in r3[t3]) {\n      const i3 = `--${k(e.prefix)}${t3}-${n3}`,\n        s3 = y(String(r3[t3][n3]), e.prefix, t3);\n      o2[t3][n3] = new F(n3, s3, t3, e.prefix), l2.push(`${i3}:${s3}`);\n    }\n  }\n  const s2 = () => {\n    if (l2.length && !t2.rules.themed.cache.has(n2)) {\n      t2.rules.themed.cache.add(n2);\n      const i3 = `${r3 === e.theme ? \":root,\" : \"\"}.${n2}{${l2.join(\";\")}}`;\n      t2.rules.themed.apply(i3);\n    }\n    return n2;\n  };\n  return {\n    ...o2,\n    get className() {\n      return s2();\n    },\n    selector: i2,\n    toString: s2\n  };\n});\nvar Z = l();\nvar X = e => {\n  let t2 = false;\n  const n2 = Z(e, e2 => {\n    t2 = true;\n    const n3 = \"prefix\" in (e2 = \"object\" == typeof e2 && e2 || {}) ? String(e2.prefix) : \"\",\n      r3 = \"object\" == typeof e2.media && e2.media || {},\n      o2 = \"object\" == typeof e2.root ? e2.root || null : globalThis.document || null,\n      l2 = \"object\" == typeof e2.theme && e2.theme || {},\n      s2 = {\n        prefix: n3,\n        media: r3,\n        theme: l2,\n        themeMap: \"object\" == typeof e2.themeMap && e2.themeMap || {\n          ...i\n        },\n        utils: \"object\" == typeof e2.utils && e2.utils || {}\n      },\n      a2 = T(o2),\n      c2 = {\n        css: C(s2, a2),\n        globalCss: N(s2, a2),\n        keyframes: G(s2, a2),\n        createTheme: U(s2, a2),\n        reset() {\n          a2.reset(), c2.theme.toString();\n        },\n        theme: {},\n        sheet: a2,\n        config: s2,\n        prefix: n3,\n        getCssText: a2.toString,\n        toString: a2.toString\n      };\n    return String(c2.theme = c2.createTheme(l2)), c2;\n  });\n  return t2 || n2.reset(), n2;\n}; // ../../node_modules/dequal/dist/index.mjs\nvar has = Object.prototype.hasOwnProperty;\nfunction find(iter, tar, key) {\n  for (key of iter.keys()) {\n    if (dequal(key, tar)) return key;\n  }\n}\nfunction dequal(foo, bar) {\n  var ctor, len, tmp;\n  if (foo === bar) return true;\n  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {\n    if (ctor === Date) return foo.getTime() === bar.getTime();\n    if (ctor === RegExp) return foo.toString() === bar.toString();\n    if (ctor === Array) {\n      if ((len = foo.length) === bar.length) {\n        while (len-- && dequal(foo[len], bar[len]));\n      }\n      return len === -1;\n    }\n    if (ctor === Set) {\n      if (foo.size !== bar.size) {\n        return false;\n      }\n      for (len of foo) {\n        tmp = len;\n        if (tmp && typeof tmp === \"object\") {\n          tmp = find(bar, tmp);\n          if (!tmp) return false;\n        }\n        if (!bar.has(tmp)) return false;\n      }\n      return true;\n    }\n    if (ctor === Map) {\n      if (foo.size !== bar.size) {\n        return false;\n      }\n      for (len of foo) {\n        tmp = len[0];\n        if (tmp && typeof tmp === \"object\") {\n          tmp = find(bar, tmp);\n          if (!tmp) return false;\n        }\n        if (!dequal(len[1], bar.get(tmp))) {\n          return false;\n        }\n      }\n      return true;\n    }\n    if (ctor === ArrayBuffer) {\n      foo = new Uint8Array(foo);\n      bar = new Uint8Array(bar);\n    } else if (ctor === DataView) {\n      if ((len = foo.byteLength) === bar.byteLength) {\n        while (len-- && foo.getInt8(len) === bar.getInt8(len));\n      }\n      return len === -1;\n    }\n    if (ArrayBuffer.isView(foo)) {\n      if ((len = foo.byteLength) === bar.byteLength) {\n        while (len-- && foo[len] === bar[len]);\n      }\n      return len === -1;\n    }\n    if (!ctor || typeof foo === \"object\") {\n      len = 0;\n      for (ctor in foo) {\n        if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n        if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n      }\n      return Object.keys(bar).length === len;\n    }\n  }\n  return foo !== foo && bar !== bar;\n} // ../../node_modules/@codesandbox/sandpack-react/dist/index.mjs\nimport { normalizePath, addPackageJSONIfNeeded, loadSandpackClient, extractErrorDetails } from \"https://framerusercontent.com/modules/fn2r53K2SixLM3ktuGOw/eTuqjtAw0LFZDyNdTgHv/codesandbox_sandpack_client.js\";\nimport { closeBracketsKeymap, closeBrackets } from \"https://framerusercontent.com/modules/iHAg5NNDzB38uLRZmObL/AYYlaW5ad8TRAyLHn07o/codemirror_autocomplete.js\";\nimport { defaultKeymap, historyKeymap, history, indentMore, indentLess, deleteGroupBackward } from \"https://framerusercontent.com/modules/peSgSa05KnLqaA8FHu9n/D7eZPbfsEH95yDKH1UTM/codemirror_commands.js\";\nimport { HighlightStyle, syntaxHighlighting, bracketMatching } from \"https://framerusercontent.com/modules/aJsTBlWNkIaM900KNIXT/TeoF57xeGMuVMjiI2ooR/codemirror_language.js\";\nimport { EditorState, StateEffect, EditorSelection, Annotation } from \"https://framerusercontent.com/modules/wFkXxZqfKOPeEQtsYrsa/Xcw7qvncyogRPQtf9aNn/codemirror_state.js\";\nimport { EditorView, ViewPlugin, Decoration, keymap, highlightSpecialChars, highlightActiveLine, lineNumbers } from \"https://framerusercontent.com/modules/wKCR2JyUW8wZdYweJrou/EndxaPZLF2o4GndkIvF9/codemirror_view.js\";\n(function () {\n  \"use strict\";\n\n  if (typeof window !== \"object\") {\n    return;\n  }\n  if (\"IntersectionObserver\" in window && \"IntersectionObserverEntry\" in window && \"intersectionRatio\" in window.IntersectionObserverEntry.prototype) {\n    if (!(\"isIntersecting\" in window.IntersectionObserverEntry.prototype)) {\n      Object.defineProperty(window.IntersectionObserverEntry.prototype, \"isIntersecting\", {\n        get: function () {\n          return this.intersectionRatio > 0;\n        }\n      });\n    }\n    return;\n  }\n  var document2 = window.document;\n  var registry = [];\n  var crossOriginUpdater = null;\n  var crossOriginRect = null;\n  function IntersectionObserverEntry(entry) {\n    this.time = entry.time;\n    this.target = entry.target;\n    this.rootBounds = ensureDOMRect(entry.rootBounds);\n    this.boundingClientRect = ensureDOMRect(entry.boundingClientRect);\n    this.intersectionRect = ensureDOMRect(entry.intersectionRect || getEmptyRect());\n    this.isIntersecting = !!entry.intersectionRect;\n    var targetRect = this.boundingClientRect;\n    var targetArea = targetRect.width * targetRect.height;\n    var intersectionRect = this.intersectionRect;\n    var intersectionArea = intersectionRect.width * intersectionRect.height;\n    if (targetArea) {\n      this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n    } else {\n      this.intersectionRatio = this.isIntersecting ? 1 : 0;\n    }\n  }\n  function IntersectionObserver2(callback, opt_options) {\n    var options = opt_options || {};\n    if (typeof callback != \"function\") {\n      throw new Error(\"callback must be a function\");\n    }\n    if (options.root && options.root.nodeType != 1) {\n      throw new Error(\"root must be an Element\");\n    }\n    this._checkForIntersections = throttle(this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n    this._callback = callback;\n    this._observationTargets = [];\n    this._queuedEntries = [];\n    this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n    this.thresholds = this._initThresholds(options.threshold);\n    this.root = options.root || null;\n    this.rootMargin = this._rootMarginValues.map(function (margin) {\n      return margin.value + margin.unit;\n    }).join(\" \");\n    this._monitoringDocuments = [];\n    this._monitoringUnsubscribes = [];\n  }\n  IntersectionObserver2.prototype.THROTTLE_TIMEOUT = 100;\n  IntersectionObserver2.prototype.POLL_INTERVAL = null;\n  IntersectionObserver2.prototype.USE_MUTATION_OBSERVER = true;\n  IntersectionObserver2._setupCrossOriginUpdater = function () {\n    if (!crossOriginUpdater) {\n      crossOriginUpdater = function (boundingClientRect, intersectionRect) {\n        if (!boundingClientRect || !intersectionRect) {\n          crossOriginRect = getEmptyRect();\n        } else {\n          crossOriginRect = convertFromParentRect(boundingClientRect, intersectionRect);\n        }\n        registry.forEach(function (observer) {\n          observer._checkForIntersections();\n        });\n      };\n    }\n    return crossOriginUpdater;\n  };\n  IntersectionObserver2._resetCrossOriginUpdater = function () {\n    crossOriginUpdater = null;\n    crossOriginRect = null;\n  };\n  IntersectionObserver2.prototype.observe = function (target) {\n    var isTargetAlreadyObserved = this._observationTargets.some(function (item) {\n      return item.element == target;\n    });\n    if (isTargetAlreadyObserved) {\n      return;\n    }\n    if (!(target && target.nodeType == 1)) {\n      throw new Error(\"target must be an Element\");\n    }\n    this._registerInstance();\n    this._observationTargets.push({\n      element: target,\n      entry: null\n    });\n    this._monitorIntersections(target.ownerDocument);\n    this._checkForIntersections();\n  };\n  IntersectionObserver2.prototype.unobserve = function (target) {\n    this._observationTargets = this._observationTargets.filter(function (item) {\n      return item.element != target;\n    });\n    this._unmonitorIntersections(target.ownerDocument);\n    if (this._observationTargets.length == 0) {\n      this._unregisterInstance();\n    }\n  };\n  IntersectionObserver2.prototype.disconnect = function () {\n    this._observationTargets = [];\n    this._unmonitorAllIntersections();\n    this._unregisterInstance();\n  };\n  IntersectionObserver2.prototype.takeRecords = function () {\n    var records = this._queuedEntries.slice();\n    this._queuedEntries = [];\n    return records;\n  };\n  IntersectionObserver2.prototype._initThresholds = function (opt_threshold) {\n    var threshold = opt_threshold || [0];\n    if (!Array.isArray(threshold)) threshold = [threshold];\n    return threshold.sort().filter(function (t2, i2, a2) {\n      if (typeof t2 != \"number\" || isNaN(t2) || t2 < 0 || t2 > 1) {\n        throw new Error(\"threshold must be a number between 0 and 1 inclusively\");\n      }\n      return t2 !== a2[i2 - 1];\n    });\n  };\n  IntersectionObserver2.prototype._parseRootMargin = function (opt_rootMargin) {\n    var marginString = opt_rootMargin || \"0px\";\n    var margins = marginString.split(/\\s+/).map(function (margin) {\n      var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n      if (!parts) {\n        throw new Error(\"rootMargin must be specified in pixels or percent\");\n      }\n      return {\n        value: parseFloat(parts[1]),\n        unit: parts[2]\n      };\n    });\n    margins[1] = margins[1] || margins[0];\n    margins[2] = margins[2] || margins[0];\n    margins[3] = margins[3] || margins[1];\n    return margins;\n  };\n  IntersectionObserver2.prototype._monitorIntersections = function (doc) {\n    var win = doc.defaultView;\n    if (!win) {\n      return;\n    }\n    if (this._monitoringDocuments.indexOf(doc) != -1) {\n      return;\n    }\n    var callback = this._checkForIntersections;\n    var monitoringInterval = null;\n    var domObserver = null;\n    if (this.POLL_INTERVAL) {\n      monitoringInterval = win.setInterval(callback, this.POLL_INTERVAL);\n    } else {\n      addEvent(win, \"resize\", callback, true);\n      addEvent(doc, \"scroll\", callback, true);\n      if (this.USE_MUTATION_OBSERVER && \"MutationObserver\" in win) {\n        domObserver = new win.MutationObserver(callback);\n        domObserver.observe(doc, {\n          attributes: true,\n          childList: true,\n          characterData: true,\n          subtree: true\n        });\n      }\n    }\n    this._monitoringDocuments.push(doc);\n    this._monitoringUnsubscribes.push(function () {\n      var win2 = doc.defaultView;\n      if (win2) {\n        if (monitoringInterval) {\n          win2.clearInterval(monitoringInterval);\n        }\n        removeEvent(win2, \"resize\", callback, true);\n      }\n      removeEvent(doc, \"scroll\", callback, true);\n      if (domObserver) {\n        domObserver.disconnect();\n      }\n    });\n    if (doc != (this.root && this.root.ownerDocument || document2)) {\n      var frame = getFrameElement(doc);\n      if (frame) {\n        this._monitorIntersections(frame.ownerDocument);\n      }\n    }\n  };\n  IntersectionObserver2.prototype._unmonitorIntersections = function (doc) {\n    var index = this._monitoringDocuments.indexOf(doc);\n    if (index == -1) {\n      return;\n    }\n    var rootDoc = this.root && this.root.ownerDocument || document2;\n    var hasDependentTargets = this._observationTargets.some(function (item) {\n      var itemDoc = item.element.ownerDocument;\n      if (itemDoc == doc) {\n        return true;\n      }\n      while (itemDoc && itemDoc != rootDoc) {\n        var frame2 = getFrameElement(itemDoc);\n        itemDoc = frame2 && frame2.ownerDocument;\n        if (itemDoc == doc) {\n          return true;\n        }\n      }\n      return false;\n    });\n    if (hasDependentTargets) {\n      return;\n    }\n    var unsubscribe = this._monitoringUnsubscribes[index];\n    this._monitoringDocuments.splice(index, 1);\n    this._monitoringUnsubscribes.splice(index, 1);\n    unsubscribe();\n    if (doc != rootDoc) {\n      var frame = getFrameElement(doc);\n      if (frame) {\n        this._unmonitorIntersections(frame.ownerDocument);\n      }\n    }\n  };\n  IntersectionObserver2.prototype._unmonitorAllIntersections = function () {\n    var unsubscribes = this._monitoringUnsubscribes.slice(0);\n    this._monitoringDocuments.length = 0;\n    this._monitoringUnsubscribes.length = 0;\n    for (var i2 = 0; i2 < unsubscribes.length; i2++) {\n      unsubscribes[i2]();\n    }\n  };\n  IntersectionObserver2.prototype._checkForIntersections = function () {\n    if (!this.root && crossOriginUpdater && !crossOriginRect) {\n      return;\n    }\n    var rootIsInDom = this._rootIsInDom();\n    var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n    this._observationTargets.forEach(function (item) {\n      var target = item.element;\n      var targetRect = getBoundingClientRect(target);\n      var rootContainsTarget = this._rootContainsTarget(target);\n      var oldEntry = item.entry;\n      var intersectionRect = rootIsInDom && rootContainsTarget && this._computeTargetAndRootIntersection(target, targetRect, rootRect);\n      var newEntry = item.entry = new IntersectionObserverEntry({\n        time: now(),\n        target,\n        boundingClientRect: targetRect,\n        rootBounds: crossOriginUpdater && !this.root ? null : rootRect,\n        intersectionRect\n      });\n      if (!oldEntry) {\n        this._queuedEntries.push(newEntry);\n      } else if (rootIsInDom && rootContainsTarget) {\n        if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n          this._queuedEntries.push(newEntry);\n        }\n      } else {\n        if (oldEntry && oldEntry.isIntersecting) {\n          this._queuedEntries.push(newEntry);\n        }\n      }\n    }, this);\n    if (this._queuedEntries.length) {\n      this._callback(this.takeRecords(), this);\n    }\n  };\n  IntersectionObserver2.prototype._computeTargetAndRootIntersection = function (target, targetRect, rootRect) {\n    if (window.getComputedStyle(target).display == \"none\") return;\n    var intersectionRect = targetRect;\n    var parent = getParentNode(target);\n    var atRoot = false;\n    while (!atRoot && parent) {\n      var parentRect = null;\n      var parentComputedStyle = parent.nodeType == 1 ? window.getComputedStyle(parent) : {};\n      if (parentComputedStyle.display == \"none\") return null;\n      if (parent == this.root || parent.nodeType /* DOCUMENT */ == 9) {\n        atRoot = true;\n        if (parent == this.root || parent == document2) {\n          if (crossOriginUpdater && !this.root) {\n            if (!crossOriginRect || crossOriginRect.width == 0 && crossOriginRect.height == 0) {\n              parent = null;\n              parentRect = null;\n              intersectionRect = null;\n            } else {\n              parentRect = crossOriginRect;\n            }\n          } else {\n            parentRect = rootRect;\n          }\n        } else {\n          var frame = getParentNode(parent);\n          var frameRect = frame && getBoundingClientRect(frame);\n          var frameIntersect = frame && this._computeTargetAndRootIntersection(frame, frameRect, rootRect);\n          if (frameRect && frameIntersect) {\n            parent = frame;\n            parentRect = convertFromParentRect(frameRect, frameIntersect);\n          } else {\n            parent = null;\n            intersectionRect = null;\n          }\n        }\n      } else {\n        var doc = parent.ownerDocument;\n        if (parent != doc.body && parent != doc.documentElement && parentComputedStyle.overflow != \"visible\") {\n          parentRect = getBoundingClientRect(parent);\n        }\n      }\n      if (parentRect) {\n        intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n      }\n      if (!intersectionRect) break;\n      parent = parent && getParentNode(parent);\n    }\n    return intersectionRect;\n  };\n  IntersectionObserver2.prototype._getRootRect = function () {\n    var rootRect;\n    if (this.root) {\n      rootRect = getBoundingClientRect(this.root);\n    } else {\n      var html2 = document2.documentElement;\n      var body = document2.body;\n      rootRect = {\n        top: 0,\n        left: 0,\n        right: html2.clientWidth || body.clientWidth,\n        width: html2.clientWidth || body.clientWidth,\n        bottom: html2.clientHeight || body.clientHeight,\n        height: html2.clientHeight || body.clientHeight\n      };\n    }\n    return this._expandRectByRootMargin(rootRect);\n  };\n  IntersectionObserver2.prototype._expandRectByRootMargin = function (rect) {\n    var margins = this._rootMarginValues.map(function (margin, i2) {\n      return margin.unit == \"px\" ? margin.value : margin.value * (i2 % 2 ? rect.width : rect.height) / 100;\n    });\n    var newRect = {\n      top: rect.top - margins[0],\n      right: rect.right + margins[1],\n      bottom: rect.bottom + margins[2],\n      left: rect.left - margins[3]\n    };\n    newRect.width = newRect.right - newRect.left;\n    newRect.height = newRect.bottom - newRect.top;\n    return newRect;\n  };\n  IntersectionObserver2.prototype._hasCrossedThreshold = function (oldEntry, newEntry) {\n    var oldRatio = oldEntry && oldEntry.isIntersecting ? oldEntry.intersectionRatio || 0 : -1;\n    var newRatio = newEntry.isIntersecting ? newEntry.intersectionRatio || 0 : -1;\n    if (oldRatio === newRatio) return;\n    for (var i2 = 0; i2 < this.thresholds.length; i2++) {\n      var threshold = this.thresholds[i2];\n      if (threshold == oldRatio || threshold == newRatio || threshold < oldRatio !== threshold < newRatio) {\n        return true;\n      }\n    }\n  };\n  IntersectionObserver2.prototype._rootIsInDom = function () {\n    return !this.root || containsDeep(document2, this.root);\n  };\n  IntersectionObserver2.prototype._rootContainsTarget = function (target) {\n    return containsDeep(this.root || document2, target) && (!this.root || this.root.ownerDocument == target.ownerDocument);\n  };\n  IntersectionObserver2.prototype._registerInstance = function () {\n    if (registry.indexOf(this) < 0) {\n      registry.push(this);\n    }\n  };\n  IntersectionObserver2.prototype._unregisterInstance = function () {\n    var index = registry.indexOf(this);\n    if (index != -1) registry.splice(index, 1);\n  };\n  function now() {\n    return window.performance && performance.now && performance.now();\n  }\n  function throttle(fn, timeout) {\n    var timer = null;\n    return function () {\n      if (!timer) {\n        timer = setTimeout(function () {\n          fn();\n          timer = null;\n        }, timeout);\n      }\n    };\n  }\n  function addEvent(node, event, fn, opt_useCapture) {\n    if (typeof node.addEventListener == \"function\") {\n      node.addEventListener(event, fn, opt_useCapture || false);\n    } else if (typeof node.attachEvent == \"function\") {\n      node.attachEvent(\"on\" + event, fn);\n    }\n  }\n  function removeEvent(node, event, fn, opt_useCapture) {\n    if (typeof node.removeEventListener == \"function\") {\n      node.removeEventListener(event, fn, opt_useCapture || false);\n    } else if (typeof node.detatchEvent == \"function\") {\n      node.detatchEvent(\"on\" + event, fn);\n    }\n  }\n  function computeRectIntersection(rect1, rect2) {\n    var top = Math.max(rect1.top, rect2.top);\n    var bottom = Math.min(rect1.bottom, rect2.bottom);\n    var left = Math.max(rect1.left, rect2.left);\n    var right = Math.min(rect1.right, rect2.right);\n    var width = right - left;\n    var height = bottom - top;\n    return width >= 0 && height >= 0 && {\n      top,\n      bottom,\n      left,\n      right,\n      width,\n      height\n    } || null;\n  }\n  function getBoundingClientRect(el) {\n    var rect;\n    try {\n      rect = el.getBoundingClientRect();\n    } catch (err) {}\n    if (!rect) return getEmptyRect();\n    if (!(rect.width && rect.height)) {\n      rect = {\n        top: rect.top,\n        right: rect.right,\n        bottom: rect.bottom,\n        left: rect.left,\n        width: rect.right - rect.left,\n        height: rect.bottom - rect.top\n      };\n    }\n    return rect;\n  }\n  function getEmptyRect() {\n    return {\n      top: 0,\n      bottom: 0,\n      left: 0,\n      right: 0,\n      width: 0,\n      height: 0\n    };\n  }\n  function ensureDOMRect(rect) {\n    if (!rect || \"x\" in rect) {\n      return rect;\n    }\n    return {\n      top: rect.top,\n      y: rect.top,\n      bottom: rect.bottom,\n      left: rect.left,\n      x: rect.left,\n      right: rect.right,\n      width: rect.width,\n      height: rect.height\n    };\n  }\n  function convertFromParentRect(parentBoundingRect, parentIntersectionRect) {\n    var top = parentIntersectionRect.top - parentBoundingRect.top;\n    var left = parentIntersectionRect.left - parentBoundingRect.left;\n    return {\n      top,\n      left,\n      height: parentIntersectionRect.height,\n      width: parentIntersectionRect.width,\n      bottom: top + parentIntersectionRect.height,\n      right: left + parentIntersectionRect.width\n    };\n  }\n  function containsDeep(parent, child) {\n    var node = child;\n    while (node) {\n      if (node == parent) return true;\n      node = getParentNode(node);\n    }\n    return false;\n  }\n  function getParentNode(node) {\n    var parent = node.parentNode;\n    if (node.nodeType /* DOCUMENT */ == 9 && node != document2) {\n      return getFrameElement(node);\n    }\n    if (parent && parent.nodeType == 11 && parent.host) {\n      return parent.host;\n    }\n    if (parent && parent.assignedSlot) {\n      return parent.assignedSlot.parentNode;\n    }\n    return parent;\n  }\n  function getFrameElement(doc) {\n    try {\n      return doc.defaultView && doc.defaultView.frameElement || null;\n    } catch (e) {\n      return null;\n    }\n  }\n  window.IntersectionObserver = IntersectionObserver2;\n  window.IntersectionObserverEntry = IntersectionObserverEntry;\n})(); // ../../node_modules/@react-hook/intersection-observer/dist/module/index.js\nimport * as React2 from \"react\"; // ../../node_modules/@react-hook/passive-layout-effect/dist/module/index.js\nimport React from \"react\";\nvar usePassiveLayoutEffect = React[typeof document !== \"undefined\" && document.createElement !== void 0 ? \"useLayoutEffect\" : \"useEffect\"];\nvar module_default = usePassiveLayoutEffect; // ../../node_modules/@react-hook/intersection-observer/dist/module/index.js\nfunction useIntersectionObserver(target, options = {}) {\n  const {\n    root = null,\n    pollInterval = null,\n    useMutationObserver = false,\n    rootMargin = \"0px 0px 0px 0px\",\n    threshold = 0,\n    initialIsIntersecting = false\n  } = options;\n  const [entry, setEntry] = React2.useState(() => ({\n    boundingClientRect: null,\n    intersectionRatio: 0,\n    intersectionRect: null,\n    isIntersecting: initialIsIntersecting,\n    rootBounds: null,\n    target: null,\n    time: 0\n  }));\n  const [observer, setObserver] = React2.useState(() => getIntersectionObserver({\n    root,\n    pollInterval,\n    useMutationObserver,\n    rootMargin,\n    threshold\n  }));\n  React2.useEffect(() => {\n    const observer2 = getIntersectionObserver({\n      root,\n      pollInterval,\n      useMutationObserver,\n      rootMargin,\n      threshold\n    });\n    setObserver(observer2);\n  }, [root, rootMargin, pollInterval, useMutationObserver, JSON.stringify(threshold)]);\n  module_default(() => {\n    const targetEl = target && \"current\" in target ? target.current : target;\n    if (!observer || !targetEl) return;\n    let didUnsubscribe = false;\n    observer.observer.observe(targetEl);\n    const callback = entries => {\n      if (didUnsubscribe) return;\n      for (let i2 = 0; i2 < entries.length; i2++) {\n        const entry2 = entries[i2];\n        if (entry2.target === targetEl) {\n          setEntry(entry2);\n        }\n      }\n    };\n    observer.subscribe(callback);\n    return () => {\n      didUnsubscribe = true;\n      observer.observer.unobserve(targetEl);\n      observer.unsubscribe(callback);\n    };\n  }, [target, observer]);\n  return entry;\n}\nfunction createIntersectionObserver({\n  root = null,\n  pollInterval = null,\n  useMutationObserver = false,\n  rootMargin = \"0px 0px 0px 0px\",\n  threshold = 0\n}) {\n  const callbacks = /* @__PURE__ */new Set();\n  if (typeof IntersectionObserver === \"undefined\") return null;\n  const observer = new IntersectionObserver(entries => {\n    for (const callback of callbacks) callback(entries, observer);\n  }, {\n    root,\n    rootMargin,\n    threshold\n  });\n  observer.POLL_INTERVAL = pollInterval;\n  observer.USE_MUTATION_OBSERVER = useMutationObserver;\n  return {\n    observer,\n    getListeners() {\n      return callbacks;\n    },\n    subscribe: callback => callbacks.add(callback),\n    unsubscribe: callback => callbacks.delete(callback)\n  };\n}\nvar _intersectionObserver = /* @__PURE__ */new Map();\nfunction getIntersectionObserver(options) {\n  const {\n    root,\n    ...keys\n  } = options;\n  const key = JSON.stringify(keys);\n  let base = _intersectionObserver.get(root);\n  if (!base) {\n    base = {};\n    _intersectionObserver.set(root, base);\n  }\n  return !base[key] ? base[key] = createIntersectionObserver(options) : base[key];\n}\nvar module_default2 = useIntersectionObserver; // ../../node_modules/@codesandbox/sandpack-react/dist/index.mjs\nvar import_anser = __toESM(require_lib(), 1);\nvar import_escape_carriage = __toESM(require_escape_carriage(), 1);\nvar import_lz_string = __toESM(require_lz_string(), 1);\nimport { css as css$1 } from \"https://framerusercontent.com/modules/Gg5hLFaRxQ2EaXSWb101/kXQVFiwPVLfGsrUiA5zE/codemirror_lang_css.js\";\nimport { html } from \"https://framerusercontent.com/modules/ju8TqAduufCaScL3E39X/3zUBDnN91MxwGUPcS8Lv/codemirror_lang_html.js\";\nimport { javascript } from \"https://framerusercontent.com/modules/YrJiUSsP9WZPvnJAGTTV/qYWVNl0YKyBbL8cTq65j/codemirror_lang_javascript.js\";\nimport { tags, highlightTree } from \"https://framerusercontent.com/modules/rOWwbZHN39cczduPnzmw/OTf12FftmvJsuTNsZb3G/lezer_highlight.js\"; // ../../node_modules/clean-set/dist/clean-set.es.js\nfunction r2(r3) {\n  var t2 = r3 && r3.pop ? [] : {};\n  for (var n2 in r3) t2[n2] = r3[n2];\n  return t2;\n}\nfunction clean_set_es_default(t2, n2, l2) {\n  n2.split && (n2 = n2.split(\".\"));\n  for (var o2 = r2(t2), a2 = o2, e = 0, f2 = n2.length; e < f2; e++) a2 = a2[n2[e]] = e === f2 - 1 ? l2 && l2.call ? l2(a2[n2[e]]) : l2 : r2(a2[n2[e]]);\n  return o2;\n} // ../../node_modules/@codesandbox/sandpack-react/dist/index.mjs\nvar __assign = function () {\n  __assign = Object.assign || function __assign2(t2) {\n    for (var s2, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {\n      s2 = arguments[i2];\n      for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2)) t2[p2] = s2[p2];\n    }\n    return t2;\n  };\n  return __assign.apply(this, arguments);\n};\nfunction __rest(s2, e) {\n  var t2 = {};\n  for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2) && e.indexOf(p2) < 0) t2[p2] = s2[p2];\n  if (s2 != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i2 = 0, p2 = Object.getOwnPropertySymbols(s2); i2 < p2.length; i2++) {\n    if (e.indexOf(p2[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p2[i2])) t2[p2[i2]] = s2[p2[i2]];\n  }\n  return t2;\n}\nfunction __awaiter(thisArg, _arguments, P2, generator) {\n  function adopt(value) {\n    return value instanceof P2 ? value : new P2(function (resolve) {\n      resolve(value);\n    });\n  }\n  return new (P2 || (P2 = Promise))(function (resolve, reject) {\n    function fulfilled(value) {\n      try {\n        step(generator.next(value));\n      } catch (e) {\n        reject(e);\n      }\n    }\n    function rejected(value) {\n      try {\n        step(generator[\"throw\"](value));\n      } catch (e) {\n        reject(e);\n      }\n    }\n    function step(result) {\n      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n    }\n    step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\nfunction __generator(thisArg, body) {\n  var _ = {\n      label: 0,\n      sent: function () {\n        if (t2[0] & 1) throw t2[1];\n        return t2[1];\n      },\n      trys: [],\n      ops: []\n    },\n    f2,\n    y2,\n    t2,\n    g2;\n  return g2 = {\n    next: verb(0),\n    throw: verb(1),\n    return: verb(2)\n  }, typeof Symbol === \"function\" && (g2[Symbol.iterator] = function () {\n    return this;\n  }), g2;\n  function verb(n2) {\n    return function (v2) {\n      return step([n2, v2]);\n    };\n  }\n  function step(op) {\n    if (f2) throw new TypeError(\"Generator is already executing.\");\n    while (_) try {\n      if (f2 = 1, y2 && (t2 = op[0] & 2 ? y2[\"return\"] : op[0] ? y2[\"throw\"] || ((t2 = y2[\"return\"]) && t2.call(y2), 0) : y2.next) && !(t2 = t2.call(y2, op[1])).done) return t2;\n      if (y2 = 0, t2) op = [op[0] & 2, t2.value];\n      switch (op[0]) {\n        case 0:\n        case 1:\n          t2 = op;\n          break;\n        case 4:\n          _.label++;\n          return {\n            value: op[1],\n            done: false\n          };\n        case 5:\n          _.label++;\n          y2 = op[1];\n          op = [0];\n          continue;\n        case 7:\n          op = _.ops.pop();\n          _.trys.pop();\n          continue;\n        default:\n          if (!(t2 = _.trys, t2 = t2.length > 0 && t2[t2.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n            _ = 0;\n            continue;\n          }\n          if (op[0] === 3 && (!t2 || op[1] > t2[0] && op[1] < t2[3])) {\n            _.label = op[1];\n            break;\n          }\n          if (op[0] === 6 && _.label < t2[1]) {\n            _.label = t2[1];\n            t2 = op;\n            break;\n          }\n          if (t2 && _.label < t2[2]) {\n            _.label = t2[2];\n            _.ops.push(op);\n            break;\n          }\n          if (t2[2]) _.ops.pop();\n          _.trys.pop();\n          continue;\n      }\n      op = body.call(thisArg, _);\n    } catch (e) {\n      op = [6, e];\n      y2 = 0;\n    } finally {\n      f2 = t2 = 0;\n    }\n    if (op[0] & 5) throw op[1];\n    return {\n      value: op[0] ? op[1] : void 0,\n      done: true\n    };\n  }\n}\nfunction __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i2 = 0, l2 = from.length, ar; i2 < l2; i2++) {\n    if (ar || !(i2 in from)) {\n      if (!ar) ar = Array.prototype.slice.call(from, 0, i2);\n      ar[i2] = from[i2];\n    }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\nvar SVG = function (props) {\n  return jsx(\"svg\", __assign({\n    fill: \"currentColor\",\n    height: \"16\",\n    viewBox: \"0 0 16 16\",\n    width: \"16\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), void 0);\n};\nvar SignInIcon = function () {\n  return jsxs(SVG, __assign({\n    viewBox: \"0 0 48 48\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Sign in\"\n    }, void 0), jsx(\"path\", {\n      d: \"M9 42q-1.2 0-2.1-.9Q6 40.2 6 39V9q0-1.2.9-2.1Q7.8 6 9 6h14.55v3H9v30h14.55v3Zm24.3-9.25-2.15-2.15 5.1-5.1h-17.5v-3h17.4l-5.1-5.1 2.15-2.15 8.8 8.8Z\"\n    }, void 0)]\n  }), void 0);\n};\nvar SignOutIcon = function () {\n  return jsxs(SVG, __assign({\n    viewBox: \"0 0 48 48\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Sign out\"\n    }, void 0), jsx(\"path\", {\n      d: \"M9 42q-1.2 0-2.1-.9Q6 40.2 6 39V9q0-1.2.9-2.1Q7.8 6 9 6h14.55v3H9v30h14.55v3Zm24.3-9.25-2.15-2.15 5.1-5.1h-17.5v-3h17.4l-5.1-5.1 2.15-2.15 8.8 8.8Z\"\n    }, void 0)]\n  }), void 0);\n};\nvar RestartIcon = function () {\n  return jsxs(SVG, __assign({\n    fill: \"none\",\n    stroke: \"currentColor\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Restart script\"\n    }, void 0), jsx(\"path\", {\n      d: \"M8 2C4.68629 2 2 4.68629 2 8C2 10.0946 3.07333 11.9385 4.7 13.0118\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M14.0005 7.9998C14.0005 5.82095 12.8391 3.91335 11.1016 2.8623\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M14.0003 2.3335H11.167C10.8908 2.3335 10.667 2.55735 10.667 2.8335V5.66683\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M1.99967 13.6665L4.83301 13.6665C5.10915 13.6665 5.33301 13.4426 5.33301 13.1665L5.33301 10.3332\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M10 10L12 12L10 14\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M14.667 14L12.667 14\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\"\n    }, void 0)]\n  }), void 0);\n};\nvar RunIcon = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Run sandbox\"\n    }, void 0), jsx(\"path\", {\n      d: \"M11.0792 8.1078C11.2793 8.25007 11.27 8.55012 11.0616 8.67981L6.02535 11.8135C5.79638 11.956 5.5 11.7913 5.5 11.5216L5.5 8.40703L5.5 4.80661C5.5 4.52735 5.81537 4.36463 6.04296 4.52647L11.0792 8.1078Z\"\n    }, void 0)]\n  }, void 0);\n};\nvar BackwardIcon = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Click to go back\"\n    }, void 0), jsx(\"path\", {\n      d: \"M9.64645 12.3536C9.84171 12.5488 10.1583 12.5488 10.3536 12.3536C10.5488 12.1583 10.5488 11.8417 10.3536 11.6464L9.64645 12.3536ZM10.3536 4.35355C10.5488 4.15829 10.5488 3.84171 10.3536 3.64644C10.1583 3.45118 9.84171 3.45118 9.64645 3.64644L10.3536 4.35355ZM6.07072 7.92929L5.71716 7.57573L6.07072 7.92929ZM10.3536 11.6464L6.42427 7.71716L5.71716 8.42426L9.64645 12.3536L10.3536 11.6464ZM6.42427 8.28284L10.3536 4.35355L9.64645 3.64644L5.71716 7.57573L6.42427 8.28284ZM6.42427 7.71716C6.58048 7.87337 6.58048 8.12663 6.42427 8.28284L5.71716 7.57573C5.48285 7.81005 5.48285 8.18995 5.71716 8.42426L6.42427 7.71716Z\"\n    }, void 0)]\n  }, void 0);\n};\nvar ForwardIcon = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Click to go forward\"\n    }, void 0), jsx(\"path\", {\n      d: \"M6.35355 3.64645C6.15829 3.45118 5.84171 3.45118 5.64645 3.64645C5.45118 3.84171 5.45118 4.15829 5.64645 4.35355L6.35355 3.64645ZM5.64645 11.6464C5.45118 11.8417 5.45118 12.1583 5.64645 12.3536C5.84171 12.5488 6.15829 12.5488 6.35355 12.3536L5.64645 11.6464ZM9.92929 8.07071L10.2828 8.42426L9.92929 8.07071ZM5.64645 4.35355L9.57574 8.28284L10.2828 7.57574L6.35355 3.64645L5.64645 4.35355ZM9.57574 7.71716L5.64645 11.6464L6.35355 12.3536L10.2828 8.42426L9.57574 7.71716ZM9.57574 8.28284C9.41952 8.12663 9.41953 7.87337 9.57574 7.71716L10.2828 8.42426C10.5172 8.18995 10.5172 7.81005 10.2828 7.57574L9.57574 8.28284Z\"\n    }, void 0)]\n  }, void 0);\n};\nvar RefreshIcon = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Refresh preview\"\n    }, void 0), jsx(\"path\", {\n      clipRule: \"evenodd\",\n      d: \"M3.83325 7.99992C3.83325 5.69867 5.69853 3.83325 7.99934 3.83325C9.81246 3.83325 11.3563 4.99195 11.9285 6.61097C11.9396 6.6425 11.9536 6.67221 11.97 6.69992H8.80005C8.52391 6.69992 8.30005 6.92378 8.30005 7.19992C8.30005 7.47606 8.52391 7.69992 8.80005 7.69992H12.5667C12.8981 7.69992 13.1667 7.43129 13.1667 7.09992V3.33325C13.1667 3.05711 12.9429 2.83325 12.6667 2.83325C12.3906 2.83325 12.1667 3.05711 12.1667 3.33325V4.94608C11.2268 3.66522 9.7106 2.83325 7.99934 2.83325C5.14613 2.83325 2.83325 5.14651 2.83325 7.99992C2.83325 10.8533 5.14613 13.1666 7.99934 13.1666C9.91218 13.1666 11.5815 12.1266 12.474 10.5836C12.6123 10.3446 12.5306 10.0387 12.2915 9.90044C12.0525 9.76218 11.7466 9.84387 11.6084 10.0829C10.8873 11.3296 9.54072 12.1666 7.99934 12.1666C5.69853 12.1666 3.83325 10.3012 3.83325 7.99992Z\",\n      fillRule: \"evenodd\"\n    }, void 0)]\n  }, void 0);\n};\nvar CleanIcon = function () {\n  return jsxs(SVG, __assign({\n    fill: \"none\",\n    stroke: \"currentColor\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Clean\"\n    }, void 0), jsx(\"circle\", {\n      cx: \"7.99998\",\n      cy: \"8.00004\",\n      r: \"4.66667\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M4.66669 4.66663L11.3334 11.3333\"\n    }, void 0)]\n  }), void 0);\n};\nvar ExportIcon = function () {\n  return jsxs(SVG, __assign({\n    fill: \"none\",\n    stroke: \"currentColor\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Open on CodeSandbox\"\n    }, void 0), jsx(\"path\", {\n      d: \"M6.66665 3.33337H4.33331C3.78103 3.33337 3.33331 3.78109 3.33331 4.33337V11.6667C3.33331 12.219 3.78103 12.6667 4.33331 12.6667H11.6666C12.2189 12.6667 12.6666 12.219 12.6666 11.6667V9.33337\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M10 3.33337H12.5667C12.6219 3.33337 12.6667 3.37815 12.6667 3.43337V6.00004\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M7.33331 8.66668L12.5333 3.46667\",\n      strokeLinecap: \"round\"\n    }, void 0)]\n  }), void 0);\n};\nvar DirectoryIconOpen = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Directory\"\n    }, void 0), jsx(\"path\", {\n      d: \"M12.5526 12.6667H3.66675C3.2922 12.6667 2.96575 12.4608 2.79442 12.156L3.81072 8.0908C3.92201 7.64563 4.32199 7.33333 4.78086 7.33333H13.386C14.0365 7.33333 14.5139 7.94472 14.3561 8.57587L13.5228 11.9092C13.4115 12.3544 13.0115 12.6667 12.5526 12.6667Z\",\n      fill: \"currentColor\"\n    }, void 0), jsx(\"path\", {\n      d: \"M13.3334 6.63333V6.33333C13.3334 5.78105 12.8857 5.33333 12.3334 5.33333H8.30286C8.10543 5.33333 7.91242 5.2749 7.74816 5.16538L6.25201 4.16795C6.08774 4.05844 5.89473 4 5.69731 4H3.66675C3.11446 4 2.66675 4.44772 2.66675 5L2.66675 11.6667C2.66675 12.219 3.11446 12.6667 3.66675 12.6667H12.5526C13.0115 12.6667 13.4115 12.3544 13.5228 11.9092L14.3561 8.57587C14.5139 7.94472 14.0365 7.33333 13.386 7.33333H4.78086C4.32199 7.33333 3.92201 7.64563 3.81072 8.0908L2.75008 12.3333\",\n      fill: \"none\",\n      stroke: \"currentColor\",\n      strokeLinecap: \"round\"\n    }, void 0)]\n  }, void 0);\n};\nvar DirectoryIconClosed = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Directory\"\n    }, void 0), jsx(\"path\", {\n      d: \"M12.3334 12.6667H3.66675C3.11446 12.6667 2.66675 12.219 2.66675 11.6667V5C2.66675 4.44772 3.11446 4 3.66675 4H5.69731C5.89473 4 6.08774 4.05844 6.25201 4.16795L7.74816 5.16538C7.91242 5.2749 8.10543 5.33333 8.30286 5.33333H12.3334C12.8857 5.33333 13.3334 5.78105 13.3334 6.33333V11.6667C13.3334 12.219 12.8857 12.6667 12.3334 12.6667Z\",\n      fill: \"currentColor\",\n      stroke: \"currentColor\",\n      strokeLinecap: \"round\"\n    }, void 0)]\n  }, void 0);\n};\nvar FileIcon = function () {\n  return jsxs(SVG, __assign({\n    fill: \"currentColor\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"File\"\n    }, void 0), jsx(\"path\", {\n      clipRule: \"evenodd\",\n      d: \"M4.5 4.33325C4.5 4.05711 4.72386 3.83325 5 3.83325H8.16675V6.56659C8.16675 6.89795 8.43538 7.16658 8.76675 7.16658H11.5V12.3333C11.5 12.6094 11.2761 12.8333 11 12.8333H5C4.72386 12.8333 4.5 12.6094 4.5 12.3333V4.33325ZM12.5 6.67568C12.5001 6.67265 12.5001 6.66962 12.5001 6.66658C12.5001 6.66355 12.5001 6.66052 12.5 6.65749V6.41413C12.5 6.01631 12.342 5.63478 12.0607 5.35347L9.97978 3.27259C9.69848 2.99129 9.31694 2.83325 8.91912 2.83325H8.66675H5C4.17157 2.83325 3.5 3.50483 3.5 4.33325V12.3333C3.5 13.1617 4.17157 13.8333 5 13.8333H11C11.8284 13.8333 12.5 13.1617 12.5 12.3333V6.67568ZM9.16675 3.89888C9.20518 3.92078 9.24085 3.94787 9.27267 3.9797L11.3536 6.06058C11.3854 6.09243 11.4125 6.12813 11.4344 6.16658H9.16675V3.89888Z\",\n      fillRule: \"evenodd\"\n    }, void 0)]\n  }), void 0);\n};\nvar CloseIcon = function () {\n  return jsxs(SVG, __assign({\n    stroke: \"currentColor\"\n  }, {\n    children: [jsx(\"title\", {\n      children: \"Close file\"\n    }, void 0), jsx(\"path\", {\n      d: \"M12 4L4 12\",\n      strokeLinecap: \"round\"\n    }, void 0), jsx(\"path\", {\n      d: \"M4 4L12 12\",\n      strokeLinecap: \"round\"\n    }, void 0)]\n  }), void 0);\n};\nvar ConsoleIcon = function () {\n  return jsxs(SVG, {\n    children: [jsx(\"title\", {\n      children: \"Open browser console\"\n    }, void 0), jsx(\"path\", {\n      d: \"M5.65871 3.62037C5.44905 3.44066 5.1334 3.46494 4.95368 3.6746C4.77397 3.88427 4.79825 4.19992 5.00792 4.37963L5.65871 3.62037ZM5.00792 11.6204C4.79825 11.8001 4.77397 12.1157 4.95368 12.3254C5.1334 12.5351 5.44905 12.5593 5.65871 12.3796L5.00792 11.6204ZM9.9114 7.92407L10.2368 7.54445L9.9114 7.92407ZM5.00792 4.37963L9.586 8.3037L10.2368 7.54445L5.65871 3.62037L5.00792 4.37963ZM9.586 7.6963L5.00792 11.6204L5.65871 12.3796L10.2368 8.45555L9.586 7.6963ZM9.586 8.3037C9.39976 8.14407 9.39976 7.85594 9.586 7.6963L10.2368 8.45555C10.5162 8.2161 10.5162 7.7839 10.2368 7.54445L9.586 8.3037Z\"\n    }, void 0), jsx(\"path\", {\n      d: \"M10 11.5C9.72386 11.5 9.5 11.7239 9.5 12C9.5 12.2761 9.72386 12.5 10 12.5V11.5ZM14.6667 12.5C14.9428 12.5 15.1667 12.2761 15.1667 12C15.1667 11.7239 14.9428 11.5 14.6667 11.5V12.5ZM10 12.5H14.6667V11.5H10V12.5Z\"\n    }, void 0)]\n  }, void 0);\n};\nvar _a$a;\nvar defaultLight = {\n  colors: {\n    surface1: \"#ffffff\",\n    surface2: \"#EFEFEF\",\n    surface3: \"#F3F3F3\",\n    disabled: \"#C5C5C5\",\n    base: \"#323232\",\n    clickable: \"#808080\",\n    hover: \"#4D4D4D\",\n    accent: \"#3973E0\",\n    error: \"#EA3323\",\n    errorSurface: \"#FCF1F0\",\n    warning: \"#6A4516\",\n    warningSurface: \"#FEF2C0\"\n  },\n  syntax: {\n    plain: \"#151515\",\n    comment: {\n      color: \"#999\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#7C5AE3\",\n    tag: \"#0971F1\",\n    punctuation: \"#3B3B3B\",\n    definition: \"#85A600\",\n    property: \"#3B3B3B\",\n    static: \"#3B3B3B\",\n    string: \"#2E6BD0\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar defaultDark = {\n  colors: {\n    surface1: \"#151515\",\n    surface2: \"#252525\",\n    surface3: \"#2F2F2F\",\n    disabled: \"#4D4D4D\",\n    base: \"#808080\",\n    clickable: \"#999999\",\n    hover: \"#C5C5C5\",\n    accent: \"#E5E5E5\",\n    error: \"#FFB4A6\",\n    errorSurface: \"#690000\",\n    warning: \"#E7C400\",\n    warningSurface: \"#3A3000\"\n  },\n  syntax: {\n    plain: \"#FFFFFF\",\n    comment: {\n      color: \"#757575\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#77B7D7\",\n    tag: \"#DFAB5C\",\n    punctuation: \"#ffffff\",\n    definition: \"#86D9CA\",\n    property: \"#77B7D7\",\n    static: \"#C64640\",\n    string: \"#977CDC\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar SANDPACK_THEMES = {\n  light: defaultLight,\n  dark: defaultDark,\n  auto: typeof window !== \"undefined\" ? ((_a$a = window === null || window === void 0 ? void 0 : window.matchMedia) === null || _a$a === void 0 ? void 0 : _a$a.call(window, \"(prefers-color-scheme: dark)\").matches) ? defaultDark : defaultLight : defaultLight\n};\nvar getFileName = function (filePath) {\n  var lastIndexOfSlash = filePath.lastIndexOf(\"/\");\n  return filePath.slice(lastIndexOfSlash + 1);\n};\nvar calculateNearestUniquePath = function (currentPath, otherPaths) {\n  var currentPathParts = (currentPath[0] === \"/\" ? currentPath.slice(1) : currentPath).split(\"/\");\n  var resultPathParts = [];\n  if (currentPathParts.length === 1) {\n    resultPathParts.unshift(currentPathParts[0]);\n  } else {\n    for (var fileIndex = 0; fileIndex < otherPaths.length; fileIndex++) {\n      var otherPathParts = otherPaths[fileIndex].split(\"/\");\n      for (var partsFromEnd = 1; partsFromEnd <= currentPathParts.length; partsFromEnd++) {\n        var currentPathPart = currentPathParts[currentPathParts.length - partsFromEnd];\n        var otherPathPart = otherPathParts[otherPathParts.length - partsFromEnd];\n        if (resultPathParts.length < partsFromEnd) {\n          resultPathParts.unshift(currentPathPart);\n        }\n        if (currentPathPart !== otherPathPart) {\n          break;\n        }\n      }\n    }\n  }\n  if (resultPathParts.length < currentPathParts.length) {\n    resultPathParts.unshift(\"..\");\n  }\n  return resultPathParts.join(\"/\");\n};\nvar isDarkColor = function (color2) {\n  var r3 = 0;\n  var g2 = 0;\n  var b2 = 0;\n  if (color2.startsWith(\"#\")) {\n    if (color2.length < 7) {\n      return true;\n    }\n    r3 = parseInt(color2.substr(1, 2), 16);\n    g2 = parseInt(color2.substr(3, 2), 16);\n    b2 = parseInt(color2.substr(5, 2), 16);\n  } else {\n    var rgbValues = color2.replace(\"rgb(\", \"\").replace(\"rgba(\", \"\").replace(\")\", \"\").split(\",\");\n    if (rgbValues.length < 3) {\n      return true;\n    }\n    r3 = parseInt(rgbValues[0], 10);\n    g2 = parseInt(rgbValues[1], 10);\n    b2 = parseInt(rgbValues[2], 10);\n  }\n  var yiq = (r3 * 299 + g2 * 587 + b2 * 114) / 1e3;\n  return yiq < 128;\n};\nvar lastCount = 0;\nvar generateRandomId = function () {\n  var random = +(Date.now().toString(10).substr(0, 4) + lastCount++);\n  return random.toString(16);\n};\nvar toString = function () {\n  return \"\";\n};\nvar defineProperty = Object.getOwnPropertyDescriptors({\n  toString\n});\nObject.defineProperties(toString, defineProperty);\nvar _a$9;\nvar THEME_PREFIX = \"sp\";\nvar createTheme = (_a$9 = X({\n  prefix: THEME_PREFIX\n}), _a$9.createTheme);\nvar css = _a$9.css;\nvar getCssText = _a$9.getCssText;\nvar keyframes = _a$9.keyframes;\nvar defaultVariables = {\n  space: new Array(11).fill(\" \").reduce(function (acc, _, index) {\n    var _a2;\n    return __assign(__assign({}, acc), (_a2 = {}, _a2[index + 1] = (index + 1) * 4 + \"px\", _a2));\n  }, {}),\n  border: {\n    radius: \"4px\"\n  },\n  layout: {\n    height: \"300px\",\n    headerHeight: \"40px\"\n  },\n  transitions: {\n    default: \"150ms ease\"\n  },\n  zIndices: {\n    base: \"1\",\n    overlay: \"2\",\n    top: \"3\"\n  }\n};\nvar standardizeStitchesTheme = function (theme) {\n  var syntaxEntries = Object.entries(theme.syntax);\n  var syntax = syntaxEntries.reduce(function (tokenAcc, _a2) {\n    var _b2;\n    var tokenName = _a2[0],\n      tokenValue = _a2[1];\n    var newValues = (_b2 = {}, _b2[\"color-\" + tokenName] = tokenValue, _b2);\n    if (typeof tokenValue === \"object\") {\n      newValues = Object.entries(tokenValue).reduce(function (valueAcc, _a3) {\n        var _b3;\n        var styleProp = _a3[0],\n          styleValue = _a3[1];\n        return __assign(__assign({}, valueAcc), (_b3 = {}, _b3[styleProp + \"-\" + tokenName] = styleValue, _b3));\n      }, {});\n    }\n    return __assign(__assign({}, tokenAcc), newValues);\n  }, {});\n  return __assign(__assign({}, defaultVariables), {\n    colors: theme.colors,\n    font: theme.font,\n    syntax\n  });\n};\nvar standardizeTheme = function (inputTheme) {\n  var _a2, _b2, _c2, _d, _e;\n  if (inputTheme === void 0) {\n    inputTheme = \"light\";\n  }\n  var defaultLightThemeKey = \"default\";\n  if (typeof inputTheme === \"string\") {\n    var predefinedTheme = SANDPACK_THEMES[inputTheme];\n    if (!predefinedTheme) {\n      throw new Error(\"[sandpack-react]: invalid theme '\" + inputTheme + \"' provided.\");\n    }\n    return {\n      theme: predefinedTheme,\n      id: inputTheme,\n      mode: isDarkColor(predefinedTheme.colors.surface1) ? \"dark\" : \"light\"\n    };\n  }\n  var mode = isDarkColor((_b2 = (_a2 = inputTheme === null || inputTheme === void 0 ? void 0 : inputTheme.colors) === null || _a2 === void 0 ? void 0 : _a2.surface1) !== null && _b2 !== void 0 ? _b2 : defaultLight.colors.surface1) ? \"dark\" : \"light\";\n  var baseTheme = mode === \"dark\" ? defaultDark : defaultLight;\n  var colorsByMode = __assign(__assign({}, baseTheme.colors), (_c2 = inputTheme === null || inputTheme === void 0 ? void 0 : inputTheme.colors) !== null && _c2 !== void 0 ? _c2 : {});\n  var syntaxByMode = __assign(__assign({}, baseTheme.syntax), (_d = inputTheme === null || inputTheme === void 0 ? void 0 : inputTheme.syntax) !== null && _d !== void 0 ? _d : {});\n  var fontByMode = __assign(__assign({}, baseTheme.font), (_e = inputTheme === null || inputTheme === void 0 ? void 0 : inputTheme.font) !== null && _e !== void 0 ? _e : {});\n  var theme = {\n    colors: colorsByMode,\n    syntax: syntaxByMode,\n    font: fontByMode\n  };\n  var id = inputTheme ? simpleHashFunction(JSON.stringify(theme)) : defaultLightThemeKey;\n  return {\n    theme,\n    id: \"sp-\" + id,\n    mode\n  };\n};\nvar simpleHashFunction = function (str) {\n  var hash = 0;\n  for (var i2 = 0; i2 < str.length; hash &= hash) {\n    hash = 31 * hash + str.charCodeAt(i2++);\n  }\n  return Math.abs(hash);\n};\nvar fakeCss = function () {\n  return \"\";\n};\nfakeCss.toString = fakeCss;\nvar ClassNamesContext = /*#__PURE__*/createContext2({});\nvar ClassNamesProvider = function (_a2) {\n  var children = _a2.children,\n    classes = _a2.classes;\n  return jsx(ClassNamesContext.Provider, __assign({\n    value: classes || {}\n  }, {\n    children\n  }), void 0);\n};\nvar useClassNames = function () {\n  var contextClassNames = useContext2(ClassNamesContext);\n  return function sandpackClassNames(customClassName, allClassNames) {\n    if (allClassNames === void 0) {\n      allClassNames = [];\n    }\n    var custom = THEME_PREFIX + \"-\" + customClassName;\n    return joinClassNames.apply(void 0, __spreadArray(__spreadArray([], allClassNames, false), [custom, contextClassNames[custom]], false));\n  };\n};\nvar joinClassNames = function () {\n  var args = [];\n  for (var _i = 0; _i < arguments.length; _i++) {\n    args[_i] = arguments[_i];\n  }\n  return args.filter(Boolean).join(\" \");\n};\nvar wrapperClassName$3 = css({\n  all: \"initial\",\n  fontSize: \"$font$size\",\n  fontFamily: \"$font$body\",\n  display: \"block\",\n  boxSizing: \"border-box\",\n  textRendering: \"optimizeLegibility\",\n  WebkitTapHighlightColor: \"transparent\",\n  WebkitFontSmoothing: \"subpixel-antialiased\",\n  variants: {\n    variant: {\n      dark: {\n        colorScheme: \"dark\"\n      },\n      light: {\n        colorScheme: \"light\"\n      }\n    }\n  },\n  \"@media screen and (min-resolution: 2dppx)\": {\n    WebkitFontSmoothing: \"antialiased\",\n    MozOsxFontSmoothing: \"grayscale\"\n  },\n  \"*\": {\n    boxSizing: \"border-box\"\n  },\n  \".sp-wrapper:focus\": {\n    outline: \"0\"\n  }\n});\nvar SandpackThemeContext = /*#__PURE__*/React3.createContext({\n  theme: defaultLight,\n  id: \"light\",\n  mode: \"light\"\n});\nvar SandpackThemeProvider = function (_a2) {\n  var themeFromProps = _a2.theme,\n    children = _a2.children,\n    className = _a2.className,\n    props = __rest(_a2, [\"theme\", \"children\", \"className\"]);\n  var _b2 = standardizeTheme(themeFromProps),\n    theme = _b2.theme,\n    id = _b2.id,\n    mode = _b2.mode;\n  var classNames = useClassNames();\n  var themeClassName = React3.useMemo(function () {\n    return createTheme(id, standardizeStitchesTheme(theme));\n  }, [theme, id]);\n  return jsx(SandpackThemeContext.Provider, __assign({\n    value: {\n      theme,\n      id,\n      mode\n    }\n  }, {\n    children: jsx(\"div\", __assign({\n      className: classNames(\"wrapper\", [themeClassName, wrapperClassName$3({\n        variant: mode\n      }), className])\n    }, props, {\n      children\n    }), void 0)\n  }), void 0);\n};\nvar SandpackThemeConsumer = SandpackThemeContext.Consumer;\nvar commonFiles = {\n  \"/styles.css\": {\n    code: \"body {\\n  font-family: sans-serif;\\n  -webkit-font-smoothing: auto;\\n  -moz-font-smoothing: auto;\\n  -moz-osx-font-smoothing: grayscale;\\n  font-smoothing: auto;\\n  text-rendering: optimizeLegibility;\\n  font-smooth: always;\\n  -webkit-tap-highlight-color: transparent;\\n  -webkit-touch-callout: none;\\n}\\n\\nh1 {\\n  font-size: 1.5rem;\\n}\"\n  }\n};\nvar ASTRO_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/pages/index.astro\": {\n      code: '---\\nimport \"../styles.css\";\\nconst data = \"world\";\\n---\\n\\n<h1>Hello {data}</h1>\\n\\n<style>\\n  h1 {\\n    font-size: 1.5rem;\\n  }\\n</style>'\n    },\n    \".env\": {\n      code: 'ASTRO_TELEMETRY_DISABLED=\"1\"'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          astro: \"^1.6.12\",\n          \"esbuild-wasm\": \"^0.15.16\"\n        },\n        scripts: {\n          dev: \"astro dev\",\n          start: \"astro dev\",\n          build: \"astro build\",\n          preview: \"astro preview\",\n          astro: \"astro\"\n        }\n      })\n    }\n  },\n  main: \"/src/pages/index.astro\",\n  environment: \"node\"\n};\nvar NEXTJS_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/pages/_app.js\": {\n      code: \"import '../styles.css'\\n\\nexport default function MyApp({ Component, pageProps }) {\\n  return <Component {...pageProps} />\\n}\"\n    },\n    \"/pages/index.js\": {\n      code: 'export default function Home({ data }) {\\n  return (\\n    <div>\\n      <h1>Hello {data}</h1>\\n    </div>\\n  );\\n}\\n  \\nexport function getServerSideProps() {\\n  return {\\n    props: { data: \"world\" },\\n  }\\n}\\n'\n    },\n    \"/next.config.js\": {\n      code: \"/** @type {import('next').NextConfig} */\\nconst nextConfig = {\\n  reactStrictMode: true,\\n  swcMinify: true,\\n}\\n\\nmodule.exports = nextConfig\\n\"\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        name: \"my-app\",\n        version: \"0.1.0\",\n        private: true,\n        scripts: {\n          dev: \"NEXT_TELEMETRY_DISABLED=1 next dev\",\n          build: \"next build\",\n          start: \"next start\",\n          lint: \"next lint\"\n        },\n        dependencies: {\n          next: \"12.1.6\",\n          react: \"18.2.0\",\n          \"react-dom\": \"18.2.0\",\n          \"@next/swc-wasm-nodejs\": \"12.1.6\"\n        }\n      })\n    }\n  }),\n  main: \"/pages/index.js\",\n  environment: \"node\"\n};\nvar NODE_TEMPLATE = {\n  files: {\n    \"/index.js\": {\n      code: \"const http = require('http');\\n\\nconst hostname = '127.0.0.1';\\nconst port = 3000;\\n\\nconst server = http.createServer((req, res) => {\\n  res.statusCode = 200;\\n  res.setHeader('Content-Type', 'text/html');\\n  res.end('Hello world');\\n});\\n\\nserver.listen(port, hostname, () => {\\n  console.log(`Server running at http://${hostname}:${port}/`);\\n});\"\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {},\n        scripts: {\n          start: \"node index.js\"\n        },\n        main: \"index.js\"\n      })\n    }\n  },\n  main: \"/index.js\",\n  environment: \"node\"\n};\nvar VITE_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/index.js\": {\n      code: 'import \"./styles.css\";\\n\\ndocument.getElementById(\"app\").innerHTML = `\\n<h1>Hello world</h1>\\n`;\\n'\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"app\"></div>\\n    <script type=\"module\" src=\"/index.js\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        scripts: {\n          dev: \"vite\",\n          build: \"vite build\",\n          preview: \"vite preview\"\n        },\n        devDependencies: {\n          vite: \"4.1.4\",\n          \"esbuild-wasm\": \"0.17.12\"\n        }\n      })\n    }\n  }),\n  main: \"/index.js\",\n  environment: \"node\"\n};\nvar VITE_REACT_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/App.jsx\": {\n      code: 'export default function App() {\\n  const data = \"world\"\\n\\n  return <h1>Hello {data}</h1>\\n}\\n'\n    },\n    \"/index.jsx\": {\n      code: 'import { StrictMode } from \"react\";\\nimport { createRoot } from \"react-dom/client\";\\nimport \"./styles.css\";\\n\\nimport App from \"./App\";\\n\\nconst root = createRoot(document.getElementById(\"root\"));\\nroot.render(\\n  <StrictMode>\\n    <App />\\n  </StrictMode>\\n);'\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"root\"></div>\\n    <script type=\"module\" src=\"/index.jsx\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        scripts: {\n          dev: \"vite\",\n          build: \"vite build\",\n          preview: \"vite preview\"\n        },\n        dependencies: {\n          react: \"^18.2.0\",\n          \"react-dom\": \"^18.2.0\"\n        },\n        devDependencies: {\n          \"@vitejs/plugin-react\": \"3.1.0\",\n          vite: \"4.1.4\",\n          \"esbuild-wasm\": \"0.17.12\"\n        }\n      })\n    },\n    \"/vite.config.js\": {\n      code: 'import { defineConfig } from \"vite\";\\nimport react from \"@vitejs/plugin-react\";\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [react()],\\n});\\n'\n    }\n  }),\n  main: \"/App.jsx\",\n  environment: \"node\"\n};\nvar VITE_REACT_TS_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/App.tsx\": {\n      code: 'export default function App() {\\n  const data: string = \"world\"\\n\\n  return <h1>Hello {data}</h1>\\n}\\n'\n    },\n    \"/index.tsx\": {\n      code: 'import { StrictMode } from \"react\";\\nimport { createRoot } from \"react-dom/client\";\\nimport \"./styles.css\";\\n\\nimport App from \"./App\";\\nimport React from \"react\";\\n\\nconst root = createRoot(document.getElementById(\"root\") as HTMLElement);\\nroot.render(\\n  <StrictMode>\\n    <App />\\n  </StrictMode>\\n);\\n'\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"root\"></div>\\n    <script type=\"module\" src=\"/index.tsx\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/tsconfig.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          target: \"ESNext\",\n          useDefineForClassFields: true,\n          lib: [\"DOM\", \"DOM.Iterable\", \"ESNext\"],\n          allowJs: false,\n          skipLibCheck: true,\n          esModuleInterop: false,\n          allowSyntheticDefaultImports: true,\n          strict: true,\n          forceConsistentCasingInFileNames: true,\n          module: \"ESNext\",\n          moduleResolution: \"Node\",\n          resolveJsonModule: true,\n          isolatedModules: true,\n          noEmit: true,\n          jsx: \"react-jsx\"\n        },\n        include: [\"src\"],\n        references: [{\n          path: \"./tsconfig.node.json\"\n        }]\n      }, null, 2)\n    },\n    \"/tsconfig.node.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          composite: true,\n          module: \"ESNext\",\n          moduleResolution: \"Node\",\n          allowSyntheticDefaultImports: true\n        },\n        include: [\"vite.config.ts\"]\n      }, null, 2)\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        scripts: {\n          dev: \"vite\",\n          build: \"tsc && vite build\",\n          preview: \"vite preview\"\n        },\n        dependencies: {\n          react: \"^18.2.0\",\n          \"react-dom\": \"^18.2.0\"\n        },\n        devDependencies: {\n          \"@types/react\": \"^18.0.28\",\n          \"@types/react-dom\": \"^18.0.11\",\n          \"@vitejs/plugin-react\": \"^3.1.0\",\n          typescript: \"^4.9.5\",\n          vite: \"4.1.4\",\n          \"esbuild-wasm\": \"^0.17.12\"\n        }\n      }, null, 2)\n    },\n    \"/vite-env.d.ts\": {\n      code: '/// <reference types=\"vite/client\" />'\n    },\n    \"/vite.config.ts\": {\n      code: \"import { defineConfig } from 'vite'\\nimport react from '@vitejs/plugin-react'\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [react()],\\n})\\n\"\n    }\n  }),\n  main: \"/App.tsx\",\n  environment: \"node\"\n};\nvar VITE_SVELTE_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.svelte\": {\n      code: '<script>\\nconst data = \"world\";\\n</script>\\n\\n<h1>Hello {data}</h1>\\n\\n<style>\\nh1 {\\n  font-size: 1.5rem;\\n}\\n</style>'\n    },\n    \"/src/main.js\": {\n      code: `import App from './App.svelte'\nimport \"./styles.css\"\n\nconst app = new App({\n  target: document.getElementById('app'),\n})\n\nexport default app`\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"app\"></div>\\n    <script type=\"module\" src=\"/src/main.js\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/vite.config.js\": {\n      code: \"import { defineConfig } from 'vite'\\nimport { svelte } from '@sveltejs/vite-plugin-svelte'\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [svelte()],\\n})\"\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        type: \"module\",\n        scripts: {\n          dev: \"vite\"\n        },\n        devDependencies: {\n          \"@sveltejs/vite-plugin-svelte\": \"^2.0.2\",\n          svelte: \"^3.55.1\",\n          vite: \"4.0.4\",\n          \"esbuild-wasm\": \"^0.17.12\"\n        }\n      })\n    }\n  },\n  main: \"/src/App.svelte\",\n  environment: \"node\"\n};\nvar VITE_SVELTE_TS_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.svelte\": {\n      code: '<script lang=\"ts\">\\nconst data: string = \"world\";\\n</script>\\n\\n<h1>Hello {data}</h1>\\n\\n<style>\\nh1 {\\n  font-size: 1.5rem;\\n}\\n</style>'\n    },\n    \"/src/main.ts\": {\n      code: `import App from './App.svelte'\nimport \"./styles.css\"\n\nconst app = new App({\n  target: document.getElementById('app'),\n})\n\nexport default app`\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"app\"></div>\\n    <script type=\"module\" src=\"/src/main.ts\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/vite-env.d.ts\": {\n      code: '/// <reference types=\"svelte\" />\\n/// <reference types=\"vite/client\" />'\n    },\n    \"svelte.config.js\": {\n      code: \"import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'\\n\\nexport default {\\n  // Consult https://svelte.dev/docs#compile-time-svelte-preprocess\\n  // for more information about preprocessors\\n  preprocess: vitePreprocess(),\\n}\\n\"\n    },\n    \"/vite.config.ts\": {\n      code: \"import { defineConfig } from 'vite'\\nimport { svelte } from '@sveltejs/vite-plugin-svelte'\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [svelte()],\\n})\"\n    },\n    \"tsconfig.json\": {\n      code: JSON.stringify({\n        extends: \"@tsconfig/svelte/tsconfig.json\",\n        compilerOptions: {\n          target: \"ESNext\",\n          useDefineForClassFields: true,\n          module: \"ESNext\",\n          resolveJsonModule: true,\n          allowJs: true,\n          checkJs: true,\n          isolatedModules: true\n        },\n        include: [\"src/**/*.d.ts\", \"src/**/*.ts\", \"src/**/*.js\", \"src/**/*.svelte\"],\n        references: [{\n          path: \"./tsconfig.node.json\"\n        }]\n      }, null, 2)\n    },\n    \"tsconfig.node.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          composite: true,\n          module: \"ESNext\",\n          moduleResolution: \"Node\"\n        },\n        include: [\"vite.config.ts\"]\n      }, null, 2)\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        type: \"module\",\n        scripts: {\n          dev: \"vite\"\n        },\n        devDependencies: {\n          \"@sveltejs/vite-plugin-svelte\": \"^2.0.2\",\n          \"@tsconfig/svelte\": \"^3.0.0\",\n          svelte: \"^3.55.1\",\n          \"svelte-check\": \"^2.10.3\",\n          tslib: \"^2.5.0\",\n          vite: \"4.1.4\",\n          \"esbuild-wasm\": \"^0.17.12\"\n        }\n      }, null, 2)\n    }\n  },\n  main: \"/src/App.svelte\",\n  environment: \"node\"\n};\nvar VITE_VUE_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.vue\": {\n      code: '<script setup>\\nimport { ref } from \"vue\";\\n\\nconst data = ref(\"world\");\\n</script>\\n\\n<template>\\n  <h1>Hello {{ data }}</h1>\\n</template>\\n\\n<style>\\nh1 {\\n  font-size: 1.5rem;\\n}\\n</style>'\n    },\n    \"/src/main.js\": {\n      code: `import { createApp } from 'vue'\nimport App from './App.vue'\nimport \"./styles.css\"\n            \ncreateApp(App).mount('#app')            \n`\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"app\"></div>\\n    <script type=\"module\" src=\"/src/main.js\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/vite.config.js\": {\n      code: \"import { defineConfig } from 'vite'\\nimport vue from '@vitejs/plugin-vue'\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [vue()]\\n})\\n\"\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        scripts: {\n          dev: \"vite\",\n          build: \"vite build\",\n          preview: \"vite preview\"\n        },\n        dependencies: {\n          vue: \"^3.2.45\"\n        },\n        devDependencies: {\n          \"@vitejs/plugin-vue\": \"3.2.0\",\n          vite: \"4.1.4\",\n          \"esbuild-wasm\": \"0.17.12\"\n        }\n      })\n    }\n  },\n  main: \"/src/App.vue\",\n  environment: \"node\"\n};\nvar VITE_VUE_TS_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.vue\": {\n      code: '<script setup lang=\"ts\">\\nimport { ref } from \"vue\";\\n\\nconst data = ref<string>(\"world\");\\n</script>\\n\\n<template>\\n  <h1>Hello {{ data }}</h1>\\n</template>\\n\\n<style>\\nh1 {\\n  font-size: 1.5rem;\\n}\\n</style>'\n    },\n    \"/src/main.ts\": {\n      code: `import { createApp } from 'vue'\nimport App from './App.vue'\nimport \"./styles.css\"\n\ncreateApp(App).mount('#app')\n`\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\" />\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\\n    <title>Vite App</title>\\n  </head>\\n  <body>\\n    <div id=\"app\"></div>\\n    <script type=\"module\" src=\"/src/main.ts\"></script>\\n  </body>\\n</html>\\n'\n    },\n    \"/vite-env.d.ts\": {\n      code: '/// <reference types=\"vite/client\" />'\n    },\n    \"/vite.config.ts\": {\n      code: \"import { defineConfig } from 'vite'\\nimport vue from '@vitejs/plugin-vue'\\n\\n// https://vitejs.dev/config/\\nexport default defineConfig({\\n  plugins: [vue()]\\n})\\n\"\n    },\n    \"tsconfig.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          target: \"ESNext\",\n          useDefineForClassFields: true,\n          module: \"ESNext\",\n          moduleResolution: \"Node\",\n          strict: true,\n          jsx: \"preserve\",\n          resolveJsonModule: true,\n          isolatedModules: true,\n          esModuleInterop: true,\n          lib: [\"ESNext\", \"DOM\"],\n          skipLibCheck: true,\n          noEmit: true\n        },\n        include: [\"src/**/*.ts\", \"src/**/*.d.ts\", \"src/**/*.tsx\", \"src/**/*.vue\"],\n        references: [{\n          path: \"./tsconfig.node.json\"\n        }]\n      }, null, 2)\n    },\n    \"tsconfig.node.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          composite: true,\n          module: \"ESNext\",\n          moduleResolution: \"Node\",\n          allowSyntheticDefaultImports: true\n        },\n        include: [\"vite.config.ts\"]\n      }, null, 2)\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        scripts: {\n          dev: \"vite\",\n          build: \"tsc && vite build\",\n          preview: \"vite preview\"\n        },\n        dependencies: {\n          vue: \"^3.2.47\"\n        },\n        devDependencies: {\n          \"@vitejs/plugin-vue\": \"^4.0.0\",\n          vite: \"4.1.4\",\n          \"vue-tsc\": \"^1.2.0\",\n          typescript: \"^4.9.5\",\n          \"esbuild-wasm\": \"^0.17.12\"\n        }\n      }, null, 2)\n    }\n  },\n  main: \"/src/App.vue\",\n  environment: \"node\"\n};\nvar ANGULAR_TEMPLATE = {\n  files: {\n    \"/src/app/app.component.css\": commonFiles[\"/styles.css\"],\n    \"/src/app/app.component.html\": {\n      code: \"<div>\\n<h1>{{ helloWorld }}</h1>\\n</div>     \\n\"\n    },\n    \"/src/app/app.component.ts\": {\n      code: 'import { Component } from \"@angular/core\";\\n\\n@Component({\\n  selector: \"app-root\",\\n  templateUrl: \"./app.component.html\",\\n  styleUrls: [\"./app.component.css\"]\\n})\\nexport class AppComponent {\\n  helloWorld = \"Hello world\";\\n}           \\n'\n    },\n    \"/src/app/app.module.ts\": {\n      code: 'import { BrowserModule } from \"@angular/platform-browser\";\\nimport { NgModule } from \"@angular/core\";\\n      \\nimport { AppComponent } from \"./app.component\";\\n      \\n@NgModule({\\n  declarations: [AppComponent],\\n  imports: [BrowserModule],\\n  providers: [],\\n  bootstrap: [AppComponent]\\n})\\nexport class AppModule {}       \\n'\n    },\n    \"/src/index.html\": {\n      code: '<!doctype html>\\n<html lang=\"en\">\\n      \\n<head>\\n  <meta charset=\"utf-8\">\\n  <title>Angular</title>\\n  <base href=\"/\">\\n      \\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\\n  <link rel=\"icon\" type=\"image/x-icon\" href=\"favicon.ico\">\\n</head>\\n      \\n<body>\\n   <app-root></app-root>\\n</body>\\n      \\n</html>\\n'\n    },\n    \"/src/main.ts\": {\n      code: 'import { enableProdMode } from \"@angular/core\";\\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\\n      \\nimport { AppModule } from \"./app/app.module\";      \\n\\nplatformBrowserDynamic()\\n  .bootstrapModule(AppModule)\\n  .catch(err => console.log(err));\\n      \\n'\n    },\n    \"/src/polyfills.ts\": {\n      code: 'import \"core-js/proposals/reflect-metadata\";   \\n      import \"zone.js/dist/zone\";\\n'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          \"@angular/core\": \"^11.2.0\",\n          \"@angular/platform-browser\": \"^11.2.0\",\n          \"@angular/platform-browser-dynamic\": \"^11.2.0\",\n          \"@angular/common\": \"^11.2.0\",\n          \"@angular/compiler\": \"^11.2.0\",\n          \"zone.js\": \"0.11.3\",\n          \"core-js\": \"3.8.3\",\n          rxjs: \"6.6.3\"\n        },\n        main: \"/src/main.ts\"\n      })\n    }\n  },\n  main: \"/src/app/app.component.ts\",\n  environment: \"angular-cli\"\n};\nvar REACT_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/App.js\": {\n      code: \"export default function App() {\\n  return <h1>Hello world</h1>\\n}\\n\"\n    },\n    \"/index.js\": {\n      code: 'import React, { StrictMode } from \"react\";\\nimport { createRoot } from \"react-dom/client\";\\nimport \"./styles.css\";\\n\\nimport App from \"./App\";\\n\\nconst root = createRoot(document.getElementById(\"root\"));\\nroot.render(\\n  <StrictMode>\\n    <App />\\n  </StrictMode>\\n);'\n    },\n    \"/public/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\">\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\\n    <title>Document</title>\\n  </head>\\n  <body>\\n    <div id=\"root\"></div>\\n  </body>\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          react: \"^18.0.0\",\n          \"react-dom\": \"^18.0.0\",\n          \"react-scripts\": \"^5.0.0\"\n        },\n        main: \"/index.js\"\n      })\n    }\n  }),\n  main: \"/App.js\",\n  environment: \"create-react-app\"\n};\nvar REACT_TYPESCRIPT_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"tsconfig.json\": {\n      code: '{\\n  \"include\": [\\n    \"./**/*\"\\n  ],\\n  \"compilerOptions\": {\\n    \"strict\": true,\\n    \"esModuleInterop\": true,\\n    \"lib\": [ \"dom\", \"es2015\" ],\\n    \"jsx\": \"react-jsx\"\\n  }\\n}'\n    },\n    \"/App.tsx\": {\n      code: \"export default function App(): JSX.Element {\\n  return <h1>Hello world</h1>\\n}\\n\"\n    },\n    \"/index.tsx\": {\n      code: 'import React, { StrictMode } from \"react\";\\nimport { createRoot } from \"react-dom/client\";\\nimport \"./styles.css\";\\n\\nimport App from \"./App\";\\n\\nconst root = createRoot(document.getElementById(\"root\"));\\nroot.render(\\n  <StrictMode>\\n    <App />\\n  </StrictMode>\\n);'\n    },\n    \"/public/index.html\": {\n      code: '<!DOCTYPE html>\\n<html lang=\"en\">\\n  <head>\\n    <meta charset=\"UTF-8\">\\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\\n    <title>Document</title>\\n  </head>\\n  <body>\\n    <div id=\"root\"></div>\\n  </body>\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          react: \"^18.0.0\",\n          \"react-dom\": \"^18.0.0\",\n          \"react-scripts\": \"^4.0.0\"\n        },\n        devDependencies: {\n          \"@types/react\": \"^18.0.0\",\n          \"@types/react-dom\": \"^18.0.0\",\n          typescript: \"^4.0.0\"\n        },\n        main: \"/index.tsx\"\n      })\n    }\n  }),\n  main: \"/App.tsx\",\n  environment: \"create-react-app\"\n};\nvar SOLID_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/App.tsx\": {\n      code: 'import { Component } from \"solid-js\";\\n\\nconst App: Component = () => {\\n  return <h1>Hello world</h1>\\n};\\n\\nexport default App;'\n    },\n    \"/index.tsx\": {\n      code: 'import { render } from \"solid-js/web\";\\nimport App from \"./App\";\\n\\nimport \"./styles.css\";\\n\\nrender(() => <App />, document.getElementById(\"app\"));'\n    },\n    \"/index.html\": {\n      code: '<html>\\n<head>\\n  <title>Parcel Sandbox</title>\\n  <meta charset=\"UTF-8\" />\\n</head>\\n<body>\\n  <div id=\"app\"></div>\\n  <script src=\"src/index.tsx\"></script>\\n</body>\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          \"solid-js\": \"1.3.15\"\n        },\n        main: \"/index.tsx\"\n      })\n    }\n  }),\n  main: \"/App.tsx\",\n  environment: \"solid\"\n};\nvar SVELTE_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/App.svelte\": {\n      code: \"<style>\\n  h1 {\\n    font-size: 1.5rem;\\n  }\\n</style>\\n\\n<script>\\n  let name = 'world';\\n</script>\\n\\n<main>\\n  <h1>Hello {name}</h1>\\n</main>\"\n    },\n    \"/index.js\": {\n      code: 'import App from \"./App.svelte\";\\nimport \"./styles.css\";\\n\\nconst app = new App({\\n  target: document.body\\n});\\n\\nexport default app;\\n      '\n    },\n    \"/public/index.html\": {\n      code: '<!DOCTYPE html>\\n<html>\\n  <head>\\n    <meta charset=\"utf8\" />\\n    <meta name=\"viewport\" content=\"width=device-width\" />\\n\\n    <title>Svelte app</title>\\n\\n    <link rel=\"stylesheet\" href=\"public/bundle.css\" />\\n  </head>\\n\\n  <body>\\n    <script src=\"bundle.js\"></script>\\n  </body>\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {\n          svelte: \"^3.0.0\"\n        },\n        main: \"/index.js\"\n      })\n    }\n  }),\n  main: \"/App.svelte\",\n  environment: \"svelte\"\n};\nvar TEST_TYPESCRIPT_TEMPLATE = {\n  files: {\n    \"tsconfig.json\": {\n      code: '{\\n  \"include\": [\\n    \"./**/*\"\\n  ],\\n  \"compilerOptions\": {\\n    \"strict\": true,\\n    \"esModuleInterop\": true,\\n    \"lib\": [ \"dom\", \"es2015\" ],\\n    \"jsx\": \"react-jsx\"\\n  }\\n}'\n    },\n    \"/add.ts\": {\n      code: \"export const add = (a: number, b: number): number => a + b;\"\n    },\n    \"/add.test.ts\": {\n      code: \"import { add } from './add';\\n\\ndescribe('add', () => {\\n  test('Commutative Law of Addition', () => {\\n    expect(add(1, 2)).toBe(add(2, 1));\\n  });\\n});\"\n    },\n    \"package.json\": {\n      code: JSON.stringify({\n        dependencies: {},\n        devDependencies: {\n          typescript: \"^4.0.0\"\n        },\n        main: \"/add.ts\"\n      })\n    }\n  },\n  main: \"/add.test.ts\",\n  environment: \"parcel\",\n  mode: \"tests\"\n};\nvar VANILLA_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/index.js\": {\n      code: 'import \"./styles.css\";\\n\\ndocument.getElementById(\"app\").innerHTML = `\\n<h1>Hello world</h1>\\n`;\\n'\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html>\\n\\n<head>\\n  <title>Parcel Sandbox</title>\\n  <meta charset=\"UTF-8\" />\\n</head>\\n\\n<body>\\n  <div id=\"app\"></div>\\n\\n  <script src=\"index.js\">\\n  </script>\\n</body>\\n\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {},\n        main: \"/index.js\"\n      })\n    }\n  }),\n  main: \"/index.js\",\n  environment: \"parcel\"\n};\nvar VANILLA_TYPESCRIPT_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"tsconfig.json\": {\n      code: '{\\n  \"compilerOptions\": {\\n    \"strict\": true,\\n    \"module\": \"commonjs\",\\n    \"jsx\": \"preserve\",\\n    \"esModuleInterop\": true,\\n    \"sourceMap\": true,\\n    \"allowJs\": true,\\n    \"lib\": [\\n      \"es6\",\\n      \"dom\"\\n    ],\\n    \"rootDir\": \"src\",\\n    \"moduleResolution\": \"node\"\\n  }\\n}'\n    },\n    \"/index.ts\": {\n      code: 'import \"./styles.css\";\\n\\ndocument.getElementById(\"app\").innerHTML = `\\n<h1>Hello world</h1>\\n`;\\n'\n    },\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html>\\n\\n<head>\\n  <title>Parcel Sandbox</title>\\n  <meta charset=\"UTF-8\" />\\n</head>\\n\\n<body>\\n  <div id=\"app\"></div>\\n\\n  <script src=\"index.ts\">\\n  </script>\\n</body>\\n\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {},\n        devDependencies: {\n          typescript: \"^4.0.0\"\n        },\n        main: \"/index.ts\"\n      })\n    }\n  }),\n  main: \"/index.ts\",\n  environment: \"parcel\"\n};\nvar VUE_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.vue\": {\n      code: \"<template>\\n  <h1>Hello {{ msg }}</h1>\\n</template>\\n\\n<script setup>\\nimport { ref } from 'vue';\\nconst msg = ref('world');\\n</script>\"\n    },\n    \"/src/main.js\": {\n      code: `import { createApp } from 'vue'\nimport App from './App.vue'\nimport \"./styles.css\";\n\ncreateApp(App).mount('#app')\n`\n    },\n    \"/public/index.html\": {\n      code: `<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\" />\n    <title>codesandbox</title>\n  </head>\n  <body>\n    <noscript>\n      <strong\n        >We're sorry but codesandbox doesn't work properly without JavaScript\n        enabled. Please enable it to continue.</strong\n      >\n    </noscript>\n    <div id=\"app\"></div>\n    <!-- built files will be auto injected -->\n  </body>\n</html>\n`\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        name: \"vue3\",\n        version: \"0.1.0\",\n        private: true,\n        main: \"/src/main.js\",\n        scripts: {\n          serve: \"vue-cli-service serve\",\n          build: \"vue-cli-service build\"\n        },\n        dependencies: {\n          \"core-js\": \"^3.26.1\",\n          vue: \"^3.2.45\"\n        },\n        devDependencies: {\n          \"@vue/cli-plugin-babel\": \"^5.0.8\",\n          \"@vue/cli-service\": \"^5.0.8\"\n        }\n      })\n    }\n  },\n  main: \"/src/App.vue\",\n  environment: \"vue-cli\"\n};\nvar VUE_TS_TEMPLATE = {\n  files: {\n    \"/src/styles.css\": commonFiles[\"/styles.css\"],\n    \"/src/App.vue\": {\n      code: `<template>\n  <h1>Hello {{ msg }}</h1>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nconst msg = ref<string>('world');\n</script>`\n    },\n    \"/src/main.ts\": {\n      code: `import { createApp } from 'vue'\nimport App from './App.vue'\nimport \"./styles.css\";\n\ncreateApp(App).mount('#app')\n`\n    },\n    \"/src/shims-vue.d.ts\": '/* eslint-disable */\\ndeclare module \"*.vue\" {\\n  import type { DefineComponent } from \"vue\";\\n  const component: DefineComponent<{}, {}, any>;\\n  export default component;\\n}',\n    \"/public/index.html\": {\n      code: `<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\" />\n    <title>codesandbox</title>\n  </head>\n  <body>\n    <noscript>\n      <strong\n        >We're sorry but codesandbox doesn't work properly without JavaScript\n        enabled. Please enable it to continue.</strong\n      >\n    </noscript>\n    <div id=\"app\"></div>\n    <!-- built files will be auto injected -->\n  </body>\n</html>\n`\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        name: \"vue3-ts\",\n        version: \"0.1.0\",\n        private: true,\n        main: \"/src/main.ts\",\n        scripts: {\n          serve: \"vue-cli-service serve\",\n          build: \"vue-cli-service build\"\n        },\n        dependencies: {\n          \"core-js\": \"^3.26.1\",\n          vue: \"^3.2.45\"\n        },\n        devDependencies: {\n          \"@vue/cli-plugin-babel\": \"^5.0.8\",\n          \"@vue/cli-plugin-typescript\": \"^5.0.8\",\n          \"@vue/cli-service\": \"^5.0.8\",\n          typescript: \"^4.9.3\"\n        }\n      })\n    },\n    \"/tsconfig.json\": {\n      code: JSON.stringify({\n        compilerOptions: {\n          target: \"esnext\",\n          module: \"esnext\",\n          strict: true,\n          jsx: \"preserve\",\n          moduleResolution: \"node\",\n          experimentalDecorators: true,\n          skipLibCheck: true,\n          esModuleInterop: true,\n          allowSyntheticDefaultImports: true,\n          forceConsistentCasingInFileNames: true,\n          useDefineForClassFields: true,\n          sourceMap: false,\n          baseUrl: \".\",\n          types: [\"webpack-env\"],\n          paths: {\n            \"@/*\": [\"src/*\"]\n          },\n          lib: [\"esnext\", \"dom\", \"dom.iterable\", \"scripthost\"]\n        },\n        include: [\"src/**/*.ts\", \"src/**/*.tsx\", \"src/**/*.vue\", \"tests/**/*.ts\", \"tests/**/*.tsx\"],\n        exclude: [\"node_modules\"]\n      })\n    }\n  },\n  main: \"/src/App.vue\",\n  environment: \"vue-cli\"\n};\nvar STATIC_TEMPLATE = {\n  files: __assign(__assign({}, commonFiles), {\n    \"/index.html\": {\n      code: '<!DOCTYPE html>\\n<html>\\n\\n<head>\\n  <title>Parcel Sandbox</title>\\n  <meta charset=\"UTF-8\" />\\n  <link rel=\"stylesheet\" href=\"/styles.css\" />\\n</head>\\n\\n<body>\\n  <h1>Hello world</h1>\\n</body>\\n\\n</html>'\n    },\n    \"/package.json\": {\n      code: JSON.stringify({\n        dependencies: {},\n        main: \"/index.html\"\n      })\n    }\n  }),\n  main: \"/index.html\",\n  environment: \"static\"\n};\nvar SANDBOX_TEMPLATES = {\n  static: STATIC_TEMPLATE,\n  angular: ANGULAR_TEMPLATE,\n  react: REACT_TEMPLATE,\n  \"react-ts\": REACT_TYPESCRIPT_TEMPLATE,\n  solid: SOLID_TEMPLATE,\n  svelte: SVELTE_TEMPLATE,\n  \"test-ts\": TEST_TYPESCRIPT_TEMPLATE,\n  \"vanilla-ts\": VANILLA_TYPESCRIPT_TEMPLATE,\n  vanilla: VANILLA_TEMPLATE,\n  vue: VUE_TEMPLATE,\n  \"vue-ts\": VUE_TS_TEMPLATE,\n  node: NODE_TEMPLATE,\n  nextjs: NEXTJS_TEMPLATE,\n  vite: VITE_TEMPLATE,\n  \"vite-react\": VITE_REACT_TEMPLATE,\n  \"vite-react-ts\": VITE_REACT_TS_TEMPLATE,\n  \"vite-vue\": VITE_VUE_TEMPLATE,\n  \"vite-vue-ts\": VITE_VUE_TS_TEMPLATE,\n  \"vite-svelte\": VITE_SVELTE_TEMPLATE,\n  \"vite-svelte-ts\": VITE_SVELTE_TS_TEMPLATE,\n  astro: ASTRO_TEMPLATE\n};\nvar getSandpackStateFromProps = function (props) {\n  var _a2, _b2, _c2, _d, _e, _f;\n  var normalizedFilesPath = normalizePath(props.files);\n  var projectSetup = combineTemplateFilesToSetup({\n    template: props.template,\n    customSetup: props.customSetup,\n    files: normalizedFilesPath\n  });\n  var visibleFiles = normalizePath((_b2 = (_a2 = props.options) === null || _a2 === void 0 ? void 0 : _a2.visibleFiles) !== null && _b2 !== void 0 ? _b2 : []);\n  var activeFile = ((_c2 = props.options) === null || _c2 === void 0 ? void 0 : _c2.activeFile) ? resolveFile((_d = props.options) === null || _d === void 0 ? void 0 : _d.activeFile, projectSetup.files) : void 0;\n  if (visibleFiles.length === 0 && normalizedFilesPath) {\n    Object.keys(normalizedFilesPath).forEach(function (filePath) {\n      var file = normalizedFilesPath[filePath];\n      if (typeof file === \"string\") {\n        visibleFiles.push(filePath);\n        return;\n      }\n      if (!activeFile && file.active) {\n        activeFile = filePath;\n        if (file.hidden === true) {\n          visibleFiles.push(filePath);\n        }\n      }\n      if (!file.hidden) {\n        visibleFiles.push(filePath);\n      }\n    });\n  }\n  if (visibleFiles.length === 0) {\n    visibleFiles = [projectSetup.main];\n  }\n  if (projectSetup.entry && !projectSetup.files[projectSetup.entry]) {\n    projectSetup.entry = resolveFile(projectSetup.entry, projectSetup.files);\n  }\n  if (!activeFile && projectSetup.main) {\n    activeFile = projectSetup.main;\n  }\n  if (!activeFile || !projectSetup.files[activeFile]) {\n    activeFile = visibleFiles[0];\n  }\n  if (!visibleFiles.includes(activeFile)) {\n    visibleFiles.push(activeFile);\n  }\n  var files = addPackageJSONIfNeeded(projectSetup.files, (_e = projectSetup.dependencies) !== null && _e !== void 0 ? _e : {}, (_f = projectSetup.devDependencies) !== null && _f !== void 0 ? _f : {}, projectSetup.entry);\n  var existOpenPath = visibleFiles.filter(function (path) {\n    return files[path];\n  });\n  return {\n    visibleFiles: existOpenPath,\n    /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */activeFile,\n    files,\n    environment: projectSetup.environment,\n    shouldUpdatePreview: true\n  };\n};\nvar resolveFile = function (path, files) {\n  var normalizedFilesPath = normalizePath(files);\n  var normalizedPath = normalizePath(path);\n  if (normalizedPath in normalizedFilesPath) {\n    return normalizedPath;\n  }\n  if (!path) {\n    return null;\n  }\n  var resolvedPath = null;\n  var index = 0;\n  var strategies = [\".js\", \".jsx\", \".ts\", \".tsx\"];\n  while (!resolvedPath && index < strategies.length) {\n    var removeExtension = normalizedPath.split(\".\")[0];\n    var attemptPath = \"\" + removeExtension + strategies[index];\n    if (normalizedFilesPath[attemptPath] !== void 0) {\n      resolvedPath = attemptPath;\n    }\n    index++;\n  }\n  return resolvedPath;\n};\nvar combineTemplateFilesToSetup = function (_a2) {\n  var files = _a2.files,\n    template = _a2.template,\n    customSetup = _a2.customSetup;\n  if (!template) {\n    if (!customSetup) {\n      var defaultTemplate = SANDBOX_TEMPLATES.vanilla;\n      return __assign(__assign({}, defaultTemplate), {\n        files: __assign(__assign({}, defaultTemplate.files), convertedFilesToBundlerFiles(files))\n      });\n    }\n    if (!files || Object.keys(files).length === 0) {\n      throw new Error(\"[sandpack-react]: without a template, you must pass at least one file\");\n    }\n    return __assign(__assign({}, customSetup), {\n      files: convertedFilesToBundlerFiles(files)\n    });\n  }\n  var baseTemplate = SANDBOX_TEMPLATES[template];\n  if (!baseTemplate) {\n    throw new Error('[sandpack-react]: invalid template \"' + template + '\" provided');\n  }\n  if (!customSetup && !files) {\n    return baseTemplate;\n  }\n  return {\n    /**\n    * The input setup might have files in the simple form Record<string, string>\n    * so we convert them to the sandbox template format\n    */\n    files: convertedFilesToBundlerFiles(__assign(__assign({}, baseTemplate.files), files)),\n    /**\n    * Merge template dependencies and user custom dependencies.\n    * As a rule, the custom dependencies must overwrite the template ones.\n    */\n    dependencies: __assign(__assign({}, baseTemplate.dependencies), customSetup === null || customSetup === void 0 ? void 0 : customSetup.dependencies),\n    devDependencies: __assign(__assign({}, baseTemplate.devDependencies), customSetup === null || customSetup === void 0 ? void 0 : customSetup.devDependencies),\n    entry: normalizePath(customSetup === null || customSetup === void 0 ? void 0 : customSetup.entry),\n    main: baseTemplate.main,\n    environment: (customSetup === null || customSetup === void 0 ? void 0 : customSetup.environment) || baseTemplate.environment\n  };\n};\nvar convertedFilesToBundlerFiles = function (files) {\n  if (!files) return {};\n  return Object.keys(files).reduce(function (acc, key) {\n    if (typeof files[key] === \"string\") {\n      acc[key] = {\n        code: files[key]\n      };\n    } else {\n      acc[key] = files[key];\n    }\n    return acc;\n  }, {});\n};\nvar useAppState = function (props, files) {\n  var _a2 = useState3({\n      editorState: \"pristine\",\n      teamId: props.teamId\n    }),\n    state = _a2[0],\n    setState = _a2[1];\n  var originalStateFromProps = getSandpackStateFromProps(props);\n  var editorState = dequal(originalStateFromProps.files, files) ? \"pristine\" : \"dirty\";\n  if (editorState !== state.editorState) {\n    setState(function (prev) {\n      return __assign(__assign({}, prev), {\n        editorState\n      });\n    });\n  }\n  return state;\n};\nvar BUNDLER_TIMEOUT = 4e4;\nvar useClient = function (_a2, filesState) {\n  var _b2, _c2, _d;\n  var options = _a2.options,\n    customSetup = _a2.customSetup,\n    teamId = _a2.teamId;\n  options !== null && options !== void 0 ? options : options = {};\n  customSetup !== null && customSetup !== void 0 ? customSetup : customSetup = {};\n  var initModeFromProps = (options === null || options === void 0 ? void 0 : options.initMode) || \"lazy\";\n  var _e = useState3({\n      startRoute: options === null || options === void 0 ? void 0 : options.startRoute,\n      bundlerState: void 0,\n      error: null,\n      initMode: initModeFromProps,\n      reactDevTools: void 0,\n      status: ((_b2 = options === null || options === void 0 ? void 0 : options.autorun) !== null && _b2 !== void 0 ? _b2 : true) ? \"initial\" : \"idle\"\n    }),\n    state = _e[0],\n    setState = _e[1];\n  var intersectionObserver = useRef2(null);\n  var lazyAnchorRef = useRef2(null);\n  var registeredIframes = useRef2({});\n  var clients = useRef2({});\n  var timeoutHook = useRef2(null);\n  var unsubscribeClientListeners = useRef2({});\n  var unsubscribe = useRef2();\n  var queuedListeners = useRef2({\n    global: {}\n  });\n  var debounceHook = useRef2();\n  var prevEnvironment = useRef2(filesState.environment);\n  var createClient = useCallback2(function (iframe, clientId, clientPropsOverride) {\n    return __awaiter(void 0, void 0, void 0, function () {\n      var timeOut, shouldSetTimeout, client, globalListeners;\n      var _a3, _b3, _c3;\n      return __generator(this, function (_d2) {\n        switch (_d2.label) {\n          case 0:\n            if (clients.current[clientId]) {\n              clients.current[clientId].destroy();\n            }\n            options !== null && options !== void 0 ? options : options = {};\n            customSetup !== null && customSetup !== void 0 ? customSetup : customSetup = {};\n            timeOut = (_a3 = options === null || options === void 0 ? void 0 : options.bundlerTimeOut) !== null && _a3 !== void 0 ? _a3 : BUNDLER_TIMEOUT;\n            if (timeoutHook.current) {\n              clearTimeout(timeoutHook.current);\n            }\n            shouldSetTimeout = typeof unsubscribe.current !== \"function\";\n            if (shouldSetTimeout) {\n              timeoutHook.current = setTimeout(function () {\n                unregisterAllClients();\n                setState(function (prev) {\n                  return __assign(__assign({}, prev), {\n                    status: \"timeout\"\n                  });\n                });\n              }, timeOut);\n            }\n            return [4, loadSandpackClient(iframe, {\n              files: filesState.files,\n              template: filesState.environment\n            }, {\n              externalResources: options.externalResources,\n              bundlerURL: options.bundlerURL,\n              startRoute: (_b3 = clientPropsOverride === null || clientPropsOverride === void 0 ? void 0 : clientPropsOverride.startRoute) !== null && _b3 !== void 0 ? _b3 : options.startRoute,\n              fileResolver: options.fileResolver,\n              skipEval: (_c3 = options.skipEval) !== null && _c3 !== void 0 ? _c3 : false,\n              logLevel: options.logLevel,\n              showOpenInCodeSandbox: false,\n              showErrorScreen: true,\n              showLoadingScreen: false,\n              reactDevTools: state.reactDevTools,\n              customNpmRegistries: customSetup === null || customSetup === void 0 ? void 0 : customSetup.npmRegistries,\n              teamId\n            })];\n          case 1:\n            client = _d2.sent();\n            if (typeof unsubscribe.current !== \"function\") {\n              unsubscribe.current = client.listen(handleMessage);\n            }\n            unsubscribeClientListeners.current[clientId] = unsubscribeClientListeners.current[clientId] || {};\n            if (queuedListeners.current[clientId]) {\n              Object.keys(queuedListeners.current[clientId]).forEach(function (listenerId) {\n                var listener = queuedListeners.current[clientId][listenerId];\n                var unsubscribe2 = client.listen(listener);\n                unsubscribeClientListeners.current[clientId][listenerId] = unsubscribe2;\n              });\n              queuedListeners.current[clientId] = {};\n            }\n            globalListeners = Object.entries(queuedListeners.current.global);\n            globalListeners.forEach(function (_a4) {\n              var listenerId = _a4[0],\n                listener = _a4[1];\n              var unsubscribe2 = client.listen(listener);\n              unsubscribeClientListeners.current[clientId][listenerId] = unsubscribe2;\n            });\n            clients.current[clientId] = client;\n            return [2];\n        }\n      });\n    });\n  }, [filesState.environment, filesState.files, state.reactDevTools]);\n  var unregisterAllClients = useCallback2(function () {\n    Object.keys(clients.current).map(unregisterBundler);\n    if (typeof unsubscribe.current === \"function\") {\n      unsubscribe.current();\n      unsubscribe.current = void 0;\n    }\n  }, []);\n  var runSandpack = useCallback2(function () {\n    return __awaiter(void 0, void 0, void 0, function () {\n      return __generator(this, function (_a3) {\n        switch (_a3.label) {\n          case 0:\n            return [4, Promise.all(Object.entries(registeredIframes.current).map(function (_a4) {\n              var clientId = _a4[0],\n                _b3 = _a4[1],\n                iframe = _b3.iframe,\n                _c3 = _b3.clientPropsOverride,\n                clientPropsOverride = _c3 === void 0 ? {} : _c3;\n              return __awaiter(void 0, void 0, void 0, function () {\n                return __generator(this, function (_d2) {\n                  switch (_d2.label) {\n                    case 0:\n                      return [4, createClient(iframe, clientId, clientPropsOverride)];\n                    case 1:\n                      _d2.sent();\n                      return [2];\n                  }\n                });\n              });\n            }))];\n          case 1:\n            _a3.sent();\n            setState(function (prev) {\n              return __assign(__assign({}, prev), {\n                error: null,\n                status: \"running\"\n              });\n            });\n            return [2];\n        }\n      });\n    });\n  }, [createClient]);\n  var initializeSandpackIframe = useCallback2(function () {\n    var _a3, _b3, _c3;\n    var autorun = (_a3 = options === null || options === void 0 ? void 0 : options.autorun) !== null && _a3 !== void 0 ? _a3 : true;\n    if (!autorun) {\n      return;\n    }\n    var observerOptions = (_b3 = options === null || options === void 0 ? void 0 : options.initModeObserverOptions) !== null && _b3 !== void 0 ? _b3 : {\n      rootMargin: \"1000px 0px\"\n    };\n    if (intersectionObserver.current && lazyAnchorRef.current) {\n      (_c3 = intersectionObserver.current) === null || _c3 === void 0 ? void 0 : _c3.unobserve(lazyAnchorRef.current);\n    }\n    if (lazyAnchorRef.current && state.initMode === \"lazy\") {\n      intersectionObserver.current = new IntersectionObserver(function (entries) {\n        var _a4;\n        if (entries.some(function (entry) {\n          return entry.isIntersecting;\n        })) {\n          runSandpack();\n          if (lazyAnchorRef.current) {\n            (_a4 = intersectionObserver.current) === null || _a4 === void 0 ? void 0 : _a4.unobserve(lazyAnchorRef.current);\n          }\n        }\n      }, observerOptions);\n      intersectionObserver.current.observe(lazyAnchorRef.current);\n    } else if (lazyAnchorRef.current && state.initMode === \"user-visible\") {\n      intersectionObserver.current = new IntersectionObserver(function (entries) {\n        if (entries.some(function (entry) {\n          return entry.isIntersecting;\n        })) {\n          runSandpack();\n        } else {\n          Object.keys(clients.current).map(unregisterBundler);\n          unregisterAllClients();\n        }\n      }, observerOptions);\n      intersectionObserver.current.observe(lazyAnchorRef.current);\n    } else {\n      runSandpack();\n    }\n  }, [options === null || options === void 0 ? void 0 : options.autorun, options === null || options === void 0 ? void 0 : options.initModeObserverOptions, runSandpack, state.initMode, unregisterAllClients]);\n  var registerBundler = useCallback2(function (iframe, clientId, clientPropsOverride) {\n    return __awaiter(void 0, void 0, void 0, function () {\n      return __generator(this, function (_a3) {\n        switch (_a3.label) {\n          case 0:\n            registeredIframes.current[clientId] = {\n              iframe,\n              clientPropsOverride\n            };\n            if (!(state.status === \"running\")) return [3, 2];\n            return [4, createClient(iframe, clientId, clientPropsOverride)];\n          case 1:\n            _a3.sent();\n            _a3.label = 2;\n          case 2:\n            return [2];\n        }\n      });\n    });\n  }, [createClient, state.status]);\n  var unregisterBundler = function (clientId) {\n    var _a3, _b3;\n    var client = clients.current[clientId];\n    if (client) {\n      client.destroy();\n      (_a3 = client.iframe.contentWindow) === null || _a3 === void 0 ? void 0 : _a3.location.replace(\"about:blank\");\n      client.iframe.removeAttribute(\"src\");\n      delete clients.current[clientId];\n    }\n    delete registeredIframes.current[clientId];\n    if (timeoutHook.current) {\n      clearTimeout(timeoutHook.current);\n    }\n    var unsubscribeQueuedClients = Object.values((_b3 = unsubscribeClientListeners.current[clientId]) !== null && _b3 !== void 0 ? _b3 : {});\n    unsubscribeQueuedClients.forEach(function (listenerOfClient) {\n      var listenerFunctions = Object.values(listenerOfClient);\n      listenerFunctions.forEach(function (unsubscribe2) {\n        return unsubscribe2();\n      });\n    });\n    var status = Object.keys(clients.current).length > 0 ? \"running\" : \"idle\";\n    setState(function (prev) {\n      return __assign(__assign({}, prev), {\n        status\n      });\n    });\n  };\n  var handleMessage = function (msg) {\n    if (msg.type === \"start\") {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          error: null\n        });\n      });\n    } else if (msg.type === \"state\") {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          bundlerState: msg.state\n        });\n      });\n    } else if (msg.type === \"done\" && !msg.compilatonError || msg.type === \"connected\") {\n      if (timeoutHook.current) {\n        clearTimeout(timeoutHook.current);\n      }\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          error: null\n        });\n      });\n    } else if (msg.type === \"action\" && msg.action === \"show-error\") {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          error: extractErrorDetails(msg)\n        });\n      });\n    } else if (msg.type === \"action\" && msg.action === \"notification\" && msg.notificationType === \"error\") {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          error: {\n            message: msg.title\n          }\n        });\n      });\n    }\n  };\n  var registerReactDevTools = function (value) {\n    setState(function (prev) {\n      return __assign(__assign({}, prev), {\n        reactDevTools: value\n      });\n    });\n  };\n  var recompileMode = (_c2 = options === null || options === void 0 ? void 0 : options.recompileMode) !== null && _c2 !== void 0 ? _c2 : \"delayed\";\n  var recompileDelay = (_d = options === null || options === void 0 ? void 0 : options.recompileDelay) !== null && _d !== void 0 ? _d : 500;\n  var dispatchMessage = function (message, clientId) {\n    if (state.status !== \"running\") {\n      console.warn(\"[sandpack-react]: dispatch cannot be called while in idle mode\");\n      return;\n    }\n    if (clientId) {\n      clients.current[clientId].dispatch(message);\n    } else {\n      Object.values(clients.current).forEach(function (client) {\n        client.dispatch(message);\n      });\n    }\n  };\n  var addListener = function (listener, clientId) {\n    if (clientId) {\n      if (clients.current[clientId]) {\n        var unsubscribeListener = clients.current[clientId].listen(listener);\n        return unsubscribeListener;\n      } else {\n        var listenerId_1 = generateRandomId();\n        queuedListeners.current[clientId] = queuedListeners.current[clientId] || {};\n        unsubscribeClientListeners.current[clientId] = unsubscribeClientListeners.current[clientId] || {};\n        queuedListeners.current[clientId][listenerId_1] = listener;\n        var unsubscribeListener = function () {\n          if (queuedListeners.current[clientId][listenerId_1]) {\n            delete queuedListeners.current[clientId][listenerId_1];\n          } else if (unsubscribeClientListeners.current[clientId][listenerId_1]) {\n            unsubscribeClientListeners.current[clientId][listenerId_1]();\n            delete unsubscribeClientListeners.current[clientId][listenerId_1];\n          }\n        };\n        return unsubscribeListener;\n      }\n    } else {\n      var listenerId_2 = generateRandomId();\n      queuedListeners.current.global[listenerId_2] = listener;\n      var clientsList = Object.values(clients.current);\n      var currentClientUnsubscribeListeners_1 = clientsList.map(function (client) {\n        return client.listen(listener);\n      });\n      var unsubscribeListener = function () {\n        currentClientUnsubscribeListeners_1.forEach(function (unsubscribe2) {\n          return unsubscribe2();\n        });\n        delete queuedListeners.current.global[listenerId_2];\n        Object.values(unsubscribeClientListeners.current).forEach(function (client) {\n          var _a3;\n          (_a3 = client === null || client === void 0 ? void 0 : client[listenerId_2]) === null || _a3 === void 0 ? void 0 : _a3.call(client);\n        });\n      };\n      return unsubscribeListener;\n    }\n  };\n  useEffect3(function watchFileChanges() {\n    if (state.status !== \"running\" || !filesState.shouldUpdatePreview) {\n      return;\n    }\n    if (prevEnvironment.current !== filesState.environment) {\n      prevEnvironment.current = filesState.environment;\n      Object.entries(clients.current).forEach(function (_a3) {\n        var key = _a3[0],\n          client = _a3[1];\n        registerBundler(client.iframe, key);\n      });\n    }\n    if (recompileMode === \"immediate\") {\n      Object.values(clients.current).forEach(function (client) {\n        if (client.status === \"done\") {\n          client.updateSandbox({\n            files: filesState.files,\n            template: filesState.environment\n          });\n        }\n      });\n    }\n    if (recompileMode === \"delayed\") {\n      if (typeof window === \"undefined\") return;\n      window.clearTimeout(debounceHook.current);\n      debounceHook.current = window.setTimeout(function () {\n        Object.values(clients.current).forEach(function (client) {\n          if (client.status === \"done\") {\n            client.updateSandbox({\n              files: filesState.files,\n              template: filesState.environment\n            });\n          }\n        });\n      }, recompileDelay);\n    }\n    return function () {\n      window.clearTimeout(debounceHook.current);\n    };\n  }, [filesState.files, filesState.environment, filesState.shouldUpdatePreview, recompileDelay, recompileMode, registerBundler, state.status]);\n  useEffect3(function watchInitMode() {\n    if (initModeFromProps !== state.initMode) {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          initMode: initModeFromProps\n        });\n      });\n      initializeSandpackIframe();\n    }\n  }, [initModeFromProps, initializeSandpackIframe, state.initMode]);\n  useEffect3(function () {\n    return function unmountClient() {\n      if (typeof unsubscribe.current === \"function\") {\n        unsubscribe.current();\n      }\n      if (timeoutHook.current) {\n        clearTimeout(timeoutHook.current);\n      }\n      if (debounceHook.current) {\n        clearTimeout(debounceHook.current);\n      }\n      if (intersectionObserver.current) {\n        intersectionObserver.current.disconnect();\n      }\n    };\n  }, []);\n  return [state, {\n    clients: clients.current,\n    initializeSandpackIframe,\n    runSandpack,\n    registerBundler,\n    unregisterBundler,\n    registerReactDevTools,\n    addListener,\n    dispatchMessage,\n    lazyAnchorRef,\n    unsubscribeClientListenersRef: unsubscribeClientListeners,\n    queuedListenersRef: queuedListeners\n  }];\n};\nvar useFiles = function (props) {\n  var originalStateFromProps = getSandpackStateFromProps(props);\n  var _a2 = useState3(originalStateFromProps),\n    state = _a2[0],\n    setState = _a2[1];\n  var isMountedRef = useRef2(false);\n  useEffect3(function () {\n    if (isMountedRef.current) {\n      setState(getSandpackStateFromProps(props));\n    } else {\n      isMountedRef.current = true;\n    }\n  }, [props.files, props.customSetup, props.template]);\n  var updateFile = function (pathOrFiles, code, shouldUpdatePreview) {\n    if (shouldUpdatePreview === void 0) {\n      shouldUpdatePreview = true;\n    }\n    setState(function (prev) {\n      var _a3;\n      var files = prev.files;\n      if (typeof pathOrFiles === \"string\" && typeof code === \"string\") {\n        files = __assign(__assign({}, files), (_a3 = {}, _a3[pathOrFiles] = {\n          code\n        }, _a3));\n      } else if (typeof pathOrFiles === \"object\") {\n        files = __assign(__assign({}, files), convertedFilesToBundlerFiles(pathOrFiles));\n      }\n      return __assign(__assign({}, prev), {\n        files: normalizePath(files),\n        shouldUpdatePreview\n      });\n    });\n  };\n  var operations = {\n    openFile: function (path) {\n      setState(function (_a3) {\n        var visibleFiles = _a3.visibleFiles,\n          rest = __rest(_a3, [\"visibleFiles\"]);\n        var newPaths = visibleFiles.includes(path) ? visibleFiles : __spreadArray(__spreadArray([], visibleFiles, true), [path], false);\n        return __assign(__assign({}, rest), {\n          activeFile: path,\n          visibleFiles: newPaths\n        });\n      });\n    },\n    resetFile: function (path) {\n      setState(function (prevState) {\n        var _a3;\n        return __assign(__assign({}, prevState), {\n          files: __assign(__assign({}, prevState.files), (_a3 = {}, _a3[path] = originalStateFromProps.files[path], _a3))\n        });\n      });\n    },\n    resetAllFiles: function () {\n      setState(function (prev) {\n        return __assign(__assign({}, prev), {\n          files: originalStateFromProps.files\n        });\n      });\n    },\n    setActiveFile: function (activeFile) {\n      if (state.files[activeFile]) {\n        setState(function (prev) {\n          return __assign(__assign({}, prev), {\n            activeFile\n          });\n        });\n      }\n    },\n    updateCurrentFile: function (code, shouldUpdatePreview) {\n      if (shouldUpdatePreview === void 0) {\n        shouldUpdatePreview = true;\n      }\n      updateFile(state.activeFile, code, shouldUpdatePreview);\n    },\n    updateFile,\n    addFile: updateFile,\n    closeFile: function (path) {\n      if (state.visibleFiles.length === 1) {\n        return;\n      }\n      setState(function (_a3) {\n        var visibleFiles = _a3.visibleFiles,\n          activeFile = _a3.activeFile,\n          prev = __rest(_a3, [\"visibleFiles\", \"activeFile\"]);\n        var indexOfRemovedPath = visibleFiles.indexOf(path);\n        var newPaths = visibleFiles.filter(function (openPath) {\n          return openPath !== path;\n        });\n        return __assign(__assign({}, prev), {\n          activeFile: path === activeFile ? indexOfRemovedPath === 0 ? visibleFiles[1] : visibleFiles[indexOfRemovedPath - 1] : activeFile,\n          visibleFiles: newPaths\n        });\n      });\n    },\n    deleteFile: function (path, shouldUpdatePreview) {\n      if (shouldUpdatePreview === void 0) {\n        shouldUpdatePreview = true;\n      }\n      setState(function (_a3) {\n        var visibleFiles = _a3.visibleFiles,\n          files = _a3.files,\n          activeFile = _a3.activeFile,\n          rest = __rest(_a3, [\"visibleFiles\", \"files\", \"activeFile\"]);\n        var newFiles = __assign({}, files);\n        delete newFiles[path];\n        var remainingVisibleFiles = visibleFiles.filter(function (openPath) {\n          return openPath !== path;\n        });\n        var deletedLastVisibleFile = remainingVisibleFiles.length === 0;\n        if (deletedLastVisibleFile) {\n          var nextFile = Object.keys(files)[Object.keys(files).length - 1];\n          return __assign(__assign({}, rest), {\n            visibleFiles: [nextFile],\n            activeFile: nextFile,\n            files: newFiles,\n            shouldUpdatePreview\n          });\n        }\n        return __assign(__assign({}, rest), {\n          visibleFiles: remainingVisibleFiles,\n          activeFile: path === activeFile ? remainingVisibleFiles[remainingVisibleFiles.length - 1] : activeFile,\n          files: newFiles,\n          shouldUpdatePreview\n        });\n      });\n    }\n  };\n  return [__assign(__assign({}, state), {\n    visibleFilesFromProps: originalStateFromProps.visibleFiles\n  }), operations];\n};\nvar Sandpack$1 = /*#__PURE__*/React3.createContext(null);\nvar SandpackProvider = function (props) {\n  var _a2, _b2;\n  var children = props.children,\n    options = props.options,\n    style = props.style,\n    className = props.className,\n    theme = props.theme;\n  var _c2 = useFiles(props),\n    fileState = _c2[0],\n    fileOperations = _c2[1];\n  var _d = useClient(props, fileState),\n    clientState = _d[0],\n    _e = _d[1],\n    dispatchMessage = _e.dispatchMessage,\n    addListener = _e.addListener,\n    clientOperations = __rest(_e, [\"dispatchMessage\", \"addListener\"]);\n  var appState = useAppState(props, fileState.files);\n  React3.useEffect(function () {\n    clientOperations.initializeSandpackIframe();\n  }, []);\n  return jsx(Sandpack$1.Provider, __assign({\n    value: __assign(__assign(__assign(__assign(__assign(__assign({}, fileState), clientState), appState), fileOperations), clientOperations), {\n      autoReload: (_b2 = (_a2 = props.options) === null || _a2 === void 0 ? void 0 : _a2.autoReload) !== null && _b2 !== void 0 ? _b2 : true,\n      listen: addListener,\n      dispatch: dispatchMessage\n    })\n  }, {\n    children: jsx(ClassNamesProvider, __assign({\n      classes: options === null || options === void 0 ? void 0 : options.classes\n    }, {\n      children: jsx(SandpackThemeProvider, __assign({\n        className,\n        style,\n        theme\n      }, {\n        children\n      }), void 0)\n    }), void 0)\n  }), void 0);\n};\nvar SandpackConsumer = Sandpack$1.Consumer;\nfunction useSandpack() {\n  var sandpack = React3.useContext(Sandpack$1);\n  if (sandpack === null) {\n    throw new Error('[sandpack-react]: \"useSandpack\" must be wrapped by a \"SandpackProvider\"');\n  }\n  var dispatch = sandpack.dispatch,\n    listen = sandpack.listen,\n    rest = __rest(sandpack, [\"dispatch\", \"listen\"]);\n  return {\n    sandpack: __assign({}, rest),\n    dispatch,\n    listen\n  };\n}\nvar useActiveCode = function () {\n  var _a2, _b2, _c2;\n  var sandpack = useSandpack().sandpack;\n  return {\n    code: (_a2 = sandpack.files[sandpack.activeFile]) === null || _a2 === void 0 ? void 0 : _a2.code,\n    readOnly: (_c2 = (_b2 = sandpack.files[sandpack.activeFile]) === null || _b2 === void 0 ? void 0 : _b2.readOnly) !== null && _c2 !== void 0 ? _c2 : false,\n    updateCode: sandpack.updateCurrentFile\n  };\n};\nvar _a$8;\nvar _b$2;\nvar _c;\nvar iconStandaloneClassName = css({\n  svg: {\n    margin: \"auto\"\n  }\n});\nvar buttonClassName = css((_a$8 = {\n  appearance: \"none\",\n  outline: \"none\",\n  display: \"flex\",\n  alignItems: \"center\",\n  fontSize: \"inherit\",\n  fontFamily: \"inherit\",\n  backgroundColor: \"transparent\",\n  transition: \"color $default, background $default\",\n  cursor: \"pointer\",\n  color: \"$colors$clickable\",\n  border: 0,\n  textDecoration: \"none\",\n  \"&:disabled\": {\n    color: \"$colors$disabled\"\n  },\n  \"&:hover:not(:disabled,[data-active='true'])\": {\n    color: \"$colors$hover\"\n  },\n  '&[data-active=\"true\"]': {\n    color: \"$colors$accent\"\n  },\n  svg: {\n    minWidth: \"$space$4\",\n    width: \"$space$4\",\n    height: \"$space$4\"\n  }\n}, _a$8[\"&.\" + iconStandaloneClassName] = {\n  padding: \"$space$1\",\n  height: \"$space$7\",\n  display: \"flex\"\n}, _a$8[\"&.\" + iconStandaloneClassName + \"&:not(:has(span))\"] = {\n  width: \"$space$7\"\n}, _a$8[\"&.\" + iconStandaloneClassName + \"&:has(svg + span)\"] = {\n  paddingRight: \"$space$3\",\n  paddingLeft: \"$space$2\",\n  gap: \"$space$1\"\n}, _a$8));\nvar roundedButtonClassName = css({\n  backgroundColor: \"$colors$surface2\",\n  borderRadius: \"99999px\",\n  border: \"1px solid $colors$surface3\",\n  '&[data-active=\"true\"]': {\n    color: \"$colors$surface1\",\n    background: \"$colors$accent\"\n  },\n  \"&:hover:not(:disabled,[data-active='true'])\": {\n    backgroundColor: \"$colors$surface3\"\n  }\n});\nvar iconClassName = css({\n  padding: 0\n});\nvar fadeIn = keyframes({\n  \"0%\": {\n    opacity: 0\n  },\n  \"100%\": {\n    opacity: 1\n  }\n});\nvar absoluteClassName = css({\n  position: \"absolute\",\n  bottom: \"0\",\n  left: \"0\",\n  right: \"0\",\n  top: \"0\",\n  margin: \"0\",\n  overflow: \"auto\",\n  height: \"100%\",\n  zIndex: \"$top\"\n});\nvar errorClassName = css((_b$2 = {\n  whiteSpace: \"pre-wrap\",\n  padding: \"$space$10\",\n  backgroundColor: \"$colors$surface1\",\n  display: \"flex\",\n  gap: \"$space$2\",\n  flexDirection: \"column\"\n}, _b$2[\".\" + buttonClassName] = {\n  width: \"auto\",\n  gap: \"$space$2\",\n  padding: \"0 $space$3 0 $space$2\",\n  marginTop: \"$space$1\"\n}, _b$2.variants = {\n  solidBg: {\n    true: {\n      backgroundColor: \"$colors$errorSurface\"\n    }\n  }\n}, _b$2));\nvar errorBundlerClassName = css((_c = {\n  padding: \"$space$10\",\n  backgroundColor: \"$colors$surface1\"\n}, _c[\".\" + buttonClassName] = {\n  marginTop: \"$space$6\",\n  width: \"auto\",\n  gap: \"$space$2\",\n  padding: \"0 $space$3 0 $space$2\"\n}, _c));\nvar errorMessageClassName = css({\n  animation: fadeIn + \" 150ms ease\",\n  color: \"$colors$error\",\n  display: \"flex\",\n  flexDirection: \"column\",\n  gap: \"$space$3\",\n  variants: {\n    errorCode: {\n      true: {\n        fontFamily: \"$font$mono\"\n      }\n    }\n  },\n  a: {\n    color: \"inherit\"\n  },\n  p: {\n    margin: 0\n  }\n});\nvar _a$7;\nvar tabsClassName = css({\n  borderBottom: \"1px solid $colors$surface2\",\n  background: \"$colors$surface1\"\n});\nvar tabsScrollableClassName = css({\n  padding: \"0 $space$2\",\n  overflow: \"auto\",\n  display: \"flex\",\n  flexWrap: \"nowrap\",\n  alignItems: \"stretch\",\n  minHeight: \"40px\",\n  marginBottom: \"-1px\"\n});\nvar closeButtonClassName = css({\n  padding: \"0 $space$1 0 $space$1\",\n  borderRadius: \"$border$radius\",\n  marginLeft: \"$space$1\",\n  width: \"$space$5\",\n  visibility: \"hidden\",\n  svg: {\n    width: \"$space$3\",\n    height: \"$space$3\",\n    display: \"block\",\n    position: \"relative\",\n    top: 1\n  }\n});\nvar tabButton = css((_a$7 = {\n  padding: \"0 $space$2\",\n  height: \"$layout$headerHeight\",\n  whiteSpace: \"nowrap\",\n  \"&:focus\": {\n    outline: \"none\"\n  }\n}, _a$7[\"&:hover > .\" + closeButtonClassName] = {\n  visibility: \"unset\"\n}, _a$7));\nvar FileTabs = function (_a2) {\n  var closableTabs = _a2.closableTabs,\n    className = _a2.className,\n    props = __rest(_a2, [\"closableTabs\", \"className\"]);\n  var sandpack = useSandpack().sandpack;\n  var classNames = useClassNames();\n  var activeFile = sandpack.activeFile,\n    visibleFiles = sandpack.visibleFiles,\n    setActiveFile = sandpack.setActiveFile;\n  var handleCloseFile = function (ev) {\n    ev.stopPropagation();\n    var tabElm = ev.target.closest(\"[data-active]\");\n    var pathToClose = tabElm === null || tabElm === void 0 ? void 0 : tabElm.getAttribute(\"title\");\n    if (!pathToClose) {\n      return;\n    }\n    sandpack.closeFile(pathToClose);\n  };\n  var getTriggerText = function (currentPath) {\n    var documentFileName = getFileName(currentPath);\n    var pathsWithDuplicateFileNames = visibleFiles.reduce(function (prev, curr) {\n      if (curr === currentPath) {\n        return prev;\n      }\n      var fileName = getFileName(curr);\n      if (fileName === documentFileName) {\n        prev.push(curr);\n        return prev;\n      }\n      return prev;\n    }, []);\n    if (pathsWithDuplicateFileNames.length === 0) {\n      return documentFileName;\n    } else {\n      return calculateNearestUniquePath(currentPath, pathsWithDuplicateFileNames);\n    }\n  };\n  return jsx(\"div\", __assign({\n    className: classNames(\"tabs\", [tabsClassName, className]),\n    translate: \"no\"\n  }, props, {\n    children: jsx(\"div\", __assign({\n      \"aria-label\": \"Select active file\",\n      className: classNames(\"tabs-scrollable-container\", [tabsScrollableClassName]),\n      role: \"tablist\"\n    }, {\n      children: visibleFiles.map(function (filePath) {\n        return jsxs(\"button\", __assign({\n          \"aria-selected\": filePath === activeFile,\n          className: classNames(\"tab-button\", [buttonClassName, tabButton]),\n          \"data-active\": filePath === activeFile,\n          onClick: function () {\n            return setActiveFile(filePath);\n          },\n          role: \"tab\",\n          title: filePath,\n          type: \"button\"\n        }, {\n          children: [getTriggerText(filePath), closableTabs && visibleFiles.length > 1 && jsx(\"span\", __assign({\n            className: classNames(\"close-button\", [closeButtonClassName]),\n            onClick: handleCloseFile\n          }, {\n            children: jsx(CloseIcon, {}, void 0)\n          }), void 0)]\n        }), filePath);\n      })\n    }), void 0)\n  }), void 0);\n};\nvar RoundedButton = function (_a2) {\n  var onClick = _a2.onClick,\n    className = _a2.className,\n    children = _a2.children;\n  var classNames = useClassNames();\n  return jsx(\"button\", __assign({\n    className: classNames(\"button\", [classNames(\"icon-standalone\"), buttonClassName, iconStandaloneClassName, roundedButtonClassName, className]),\n    onClick,\n    type: \"button\"\n  }, {\n    children\n  }), void 0);\n};\nvar runButtonClassName = css({\n  position: \"absolute\",\n  bottom: \"$space$2\",\n  right: \"$space$2\",\n  paddingRight: \"$space$3\"\n});\nvar RunButton$1 = function (_a2) {\n  _a2.className;\n  var onClick = _a2.onClick,\n    props = __rest(_a2, [\"className\", \"onClick\"]);\n  var sandpack = useSandpack().sandpack;\n  return jsxs(RoundedButton, __assign({\n    className: runButtonClassName.toString(),\n    onClick: function (event) {\n      sandpack.runSandpack();\n      onClick === null || onClick === void 0 ? void 0 : onClick(event);\n    }\n  }, props, {\n    children: [jsx(RunIcon, {}, void 0), jsx(\"span\", {\n      children: \"Run\"\n    }, void 0)]\n  }), void 0);\n};\nvar _a$6;\nvar stackClassName = css((_a$6 = {\n  display: \"flex\",\n  flexDirection: \"column\",\n  width: \"100%\",\n  position: \"relative\",\n  backgroundColor: \"$colors$surface1\",\n  gap: 1\n}, _a$6[\"&:has(.\" + THEME_PREFIX + \"-stack)\"] = {\n  backgroundColor: \"$colors$surface2\"\n}, _a$6));\nvar SandpackStack = function (_a2) {\n  var className = _a2.className,\n    props = __rest(_a2, [\"className\"]);\n  var classNames = useClassNames();\n  return jsx(\"div\", __assign({\n    className: classNames(\"stack\", [stackClassName, className])\n  }, props), void 0);\n};\nvar useSandpackTheme = function () {\n  var _a2 = React3.useContext(SandpackThemeContext),\n    theme = _a2.theme,\n    id = _a2.id,\n    mode = _a2.mode;\n  return {\n    theme,\n    themeId: id,\n    themeMode: mode\n  };\n};\nvar shallowEqual = function (a2, b2) {\n  if (a2.length !== b2.length) return false;\n  var result = true;\n  for (var index = 0; index < a2.length; index++) {\n    if (a2[index] !== b2[index]) {\n      result = false;\n      break;\n    }\n  }\n  return result;\n};\nvar getCodeMirrorPosition = function (doc, _a2) {\n  var line = _a2.line,\n    column = _a2.column;\n  return doc.line(line).from + (column !== null && column !== void 0 ? column : 0) - 1;\n};\nvar getEditorTheme = function () {\n  return EditorView.theme({\n    \"&\": {\n      backgroundColor: \"var(--\" + THEME_PREFIX + \"-colors-surface1)\",\n      color: \"var(--\" + THEME_PREFIX + \"-syntax-color-plain)\",\n      height: \"100%\"\n    },\n    \".cm-matchingBracket, .cm-nonmatchingBracket, &.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket\": {\n      color: \"inherit\",\n      backgroundColor: \"rgba(128,128,128,.25)\",\n      backgroundBlendMode: \"difference\"\n    },\n    \"&.cm-editor.cm-focused\": {\n      outline: \"none\"\n    },\n    \".cm-activeLine\": {\n      backgroundColor: \"var(--\" + THEME_PREFIX + \"-colors-surface3)\",\n      borderRadius: \"var(--\" + THEME_PREFIX + \"-border-radius)\"\n    },\n    \".cm-errorLine\": {\n      backgroundColor: \"var(--\" + THEME_PREFIX + \"-colors-errorSurface)\",\n      borderRadius: \"var(--\" + THEME_PREFIX + \"-border-radius)\"\n    },\n    \".cm-content\": {\n      caretColor: \"var(--\" + THEME_PREFIX + \"-colors-accent)\",\n      padding: \"0 var(--\" + THEME_PREFIX + \"-space-4)\"\n    },\n    \".cm-scroller\": {\n      fontFamily: \"var(--\" + THEME_PREFIX + \"-font-mono)\",\n      lineHeight: \"var(--\" + THEME_PREFIX + \"-font-lineHeight)\"\n    },\n    \".cm-gutters\": {\n      backgroundColor: \"var(--\" + THEME_PREFIX + \"-colors-surface1)\",\n      color: \"var(--\" + THEME_PREFIX + \"-colors-disabled)\",\n      border: \"none\",\n      paddingLeft: \"var(--\" + THEME_PREFIX + \"-space-1)\"\n    },\n    \".cm-gutter.cm-lineNumbers\": {\n      fontSize: \".6em\"\n    },\n    \".cm-lineNumbers .cm-gutterElement\": {\n      lineHeight: \"var(--\" + THEME_PREFIX + \"-font-lineHeight)\",\n      minWidth: \"var(--\" + THEME_PREFIX + \"-space-5)\"\n    },\n    \".cm-content .cm-line\": {\n      paddingLeft: \"var(--\" + THEME_PREFIX + \"-space-1)\"\n    },\n    \".cm-content.cm-readonly .cm-line\": {\n      paddingLeft: 0\n    }\n  });\n};\nvar classNameToken = function (name) {\n  return THEME_PREFIX + \"-syntax-\" + name;\n};\nvar styleTokens = function () {\n  var syntaxHighLightTokens = [\"string\", \"plain\", \"comment\", \"keyword\", \"definition\", \"punctuation\", \"property\", \"tag\", \"static\"];\n  return syntaxHighLightTokens.reduce(function (acc, token) {\n    var _a2;\n    return __assign(__assign({}, acc), (_a2 = {}, _a2[\".\" + classNameToken(token)] = {\n      color: \"$syntax$color$\" + token,\n      fontStyle: \"$syntax$fontStyle$\" + token\n    }, _a2));\n  }, {});\n};\nvar getSyntaxHighlight = function (theme) {\n  return HighlightStyle.define([{\n    tag: tags.link,\n    textDecoration: \"underline\"\n  }, {\n    tag: tags.emphasis,\n    fontStyle: \"italic\"\n  }, {\n    tag: tags.strong,\n    fontWeight: \"bold\"\n  }, {\n    tag: tags.keyword,\n    class: classNameToken(\"keyword\")\n  }, {\n    tag: [tags.atom, tags.number, tags.bool],\n    class: classNameToken(\"static\")\n  }, {\n    tag: tags.variableName,\n    class: classNameToken(\"plain\")\n  }, {\n    // Standard tags, e.g <h1 />\n    tag: tags.standard(tags.tagName),\n    class: classNameToken(\"tag\")\n  }, {\n    tag: [\n    // Highlight function call\n    tags[\"function\"](tags.variableName),\n    // Highlight function definition differently (eg: functional component def in React)\n    tags.definition(tags[\"function\"](tags.variableName)),\n    // \"Custom tags\", meaning React component\n    tags.tagName],\n    class: classNameToken(\"definition\")\n  }, {\n    tag: tags.propertyName,\n    class: classNameToken(\"property\")\n  }, {\n    tag: [tags.literal, tags.inserted],\n    class: classNameToken(theme.syntax.string ? \"string\" : \"static\")\n  }, {\n    tag: tags.punctuation,\n    class: classNameToken(\"punctuation\")\n  }, {\n    tag: [tags.comment, tags.quote],\n    class: classNameToken(\"comment\")\n  }]);\n};\nvar getLanguageFromFile = function (filePath, fileType, additionalLanguages) {\n  if (!filePath && !fileType) return \"javascript\";\n  var extension = fileType;\n  if (!extension && filePath) {\n    var extensionDotIndex = filePath.lastIndexOf(\".\");\n    extension = filePath.slice(extensionDotIndex + 1);\n  }\n  for (var _i = 0, additionalLanguages_1 = additionalLanguages; _i < additionalLanguages_1.length; _i++) {\n    var additionalLanguage = additionalLanguages_1[_i];\n    if (extension === additionalLanguage.name || additionalLanguage.extensions.includes(extension || \"\")) {\n      return additionalLanguage.name;\n    }\n  }\n  switch (extension) {\n    case \"ts\":\n    case \"tsx\":\n      return \"typescript\";\n    case \"html\":\n    case \"svelte\":\n    case \"vue\":\n    case \"astro\":\n      return \"html\";\n    case \"css\":\n    case \"less\":\n    case \"scss\":\n      return \"css\";\n    case \"js\":\n    case \"jsx\":\n    case \"json\":\n    default:\n      return \"javascript\";\n  }\n};\nvar getCodeMirrorLanguage = function (extension, additionalLanguages) {\n  var options = {\n    javascript: javascript({\n      jsx: true,\n      typescript: false\n    }),\n    typescript: javascript({\n      jsx: true,\n      typescript: true\n    }),\n    html: html(),\n    css: css$1()\n  };\n  for (var _i = 0, additionalLanguages_2 = additionalLanguages; _i < additionalLanguages_2.length; _i++) {\n    var additionalLanguage = additionalLanguages_2[_i];\n    if (extension === additionalLanguage.name) {\n      return additionalLanguage.language;\n    }\n  }\n  return options[extension];\n};\nvar useCombinedRefs = function () {\n  var refs = [];\n  for (var _i = 0; _i < arguments.length; _i++) {\n    refs[_i] = arguments[_i];\n  }\n  return React3.useCallback(function (element) {\n    return refs.forEach(function (ref) {\n      if (!ref) {\n        return;\n      }\n      if (typeof ref === \"function\") {\n        return ref(element);\n      }\n      ref.current = element;\n    });\n  },\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  refs);\n};\nfunction highlightDecorators(positions) {\n  return ViewPlugin.fromClass( /** @class */function () {\n    function class_1(view) {\n      this.decorations = this.getDecoration(view);\n    }\n    class_1.prototype.update = function (update) {\n      return;\n    };\n    class_1.prototype.getDecoration = function (view) {\n      if (!positions) return Decoration.none;\n      var rangesDecorators = positions.map(function (item) {\n        var _a2, _b2, _c2;\n        var lineDeco2 = Decoration.line({\n          attributes: {\n            class: (_a2 = item.className) !== null && _a2 !== void 0 ? _a2 : \"\"\n          }\n        });\n        var markDeco = Decoration.mark({\n          class: (_b2 = item.className) !== null && _b2 !== void 0 ? _b2 : \"\",\n          attributes: (_c2 = item.elementAttributes) !== null && _c2 !== void 0 ? _c2 : void 0\n        });\n        var positionLineStart = getCodeMirrorPosition(view.state.doc, {\n          line: item.line,\n          column: item.startColumn\n        }) + 1;\n        if (item.startColumn && item.endColumn) {\n          var positionLineEnd = getCodeMirrorPosition(view.state.doc, {\n            line: item.line,\n            column: item.endColumn\n          }) + 1;\n          return markDeco.range(positionLineStart, positionLineEnd);\n        }\n        return lineDeco2.range(positionLineStart);\n      });\n      return Decoration.set(rangesDecorators);\n    };\n    return class_1;\n  }(), {\n    decorations: function (v2) {\n      return v2.decorations;\n    }\n  });\n}\nfunction highlightInlineError() {\n  return activeLineHighlighter;\n}\nvar lineDeco = Decoration.line({\n  attributes: {\n    class: \"cm-errorLine\"\n  }\n});\nvar activeLineHighlighter = ViewPlugin.fromClass( /** @class */function () {\n  function class_1() {\n    this.decorations = Decoration.none;\n  }\n  class_1.prototype.update = function (update) {\n    var _this = this;\n    update.transactions.forEach(function (trans) {\n      var errorValue = trans.annotation(\"show-error\");\n      if (errorValue !== void 0) {\n        var position = getCodeMirrorPosition(update.view.state.doc, {\n          line: errorValue\n        }) + 1;\n        _this.decorations = Decoration.set([lineDeco.range(position)]);\n      } else if (trans.annotation(\"remove-errors\")) {\n        _this.decorations = Decoration.none;\n      }\n    });\n  };\n  return class_1;\n}(), {\n  decorations: function (v2) {\n    return v2.decorations;\n  }\n});\nvar _a$5;\nvar _b$1;\nvar placeholderClassName = css({\n  margin: \"0\",\n  display: \"block\",\n  fontFamily: \"$font$mono\",\n  fontSize: \"$font$size\",\n  color: \"$syntax$color$plain\",\n  lineHeight: \"$font$lineHeight\"\n});\nvar tokensClassName = css(styleTokens());\nvar editorClassName = css((_a$5 = {\n  flex: 1,\n  position: \"relative\",\n  overflow: \"auto\",\n  background: \"$colors$surface1\",\n  \".cm-scroller\": {\n    padding: \"$space$4 0\"\n  }\n}, _a$5[\".\" + placeholderClassName] = {\n  padding: \"$space$4 0\"\n},\n/**\n* For iOS: prevent browser zoom when clicking on sandbox.\n* Does NOT apply to code blocks.\n*/\n_a$5[\"@media screen and (max-width: 768px)\"] = {\n  \"@supports (-webkit-overflow-scrolling: touch)\": {\n    \".cm-content\": {\n      fontSize: \"16px\"\n    }\n  }\n}, _a$5));\nvar cmClassName = css({\n  margin: \"0\",\n  outline: \"none\",\n  height: \"100%\"\n});\nvar readOnlyClassName = css((_b$1 = {\n  fontFamily: \"$font$mono\",\n  fontSize: \"0.8em\",\n  position: \"absolute\",\n  right: \"$space$2\",\n  bottom: \"$space$2\",\n  zIndex: \"$top\",\n  color: \"$colors$clickable\",\n  backgroundColor: \"$colors$surface2\",\n  borderRadius: \"99999px\",\n  padding: \"calc($space$1 / 2) $space$2\"\n}, _b$1[\"& + .\" + buttonClassName] = {\n  right: \"calc($space$11 * 2)\"\n}, _b$1));\nvar useSyntaxHighlight = function (_a2) {\n  var langSupport = _a2.langSupport,\n    highlightTheme = _a2.highlightTheme,\n    _b2 = _a2.code,\n    code = _b2 === void 0 ? \"\" : _b2;\n  var tree = langSupport.language.parser.parse(code);\n  var offSet = 0;\n  var codeElementsRender = [];\n  var addElement = function (to, className) {\n    if (to > offSet) {\n      var children = code.slice(offSet, to);\n      codeElementsRender.push(className ? /*#__PURE__*/createElement2(\"span\", {\n        children,\n        className,\n        key: \"\" + to + offSet\n      }) : children);\n      offSet = to;\n    }\n  };\n  highlightTree(tree, highlightTheme, function (from, to, className) {\n    addElement(from, \"\");\n    addElement(to, className);\n  });\n  if (offSet < code.length && (code === null || code === void 0 ? void 0 : code.includes(\"\\n\"))) {\n    codeElementsRender.push(\"\\n\\n\");\n  }\n  return codeElementsRender;\n};\nvar CodeMirror = /*#__PURE__*/React3.forwardRef(function (_a2, ref) {\n  var _b2 = _a2.code,\n    code = _b2 === void 0 ? \"\" : _b2,\n    filePath = _a2.filePath,\n    fileType = _a2.fileType,\n    onCodeUpdate = _a2.onCodeUpdate,\n    _c2 = _a2.showLineNumbers,\n    showLineNumbers = _c2 === void 0 ? false : _c2,\n    _d = _a2.showInlineErrors,\n    showInlineErrors = _d === void 0 ? false : _d,\n    _e = _a2.wrapContent,\n    wrapContent = _e === void 0 ? false : _e,\n    _f = _a2.editorState,\n    editorState = _f === void 0 ? \"pristine\" : _f,\n    _g = _a2.readOnly,\n    readOnly = _g === void 0 ? false : _g,\n    _h = _a2.showReadOnly,\n    showReadOnly = _h === void 0 ? true : _h,\n    decorators = _a2.decorators,\n    _j = _a2.initMode,\n    initMode = _j === void 0 ? \"lazy\" : _j,\n    _k = _a2.extensions,\n    extensions = _k === void 0 ? [] : _k,\n    _l = _a2.extensionsKeymap,\n    extensionsKeymap = _l === void 0 ? [] : _l,\n    _m = _a2.additionalLanguages,\n    additionalLanguages = _m === void 0 ? [] : _m;\n  var wrapper = React3.useRef(null);\n  var combinedRef = useCombinedRefs(wrapper, ref);\n  var cmView = React3.useRef();\n  var _o = useSandpackTheme(),\n    theme = _o.theme,\n    themeId = _o.themeId;\n  var _p = React3.useState(code),\n    internalCode = _p[0],\n    setInternalCode = _p[1];\n  var _q = React3.useState(initMode === \"immediate\"),\n    shouldInitEditor = _q[0],\n    setShouldInitEditor = _q[1];\n  var classNames = useClassNames();\n  var listen = useSandpack().listen;\n  var prevExtension = React3.useRef([]);\n  var prevExtensionKeymap = React3.useRef([]);\n  var isIntersecting = module_default2(wrapper, {\n    rootMargin: \"600px 0px\",\n    threshold: .2\n  }).isIntersecting;\n  React3.useImperativeHandle(ref, function () {\n    return {\n      getCodemirror: function () {\n        return cmView.current;\n      }\n    };\n  });\n  React3.useEffect(function () {\n    var mode = initMode === \"lazy\" || initMode === \"user-visible\";\n    if (mode && isIntersecting) {\n      setShouldInitEditor(true);\n    }\n  }, [initMode, isIntersecting]);\n  var languageExtension = getLanguageFromFile(filePath, fileType, additionalLanguages);\n  var langSupport = getCodeMirrorLanguage(languageExtension, additionalLanguages);\n  var highlightTheme = getSyntaxHighlight(theme);\n  var syntaxHighlightRender = useSyntaxHighlight({\n    langSupport,\n    highlightTheme,\n    code\n  });\n  var sortedDecorators = React3.useMemo(function () {\n    return decorators ? decorators.sort(function (d1, d2) {\n      return d1.line - d2.line;\n    }) : decorators;\n  }, [decorators]);\n  React3.useEffect(function () {\n    if (!wrapper.current || !shouldInitEditor) return;\n    var customCommandsKeymap = [{\n      key: \"Tab\",\n      run: function (view2) {\n        var _a3, _b3;\n        indentMore(view2);\n        var customKey = extensionsKeymap.find(function (_a4) {\n          var key = _a4.key;\n          return key === \"Tab\";\n        });\n        return (_b3 = (_a3 = customKey === null || customKey === void 0 ? void 0 : customKey.run) === null || _a3 === void 0 ? void 0 : _a3.call(customKey, view2)) !== null && _b3 !== void 0 ? _b3 : true;\n      }\n    }, {\n      key: \"Shift-Tab\",\n      run: function (_a3) {\n        var _b3, _c3;\n        var state = _a3.state,\n          dispatch = _a3.dispatch;\n        indentLess({\n          state,\n          dispatch\n        });\n        var customKey = extensionsKeymap.find(function (_a4) {\n          var key = _a4.key;\n          return key === \"Shift-Tab\";\n        });\n        return (_c3 = (_b3 = customKey === null || customKey === void 0 ? void 0 : customKey.run) === null || _b3 === void 0 ? void 0 : _b3.call(customKey, view)) !== null && _c3 !== void 0 ? _c3 : true;\n      }\n    }, {\n      key: \"Escape\",\n      run: function () {\n        if (readOnly) return true;\n        if (wrapper.current) {\n          wrapper.current.focus();\n        }\n        return true;\n      }\n    }, {\n      key: \"mod-Backspace\",\n      run: deleteGroupBackward\n    }];\n    var extensionList = __spreadArray(__spreadArray([highlightSpecialChars(), history(), closeBrackets()], extensions, true), [keymap.of(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], closeBracketsKeymap, true), defaultKeymap, true), historyKeymap, true), customCommandsKeymap, true), extensionsKeymap, true)), langSupport, getEditorTheme(), syntaxHighlighting(highlightTheme)], false);\n    if (readOnly) {\n      extensionList.push(EditorState.readOnly.of(true));\n      extensionList.push(EditorView.editable.of(false));\n    } else {\n      extensionList.push(bracketMatching());\n      extensionList.push(highlightActiveLine());\n    }\n    if (sortedDecorators) {\n      extensionList.push(highlightDecorators(sortedDecorators));\n    }\n    if (wrapContent) {\n      extensionList.push(EditorView.lineWrapping);\n    }\n    if (showLineNumbers) {\n      extensionList.push(lineNumbers());\n    }\n    if (showInlineErrors) {\n      extensionList.push(highlightInlineError());\n    }\n    var parentDiv = wrapper.current;\n    var existingPlaceholder = parentDiv.querySelector(\".sp-pre-placeholder\");\n    if (existingPlaceholder) {\n      parentDiv.removeChild(existingPlaceholder);\n    }\n    var view = new EditorView({\n      doc: code,\n      extensions: extensionList,\n      parent: parentDiv,\n      dispatch: function (tr) {\n        view.update([tr]);\n        if (tr.docChanged) {\n          var newCode = tr.newDoc.sliceString(0, tr.newDoc.length);\n          setInternalCode(newCode);\n          onCodeUpdate === null || onCodeUpdate === void 0 ? void 0 : onCodeUpdate(newCode);\n        }\n      }\n    });\n    view.contentDOM.setAttribute(\"data-gramm\", \"false\");\n    view.contentDOM.setAttribute(\"data-lt-active\", \"false\");\n    view.contentDOM.setAttribute(\"aria-label\", filePath ? \"Code Editor for \" + getFileName(filePath) : \"Code Editor\");\n    if (readOnly) {\n      view.contentDOM.classList.add(\"cm-readonly\");\n    } else {\n      view.contentDOM.setAttribute(\"tabIndex\", \"-1\");\n    }\n    cmView.current = view;\n    return function () {\n      var _a3;\n      (_a3 = cmView.current) === null || _a3 === void 0 ? void 0 : _a3.destroy();\n    };\n  }, [shouldInitEditor, showLineNumbers, wrapContent, themeId, sortedDecorators, readOnly]);\n  React3.useEffect(function applyExtensions() {\n    var view = cmView.current;\n    var dependenciesAreDiff = !shallowEqual(extensions, prevExtension.current) || !shallowEqual(extensionsKeymap, prevExtensionKeymap.current);\n    if (view && dependenciesAreDiff) {\n      view.dispatch({\n        effects: StateEffect.appendConfig.of(extensions)\n      });\n      view.dispatch({\n        effects: StateEffect.appendConfig.of(keymap.of(__spreadArray([], extensionsKeymap, true)))\n      });\n      prevExtension.current = extensions;\n      prevExtensionKeymap.current = extensionsKeymap;\n    }\n  }, [extensions, extensionsKeymap]);\n  React3.useEffect(function () {\n    if (cmView.current && editorState === \"dirty\" && window.matchMedia(\"(min-width: 768px)\").matches) {\n      cmView.current.contentDOM.focus();\n    }\n  }, []);\n  React3.useEffect(function () {\n    if (cmView.current && typeof code === \"string\" && code !== internalCode) {\n      var view = cmView.current;\n      var selection = view.state.selection.ranges.some(function (_a3) {\n        var to = _a3.to,\n          from = _a3.from;\n        return to > code.length || from > code.length;\n      }) ? EditorSelection.cursor(code.length) : view.state.selection;\n      var changes = {\n        from: 0,\n        to: view.state.doc.length,\n        insert: code\n      };\n      view.dispatch({\n        changes,\n        selection\n      });\n    }\n  }, [code]);\n  React3.useEffect(function messageToInlineError() {\n    if (!showInlineErrors) return;\n    var unsubscribe = listen(function (message) {\n      var view = cmView.current;\n      if (message.type === \"success\") {\n        view === null || view === void 0 ? void 0 : view.dispatch({\n          // @ts-ignore\n          annotations: [new Annotation(\"remove-errors\", true)]\n        });\n      } else if (message.type === \"action\" && message.action === \"show-error\" && message.path === filePath && message.line) {\n        view === null || view === void 0 ? void 0 : view.dispatch({\n          // @ts-ignore\n          annotations: [new Annotation(\"show-error\", message.line)]\n        });\n      }\n    });\n    return function () {\n      return unsubscribe();\n    };\n  }, [listen, showInlineErrors]);\n  var handleContainerKeyDown = function (evt) {\n    if (evt.key === \"Enter\" && cmView.current) {\n      evt.preventDefault();\n      cmView.current.contentDOM.focus();\n    }\n  };\n  var gutterLineOffset = function () {\n    var offset = 4;\n    if (showLineNumbers) {\n      offset += 6;\n    }\n    if (!readOnly) {\n      offset += 1;\n    }\n    return \"var(--\" + THEME_PREFIX + \"-space-\" + offset + \")\";\n  };\n  if (readOnly) {\n    return jsxs(Fragment, {\n      children: [jsx(\"pre\", __assign({\n        ref: combinedRef,\n        className: classNames(\"cm\", [classNames(editorState), classNames(languageExtension), cmClassName, tokensClassName]),\n        translate: \"no\"\n      }, {\n        children: jsx(\"code\", __assign({\n          className: classNames(\"pre-placeholder\", [placeholderClassName]),\n          style: {\n            marginLeft: gutterLineOffset()\n          }\n        }, {\n          children: syntaxHighlightRender\n        }), void 0)\n      }), void 0), readOnly && showReadOnly && jsx(\"span\", __assign({\n        className: classNames(\"read-only\", [readOnlyClassName])\n      }, {}, {\n        children: \"Read-only\"\n      }), void 0)]\n    }, void 0);\n  }\n  return jsx(\"div\", __assign({\n    ref: combinedRef,\n    \"aria-autocomplete\": \"list\",\n    \"aria-label\": filePath ? \"Code Editor for \" + getFileName(filePath) : \"Code Editor\",\n    \"aria-multiline\": \"true\",\n    className: classNames(\"cm\", [classNames(editorState), classNames(languageExtension), cmClassName, tokensClassName]),\n    onKeyDown: handleContainerKeyDown,\n    role: \"textbox\",\n    tabIndex: 0,\n    translate: \"no\",\n    suppressHydrationWarning: true\n  }, {\n    children: jsx(\"pre\", __assign({\n      className: classNames(\"pre-placeholder\", [placeholderClassName]),\n      style: {\n        marginLeft: gutterLineOffset()\n      }\n    }, {\n      children: syntaxHighlightRender\n    }), void 0)\n  }), void 0);\n});\nvar SandpackCodeEditor = /*#__PURE__*/forwardRef2(function (_a2, ref) {\n  var showTabs = _a2.showTabs,\n    _b2 = _a2.showLineNumbers,\n    showLineNumbers = _b2 === void 0 ? false : _b2,\n    _c2 = _a2.showInlineErrors,\n    showInlineErrors = _c2 === void 0 ? false : _c2,\n    _d = _a2.showRunButton,\n    showRunButton = _d === void 0 ? true : _d,\n    _e = _a2.wrapContent,\n    wrapContent = _e === void 0 ? false : _e,\n    _f = _a2.closableTabs,\n    closableTabs = _f === void 0 ? false : _f,\n    initMode = _a2.initMode,\n    extensions = _a2.extensions,\n    extensionsKeymap = _a2.extensionsKeymap,\n    readOnly = _a2.readOnly,\n    showReadOnly = _a2.showReadOnly,\n    additionalLanguages = _a2.additionalLanguages,\n    className = _a2.className,\n    props = __rest(_a2, [\"showTabs\", \"showLineNumbers\", \"showInlineErrors\", \"showRunButton\", \"wrapContent\", \"closableTabs\", \"initMode\", \"extensions\", \"extensionsKeymap\", \"readOnly\", \"showReadOnly\", \"additionalLanguages\", \"className\"]);\n  var sandpack = useSandpack().sandpack;\n  var _g = useActiveCode(),\n    code = _g.code,\n    updateCode = _g.updateCode,\n    readOnlyFile = _g.readOnly;\n  var activeFile = sandpack.activeFile,\n    status = sandpack.status,\n    editorState = sandpack.editorState;\n  var shouldShowTabs = showTabs !== null && showTabs !== void 0 ? showTabs : sandpack.visibleFiles.length > 1;\n  var classNames = useClassNames();\n  var handleCodeUpdate = function (newCode, shouldUpdatePreview) {\n    if (shouldUpdatePreview === void 0) {\n      shouldUpdatePreview = true;\n    }\n    updateCode(newCode, shouldUpdatePreview);\n  };\n  return jsxs(SandpackStack, __assign({\n    className: classNames(\"editor\", [className])\n  }, props, {\n    children: [shouldShowTabs && jsx(FileTabs, {\n      closableTabs\n    }, void 0), jsxs(\"div\", __assign({\n      className: classNames(\"code-editor\", [editorClassName])\n    }, {\n      children: [jsx(CodeMirror, {\n        ref,\n        additionalLanguages,\n        code,\n        editorState,\n        extensions,\n        extensionsKeymap,\n        filePath: activeFile,\n        initMode: initMode || sandpack.initMode,\n        onCodeUpdate: function (newCode) {\n          var _a3;\n          return handleCodeUpdate(newCode, (_a3 = sandpack.autoReload) !== null && _a3 !== void 0 ? _a3 : true);\n        },\n        readOnly: readOnly || readOnlyFile,\n        showInlineErrors,\n        showLineNumbers,\n        showReadOnly,\n        wrapContent\n      }, activeFile), showRunButton && (!sandpack.autoReload || status === \"idle\") ? jsx(RunButton$1, {}, void 0) : null]\n    }), void 0)]\n  }), void 0);\n});\nvar SandpackCodeViewer = /*#__PURE__*/React3.forwardRef(function (_a2, ref) {\n  var showTabs = _a2.showTabs,\n    showLineNumbers = _a2.showLineNumbers,\n    decorators = _a2.decorators,\n    propCode = _a2.code,\n    initMode = _a2.initMode,\n    wrapContent = _a2.wrapContent,\n    additionalLanguages = _a2.additionalLanguages,\n    props = __rest(_a2, [\"showTabs\", \"showLineNumbers\", \"decorators\", \"code\", \"initMode\", \"wrapContent\", \"additionalLanguages\"]);\n  var sandpack = useSandpack().sandpack;\n  var code = useActiveCode().code;\n  var classNames = useClassNames();\n  var shouldShowTabs = showTabs !== null && showTabs !== void 0 ? showTabs : sandpack.visibleFiles.length > 1;\n  return jsxs(SandpackStack, __assign({\n    className: classNames(\"editor-viewer\")\n  }, props, {\n    children: [shouldShowTabs ? jsx(FileTabs, {}, void 0) : null, jsx(\"div\", __assign({\n      className: classNames(\"code-editor\", [editorClassName])\n    }, {\n      children: jsx(CodeMirror, {\n        ref,\n        additionalLanguages,\n        code: propCode !== null && propCode !== void 0 ? propCode : code,\n        decorators,\n        filePath: sandpack.activeFile,\n        initMode: initMode || sandpack.initMode,\n        showLineNumbers,\n        showReadOnly: false,\n        wrapContent,\n        readOnly: true\n      }, void 0)\n    }), void 0), sandpack.status === \"idle\" ? jsx(RunButton$1, {}, void 0) : null]\n  }), void 0);\n});\nvar _a$4;\nvar _b;\nvar layoutClassName = css((_a$4 = {\n  border: \"1px solid $colors$surface2\",\n  display: \"flex\",\n  flexWrap: \"wrap\",\n  alignItems: \"stretch\",\n  borderRadius: \"$border$radius\",\n  overflow: \"hidden\",\n  position: \"relative\",\n  backgroundColor: \"$colors$surface2\",\n  gap: 1\n}, _a$4[\"> .\" + stackClassName] = {\n  flexGrow: 1,\n  flexShrink: 1,\n  flexBasis: \"0\",\n  height: \"$layout$height\",\n  overflow: \"hidden\",\n  \"@media print\": {\n    height: \"auto\",\n    display: \"block\"\n  },\n  \"@media screen and (max-width: 768px)\": (_b = {}, _b[\"&:not(.\" + THEME_PREFIX + \"-preview, .\" + THEME_PREFIX + \"-editor, .\" + THEME_PREFIX + \"-preset-column)\"] = {\n    height: \"calc($layout$height / 2)\"\n  }, _b.minWidth = \"100%;\", _b)\n}, _a$4[\"> .\" + THEME_PREFIX + \"-file-explorer\"] = {\n  flex: .2,\n  minWidth: 200,\n  \"@media screen and (max-width: 768px)\": {\n    flex: 1\n  }\n}, _a$4));\nvar SandpackLayout = /*#__PURE__*/React3.forwardRef(function (_a2, ref) {\n  var children = _a2.children,\n    className = _a2.className,\n    props = __rest(_a2, [\"children\", \"className\"]);\n  var sandpack = useSandpack().sandpack;\n  var classNames = useClassNames();\n  var combinedRef = useCombinedRefs(sandpack.lazyAnchorRef, ref);\n  return jsx(\"div\", __assign({\n    ref: combinedRef,\n    className: classNames(\"layout\", [layoutClassName, className])\n  }, props, {\n    children\n  }), void 0);\n});\nvar useErrorMessage = function () {\n  var _a2;\n  var sandpack = useSandpack().sandpack;\n  var error = sandpack.error;\n  return (_a2 = error === null || error === void 0 ? void 0 : error.message) !== null && _a2 !== void 0 ? _a2 : null;\n};\nvar FADE_ANIMATION_DURATION = 200;\nvar useLoadingOverlayState = function (clientId, externalLoading) {\n  var _a2 = useSandpack(),\n    sandpack = _a2.sandpack,\n    listen = _a2.listen;\n  var _b2 = React3.useState(\"LOADING\"),\n    state = _b2[0],\n    setState = _b2[1];\n  React3.useEffect(function () {\n    var unsubscribe = listen(function (message) {\n      if (message.type === \"start\" && message.firstLoad === true) {\n        setState(\"LOADING\");\n      }\n      if (message.type === \"done\") {\n        setState(function (prev) {\n          return prev === \"LOADING\" ? \"PRE_FADING\" : \"HIDDEN\";\n        });\n      }\n    }, clientId);\n    return function () {\n      unsubscribe();\n    };\n  }, [clientId, sandpack.status === \"idle\"]);\n  React3.useEffect(function () {\n    var fadeTimeout;\n    if (state === \"PRE_FADING\" && !externalLoading) {\n      setState(\"FADING\");\n    } else if (state === \"FADING\") {\n      fadeTimeout = setTimeout(function () {\n        return setState(\"HIDDEN\");\n      }, FADE_ANIMATION_DURATION);\n    }\n    return function () {\n      clearTimeout(fadeTimeout);\n    };\n  }, [state, externalLoading]);\n  if (sandpack.status === \"timeout\") {\n    return \"TIMEOUT\";\n  }\n  if (sandpack.status !== \"running\") {\n    return \"HIDDEN\";\n  }\n  return state;\n};\nvar useSandpackNavigation = function (clientId) {\n  var dispatch = useSandpack().dispatch;\n  return {\n    refresh: function () {\n      return dispatch({\n        type: \"refresh\"\n      }, clientId);\n    },\n    back: function () {\n      return dispatch({\n        type: \"urlback\"\n      }, clientId);\n    },\n    forward: function () {\n      return dispatch({\n        type: \"urlforward\"\n      }, clientId);\n    }\n  };\n};\nfunction getTranspiledCode(sandpack) {\n  var _a2, _b2;\n  var activeFile = sandpack.activeFile,\n    bundlerState = sandpack.bundlerState;\n  if (bundlerState == null) {\n    return null;\n  }\n  var tModule = bundlerState.transpiledModules[activeFile + \":\"];\n  return (_b2 = (_a2 = tModule === null || tModule === void 0 ? void 0 : tModule.source) === null || _a2 === void 0 ? void 0 : _a2.compiledCode) !== null && _b2 !== void 0 ? _b2 : null;\n}\nvar useTranspiledCode = function () {\n  var sandpack = useSandpack().sandpack;\n  if (sandpack.status !== \"running\") {\n    return null;\n  }\n  return getTranspiledCode(sandpack);\n};\nvar useSandpackClient = function (clientPropsOverride) {\n  var _a2 = useSandpack(),\n    sandpack = _a2.sandpack,\n    listen = _a2.listen,\n    dispatch = _a2.dispatch;\n  var iframeRef = React3.useRef(null);\n  var clientId = React3.useRef(generateRandomId());\n  React3.useEffect(function () {\n    var iframeElement = iframeRef.current;\n    var clientIdValue = clientId.current;\n    if (iframeElement !== null) {\n      sandpack.registerBundler(iframeElement, clientIdValue, clientPropsOverride);\n    }\n    return function () {\n      return sandpack.unregisterBundler(clientIdValue);\n    };\n  }, []);\n  var getClient = function () {\n    return sandpack.clients[clientId.current] || null;\n  };\n  return {\n    sandpack,\n    getClient,\n    clientId: clientId.current,\n    iframe: iframeRef,\n    listen: function (listener) {\n      return listen(listener, clientId.current);\n    },\n    dispatch: function (message) {\n      return dispatch(message, clientId.current);\n    }\n  };\n};\nvar useSandpackShell = function (clientId) {\n  var dispatch = useSandpack().dispatch;\n  return {\n    restart: function () {\n      return dispatch({\n        type: \"shell/restart\"\n      }, clientId);\n    },\n    openPreview: function () {\n      return dispatch({\n        type: \"shell/openPreview\"\n      }, clientId);\n    }\n  };\n};\nvar mapProgressMessage = function (originalMessage, firstTotalPending) {\n  var _a2;\n  switch (originalMessage.state) {\n    case \"downloading_manifest\":\n      return \"[1/3] Downloading manifest\";\n    case \"downloaded_module\":\n      return \"[2/3] Downloaded \" + originalMessage.name + \" (\" + (firstTotalPending - originalMessage.totalPending) + \"/\" + firstTotalPending + \")\";\n    case \"starting_command\":\n      return \"[3/3] Starting command\";\n    case \"command_running\":\n      return '[3/3] Running \"' + ((_a2 = originalMessage.command) === null || _a2 === void 0 ? void 0 : _a2.trim()) + '\"';\n  }\n};\nvar useSandpackPreviewProgress = function (props) {\n  var _a2 = React3.useState(false),\n    isReady = _a2[0],\n    setIsReady = _a2[1];\n  var _b2 = React3.useState(),\n    totalDependencies = _b2[0],\n    setTotalDependencies = _b2[1];\n  var _c2 = React3.useState(null),\n    loadingMessage = _c2[0],\n    setLoadingMessage = _c2[1];\n  var timeout = props === null || props === void 0 ? void 0 : props.timeout;\n  var clientId = props === null || props === void 0 ? void 0 : props.clientId;\n  var listen = useSandpack().listen;\n  React3.useEffect(function () {\n    var timer;\n    var unsubscribe = listen(function (message) {\n      if (message.type === \"start\" && message.firstLoad) {\n        setIsReady(false);\n      }\n      if (timeout) {\n        timer = setTimeout(function () {\n          setLoadingMessage(null);\n        }, timeout);\n      }\n      if (message.type === \"shell/progress\" && !isReady) {\n        if (!totalDependencies && message.data.state === \"downloaded_module\") {\n          setTotalDependencies(message.data.totalPending);\n        }\n        if (totalDependencies !== void 0) {\n          setLoadingMessage(mapProgressMessage(message.data, totalDependencies));\n        }\n      }\n      if (message.type === \"done\" && message.compilatonError === false) {\n        setLoadingMessage(null);\n        setIsReady(true);\n        clearTimeout(timer);\n      }\n    }, clientId);\n    return function () {\n      if (timer) {\n        clearTimeout(timer);\n      }\n      unsubscribe();\n    };\n  }, [clientId, isReady, totalDependencies, timeout]);\n  return loadingMessage;\n};\nvar MAX_MESSAGE_COUNT$1 = 400 * 2;\nvar useSandpackShellStdout = function (_a2) {\n  var clientId = _a2.clientId,\n    _b2 = _a2.maxMessageCount,\n    maxMessageCount = _b2 === void 0 ? MAX_MESSAGE_COUNT$1 : _b2;\n  _a2.resetOnPreviewRestart;\n  var _d = React3.useState([]),\n    logs = _d[0],\n    setLogs = _d[1];\n  var listen = useSandpack().listen;\n  React3.useEffect(function () {\n    var unsubscribe = listen(function (message) {\n      if (message.type === \"start\") {\n        setLogs([]);\n      } else if (message.type === \"stdout\" && message.payload.data && Boolean(message.payload.data.trim())) {\n        setLogs(function (prev) {\n          var messages = __spreadArray(__spreadArray([], prev, true), [{\n            data: message.payload.data,\n            id: generateRandomId()\n          }], false);\n          while (messages.length > maxMessageCount) {\n            messages.shift();\n          }\n          return messages;\n        });\n      }\n    }, clientId);\n    return unsubscribe;\n  }, [maxMessageCount, clientId]);\n  return {\n    logs,\n    reset: function () {\n      return setLogs([]);\n    }\n  };\n};\nvar mapBundlerErrors = function (originalMessage) {\n  var errorMessage = originalMessage.replace(\"[sandpack-client]: \", \"\");\n  if (/process.exit/.test(errorMessage)) {\n    var exitCode = errorMessage.match(/process.exit\\((\\d+)\\)/);\n    if (!exitCode) return errorMessage;\n    if (Number(exitCode[1]) === 0) {\n      return \"Server is not running, would you like to start it again?\";\n    }\n    return \"Server has crashed with status code \" + exitCode[1] + \", would you like to restart the server?\";\n  }\n  return errorMessage;\n};\nvar ErrorOverlay = function (props) {\n  var children = props.children,\n    className = props.className,\n    otherProps = __rest(props, [\"children\", \"className\"]);\n  var errorMessage = useErrorMessage();\n  var restart = useSandpackShell().restart;\n  var classNames = useClassNames();\n  var _a2 = useSandpack().sandpack,\n    runSandpack = _a2.runSandpack,\n    teamId = _a2.teamId;\n  var dispatch = useSandpack().dispatch;\n  if (!errorMessage && !children) {\n    return null;\n  }\n  var isSandpackBundlerError = errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.startsWith(\"[sandpack-client]\");\n  var privateDependencyError = errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.includes(\"NPM_REGISTRY_UNAUTHENTICATED_REQUEST\");\n  var onSignIn = function () {\n    if (teamId) {\n      dispatch({\n        type: \"sign-in\",\n        teamId\n      });\n    }\n  };\n  if (privateDependencyError) {\n    return jsxs(\"div\", __assign({\n      className: classNames(\"overlay\", [classNames(\"error\"), absoluteClassName, errorBundlerClassName, className])\n    }, props, {\n      children: [jsx(\"p\", __assign({\n        className: classNames(\"error-message\", [errorMessageClassName])\n      }, {\n        children: jsx(\"strong\", {\n          children: \"Unable to fetch required dependency.\"\n        }, void 0)\n      }), void 0), jsx(\"div\", __assign({\n        className: classNames(\"error-message\", [errorMessageClassName])\n      }, {\n        children: jsxs(\"p\", {\n          children: [\"Authentication required. Please sign in to your account (make sure to allow pop-ups to this page) and try again. If the issue persists, contact\", \" \", jsx(\"a\", __assign({\n            href: \"mailto:hello@codesandbox.io?subject=Sandpack Timeout Error\"\n          }, {\n            children: \"support\"\n          }), void 0), \" \", \"for further assistance.\"]\n        }, void 0)\n      }), void 0), jsx(\"div\", {\n        children: jsxs(\"button\", __assign({\n          className: classNames(\"button\", [buttonClassName, iconStandaloneClassName, roundedButtonClassName]),\n          onClick: onSignIn\n        }, {\n          children: [jsx(SignInIcon, {}, void 0), jsx(\"span\", {\n            children: \"Sign in\"\n          }, void 0)]\n        }), void 0)\n      }, void 0)]\n    }), void 0);\n  }\n  if (isSandpackBundlerError && errorMessage) {\n    return jsx(\"div\", __assign({\n      className: classNames(\"overlay\", [classNames(\"error\"), absoluteClassName, errorBundlerClassName, className])\n    }, otherProps, {\n      children: jsxs(\"div\", __assign({\n        className: classNames(\"error-message\", [errorMessageClassName])\n      }, {\n        children: [jsx(\"p\", __assign({\n          className: classNames(\"error-title\", [css({\n            fontWeight: \"bold\"\n          })])\n        }, {\n          children: \"Couldn't connect to server\"\n        }), void 0), jsx(\"p\", {\n          children: mapBundlerErrors(errorMessage)\n        }, void 0), jsx(\"div\", {\n          children: jsxs(\"button\", __assign({\n            className: classNames(\"button\", [classNames(\"icon-standalone\"), buttonClassName, iconStandaloneClassName, roundedButtonClassName]),\n            onClick: function () {\n              restart();\n              runSandpack();\n            },\n            title: \"Restart script\",\n            type: \"button\"\n          }, {\n            children: [jsx(RestartIcon, {}, void 0), \" \", jsx(\"span\", {\n              children: \"Restart\"\n            }, void 0)]\n          }), void 0)\n        }, void 0)]\n      }), void 0)\n    }), void 0);\n  }\n  return jsxs(\"div\", __assign({\n    className: classNames(\"overlay\", [classNames(\"error\"), absoluteClassName, errorClassName({\n      solidBg: true\n    }), className]),\n    translate: \"no\"\n  }, otherProps, {\n    children: [jsx(\"p\", __assign({\n      className: classNames(\"error-message\", [errorMessageClassName])\n    }, {\n      children: jsx(\"strong\", {\n        children: \"Something went wrong\"\n      }, void 0)\n    }), void 0), jsx(\"p\", __assign({\n      className: classNames(\"error-message\", [errorMessageClassName({\n        errorCode: true\n      })])\n    }, {\n      children: errorMessage || children\n    }), void 0)]\n  }), void 0);\n};\nfunction ansiToJSON(input, use_classes) {\n  if (use_classes === void 0) {\n    use_classes = false;\n  }\n  input = (0, import_escape_carriage.escapeCarriageReturn)(fixBackspace(input));\n  return import_anser.default.ansiToJson(input, {\n    json: true,\n    remove_empty: true,\n    use_classes\n  });\n}\nfunction createClass(bundle) {\n  var classNames = \"\";\n  if (bundle.bg) {\n    classNames += bundle.bg + \"-bg \";\n  }\n  if (bundle.fg) {\n    classNames += bundle.fg + \"-fg \";\n  }\n  if (bundle.decoration) {\n    classNames += \"ansi-\" + bundle.decoration + \" \";\n  }\n  if (classNames === \"\") {\n    return null;\n  }\n  classNames = classNames.substring(0, classNames.length - 1);\n  return classNames;\n}\nfunction createStyle(bundle) {\n  var style = {};\n  if (bundle.bg) {\n    style.backgroundColor = \"rgb(\" + bundle.bg + \")\";\n  }\n  if (bundle.fg) {\n    style.color = \"rgb(\" + bundle.fg + \")\";\n  }\n  switch (bundle.decoration) {\n    case \"bold\":\n      style.fontWeight = \"bold\";\n      break;\n    case \"dim\":\n      style.opacity = \"0.5\";\n      break;\n    case \"italic\":\n      style.fontStyle = \"italic\";\n      break;\n    case \"hidden\":\n      style.visibility = \"hidden\";\n      break;\n    case \"strikethrough\":\n      style.textDecoration = \"line-through\";\n      break;\n    case \"underline\":\n      style.textDecoration = \"underline\";\n      break;\n    case \"blink\":\n      style.textDecoration = \"blink\";\n      break;\n  }\n  return style;\n}\nfunction convertBundleIntoReact(linkify, useClasses, bundle, key) {\n  var style = useClasses ? null : createStyle(bundle);\n  var className = useClasses ? createClass(bundle) : null;\n  if (!linkify) {\n    return /*#__PURE__*/React3.createElement(\"span\", {\n      style,\n      key,\n      className\n    }, bundle.content);\n  }\n  var content = [];\n  var linkRegex = /(\\s|^)(https?:\\/\\/(?:www\\.|(?!www))[^\\s.]+\\.[^\\s]{2,}|www\\.[^\\s]+\\.[^\\s]{2,})/g;\n  var index = 0;\n  var match;\n  while ((match = linkRegex.exec(bundle.content)) !== null) {\n    var pre = match[1],\n      url = match[2];\n    var startIndex = match.index + pre.length;\n    if (startIndex > index) {\n      content.push(bundle.content.substring(index, startIndex));\n    }\n    var href = url.startsWith(\"www.\") ? \"http://\" + url : url;\n    content.push( /*#__PURE__*/React3.createElement(\"a\", {\n      key: index,\n      href,\n      target: \"_blank\"\n    }, \"\" + url));\n    index = linkRegex.lastIndex;\n  }\n  if (index < bundle.content.length) {\n    content.push(bundle.content.substring(index));\n  }\n  return /*#__PURE__*/React3.createElement(\"span\", {\n    style,\n    key,\n    className\n  }, content);\n}\nfunction Ansi(props) {\n  var className = props.className,\n    useClasses = props.useClasses,\n    children = props.children,\n    linkify = props.linkify;\n  return /*#__PURE__*/React3.createElement(\"code\", {\n    className\n  }, ansiToJSON(children !== null && children !== void 0 ? children : \"\", useClasses !== null && useClasses !== void 0 ? useClasses : false).map(convertBundleIntoReact.bind(null, linkify !== null && linkify !== void 0 ? linkify : false, useClasses !== null && useClasses !== void 0 ? useClasses : false)));\n}\nfunction fixBackspace(txt) {\n  var tmp = txt;\n  do {\n    txt = tmp;\n    tmp = txt.replace(/[^\\n]\\x08/gm, \"\");\n  } while (tmp.length < txt.length);\n  return txt;\n}\nvar StdoutList = function (_a2) {\n  var data = _a2.data;\n  var classNames = useClassNames();\n  return jsx(Fragment, {\n    children: data.map(function (_a3) {\n      var data2 = _a3.data,\n        id = _a3.id;\n      return jsx(\"div\", __assign({\n        className: classNames(\"console-item\", [consoleItemClassName$1])\n      }, {\n        children: jsx(Ansi, {\n          children: data2\n        }, void 0)\n      }), id);\n    })\n  }, void 0);\n};\nvar consoleItemClassName$1 = css({\n  width: \"100%\",\n  padding: \"$space$3 $space$2\",\n  fontSize: \".85em\",\n  position: \"relative\",\n  whiteSpace: \"pre\",\n  \"&:not(:first-child):after\": {\n    content: \"\",\n    position: \"absolute\",\n    top: 0,\n    left: 0,\n    right: 0,\n    height: 1,\n    background: \"$colors$surface3\"\n  }\n});\nvar getParameters = function (parameters) {\n  return import_lz_string.default.compressToBase64(JSON.stringify(parameters)).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n};\nvar CSB_URL = \"https://codesandbox.io/api/v1/sandboxes/define\";\nvar getFileParameters = function (files, environment) {\n  var normalizedFiles = Object.keys(files).reduce(function (prev, next) {\n    var _a2;\n    var fileName = next.replace(\"/\", \"\");\n    var value = {\n      content: files[next].code,\n      isBinary: false\n    };\n    return __assign(__assign({}, prev), (_a2 = {}, _a2[fileName] = value, _a2));\n  }, {});\n  return getParameters(__assign({\n    files: normalizedFiles\n  }, environment ? {\n    template: environment\n  } : null));\n};\nvar UnstyledOpenInCodeSandboxButton = function (_a2) {\n  var _b2, _c2, _d;\n  var children = _a2.children,\n    props = __rest(_a2, [\"children\"]);\n  var sandpack = useSandpack().sandpack;\n  var formRef = React3.useRef(null);\n  var _e = React3.useState(),\n    paramsValues = _e[0],\n    setParamsValues = _e[1];\n  React3.useEffect(function debounce() {\n    var timer = setTimeout(function () {\n      var params = getFileParameters(sandpack.files, sandpack.environment);\n      var searchParams = new URLSearchParams({\n        parameters: params,\n        query: new URLSearchParams({\n          file: sandpack.activeFile,\n          utm_medium: \"sandpack\"\n        }).toString()\n      });\n      setParamsValues(searchParams);\n    }, 600);\n    return function () {\n      clearTimeout(timer);\n    };\n  }, [sandpack.activeFile, sandpack.environment, sandpack.files]);\n  if (((_d = (_c2 = (_b2 = paramsValues === null || paramsValues === void 0 ? void 0 : paramsValues.get) === null || _b2 === void 0 ? void 0 : _b2.call(paramsValues, \"parameters\")) === null || _c2 === void 0 ? void 0 : _c2.length) !== null && _d !== void 0 ? _d : 0) > 1500) {\n    return jsxs(\"button\", __assign({\n      onClick: function () {\n        var _a3;\n        return (_a3 = formRef.current) === null || _a3 === void 0 ? void 0 : _a3.submit();\n      },\n      title: \"Open in CodeSandbox\",\n      type: \"button\"\n    }, props, {\n      children: [jsxs(\"form\", __assign({\n        ref: formRef,\n        action: CSB_URL,\n        method: \"POST\",\n        style: {\n          visibility: \"hidden\"\n        },\n        target: \"_blank\"\n      }, {\n        children: [jsx(\"input\", {\n          name: \"environment\",\n          type: \"hidden\",\n          value: sandpack.environment === \"node\" ? \"server\" : sandpack.environment\n        }, void 0), Array.from(paramsValues, function (_a3) {\n          var key = _a3[0],\n            value = _a3[1];\n          return jsx(\"input\", {\n            name: key,\n            type: \"hidden\",\n            value\n          }, key);\n        })]\n      }), void 0), children]\n    }), void 0);\n  }\n  return jsx(\"a\", __assign({\n    href: CSB_URL + \"?\" + (paramsValues === null || paramsValues === void 0 ? void 0 : paramsValues.toString()) + \"&environment=\" + (sandpack.environment === \"node\" ? \"server\" : sandpack.environment),\n    rel: \"noreferrer noopener\",\n    target: \"_blank\",\n    title: \"Open in CodeSandbox\"\n  }, props, {\n    children\n  }), void 0);\n};\nvar OpenInCodeSandboxButton = function () {\n  var classNames = useClassNames();\n  return jsxs(UnstyledOpenInCodeSandboxButton, __assign({\n    className: classNames(\"button\", [classNames(\"icon-standalone\"), buttonClassName, iconStandaloneClassName, roundedButtonClassName])\n  }, {\n    children: [jsx(ExportIcon, {}, void 0), jsx(\"span\", {\n      children: \"Open Sandbox\"\n    }, void 0)]\n  }), void 0);\n};\nvar _a$3;\nvar cubeClassName = css({\n  transform: \"translate(-4px, 9px) scale(0.13, 0.13)\",\n  \"*\": {\n    position: \"absolute\",\n    width: \"96px\",\n    height: \"96px\"\n  }\n});\nvar wrapperClassName$2 = css((_a$3 = {\n  position: \"absolute\",\n  right: \"$space$2\",\n  bottom: \"$space$2\",\n  zIndex: \"$top\",\n  width: \"32px\",\n  height: \"32px\",\n  borderRadius: \"$border$radius\"\n}, _a$3[\".\" + cubeClassName] = {\n  display: \"flex\"\n}, _a$3[\".sp-button.\" + buttonClassName] = {\n  display: \"none\"\n}, _a$3[\"&:hover .sp-button.\" + buttonClassName] = {\n  display: \"flex\"\n}, _a$3[\"&:hover .sp-button.\" + buttonClassName + \" > span\"] = {\n  display: \"none\"\n}, _a$3[\"&:hover .\" + cubeClassName] = {\n  display: \"none\"\n}, _a$3));\nvar cubeRotate = keyframes({\n  \"0%\": {\n    transform: \"rotateX(-25.5deg) rotateY(45deg)\"\n  },\n  \"100%\": {\n    transform: \"rotateX(-25.5deg) rotateY(405deg)\"\n  }\n});\nvar sidesClassNames = css({\n  animation: cubeRotate + \" 1s linear infinite\",\n  animationFillMode: \"forwards\",\n  transformStyle: \"preserve-3d\",\n  transform: \"rotateX(-25.5deg) rotateY(45deg)\",\n  \"*\": {\n    border: \"10px solid $colors$clickable\",\n    borderRadius: \"8px\",\n    background: \"$colors$surface1\"\n  },\n  \".top\": {\n    transform: \"rotateX(90deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  },\n  \".bottom\": {\n    transform: \"rotateX(-90deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  },\n  \".front\": {\n    transform: \"rotateY(0deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  },\n  \".back\": {\n    transform: \"rotateY(-180deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  },\n  \".left\": {\n    transform: \"rotateY(-90deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  },\n  \".right\": {\n    transform: \"rotateY(90deg) translateZ(44px)\",\n    transformOrigin: \"50% 50%\"\n  }\n});\nvar Loading = function (_a2) {\n  var className = _a2.className,\n    showOpenInCodeSandbox = _a2.showOpenInCodeSandbox,\n    props = __rest(_a2, [\"className\", \"showOpenInCodeSandbox\"]);\n  var classNames = useClassNames();\n  return jsxs(\"div\", __assign({\n    className: classNames(\"cube-wrapper\", [wrapperClassName$2, className]),\n    title: \"Open in CodeSandbox\"\n  }, props, {\n    children: [showOpenInCodeSandbox && jsx(OpenInCodeSandboxButton, {}, void 0), jsx(\"div\", __assign({\n      className: classNames(\"cube\", [cubeClassName])\n    }, {\n      children: jsxs(\"div\", __assign({\n        className: classNames(\"sides\", [sidesClassNames])\n      }, {\n        children: [jsx(\"div\", {\n          className: \"top\"\n        }, void 0), jsx(\"div\", {\n          className: \"right\"\n        }, void 0), jsx(\"div\", {\n          className: \"bottom\"\n        }, void 0), jsx(\"div\", {\n          className: \"left\"\n        }, void 0), jsx(\"div\", {\n          className: \"front\"\n        }, void 0), jsx(\"div\", {\n          className: \"back\"\n        }, void 0)]\n      }), void 0)\n    }), void 0)]\n  }), void 0);\n};\nvar loadingClassName = css({\n  backgroundColor: \"$colors$surface1\"\n});\nvar LoadingOverlay = function (_a2) {\n  var clientId = _a2.clientId,\n    loading = _a2.loading,\n    className = _a2.className,\n    style = _a2.style,\n    showOpenInCodeSandbox = _a2.showOpenInCodeSandbox,\n    props = __rest(_a2, [\"clientId\", \"loading\", \"className\", \"style\", \"showOpenInCodeSandbox\"]);\n  var classNames = useClassNames();\n  var _b2 = useSandpack().sandpack,\n    runSandpack = _b2.runSandpack,\n    environment = _b2.environment;\n  var _c2 = React3.useState(false),\n    shouldShowStdout = _c2[0],\n    setShouldShowStdout = _c2[1];\n  var loadingOverlayState = useLoadingOverlayState(clientId, loading);\n  var progressMessage = useSandpackPreviewProgress({\n    clientId\n  });\n  var stdoutData = useSandpackShellStdout({\n    clientId\n  }).logs;\n  React3.useEffect(function () {\n    var timer;\n    if (progressMessage === null || progressMessage === void 0 ? void 0 : progressMessage.includes(\"Running\")) {\n      timer = setTimeout(function () {\n        setShouldShowStdout(true);\n      }, 3e3);\n    }\n    return function () {\n      if (timer) {\n        clearTimeout(timer);\n      }\n    };\n  }, [progressMessage]);\n  if (loadingOverlayState === \"HIDDEN\") {\n    return null;\n  }\n  if (loadingOverlayState === \"TIMEOUT\") {\n    return jsx(\"div\", __assign({\n      className: classNames(\"overlay\", [classNames(\"error\"), absoluteClassName, errorClassName, errorBundlerClassName, className])\n    }, props, {\n      children: jsxs(\"div\", __assign({\n        className: classNames(\"error-message\", [errorMessageClassName])\n      }, {\n        children: [jsx(\"p\", __assign({\n          className: classNames(\"error-title\", [css({\n            fontWeight: \"bold\"\n          })])\n        }, {\n          children: \"Couldn't connect to server\"\n        }), void 0), jsx(\"div\", __assign({\n          className: classNames(\"error-message\", [errorMessageClassName])\n        }, {\n          children: jsxs(\"p\", {\n            children: [\"This means sandpack cannot connect to the runtime or your network is having some issues. Please check the network tab in your browser and try again. If the problem persists, report it via\", \" \", jsx(\"a\", __assign({\n              href: \"mailto:hello@codesandbox.io?subject=Sandpack Timeout Error\"\n            }, {\n              children: \"email\"\n            }), void 0), \" \", \"or submit an issue on\", \" \", jsx(\"a\", __assign({\n              href: \"https://github.com/codesandbox/sandpack/issues\",\n              rel: \"noreferrer noopener\",\n              target: \"_blank\"\n            }, {\n              children: \"GitHub.\"\n            }), void 0)]\n          }, void 0)\n        }), void 0), jsxs(\"p\", __assign({\n          className: classNames(\"error-message\", [errorMessageClassName({\n            errorCode: true\n          })])\n        }, {\n          children: [\"ENV: \", environment, jsx(\"br\", {}, void 0), \"ERROR: TIME_OUT\"]\n        }), void 0), jsx(\"div\", {\n          children: jsxs(\"button\", __assign({\n            className: classNames(\"button\", [classNames(\"icon-standalone\"), buttonClassName, iconStandaloneClassName, roundedButtonClassName]),\n            onClick: runSandpack,\n            title: \"Restart script\",\n            type: \"button\"\n          }, {\n            children: [jsx(RestartIcon, {}, void 0), \" \", jsx(\"span\", {\n              children: \"Try again\"\n            }, void 0)]\n          }), void 0)\n        }, void 0)]\n      }), void 0)\n    }), void 0);\n  }\n  var stillLoading = loadingOverlayState === \"LOADING\" || loadingOverlayState === \"PRE_FADING\";\n  return jsxs(Fragment, {\n    children: [jsxs(\"div\", __assign({\n      className: classNames(\"overlay\", [classNames(\"loading\"), absoluteClassName, loadingClassName, className]),\n      style: __assign(__assign({}, style), {\n        opacity: stillLoading ? 1 : 0,\n        transition: \"opacity \" + FADE_ANIMATION_DURATION + \"ms ease-out\"\n      })\n    }, props, {\n      children: [shouldShowStdout && jsx(\"div\", __assign({\n        className: stdoutPreview.toString()\n      }, {\n        children: jsx(StdoutList, {\n          data: stdoutData\n        }, void 0)\n      }), void 0), jsx(Loading, {\n        showOpenInCodeSandbox\n      }, void 0)]\n    }), void 0), progressMessage && jsx(\"div\", __assign({\n      className: progressClassName$1.toString()\n    }, {\n      children: jsx(\"p\", {\n        children: progressMessage\n      }, void 0)\n    }), void 0)]\n  }, void 0);\n};\nvar stdoutPreview = css({\n  position: \"absolute\",\n  left: 0,\n  right: 0,\n  bottom: \"$space$8\",\n  overflow: \"auto\",\n  opacity: .5,\n  overflowX: \"hidden\"\n});\nvar progressClassName$1 = css({\n  position: \"absolute\",\n  left: \"$space$5\",\n  bottom: \"$space$4\",\n  zIndex: \"$top\",\n  color: \"$colors$clickable\",\n  animation: fadeIn + \" 150ms ease\",\n  fontFamily: \"$font$mono\",\n  fontSize: \".8em\",\n  width: \"75%\",\n  p: {\n    whiteSpace: \"nowrap\",\n    margin: 0,\n    textOverflow: \"ellipsis\",\n    overflow: \"hidden\"\n  }\n});\nvar DependenciesProgress = function (_a2) {\n  var clientId = _a2.clientId;\n  var progressMessage = useSandpackPreviewProgress({\n    timeout: 3e3,\n    clientId\n  });\n  if (!progressMessage) {\n    return null;\n  }\n  return jsx(\"div\", __assign({\n    className: progressClassName.toString()\n  }, {\n    children: jsx(\"p\", {\n      children: progressMessage\n    }, void 0)\n  }), void 0);\n};\nvar progressClassName = css({\n  position: \"absolute\",\n  left: \"$space$5\",\n  bottom: \"$space$4\",\n  zIndex: \"$top\",\n  color: \"$colors$clickable\",\n  animation: fadeIn + \" 150ms ease\",\n  fontFamily: \"$font$mono\",\n  fontSize: \".8em\",\n  width: \"75%\",\n  p: {\n    whiteSpace: \"nowrap\",\n    margin: 0,\n    textOverflow: \"ellipsis\",\n    overflow: \"hidden\"\n  }\n});\nvar explorerClassName = css({\n  borderRadius: \"0\",\n  width: \"100%\",\n  padding: 0,\n  marginBottom: \"$space$2\",\n  span: {\n    textOverflow: \"ellipsis\",\n    whiteSpace: \"nowrap\",\n    overflow: \"hidden\"\n  },\n  svg: {\n    marginRight: \"$space$1\"\n  }\n});\nvar File = function (_a2) {\n  var selectFile = _a2.selectFile,\n    path = _a2.path,\n    active = _a2.active,\n    onClick = _a2.onClick,\n    depth = _a2.depth,\n    isDirOpen = _a2.isDirOpen;\n  var classNames = useClassNames();\n  var onClickButton = function (event) {\n    if (selectFile) {\n      selectFile(path);\n    }\n    onClick === null || onClick === void 0 ? void 0 : onClick(event);\n  };\n  var fileName = path.split(\"/\").filter(Boolean).pop();\n  var getIcon = function () {\n    if (selectFile) return jsx(FileIcon, {}, void 0);\n    return isDirOpen ? jsx(DirectoryIconOpen, {}, void 0) : jsx(DirectoryIconClosed, {}, void 0);\n  };\n  return jsxs(\"button\", __assign({\n    className: classNames(\"button\", [classNames(\"explorer\"), buttonClassName, explorerClassName]),\n    \"data-active\": active,\n    onClick: onClickButton,\n    style: {\n      paddingLeft: 18 * depth + \"px\"\n    },\n    title: fileName,\n    type: \"button\"\n  }, {\n    children: [getIcon(), jsx(\"span\", {\n      children: fileName\n    }, void 0)]\n  }), void 0);\n};\nvar Directory = function (_a2) {\n  var prefixedPath = _a2.prefixedPath,\n    files = _a2.files,\n    selectFile = _a2.selectFile,\n    activeFile = _a2.activeFile,\n    depth = _a2.depth,\n    autoHiddenFiles = _a2.autoHiddenFiles,\n    visibleFiles = _a2.visibleFiles,\n    initialCollapsedFolder = _a2.initialCollapsedFolder;\n  var _b2 = React3.useState(!(initialCollapsedFolder === null || initialCollapsedFolder === void 0 ? void 0 : initialCollapsedFolder.includes(prefixedPath))),\n    open = _b2[0],\n    setOpen = _b2[1];\n  var toggle = function () {\n    return setOpen(function (prev) {\n      return !prev;\n    });\n  };\n  return jsxs(\"div\", {\n    children: [jsx(File, {\n      depth,\n      isDirOpen: open,\n      onClick: toggle,\n      path: prefixedPath + \"/\"\n    }, void 0), open && jsx(ModuleList, {\n      activeFile,\n      autoHiddenFiles,\n      depth: depth + 1,\n      files,\n      initialCollapsedFolder,\n      prefixedPath,\n      selectFile,\n      visibleFiles\n    }, void 0)]\n  }, prefixedPath);\n};\nvar fromPropsToModules = function (_a2) {\n  var autoHiddenFiles = _a2.autoHiddenFiles,\n    visibleFiles = _a2.visibleFiles,\n    files = _a2.files,\n    prefixedPath = _a2.prefixedPath;\n  var hasVisibleFilesOption = visibleFiles.length > 0;\n  var filterByHiddenProperty = autoHiddenFiles && !hasVisibleFilesOption;\n  var filterByVisibleFilesOption = autoHiddenFiles && !!hasVisibleFilesOption;\n  var fileListWithoutPrefix = Object.keys(files).filter(function (filePath) {\n    var _a3;\n    var isValidatedPath = filePath.startsWith(prefixedPath);\n    if (filterByVisibleFilesOption) {\n      return isValidatedPath && visibleFiles.includes(filePath);\n    }\n    if (filterByHiddenProperty) {\n      return isValidatedPath && !((_a3 = files[filePath]) === null || _a3 === void 0 ? void 0 : _a3.hidden);\n    }\n    return isValidatedPath;\n  }).map(function (file) {\n    return file.substring(prefixedPath.length);\n  });\n  var directories = new Set(fileListWithoutPrefix.filter(function (file) {\n    return file.includes(\"/\");\n  }).map(function (file) {\n    return \"\" + prefixedPath + file.split(\"/\")[0] + \"/\";\n  }));\n  var modules = fileListWithoutPrefix.filter(function (file) {\n    return !file.includes(\"/\");\n  }).map(function (file) {\n    return \"\" + prefixedPath + file;\n  });\n  return {\n    directories: Array.from(directories),\n    modules\n  };\n};\nvar ModuleList = function (_a2) {\n  var _b2 = _a2.depth,\n    depth = _b2 === void 0 ? 0 : _b2,\n    activeFile = _a2.activeFile,\n    selectFile = _a2.selectFile,\n    prefixedPath = _a2.prefixedPath,\n    files = _a2.files,\n    autoHiddenFiles = _a2.autoHiddenFiles,\n    visibleFiles = _a2.visibleFiles,\n    initialCollapsedFolder = _a2.initialCollapsedFolder;\n  var _c2 = fromPropsToModules({\n      visibleFiles,\n      autoHiddenFiles,\n      prefixedPath,\n      files\n    }),\n    directories = _c2.directories,\n    modules = _c2.modules;\n  return jsxs(\"div\", {\n    children: [directories.map(function (dir) {\n      return jsx(Directory, {\n        activeFile,\n        autoHiddenFiles,\n        depth,\n        files,\n        initialCollapsedFolder,\n        prefixedPath: dir,\n        selectFile,\n        visibleFiles\n      }, dir);\n    }), modules.map(function (file) {\n      return jsx(File, {\n        active: activeFile === file,\n        depth,\n        path: file,\n        selectFile\n      }, file);\n    })]\n  }, void 0);\n};\nvar fileExplorerClassName = css({\n  padding: \"$space$3\",\n  overflow: \"auto\",\n  height: \"100%\"\n});\nvar SandpackFileExplorer = function (_a2) {\n  var className = _a2.className,\n    _b2 = _a2.autoHiddenFiles,\n    autoHiddenFiles = _b2 === void 0 ? false : _b2,\n    _c2 = _a2.initialCollapsedFolder,\n    initialCollapsedFolder = _c2 === void 0 ? [] : _c2,\n    props = __rest(_a2, [\"className\", \"autoHiddenFiles\", \"initialCollapsedFolder\"]);\n  var _d = useSandpack(),\n    _e = _d.sandpack,\n    status = _e.status,\n    updateFile = _e.updateFile,\n    deleteFile = _e.deleteFile,\n    activeFile = _e.activeFile,\n    files = _e.files,\n    openFile = _e.openFile,\n    visibleFilesFromProps = _e.visibleFilesFromProps,\n    listen = _d.listen;\n  var classNames = useClassNames();\n  React3.useEffect(function watchFSFilesChanges() {\n    if (status !== \"running\") return;\n    var unsubscribe = listen(function (message) {\n      if (message.type === \"fs/change\") {\n        updateFile(message.path, message.content, false);\n      }\n      if (message.type === \"fs/remove\") {\n        deleteFile(message.path, false);\n      }\n    });\n    return unsubscribe;\n  }, [status]);\n  var orderedFiles = Object.keys(files).sort().reduce(function (obj, key) {\n    obj[key] = files[key];\n    return obj;\n  }, {});\n  return jsx(\"div\", __assign({\n    className: classNames(\"file-explorer\", [stackClassName, className])\n  }, props, {\n    children: jsx(\"div\", __assign({\n      className: classNames(\"file-explorer-list\", [fileExplorerClassName])\n    }, {\n      children: jsx(ModuleList, {\n        activeFile,\n        autoHiddenFiles,\n        files: orderedFiles,\n        initialCollapsedFolder,\n        prefixedPath: \"/\",\n        selectFile: openFile,\n        visibleFiles: visibleFilesFromProps\n      }, void 0)\n    }), void 0)\n  }), void 0);\n};\nvar splitUrl = function (url) {\n  var match = url.match(/(https?:\\/\\/.*?)\\//);\n  if (match && match[1]) {\n    return [match[1], url.replace(match[1], \"\")];\n  }\n  return [url, \"/\"];\n};\nvar navigatorClassName = css({\n  display: \"flex\",\n  alignItems: \"center\",\n  height: \"$layout$headerHeight\",\n  borderBottom: \"1px solid $colors$surface2\",\n  padding: \"$space$3 $space$2\",\n  background: \"$colors$surface1\"\n});\nvar inputClassName = css({\n  backgroundColor: \"$colors$surface2\",\n  color: \"$colors$clickable\",\n  padding: \"$space$1 $space$3\",\n  borderRadius: \"99999px\",\n  border: \"1px solid $colors$surface2\",\n  height: \"24px\",\n  lineHeight: \"24px\",\n  fontSize: \"inherit\",\n  outline: \"none\",\n  flex: 1,\n  marginLeft: \"$space$4\",\n  width: \"0\",\n  transition: \"background $transitions$default\",\n  \"&:hover\": {\n    backgroundColor: \"$colors$surface3\"\n  },\n  \"&:focus\": {\n    backgroundColor: \"$surface1\",\n    border: \"1px solid $colors$accent\",\n    color: \"$colors$base\"\n  }\n});\nvar Navigator = function (_a2) {\n  var _b2;\n  var clientId = _a2.clientId,\n    onURLChange = _a2.onURLChange,\n    className = _a2.className,\n    startRoute = _a2.startRoute,\n    props = __rest(_a2, [\"clientId\", \"onURLChange\", \"className\", \"startRoute\"]);\n  var _c2 = React3.useState(\"\"),\n    baseUrl = _c2[0],\n    setBaseUrl = _c2[1];\n  var _d = useSandpack(),\n    sandpack = _d.sandpack,\n    dispatch = _d.dispatch,\n    listen = _d.listen;\n  var _e = React3.useState((_b2 = startRoute !== null && startRoute !== void 0 ? startRoute : sandpack.startRoute) !== null && _b2 !== void 0 ? _b2 : \"/\"),\n    relativeUrl = _e[0],\n    setRelativeUrl = _e[1];\n  var _f = React3.useState(false),\n    backEnabled = _f[0],\n    setBackEnabled = _f[1];\n  var _g = React3.useState(false),\n    forwardEnabled = _g[0],\n    setForwardEnabled = _g[1];\n  var classNames = useClassNames();\n  React3.useEffect(function () {\n    var unsub = listen(function (message) {\n      if (message.type === \"urlchange\") {\n        var url = message.url,\n          back = message.back,\n          forward = message.forward;\n        var _a3 = splitUrl(url),\n          newBaseUrl = _a3[0],\n          newRelativeUrl = _a3[1];\n        setBaseUrl(newBaseUrl);\n        setRelativeUrl(newRelativeUrl);\n        setBackEnabled(back);\n        setForwardEnabled(forward);\n      }\n    }, clientId);\n    return function () {\n      return unsub();\n    };\n  }, []);\n  var handleInputChange = function (e) {\n    var path = e.target.value.startsWith(\"/\") ? e.target.value : \"/\" + e.target.value;\n    setRelativeUrl(path);\n  };\n  var handleKeyDown = function (e) {\n    if (e.code === \"Enter\") {\n      e.preventDefault();\n      e.stopPropagation();\n      if (typeof onURLChange === \"function\") {\n        onURLChange(baseUrl + e.currentTarget.value);\n      }\n    }\n  };\n  var handleRefresh = function () {\n    dispatch({\n      type: \"refresh\"\n    });\n  };\n  var handleBack = function () {\n    dispatch({\n      type: \"urlback\"\n    });\n  };\n  var handleForward = function () {\n    dispatch({\n      type: \"urlforward\"\n    });\n  };\n  var buttonsClassNames = classNames(\"button\", [classNames(\"icon\"), buttonClassName, iconClassName, css({\n    minWidth: \"$space$6\",\n    justifyContent: \"center\"\n  })]);\n  return jsxs(\"div\", __assign({\n    className: classNames(\"navigator\", [navigatorClassName, className])\n  }, props, {\n    children: [jsx(\"button\", __assign({\n      \"aria-label\": \"Go back one page\",\n      className: buttonsClassNames,\n      disabled: !backEnabled,\n      onClick: handleBack,\n      type: \"button\"\n    }, {\n      children: jsx(BackwardIcon, {}, void 0)\n    }), void 0), jsx(\"button\", __assign({\n      \"aria-label\": \"Go forward one page\",\n      className: buttonsClassNames,\n      disabled: !forwardEnabled,\n      onClick: handleForward,\n      type: \"button\"\n    }, {\n      children: jsx(ForwardIcon, {}, void 0)\n    }), void 0), jsx(\"button\", __assign({\n      \"aria-label\": \"Refresh page\",\n      className: buttonsClassNames,\n      onClick: handleRefresh,\n      type: \"button\"\n    }, {\n      children: jsx(RefreshIcon, {}, void 0)\n    }), void 0), jsx(\"input\", {\n      \"aria-label\": \"Current Sandpack URL\",\n      className: classNames(\"input\", [inputClassName]),\n      name: \"Current Sandpack URL\",\n      onChange: handleInputChange,\n      onKeyDown: handleKeyDown,\n      type: \"text\",\n      value: relativeUrl\n    }, void 0)]\n  }), void 0);\n};\nvar _a$2;\nvar previewClassName = css((_a$2 = {\n  flex: 1,\n  display: \"flex\",\n  flexDirection: \"column\",\n  background: \"white\",\n  overflow: \"auto\",\n  position: \"relative\"\n}, _a$2[\".\" + THEME_PREFIX + \"-bridge-frame\"] = {\n  border: 0,\n  position: \"absolute\",\n  left: \"$space$2\",\n  bottom: \"$space$2\",\n  zIndex: \"$top\",\n  height: 12,\n  width: \"30%\",\n  mixBlendMode: \"multiply\",\n  pointerEvents: \"none\"\n}, _a$2));\nvar previewIframe = css({\n  border: \"0\",\n  outline: \"0\",\n  width: \"100%\",\n  height: \"100%\",\n  minHeight: \"160px\",\n  maxHeight: \"2000px\",\n  flex: 1\n});\nvar previewActionsClassName$1 = css({\n  display: \"flex\",\n  position: \"absolute\",\n  bottom: \"$space$2\",\n  right: \"$space$2\",\n  zIndex: \"$overlay\",\n  gap: \"$space$2\"\n});\nvar SandpackPreview = /*#__PURE__*/React3.forwardRef(function (_a2, ref) {\n  var _b2 = _a2.showNavigator,\n    showNavigator = _b2 === void 0 ? false : _b2,\n    _c2 = _a2.showRefreshButton,\n    showRefreshButton = _c2 === void 0 ? true : _c2,\n    _d = _a2.showOpenInCodeSandbox,\n    showOpenInCodeSandbox = _d === void 0 ? true : _d,\n    _e = _a2.showSandpackErrorOverlay,\n    showSandpackErrorOverlay = _e === void 0 ? true : _e;\n  _a2.showOpenNewtab;\n  var _g = _a2.showRestartButton,\n    showRestartButton = _g === void 0 ? true : _g,\n    _h = _a2.actionsChildren,\n    actionsChildren = _h === void 0 ? jsx(Fragment, {}, void 0) : _h,\n    children = _a2.children,\n    className = _a2.className,\n    _j = _a2.startRoute,\n    startRoute = _j === void 0 ? \"/\" : _j,\n    props = __rest(_a2, [\"showNavigator\", \"showRefreshButton\", \"showOpenInCodeSandbox\", \"showSandpackErrorOverlay\", \"showOpenNewtab\", \"showRestartButton\", \"actionsChildren\", \"children\", \"className\", \"startRoute\"]);\n  var _k = useSandpackClient({\n      startRoute\n    }),\n    sandpack = _k.sandpack,\n    listen = _k.listen,\n    iframe = _k.iframe,\n    getClient = _k.getClient,\n    clientId = _k.clientId,\n    dispatch = _k.dispatch;\n  var _l = React3.useState(null),\n    iframeComputedHeight = _l[0],\n    setComputedAutoHeight = _l[1];\n  var status = sandpack.status;\n  var refresh = useSandpackNavigation(clientId).refresh;\n  var restart = useSandpackShell(clientId).restart;\n  var classNames = useClassNames();\n  React3.useEffect(function () {\n    var unsubscribe = listen(function (message) {\n      if (message.type === \"resize\") {\n        setComputedAutoHeight(message.height);\n      }\n    });\n    return unsubscribe;\n  }, []);\n  React3.useImperativeHandle(ref, function () {\n    return {\n      clientId,\n      getClient\n    };\n  }, [getClient, clientId]);\n  var handleNewURL = function (newUrl) {\n    if (!iframe.current) {\n      return;\n    }\n    iframe.current.src = newUrl;\n  };\n  return jsxs(SandpackStack, __assign({\n    className: classNames(\"preview\", [className])\n  }, props, {\n    children: [showNavigator && jsx(Navigator, {\n      clientId,\n      onURLChange: handleNewURL,\n      startRoute\n    }, void 0), jsxs(\"div\", __assign({\n      className: classNames(\"preview-container\", [previewClassName])\n    }, {\n      children: [jsx(\"iframe\", {\n        ref: iframe,\n        className: classNames(\"preview-iframe\", [previewIframe]),\n        style: {\n          // set height based on the content only in auto mode\n          // and when the computed height was returned by the bundler\n          height: iframeComputedHeight ? iframeComputedHeight : void 0\n        },\n        title: \"Sandpack Preview\"\n      }, void 0), jsxs(\"div\", __assign({\n        className: classNames(\"preview-actions\", [previewActionsClassName$1])\n      }, {\n        children: [actionsChildren, showRestartButton && sandpack.environment === \"node\" && jsx(RoundedButton, __assign({\n          onClick: restart\n        }, {\n          children: jsx(RestartIcon, {}, void 0)\n        }), void 0), !showNavigator && showRefreshButton && status === \"running\" && jsx(RoundedButton, __assign({\n          onClick: refresh\n        }, {\n          children: jsx(RefreshIcon, {}, void 0)\n        }), void 0), sandpack.teamId && jsx(\"button\", __assign({\n          className: classNames(\"button\", [classNames(\"icon-standalone\"), buttonClassName, iconStandaloneClassName, roundedButtonClassName]),\n          onClick: function () {\n            return dispatch({\n              type: \"sign-out\"\n            });\n          },\n          title: \"Sign out\",\n          type: \"button\"\n        }, {\n          children: jsx(SignOutIcon, {}, void 0)\n        }), void 0), showOpenInCodeSandbox && jsx(OpenInCodeSandboxButton, {}, void 0)]\n      }), void 0), jsx(LoadingOverlay, {\n        clientId,\n        showOpenInCodeSandbox\n      }, void 0), showSandpackErrorOverlay && jsx(ErrorOverlay, {}, void 0), children]\n    }), void 0)]\n  }), void 0);\n});\nvar _a$1;\nvar transpiledCodeClassName = css((_a$1 = {\n  display: \"flex\",\n  flexDirection: \"column\",\n  width: \"100%\",\n  position: \"relative\",\n  overflow: \"auto\",\n  minHeight: \"160px\",\n  flex: 1\n}, _a$1[\".\" + THEME_PREFIX + \"-stack\"] = {\n  height: \"100%\"\n}, _a$1));\nvar SandpackTranspiledCode = function (_a2) {\n  var className = _a2.className,\n    props = __rest(_a2, [\"className\"]);\n  var sandpack = useSandpack().sandpack;\n  var transpiledCode = useTranspiledCode();\n  var classNames = useClassNames();\n  var hiddenIframeRef = React3.useRef(null);\n  React3.useEffect(function () {\n    var hiddenIframe = hiddenIframeRef.current;\n    if (hiddenIframe) {\n      sandpack.registerBundler(hiddenIframe, \"hidden\");\n    }\n    return function () {\n      sandpack.unregisterBundler(\"hidden\");\n    };\n  }, []);\n  return jsxs(\"div\", __assign({\n    className: classNames(\"transpiled-code\", [stackClassName, transpiledCodeClassName, className])\n  }, props, {\n    children: [jsx(SandpackCodeViewer, __assign({\n      code: transpiledCode !== null && transpiledCode !== void 0 ? transpiledCode : \"\",\n      initMode: sandpack.initMode\n    }, props), void 0), jsx(\"iframe\", {\n      ref: hiddenIframeRef,\n      style: {\n        display: \"none\"\n      },\n      title: \"transpiled sandpack code\"\n    }, void 0), jsx(ErrorOverlay, {}, void 0), jsx(LoadingOverlay, {\n      clientId: \"hidden\",\n      showOpenInCodeSandbox: false\n    }, void 0)]\n  }), void 0);\n};\nvar wrapperClassName$1 = css({\n  justifyContent: \"space-between\",\n  borderBottom: \"1px solid $colors$surface2\",\n  padding: \"0 $space$2\",\n  fontFamily: \"$font$mono\",\n  height: \"$layout$headerHeight\",\n  minHeight: \"$layout$headerHeight\",\n  overflowX: \"auto\",\n  whiteSpace: \"nowrap\"\n});\nvar flexClassName$1 = css({\n  display: \"flex\",\n  flexDirection: \"row\",\n  alignItems: \"center\",\n  gap: \"$space$2\"\n});\nvar Header$1 = function (_a2) {\n  var status = _a2.status,\n    suiteOnly = _a2.suiteOnly,\n    setSuiteOnly = _a2.setSuiteOnly,\n    setVerbose = _a2.setVerbose,\n    verbose = _a2.verbose,\n    watchMode = _a2.watchMode,\n    setWatchMode = _a2.setWatchMode,\n    showSuitesOnly = _a2.showSuitesOnly,\n    showWatchButton = _a2.showWatchButton,\n    showVerboseButton = _a2.showVerboseButton,\n    hideTestsAndSupressLogs = _a2.hideTestsAndSupressLogs;\n  var classNames = useClassNames();\n  var buttonsClassName = classNames(\"test-header-button\", [buttonClassName, roundedButtonClassName, css({\n    padding: \"$space$1 $space$3\"\n  })]);\n  return jsxs(\"div\", __assign({\n    className: classNames(\"test-header\", [wrapperClassName$1, flexClassName$1])\n  }, {\n    children: [jsx(\"div\", __assign({\n      className: classNames(\"test-header-wrapper\", [flexClassName$1])\n    }, {\n      children: jsxs(\"p\", __assign({\n        className: classNames(\"test-header-title\", [css({\n          lineHeight: 1,\n          margin: 0,\n          color: \"$colors$base\",\n          fontSize: \"$font$size\",\n          display: \"flex\",\n          alignItems: \"center\",\n          gap: \"$space$2\"\n        })])\n      }, {\n        children: [jsx(ConsoleIcon, {}, void 0), \"Tests\"]\n      }), void 0)\n    }), void 0), jsxs(\"div\", __assign({\n      className: classNames(\"test-header-actions\", [flexClassName$1])\n    }, {\n      children: [showSuitesOnly && jsx(\"button\", __assign({\n        className: buttonsClassName,\n        \"data-active\": suiteOnly,\n        disabled: status === \"initialising\",\n        onClick: setSuiteOnly,\n        type: \"button\"\n      }, {\n        children: \"Suite only\"\n      }), void 0), showVerboseButton && jsx(\"button\", __assign({\n        className: buttonsClassName,\n        \"data-active\": verbose,\n        disabled: status === \"initialising\" || hideTestsAndSupressLogs,\n        onClick: setVerbose,\n        type: \"button\"\n      }, {\n        children: \"Verbose\"\n      }), void 0), showWatchButton && jsx(\"button\", __assign({\n        className: buttonsClassName,\n        \"data-active\": watchMode,\n        disabled: status === \"initialising\",\n        onClick: setWatchMode,\n        type: \"button\"\n      }, {\n        children: \"Watch\"\n      }), void 0)]\n    }), void 0)]\n  }), void 0);\n};\nvar RunButton = function (_a2) {\n  var onClick = _a2.onClick;\n  return jsx(RoundedButton, __assign({\n    onClick,\n    title: \"Run tests\"\n  }, {\n    children: jsx(RunIcon, {}, void 0)\n  }), void 0);\n};\nvar setTestTheme = function (isDark) {\n  return {\n    \"--test-pass\": isDark ? \"#18df16\" : \"#15c213\",\n    \"--test-fail\": isDark ? \"#df162b\" : \"#c21325\",\n    \"--test-skip\": isDark ? \"#eace2b\" : \"#c2a813\",\n    \"--test-run\": isDark ? \"#eace2b\" : \"#c2a813\",\n    \"--test-title\": isDark ? \"#3fbabe\" : \"#256c6f\"\n  };\n};\nvar color = css({\n  variants: {\n    status: {\n      pass: {\n        color: \"var(--test-pass)\"\n      },\n      fail: {\n        color: \"var(--test-fail)\"\n      },\n      skip: {\n        color: \"var(--test-skip)\"\n      },\n      title: {\n        color: \"var(--test-title)\"\n      }\n    }\n  }\n});\nvar passTextClassName = color({\n  status: \"pass\"\n});\nvar failTextClassName = color({\n  status: \"fail\"\n});\nvar skipTextClassName = color({\n  status: \"skip\"\n});\nvar titleTextClassName = color({\n  status: \"title\"\n});\nvar background = css({\n  variants: {\n    status: {\n      pass: {\n        background: \"var(--test-pass)\",\n        color: \"$colors$surface1\"\n      },\n      fail: {\n        background: \"var(--test-fail)\",\n        color: \"$colors$surface1\"\n      },\n      run: {\n        background: \"var(--test-run)\",\n        color: \"$colors$surface1\"\n      }\n    }\n  }\n});\nvar runBackgroundClassName = background({\n  status: \"run\"\n});\nvar passBackgroundClassName = background({\n  status: \"pass\"\n});\nvar failBackgroundClassName = background({\n  status: \"fail\"\n});\nvar testContainerClassName = css({\n  marginLeft: \"$space$4\"\n});\nvar containerClassName$4 = css({\n  marginBottom: \"$space$2\",\n  color: \"$colors$clickable\"\n});\nvar testClassName = css({\n  marginBottom: \"$space$2\",\n  color: \"$colors$hover\"\n});\nvar durationClassName = css({\n  marginLeft: \"$space$2\"\n});\nvar gapRightClassName = css({\n  marginRight: \"$space$2\"\n});\nvar Tests = function (_a2) {\n  var tests = _a2.tests;\n  _a2.style;\n  var classNames = useClassNames();\n  return jsx(\"div\", __assign({\n    className: classNames(\"test\", [testContainerClassName])\n  }, {\n    children: tests.map(function (test) {\n      return jsxs(\"div\", __assign({\n        className: classNames(\"test-result\", [containerClassName$4])\n      }, {\n        children: [test.status === \"pass\" && jsx(\"span\", __assign({\n          className: classNames(\"test-pass-text\", [passTextClassName, gapRightClassName])\n        }, {\n          children: \"\u2713\"\n        }), void 0), test.status === \"fail\" && jsx(\"span\", __assign({\n          className: classNames(\"test-fail-text\", [failTextClassName, gapRightClassName])\n        }, {\n          children: \"\u2715\"\n        }), void 0), test.status === \"idle\" && jsx(\"span\", __assign({\n          className: classNames(\"test-idle-text\", [skipTextClassName, gapRightClassName])\n        }, {\n          children: \"\u25CB\"\n        }), void 0), jsx(\"span\", __assign({\n          className: classNames(\"test-name-text\", [testClassName])\n        }, {\n          children: test.name\n        }), void 0), test.duration !== void 0 && jsxs(\"span\", __assign({\n          className: classNames(\"test-duration-text\", [durationClassName])\n        }, {\n          children: [\"(\", test.duration, \" ms)\"]\n        }), void 0)]\n      }), test.name);\n    })\n  }), void 0);\n};\nvar getTests = function (block) {\n  var _a2;\n  var _b2, _c2;\n  return (_a2 = Object.values((_b2 = block.tests) !== null && _b2 !== void 0 ? _b2 : {})).concat.apply(_a2, Object.values((_c2 = block.describes) !== null && _c2 !== void 0 ? _c2 : {}).map(getTests));\n};\nvar getFailingTests = function (block) {\n  return getTests(block).filter(function (t2) {\n    return t2.status === \"fail\";\n  });\n};\nvar getAllTestResults = function (specs) {\n  return specs.map(getSpecTestResults).reduce(function (acc, stats) {\n    return {\n      pass: acc.pass + stats.pass,\n      fail: acc.fail + stats.fail,\n      skip: acc.skip + stats.skip,\n      total: acc.total + stats.total\n    };\n  }, {\n    pass: 0,\n    skip: 0,\n    fail: 0,\n    total: 0\n  });\n};\nvar getSpecTestResults = function (spec) {\n  return getTests(spec).reduce(function (acc, test) {\n    return {\n      pass: test.status === \"pass\" ? acc.pass + 1 : acc.pass,\n      fail: test.status === \"fail\" ? acc.fail + 1 : acc.fail,\n      skip: test.status === \"idle\" || test.status === \"running\" ? acc.skip + 1 : acc.skip,\n      total: acc.total + 1\n    };\n  }, {\n    pass: 0,\n    fail: 0,\n    skip: 0,\n    total: 0\n  });\n};\nvar getAllSuiteResults = function (specs) {\n  return specs.filter(function (spec) {\n    var _a2, _b2;\n    return Object.values((_a2 = spec.describes) !== null && _a2 !== void 0 ? _a2 : {}).length > 0 || Object.values((_b2 = spec.tests) !== null && _b2 !== void 0 ? _b2 : {}).length > 0;\n  }).map(getSpecTestResults).reduce(function (acc, stats) {\n    return {\n      pass: acc.pass + (stats.fail === 0 ? 1 : 0),\n      fail: acc.fail + (stats.fail > 0 ? 1 : 0),\n      total: acc.total + 1\n    };\n  }, {\n    pass: 0,\n    fail: 0,\n    total: 0\n  });\n};\nvar getDuration = function (specs) {\n  return flatMap(specs, getTests).reduce(function (acc, test) {\n    return acc + (test.duration || 0);\n  }, 0);\n};\nvar isEmpty = function (block) {\n  var _a2, _b2;\n  return Object.values((_a2 = block.describes) !== null && _a2 !== void 0 ? _a2 : {}).length === 0 && Object.values((_b2 = block.tests) !== null && _b2 !== void 0 ? _b2 : {}).length === 0;\n};\nvar splitTail = function (as) {\n  var lastIndex = as.length - 1;\n  var head = as.slice(0, lastIndex);\n  var tail = as[lastIndex];\n  return [head, tail];\n};\nvar flatMap = function (as, f2) {\n  return as.map(f2).reduce(function (acc, next) {\n    return acc.concat(next);\n  }, []);\n};\nvar set = function (path, value) {\n  return function (object) {\n    return clean_set_es_default(object, path, value);\n  };\n};\nvar nameClassName = css({\n  color: \"$colors$hover\",\n  marginBottom: \"$space$2\"\n});\nvar containerClassName$3 = css({\n  marginLeft: \"$space$4\"\n});\nvar Describes = function (_a2) {\n  var describes = _a2.describes;\n  var classNames = useClassNames();\n  return jsx(Fragment, {\n    children: describes.map(function (describe) {\n      var _a3, _b2;\n      if (isEmpty(describe)) {\n        return null;\n      }\n      var tests = Object.values((_a3 = describe.tests) !== null && _a3 !== void 0 ? _a3 : {});\n      var describes2 = Object.values((_b2 = describe.describes) !== null && _b2 !== void 0 ? _b2 : {});\n      return jsxs(\"div\", __assign({\n        className: classNames(\"test-describe\", [containerClassName$3])\n      }, {\n        children: [jsx(\"div\", __assign({\n          className: classNames(\"test-name\", [nameClassName])\n        }, {\n          children: describe.name\n        }), void 0), jsx(Tests, {\n          tests\n        }, void 0), jsx(Describes, {\n          describes: describes2\n        }, void 0)]\n      }), describe.name);\n    })\n  }, void 0);\n};\nvar containerClassName$2 = css({\n  color: \"$colors$hover\",\n  fontSize: \"$font$size\",\n  padding: \"$space$2\",\n  whiteSpace: \"pre-wrap\"\n});\nvar FormattedError = function (_a2) {\n  var error = _a2.error,\n    path = _a2.path;\n  var classNames = useClassNames();\n  return jsx(\"div\", {\n    className: classNames(\"test-error\", [containerClassName$2]),\n    dangerouslySetInnerHTML: {\n      __html: formatDiffMessage(error, path)\n    }\n  }, void 0);\n};\nvar escapeHtml = function (unsafe) {\n  return unsafe.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\n};\nvar formatDiffMessage = function (error, path) {\n  var finalMessage = \"\";\n  if (error.matcherResult) {\n    finalMessage = \"<span>\" + escapeHtml(error.message).replace(/(expected)/m, '<span class=\"' + passTextClassName + '\">$1</span>').replace(/(received)/m, '<span class=\"' + failTextClassName + '\">$1</span>').replace(/(Difference:)/m, \"<span>$1</span>\").replace(/(Expected:)(.*)/m, '<span>$1</span><span class=\"' + passTextClassName + '\">$2</span>').replace(/(Received:)(.*)/m, '<span>$1</span><span class=\"' + failTextClassName + '\">$2</span>').replace(/^(-.*)/gm, '<span class=\"' + failTextClassName + '\">$1</span>').replace(/^(\\+.*)/gm, '<span class=\"' + passTextClassName + '\">$1</span>') + \"</span>\";\n  } else {\n    finalMessage = escapeHtml(error.message);\n  }\n  if (error.mappedErrors && error.mappedErrors[0] && error.mappedErrors[0].fileName.endsWith(path) && error.mappedErrors[0]._originalScriptCode) {\n    var mappedError = error.mappedErrors[0];\n    var _originalScriptCode = mappedError._originalScriptCode || [];\n    var widestNumber_1 = Math.max.apply(Math, _originalScriptCode.map(function (code) {\n      return (code.lineNumber + \"\").length;\n    })) + 2;\n    var margin_1 = Array.from({\n      length: widestNumber_1\n    }).map(function () {\n      return \" \";\n    });\n    finalMessage += \"<br />\";\n    finalMessage += \"<br />\";\n    finalMessage += \"<div>\";\n    _originalScriptCode.filter(function (s2) {\n      return s2.content.trim();\n    }).forEach(function (code) {\n      var currentLineMargin = (code.lineNumber + \"\").length;\n      var newMargin = __spreadArray([], margin_1, true);\n      newMargin.length -= currentLineMargin;\n      if (code.highlight) {\n        newMargin.length -= 2;\n      }\n      var toBeIndex = code.content.indexOf(\".to\");\n      var toBeMargin = Array.from({\n        length: margin_1.length + toBeIndex - (widestNumber_1 - 1)\n      }, function () {\n        return \" \";\n      });\n      var content = escapeHtml(code.content).replace(/(describe|test|it)(\\()(&#039;|&quot;|`)(.*)(&#039;|&quot;|`)/m, '<span>$1$2$3</span><span class=\"' + titleTextClassName + '\">$4</span><span>$5</span>').replace(/(expect\\()(.*)(\\)\\..*)(to[\\w\\d]*)(\\()(.*)(\\))/m, '<span>$1</span><span class=\"' + failTextClassName + '\">$2</span><span>$3</span><span style=\"text-decoration: underline; font-weight: 900\">$4</span><span>$5</span><span class=\"' + passTextClassName + '\">$6</span><span>$7</span>');\n      finalMessage += \"<div \" + (code.highlight ? 'style=\"font-weight:200;\"' : \"\") + \">\" + (code.highlight ? '<span class=\"' + failTextClassName + '\">></span> ' : \"\") + newMargin.join(\"\") + escapeHtml(\"\" + code.lineNumber) + \" | \" + content + \"</div>\" + (code.highlight ? \"<div>\" + margin_1.join(\"\") + \" | \" + toBeMargin.join(\"\") + ('<span class=\"' + failTextClassName + '\">^</span>') + \"</div>\" : \"\");\n    });\n    finalMessage += \"</div>\";\n  }\n  return finalMessage.replace(/(?:\\r\\n|\\r|\\n)/g, \"<br />\");\n};\nvar fileContainer = css({\n  display: \"flex\",\n  flexDirection: \"row\",\n  alignItems: \"center\",\n  marginBottom: \"$space$2\"\n});\nvar gapBottomClassName$1 = css({\n  marginBottom: \"$space$2\"\n});\nvar failTestClassName = css({\n  fontWeight: \"bold\"\n});\nvar labelClassName$1 = css({\n  borderRadius: \"calc($border$radius / 2)\"\n});\nvar specLabelClassName = css({\n  padding: \"$space$1 $space$2\",\n  fontFamily: \"$font$mono\",\n  textTransform: \"uppercase\",\n  marginRight: \"$space$2\"\n});\nvar filePathButtonClassName = css({\n  fontFamily: \"$font$mono\",\n  cursor: \"pointer\",\n  display: \"inline-block\"\n});\nvar filePathClassName = css({\n  color: \"$colors$clickable\",\n  textDecorationStyle: \"dotted\",\n  textDecorationLine: \"underline\"\n});\nvar fileNameClassName = css({\n  color: \"$colors$hover\",\n  fontWeight: \"bold\",\n  textDecorationStyle: \"dotted\",\n  textDecorationLine: \"underline\"\n});\nvar Specs = function (_a2) {\n  var specs = _a2.specs,\n    openSpec = _a2.openSpec,\n    status = _a2.status,\n    verbose = _a2.verbose,\n    hideTestsAndSupressLogs = _a2.hideTestsAndSupressLogs;\n  var classNames = useClassNames();\n  return jsx(Fragment, {\n    children: specs.map(function (spec) {\n      if (spec.error) {\n        return jsxs(\"div\", __assign({\n          className: classNames(\"test-spec\", [gapBottomClassName$1])\n        }, {\n          children: [jsx(SpecLabel, __assign({\n            className: classNames(\"test-spec-error\", [labelClassName$1, failBackgroundClassName])\n          }, {\n            children: \"Error\"\n          }), void 0), jsx(FilePath, {\n            onClick: function () {\n              return openSpec(spec.name);\n            },\n            path: spec.name\n          }, void 0), jsx(FormattedError, {\n            error: spec.error,\n            path: spec.name\n          }, void 0)]\n        }), spec.name);\n      }\n      if (isEmpty(spec)) {\n        return null;\n      }\n      var tests = Object.values(spec.tests);\n      var describes = Object.values(spec.describes);\n      var stats = getSpecTestResults(spec);\n      return jsxs(\"div\", __assign({\n        className: classNames(\"test-spec-name\", [gapBottomClassName$1])\n      }, {\n        children: [jsxs(\"div\", __assign({\n          className: classNames(\"test-spec-name-container\", [fileContainer])\n        }, {\n          children: [status === \"complete\" ? stats.fail > 0 ? jsx(SpecLabel, __assign({\n            className: classNames(\"test-spec-complete\", [labelClassName$1, failBackgroundClassName])\n          }, {\n            children: \"Fail\"\n          }), void 0) : jsx(SpecLabel, __assign({\n            className: classNames(\"test-spec-pass\", [labelClassName$1, passBackgroundClassName])\n          }, {\n            children: \"Pass\"\n          }), void 0) : jsx(SpecLabel, __assign({\n            className: classNames(\"test-spec-run\", [labelClassName$1, runBackgroundClassName])\n          }, {\n            children: \"Run\"\n          }), void 0), jsx(FilePath, {\n            onClick: function () {\n              if (!hideTestsAndSupressLogs) {\n                openSpec(spec.name);\n              }\n            },\n            path: spec.name\n          }, void 0)]\n        }), void 0), verbose && !hideTestsAndSupressLogs && jsx(Tests, {\n          tests\n        }, void 0), verbose && !hideTestsAndSupressLogs && jsx(Describes, {\n          describes\n        }, void 0), !hideTestsAndSupressLogs && getFailingTests(spec).map(function (test) {\n          return jsxs(\"div\", __assign({\n            className: classNames(\"test-spec-error\", [gapBottomClassName$1])\n          }, {\n            children: [jsxs(\"div\", __assign({\n              className: classNames(\"test-spec-error-text\", [failTestClassName, failTextClassName])\n            }, {\n              children: [\"\u25CF \", test.blocks.join(\" \u203A \"), \" \u203A \", test.name]\n            }), void 0), test.errors.map(function (e) {\n              return jsx(FormattedError, {\n                error: e,\n                path: test.path\n              }, \"failing-\" + test.name + \"-error\");\n            })]\n          }), \"failing-\" + test.name);\n        })]\n      }), spec.name);\n    })\n  }, void 0);\n};\nvar SpecLabel = function (_a2) {\n  var children = _a2.children,\n    className = _a2.className;\n  var classNames = useClassNames();\n  return jsx(\"span\", __assign({\n    className: classNames(\"test-spec-label\", [specLabelClassName, className])\n  }, {\n    children\n  }), void 0);\n};\nvar FilePath = function (_a2) {\n  var onClick = _a2.onClick,\n    path = _a2.path;\n  var parts = path.split(\"/\");\n  var basePath = parts.slice(0, parts.length - 1).join(\"/\") + \"/\";\n  var fileName = parts[parts.length - 1];\n  var classNames = useClassNames();\n  return jsxs(\"button\", __assign({\n    className: classNames(\"test-filename\", [buttonClassName, filePathButtonClassName]),\n    onClick,\n    type: \"button\"\n  }, {\n    children: [jsx(\"span\", __assign({\n      className: classNames(\"test-filename-base\", [filePathClassName])\n    }, {\n      children: basePath\n    }), void 0), jsx(\"span\", __assign({\n      className: classNames(\"test-filename-file\", [fileNameClassName])\n    }, {\n      children: fileName\n    }), void 0)]\n  }), void 0);\n};\nvar gapBottomClassName = css({\n  marginBottom: \"$space$2\"\n});\nvar labelClassName = css({\n  fontWeight: \"bold\",\n  color: \"$colors$hover\",\n  whiteSpace: \"pre-wrap\"\n});\nvar containerClassName$1 = css({\n  fontWeight: \"bold\",\n  color: \"$colors$clickable\"\n});\nvar Summary = function (_a2) {\n  var suites = _a2.suites,\n    tests = _a2.tests,\n    duration = _a2.duration;\n  var widestLabel = \"Test suites: \";\n  var withMargin = function (label) {\n    var difference = widestLabel.length - label.length;\n    var margin = Array.from({\n      length: difference\n    }, function () {\n      return \" \";\n    }).join(\"\");\n    return label + margin;\n  };\n  var classNames = useClassNames();\n  return jsxs(\"div\", __assign({\n    className: classNames(\"test-summary\", [containerClassName$1])\n  }, {\n    children: [jsxs(\"div\", __assign({\n      className: classNames(\"test-summary\", [gapBottomClassName])\n    }, {\n      children: [jsx(\"span\", __assign({\n        className: classNames(\"test-summary-suites-label\", [labelClassName])\n      }, {\n        children: widestLabel\n      }), void 0), suites.fail > 0 && jsxs(\"span\", __assign({\n        className: classNames(\"test-summary-suites-fail\", [failTextClassName])\n      }, {\n        children: [suites.fail, \" failed,\", \" \"]\n      }), void 0), suites.pass > 0 && jsxs(\"span\", __assign({\n        className: classNames(\"test-summary-suites-pass\", [passTextClassName])\n      }, {\n        children: [suites.pass, \" passed,\", \" \"]\n      }), void 0), jsxs(\"span\", {\n        children: [suites.total, \" total\"]\n      }, void 0)]\n    }), void 0), jsxs(\"div\", __assign({\n      className: classNames(\"test-summary\", [gapBottomClassName])\n    }, {\n      children: [jsx(\"span\", __assign({\n        className: classNames(\"test-summary-label\", [labelClassName])\n      }, {\n        children: withMargin(\"Tests:\")\n      }), void 0), tests.fail > 0 && jsxs(\"span\", __assign({\n        className: classNames(\"test-summary-fail\", [failTextClassName])\n      }, {\n        children: [tests.fail, \" failed,\", \" \"]\n      }), void 0), tests.skip > 0 && jsxs(\"span\", __assign({\n        className: classNames(\"test-summary-skip\", [skipTextClassName])\n      }, {\n        children: [tests.skip, \" skipped,\", \" \"]\n      }), void 0), tests.pass > 0 && jsxs(\"span\", __assign({\n        className: classNames(\"test-summary-pass\", [passTextClassName])\n      }, {\n        children: [tests.pass, \" passed,\", \" \"]\n      }), void 0), jsxs(\"span\", {\n        children: [tests.total, \" total\"]\n      }, void 0)]\n    }), void 0), jsxs(\"div\", __assign({\n      className: classNames(\"test-summary-curation\", [labelClassName])\n    }, {\n      children: [withMargin(\"Time:\"), duration / 1e3, \"s\"]\n    }), void 0)]\n  }), void 0);\n};\nvar previewActionsClassName = css({\n  display: \"flex\",\n  position: \"absolute\",\n  bottom: \"$space$2\",\n  right: \"$space$2\",\n  zIndex: \"$overlay\",\n  \"> *\": {\n    marginLeft: \"$space$2\"\n  }\n});\nvar INITIAL_STATE = {\n  specs: {},\n  status: \"initialising\",\n  verbose: false,\n  watchMode: true,\n  suiteOnly: false,\n  specsCount: 0\n};\nvar SandpackTests = function (_a2) {\n  var _b2 = _a2.verbose,\n    verbose = _b2 === void 0 ? false : _b2,\n    _c2 = _a2.watchMode,\n    watchMode = _c2 === void 0 ? true : _c2,\n    style = _a2.style,\n    className = _a2.className,\n    onComplete = _a2.onComplete,\n    actionsChildren = _a2.actionsChildren,\n    _d = _a2.showVerboseButton,\n    showVerboseButton = _d === void 0 ? true : _d,\n    _e = _a2.showWatchButton,\n    showWatchButton = _e === void 0 ? true : _e,\n    _f = _a2.hideTestsAndSupressLogs,\n    hideTestsAndSupressLogs = _f === void 0 ? false : _f,\n    props = __rest(_a2, [\"verbose\", \"watchMode\", \"style\", \"className\", \"onComplete\", \"actionsChildren\", \"showVerboseButton\", \"showWatchButton\", \"hideTestsAndSupressLogs\"]);\n  var theme = useSandpackTheme();\n  var _g = useSandpackClient(),\n    getClient = _g.getClient,\n    iframe = _g.iframe,\n    listen = _g.listen,\n    sandpack = _g.sandpack;\n  var _h = React3.useState(__assign(__assign({}, INITIAL_STATE), {\n      verbose,\n      watchMode\n    })),\n    state = _h[0],\n    setState = _h[1];\n  var runAllTests = React3.useCallback(function () {\n    setState(function (oldState) {\n      return __assign(__assign({}, oldState), {\n        status: \"running\",\n        specs: {}\n      });\n    });\n    var client = getClient();\n    if (client) {\n      client.dispatch({\n        type: \"run-all-tests\"\n      });\n    }\n  }, [getClient]);\n  var runSpec = React3.useCallback(function () {\n    setState(function (oldState) {\n      return __assign(__assign({}, oldState), {\n        status: \"running\",\n        specs: {}\n      });\n    });\n    var client = getClient();\n    if (client) {\n      client.dispatch({\n        type: \"run-tests\",\n        path: sandpack.activeFile\n      });\n    }\n  }, [getClient, sandpack.activeFile]);\n  var testFileRegex = /.*\\.(test|spec)\\.[tj]sx?$/;\n  var isSpecOpen = sandpack.activeFile.match(testFileRegex) !== null;\n  React3.useEffect(function () {\n    var currentDescribeBlocks = [];\n    var currentSpec = \"\";\n    var unsubscribe = listen(function (data) {\n      if (state.suiteOnly && (\"path\" in data && data.path !== sandpack.activeFile || \"test\" in data && \"path\" in data.test && data.test.path !== sandpack.activeFile)) {\n        return;\n      }\n      if (data.type === \"action\" && data.action === \"clear-errors\" && data.source === \"jest\") {\n        currentSpec = data.path;\n        return;\n      }\n      if (data.type === \"test\") {\n        if (data.event === \"initialize_tests\") {\n          currentDescribeBlocks = [];\n          currentSpec = \"\";\n          if (state.watchMode) {\n            return runAllTests();\n          } else {\n            return setState(function (oldState) {\n              return __assign(__assign({}, oldState), {\n                status: \"idle\",\n                specs: {}\n              });\n            });\n          }\n        }\n        if (data.event === \"test_count\") {\n          return setState(function (oldState) {\n            return __assign(__assign({}, oldState), {\n              specsCount: data.count\n            });\n          });\n        }\n        if (data.event === \"total_test_start\") {\n          currentDescribeBlocks = [];\n          return setState(function (oldState) {\n            return __assign(__assign({}, oldState), {\n              status: \"running\"\n            });\n          });\n        }\n        if (data.event === \"total_test_end\") {\n          return setState(function (oldState) {\n            if (onComplete !== void 0) {\n              onComplete(oldState.specs);\n            }\n            return __assign(__assign({}, oldState), {\n              status: \"complete\"\n            });\n          });\n        }\n        if (data.event === \"add_file\") {\n          return setState(set([\"specs\", data.path], {\n            describes: {},\n            tests: {},\n            name: data.path\n          }));\n        }\n        if (data.event === \"remove_file\") {\n          return setState(function (oldState) {\n            var specs2 = Object.entries(oldState.specs).reduce(function (acc, _a4) {\n              var _b4;\n              var key = _a4[0],\n                value = _a4[1];\n              if (key === data.path) {\n                return acc;\n              } else {\n                return __assign(__assign({}, acc), (_b4 = {}, _b4[key] = value, _b4));\n              }\n            }, {});\n            return __assign(__assign({}, oldState), {\n              specs: specs2\n            });\n          });\n        }\n        if (data.event === \"file_error\") {\n          return setState(set([\"specs\", data.path, \"error\"], data.error));\n        }\n        if (data.event === \"describe_start\") {\n          currentDescribeBlocks.push(data.blockName);\n          var _a3 = splitTail(currentDescribeBlocks),\n            describePath = _a3[0],\n            currentDescribe = _a3[1];\n          var spec = currentSpec;\n          if (currentDescribe === void 0) {\n            return;\n          }\n          return setState(set(__spreadArray(__spreadArray([\"specs\", spec, \"describes\"], flatMap(describePath, function (name) {\n            return [name, \"describes\"];\n          }), true), [currentDescribe], false), {\n            name: data.blockName,\n            tests: {},\n            describes: {}\n          }));\n        }\n        if (data.event === \"describe_end\") {\n          currentDescribeBlocks.pop();\n          return;\n        }\n        if (data.event === \"add_test\") {\n          var _b3 = splitTail(currentDescribeBlocks),\n            describePath = _b3[0],\n            currentDescribe = _b3[1];\n          var test_1 = {\n            status: \"idle\",\n            errors: [],\n            name: data.testName,\n            blocks: __spreadArray([], currentDescribeBlocks, true),\n            path: data.path\n          };\n          if (currentDescribe === void 0) {\n            return setState(set([\"specs\", data.path, \"tests\", data.testName], test_1));\n          } else {\n            return setState(set(__spreadArray(__spreadArray([\"specs\", data.path, \"describes\"], flatMap(describePath, function (name) {\n              return [name, \"describes\"];\n            }), true), [currentDescribe, \"tests\", data.testName], false), test_1));\n          }\n        }\n        if (data.event === \"test_start\") {\n          var test_2 = data.test;\n          var _c3 = splitTail(test_2.blocks),\n            describePath = _c3[0],\n            currentDescribe = _c3[1];\n          var startedTest = {\n            status: \"running\",\n            name: test_2.name,\n            blocks: test_2.blocks,\n            path: test_2.path,\n            errors: []\n          };\n          if (currentDescribe === void 0) {\n            return setState(set([\"specs\", test_2.path, \"tests\", test_2.name], startedTest));\n          } else {\n            return setState(set(__spreadArray(__spreadArray([\"specs\", test_2.path, \"describes\"], flatMap(describePath, function (name) {\n              return [name, \"describes\"];\n            }), true), [currentDescribe, \"tests\", test_2.name], false), startedTest));\n          }\n        }\n        if (data.event === \"test_end\") {\n          var test_3 = data.test;\n          var _d2 = splitTail(test_3.blocks),\n            describePath = _d2[0],\n            currentDescribe = _d2[1];\n          var endedTest = {\n            status: test_3.status,\n            errors: test_3.errors,\n            duration: test_3.duration,\n            name: test_3.name,\n            blocks: test_3.blocks,\n            path: test_3.path\n          };\n          if (currentDescribe === void 0) {\n            return setState(set([\"specs\", test_3.path, \"tests\", test_3.name], endedTest));\n          } else {\n            return setState(set(__spreadArray(__spreadArray([\"specs\", test_3.path, \"describes\"], flatMap(describePath, function (name) {\n              return [name, \"describes\"];\n            }), true), [currentDescribe, \"tests\", test_3.name], false), endedTest));\n          }\n        }\n      }\n    });\n    return unsubscribe;\n  }, [state.suiteOnly, state.watchMode, sandpack.activeFile]);\n  React3.useEffect(function watchMode2() {\n    var unsunscribe = listen(function (_a3) {\n      var type = _a3.type;\n      if (type === \"done\" && state.watchMode) {\n        if (isSpecOpen) {\n          runSpec();\n        } else {\n          runAllTests();\n        }\n      }\n    });\n    return unsunscribe;\n  }, [runSpec, runAllTests, state.watchMode, isSpecOpen]);\n  var openSpec = function (file) {\n    sandpack.setActiveFile(file);\n  };\n  var specs = Object.values(state.specs);\n  var duration = getDuration(specs);\n  var testResults = getAllTestResults(specs);\n  var suiteResults = getAllSuiteResults(specs);\n  var classNames = useClassNames();\n  return jsxs(SandpackStack, __assign({\n    className: classNames(\"tests\", [className]),\n    style: __assign(__assign({}, setTestTheme(theme.themeMode === \"dark\")), style)\n  }, props, {\n    children: [jsx(\"iframe\", {\n      ref: iframe,\n      style: {\n        display: \"none\"\n      },\n      title: \"Sandpack Tests\"\n    }, void 0), jsx(Header$1, {\n      hideTestsAndSupressLogs,\n      setSuiteOnly: function () {\n        return setState(function (s2) {\n          return __assign(__assign({}, s2), {\n            suiteOnly: !s2.suiteOnly\n          });\n        });\n      },\n      setVerbose: function () {\n        return setState(function (s2) {\n          return __assign(__assign({}, s2), {\n            verbose: !s2.verbose\n          });\n        });\n      },\n      setWatchMode: function () {\n        setState(function (s2) {\n          return __assign(__assign({}, s2), {\n            watchMode: !s2.watchMode\n          });\n        });\n      },\n      showSuitesOnly: state.specsCount > 1,\n      showVerboseButton,\n      showWatchButton,\n      status: state.status,\n      suiteOnly: state.suiteOnly,\n      verbose: state.verbose,\n      watchMode: state.watchMode\n    }, void 0), state.status === \"running\" || state.status === \"initialising\" ? jsx(Loading, {\n      showOpenInCodeSandbox: false\n    }, void 0) : jsxs(\"div\", __assign({\n      className: previewActionsClassName.toString()\n    }, {\n      children: [actionsChildren, jsx(RunButton, {\n        onClick: state.suiteOnly ? runSpec : runAllTests\n      }, void 0)]\n    }), void 0), jsx(\"div\", __assign({\n      className: containerClassName.toString()\n    }, {\n      children: specs.length === 0 && state.status === \"complete\" ? jsxs(\"div\", __assign({\n        className: fileErrorContainerClassName.toString()\n      }, {\n        children: [jsx(\"p\", {\n          children: \"No test files found.\"\n        }, void 0), jsxs(\"p\", {\n          children: [\"Test match:\", \" \", jsx(\"span\", __assign({\n            className: failTextClassName.toString()\n          }, {\n            children: testFileRegex.toString()\n          }), void 0)]\n        }, void 0)]\n      }), void 0) : jsxs(Fragment, {\n        children: [jsx(Specs, {\n          hideTestsAndSupressLogs,\n          openSpec,\n          specs,\n          status: state.status,\n          verbose: state.verbose\n        }, void 0), state.status === \"complete\" && testResults.total > 0 && jsx(Summary, {\n          duration,\n          suites: suiteResults,\n          tests: testResults\n        }, void 0)]\n      }, void 0)\n    }), void 0)]\n  }), void 0);\n};\nvar containerClassName = css({\n  padding: \"$space$4\",\n  height: \"100%\",\n  overflow: \"auto\",\n  display: \"flex\",\n  flexDirection: \"column\",\n  position: \"relative\",\n  fontFamily: \"$font$mono\"\n});\nvar fileErrorContainerClassName = css({\n  fontWeight: \"bold\",\n  color: \"$colors$base\"\n});\nvar SYNTAX_ERROR_PATTERN = [\"SyntaxError: \", \"Error in sandbox:\"];\nvar CLEAR_LOG = {\n  id: \"random\",\n  method: \"clear\",\n  data: [\"Console was cleared\"]\n};\nvar TRANSFORMED_TYPE_KEY = \"@t\";\nvar CIRCULAR_REF_KEY = \"@r\";\nvar MAX_LENGTH_STRING = 1e4;\nvar MAX_NEST_LEVEL = 2;\nvar MAX_KEYS = 400;\nvar MAX_MESSAGE_COUNT = MAX_KEYS * 2;\nvar GLOBAL = function getGlobal() {\n  var savedEval = eval;\n  return savedEval(\"this\");\n}();\nvar ARRAY_BUFFER_SUPPORTED = typeof ArrayBuffer === \"function\";\nvar MAP_SUPPORTED = typeof Map === \"function\";\nvar SET_SUPPORTED = typeof Set === \"function\";\nvar Arithmetic;\n(function (Arithmetic2) {\n  Arithmetic2[Arithmetic2[\"infinity\"] = 0] = \"infinity\";\n  Arithmetic2[Arithmetic2[\"minusInfinity\"] = 1] = \"minusInfinity\";\n  Arithmetic2[Arithmetic2[\"minusZero\"] = 2] = \"minusZero\";\n})(Arithmetic || (Arithmetic = {}));\nvar transformers = {\n  Arithmetic: function (data) {\n    if (data === Arithmetic.infinity) return Infinity;\n    if (data === Arithmetic.minusInfinity) return -Infinity;\n    if (data === Arithmetic.minusZero) return -0;\n    return data;\n  },\n  HTMLElement: function (data) {\n    var sandbox = document.implementation.createHTMLDocument(\"sandbox\");\n    try {\n      var element = sandbox.createElement(data.tagName);\n      element.innerHTML = data.innerHTML;\n      for (var _i = 0, _a2 = Object.keys(data.attributes); _i < _a2.length; _i++) {\n        var attribute = _a2[_i];\n        try {\n          element.setAttribute(attribute, data.attributes[attribute]);\n        } catch (_b2) {}\n      }\n      return element;\n    } catch (e) {\n      return data;\n    }\n  },\n  Function: function (data) {\n    var tempFun = function () {};\n    Object.defineProperty(tempFun, \"toString\", {\n      value: function () {\n        return \"function \" + data.name + \"() {\" + data.body + \"}\";\n      }\n    });\n    return tempFun;\n  },\n  \"[[NaN]]\": function () {\n    return NaN;\n  },\n  \"[[undefined]]\": function () {\n    return void 0;\n  },\n  \"[[Date]]\": function (val) {\n    var date = /* @__PURE__ */new Date();\n    date.setTime(val);\n    return date;\n  },\n  \"[[RegExp]]\": function (val) {\n    return new RegExp(val.src, val.flags);\n  },\n  \"[[Error]]\": function (val) {\n    var Ctor = GLOBAL[val.name] || Error;\n    var err = new Ctor(val.message);\n    err.stack = val.stack;\n    return err;\n  },\n  \"[[ArrayBuffer]]\": function (val) {\n    if (ARRAY_BUFFER_SUPPORTED) {\n      var buffer = new ArrayBuffer(val.length);\n      var view = new Int8Array(buffer);\n      view.set(val);\n      return buffer;\n    }\n    return val;\n  },\n  \"[[TypedArray]]\": function (val) {\n    return typeof GLOBAL[val.ctorName] === \"function\" ? new GLOBAL[val.ctorName](val.arr) : val.arr;\n  },\n  \"[[Map]]\": function (val) {\n    if (MAP_SUPPORTED) {\n      var map = /* @__PURE__ */new Map();\n      for (var i2 = 0; i2 < val.length; i2 += 2) map.set(val[i2], val[i2 + 1]);\n      return map;\n    }\n    var kvArr = [];\n    for (var j2 = 0; j2 < val.length; j2 += 2) kvArr.push([val[i2], val[i2 + 1]]);\n    return kvArr;\n  },\n  \"[[Set]]\": function (val) {\n    if (SET_SUPPORTED) {\n      var set2 = /* @__PURE__ */new Set();\n      for (var i2 = 0; i2 < val.length; i2++) set2.add(val[i2]);\n      return set2;\n    }\n    return val;\n  }\n};\nvar formatSymbols = function (message) {\n  if (typeof message === \"string\" || typeof message === \"number\" || message === null) {\n    return message;\n  } else if (Array.isArray(message)) {\n    return message.map(formatSymbols);\n  } else if (typeof message == \"object\" && TRANSFORMED_TYPE_KEY in message) {\n    var type = message[TRANSFORMED_TYPE_KEY];\n    var transform = transformers[type];\n    return transform(message.data);\n  }\n  return message;\n};\nvar arrayToString = function (output, references, level) {\n  var mergeArray = output.reduce(function (acc, curr, index) {\n    return \"\" + acc + (index ? \", \" : \"\") + fromConsoleToString(curr, references, level);\n  }, \"\");\n  return \"[\" + mergeArray + \"]\";\n};\nvar objectToString = function (output, references, level) {\n  var constructorName = output.constructor.name !== \"Object\" ? output.constructor.name + \" \" : \"\";\n  if (level > MAX_NEST_LEVEL) {\n    return constructorName;\n  }\n  var entries = Object.entries(output);\n  var formattedObject = Object.entries(output).reduce(function (acc, _a2, index) {\n    var key = _a2[0],\n      value = _a2[1];\n    var comma = index === 0 ? \"\" : \", \";\n    var breakLine = entries.length > 10 ? \"\\n  \" : \"\";\n    var formatted = fromConsoleToString(value, references, level);\n    if (index === MAX_KEYS) {\n      return acc + breakLine + \"...\";\n    } else if (index > MAX_KEYS) {\n      return acc;\n    }\n    return acc + (\"\" + comma + breakLine + key + \": \") + formatted;\n  }, \"\");\n  return constructorName + \"{ \" + formattedObject + (entries.length > 10 ? \"\\n\" : \" \") + \"}\";\n};\nvar fromConsoleToString = function (message, references, level) {\n  if (level === void 0) {\n    level = 0;\n  }\n  try {\n    var output = formatSymbols(message);\n    if (Array.isArray(output)) {\n      return arrayToString(output, references, level + 1);\n    }\n    switch (typeof output) {\n      case \"string\":\n        return ('\"' + output + '\"').slice(0, MAX_LENGTH_STRING);\n      case \"number\":\n      case \"function\":\n      case \"symbol\":\n        return output.toString();\n      case \"boolean\":\n        return String(output);\n      case \"undefined\":\n        return \"undefined\";\n      case \"object\":\n      default:\n        if (output instanceof RegExp || output instanceof Error || output instanceof Date) {\n          return output.toString();\n        }\n        if (output === null) {\n          return String(null);\n        }\n        if (output instanceof HTMLElement) {\n          return output.outerHTML.slice(0, MAX_LENGTH_STRING);\n        }\n        if (Object.entries(output).length === 0) {\n          return \"{}\";\n        }\n        if (CIRCULAR_REF_KEY in output) {\n          if (level > MAX_NEST_LEVEL) {\n            return \"Unable to print information\";\n          }\n          var newMessage = references[output[CIRCULAR_REF_KEY]];\n          return fromConsoleToString(newMessage, references, level + 1);\n        }\n        return objectToString(output, references, level + 1);\n    }\n  } catch (_a2) {\n    return \"Unable to print information\";\n  }\n};\nvar getType = function (message) {\n  switch (message) {\n    case \"warn\":\n      return \"warning\";\n    case \"clear\":\n      return \"clear\";\n    case \"error\":\n      return \"error\";\n    case \"log\":\n    case \"info\":\n    default:\n      return \"info\";\n  }\n};\nvar _a;\nvar ConsoleList = function (_a2) {\n  var data = _a2.data;\n  var classNames = useClassNames();\n  return jsx(Fragment, {\n    children: data.map(function (_a3, logIndex, references) {\n      var data2 = _a3.data,\n        id = _a3.id,\n        method = _a3.method;\n      if (!data2) return null;\n      if (Array.isArray(data2)) {\n        return jsx(React3.Fragment, {\n          children: data2.map(function (msg, msgIndex) {\n            var fixReferences = references.slice(logIndex, references.length);\n            return jsx(\"div\", __assign({\n              className: classNames(\"console-item\", [consoleItemClassName({\n                variant: getType(method)\n              })])\n            }, {\n              children: jsx(CodeMirror, {\n                code: method === \"clear\" ? msg : fromConsoleToString(msg, fixReferences),\n                fileType: \"js\",\n                initMode: \"user-visible\",\n                showReadOnly: false,\n                readOnly: true,\n                wrapContent: true\n              }, void 0)\n            }), id + \"-\" + msgIndex);\n          })\n        }, id);\n      }\n      return null;\n    })\n  }, void 0);\n};\nvar consoleItemClassName = css((_a = {\n  width: \"100%\",\n  padding: \"$space$3 $space$2\",\n  fontSize: \".8em\",\n  position: \"relative\",\n  \"&:not(:first-child):after\": {\n    content: \"\",\n    position: \"absolute\",\n    top: 0,\n    left: 0,\n    right: 0,\n    height: 1,\n    background: \"$colors$surface3\"\n  },\n  /**\n  * Editor reset\n  */\n  \".sp-cm\": {\n    padding: 0\n  },\n  \".cm-editor\": {\n    background: \"none\"\n  },\n  \".cm-content\": {\n    padding: 0\n  }\n}, _a[\".\" + THEME_PREFIX + \"-pre-placeholder\"] = {\n  margin: \"0 !important\",\n  fontSize: \"1em\"\n}, _a.variants = {\n  variant: {\n    error: {\n      color: \"$colors$error\",\n      background: \"$colors$errorSurface\",\n      \"&:not(:first-child):after\": {\n        background: \"$colors$error\",\n        opacity: .07\n      }\n    },\n    warning: {\n      color: \"$colors$warning\",\n      background: \"$colors$warningSurface\",\n      \"&:not(:first-child):after\": {\n        background: \"$colors$warning\",\n        opacity: .07\n      }\n    },\n    clear: {\n      fontStyle: \"italic\"\n    },\n    info: {}\n  }\n}, _a));\nvar wrapperClassName = css({\n  justifyContent: \"space-between\",\n  borderBottom: \"1px solid $colors$surface2\",\n  padding: \"0 $space$2\",\n  fontFamily: \"$font$mono\",\n  height: \"$layout$headerHeight\",\n  minHeight: \"$layout$headerHeight\",\n  overflowX: \"auto\",\n  whiteSpace: \"nowrap\"\n});\nvar flexClassName = css({\n  display: \"flex\",\n  flexDirection: \"row\",\n  alignItems: \"center\",\n  gap: \"$space$2\"\n});\nvar Header = function (_a2) {\n  var currentTab = _a2.currentTab,\n    setCurrentTab = _a2.setCurrentTab,\n    node = _a2.node;\n  var classNames = useClassNames();\n  var buttonsClassName = classNames(\"console-header-button\", [buttonClassName, roundedButtonClassName, css({\n    padding: \"$space$1 $space$3\"\n  })]);\n  return jsxs(\"div\", __assign({\n    className: classNames(\"console-header\", [wrapperClassName, flexClassName])\n  }, {\n    children: [jsxs(\"p\", __assign({\n      className: classNames(\"console-header-title\", [css({\n        lineHeight: 1,\n        margin: 0,\n        color: \"$colors$base\",\n        fontSize: \"$font$size\",\n        display: \"flex\",\n        alignItems: \"center\",\n        gap: \"$space$2\"\n      })])\n    }, {\n      children: [jsx(ConsoleIcon, {}, void 0), jsx(\"span\", {\n        children: \"Terminal\"\n      }, void 0)]\n    }), void 0), node && jsxs(\"div\", __assign({\n      className: classNames(\"console-header-actions\", [flexClassName])\n    }, {\n      children: [jsx(\"button\", __assign({\n        className: buttonsClassName,\n        \"data-active\": currentTab === \"server\",\n        onClick: function () {\n          return setCurrentTab(\"server\");\n        },\n        type: \"button\"\n      }, {\n        children: \"Server\"\n      }), void 0), jsx(\"button\", __assign({\n        className: buttonsClassName,\n        \"data-active\": currentTab === \"client\",\n        onClick: function () {\n          return setCurrentTab(\"client\");\n        },\n        type: \"button\"\n      }, {\n        children: \"Client\"\n      }), void 0)]\n    }), void 0)]\n  }), void 0);\n};\nvar useSandpackConsole = function (_a2) {\n  var clientId = _a2.clientId,\n    _b2 = _a2.maxMessageCount,\n    maxMessageCount = _b2 === void 0 ? MAX_MESSAGE_COUNT : _b2,\n    _c2 = _a2.showSyntaxError,\n    showSyntaxError = _c2 === void 0 ? false : _c2,\n    _d = _a2.resetOnPreviewRestart,\n    resetOnPreviewRestart = _d === void 0 ? false : _d;\n  var _e = React3.useState([]),\n    logs = _e[0],\n    setLogs = _e[1];\n  var listen = useSandpack().listen;\n  React3.useEffect(function () {\n    var unsubscribe = listen(function (message) {\n      if (resetOnPreviewRestart && message.type === \"start\") {\n        setLogs([]);\n      } else if (message.type === \"console\" && message.codesandbox) {\n        var payloadLog = Array.isArray(message.log) ? message.log : [message.log];\n        if (payloadLog.find(function (_a3) {\n          var method = _a3.method;\n          return method === \"clear\";\n        })) {\n          return setLogs([CLEAR_LOG]);\n        }\n        var logsMessages_1 = showSyntaxError ? payloadLog : payloadLog.filter(function (messageItem) {\n          var _a3, _b3, _c3;\n          var messagesWithoutSyntaxErrors = (_c3 = (_b3 = (_a3 = messageItem === null || messageItem === void 0 ? void 0 : messageItem.data) === null || _a3 === void 0 ? void 0 : _a3.filter) === null || _b3 === void 0 ? void 0 : _b3.call(_a3, function (dataItem) {\n            if (typeof dataItem !== \"string\") return true;\n            var matches = SYNTAX_ERROR_PATTERN.filter(function (lookFor) {\n              return dataItem.startsWith(lookFor);\n            });\n            return matches.length === 0;\n          })) !== null && _c3 !== void 0 ? _c3 : [];\n          return messagesWithoutSyntaxErrors.length > 0;\n        });\n        if (!logsMessages_1) return;\n        setLogs(function (prev) {\n          var messages = __spreadArray(__spreadArray([], prev, true), logsMessages_1, true).filter(function (value, index, self) {\n            return index === self.findIndex(function (s2) {\n              return s2.id === value.id;\n            });\n          });\n          while (messages.length > maxMessageCount) {\n            messages.shift();\n          }\n          return messages;\n        });\n      }\n    }, clientId);\n    return unsubscribe;\n  }, [showSyntaxError, maxMessageCount, clientId, resetOnPreviewRestart]);\n  return {\n    logs,\n    reset: function () {\n      return setLogs([]);\n    }\n  };\n};\nvar SandpackConsole = /*#__PURE__*/React3.forwardRef(function (_a2, ref) {\n  var _b2;\n  var _c2 = _a2.showHeader,\n    showHeader = _c2 === void 0 ? true : _c2,\n    _d = _a2.showSyntaxError,\n    showSyntaxError = _d === void 0 ? false : _d,\n    maxMessageCount = _a2.maxMessageCount,\n    onLogsChange = _a2.onLogsChange,\n    className = _a2.className;\n  _a2.showSetupProgress;\n  var _f = _a2.resetOnPreviewRestart,\n    resetOnPreviewRestart = _f === void 0 ? false : _f,\n    _g = _a2.actionsChildren,\n    actionsChildren = _g === void 0 ? jsx(Fragment, {}, void 0) : _g,\n    _h = _a2.standalone,\n    standalone = _h === void 0 ? false : _h,\n    props = __rest(_a2, [\"showHeader\", \"showSyntaxError\", \"maxMessageCount\", \"onLogsChange\", \"className\", \"showSetupProgress\", \"resetOnPreviewRestart\", \"actionsChildren\", \"standalone\"]);\n  var environment = useSandpack().sandpack.environment;\n  var _j = useSandpackClient(),\n    iframe = _j.iframe,\n    internalClientId = _j.clientId;\n  var restart = useSandpackShell().restart;\n  var _k = React3.useState(environment === \"node\" ? \"server\" : \"client\"),\n    currentTab = _k[0],\n    setCurrentTab = _k[1];\n  var clientId = standalone ? internalClientId : void 0;\n  var _l = useSandpackConsole({\n      maxMessageCount,\n      showSyntaxError,\n      resetOnPreviewRestart,\n      clientId\n    }),\n    consoleData = _l.logs,\n    resetConsole = _l.reset;\n  var _m = useSandpackShellStdout({\n      maxMessageCount,\n      resetOnPreviewRestart,\n      clientId\n    }),\n    stdoutData = _m.logs,\n    resetStdout = _m.reset;\n  var wrapperRef = React3.useRef(null);\n  React3.useEffect(function () {\n    onLogsChange === null || onLogsChange === void 0 ? void 0 : onLogsChange(consoleData);\n    if (wrapperRef.current) {\n      wrapperRef.current.scrollTop = wrapperRef.current.scrollHeight;\n    }\n  }, [onLogsChange, consoleData, stdoutData, currentTab]);\n  var isServerTab = currentTab === \"server\";\n  var isNodeEnvironment = environment === \"node\";\n  React3.useImperativeHandle(ref, function () {\n    return {\n      reset: function () {\n        resetConsole();\n        resetStdout();\n      }\n    };\n  });\n  var classNames = useClassNames();\n  return jsxs(SandpackStack, __assign({\n    className: classNames(\"console\", [css((_b2 = {\n      height: \"100%\",\n      background: \"$surface1\",\n      iframe: {\n        display: \"none\"\n      }\n    }, _b2[\".\" + THEME_PREFIX + \"-bridge-frame\"] = {\n      display: \"block\",\n      border: 0,\n      position: \"absolute\",\n      left: \"$space$2\",\n      bottom: \"$space$2\",\n      zIndex: \"$top\",\n      height: 12,\n      width: \"30%\",\n      mixBlendMode: \"multiply\",\n      pointerEvents: \"none\"\n    }, _b2)), className])\n  }, props, {\n    children: [showHeader && isNodeEnvironment && jsx(Header, {\n      currentTab,\n      node: isNodeEnvironment,\n      setCurrentTab\n    }, void 0), jsx(\"div\", __assign({\n      ref: wrapperRef,\n      className: classNames(\"console-list\", [css({\n        overflow: \"auto\",\n        scrollBehavior: \"smooth\"\n      })])\n    }, {\n      children: isServerTab ? jsx(StdoutList, {\n        data: stdoutData\n      }, void 0) : jsx(ConsoleList, {\n        data: consoleData\n      }, void 0)\n    }), void 0), jsxs(\"div\", __assign({\n      className: classNames(\"console-actions\", [css({\n        position: \"absolute\",\n        bottom: \"$space$2\",\n        right: \"$space$2\",\n        display: \"flex\",\n        gap: \"$space$2\"\n      })])\n    }, {\n      children: [actionsChildren, isServerTab && jsx(RoundedButton, __assign({\n        onClick: function () {\n          restart();\n          resetConsole();\n          resetStdout();\n        }\n      }, {\n        children: jsx(RestartIcon, {}, void 0)\n      }), void 0), jsx(RoundedButton, __assign({\n        onClick: function () {\n          if (currentTab === \"client\") {\n            resetConsole();\n          } else {\n            resetStdout();\n          }\n        }\n      }, {\n        children: jsx(CleanIcon, {}, void 0)\n      }), void 0)]\n    }), void 0), standalone && jsxs(Fragment, {\n      children: [jsx(DependenciesProgress, {\n        clientId\n      }, void 0), jsx(\"iframe\", {\n        ref: iframe\n      }, void 0)]\n    }, void 0)]\n  }), void 0);\n});\nvar Sandpack = function (_a2) {\n  var _b2, _c2, _d, _e, _f, _g, _h, _j;\n  var options = _a2.options,\n    template = _a2.template,\n    customSetup = _a2.customSetup,\n    files = _a2.files,\n    theme = _a2.theme,\n    props = __rest(_a2, [\"options\", \"template\", \"customSetup\", \"files\", \"theme\"]);\n  options !== null && options !== void 0 ? options : options = {};\n  (_b2 = options.resizablePanels) !== null && _b2 !== void 0 ? _b2 : options.resizablePanels = true;\n  (_c2 = options.editorWidthPercentage) !== null && _c2 !== void 0 ? _c2 : options.editorWidthPercentage = 50;\n  (_d = options.showConsole) !== null && _d !== void 0 ? _d : options.showConsole = false;\n  var rtlLayout = (_e = options === null || options === void 0 ? void 0 : options.rtl) !== null && _e !== void 0 ? _e : false;\n  var codeEditorOptions = {\n    showTabs: options.showTabs,\n    showLineNumbers: options.showLineNumbers,\n    showInlineErrors: options.showInlineErrors,\n    wrapContent: options.wrapContent,\n    closableTabs: options.closableTabs,\n    initMode: options.initMode,\n    extensions: (_f = options.codeEditor) === null || _f === void 0 ? void 0 : _f.extensions,\n    extensionsKeymap: (_g = options.codeEditor) === null || _g === void 0 ? void 0 : _g.extensionsKeymap,\n    readOnly: options.readOnly,\n    showReadOnly: options.showReadOnly,\n    additionalLanguages: (_h = options.codeEditor) === null || _h === void 0 ? void 0 : _h.additionalLanguages\n  };\n  var providerOptions = {\n    /**\n    * TS-why: Type 'string | number | symbol' is not assignable to type 'string'\n    */\n    activeFile: options.activeFile,\n    visibleFiles: options.visibleFiles,\n    recompileMode: options.recompileMode,\n    recompileDelay: options.recompileDelay,\n    autorun: options.autorun,\n    autoReload: options.autoReload,\n    bundlerURL: options.bundlerURL,\n    startRoute: options.startRoute,\n    skipEval: options.skipEval,\n    fileResolver: options.fileResolver,\n    initMode: options.initMode,\n    initModeObserverOptions: options.initModeObserverOptions,\n    externalResources: options.externalResources,\n    logLevel: options.logLevel,\n    classes: options.classes\n  };\n  var _k = React3.useState(options.showConsole),\n    consoleVisibility = _k[0],\n    setConsoleVisibility = _k[1];\n  var _l = React3.useState(0),\n    counter = _l[0],\n    setCounter = _l[1];\n  var hasRightColumn = options.showConsole || options.showConsoleButton;\n  var templateFiles = (_j = SANDBOX_TEMPLATES[template]) !== null && _j !== void 0 ? _j : {};\n  var mode = (options === null || options === void 0 ? void 0 : options.layout) ? options === null || options === void 0 ? void 0 : options.layout : \"mode\" in templateFiles ? templateFiles.mode : \"preview\";\n  var actionsChildren = options.showConsoleButton ? jsx(ConsoleCounterButton, {\n    counter,\n    onClick: function () {\n      return setConsoleVisibility(function (prev) {\n        return !prev;\n      });\n    }\n  }, void 0) : void 0;\n  var dragEventTargetRef = React3.useRef(null);\n  var _m = React3.useState(options.editorWidthPercentage),\n    horizontalSize = _m[0],\n    setHorizontalSize = _m[1];\n  var _o = React3.useState(70),\n    verticalSize = _o[0],\n    setVerticalSize = _o[1];\n  var RightColumn = hasRightColumn ? SandpackStack : React3.Fragment;\n  var rightColumnStyle = {\n    flexGrow: 100 - horizontalSize,\n    flexShrink: 100 - horizontalSize,\n    flexBasis: 0,\n    width: 100 - horizontalSize + \"%\",\n    gap: consoleVisibility ? 1 : 0,\n    height: options.editorHeight\n  };\n  var topRowStyle = hasRightColumn ? {\n    flexGrow: verticalSize,\n    flexShrink: verticalSize,\n    flexBasis: 0,\n    overflow: \"hidden\"\n  } : rightColumnStyle;\n  var onDragMove = function (event) {\n    if (!dragEventTargetRef.current) return;\n    var container = dragEventTargetRef.current.parentElement;\n    if (!container) return;\n    var direction = dragEventTargetRef.current.dataset.direction;\n    var isHorizontal = direction === \"horizontal\";\n    var _a3 = container.getBoundingClientRect(),\n      left = _a3.left,\n      top = _a3.top,\n      height = _a3.height,\n      width = _a3.width;\n    var offset = isHorizontal ? (event.clientX - left) / width * 100 : (event.clientY - top) / height * 100;\n    var boundaries = Math.min(Math.max(offset, 25), 75);\n    if (isHorizontal) {\n      setHorizontalSize(rtlLayout ? 100 - boundaries : boundaries);\n    } else {\n      setVerticalSize(boundaries);\n    }\n    container.querySelectorAll(\".\" + THEME_PREFIX + \"-stack\").forEach(function (item) {\n      item.style.pointerEvents = \"none\";\n    });\n  };\n  var stopDragging = function () {\n    var _a3;\n    var container = (_a3 = dragEventTargetRef.current) === null || _a3 === void 0 ? void 0 : _a3.parentElement;\n    if (!container) return;\n    container.querySelectorAll(\".\" + THEME_PREFIX + \"-stack\").forEach(function (item) {\n      item.style.pointerEvents = \"\";\n    });\n    dragEventTargetRef.current = null;\n  };\n  React3.useEffect(function () {\n    if (!(options === null || options === void 0 ? void 0 : options.resizablePanels)) return;\n    document.body.addEventListener(\"mousemove\", onDragMove);\n    document.body.addEventListener(\"mouseup\", stopDragging);\n    return function () {\n      document.body.removeEventListener(\"mousemove\", onDragMove);\n      document.body.removeEventListener(\"mouseup\", stopDragging);\n    };\n  }, [options]);\n  React3.useEffect(function () {\n    var _a3;\n    setConsoleVisibility((_a3 = options === null || options === void 0 ? void 0 : options.showConsole) !== null && _a3 !== void 0 ? _a3 : false);\n  }, [options.showConsole]);\n  var rightColumnProps = hasRightColumn ? {\n    className: THEME_PREFIX + \"-preset-column\",\n    style: rightColumnStyle\n  } : {};\n  var classNames = useClassNames();\n  return jsx(SandpackProvider, __assign({\n    customSetup,\n    files,\n    options: providerOptions,\n    template,\n    theme\n  }, props, {\n    children: jsxs(SandpackLayout, __assign({\n      className: rtlLayout ? classNames(\"rtl-layout\", [rtlLayoutClassName]) : \"\"\n    }, {\n      children: [jsx(SandpackCodeEditor, __assign({}, codeEditorOptions, {\n        style: {\n          height: options.editorHeight,\n          flexGrow: horizontalSize,\n          flexShrink: horizontalSize,\n          flexBasis: 0,\n          overflow: \"hidden\"\n        }\n      }), void 0), options.resizablePanels && jsx(\"div\", {\n        className: classNames(\"resize-handler\", [dragHandler({\n          direction: \"horizontal\"\n        })]),\n        \"data-direction\": \"horizontal\",\n        onMouseDown: function (event) {\n          dragEventTargetRef.current = event.target;\n        },\n        style: {\n          left: \"calc(\" + (rtlLayout ? 100 - horizontalSize : horizontalSize) + \"% - 5px)\"\n        }\n      }, void 0), jsxs(RightColumn, __assign({}, rightColumnProps, {\n        children: [mode === \"preview\" && jsx(SandpackPreview, {\n          actionsChildren,\n          showNavigator: options.showNavigator,\n          showRefreshButton: options.showRefreshButton,\n          style: topRowStyle\n        }, void 0), mode === \"tests\" && jsx(SandpackTests, {\n          actionsChildren,\n          style: topRowStyle\n        }, void 0), mode === \"console\" && jsx(SandpackConsole, {\n          actionsChildren,\n          style: topRowStyle,\n          standalone: true\n        }, void 0), (options.showConsoleButton || consoleVisibility) && jsxs(Fragment, {\n          children: [options.resizablePanels && consoleVisibility && jsx(\"div\", {\n            className: classNames(\"resize-handler\", [dragHandler({\n              direction: \"vertical\"\n            })]),\n            \"data-direction\": \"vertical\",\n            onMouseDown: function (event) {\n              dragEventTargetRef.current = event.target;\n            },\n            style: {\n              top: \"calc(\" + verticalSize + \"% - 5px)\"\n            }\n          }, void 0), jsx(\"div\", __assign({\n            className: classNames(\"console-wrapper\", [consoleWrapper]),\n            style: {\n              flexGrow: consoleVisibility ? 100 - verticalSize : 0,\n              flexShrink: consoleVisibility ? 100 - verticalSize : 0,\n              flexBasis: 0\n            }\n          }, {\n            children: jsx(SandpackConsole, {\n              onLogsChange: function (logs) {\n                return setCounter(logs.length);\n              },\n              showHeader: false\n            }, void 0)\n          }), void 0)]\n        }, void 0)]\n      }), void 0)]\n    }), void 0)\n  }), template);\n};\nvar dragHandler = css({\n  position: \"absolute\",\n  zIndex: \"$top\",\n  variants: {\n    direction: {\n      vertical: {\n        right: 0,\n        left: 0,\n        height: 10,\n        cursor: \"ns-resize\"\n      },\n      horizontal: {\n        top: 0,\n        bottom: 0,\n        width: 10,\n        cursor: \"ew-resize\"\n      }\n    }\n  },\n  \"@media screen and (max-width: 768px)\": {\n    display: \"none\"\n  }\n});\nvar ConsoleCounterButton = function (_a2) {\n  var onClick = _a2.onClick,\n    counter = _a2.counter;\n  return jsxs(RoundedButton, __assign({\n    className: buttonCounter.toString(),\n    onClick\n  }, {\n    children: [jsx(ConsoleIcon, {}, void 0), counter > 0 && jsx(\"strong\", {\n      children: counter\n    }, void 0)]\n  }), void 0);\n};\nvar buttonCounter = css({\n  position: \"relative\",\n  strong: {\n    background: \"$colors$clickable\",\n    color: \"$colors$surface1\",\n    minWidth: 12,\n    height: 12,\n    padding: \"0 2px\",\n    borderRadius: 12,\n    fontSize: 8,\n    lineHeight: \"12px\",\n    position: \"absolute\",\n    top: 0,\n    right: 0,\n    fontWeight: \"normal\"\n  }\n});\nvar consoleWrapper = css({\n  width: \"100%\",\n  overflow: \"hidden\"\n});\nvar rtlLayoutClassName = css({\n  flexDirection: \"row-reverse\",\n  \"@media screen and (max-width: 768px)\": {\n    flexFlow: \"wrap-reverse !important\",\n    flexDirection: \"initial\"\n  }\n});\nexport { ANGULAR_TEMPLATE, ASTRO_TEMPLATE, BackwardIcon, CleanIcon, CloseIcon, CodeMirror as CodeEditor, ConsoleIcon, DependenciesProgress, DirectoryIconClosed, DirectoryIconOpen, ErrorOverlay, ExportIcon, FADE_ANIMATION_DURATION, FileIcon, FileTabs, ForwardIcon, LoadingOverlay, Navigator, OpenInCodeSandboxButton, REACT_TEMPLATE, REACT_TYPESCRIPT_TEMPLATE, RefreshIcon, RestartIcon, RoundedButton, RunButton$1 as RunButton, RunIcon, SANDBOX_TEMPLATES, SANDPACK_THEMES, SOLID_TEMPLATE, SVELTE_TEMPLATE, Sandpack, SandpackCodeEditor, SandpackCodeViewer, SandpackConsole, SandpackConsumer, SandpackFileExplorer, SandpackLayout, SandpackPreview, SandpackProvider, Sandpack$1 as SandpackReactContext, SandpackStack, SandpackTests, SandpackThemeConsumer, SandpackThemeContext, SandpackThemeProvider, SandpackTranspiledCode, SignInIcon, SignOutIcon, TEST_TYPESCRIPT_TEMPLATE, UnstyledOpenInCodeSandboxButton, VANILLA_TEMPLATE, VANILLA_TYPESCRIPT_TEMPLATE, VUE_TEMPLATE, defaultDark, defaultLight, getCssText as getSandpackCssText, layoutClassName, stackClassName, tabButton, useActiveCode, useClassNames, useErrorMessage, useLoadingOverlayState, useSandpack, useSandpackClient, useSandpackConsole, useSandpackNavigation, useSandpackPreviewProgress, useSandpackShell, useSandpackShellStdout, useSandpackTheme, useTranspiledCode };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"TEST_TYPESCRIPT_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ANGULAR_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackLayout\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackConsole\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getSandpackCssText\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"CleanIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"VANILLA_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SignOutIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"UnstyledOpenInCodeSandboxButton\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpack\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"stackClassName\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackThemeConsumer\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useActiveCode\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"LoadingOverlay\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SOLID_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"VANILLA_TYPESCRIPT_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"CodeEditor\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultDark\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackShellStdout\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackClient\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SANDBOX_TEMPLATES\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackStack\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ExportIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"layoutClassName\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useTranspiledCode\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackPreviewProgress\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackShell\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackReactContext\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"defaultLight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackConsumer\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Sandpack\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"FileTabs\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RoundedButton\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"Navigator\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"FileIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SANDPACK_THEMES\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackThemeContext\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RunIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackTranspiledCode\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackTheme\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useClassNames\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"VUE_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RefreshIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useErrorMessage\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ForwardIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackFileExplorer\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SVELTE_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"CloseIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"tabButton\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"BackwardIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackConsole\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"REACT_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackTests\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"DirectoryIconOpen\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useLoadingOverlayState\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackCodeViewer\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackProvider\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackPreview\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useSandpackNavigation\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"DirectoryIconClosed\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"OpenInCodeSandboxButton\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"REACT_TYPESCRIPT_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ErrorOverlay\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ASTRO_TEMPLATE\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"FADE_ANIMATION_DURATION\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RunButton\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"DependenciesProgress\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackThemeProvider\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ConsoleIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SandpackCodeEditor\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"RestartIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SignInIcon\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./codesandbox_sandpack_react.map", "export var Browser;\n(function (Browser) {\n  var isBrowser = Browser.isBrowser = () => typeof window === \"object\";\n  var isTouch = Browser.isTouch = () => \"ontouchstart\" in window || navigator.maxTouchPoints > 0;\n  var isChrome = Browser.isChrome = () => navigator.userAgent.toLowerCase().includes(\"chrome/\");\n  var isWebKit = Browser.isWebKit = () => navigator.userAgent.toLowerCase().includes(\"applewebkit/\");\n  var isSafari = Browser.isSafari = () => isWebKit() && !isChrome();\n  var isSafariDesktop = Browser.isSafariDesktop = () => isSafari() && !isTouch();\n  var isWindows = Browser.isWindows = () => /Win/.test(navigator.platform);\n  var isMacOS = Browser.isMacOS = () => /Mac/.test(navigator.platform);\n})(Browser || (Browser = {}));\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./browser.map", "export const sandpackDefaultLanguages = [\"JavaScript\", \"JSX\", \"TypeScript\", \"TSX\", \"CSS\", \"SCSS\", \"Less\", \"HTML\"];\nexport const supportedLanguages = [\"Angular\", \"C\", \"C#\", \"C++\", \"CSS\", \"Go\", \"Haskell\", \"HTML\", \"Java\", \"JavaScript\", \"JSX\", \"Julia\", \"Kotlin\", \"Less\", \"Lua\", \"Markdown\", \"MATLAB\", \"Nginx\", \"Objective-C\", \"Perl\", \"PHP\", \"Python\", \"Ruby\", \"Rust\", \"Scala\", \"SCSS\", \"Shell\", \"SQL\", \"Swift\", \"TSX\", \"TypeScript\", \"Vue\", \"YAML\"];\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"PaddingProperties\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"BorderRadiusProperties\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"sandpackDefaultLanguages\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"SupportedLanguages\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"FontProperties\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"supportedLanguages\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"BorderProperties\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./types.map", "export class SuspenseValue {\n  read() {\n    const status = this.status; // The component did rerender and we already set the status below.\n    if (status) {\n      switch (status.type) {\n        // If the promise is still pending we need to suspend again.\n        case \"pending\":\n          throw status.promise;\n        // If the promise is fulfilled we can return the value\n        // synchronously.\n        case \"fulfilled\":\n          return status.value;\n        // If the promise was rejected we can throw the error so we can\n        // catch it with an ErrorBoundary in an ancestor.\n        case \"rejected\":\n          throw status.reason;\n      }\n    } // Attach a callback to the promise to store the resolved value or the error\n    // on the promise so we can synchronously read it later.\n    const promise = this.resolver().then(value => {\n      this.status = {\n        type: \"fulfilled\",\n        value\n      };\n    }, reason => {\n      this.status = {\n        type: \"rejected\",\n        reason\n      };\n    }); // This is the first time the promise is passed into the function. We set\n    // the status field so we can early return above.\n    this.status = {\n      type: \"pending\",\n      promise\n    }; // We throw the promise to suspend rendering. React will wait until the\n    // promise is settled and rerender the component afterwards. When React\n    // rerenders the component we can return the value in the code above.\n    throw promise;\n  }\n  constructor(resolver) {\n    this.resolver = resolver;\n  }\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"SuspenseValue\": {\n      \"type\": \"class\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./SuspenseValue.map", "import { RenderTarget } from \"framer\";\nimport { useState, useMemo } from \"react\";\nexport function getFileExtensions(language) {\n  switch (language) {\n    case \"JavaScript\":\n      return [\"js\"];\n    case \"JSX\":\n      return [\"jsx\"];\n    case \"TypeScript\":\n      return [\"ts\"];\n    case \"TSX\":\n      return [\"tsx\"];\n    case \"CSS\":\n      return [\"css\"];\n    case \"SCSS\":\n      return [\"scss\"];\n    case \"Less\":\n      return [\"less\"];\n    case \"HTML\":\n      return [\"html\", \"htm\"];\n    case \"Angular\":\n      return [\"ts\"];\n    case \"C\":\n      return [\"c\"];\n    case \"C#\":\n      return [\"cs\"];\n    case \"C++\":\n      return [\"cpp\", \"cxx\", \"cc\", \"h\", \"hpp\"];\n    case \"Go\":\n      return [\"go\"];\n    case \"Haskell\":\n      return [\"hs\"];\n    case \"Java\":\n      return [\"java\"];\n    case \"Julia\":\n      return [\"jl\"];\n    case \"Kotlin\":\n      return [\"kt\", \"kts\"];\n    case \"Lua\":\n      return [\"lua\"];\n    case \"Markdown\":\n      return [\"md\"];\n    case \"MATLAB\":\n      return [\"m\"];\n    case \"Nginx\":\n      return [\"conf\"];\n    case \"Objective-C\":\n      return [\"m\", \"mm\"];\n    case \"Perl\":\n      return [\"pl\"];\n    case \"PHP\":\n      return [\"php\", \"php4\", \"php5\", \"phtml\"];\n    case \"Python\":\n      return [\"py\"];\n    case \"Ruby\":\n      return [\"rb\"];\n    case \"Rust\":\n      return [\"rs\"];\n    case \"Scala\":\n      return [\"scala\"];\n    case \"Shell\":\n      return [\"sh\"];\n    case \"SQL\":\n      return [\"sql\"];\n    case \"Swift\":\n      return [\"swift\"];\n    case \"Vue\":\n      return [\"vue\"];\n    case \"YAML\":\n      return [\"yaml\", \"yml\"];\n    default:\n      return [];\n  }\n}\nexport function useBorder(props, collapseEqualBorders = true) {\n  const style = {};\n  const {\n    borderWidth = 0,\n    borderColor = \"unset\",\n    borderStyle = \"none\",\n    isMixedBorderWidth,\n    borderWidthBottom = 0,\n    borderWidthLeft = 0,\n    borderWidthRight = 0,\n    borderWidthTop = 0\n  } = props;\n  let borderTop;\n  let borderBottom;\n  let borderLeft;\n  let borderRight;\n  if (!isMixedBorderWidth) {\n    borderTop = borderBottom = borderLeft = borderRight = borderWidth;\n  } else {\n    borderTop = borderWidthTop;\n    borderRight = borderWidthRight;\n    borderBottom = borderWidthBottom;\n    borderLeft = borderWidthLeft;\n  }\n  if (collapseEqualBorders && borderTop === borderBottom && borderTop === borderLeft && borderTop === borderRight) {\n    style.border = `${borderTop}px ${borderStyle} ${borderColor}`;\n  } else {\n    style.borderStyle = borderStyle;\n    style.borderColor = borderColor;\n    style.borderTopWidth = `${borderTop}px`;\n    style.borderBottomWidth = `${borderBottom}px`;\n    style.borderLeftWidth = `${borderLeft}px`;\n    style.borderRightWidth = `${borderRight}px`;\n  }\n  return style;\n} // Chunks a string into meaningful groups of characters (words, acronyms or numbers)\nconst groupsRegex = /[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;\nfunction capitalizeFirstLetter(value) {\n  return value.charAt(0).toUpperCase() + value.slice(1);\n}\nexport function titleCase(value) {\n  const groups = value.match(groupsRegex) || [];\n  return groups.map(capitalizeFirstLetter).join(\" \");\n}\nexport function useRadius(props) {\n  const {\n    borderRadius,\n    isMixedBorderRadius,\n    topLeftRadius,\n    topRightRadius,\n    bottomRightRadius,\n    bottomLeftRadius\n  } = props;\n  const radiusValue = useMemo(() => isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]);\n  return radiusValue;\n}\nexport function usePadding(props) {\n  const {\n    padding,\n    paddingBottom,\n    paddingLeft,\n    paddingPerSide,\n    paddingRight,\n    paddingTop\n  } = props;\n  const paddingValue = useMemo(() => paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : `${padding}px`, [padding, paddingBottom, paddingLeft, paddingPerSide, paddingRight, paddingTop]);\n  return paddingValue;\n}\nexport function useIsOnCanvas() {\n  const [onCanvas] = useState(() => RenderTarget.current() === RenderTarget.canvas);\n  return onCanvas;\n}\nexport function isObject(value) {\n  return value !== null && typeof value === \"object\";\n} // From https://github.com/codesandbox/sandpack/blob/36560cb4f0fc8f5f8b18f5a3d3952799690eba77/sandpack-react/src/utils/stringUtils.ts#L81\nexport function isDarkColor(color) {\n  let r = 0;\n  let g = 0;\n  let b = 0;\n  if (color.startsWith(\"#\")) {\n    if (color.length < 7) {\n      return true;\n    }\n    r = parseInt(color.substr(1, 2), 16);\n    g = parseInt(color.substr(3, 2), 16);\n    b = parseInt(color.substr(5, 2), 16);\n  } else {\n    const rgbValues = color.replace(\"rgb(\", \"\").replace(\"rgba(\", \"\").replace(\")\", \"\").split(\",\");\n    if (rgbValues.length < 3) {\n      return true;\n    }\n    r = parseInt(rgbValues[0], 10);\n    g = parseInt(rgbValues[1], 10);\n    b = parseInt(rgbValues[2], 10);\n  }\n  const yiq = (r * 299 + g * 587 + b * 114) / 1e3;\n  return yiq < 128;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useRadius\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"usePadding\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useIsOnCanvas\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isObject\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"titleCase\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"isDarkColor\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getFileExtensions\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"useBorder\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./utils.map", "import { SuspenseValue } from \"https://framerusercontent.com/modules/HpmklHRFex5a5HMDftQo/5VVfjnRHGJM1T33zb1N5/SuspenseValue.js\";\nimport { getFileExtensions } from \"https://framerusercontent.com/modules/IdMJ4CymCWCh4cOBkZlb/RXSqswLIbuViBOVW1keE/utils.js\";\nimport { LanguageSupport, StreamLanguage } from \"https://framerusercontent.com/modules/aJsTBlWNkIaM900KNIXT/TeoF57xeGMuVMjiI2ooR/codemirror_language.js\";\nconst angular = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/EjHwngjQOz6g9296RZMV/ZwhROYAZtNtuFNcAlekE/codemirror_lang_angular.js\");\n  return language.angular();\n});\nconst cpp = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/BmbosINQMuOqhkQ16mGN/aCQLnkkoRKr1dakaf9ci/codemirror_lang_cpp.js\");\n  return language.cpp();\n});\nconst java = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/gKhuDW5jnY59NdDGV8D8/xP36aHuTsvUU4Wi5UoVw/codemirror_lang_java.js\");\n  return language.java();\n});\nconst markdown = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/ew2kgXFUVzaNY5ZWXtC5/G0go5tjEUs1iWpGXELvD/codemirror_lang_markdown.js\");\n  return language.markdown();\n});\nconst php = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/oZkhtejNW32Gkw1jb5tm/EgGL6KPr2VABA0JaSWSs/codemirror_lang_php.js\");\n  return language.php();\n});\nconst python = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/NlaGw745MKw3pDtavCDw/bJdmzV5wKmaoaOZ34lWV/codemirror_lang_python.js\");\n  return language.python();\n});\nconst rust = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/ToHwV7PbhPbIOp4qfWxL/yUpS78MJ5G2NAMZdDmZU/codemirror_lang_rust.js\");\n  return language.rust();\n});\nconst sql = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/ErpiHuOpMsJgQursm47q/uyWXpN0RN41fZeXKclFO/codemirror_lang_sql.js\");\n  return language.sql();\n});\nconst vue = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/zxOuMCcDOAkYkK9doUT1/6kqevs4DXgJyXyFc94KJ/codemirror_lang_vue.js\");\n  return language.vue();\n});\nconst scala = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/mVgptLxlny3aCNt13jWX/UBsF1xq4TdJtf65SHBJZ/codemirror_legacy_modes_mode_clike.js\");\n  return new LanguageSupport(StreamLanguage.define(language.scala));\n});\nconst c = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/mVgptLxlny3aCNt13jWX/UBsF1xq4TdJtf65SHBJZ/codemirror_legacy_modes_mode_clike.js\");\n  return new LanguageSupport(StreamLanguage.define(language.c));\n});\nconst csharp = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/mVgptLxlny3aCNt13jWX/UBsF1xq4TdJtf65SHBJZ/codemirror_legacy_modes_mode_clike.js\");\n  return new LanguageSupport(StreamLanguage.define(language.csharp));\n});\nconst kotlin = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/mVgptLxlny3aCNt13jWX/UBsF1xq4TdJtf65SHBJZ/codemirror_legacy_modes_mode_clike.js\");\n  return new LanguageSupport(StreamLanguage.define(language.kotlin));\n});\nconst objectiveC = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/mVgptLxlny3aCNt13jWX/UBsF1xq4TdJtf65SHBJZ/codemirror_legacy_modes_mode_clike.js\");\n  return new LanguageSupport(StreamLanguage.define(language.objectiveC));\n});\nconst go = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/y3YRN1y6zNRmexh3PcEl/zN53cccFHXcjwLmc9vJl/codemirror_legacy_modes_mode_go.js\");\n  return new LanguageSupport(StreamLanguage.define(language.go));\n});\nconst haskell = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/1BelllWa9nL0PC5ISobo/XJm3JYCfTLyG5h6NGU7o/codemirror_legacy_modes_mode_haskell.js\");\n  return new LanguageSupport(StreamLanguage.define(language.haskell));\n});\nconst julia = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/DDnoTDvZCXOaJOFVfFFi/KOuVfpSFKjYje6OF3kMC/codemirror_legacy_modes_mode_julia.js\");\n  return new LanguageSupport(StreamLanguage.define(language.julia));\n});\nconst lua = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/NVeCwUV1KXDrrAYWeKhB/Z4WZ3aIbRCPlevgl3i6W/codemirror_legacy_modes_mode_lua.js\");\n  return new LanguageSupport(StreamLanguage.define(language.lua));\n});\nconst nginx = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/9UW4h57ce20E1oUtlyTx/lupIQZcWqQ6fcU1q4rnT/codemirror_legacy_modes_mode_nginx.js\");\n  return new LanguageSupport(StreamLanguage.define(language.nginx));\n});\nconst octave = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/Z9MPy0NcAcvCrfQ6GdLk/mTdjuyFPRLBs2CftgxdU/codemirror_legacy_modes_mode_octave.js\");\n  return new LanguageSupport(StreamLanguage.define(language.octave));\n});\nconst perl = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/l6yIFqJiKpzgjIjYLDe8/RiUbeIOTACkJXyxf1sof/codemirror_legacy_modes_mode_perl.js\");\n  return new LanguageSupport(StreamLanguage.define(language.perl));\n});\nconst ruby = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/d2aTgp8BCfENcg4lzz2o/8OKauOTqnlpG0hQSheQZ/codemirror_legacy_modes_mode_ruby.js\");\n  return new LanguageSupport(StreamLanguage.define(language.ruby));\n});\nconst shell = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/5zoYeQMBj7mQSJHBwKwK/MOEKdidQOTSu9WoSLOvt/codemirror_legacy_modes_mode_shell.js\");\n  return new LanguageSupport(StreamLanguage.define(language.shell));\n});\nconst swift = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/U1yN0J68cl89oK5n38AY/nNkcgGLa2JSAO9aE88Ts/codemirror_legacy_modes_mode_swift.js\");\n  return new LanguageSupport(StreamLanguage.define(language.swift));\n});\nconst yaml = new SuspenseValue(async () => {\n  const language = await import(\"https://framerusercontent.com/modules/iCfs5CDON3pnZuWWFlKm/WvFxfUbTKcGBzC0BmpkU/codemirror_legacy_modes_mode_yaml.js\");\n  return new LanguageSupport(StreamLanguage.define(language.yaml));\n});\nexport function useLanguageAsync(name) {\n  switch (name) {\n    case \"Angular\":\n      return {\n        name: \"angular\",\n        extensions: getFileExtensions(name),\n        language: angular.read()\n      };\n    case \"C++\":\n      return {\n        name: \"cpp\",\n        extensions: getFileExtensions(name),\n        language: cpp.read()\n      };\n    case \"Java\":\n      return {\n        name: \"java\",\n        extensions: getFileExtensions(name),\n        language: java.read()\n      };\n    case \"Markdown\":\n      return {\n        name: \"markdown\",\n        extensions: getFileExtensions(name),\n        language: markdown.read()\n      };\n    case \"PHP\":\n      return {\n        name: \"php\",\n        extensions: getFileExtensions(name),\n        language: php.read()\n      };\n    case \"Python\":\n      return {\n        name: \"python\",\n        extensions: getFileExtensions(name),\n        language: python.read()\n      };\n    case \"Rust\":\n      return {\n        name: \"rust\",\n        extensions: getFileExtensions(name),\n        language: rust.read()\n      };\n    case \"SQL\":\n      return {\n        name: \"sql\",\n        extensions: getFileExtensions(name),\n        language: sql.read()\n      };\n    case \"Vue\":\n      return {\n        name: \"vue\",\n        extensions: getFileExtensions(name),\n        language: vue.read()\n      };\n    case \"C\":\n      return {\n        name: \"c\",\n        extensions: getFileExtensions(name),\n        language: c.read()\n      };\n    case \"C#\":\n      return {\n        name: \"csharp\",\n        extensions: getFileExtensions(name),\n        language: csharp.read()\n      };\n    case \"Objective-C\":\n      return {\n        name: \"objectiveC\",\n        extensions: getFileExtensions(name),\n        language: objectiveC.read()\n      };\n    case \"Kotlin\":\n      return {\n        name: \"kotlin\",\n        extensions: getFileExtensions(name),\n        language: kotlin.read()\n      };\n    case \"Scala\":\n      return {\n        name: \"scala\",\n        extensions: getFileExtensions(name),\n        language: scala.read()\n      };\n    case \"Go\":\n      return {\n        name: \"go\",\n        extensions: getFileExtensions(name),\n        language: go.read()\n      };\n    case \"Haskell\":\n      return {\n        name: \"haskell\",\n        extensions: getFileExtensions(name),\n        language: haskell.read()\n      };\n    case \"Julia\":\n      return {\n        name: \"julia\",\n        extensions: getFileExtensions(name),\n        language: julia.read()\n      };\n    case \"Lua\":\n      return {\n        name: \"lua\",\n        extensions: getFileExtensions(name),\n        language: lua.read()\n      };\n    case \"Nginx\":\n      return {\n        name: \"nginx\",\n        extensions: getFileExtensions(name),\n        language: nginx.read()\n      };\n    case \"MATLAB\":\n      return {\n        name: \"octave\",\n        extensions: getFileExtensions(name),\n        language: octave.read()\n      };\n    case \"Perl\":\n      return {\n        name: \"perl\",\n        extensions: getFileExtensions(name),\n        language: perl.read()\n      };\n    case \"Ruby\":\n      return {\n        name: \"ruby\",\n        extensions: getFileExtensions(name),\n        language: ruby.read()\n      };\n    case \"Shell\":\n      return {\n        name: \"shell\",\n        extensions: getFileExtensions(name),\n        language: shell.read()\n      };\n    case \"Swift\":\n      return {\n        name: \"swift\",\n        extensions: getFileExtensions(name),\n        language: swift.read()\n      };\n    case \"YAML\":\n      return {\n        name: \"yaml\",\n        extensions: getFileExtensions(name),\n        language: yaml.read()\n      };\n  }\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"useLanguageAsync\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "// @ts-nocheck\n/**\n * This file is generated inside FramerStudio. To update it run \"make build\"\n * inside \"./src/codeblock-dependencies\" and copy the file from \"./build\".\n */ // ../../node_modules/@codesandbox/sandpack-themes/dist/esm/index.js\nvar amethyst = {\n  colors: {\n    surface1: \"#000000\",\n    surface2: \"#0a0a23\",\n    surface3: \"#3b3b4f\",\n    clickable: \"#dfdfe2\",\n    base: \"#ffffff\",\n    disabled: \"#858591\",\n    hover: \"#ffffff\",\n    accent: \"#a26cd6\",\n    error: \"#ffffff\",\n    errorSurface: \"#3b3b4f\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#858591\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#a26cdd\",\n    tag: \"#f07178\",\n    punctuation: \"#99c9ff\",\n    definition: \"#ffffff\",\n    property: \"#99c9ff\",\n    static: \"#f78c6c\",\n    string: \"#57d1b7\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"12px\",\n    lineHeight: \"18px\"\n  }\n};\nvar aquaBlue = {\n  colors: {\n    surface1: \"#f8f9fb\",\n    surface2: \"#EBEDF0\",\n    surface3: \"#e4e7eb\",\n    clickable: \"#737373\",\n    base: \"#323232\",\n    disabled: \"#C5C5C5\",\n    hover: \"#1f2933\",\n    accent: \"#2e7692\"\n  },\n  syntax: {\n    plain: \"#1F2933\",\n    comment: {\n      color: \"#A7B6C2\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#1A56DB\",\n    tag: \"#1A56DB\",\n    punctuation: \"#394b59\",\n    definition: \"#A23DAD\",\n    property: \"#2e7692\",\n    static: \"#1A56DB\",\n    string: \"#1992D4\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar atomDark = {\n  colors: {\n    surface1: \"#282c34\",\n    surface2: \"#21252b\",\n    surface3: \"#2c313c\",\n    clickable: \"#a8b1c2\",\n    base: \"#a8b1c2\",\n    disabled: \"#4d4d4d\",\n    hover: \"#e8effc\",\n    accent: \"#c678dd\",\n    error: \"#e06c75\",\n    errorSurface: \"#ffeceb\"\n  },\n  syntax: {\n    plain: \"#a8b1c2\",\n    comment: {\n      color: \"#757575\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#c678dd\",\n    tag: \"#e06c75\",\n    punctuation: \"#a8b1c2\",\n    definition: \"#62aeef\",\n    property: \"#d19a66\",\n    static: \"#a8b1c2\",\n    string: \"#98c379\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar cobalt2 = {\n  colors: {\n    surface1: \"#193549\",\n    surface2: \"#0d3a58\",\n    surface3: \"#1f4662\",\n    clickable: \"#aaaaaa\",\n    base: \"#ffffff\",\n    disabled: \"#C5C5C5\",\n    hover: \"#ffffff\",\n    accent: \"#ffc600\",\n    error: \"#a22929\",\n    errorSurface: \"#0d3a58\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#0088ff\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#ff9d00\",\n    tag: \"#9effff\",\n    punctuation: \"#e1efff\",\n    definition: \"#ffc600\",\n    property: \"#ffc600\",\n    static: \"#ffee80\",\n    string: \"#a5ff90\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Operator Mono\", \"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar cyberpunk = {\n  colors: {\n    surface1: \"#051c30\",\n    surface2: \"#042f40\",\n    surface3: \"#042f40\",\n    clickable: \"#aaaaaa\",\n    base: \"#ffffff\",\n    disabled: \"#C5C5C5\",\n    hover: \"#ffffff\",\n    accent: \"#fdf500\",\n    error: \"#ff003c\",\n    errorSurface: \"#051c30\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#1ac5b0\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#fdf500\",\n    tag: \"#ffc600\",\n    punctuation: \"#afd7fa\",\n    definition: \"#ffc600\",\n    property: \"#fdf500\",\n    static: \"#e455ae\",\n    string: \"#37ebf3\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar dracula = {\n  colors: {\n    surface1: \"#282a36\",\n    surface2: \"#44475a\",\n    surface3: \"#44475a\",\n    clickable: \"#6272a4\",\n    base: \"#f8f8f2\",\n    disabled: \"#6272a4\",\n    hover: \"#f8f8f2\",\n    accent: \"#bd93f9\",\n    error: \"#f8f8f2\",\n    errorSurface: \"#44475a\"\n  },\n  syntax: {\n    plain: \"#f8f8f2\",\n    comment: {\n      color: \"#6272a4\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#ff79c6\",\n    tag: \"#ff79c6\",\n    punctuation: \"#ff79c6\",\n    definition: \"#f8f8f2\",\n    property: \"#50fa7b\",\n    static: \"#bd93f9\",\n    string: \"#f1fa8c\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar ecoLight = {\n  colors: {\n    surface1: \"#eae8e8\",\n    surface2: \"#00997761\",\n    surface3: \"#ffffff5e\",\n    clickable: \"#421010\",\n    base: \"#421010\",\n    disabled: \"#C5C5C5\",\n    hover: \"#4D4D4D\",\n    accent: \"#009977\",\n    error: \"#ff453a\",\n    errorSurface: \"#e8cac6\"\n  },\n  syntax: {\n    plain: \"#151515\",\n    comment: {\n      color: \"#a9a7a7\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#0971F1\",\n    tag: \"#097104\",\n    punctuation: \"#3B3B3B\",\n    definition: \"#042d60\",\n    property: \"#9013fe\",\n    static: \"#FF453A\",\n    string: \"#f5a623\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar freeCodeCampDark = {\n  colors: {\n    surface1: \"#2a2a40\",\n    surface2: \"#0a0a23\",\n    surface3: \"#3b3b4f\",\n    clickable: \"#dfdfe2\",\n    base: \"#ffffff\",\n    disabled: \"#858591\",\n    hover: \"#ffffff\",\n    accent: \"#dbb8ff\",\n    error: \"#ffffff\",\n    errorSurface: \"#3b3b4f\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#858591\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#dbb8ff\",\n    tag: \"#f07178\",\n    punctuation: \"#99c9ff\",\n    definition: \"#ffffff\",\n    property: \"#99c9ff\",\n    static: \"#f78c6c\",\n    string: \"#acd157\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar githubLight = {\n  colors: {\n    surface1: \"#ffffff\",\n    surface2: \"#F3F3F3\",\n    surface3: \"#f5f5f5\",\n    clickable: \"#959da5\",\n    base: \"#24292e\",\n    disabled: \"#d1d4d8\",\n    hover: \"#24292e\",\n    accent: \"#24292e\"\n  },\n  syntax: {\n    keyword: \"#d73a49\",\n    property: \"#005cc5\",\n    plain: \"#24292e\",\n    static: \"#032f62\",\n    string: \"#032f62\",\n    definition: \"#6f42c1\",\n    punctuation: \"#24292e\",\n    tag: \"#22863a\",\n    comment: {\n      color: \"#6a737d\",\n      fontStyle: \"normal\"\n    }\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar gruvboxDark = {\n  colors: {\n    surface1: \"#282828\",\n    surface2: \"#3c3836\",\n    surface3: \"#3c3836\",\n    clickable: \"#ebdbb2\",\n    base: \"#ebdbb2\",\n    disabled: \"#928374\",\n    hover: \"#fe8019\",\n    accent: \"#d65d0e\",\n    error: \"#ff453a\",\n    errorSurface: \"#3c3836\"\n  },\n  syntax: {\n    plain: \"#ebdbb2\",\n    comment: {\n      color: \"#928374\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#ff453a\",\n    tag: \"#83a598\",\n    punctuation: \"#ebdbb2\",\n    definition: \"#83a598\",\n    property: \"#fabd2f\",\n    static: \"#ebdbb2\",\n    string: \"#b8bb26\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar gruvboxLight = {\n  colors: {\n    surface1: \"#fbf1c7\",\n    surface2: \"#ebdbb2\",\n    surface3: \"#ebdbb2\",\n    clickable: \"#808080\",\n    base: \"#3c3836\",\n    disabled: \"#928374\",\n    hover: \"#af3a03\",\n    accent: \"#d65d0e\",\n    error: \"#9d0006\",\n    errorSurface: \"#ebdbb2\"\n  },\n  syntax: {\n    plain: \"#3c3836\",\n    comment: {\n      color: \"#928374\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#9d0006\",\n    tag: \"#076678\",\n    punctuation: \"#3c3836\",\n    definition: \"#076678\",\n    property: \"#b57614\",\n    static: \"#3c3836\",\n    string: \"#79740e\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar levelUp = {\n  colors: {\n    surface1: \"#191324\",\n    surface2: \"#261e33\",\n    surface3: \"#524763\",\n    clickable: \"#aaaaaa\",\n    base: \"#ffffff\",\n    disabled: \"#aaaaaa\",\n    hover: \"#ffffff\",\n    accent: \"#82d8d8\",\n    error: \"#e54b4b\",\n    errorSurface: \"#191324\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#82d8d8\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#e54b4b\",\n    tag: \"#ff26be\",\n    punctuation: \"#9588aa\",\n    definition: \"#82d8d8\",\n    property: \"#82d8d8\",\n    static: \"#82d8d8\",\n    string: \"#a8fe39\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"MonoLisa\", \"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar monokaiPro = {\n  colors: {\n    surface1: \"#2D2A2E\",\n    surface2: \"#444344\",\n    surface3: \"#484747\",\n    clickable: \"#939293\",\n    base: \"#C1C0C1\",\n    disabled: \"#444344\",\n    hover: \"#FCFCFA\",\n    accent: \"#FFD866\",\n    error: \"#ffcdca\",\n    errorSurface: \"#c24038\"\n  },\n  syntax: {\n    plain: \"rgb(252, 252, 250)\",\n    comment: {\n      color: \"#757575\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"rgb(255, 97, 136)\",\n    tag: \"rgb(120, 220, 232)\",\n    punctuation: \"rgb(147, 146, 147)\",\n    definition: \"rgb(169, 220, 118)\",\n    property: {\n      color: \"rgb(120, 220, 232)\",\n      fontStyle: \"italic\"\n    },\n    static: \"rgb(171, 157, 242)\",\n    string: \"rgb(255, 216, 102)\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar neoCyan = {\n  colors: {\n    surface1: \"#2b3935\",\n    surface2: \"#191324\",\n    surface3: \"#524763\",\n    clickable: \"#aaaaaa\",\n    base: \"#ffffff\",\n    disabled: \"#aaaaaa\",\n    hover: \"#ffffff\",\n    accent: \"#82d8d8\",\n    error: \"#e54b4b\",\n    errorSurface: \"#191324\"\n  },\n  syntax: {\n    plain: \"#ffffff\",\n    comment: {\n      color: \"#82d8d8\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#e54b4b\",\n    tag: \"#ff26be\",\n    punctuation: \"#9588aa\",\n    definition: \"#82d8d8\",\n    property: \"#82d8d8\",\n    static: \"#82d8d8\",\n    string: \"#a8fe39\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"MonoLisa\", \"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"12px\",\n    lineHeight: \"18px\"\n  }\n};\nvar nightOwl = {\n  colors: {\n    surface1: \"#011627\",\n    surface2: \"#243b4c\",\n    surface3: \"#112331\",\n    clickable: \"#6988a1\",\n    base: \"#808080\",\n    disabled: \"#4D4D4D\",\n    hover: \"#c5e4fd\",\n    accent: \"#c5e4fd\",\n    error: \"#ffcdca\",\n    errorSurface: \"#811e18\"\n  },\n  syntax: {\n    plain: \"#d6deeb\",\n    comment: {\n      color: \"#999999\",\n      fontStyle: \"italic\"\n    },\n    keyword: {\n      color: \"#c792ea\",\n      fontStyle: \"italic\"\n    },\n    tag: \"#7fdbca\",\n    punctuation: \"#7fdbca\",\n    definition: \"#82aaff\",\n    property: {\n      color: \"#addb67\",\n      fontStyle: \"italic\"\n    },\n    static: \"#f78c6c\",\n    string: \"#ecc48d\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nvar sandpackDark = {\n  colors: {\n    surface1: \"#151515\",\n    surface2: \"#252525\",\n    surface3: \"#2F2F2F\",\n    clickable: \"#999999\",\n    base: \"#808080\",\n    disabled: \"#4D4D4D\",\n    hover: \"#C5C5C5\",\n    accent: \"#90e86f\",\n    error: \"#E1CFF8\",\n    errorSurface: \"#b08df8\"\n  },\n  syntax: {\n    plain: \"#f0fdaf\",\n    comment: {\n      color: \"#757575\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#e5fd78\",\n    tag: \"#f0fdaf\",\n    punctuation: \"#ffffff\",\n    definition: \"#eeeeee\",\n    property: \"#90e86f\",\n    static: \"#ffffff\",\n    string: \"#dafecf\"\n  },\n  font: {\n    body: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n    mono: '\"Fira Mono\", \"DejaVu Sans Mono\", Menlo, Consolas, \"Liberation Mono\", Monaco, \"Lucida Console\", monospace',\n    size: \"13px\",\n    lineHeight: \"20px\"\n  }\n};\nexport { amethyst, aquaBlue, atomDark, cobalt2, cyberpunk, dracula, ecoLight, freeCodeCampDark, githubLight, gruvboxDark, gruvboxLight, levelUp, monokaiPro, neoCyan, nightOwl, sandpackDark };\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"neoCyan\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"atomDark\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"sandpackDark\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"ecoLight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cobalt2\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"dracula\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"gruvboxLight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"levelUp\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"aquaBlue\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"nightOwl\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"gruvboxDark\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"cyberpunk\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"githubLight\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"freeCodeCampDark\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"monokaiPro\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"amethyst\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./codesandbox_sandpack_themes.map", "import { amethyst, aquaBlue, atomDark, cobalt2, cyberpunk, dracula, freeCodeCampDark, githubLight, levelUp, monokaiPro, neoCyan, nightOwl, sandpackDark } from \"https://framerusercontent.com/modules/c4BjG1nmVImY1EzTuV13/OqRStXQUJv4l4u3XtQrx/codesandbox_sandpack_themes.js\";\nimport { isObject, isDarkColor } from \"https://framerusercontent.com/modules/IdMJ4CymCWCh4cOBkZlb/RXSqswLIbuViBOVW1keE/utils.js\";\nconst atomLight = {\n  colors: {\n    surface1: \"#fafafa\"\n  },\n  syntax: {\n    plain: \"#383a42\",\n    comment: {\n      color: \"#a0a1a7\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#a626a4\",\n    tag: \"#e45649\",\n    punctuation: \"#383a42\",\n    definition: \"#c18401\",\n    property: \"#4078f2\",\n    static: \"#986801\",\n    string: \"#50a14f\"\n  }\n};\nconst framerLight = {\n  colors: {\n    surface1: \"#fafafa\",\n    surface2: \"#eeeeee\",\n    surface3: \"#f3f3f3\",\n    clickable: \"#808080\",\n    base: \"#323232\",\n    disabled: \"#c5c5c5\",\n    hover: \"#4d4d4d\",\n    accent: \"#0099ff\",\n    error: \"#ff3366\",\n    errorSurface: \"#ffe0e8\"\n  },\n  syntax: {\n    plain: \"#666666\",\n    comment: {\n      color: \"#bbbbbb\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#0099ff\",\n    tag: \"#0099ff\",\n    punctuation: \"#bbbbbb\",\n    definition: \"#FFAA00\",\n    property: \"#33cccc\",\n    static: \"#ff8866\",\n    string: \"#8855ff\"\n  }\n};\nconst framerDark = {\n  colors: {\n    surface1: \"#161820\",\n    surface2: \"#252525\",\n    surface3: \"#2f2f2f\",\n    clickable: \"#999999\",\n    base: \"#d92121\",\n    disabled: \"#4d4d4d\",\n    hover: \"#c5c5c5\",\n    accent: \"#0099ff\",\n    error: \"#ff3366\",\n    errorSurface: \"#ffe0e8\"\n  },\n  syntax: {\n    plain: \"#eeeeee\",\n    comment: {\n      color: \"#666666\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#00BBFF\",\n    tag: \"#00BBFF\",\n    punctuation: \"#999999\",\n    definition: \"#ffcc66\",\n    property: \"#77dddd\",\n    static: \"#ff8866\",\n    string: \"#bb88ff\"\n  }\n};\nconst ayuLight = {\n  colors: {\n    surface1: \"#fafafa\"\n  },\n  syntax: {\n    comment: {\n      color: \"aaaeb1\",\n      fontStyle: \"italic\"\n    },\n    definition: \"#3b9ee6\",\n    keyword: \"#fa8e3e\",\n    plain: \"#5c6166\",\n    property: \"#f2ae49\",\n    punctuation: \"#5c6167\",\n    static: \"#a37acc\",\n    string: \"#87b300\",\n    tag: \"#56b4d5\"\n  }\n};\nconst ayuDark = {\n  colors: {\n    surface1: \"#0c1017\"\n  },\n  syntax: {\n    comment: {\n      color: \"#646a72\",\n      fontStyle: \"italic\"\n    },\n    definition: \"#5ac2ff\",\n    keyword: \"#ff9040\",\n    plain: \"#bfbdb6\",\n    property: \"#ffb454\",\n    punctuation: \"#bfbdb6\",\n    static: \"#d2a6ff\",\n    string: \"#80d962\",\n    tag: \"#3bbae7\"\n  }\n};\nconst sandpackLight = {\n  colors: {\n    surface1: \"#ffffff\",\n    surface2: \"#EFEFEF\",\n    surface3: \"#F3F3F3\",\n    disabled: \"#C5C5C5\",\n    base: \"#323232\",\n    clickable: \"#808080\",\n    hover: \"#4D4D4D\",\n    accent: \"#3973E0\",\n    error: \"#EA3323\",\n    errorSurface: \"#FCF1F0\",\n    warning: \"#6A4516\",\n    warningSurface: \"#FEF2C0\"\n  },\n  syntax: {\n    plain: \"#151515\",\n    comment: {\n      color: \"#999\",\n      fontStyle: \"italic\"\n    },\n    keyword: \"#7C5AE3\",\n    tag: \"#0971F1\",\n    punctuation: \"#3B3B3B\",\n    definition: \"#85A600\",\n    property: \"#3B3B3B\",\n    static: \"#3B3B3B\",\n    string: \"#2E6BD0\"\n  }\n};\nconst githubDark = {\n  colors: {\n    ...framerDark.colors,\n    surface1: \"#0d1117\"\n  },\n  syntax: {\n    comment: {\n      color: \"#8b949e\",\n      fontStyle: \"italic\"\n    },\n    definition: \"#d2a8ff\",\n    keyword: \"#ff7b72\",\n    plain: \"#e6edf3\",\n    property: \"#79c0ff\",\n    punctuation: \"#e6edf3\",\n    static: \"#7ee787\",\n    string: \"#a5d6ff\",\n    tag: \"#7ee787\"\n  }\n}; // A bit verbose but helps keep our themes in check\nexport const themeKeys = [\"amethyst\", \"aquaBlue\", \"atomDark\", \"atomLight\", \"ayuDark\", \"ayuLight\", \"cobalt2\", \"cyberpunk\", \"dracula\", \"framerDark\", \"framerLight\", \"freeCodeCamp\", \"githubDark\", \"githubLight\", \"levelUp\", \"monokaiPro\", \"neoCyan\", \"nightOwl\", \"sandpackDark\", \"sandpackLight\"];\nexport const themes = {\n  amethyst,\n  aquaBlue,\n  atomDark,\n  atomLight,\n  ayuDark,\n  ayuLight,\n  cobalt2,\n  cyberpunk,\n  dracula,\n  framerDark,\n  framerLight,\n  freeCodeCamp: freeCodeCampDark,\n  githubDark,\n  githubLight,\n  levelUp,\n  monokaiPro,\n  neoCyan,\n  nightOwl,\n  sandpackDark,\n  sandpackLight\n};\nexport const lightThemeVariables = `\n/* Colors */\n--cb-colors-surface1: var(--cb-colors-surface1-light);\n--cb-colors-surface2: var(--cb-colors-surface2-light);\n--cb-colors-surface3: var(--cb-colors-surface3-light);\n--cb-colors-disabled: var(--cb-colors-disabled-light);\n--cb-colors-base: var(--cb-colors-base-light);\n--cb-colors-clickable: var(--cb-colors-clickable-light);\n--cb-colors-hover: var(--cb-colors-hover-light);\n--cb-colors-accent: var(--cb-colors-accent-light);\n--cb-colors-error: var(--cb-colors-error-light);\n--cb-colors-errorSurface: var(--cb-colors-errorSurface-light);\n--cb-colors-warning: var(--cb-colors-warning-light);\n--cb-colors-warningSurface: var(--cb-colors-warningSurface-light);\n\n/* Syntax */\n--cb-syntax-color-plain: var(--cb-syntax-color-plain-light);\n--cb-syntax-color-comment: var(--cb-syntax-color-comment-light);\n--cb-syntax-color-keyword: var(--cb-syntax-color-keyword-light);\n--cb-syntax-color-definition: var(--cb-syntax-color-definition-light);\n--cb-syntax-color-punctuation: var(--cb-syntax-color-punctuation-light);\n--cb-syntax-color-property: var(--cb-syntax-color-property-light);\n--cb-syntax-color-tag: var(--cb-syntax-color-tag-light);\n--cb-syntax-color-static: var(--cb-syntax-color-static-light);\n--cb-syntax-color-string: var(--cb-syntax-color-string-light);\n--cb-syntax-fontStyle-plain: var(--cb-syntax-fontStyle-plain-light);\n--cb-syntax-fontStyle-comment: var(--cb-syntax-fontStyle-comment-light);\n--cb-syntax-fontStyle-keyword: var(--cb-syntax-fontStyle-keyword-light);\n--cb-syntax-fontStyle-definition: var(--cb-syntax-fontStyle-definition-light);\n--cb-syntax-fontStyle-punctuation: var(--cb-syntax-fontStyle-punctuation-light);\n--cb-syntax-fontStyle-property: var(--cb-syntax-fontStyle-property-light);\n--cb-syntax-fontStyle-tag: var(--cb-syntax-fontStyle-tag-light);\n--cb-syntax-fontStyle-static: var(--cb-syntax-fontStyle-static-light);\n--cb-syntax-fontStyle-string: var(--cb-syntax-fontStyle-string-light);\n\n/* Other */\n--cb-color-scheme: var(--cb-color-scheme-light);\n`;\nexport const darkThemeVariables = `\n/* Colors */\n--cb-colors-surface1: var(--cb-colors-surface1-dark);\n--cb-colors-surface2: var(--cb-colors-surface2-dark);\n--cb-colors-surface3: var(--cb-colors-surface3-dark);\n--cb-colors-disabled: var(--cb-colors-disabled-dark);\n--cb-colors-base: var(--cb-colors-base-dark);\n--cb-colors-clickable: var(--cb-colors-clickable-dark);\n--cb-colors-hover: var(--cb-colors-hover-dark);\n--cb-colors-accent: var(--cb-colors-accent-dark);\n--cb-colors-error: var(--cb-colors-error-dark);\n--cb-colors-errorSurface: var(--cb-colors-errorSurface-dark);\n--cb-colors-warning: var(--cb-colors-warning-dark);\n--cb-colors-warningSurface: var(--cb-colors-warningSurface-dark);\n\n/* Syntax */\n--cb-syntax-color-plain: var(--cb-syntax-color-plain-dark);\n--cb-syntax-color-comment: var(--cb-syntax-color-comment-dark);\n--cb-syntax-color-keyword: var(--cb-syntax-color-keyword-dark);\n--cb-syntax-color-definition: var(--cb-syntax-color-definition-dark);\n--cb-syntax-color-punctuation: var(--cb-syntax-color-punctuation-dark);\n--cb-syntax-color-property: var(--cb-syntax-color-property-dark);\n--cb-syntax-color-tag: var(--cb-syntax-color-tag-dark);\n--cb-syntax-color-static: var(--cb-syntax-color-static-dark);\n--cb-syntax-color-string: var(--cb-syntax-color-string-dark);\n--cb-syntax-fontStyle-plain: var(--cb-syntax-fontStyle-plain-dark);\n--cb-syntax-fontStyle-comment: var(--cb-syntax-fontStyle-comment-dark);\n--cb-syntax-fontStyle-keyword: var(--cb-syntax-fontStyle-keyword-dark);\n--cb-syntax-fontStyle-definition: var(--cb-syntax-fontStyle-definition-dark);\n--cb-syntax-fontStyle-punctuation: var(--cb-syntax-fontStyle-punctuation-dark);\n--cb-syntax-fontStyle-property: var(--cb-syntax-fontStyle-property-dark);\n--cb-syntax-fontStyle-tag: var(--cb-syntax-fontStyle-tag-dark);\n--cb-syntax-fontStyle-static: var(--cb-syntax-fontStyle-static-dark);\n--cb-syntax-fontStyle-string: var(--cb-syntax-fontStyle-string-dark);\n\n/* Other */\n--cb-color-scheme: var(--cb-color-scheme-dark);\n`;\nexport function getVariableTheme(font) {\n  var _fontFamily;\n  return {\n    colors: {\n      surface1: \"var(--cb-colors-surface1)\",\n      surface2: \"var(--cb-colors-surface2)\",\n      surface3: \"var(--cb-colors-surface3)\",\n      disabled: \"var(--cb-colors-disabled)\",\n      base: \"var(--cb-colors-base)\",\n      clickable: \"var(--cb-colors-clickable)\",\n      hover: \"var(--cb-colors-hover)\",\n      accent: \"var(--cb-colors-accent)\",\n      error: \"var(--cb-colors-error)\",\n      errorSurface: \"var(--cb-colors-errorSurface)\",\n      warning: \"var(--cb-colors-warning)\",\n      warningSurface: \"var(--cb-colors-warningSurface)\"\n    },\n    syntax: {\n      plain: {\n        color: \"var(--cb-syntax-color-plain)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-plain)\",\n        fontWeight: font.fontWeight\n      },\n      comment: {\n        color: \"var(--cb-syntax-color-comment)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-comment)\",\n        fontWeight: font.fontWeight\n      },\n      keyword: {\n        color: \"var(--cb-syntax-color-keyword)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-keyword)\",\n        fontWeight: font.fontWeight\n      },\n      definition: {\n        color: \"var(--cb-syntax-color-definition)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-definition)\",\n        fontWeight: font.fontWeight\n      },\n      punctuation: {\n        color: \"var(--cb-syntax-color-punctuation)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-punctuation)\",\n        fontWeight: font.fontWeight\n      },\n      property: {\n        color: \"var(--cb-syntax-color-property)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-property)\",\n        fontWeight: font.fontWeight\n      },\n      tag: {\n        color: \"var(--cb-syntax-color-tag)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-tag)\",\n        fontWeight: font.fontWeight\n      },\n      static: {\n        color: \"var(--cb-syntax-color-static)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-static)\",\n        fontWeight: font.fontWeight\n      },\n      string: {\n        color: \"var(--cb-syntax-color-string)\",\n        fontStyle: \"var(--cb-syntax-fontStyle-string)\",\n        fontWeight: font.fontWeight\n      }\n    },\n    font: {\n      body: \"sans-serif\",\n      mono: (_fontFamily = font.fontFamily) !== null && _fontFamily !== void 0 ? _fontFamily : \"monospace\",\n      size: font.fontSize,\n      lineHeight: font.lineHeight\n    }\n  };\n}\nexport function getVariablesForTheme(theme, background, mode) {\n  const result = {};\n  const {\n    colors,\n    syntax\n  } = themes[theme] || {}; // Collect all colors and turn them into CSS variables.\n  if (isObject(colors)) {\n    for (const name in colors) {\n      const value = colors[name];\n      result[`--cb-colors-${name}-${mode}`] = value;\n    }\n  } // Collect all syntax colors and turn them into CSS variables.\n  if (isObject(syntax)) {\n    for (const name1 in syntax) {\n      const value1 = syntax[name1];\n      if (isObject(value1)) {\n        for (const style in value1) {\n          result[`--cb-syntax-${style}-${name1}-${mode}`] = value1[style];\n        }\n      } else {\n        result[`--cb-syntax-color-${name1}-${mode}`] = value1;\n      }\n    }\n  } // Override the background color.\n  if (background) {\n    result[`--cb-colors-surface1-${mode}`] = background;\n  } else {\n    background = result[`--cb-colors-surface1-${mode}`];\n  } // This is important to show scrollbars and selections with the correct color.\n  result[`--cb-color-scheme-${mode}`] = isDarkColor(background) ? \"dark\" : \"light\";\n  return result;\n}\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"ThemeKeys\": {\n      \"type\": \"tsType\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getVariableTheme\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"getVariablesForTheme\": {\n      \"type\": \"function\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"lightThemeVariables\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"themes\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"themeKeys\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"darkThemeVariables\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./theming.map", "import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { motion } from \"framer-motion\";\nimport { getSandpackCssText, SandpackCodeEditor, SandpackLayout, SandpackProvider } from \"https://framerusercontent.com/modules/SWAtenub3goqbKHfvwGg/SGdoMClxnsCb2h0GRQ48/codesandbox_sandpack_react.js\";\nimport { addPropertyControls, ControlType, withCSS } from \"framer\";\nimport { Browser } from \"https://framerusercontent.com/modules/wOI0XDWuPNeaYuatKp4b/ezOdeUpHBrE7fwL9evTL/browser.js\";\nimport { supportedLanguages } from \"https://framerusercontent.com/modules/19BkzxjVBT3VP0Ykl3DY/Ca7pJ6oGfAIcZSScMdTx/types.js\";\nimport { useLanguageAsync } from \"https://framerusercontent.com/modules/DyzTKdNCsRH8nvz08sNT/dJhQ3yTSKg9tQmEoIrL8/useLanguageAsync.js\";\nimport { getFileExtensions, titleCase, useBorder, useIsOnCanvas, usePadding, useRadius } from \"https://framerusercontent.com/modules/IdMJ4CymCWCh4cOBkZlb/RXSqswLIbuViBOVW1keE/utils.js\";\nimport { darkThemeVariables, getVariablesForTheme, getVariableTheme, lightThemeVariables, themeKeys } from \"https://framerusercontent.com/modules/HdJmYu90NFzknVhsFw9C/cOAv9fBRPSDcFUuL4yPJ/theming.js\";\nconst DEFAULT_CODE = `// Paste a code snippet\nimport { motion } from \"framer-motion\";\n\nfunction Component() {\n    return (\n        <motion.div\n            transition={{ ease: \"linear\" }}\n            animate={{ rotate: 360, scale: 2 }}\n        />\n    );\n}`;\nconst wrapperClassName = \"framer-cb\";\nconst css = [`\n.${wrapperClassName} .sp-pre-placeholder {\n    padding: var(--cb-padding) !important;\n    margin: 0 !important;\n    width: max-content;\n}\n    `, `\n.${wrapperClassName} .cm-scroller {\n    display: unset !important;\n    padding: 0 !important;\n}\n    `, `\n.${wrapperClassName} .cm-content {\n    padding: var(--cb-padding) !important;\n    width: max-content;\n}\n    `, `\n.${wrapperClassName} .sp-wrapper {\n    color-scheme: var(--cb-color-scheme, inherit);\n}\n    `,\n// This override rules to fix font-size on mobile safari.\n// .cm-content.cm-readonly is rendered with js enabled\n// .sp-pre-placeholder is rendered in no-js mode (SSG output)\n`\n@media screen and (max-width: 768px) {\n    @supports (-webkit-overflow-scrolling: touch) {\n        .cb-code-editor .cm-content.cm-readonly,\n        .cb-code-editor .sp-pre-placeholder {\n            font-size: var(--sp-font-size, inherit);\n            -webkit-text-size-adjust: 100%;\n        }\n    }\n}\n`,\n// Override the 50% height on small screens\n`\n@media screen and (max-width: 768px) {\n    .${wrapperClassName} .sp-editor-viewer.sp-stack {\n        height: 100%;\n    }\n}\n`,\n// Light mode\n`\n.${wrapperClassName} {\n    ${lightThemeVariables}\n}\n    `, `\nbody[data-framer-theme=\"dark\"] .${wrapperClassName} {\n    ${darkThemeVariables}\n}\n    `, `\n@media (prefers-color-scheme: dark) {\n    body:not([data-framer-theme]) .${wrapperClassName} {\n        ${darkThemeVariables}\n    }\n}\n    `].map(rule => rule.trim()); /**\n                                 * Code Block\n                                 *\n                                 * @framerSupportedLayoutWidth fixed\n                                 * @framerSupportedLayoutHeight any\n                                 *\n                                 * @framerDisableUnlink\n                                 *\n                                 * @framerIntrinsicWidth 500\n                                 * @framerIntrinsicHeight 200\n                                 *\n                                 * @framerComponentPresetProps borderRadius, border, font, themeMode, theme, lightTheme, darkTheme, background, padding\n                                 */\nconst CodeBlock = withCSS(function CodeBlock(props) {\n  const {\n    code,\n    themeMode,\n    theme,\n    lightTheme,\n    darkTheme,\n    style,\n    language,\n    font,\n    border,\n    background\n  } = props;\n  const variableTheme = getVariableTheme(font);\n  const lightThemeVariables = getVariablesForTheme(themeMode === \"Dynamic\" ? lightTheme : theme, background, \"light\");\n  const darkThemeVariables = getVariablesForTheme(themeMode === \"Dynamic\" ? darkTheme : theme, background, \"dark\"); // async version\n  const additionalLanguage = useLanguageAsync(language); // sync version\n  // const additionalLanguage = getLanguage(language)\n  const extension = getFileExtensions(language)[0];\n  const onCanvas = useIsOnCanvas();\n  const borderStyles = useBorder(border || {}, false);\n  const borderRadius = useRadius(props);\n  const hasBorderRadius = borderRadius !== \"0px 0px 0px 0px\" && borderRadius !== \"0px\";\n  const fileName = `example.${extension}`;\n  const padding = usePadding(props);\n  return /*#__PURE__*/_jsxs(motion.div, {\n    className: wrapperClassName,\n    whileHover: \"visible\",\n    style: {\n      ...lightThemeVariables,\n      ...darkThemeVariables,\n      position: \"relative\",\n      width: \"100%\",\n      height: \"100%\"\n    },\n    children: [/*#__PURE__*/_jsx(SandpackProvider, {\n      options: {\n        classes: {\n          \"sp-code-editor\": \"cb-code-editor\"\n        }\n      },\n      theme: variableTheme,\n      files: {\n        [fileName]: code\n      },\n      customSetup: {\n        entry: fileName\n      },\n      style: {\n        height: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(SandpackLayout, {\n        style: {\n          height: \"100%\",\n          // make sure the codeblock doesnt grow beyond\n          // the height of its contents\n          \"--sp-layout-height\": \"100%\",\n          // set the variables for padding we use in the overrides\n          \"--cb-padding\": `${padding}`,\n          ...borderStyles,\n          borderRadius,\n          transform:\n          // Safari sometimes struggles to render border-radius:\n          // - on the canvas when changing from 0 to any other value\n          // - or when rendering an iframe\n          hasBorderRadius && onCanvas ? \"translateZ(0.000001px)\" : \"unset\",\n          overflow: \"hidden\"\n        },\n        children: /*#__PURE__*/_jsx(SandpackCodeEditor, {\n          style: {\n            letterSpacing: font.letterSpacing\n          },\n          readOnly: true,\n          showReadOnly: false,\n          additionalLanguages: additionalLanguage ? [additionalLanguage] : undefined\n        })\n      })\n    }), /*#__PURE__*/_jsx(SandpackStyles, {})]\n  });\n}, css);\nexport default CodeBlock;\nfunction SandpackStyles() {\n  return /*#__PURE__*/_jsx(_Fragment, {\n    children: !Browser.isBrowser() && /*#__PURE__*/_jsx(\"style\", {\n      \"data-framer-css-ssr\": true,\n      dangerouslySetInnerHTML: {\n        __html: getSandpackCssText()\n      }\n    })\n  });\n}\nconst themeNames = themeKeys.map(titleCase);\naddPropertyControls(CodeBlock, {\n  code: {\n    type: ControlType.String,\n    title: \"Code\",\n    displayTextArea: true,\n    defaultValue: DEFAULT_CODE\n  },\n  themeMode: {\n    type: ControlType.Enum,\n    title: \"Theme\",\n    displaySegmentedControl: true,\n    options: [\"Static\", \"Dynamic\"],\n    defaultValue: \"Static\"\n  },\n  theme: {\n    type: ControlType.Enum,\n    title: \" \",\n    options: [...themeKeys],\n    optionTitles: themeNames,\n    defaultValue: \"framerDark\",\n    hidden: ({\n      themeMode\n    }) => themeMode !== \"Static\"\n  },\n  lightTheme: {\n    type: ControlType.Enum,\n    title: \"Light\",\n    options: [...themeKeys],\n    optionTitles: themeNames,\n    defaultValue: \"framerLight\",\n    hidden: ({\n      themeMode\n    }) => themeMode !== \"Dynamic\"\n  },\n  darkTheme: {\n    type: ControlType.Enum,\n    title: \"Dark\",\n    options: [...themeKeys],\n    optionTitles: themeNames,\n    defaultValue: \"framerDark\",\n    hidden: ({\n      themeMode\n    }) => themeMode !== \"Dynamic\"\n  },\n  language: {\n    type: ControlType.Enum,\n    title: \"Language\",\n    options: [...supportedLanguages],\n    defaultValue: \"JSX\"\n  },\n  font: {\n    // @ts-ignore: Internal API\n    type: ControlType.Font,\n    controls: \"extended\",\n    displayFontSize: true,\n    displayTextAlignment: false,\n    defaultFontType: \"monospace\",\n    defaultValue: {\n      fontSize: 14,\n      lineHeight: \"1.5em\"\n    }\n  },\n  background: {\n    title: \"Fill\",\n    type: ControlType.Color,\n    optional: true\n  },\n  border: {\n    buttonTitle: \"Options\",\n    type: ControlType.Object,\n    optional: true,\n    controls: {\n      borderColor: {\n        type: ControlType.Color,\n        title: \"Border\",\n        defaultValue: \"#eee\"\n      },\n      borderWidth: {\n        title: \"Width\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderWidth\",\n        toggleTitles: [\"Border\", \"Border per side\"],\n        valueKeys: [\"borderWidthTop\", \"borderWidthRight\", \"borderWidthBottom\", \"borderWidthLeft\"],\n        valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n        min: 0,\n        defaultValue: 1\n      },\n      borderStyle: {\n        title: \"Style\",\n        type: ControlType.Enum,\n        options: [\"solid\", \"dashed\", \"dotted\", \"double\"],\n        optionTitles: [\"Solid\", \"Dashed\", \"Dotted\", \"double\"],\n        defaultValue: \"solid\"\n      }\n    }\n  },\n  borderRadius: {\n    title: \"Radius\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"isMixedBorderRadius\",\n    toggleTitles: [\"Radius\", \"Radius per corner\"],\n    valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"],\n    valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n    min: 0,\n    defaultValue: 15\n  },\n  padding: {\n    title: \"Padding\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0,\n    defaultValue: 30\n  }\n});\nCodeBlock.displayName = \"Code Block\";\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"CodeBlock\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerDisableUnlink\": \"*\",\n        \"framerComponentPresetProps\": \"borderRadius, border, font, themeMode, theme, lightTheme, darkTheme, background, padding\",\n        \"framerIntrinsicWidth\": \"500\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutHeight\": \"any\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { addPropertyControls, ComponentPresetsConsumer, ControlType, Link } from \"framer\";\nimport { motion } from \"framer-motion\";\nimport * as React from \"react\";\nimport CodeBlock from \"https://framerusercontent.com/modules/pVk4QsoHxASnVtUBp6jr/VRQHcjrUbz44BGN94kVX/CodeBlock.js\";\nconst addImageAlt = (image, alt) => {\n  if (!image || typeof image !== \"object\") {\n    return;\n  }\n  return {\n    ...image,\n    alt\n  };\n}; /**\n   * @framerRecordIdKey id\n   * @framerSlug B7LIlf4Jc\n   * @framerEnumToDisplayNameUtils 2\n   * @framerData\n   */\nconst data = [{\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/55NYMWgApacRo62WJtEPag9l64.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/55NYMWgApacRo62WJtEPag9l64.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/55NYMWgApacRo62WJtEPag9l64.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/55NYMWgApacRo62WJtEPag9l64.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/55NYMWgApacRo62WJtEPag9l64.png\").href} 3633w`\n  }, \"How To Deal With Customer Complaints and Resolve Them \"),\n  B7LIlf4Jc: \"how-to-deal-with-customer-complaints-and-resolve-them\",\n  GSA8tRVAB: true,\n  id: \"xea1TBoNa\",\n  JYmpedk6B: \"2023-09-23T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Customers form the foundation of your business, and their satisfaction is paramount to its growth. That's why exceptional customer service holds immense importance.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In today's digital age, with the prevalence of the internet and social media, individuals are increasingly vocal about their interactions with businesses, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"both positive and negative.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For businesses centered around \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer satisfaction\"\n        })\n      }), \", it's essential to recognize that, regardless of how well you serve your customers and operate your business efficiently, customer complaint management is inevitable.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Interestingly, only about \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.huffpost.com/entry/50-important-customer-exp_b_8295772\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"5%\"\n        })\n      }), \" of dissatisfied customers voice their complaints directly to the company. However, unhappy customers tend to share their negative experiences with approximately 15 others, potentially resulting in lost business, often unbeknownst to you.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer feedback management may be difficult, but these situations can provide an opportunity for you and your business to excel. It's a chance to turn a dissatisfied customer into a delighted and loyal one.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While providing\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" excellent customer service\"\n        })\n      }), \" should always be a priority, in the unfortunate event of receiving a customer complaint, here are 13 valuable tips on how to do customer complaint management.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is exactly customer complaints\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer complaints are often a sign that there's a disconnect between what customers expected and what you delivered. Sometimes that disconnect is caused by a customer's unreasonable expectations or incorrect assumptions. Other times, it's caused by something your company is doing wrong.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A customer complaint might be the result of your marketing copy leading them to believe something incorrect about your product/service \u2014 or of your user experience setting customers up for failure. Or it could reflect a problem that's happening outside of your direct control like shipping problems.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The only way to find out is to give credence to customer complaints management to determine if they contain genuinely useful feedback.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,f7Z1eyT4sROPtO7lakbzyKFG6gU.jpg\",\n      \"data-framer-height\": \"3538\",\n      \"data-framer-width\": \"5307\",\n      height: \"1769\",\n      src: new URL(\"https://framerusercontent.com/images/f7Z1eyT4sROPtO7lakbzyKFG6gU.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5307 / 3538\"\n      },\n      width: \"2653\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"13 tips on customer complaints management\\xa0\"\n      }), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Ask the right questions by digging deeper\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer complaints, even when voiced in frustration, can hold valuable insights. It's your responsibility to identify the core issue, and employing Socratic questioning can be a powerful tool in this endeavor.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When engaging with your customer, consider asking questions like:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"What do you mean by...?\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Could you provide an example?\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Could you expand on that point further?\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Simultaneously, self-reflection is crucial. Pose questions to yourself such as:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"What additional information do I require?\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"What assumptions am I making?\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Why does this complaint matter?\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer Complaints management often highlights problems in need of solutions. By asking the right questions, you can unearth the root cause of the complaint, explore potential resolutions, and discern if it contains genuinely constructive feedback.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In cases where you realize that you may not be the right person to address the customer's concerns and need to transfer them to a specialist, always ensure clear communication. Explain the transfer by stating, \\\"I'll connect you with our specialist, who will promptly address your issue.\\\"\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Avoid disputes with your customer\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It's a common and, frankly, instinctive reaction to want to assert that a customer is mistaken in their claims. However, this approach can be counterproductive in calming a customer down when they're expressing dissatisfaction. Rather than challenging their complaint, it's more effective to actively listen to their concerns. And, believe it or not, consider expressing gratitude. \u201CAllow me to explain\u201D\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"When to ask customers for reviews\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Understanding customer personas in finding the right customer\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A study by the University of Florida highlights the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://edis.ifas.ufl.edu/publication/hr005\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"diversity of customer types encountered when addressing complaints\"\n        })\n      }), \". These customers are driven by distinct beliefs, attitudes, and needs, necessitating varying response strategies:\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Expressively upset customers:\"\n      }), \" They openly convey their dissatisfaction. Respond with firm politeness rather than mirroring confrontational behavior.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Premium support demanding customers:\"\n      }), \" They pay well and expect top-tier assistance. Offer solutions without excuses and consider streamlining support for this group.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Frequent contact customers: \"\n      }), \"They reach out regularly. Maintain patience and avoid showing frustration, as their satisfaction can lead to loyalty and advocacy.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Silent exit customers:\"\n      }), \" They quietly exit without complaining. Proactively engage with them to uncover and resolve potential issues, as they may never voice their feedback.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While these descriptions simplify customer behavior, real customers often exhibit a blend of motivations. Awareness of these personas can guide your response to better serve each individual's unique needs.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Be kind to your customers\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In many cases, diffusing anger and frustration is achievable through kindness and empathy. From the outset, express your appreciation for the customer's decision to communicate their concerns and express your genuine interest in understanding their feelings. By demonstrating care and attentiveness, you set the stage for a constructive dialogue and a potential resolution to the customer's complaint.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Give your customers timely responses\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Addressing dissatisfied customers, the speed of your response shifts from a mere convenience to an absolute necessity. Complaints are most effectively resolved when addressed promptly.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While a customer leaving a feature request may not mind a day's wait, those facing urgent issues require immediate attention. Consider \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"implementing AI-powered chatbots \"\n        })\n      }), \"to provide swift \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-ai-chatbot-can-help-your-business-grow\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"responses and resolutions for urgent matters.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Additionally, you can establish a dedicated folder separate from the main support queue to filter messages from customers in pressing situations. This allows your team to quickly identify and assist customers with reviews and those who require immediate resolution, with the support of AI chatbots to expedite the process.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more:\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-ask-for-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" how to ask for reviews\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Extend a sincere apology and express gratitude\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It might not be easy, but embracing humility and offering a heartfelt apology for your customer's less-than-ideal experience can set a positive tone. Importantly, apologizing doesn't equate to an agreement or taking the blame.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In a counterintuitive move, expressing gratitude to your customer for sharing their concern showcases your commitment to continuous improvement. It signals your empathy and readiness to address the issue effectively.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Ensure effective communication\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Once you've proposed a resolution or clarified what actions can or cannot be taken in response to the customer's complaint, respectfully confirm their understanding. Simply ask if they've grasped how you can assist them or what limitations exist.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,OMrDIPQRHia7dwx3H2j6bMw9CQs.jpg\",\n      \"data-framer-height\": \"3744\",\n      \"data-framer-width\": \"5616\",\n      height: \"1872\",\n      src: new URL(\"https://framerusercontent.com/images/OMrDIPQRHia7dwx3H2j6bMw9CQs.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5616 / 3744\"\n      },\n      width: \"2808\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Embrace flexibility\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In situations where no immediate resolution can satisfy the customer, consider alternative ways to assist them. For instance, having $12 gift cards for a local coffee shop on hand can be a thoughtful gesture to appease upset customers or even those who have had a challenging day.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"An extra tip: Seek arrangements with the coffee shop for complimentary or discounted cards, fostering mutually beneficial relationships in local business communities. Being creative and adaptable can make a difference.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Track and Analyze Complaints for Trends\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Don't overlook the power of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"tracking reviews\"\n        })\n      }), \" to identify patterns and recurring issues. If a single customer has raised a specific concern in the past decade, it might not warrant immediate attention. However, when multiple customers voice the same complaint, it becomes a significant trend.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Ask Clarifying Questions\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After listening to the customer's complaint and allowing them to express their concerns, take the initiative to gather essential facts. Engage in a genuine conversation with the customer while maintaining a courteous and understanding tone. Avoid asking redundant questions that the customer has already answered, as this may undermine their trust and imply inattentiveness.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"11\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"\\xa0Prompt Resolution\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Efficiency is crucial in resolving complaints. The faster you find a satisfactory solution, the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"more contented the customer will be\"\n        })\n      }), \". Flexibility is essential here, balancing adherence to company protocols with the ability to go the extra mile for customers. Ensure that any proposed solutions can be promptly executed. Options like offering a small gift card, a discount on future purchases, product replacement, or upgrades can effectively address customer concerns.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Empower your employees to make independent judgment calls when seeking solutions, minimizing the need to escalate complaints up the chain of command, which can exacerbate the situation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"12\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Document Customer Responses\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer complaints often contain valuable insights for improving products or services. Documenting these complaints can help identify flaws, issues, and trends. Whether it's a technical glitch or a marketing-specific concern, record all customer complaints for future reference.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By maintaining a record of complaints, you can address them during regular meetings, seeking input on how best to tackle the issues and drive improvements.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"13\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Follow up to show you care\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After extending your apologies and support to address the customer's concerns, consider additional ways to demonstrate your commitment to their satisfaction. One effective approach is to have upper management reach out to these customers within 24 to 48 hours of their complaint. This follow-up reaffirms your care and indicates that their concerns remain a top priority. You can choose to send a handwritten note to their home address, if available, or personally call them. Ensure that your protocol includes requesting contact details for such follow-ups.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Collect all your customer's multi-channel feedback in one place\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Efficiently addressing customer complaints necessitates a comprehensive system with multichannel capabilities.\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Customer feedback management software\"\n        })\n      }), \", such as Cloodot aggregates all your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customers' feedback from various channels\"\n        })\n      }), \" and consolidates them into a single interface. This streamlined approach empowers agents to respond to all complaints seamlessly.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Establish assignment rules to ensure each ticket finds the most suitable team member without conflicts.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Streamline your customer service efforts by implementing service levels and contracts, guaranteeing the timely fulfillment of all commitments.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Effectively manage multiple departments, including analysis reports, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"multi-channel chat \"\n        })\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/bulkmarketingmessaging\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"marketing campaigns\"\n        })\n      }), \", all from a unified account.\"]\n    })]\n  }),\n  tcujvgbt3: \"How To Deal With Customer Complaints and Resolve Them \",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 54,\n  wkMiN9hO7: \"Discover 13 Essential Tips for Effective Customer Complaint Management\",\n  z3RB0M3u0: \"How To Deal With Customer Complaints and Resolve Them \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/dqj1LkuAqXsTOgNzA6LUrHf8Bw.png\").href} 4844w`\n  }, \"Invoicing Software For Small Business | Cloodot\"),\n  B7LIlf4Jc: \"invoicing-software-for-small-business\",\n  GSA8tRVAB: true,\n  id: \"sV6uSQiWL\",\n  JYmpedk6B: \"2023-09-22T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Transforming the invoicing process for small businesses is crucial to ensuring prompt payment from clients. To craft polished invoices, entrepreneurs can opt for two approaches: crafting custom, professional documents or utilizing pre-designed invoices for small business templates.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"These business invoices must encompass comprehensive financial information that facilitates client payments. This includes a detailed breakdown of provided services, a clear payment deadline, and the total amount owed, inclusive of relevant taxes. Crafting an invoice for a small business that exudes professionalism, readability, and a well-organized layout significantly enhances the likelihood of swift invoice settlements.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to write an invoice for small businesses in easy steps\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Header and logo\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Begin by creating a header for your invoice document. Include your business logo at the top. If using Microsoft Word, select an appropriate \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.freshbooks.com/invoice-templates\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Word invoice template\"\n        })\n      }), \" with a built-in header. Utilizing templates ensures you include all necessary information.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Business information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Within the invoice header, prominently display your business's contact details. This should encompass your business name, address, phone number, and email address.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Client's contact details\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Directly below the header, add the client's contact information, including their correct name (often from the billing department), address, phone number, and email address.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: invoice date\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include the date when you're preparing the invoice just below the client's contact details.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: payment due date\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Specify the payment due date on your invoice, making it stand out from the invoice date. Use bold font or a different color to emphasize it. Ensure clarity by writing out the full date, e.g., \"Payment Due December 31, 2018,\" rather than vague terms like \"Payment Due in 30 Days.\"'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: List of services\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The main section of your invoice should feature an itemized list of the services provided. This section should include:\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"A brief description of each service\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The number of hours worked or quantity sold\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The rate of pay\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"A subtotal for each service\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Total amount due\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Calculate the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cliffsnotes.com/tutors-problems/Business-Law/50275546-Find-the-total-amount-due-on-the-invoice-Invoice-Amount-/#:~:text=It%20is%20an%20important%20tool,credits%20that%20have%20been%20applied.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"total amount due\"\n        })\n      }), \", including taxes. Display the total prominently in a large, bold font for easy reference.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 8: Payment terms\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"List your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cleartax.in/s/invoice-payment-terms#:~:text=Invoice%20payment%20terms%20are%20agreed,shall%20make%20the%20payment%2C%20etc.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"payment terms \"\n        })\n      }), \"at the bottom of the invoice, specifying accepted payment methods. If your terms include late fees for overdue invoices, outline your late fee policy here. Consider adding a polite thank-you note, as it can increase the likelihood of prompt payment.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 9: Additional information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include your business's basic information, such as its name and relevant contact details like phone number, address, and email address. This should be displayed at the top of the invoice.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 10: Client's information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'List all necessary client information, including their company name, address, phone number, and email address. This section is typically labeled as \"Bill To\" and placed near the top of the invoice.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 11: Invoice number\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Assign a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.indeed.com/career-advice/career-development/what-is-an-invoice-number\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" unique invoice number \"\n        })\n      }), \"to each invoice. You can use various approaches, such as sequential numbering (e.g., INV00001, INV00002) or incorporating a customer code or date (e.g., ACME-2023-09-001, XYZCorp-2023-09-002).\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 12: Issuing date\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include the date of the invoice, which helps clients remember when the work was done or the purchase occurred. It also marks the start of the payment grace period.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 13: Payment details\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the bottom section of the invoice, specify the due date, any on-time discounts or late fees, accepted payment methods, your bank account number, or an online payment link, and provide contact information for inquiries.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By following these clearly defined steps, you can create professional business invoices that facilitate timely payments from your clients.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-best-appointment-software-for-small-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"10 appointment software for small businesses\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Creating an invoice in the templates vs. software\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Templates for creating an invoice\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When choosing between utilizing an invoice template or invoicing software for \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"small businesses,\"\n        })\n      }), \" it's essential to factor in your specific needs, the frequency of invoice generation, and your personal preferences.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For a business with a limited volume of monthly invoices and a focus on cost-saving, opting for free invoicing software for a small business template can be a practical choice. On the other hand, a larger enterprise that regularly issues invoices and has complex accounting requirements may find greater value in the efficiency and features provided by invoicing software for small businesses.\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://create.microsoft.com/en-us/templates/invoices\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Microsoft Office Templates\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.google.com/docs/about/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google doc\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://invoicehome.com/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Invoice home\\xa0\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://invoice-generator.com/#/1\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Free invoice generator\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.smartsheet.com/templates\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Smart sheets\\xa0\"\n            })\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Software for creating a professional invoice\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Invoicing software for small businesses is designed for efficient payment processing. It simplifies payments with features like mobile access and \"pay now\" buttons for credit card or bank payments. Automation handles tasks like generating receipts, creating invoices for regular clients, and sending payment reminders. Additionally, it provides valuable business insights like income sources, product popularity, and payment patterns.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When choosing invoicing software for small business, prioritize relevant features and ensure they justify the cost. Be prepared for a learning curve when adopting new software.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.freshbooks.com/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"FreshBooks\"\n            })\n          }), \": Known for its invoicing features and automation, FreshBooks offers free invoice templates for Word, Excel, Adobe PDF, and Google Sheets.\"]\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.sage.com/en-us/sage-business-cloud/accounting/features/invoice-templates/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Sage Business Cloud Accounting\"\n            })\n          }), \": This cloud-based solution provides automation for invoicing and offers free invoice templates.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.waveapps.com/invoice-templates\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Wave:\"\n            })\n          }), \" Wave Financial offers free invoicing and accounting software with a variety of free invoice templates. It also supports online invoicing, alerts, reminders, and payment processing.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://quickbooks.intuit.com/oa/get-quickbooks/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"QuickBooks Online\"\n            })\n          }), \": QuickBooks includes invoicing in its accounting toolbox, allowing customization, batch invoicing, recurring invoices, and payment tracking at an affordable monthly rate.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.zoho.com/in/books/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Zoho Books:\"\n            })\n          }), \" Zoho Books is an online accounting solution with invoicing, payment tracking, and collection tools.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://invoiceninja.com/invoice-ninja-vs-zoho/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Invoice Ninja\"\n            })\n          }), \": Invoice Ninja offers a free tier of invoicing software for small businesses, tailored for freelancers and small businesses, enabling easy invoice creation and payment acceptance.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.clio.com/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Clio\"\n            })\n          }), \": Clio is specifically designed for legal professionals and offers invoicing, time tracking, and billing features tailored to the legal industry.\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.xero.com/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Xero\"\n            })\n          }), \": Xero offers cloud-based accounting software that includes invoicing software for small business features with customizable templates, payment reminders, and reporting capabilities.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Tips for creating a professional invoice to speed up the payment\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Accurate time tracking: \"\n      }), \"For businesses billing by the hour, maintaining meticulous time records is crucial. Precise timekeeping ensures accurate invoices and serves as a reference in case of client disputes. You can track time manually, use digital time-tracking apps, or utilize cloud-based accounting software.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Diverse payment options:\"\n      }), \" Offer flexibility in payment methods to accommodate your clients' preferences. Accepting credit cards and online payments, in addition to traditional methods like cash and checks, makes it more convenient for clients to settle their bills promptly.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Timely invoicing:\"\n      }), \" Develop a routine of sending invoices promptly upon completing a project. This minimizes the chances of errors and ensures that both you and your client have fresh memories of the work, expediting payment.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Automatic payments:\"\n      }), \" Consider setting up automatic payment systems for clients with recurring invoices. This enables clients to authorize payments on a predetermined schedule, ensuring consistent and timely payments for your small business.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Implement late fees:\"\n      }), \" Including late fees in your billing strategy can motivate clients to settle their invoices on time. Communicate your late fee policy when establishing contracts to avoid surprises. A typical late fee is 1.5 percent per month on overdue payments.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Mastering the art of invoicing for small businesses may seem daunting, but with the right structure and procedures, you can ensure timely payments, foster a robust cash flow, and nurture positive client relationships. Implementing the aforementioned advice and leveraging invoicing software can simplify the process for business owners, maintaining financial order and accuracy.\\xa0\"\n    })]\n  }),\n  tcujvgbt3: \"Invoicing Software For Small Businesses\\n\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 53,\n  wkMiN9hO7: \"Craft professional invoices for prompt payments with our step-by-step guide.\",\n  z3RB0M3u0: \"Invoicing Software For Small Business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/6sOtQfVXKVNURnAzY4uibzQNKq8.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/6sOtQfVXKVNURnAzY4uibzQNKq8.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/6sOtQfVXKVNURnAzY4uibzQNKq8.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/6sOtQfVXKVNURnAzY4uibzQNKq8.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/6sOtQfVXKVNURnAzY4uibzQNKq8.png\").href} 2700w`\n  }, \"\"),\n  B7LIlf4Jc: \"add-whatsapp-chat-button-with-custom-message-on-website-for-free\",\n  GSA8tRVAB: true,\n  id: \"r5thYVWov\",\n  JYmpedk6B: \"2023-09-20T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"In today's digital age, connecting with your website visitors has never been easier. One effective way to do this is by adding a WhatsApp chat button to your website. This allows users to initiate a conversation with you instantly, making it convenient for them to ask questions or seek assistance. In this guide, we'll walk you through the simple steps to add a WhatsApp chat button with a custom message to your website, all without any cost. Let's get started!\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Step 1: Copy the free HTML Code\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To add a WhatsApp chat button to your website, you'll need to insert a small snippet of HTML code. Here's the code you can use:\"\n    }), /*#__PURE__*/_jsx(motion.div, {\n      className: \"framer-text-module\",\n      style: {\n        height: \"auto\",\n        width: \"100%\"\n      },\n      children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, {\n        componentIdentifier: \"module:pVk4QsoHxASnVtUBp6jr/VRQHcjrUbz44BGN94kVX/CodeBlock.js:default\",\n        children: presetProps => /*#__PURE__*/_jsx(CodeBlock, {\n          ...presetProps,\n          code: '<div style=\"position: fixed; bottom: 20px; right: 20px; z-index: 100\">\\n  <a\\n    href=\"https://wa.me/91xxxxxxxxxx?text=Hi.\"\\n    target=\"_blank\"\\n    style=\"\\n      display: flex;\\n      width: 60px;\\n      height: 60px;\\n      background-color: #128c7e;\\n      border-radius: 50%;\\n      text-align: center;\\n      text-decoration: none;\\n      color: white;\\n      font-size: 32px;\\n      line-height: 60px;\\n      padding: 16px;\\n      align-items: center;\\n      justify-items: center;\\n    \"\\n  >\\n    <svg\\n      width=\"auto\"\\n      height=\"auto\"\\n      viewBox=\"0 0 360 362\"\\n      fill=\"none\"\\n      xmlns=\"http://www.w3.org/2000/svg\"\\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\\n    >\\n      <path\\n        fill-rule=\"evenodd\"\\n        clip-rule=\"evenodd\"\\n        d=\"M307.546 52.5655C273.709 18.685 228.706 0.0171895 180.756 0C81.951 0 1.53846 80.404 1.50408 179.235C1.48689 210.829 9.74646 241.667 25.4319 268.844L0 361.736L95.0236 336.811C121.203 351.096 150.683 358.616 180.679 358.625H180.756C279.544 358.625 359.966 278.212 360 179.381C360.017 131.483 341.392 86.4547 307.546 52.5741V52.5655ZM180.756 328.354H180.696C153.966 328.346 127.744 321.16 104.865 307.589L99.4242 304.358L43.034 319.149L58.0834 264.168L54.5423 258.53C39.6304 234.809 31.749 207.391 31.7662 179.244C31.8006 97.1036 98.6334 30.2707 180.817 30.2707C220.61 30.2879 258.015 45.8015 286.145 73.9665C314.276 102.123 329.755 139.562 329.738 179.364C329.703 261.513 262.871 328.346 180.756 328.346V328.354ZM262.475 216.777C257.997 214.534 235.978 203.704 231.869 202.209C227.761 200.713 224.779 199.966 221.796 204.452C218.814 208.939 210.228 219.029 207.615 222.011C205.002 225.002 202.389 225.372 197.911 223.128C193.434 220.885 179.003 216.158 161.891 200.902C148.578 189.024 139.587 174.362 136.975 169.875C134.362 165.389 136.7 162.965 138.934 160.739C140.945 158.728 143.412 155.505 145.655 152.892C147.899 150.279 148.638 148.406 150.133 145.423C151.629 142.432 150.881 139.82 149.764 137.576C148.646 135.333 139.691 113.287 135.952 104.323C132.316 95.5909 128.621 96.777 125.879 96.6309C123.266 96.5019 120.284 96.4762 117.293 96.4762C114.302 96.4762 109.454 97.5935 105.346 102.08C101.238 106.566 89.6691 117.404 89.6691 139.441C89.6691 161.478 105.716 182.785 107.959 185.776C110.202 188.767 139.544 234.001 184.469 253.408C195.153 258.023 203.498 260.782 210.004 262.845C220.731 266.257 230.494 265.776 238.212 264.624C246.816 263.335 264.71 253.786 268.44 243.326C272.17 232.866 272.17 223.893 271.053 222.028C269.936 220.163 266.945 219.037 262.467 216.794L262.475 216.777Z\"\\n        fill=\"white\"\\n      ></path>\\n    </svg>\\n  </a>\\n</div>\\n',\n          language: \"JSX\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Step 2: Paste the Code into Your Website\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Open the HTML file or content management system (CMS) of your website where you want to add the WhatsApp chat button. Find the place where you want the button to appear, and paste the code there. You can adjust the `position`, `bottom`, and `right` properties in the code to control the button's placement on your website.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Step 3: Customize the WhatsApp Number\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the HTML code, replace `91xxxxxxxxxx` with your actual WhatsApp phone number, including the country code. For example, if your WhatsApp number is from the United States, it would be something like `1yyyyyyyyyy`.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Step 4: Customize the Initial Message\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'The code also includes a default message, \"Hi.\" You can customize this message to something more specific or welcoming. To do this, replace `Hi.` with your desired message in the `text` parameter of the `href` attribute.'\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Step 5: Save and Publish\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After making these adjustments, save the changes to your website's HTML file or content. Once you've saved your changes, the WhatsApp chat button with your custom message will be visible to your website visitors.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That's it! You've successfully added a WhatsApp chat button with a custom message to your website, allowing your visitors to easily reach out to you with any inquiries. This simple and free addition can enhance user engagement and improve your website's user experience.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"SEO Tip:\"\n      }), ' To maximize the visibility of your WhatsApp chat button, consider adding relevant keywords related to your website\\'s content, such as \"customer support,\" \"contact us,\" or \"live chat.\" This can help improve your website\\'s search engine optimization (SEO) and attract more organic traffic.']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By following these straightforward steps, you can enhance your website's accessibility and engage with your audience in a more interactive and user-friendly manner. Happy chatting!\"\n    })]\n  }),\n  tcujvgbt3: \"Enhance Website User Engagement: Add WhatsApp Chat Button\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 52,\n  wkMiN9hO7: \"Learn how to add a WhatsApp chat button with a custom message to your website for free. Improve website user engagement and provide instant support. Follow our step-by-step guide today!\",\n  z3RB0M3u0: \"Boost Website Engagement: Add a Free WhatsApp Chat Button\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/B6GZZBlhAJhPNnaBbCiXgAyws.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/B6GZZBlhAJhPNnaBbCiXgAyws.jpg?scale-down-to=512\").href} 409w, ${new URL(\"https://framerusercontent.com/images/B6GZZBlhAJhPNnaBbCiXgAyws.jpg?scale-down-to=1024\").href} 819w, ${new URL(\"https://framerusercontent.com/images/B6GZZBlhAJhPNnaBbCiXgAyws.jpg?scale-down-to=2048\").href} 1638w, ${new URL(\"https://framerusercontent.com/images/B6GZZBlhAJhPNnaBbCiXgAyws.jpg\").href} 2996w`\n  }, \"\"),\n  B7LIlf4Jc: \"what-you-need-to-know-about-whatsapp-channels-and-flows\",\n  GSA8tRVAB: true,\n  id: \"kbx1VIU9i\",\n  JYmpedk6B: \"2023-09-20T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/WhatsApp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp\"\n        })\n      }), \" has been a staple in the world of messaging for over a decade, connecting billions of people around the globe. In its latest move, WhatsApp is set to revolutionize the way we consume content and interact with businesses.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,4zKaP2s74YJeFWglO4Ha2sQ.png\",\n      \"data-framer-height\": \"1600\",\n      \"data-framer-width\": \"948\",\n      height: \"800\",\n      src: new URL(\"https://framerusercontent.com/images/4zKaP2s74YJeFWglO4Ha2sQ.png\").href,\n      style: {\n        aspectRatio: \"948 / 1600\"\n      },\n      width: \"474\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Following the initial \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/whatsapp-is-taking-down-every-other-channel-by-introducing-a-new-feature-check-it-out\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"launch of the channel\"\n        })\n      }), \" creation and the following feature in nine countries, Mark Zuckerberg has just made a significant announcement: WhatsApp is now introducing this feature globally. It's available to users who have updated to the latest versions of WhatsApp on iOS, Android, and Desktop platforms. Let's dive into the details of this exciting new development.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,jW5ik0YNNycWAg2g5xkBVOJTa6w.png\",\n      \"data-framer-height\": \"899\",\n      \"data-framer-width\": \"1599\",\n      height: \"449\",\n      src: new URL(\"https://framerusercontent.com/images/jW5ik0YNNycWAg2g5xkBVOJTa6w.png\").href,\n      style: {\n        aspectRatio: \"1599 / 899\"\n      },\n      width: \"799\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"The Global Rollout:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp Channels were initially tested in nine countries, including Chile, Colombia, Egypt, Kenya, Malaysia, Morocco, Peru, Singapore, and Ukraine. The feedback received during this phase was invaluable, helping WhatsApp iron out issues and enhance the user experience. And now, the moment we've all been waiting for \u2013 WhatsApp Channels is going global!\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In a recent announcement at the Conversations conference held in Mumbai, WhatsApp introduced a set of transformative features aimed at enhancing the user-business interaction experience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://faq.whatsapp.com/1137338520520761\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp Flows\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,cPZEwb10LFIA0ZVveORzSPNTDpM.png\",\n      \"data-framer-height\": \"1280\",\n      \"data-framer-width\": \"1600\",\n      height: \"640\",\n      src: new URL(\"https://framerusercontent.com/images/cPZEwb10LFIA0ZVveORzSPNTDpM.png\").href,\n      style: {\n        aspectRatio: \"1600 / 1280\"\n      },\n      width: \"800\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Businesses will have the capability to craft adaptable forms that cater to various requirements directly within a WhatsApp conversation. This feature empowers businesses globally to create immersive in-chat experiences, allowing you to perform actions such as scheduling appointments or completing flight check-ins, all within the WhatsApp platform, without the need to exit the app.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Simplified Payments in India\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For Indian users, WhatsApp is taking convenience to the next level. You'll soon have the ability to make payments to businesses effortlessly with Razorpay and PayU! Whether you prefer UPI apps, debit cards, credit cards, or other payment methods, WhatsApp will support your choice, making transactions smoother than ever.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Meta Verified: Ensuring Trust in Business Chats\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To instill confidence in user-business interactions, WhatsApp is rolling out 'Meta Verified.' This initiative begins with Instagram and Facebook and will expand to WhatsApp in due time. Meta Verified offers business authentication through a verified badge, proactive impersonation protection, access to account support, and tools to enhance your business's discoverability. Testing for Meta Verified will commence with small businesses using the WhatsApp Business app, with plans to extend this feature to businesses on the WhatsApp Business Platform. These updates signify WhatsApp's commitment to improving interactions between users and businesses on their platform.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"WhatsApp Enhancements: A Better Experience with Channels for All Users\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"1. Enhanced Directory:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Finding the right channels to follow is made easy with an enhanced directory. Channels are automatically filtered based on your country, and you can discover new, popular, and active channels based on the number of followers.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"2. Reactions:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Express yourself with emojis! WhatsApp Channels introduces the ability to react to channel updates. Share your thoughts without revealing your identity to other followers.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"3. Message Forwarding:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When you forward an update to chats or groups, it includes a convenient link back to the channel. This makes it effortless for others to join in on the conversation.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"4. Update Editing:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Admins will soon have the power to make changes to their updates for up to 30 days. This feature ensures that the information you receive is always up-to-date and accurate.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"5. The Privacy Advantage:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp Channels is designed with privacy in mind. Your choice of channels remains confidential, and both admins and followers' personal information is safeguarded.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"What\u2019s next?\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The capability to follow channels is now gradually becoming available to users who have installed the most recent updates of WhatsApp for iOS from the App Store and WhatsApp for Android from the Google Play Store. Furthermore, this feature will be progressively released to a broader audience in the weeks ahead.\"\n    })]\n  }),\n  tcujvgbt3: \"Everything you need to know about WhatsApp channels and flows.\",\n  tnSC8si1b: \"WLFE0gRz1\",\n  tz3i_bnPC: true,\n  vT9gt4LK2: 51,\n  wkMiN9hO7: \"Everything you need to know about WhatsApp channels and flows and meta verrification.\",\n  z3RB0M3u0: \"What you need to know about WhatsApp channels and flows.\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/agX5kBxpndRWc3cNDfPS5ASQIE.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/agX5kBxpndRWc3cNDfPS5ASQIE.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/agX5kBxpndRWc3cNDfPS5ASQIE.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/agX5kBxpndRWc3cNDfPS5ASQIE.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/agX5kBxpndRWc3cNDfPS5ASQIE.png\").href} 2422w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-claim-my-business-on-google\",\n  GSA8tRVAB: true,\n  id: \"vsKiz__Eo\",\n  JYmpedk6B: \"2023-09-19T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're a business owner without a Google Business Profile, you might be missing out on \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-ways-google-my-business-experts-can-help-you-succeed\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"potential revenue\"\n        })\n      }), \". A Google Business Profile is a robust tool that can greatly enhance your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"local SEO endeavors and facilitate connections with potential customers\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Surprisingly, a substantial \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.linkedin.com/pulse/google-search-statistics-business-2023-my-biz-coaches/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"63% \"\n        })\n      }), \"of consumers have utilized Google Business Profiles to discover businesses and their contact details. Moreover, in 2023, there was a remarkable surge in customer inquiries originating from Google Business Profiles. In this informative blog post, we'll guide you through the process of setting up a Google Business Profile account, claiming your business listing on Google, and providing you with comprehensive insights into Google Business Profile.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let's dive right in!\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Create My Business Profile on Google\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Sign In\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Visit the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business \"\n        })\n      }), 'page and click on the \"Sign in\" button. You can use your Google login, the same account you use for Gmail, Google Drive, and other Google services.']\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,PlUQejlJETnpvoDfyPOIqFRWMg.png\",\n      \"data-framer-height\": \"1206\",\n      \"data-framer-width\": \"2860\",\n      height: \"603\",\n      src: new URL(\"https://framerusercontent.com/images/PlUQejlJETnpvoDfyPOIqFRWMg.png\").href,\n      style: {\n        aspectRatio: \"2860 / 1206\"\n      },\n      width: \"1430\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Step 2: Check the business listing\"]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin typing your business name. If your business appears in the list, it may have already been created. In that case, you can claim it. If it doesn't appear, you can add your business name and select the option to create a business with the provided name.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,7uUZeERsoezBd9ceCdpMVlJ5lI.png\",\n      \"data-framer-height\": \"1164\",\n      \"data-framer-width\": \"2852\",\n      height: \"582\",\n      src: new URL(\"https://framerusercontent.com/images/7uUZeERsoezBd9ceCdpMVlJ5lI.png\").href,\n      style: {\n        aspectRatio: \"2852 / 1164\"\n      },\n      width: \"1426\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Step 3: Confirm the Business Name\"]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ensure that your business name is displayed correctly. It should match the name used on your website and any other references to your business name.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Choose Business Type\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now,Choose Business Type that best represents your business.Online retail , Local store and Service business are the type of the business\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,9Yv5KfFswDWFaKW0vT5tlcBe8.png\",\n      \"data-framer-height\": \"1252\",\n      \"data-framer-width\": \"2842\",\n      height: \"626\",\n      src: new URL(\"https://framerusercontent.com/images/9Yv5KfFswDWFaKW0vT5tlcBe8.png\").href,\n      style: {\n        aspectRatio: \"2842 / 1252\"\n      },\n      width: \"1421\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Step 5: Choose Business Category\"]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now, select an appropriate primary Google My Business Category that best represents your business. You can add subcategories later after your account is set up, so for now, focus on the main category.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,SHvFiOlHJ4Ey3GLUKVpSjK2wM.png\",\n      \"data-framer-height\": \"1176\",\n      \"data-framer-width\": \"2850\",\n      height: \"588\",\n      src: new URL(\"https://framerusercontent.com/images/SHvFiOlHJ4Ey3GLUKVpSjK2wM.png\").href,\n      style: {\n        aspectRatio: \"2850 / 1176\"\n      },\n      width: \"1425\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: Specify Business Location\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Indicate whether your business has a physical location that customers can visit.Where do you serve your customers?\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,FwxleW4IEYHmBDBx7TrYemKMpa8.png\",\n      \"data-framer-height\": \"1226\",\n      \"data-framer-width\": \"2844\",\n      height: \"613\",\n      src: new URL(\"https://framerusercontent.com/images/FwxleW4IEYHmBDBx7TrYemKMpa8.png\").href,\n      style: {\n        aspectRatio: \"2844 / 1226\"\n      },\n      width: \"1422\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Step 7: Provide Contact Details\"]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Enter your Google My Business contact number (preferably a local number) What contact details do you want to show to customers? and include your website address if you have one.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,AiAsCpOGeeRgIXeUuA5kL1ZWPTs.png\",\n      \"data-framer-height\": \"1350\",\n      \"data-framer-width\": \"2856\",\n      height: \"675\",\n      src: new URL(\"https://framerusercontent.com/images/AiAsCpOGeeRgIXeUuA5kL1ZWPTs.png\").href,\n      style: {\n        aspectRatio: \"2856 / 1350\"\n      },\n      width: \"1428\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 8: Finish and Manage Listing\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Finally, click \"Finish\" to save your Google My Business Listing.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"These steps will help you set up your Google Business Profile effectively.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,d7EwLkJu7fEi2xXIdb1cCi3zln8.png\",\n      \"data-framer-height\": \"1224\",\n      \"data-framer-width\": \"2830\",\n      height: \"612\",\n      src: new URL(\"https://framerusercontent.com/images/d7EwLkJu7fEi2xXIdb1cCi3zln8.png\").href,\n      style: {\n        aspectRatio: \"2830 / 1224\"\n      },\n      width: \"1415\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-recover-suspended-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"how to recover a suspended Google business profile\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Claim Your Google Business Profile Listing Using Google Maps\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To ensure your business appears on Google Maps and is part of the online location game, it's crucial to claim your Google Business Profile listing and optimize all its details. If your business location isn't visible on Google Maps, you can add it by following these simple steps.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Add your business to Google Maps:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Open the Google Maps app on your phone or tablet.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Search for your business.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: 'Scroll down and tap \"Claim this business.\"'\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Claim your business on Google Maps:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Open the Google Maps app on your phone or tablet.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"In the search bar, enter your business name and select the correct one from the results.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'In the Business Profile, tap \"Claim this business\" and then \"I own or manage this business.\" If it\\'s a different business, select \"I own or manage another business.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Choose a verification option and follow the on-screen instructions.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A Business Profile can exist independently of a Google Business Profile account, but you won't have the authority to edit the business information until you claim it through the Google Business Profile.\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-search-google-reviews-by-keywords\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"How to search Google reviews by keywords\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add multiple locations on Google My Business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While managing multiple locations on your Google My Business may seem complex, it's a straightforward process. Follow our step-by-step guidelines to add multiple locations on Google My Business efficiently.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"1. Creating a Location/Business Group:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Assuming you've already claimed or created your Google Business Profile, follow these steps to set up multiple location management:\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Log into your Business Profile and click on the \"Businesses\" option at the top left corner.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Select \"Create Group.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on \"Add Locations.\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Adding Multiple Business Locations:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"To add new locations to your Google Business Profile account, follow these steps:\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'After clicking \"Add Location,\" choose \"Add Single Location\" from the drop-down menu.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Provide essential business information: business name, address, phone number, website URL, and hours of operation for the location you want to add. Click \"Done.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Repeat this process for each location you wish to include.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Once all locations are added, you can efficiently manage them from a single place by accessing the \"Locations\" tab in the left-hand menu. Here, you can edit information, add photos, respond to reviews, and more.'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"3. Optimizing Each Business Listing:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ensuring accurate and trustworthy information is crucial, as customers often rely on Google to find and contact your business. Optimize your profiles as follows:\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Maintain completeness for each location's profile.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Upload high-quality photos and videos.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Incorporate relevant keywords associated with your products or services.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Keep information up-to-date, especially for hours of operation and contact numbers.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By following these straightforward steps, you can seamlessly add multiple locations to your Google Business Profile, enhance your online presence, expand your customer reach, and foster business growth.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"FAQs\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How do I add Google reviews to my website?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To add \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-add-google-reviews-to-website\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google reviews to your website\"\n        })\n      }), \", you can use Google's official Review Widget or embed individual reviews using custom HTML code.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How do I remove fake reviews from Google business profiles?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-remove-fake-reviews-from-your-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"remove fake reviews from Google Business Profiles\"\n        })\n      }), \", flag them for review within the Google My Business platform and provide evidence of their inauthenticity. Google will investigate and potentially take action.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How do I add FAQs to my Google Business Profile?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-add-faqs-to-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" add FAQs to your Google Business Profile\"\n        })\n      }), ', access your Google My Business dashboard, navigate to the \"Questions & Answers\" section, and click \"Add Question.']\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How to create a Google review link?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-generate-google-review-links\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"create a Google review link, simply search for your business on Google\"\n        })\n      }), ', click \"Write a Review,\" copy the URL from your browser\\'s address bar, and share it with your customers.']\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Is it good to buy Google reviews?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"No, it's not advisable to buy Google reviews. Authentic reviews reflect genuine customer experiences and contribute to trustworthiness, there are so many drawbacks to buying Google reviews, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/the-pitfalls-of-buying-google-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"find out here\"\n        })\n      }), \". \\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Many businesses have mastered the art of reputation marketing, leveraging their online presence to drive increased traffic. You can explore success stories in Cloodot's Case Studies resource library. To take your online reputation and customer engagement to the next level, consider Cloodot's products tailored to boost reviews and engagement. Cloodot's customer experience management software helps you manage all your multi-channel chats, reviews, and analytics under one dashboard. You can add all your outlets no matter how many you have to your Google Business Profile, collect all your reviews and reply to your customers through the Cloodot dashboard without giving access to your original Google dashboard.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Similarly, with Cloodot's online review management software, you can present your business in the best light. Using our AI automation up to 90% of reviews can be replied without any manual effort.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"There is so much more to learn about cloodot.\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Sign up\"\n        })\n      }), \" to find out more about what we can do for your company or \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"schedule a free demo call \"\n        })\n      }), \"to learn from our experts.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How To Claim My Business on Google \\n\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 50,\n  wkMiN9hO7: \"How To Claim My Business on Google - A step-by-step guide to secure your online presence and enhance local SEO.\",\n  z3RB0M3u0: \"How To Claim My Business on Google \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/FAXnQvQsYEEx5MfBchohbA5YXqs.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/FAXnQvQsYEEx5MfBchohbA5YXqs.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/FAXnQvQsYEEx5MfBchohbA5YXqs.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/FAXnQvQsYEEx5MfBchohbA5YXqs.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/FAXnQvQsYEEx5MfBchohbA5YXqs.png\").href} 2400w`\n  }, \"Why Yelp Business Not Working | Cloodot\"),\n  B7LIlf4Jc: \"why-yelp-business-not-working\",\n  GSA8tRVAB: true,\n  id: \"M9dnpYj8g\",\n  JYmpedk6B: \"2023-09-18T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're a small business owner, you're likely no stranger to Yelp. It's a prominent platform for discovering and reviewing businesses online. While Google remains a giant in online search, Yelp holds its own with an impressive \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.yelp-press.com/company/fast-facts/default.aspx\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"178 million\"\n        })\n      }), \" unique monthly users across desktop, mobile, and apps. That's a substantial amount of traffic!\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Yelp for Business is a widely used online platform that empowers businesses to create and manage their profiles, engage with reviews, provide special offers and gift certificates, and promote their services.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"However, some users have encountered issues that the Yelp business is not working properly on their devices. Here is the solution to fix that problem.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Why am I unable to use Yelp?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you find yourself unable to access Yelp, there are several potential reasons for this issue:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Geo-restriction: \"\n      }), \"You may be trying to access Yelp from a location where it's not supported. To swiftly resolve this, consider using a VPN service to connect to a virtual location.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Network Blocking: \"\n      }), \"If you're on a work network, a hotel network, or any public Wi-Fi connection, access to Yelp may be blocked by the network administrator.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Browser Problems:\"\n      }), \" When Yelp business is not working properly on your computer's browser, it could be due to an outdated or corrupt browser, or you might have browser extensions that are blocking Yelp. Some security add-ons might mistakenly flag Yelp as a dangerous website.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Firewall or Antivirus Blockage: \"\n      }), 'Your antivirus or firewall software might be blocking access to Yelp. In such cases, we recommend either whitelisting Yelp or temporarily disabling your antivirus/firewall to access the website without hindrance.\"']\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution for accessing Yelp?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Use a VPN:\"\n          }), \" Utilize a VPN service to bypass geo-restrictions and access Yelp from a different virtual location.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Use Smart DNS Services: \"\n          }), \"Employ Smart DNS services to unblock access to Yelp by changing your DNS settings.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Use a Proxy Server:\"\n          }), \" Access Yelp through a proxy server to mask your location and gain access.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Use Tor:\"\n          }), \" Utilize the Tor network to access Yelp anonymously and bypass restrictions.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Check Your Firewall:\"\n          }), \" Ensure that your firewall settings are not blocking Yelp access; adjust them if needed.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Check Your Host's File:\"\n          }), \" Examine your computer's host file to ensure it's not blocking Yelp; modify it if necessary.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Flush Your DNS:\"\n          }), \" Clear your DNS cache to resolve any potential DNS-related issues and regain access to Yelp.\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Problem #2\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"You haven\u2019t claimed your business listing\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This is a big one. If you haven\u2019t gone to Yelp, Google, or other major search engines to claim or add your online listing, do it ASAP. You want to let them know that you\u2019re taking ownership of your listing. This establishes a pattern of trust, which is huge when you\u2019re trying to make future changes or edits.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Yelp in particular makes this easy, providing business owners with a portal to create a free business owner account. This allows you to claim your Yelp business listing and make updates as needed. Oh, and did I mention it\u2019s free?\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution for claiming your business listing\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Only business owners can claim Yelp business listings, ensuring they have control over their business information and can manage their online presence effectively.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Problem #3\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"When your Yelp business page is not up-to-date\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your Yelp business is not working properly it might be due to outdated functionalities. You might encounter the device might get slow.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You can update the app from the App Store or Google Play Store.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Problem #4\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Lack of a strong social media presence\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"It's crucial to understand that Yelp uses your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"social media presence\"\n        })\n      }), \" to verify the accuracy of the business information you provide. If you haven't kept your\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-facebook-can-help-you-gain-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Facebook,\"\n        })\n      }), \" Instagram, or Twitter profiles updated, it can hinder the verification process.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As mentioned earlier, a client without a website faced challenges with Yelp. Having a robust social media presence could have helped Yelp verify their information, but they didn't have one. While social media profiles are valuable, they shouldn't replace an official website. Yelp prefers businesses to have both, as a social media page is not a substitute for a dedicated website. Therefore, it's best practice to maintain both a strong social media presence and an official business website for a well-rounded online presence.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Problem #5\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Facing black or white screen issues in Yelp for Business on Android\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you encounter a black or white screen when opening Yelp for Business on your Android device, it's a common issue. To resolve it, try these steps:\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Problem Resolution: In most cases, it's a temporary loading problem. Open your recent applications menu (typically the first left button), close the app with the issue, and then reopen it.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Hard Reboot: Perform a hard reboot by pressing and holding the \"Home\" and \"Power\" buttons simultaneously for up to 10 seconds, then release them and hold the \"Power\" button until the screen turns on. After this, try reopening the app; it might function correctly.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Battery Drain and Restart: If the problem persists, allow your phone's battery to drain completely and turn off automatically. Then, recharge it and press the power button; the app may work afterward.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Reinstallation: If none of the above steps work, uninstall the app and reinstall it. Android typically restores settings after reinstallation and login, which might resolve the issue.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Older Versions: In rare cases where reinstallation fails, consider trying older versions of the app to see if that resolves the problem.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Problem #6\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Unable to view Yelp reviews\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're having trouble seeing\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-remove-yelp-spam-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Yelp reviews\"\n        })\n      }), \", especially on mobile devices, it's a common occurrence. Here's how to address this issue.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Solution\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Mobile Browser Limitation: \"\n      }), \"When accessing Yelp from a mobile browser instead of the dedicated app, some features may be restricted to encourage app downloads.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Download the App: \"\n      }), \"To resolve this issue, you have two options. First, consider downloading the Yelp mobile app. This should provide access to all features without limitations.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Enable Desktop View:\"\n      }), \" Alternatively, if you prefer not to download the app, you can enable the Desktop view on the Yelp website. This can often grant you full access to Yelp features on your mobile browser.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you're unable to see your own Yelp reviews, it's likely due to network issues or a delay in review visibility. In such cases, patience is key; wait for your reviews to become visible to others, and ensure your internet connection is stable.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your Yelp business is working, there are various solutions to consider.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Geo-Restrictions:\"\n      }), \" If Yelp is not available in your location, using a VPN, proxy, Smart DNS, or Tor can help you bypass these restrictions.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"PC or Connection Issues:\"\n      }), \" If Yelp should be accessible in your area but isn't, the problem might be related to your PC or internet connection.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"On a positive note, implementing the suggested fixes can likely resolve the issue, ensuring you regain access to Yelp swiftly.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Now you can manage all your social media online presence in one app called Cloodot. Cloodot offers a suite of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SaaS (Software as a Service)\"\n        })\n      }), \" products that leverage\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" AI and automation technologies\"\n        })\n      }), \" to assist businesses in modernizing and simplifying their customer experience management through\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reviews \"\n        })\n      }), \"and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"messaging\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Try it for free\"\n        })\n      }), \" or schedule a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" demo call\"\n        })\n      }), \" to learn how cloodot can bring 10X customer retention to your company.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    })]\n  }),\n  tcujvgbt3: \"Why Yelp Business Not Working? | Fixing Common Errors and Solutions\",\n  tnSC8si1b: \"RS4Mncczl\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 49,\n  wkMiN9hO7: \"Learn how to address common why Yelp business is not working issues, including access problems, outdated listings, and social media presence challenges.\",\n  z3RB0M3u0: \"Why Yelp Business Not Working\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/X6ZJ7ko1QdfPP4vTYoXTGF1GSkg.png\").href} 4800w`\n  }, \"How To Add Google Reviews To Website | Cloodot\"),\n  B7LIlf4Jc: \"how-to-add-google-reviews-to-website\",\n  GSA8tRVAB: true,\n  id: \"hBSyBIg8r\",\n  JYmpedk6B: \"2023-09-17T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"People heavily rely on \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"online reviews \"\n        })\n      }), \"when they're choosing whether or not to do business with you.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"98%\"\n        })\n      }), \" of individuals trust these reviews as much as they do word-of-mouth recommendations, according to Bright Local. Google supports consumer-written reviews for businesses and adds them to the company's Google Business listing.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When potential customers search your business name on the search engine, they can quickly access your reviews. You also have the option of adding\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-search-google-reviews-by-keywords\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google Reviews \"\n        })\n      }), \"to your website. How to embed Google Reviews onto your website, and why you need them.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Steps to embed Google reviews widget on your website\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As previously stated, many of the traditional methods for embedding Google reviews have become outdated. That's why we've created a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review aggregation tool\"\n        })\n      }), \" designed to simplify the process of automatically gathering your Google reviews, eliminating the need for repetitive and time-consuming tasks. Our official API integration with Google makes it incredibly straightforward to embed Google review widgets on any webpage.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"To begin right away, follow our step-by-step guide on adding Google reviews to your website:\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Sign in to the\"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Google business account\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"strong\", {\n        children: \".\\xa0\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Load your Google+ business page.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Click the share icon located in the lower right-hand corner of the review.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Click the options arrow in the top right corner of the shared post.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 5: Choose \"Embed Post\" from this menu.'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: Copy the Header code.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Open the review page of your website in your preferred editor.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 8: Paste the header code between the <head></head> HTML tags on this page.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 9: Copy the Content code.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 10: Paste this code wherever you want to display the review.\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to embed Google reviews on HTML\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Select a Review Widget:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Explore various online services offering widgets for embedding Google reviews on your HTML website.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Choose a widget that suits your requirements and budget\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Widget Setup\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"After picking a widget, begin the setup process.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Create an account on the widget's platform and configure settings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Typically, provide your business's Google Place ID, which can be found using Google's Place ID Finder.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Generate Embed Code:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Once the widget is configured, it will generate a unique embed code.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"This code is a compact piece of HTML designed to display your Google reviews on your website.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Add Code to Your Website:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Insert the generated embed code into your website.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"If you're using a website builder, look for an option to add custom HTML.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"If you're directly editing HTML, paste the code where you want the reviews to appear.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Review Display Check:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"After adding the code to your website, verify that the reviews are displayed correctly.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The widget should automatically update the reviews at intervals, eliminating the need for manual updates.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add Google Reviews to your Wix website\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Create your Google reviews widget.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Customize your Google reviews widget.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Copy the Google Reviews widget embed code.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Log in to your Wix website admin panel and create or edit a page.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Paste the embed code where you want the Google reviews widget to appear.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: Save and view your page.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It's that simple! embedding a Google reviews widget for the Wix website will only take 2 minutes.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Benefits of adding Google reviews to your website\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Build Trust and Credibility: Displaying Google Reviews on your website showcases real feedback, fostering trust and credibility among potential customers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Boost Customer Confidence: Directly showcasing reviews on your site increases customer confidence by offering insights without leaving your website.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Enhance SEO: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google Reviews contribute to better SEO\"\n            })\n          }), \" as they add user-generated content, favorably viewed by search engines.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Drive Engagement: Easily accessible reviews on your website encourage visitor engagement without the need to navigate to Google.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Improved Design: Embedding Google Reviews enhances your website's design by adding social proof and breaking up text blocks.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Customization: Customize the appearance of Google Reviews to align with your website's branding, including colors, fonts, and custom branding.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Analytics Insights: Benefit from detailed analytics provided by Google Reviews, tracking views, clicks, and conversions alongside your other website analytics.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"FAQs\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"How do I\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/how-to-remove-fake-reviews-from-your-google-business-profile\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" fake removing a Google Review\"\n            })\n          }), \"?\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If it's a fake review, you can flag it as inappropriate.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For genuine reviews you dislike, focus on accumulating positive reviews to outweigh them.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"How to add a\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/how-to-generate-google-review-links\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" Google review link\"\n            })\n          }), \"?\\xa0\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Simplify your customer feedback with Google review links. Learn how to incorporate them into your website.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"How to \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/how-to-recover-suspended-google-business-profile\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"recover your suspended Google business profile\"\n            })\n          }), \"?\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your Google business listing faces suspension, it's important to remain composed. Although having your listing removed from Google Maps and Search can be unsettling, there is a pathway to reinstatement by following Google's prescribed process. Here's Google's guidance on rectifying a suspended listing:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Familiarize yourself with the Google My Business guidelines and restricted content guidelines.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Scrutinize your listing to ensure it aligns with these guidelines.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Access your Google Business listing account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Once you are confident that your business listings conform to Google's guidelines and contain all necessary details, you can proceed to request reinstatement.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot offers the convenience of managing multiple \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business locations\"\n        })\n      }), \" in one place, allowing your agents to effortlessly view and respond to Google Maps reviews, and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"multiple chat management\"\n        })\n      }), \" without requiring access to your original Google dashboards. Powered by advanced AI, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot elevates your reputation management\"\n        })\n      }), \" with its natural language generative AI, saving you time while ensuring top-notch review analysis and response composition.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Features like labels, notes, and starring enhance productivity, allowing you to allocate more attention to critical cases. Moreover, Cloodot facilitates the collection of positive reviews, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-ways-google-my-business-experts-can-help-you-succeed\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"boosting your online presence\"\n        })\n      }), \", and provides detailed insights through comprehensive performance metrics, giving you a clear picture of your online reputation. Unlock the power of the automatic \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google reviews \"\n        })\n      }), \"with the Cloodot platform. Begin your\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" free trial today\"\n        })\n      }), \" and showcase your Google reviews effortlessly.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How To Add Google Reviews To Website\\n\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 48,\n  wkMiN9hO7: \"Discover Effortless Ways to Embed Google Reviews on Your Website and Enhance Your Online Reputation.\",\n  z3RB0M3u0: \"How To Add Google Reviews To Website\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/2toRkR1U87r2nYm3tiyrKojs0.png\").href} 4844w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-add-faqs-to-google-business-profile\",\n  GSA8tRVAB: true,\n  id: \"xJ9xmAqJg\",\n  JYmpedk6B: \"2023-09-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Every business encounters a set of frequently asked questions, and most business owners are well-acquainted with these common inquiries, often anticipating the answers even before the questions are fully asked. What many may not realize is that they can harness the potential of these frequently asked questions as a secret weapon to attract more business. This can be accomplished by utilizing the Google Q&A section of your Google My Business profile.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding FAQs to your Google Business Profile\"\n      })\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Log in to your \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Google  Business profile\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 2: Click on  \"Messages.\"'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,G1JbMV3ugCOHVJ4fYrdHblOZfF4.png\",\n      \"data-framer-height\": \"452\",\n      \"data-framer-width\": \"1398\",\n      height: \"226\",\n      src: new URL(\"https://framerusercontent.com/images/G1JbMV3ugCOHVJ4fYrdHblOZfF4.png\").href,\n      style: {\n        aspectRatio: \"1398 / 452\"\n      },\n      width: \"699\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Click on the menu (usually represented by three horizontal lines).\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 4: Select \"Chat Settings.\"'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,jkYlRe5zUNCYFOsYKrkUr6W0Kc.png\",\n      \"data-framer-height\": \"1022\",\n      \"data-framer-width\": \"2458\",\n      height: \"511\",\n      src: new URL(\"https://framerusercontent.com/images/jkYlRe5zUNCYFOsYKrkUr6W0Kc.png\").href,\n      style: {\n        aspectRatio: \"2458 / 1022\"\n      },\n      width: \"1229\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 5: Choose \"Add frequently asked questions.\"'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,NWI0PLMdJkh4MEww37h7RxbUos.png\",\n      \"data-framer-height\": \"820\",\n      \"data-framer-width\": \"1388\",\n      height: \"410\",\n      src: new URL(\"https://framerusercontent.com/images/NWI0PLMdJkh4MEww37h7RxbUos.png\").href,\n      style: {\n        aspectRatio: \"1388 / 820\"\n      },\n      width: \"694\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [\"Step 6: Can set custom FAQs or Automated\", /*#__PURE__*/_jsx(\"br\", {})]\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ddVCoVs4U5ANV2st2PqLulyYeg.png\",\n      \"data-framer-height\": \"728\",\n      \"data-framer-width\": \"1406\",\n      height: \"364\",\n      src: new URL(\"https://framerusercontent.com/images/ddVCoVs4U5ANV2st2PqLulyYeg.png\").href,\n      style: {\n        aspectRatio: \"1406 / 728\"\n      },\n      width: \"703\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [\"Step 7: In the text field that appears, type in the question you want to add to the FAQ section.\", /*#__PURE__*/_jsx(\"br\", {})]\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,nmIIz8xlRtYksKQCn3TsLc01gI.png\",\n      \"data-framer-height\": \"928\",\n      \"data-framer-width\": \"1430\",\n      height: \"464\",\n      src: new URL(\"https://framerusercontent.com/images/nmIIz8xlRtYksKQCn3TsLc01gI.png\").href,\n      style: {\n        aspectRatio: \"1430 / 928\"\n      },\n      width: \"715\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 8: Save Changes: Make sure to save your changes by clicking the \"Save\" button, usually located at the bottom of the page.'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Benefits of Sending Q&A:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"There are numerous benefits to seeding FAQs into your Google Business Profile, although only Google engineers may know all of them. Here are some of the most relevant advantages:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"More Search Results\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\\xa0The algorithm uses any information you include in your Google Business Profile to match your company with relevant keywords. The questions and answers in your profile can qualify you for additional search results.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Time Savings:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include frequently asked questions in prominent locations to reduce the time spent on repetitive answers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Information Accuracy:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Seeding questions and answers ensure accurate information. Since anyone can respond to these questions, being the first to create and answer them provides your potential clients with the best answers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Competitive Edge:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The Q&A section of the business profile is often overlooked as it doesn't appear in the dashboard. This means very few businesses are utilizing this valuable tool, giving you a competitive advantage.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Promote Engagement:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Personal interactions with a business foster stronger connections. Seeding questions encourage people to ask more questions on your profile, creating more opportunities to engage with your audience.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"\\xa0Incorporating frequently asked questions (FAQs) into your Google My Business (GMB) profile can be a game-changer for your business. Not only does it save you time by addressing common inquiries, but it also enhances the accuracy of information available to potential clients. Leveraging the Q&A section gives you a competitive edge, as it's an underutilized tool that can set your business apart. Most importantly, it encourages meaningful engagement, fostering stronger connections with your audience.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Furthermore, if you're looking to take your customer experience management to the next level, Cloodot offers a comprehensive suite o\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"f SaaS (Software as a Service) products.\"\n        })\n      }), \" These solutions harness the power of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"AI and automation\"\n        })\n      }), \" to help businesses streamline their operations, manage\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reviews effectively\"\n        })\n      }), \", and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"optimize messaging channels.\"\n        })\n      }), \" By embracing Cloodot, you can modernize and simplify your customer experience management, making it more efficient and effective.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Sign up\"\n        })\n      }), \" with cloodot to try it for yourself or schedule a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"demo call \"\n        })\n      }), \"to learn more about cloodot.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How to Add FAQs to Google Business Profile \",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 47,\n  wkMiN9hO7: \"Unlock the potential of FAQs in your Google My Business profile to boost search visibility, save time, and engage customers. \",\n  z3RB0M3u0: \"How to Add FAQs to Google Business Profile \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/UVCmzjseUWuBbcbhYb5FgiS0MY.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/UVCmzjseUWuBbcbhYb5FgiS0MY.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/UVCmzjseUWuBbcbhYb5FgiS0MY.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/UVCmzjseUWuBbcbhYb5FgiS0MY.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/UVCmzjseUWuBbcbhYb5FgiS0MY.png\").href} 3633w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-set-away-message-on-google-business-messages\",\n  GSA8tRVAB: true,\n  id: \"SKAWOoY0N\",\n  JYmpedk6B: \"2023-09-15T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: 'Setting an \"Away Mode\" message on your Google Business Profile can be a valuable tool for managing customer expectations and ensuring your business maintains a professional online presence even when you\\'re temporarily unavailable. In this short blog introduction, we\\'ll explore the simple steps to create and customize an \"Away Mode\" message, helping you effectively communicate with your customers during your absence, enhancing their experience, and maintaining a strong online reputation for your business.'\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add away messages on Google business messages\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Sign into your \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Google Business Profile\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"strong\", {\n        children: \".\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,tLj3SIbEqPRv88R0lQFiZLl4.png\",\n      \"data-framer-height\": \"1216\",\n      \"data-framer-width\": \"2856\",\n      height: \"608\",\n      src: new URL(\"https://framerusercontent.com/images/tLj3SIbEqPRv88R0lQFiZLl4.png\").href,\n      style: {\n        aspectRatio: \"2856 / 1216\"\n      },\n      width: \"1428\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 2: In the dashboard, click on the \"Messages\" icon.'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,JZSbOgdv6gubdnynjrFrnjofly4.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"484\",\n      \"data-framer-width\": \"1316\",\n      height: \"242\",\n      src: new URL(\"https://framerusercontent.com/images/JZSbOgdv6gubdnynjrFrnjofly4.png\").href,\n      style: {\n        aspectRatio: \"1316 / 484\"\n      },\n      width: \"658\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 3: On the Messages page, click the \"Available\" dropdown button on the left.'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,lOftyVGVeKikpDdoJQZDkGzu2OQ.png\",\n      \"data-framer-height\": \"1040\",\n      \"data-framer-width\": \"2410\",\n      height: \"520\",\n      src: new URL(\"https://framerusercontent.com/images/lOftyVGVeKikpDdoJQZDkGzu2OQ.png\").href,\n      style: {\n        aspectRatio: \"2410 / 1040\"\n      },\n      width: \"1205\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 4: Then, click on the \"Away\" option to edit automatic away messages.'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,9f7zFGDLSHbbi3cZhc2KGF7Dc3s.png\",\n      \"data-framer-height\": \"436\",\n      \"data-framer-width\": \"530\",\n      height: \"218\",\n      src: new URL(\"https://framerusercontent.com/images/9f7zFGDLSHbbi3cZhc2KGF7Dc3s.png\").href,\n      style: {\n        aspectRatio: \"530 / 436\"\n      },\n      width: \"265\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Craft the messages that you want to send to your customers while you are away.\"\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,rvPLHVtECK5HldCewm1nwDnxDdM.png\",\n      \"data-framer-height\": \"976\",\n      \"data-framer-width\": \"1388\",\n      height: \"488\",\n      src: new URL(\"https://framerusercontent.com/images/rvPLHVtECK5HldCewm1nwDnxDdM.png\").href,\n      style: {\n        aspectRatio: \"1388 / 976\"\n      },\n      width: \"694\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 6: You can also schedule the timing of the messages using the \"Schedule\" option to customize the timing.'\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,QsxzoUt4WXohksjpLsapYhCT0.png\",\n      \"data-framer-height\": \"606\",\n      \"data-framer-width\": \"1380\",\n      height: \"303\",\n      src: new URL(\"https://framerusercontent.com/images/QsxzoUt4WXohksjpLsapYhCT0.png\").href,\n      style: {\n        aspectRatio: \"1380 / 606\"\n      },\n      width: \"690\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 7: Click on the \"Save Changes\" button to save your messages.'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That's it. You can now edit and save your away messages on Google Business Messages.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What are the benefits of adding away messages to Google business messages?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Improved Customer Communication: Away messages enable you to keep in touch with customers even when you are unavailable. This keeps customers informed and engaged.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Professionalism: It demonstrates professionalism and a commitment to customer service by acknowledging messages promptly, even when you can't respond immediately.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Manage Expectations: Away messages set clear expectations about response times, reducing customer frustration and potential misunderstandings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Customer Retention: Keeping customers informed and engaged during your absence can improve customer loyalty and retention.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Improved Reputation: Maintaining responsiveness, even when away, helps maintain a positive online reputation for your business.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Managing your Google Business Profile can become an everyday task if you are running a small business or enterprise. However, managing them manually is often time-consuming and leads to an excessive workload. So, why not automate this process and not only manage \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Business Messages\"\n        })\n      }), \" but also every other channel, such as \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/textmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SMS\"\n        })\n      }), \", etc.?\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Well, this is possible with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", where you can manage all your\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" multi-channel chats\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analytics reports\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"feedback\"\n        })\n      }), \", and marketing campaigns. Cloodot offers a suite of SaaS (Software as a Service) products that leverage\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" AI and automation technologies \"\n        })\n      }), \"to assist businesses in modernizing and simplifying their customer experience management through reviews and messaging\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Sign up\"\n        })\n      }), \" with cloodot to try it for yourself or schedule a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"demo call \"\n        })\n      }), \"to learn more about cloodot.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How to set away message on Google business messages\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 46,\n  wkMiN9hO7: \"Stay Professional with Google Business Messages - Learn to Set Away Messages\",\n  z3RB0M3u0: \"How to setup away message on Google business messages\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/iGfS2Ng2Rmg8YVGRtUzDPJJneg.png\").href} 4844w`\n  }, \"How To Add Welcome Messages To Google Business Profile | Cloodot\"),\n  B7LIlf4Jc: \"how-to-add-welcome-messages-to-google-business-profile\",\n  GSA8tRVAB: true,\n  id: \"gR9t8wkYk\",\n  JYmpedk6B: \"2023-09-14T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google dominates the search engine market with an 85.5% share, handling \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://searchengineland.com/google-now-handles-2-999-trillion-searches-per-year-250247\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"2 trillion global searches annually\"\n        })\n      }), \". Google Business Messaging is vital for engaging customers. It allows direct chats from Google Search, Maps, and Ads. Google Business Welcome Messages are a key tool for leveraging this platform and meeting the demand for quick brand responses and instant connectivity.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In this blog, we'll explore how to add welcome messages to Google business messages on desktop and mobile devices, provide best practices for Google business profile Messaging, and offer examples of welcome news for Google Business Profiles.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What are welcome messages in Google business Profile?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A Google Business message is an automated response that streamlines customer interactions on Google Business. It allows businesses to send standardized welcome messages to customers when they initiate contact. These messages can vary depending on the specific situation, providing flexibility for different scenarios.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot simplifies the process by enabling businesses to create a single greeting message that can be utilized across various communication channels. Whether it's through \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/webchat\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"web chat\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook Messenger\"\n        })\n      }), \", or \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp Business\"\n        })\n      }), \", you can maintain consistency by using the same welcome message, enhancing customer engagement.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Adding welcome messages to Google business Profile\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When you integrate\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google Business Messages with Cloodot\"\n        })\n      }), \", crafting a compelling welcome message in Google Business Messages has become a breeze. Once the Messaging feature is activated, customers will spot a Message button on your GMB listing. This button is readily visible when your profile appears in both Google Search and Google Maps. With Google business profile Messaging, customers have the convenience of reaching out to your business via messages 24/7.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you've completed the setup and encountered challenges with SEO, consult our guide to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"enhance your local SEO through a Google business profile profile\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add welcome messages to Google business messages on the desktop\"\n      })\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Sign In to Your \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Google business profile\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Click the \"Sign In\" button located in the top right corner.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Follow the on-screen prompts to complete the sign-in process.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Access the Dashboard\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After successfully logging in, you will be directed to the dashboard.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,FgF6DrTv2Gr2rUaIaNOvbZ7Katw.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"1049\",\n      \"data-framer-width\": \"1316\",\n      height: \"524\",\n      src: new URL(\"https://framerusercontent.com/images/FgF6DrTv2Gr2rUaIaNOvbZ7Katw.png\").href,\n      style: {\n        aspectRatio: \"1316 / 1049\"\n      },\n      width: \"658\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Access Messages\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Click on the \"Messages\" option.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Access the Messages Page\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"On the Messages page, locate and click on the three dots (...) in the top right corner.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'In those three dots, you will find the \"chat setting\" option.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Click on the \u201CChat Setting\u201D Option\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Once you click on that option, it will provide access to the \"welcome message\" option.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,rjgcLerp2g3gweNpIuZ8HcoxA.png\",\n      \"data-framer-height\": \"1030\",\n      \"data-framer-width\": \"2506\",\n      height: \"515\",\n      src: new URL(\"https://framerusercontent.com/images/rjgcLerp2g3gweNpIuZ8HcoxA.png\").href,\n      style: {\n        aspectRatio: \"2506 / 1030\"\n      },\n      width: \"1253\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: Customize Your \u201CWelcome Message\u201D\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Craft a friendly and informative message that greets customers when they contact your business.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,KcUaIhoaAcvGZYaIdzzI88WPQ.png\",\n      \"data-framer-height\": \"834\",\n      \"data-framer-width\": \"1396\",\n      height: \"417\",\n      src: new URL(\"https://framerusercontent.com/images/KcUaIhoaAcvGZYaIdzzI88WPQ.png\").href,\n      style: {\n        aspectRatio: \"1396 / 834\"\n      },\n      width: \"698\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Save Your Changes\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After creating your welcome message, remember to save your changes.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This customized message will now be displayed to customers who initiate a conversation with your business via Google business profile.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add welcome messages to Google business profile on mobile\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: \"\n      }), \"Open the \u201C\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/maps\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Maps\"\n        })\n      }), \"\u201D app.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2:\"\n      }), \" Open your business profile.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,kbcy6o4zBpXuLvPrQzhuyDMNXY.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/kbcy6o4zBpXuLvPrQzhuyDMNXY.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: \"\n      }), \"Once you are taken to the dashboard, click on the \u201Cmessages\u201D icon.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,d7V0fNyWjUqusD61lGwvfgwIuJc.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/d7V0fNyWjUqusD61lGwvfgwIuJc.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4:\"\n      }), ' Click on \"Manage Chats.\"', /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,M0ddv1YeOtGO92lqnrDF0tqUp4k.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/M0ddv1YeOtGO92lqnrDF0tqUp4k.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5:\"\n      }), ' Once you tap on \"Manage Chats,\" it will take you to the \u201Cchat setting\u201D option.']\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: \"\n      }), \"You can find the \u201Cwelcome messages\u201D option as the second-to-last option.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,yXKfw3iQUz5kIYRkB1D90hgKP8.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/yXKfw3iQUz5kIYRkB1D90hgKP8.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      src: \"blob:https://framer.com/b4c37090-0e0e-43e9-8916-6ed7dcf5f4ea\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Customize Your Message:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You'll be presented with a text box where you can compose your customized welcome message. Create a warm and inviting message to greet customers when they initiate a chat.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 8: Save Your Welcome Message:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'After composing your welcome message, make sure to save it. There should be a \"Save\" or \"Save Changes\" button at the bottom of the message box.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,39FdDncoA53rclHFilG4n4ymPv0.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/39FdDncoA53rclHFilG4n4ymPv0.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Welcome message templates\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Welcome Messages for Online Store Visits:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Imagine you run a restaurant and want your customers to visit your online platform. You can send the following two types of welcome messages to engage them:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '1. \"Welcome, {Customer\u2019s first name}! I\u2019m {Bot\u2019s name}. How can I assist you today? You can book a table, explore our menu, or place an order.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '2. \"Hi {Customer\u2019s first name}! I\u2019m {Bot\u2019s name}. What are you craving for today? We have options for both veg and non-veg dishes, as well as refreshing beverages.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Both of these welcome messages prompt customers to take action and make their online experience more enjoyable.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Welcome Note Examples for Sales:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Messaging platforms like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Business Messaging\"\n        })\n      }), \" are gaining popularity among the next generation of customers. Research shows that 75% of people are more likely to purchase from a brand they can chat with. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-ways-google-my-business-experts-can-help-you-succeed\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google business profile\"\n        })\n      }), \" is becoming the new norm.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"AI chatbots can assist in \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"automating conversions \"\n        })\n      }), \"and ensuring guided selling through Google Business Messaging, using cards, carousels, photos, and more. To capture customers' interest, consider including a discount offer in your welcome message. Here's an example:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '\"Hello, {Customer\u2019s first name}! I\u2019m {Bot\u2019s name}, and I\\'m here to help you claim a 20% discount on your first purchase with {Your brand\u2019s name}. How can I assist you in finding a specific product, such as shoes, flip-flops, or sandals?\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Including a discount offer in your welcome message can instantly attract customers and enhance your sales opportunities.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Welcome messages for customer support\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Enhance customer support and set clear response time expectations to better serve your customers. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/5-ways-small-businesses-can-leverage-google-messages-for-customer-support\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Business Messaging is aiding small businesses\"\n        })\n      }), \" in achieving this by enabling direct and timely communication with customers.\"]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"\u201CHello! Thank you for reaching out. We're directing your inquiries to our most suitable support agent. Expect a response within 24 hours.\\\"\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Hi there. We\\'ve received your message and will be in touch within a day. While you wait, feel free to explore our comprehensive help center, brimming with answers to common questions: [link to help center].\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"In the meantime, you may find our tutorial videos helpful: [link to YouTube channel].\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Announcement welcome messages\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Provide up-to-date information to enable self-service for users. Adjust the welcome message and conversation starters temporarily when users might be interested in a significant development or event, such as a service outage.\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Hello, I\\'m the Livewire virtual service agent.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Important notice: We are currently experiencing an outage in your area. Normal service is expected to resume by 5:00 PM.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: '\"Is there anything else I can assist you with today?\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Contextual welcome messages:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilize contextual data to personalize your greeting. Incorporate the user's name, location, entry point, and place ID for location-specific entry points.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Design unique welcome messages for each language and business location you support.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\\\"Hello, I'm {Bot\u2019s name}, the virtual assistant for {your brand's name} in {location}. I can provide information about {location}. How may I assist you today?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Closing hours | Services | Parking Information\"'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Event welcome messages\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"There\u2019s always some special occasion coming up throughout the year. You must design some special templates for such days.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Hi, {customer\u2019s name}! Our support team is busy listing New Year's offers for you. We\u2019ll connect you with the best-fit agent between 10 a.m. and 6 and 6 p.m. tomorrow.\u201D\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Welcome messages on non-business hours\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"During non-business hours, your customer support can still provide valuable assistance through automated responses. Here are a couple of welcome messages you can create:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\\\"Thank you for reaching out to [brand's name}! While we're currently offline, we'll be back online tomorrow at 10 a.m. You can find information about our business hours and our products/services on our website here (insert link).\\\"\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\\\"Hello, I'm {Bot's name}! How can I assist you today?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Order cancellation\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"New Order\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Refund\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I'll connect you with one of our live agents tomorrow between 10 a.m. and 12 p.m.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Best regards,\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The brand's name} team!\\\"\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Establish direct customer communication through Google's Business Messages by integrating your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Business account with Cloodot\"\n        })\n      }), \". This ensures a seamless and welcoming experience for your customers. Cloodot consolidates Google's Business messages, reviews, and analysis reports with all your other channels in a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" unified inbox\"\n        })\n      }), \", supports multiple users for Google Business, and offers the capability to create your customized Google Business chatbot.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Get your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free trial\"\n        })\n      }), \" today or schedule a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free demo call\"\n        })\n      }), \" to learn more.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Also read: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-recover-suspended-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"How to recover a suspended Google Business Profile\\xa0\"\n        })\n      })]\n    })]\n  }),\n  tcujvgbt3: \"How To Add Welcome Messages To Google Business Profile\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 45,\n  wkMiN9hO7: \"Discover step-by-step instructions for adding welcome messages to Google Business Profile on both desktop and mobile devices.\",\n  z3RB0M3u0: \"How To Add Welcome Messages To Google Business Profile\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/4GBwwsFUBWGFMpl2bFIEGX6RRA.png\").href} 4844w`\n  }, \"10 Best Appointment Software For Small Business | Cloodot\"),\n  B7LIlf4Jc: \"10-best-appointment-software-for-small-business\",\n  GSA8tRVAB: true,\n  id: \"CYOLbY6Lf\",\n  JYmpedk6B: \"2023-09-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"small business owner\"\n        })\n      }), \", staying organized and managing your schedule is crucial. Appointment scheduling software for small businesses simplifies this task, allowing small businesses to efficiently handle customer appointments. The software helps track appointments, send reminders, and automate confirmation emails, saving time and money while enhancing customer satisfaction.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Small businesses across various industries benefit from appointment scheduling software for small businesses, including professional services like:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Healthcare professionals like doctors, dentists, and chiropractors\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Beauty services like salons and spas\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Freelancers\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Entrepreneurs\\xa0\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Consultants\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Legal and Accounting\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Benefits of using appointment software for small businesses\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"According to a survey by Accenture, 70% of patients prefer health care providers with a self-scheduling option for preventative or follow-up care as opposed to those who do not.\\xa0\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Appointment scheduling software for small businesses serves as an essential tool to automate tasks and has an undeniable positive impact on both businesses and customers.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: \"Enhancement of Customer Experience with Appointment Scheduling Software for small businesses\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"An appointment scheduling software for small businesses enhances the customer experience by offering convenient scheduling options, including last-minute appointments. Customers can book in-person or remote meetings on their terms, fostering convenience and satisfaction.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This software enables personalized experiences, exceeding customer expectations and building loyalty. It provides valuable insights into customer preferences and purchase behaviors, facilitating the design of highly personalized experiences for high-profile customers.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: \"Improving customers ease\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Appointment scheduling software for small businesses simplifies the process of booking appointments, allowing customers to schedule at their convenience, from anywhere, and at any time. This results in heightened customer satisfaction and strengthened loyalty.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: \"Boosting efficiency\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Did you know that scheduling or rescheduling an appointment over the phone takes approximately eight minutes? Multiply that by seven, and your staff could spend up to an hour daily on this task.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Managing schedules across multiple time zones and locations can be challenging. Online appointment scheduling software for small businesses enhances efficiency by handling appointments, reducing time-consuming email exchanges, automating calendar syncing, and allowing customers to manage appointments online. It's particularly valuable for minimizing employee downtime for service-based businesses, leading to improved overall business performance.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: \"Facilitating online transactions\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Certain appointment scheduling software for small businesses offers the convenience of processing online payments, benefiting both the business and customers. This feature saves time and eliminates the need to handle cash or checks, streamlining financial transactions.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: \"Efficient staff scheduling\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Some appointment scheduling software for small businesses enables businesses to efficiently schedule and oversee their staff's schedules. This functionality ensures that there are an adequate number of staff members available to meet the demand for appointments, enhancing operational efficiency.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Top Appointment Software in 2023\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"14px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsxs(\"strong\", {\n            children: [\"Calendly\\xa0\", /*#__PURE__*/_jsx(\"br\", {})]\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,QMrwCPeZj2vHvgnLrNrlrjjQHk.png\",\n          \"data-framer-height\": \"1344\",\n          \"data-framer-width\": \"2880\",\n          height: \"672\",\n          src: new URL(\"https://framerusercontent.com/images/QMrwCPeZj2vHvgnLrNrlrjjQHk.png\").href,\n          style: {\n            aspectRatio: \"2880 / 1344\"\n          },\n          width: \"1440\"\n        })]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Calendly is an intuitive and visually driven scheduling automation tool. It offers a swift setup process, earning a high ranking for\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.g2.com/categories/online-appointment-scheduling?tab=easiest_to_use\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" user-friendliness on G2\"\n        })\n      }), \". With Calendly, you can create a scheduling link and share it with your desired meeting participants. They can effortlessly choose a suitable time, and Calendly's automation takes care of the rest, simplifying your scheduling experience.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Simplicity and Flexibility: Calendly offers an intuitive, visually driven scheduling automation solution that ranks highly for ease of use.\\xa0\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Multiple Scheduling Options: Calendly provides various methods to create scheduling links, including your Calendly homepage, a \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://calendly.com/blog/scheduling-chrome-extension\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"browser extension \"\n            })\n          }), \"(\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://calendly.com/solutions/technology\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"compatible with Gmail and LinkedIn Messaging)\"\n            })\n          }), \", and a mobile app for Apple iOS and Android.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Sharing Convenience: Scheduling links can be easily shared via email, SMS/text, QR codes, and more, making it convenient for invitees to choose a suitable meeting time.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Customization: Users can customize meeting types or utilize Calendly's meeting templates to streamline appointment creation.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Integration Capabilities: Calendly can be embedded on your website as a booking page and integrated with CRMs like HubSpot and Salesforce. It \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://calendly.com/integration\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"offers numerous integrations and connections\"\n            })\n          }), \" through Zapier.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"How It Works:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Automated Scheduling: Calendly automates the manual tasks of scheduling. It syncs with your calendar, displaying available time slots for invitees.\\xa0\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Efficiency Features: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://help.calendly.com/hc/en-us/articles/360056888293-Define-your-available-hours-using-schedules?_ga=2.134156937.683845312.1694505405-1763880282.1694505405\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Calendly allows customization of working hours\"\n            })\n          }), \", setting daily meeting limits, and adding time buffers before and after events. It also displays availability in your invitee's time zone.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Analytics (in Paid Plans): Certain \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://calendly.com/features/analytics\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Calendly paid plans provide analytics\"\n            })\n          }), \" on invitee engagement and scheduling activity, aiding in optimizing your scheduling processes for greater efficiency.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Google Workspace Appointment Scheduling\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google Workspace provides an option for \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://calendar.google.com/calendar/u/0/r\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"online appointment scheduling\"\n        })\n      }), \" within specific editions. Unlike Google's appointment slots, which are typically used for internal bookings, this scheduling feature enables external individuals to conveniently schedule time with you. Importantly, customers aren't required to possess a Google account; scheduling occurs effortlessly through a dedicated booking page.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key Features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Advanced Booking Settings\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Daily Booking Limits\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Email Notifications\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Seamless Google Integration\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,KasaJ7BqroaJh40cjcyTkeSjI.png\",\n      \"data-framer-height\": \"888\",\n      \"data-framer-width\": \"1366\",\n      height: \"444\",\n      src: new URL(\"https://framerusercontent.com/images/KasaJ7BqroaJh40cjcyTkeSjI.png\").href,\n      style: {\n        aspectRatio: \"1366 / 888\"\n      },\n      width: \"683\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google's appointment scheduling is a valuable addition for small businesses already utilizing Google Workspace and primarily scheduling one-on-one appointments via Google Meet.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [\"3. Cal.com\", /*#__PURE__*/_jsx(\"br\", {})]\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ptxqreteoogj5fxouV6YbLFLnMQ.png\",\n      \"data-framer-height\": \"1150\",\n      \"data-framer-width\": \"2798\",\n      height: \"575\",\n      src: new URL(\"https://framerusercontent.com/images/ptxqreteoogj5fxouV6YbLFLnMQ.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1150\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://cal.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cal.com \"\n        })\n      }), \"is your go-to scheduling solution, designed to make scheduling meetings a breeze. Whether you're an individual, part of a team, or need enterprise-level control, Cal.com offers the flexibility and tools you need. With features like automated notifications, easy rescheduling, and advanced routing, Cal.com takes the hassle out of managing appointments. Plus, it integrates seamlessly with popular calendar apps and video conferencing platforms, ensuring a seamless scheduling experience for everyone. Get started for free or explore premium options tailored to your needs.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key Features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://cal.com/resources/feature/rescheduling\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Effortless Scheduling\"\n            })\n          }), \": Set booking preferences, manage availability, and limit daily bookings.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Intuitive Booking Page: External invitees can book appointments without needing a Google account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://cal.com/resources/feature/teams\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Team-Friendly Tools:\"\n            })\n          }), \" Round-robin scheduling, collective events, and routing forms for seamless team scheduling.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Custom Integration: Supports various video conferencing platforms, custom availability schedules, and multiple time zones.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://cal.com/resources/feature/webhooks\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Webhooks for Automation:\"\n            })\n          }), \" Streamline your booking flow with lightweight APIs triggered by different events.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Free Plan: Unlimited bookings, calendars, integrations, and community support.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Teams Plan:\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://cal.com/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" $12/user/month\"\n            })\n          }), \" for advanced team features, round-robin scheduling, and more.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Enterprise Plan: Customized solutions for organizations with advanced security and support needs.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Platform: Contact for custom platform-focused solutions, ideal for embedding in various applications.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Acuity scheduling\"\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,2jvqYZ8kUkOFbVij8VJfEJlxE.png\",\n          \"data-framer-height\": \"1356\",\n          \"data-framer-width\": \"2798\",\n          height: \"678\",\n          src: new URL(\"https://framerusercontent.com/images/2jvqYZ8kUkOFbVij8VJfEJlxE.png\").href,\n          style: {\n            aspectRatio: \"2798 / 1356\"\n          },\n          width: \"1399\"\n        })]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://acuityscheduling.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Acuity Scheduling,\"\n        })\n      }), \" now part of Squarespace, offers cloud-based appointment scheduling for business owners. It empowers clients to book recurring appointments, fill out intake forms, and make advance payments. Features include coupons, add-on services, and versatile booking page-sharing options like direct links, embeds, buttons, booking bars, and QR codes. Acuity integrates seamlessly with popular apps such as QuickBooks, Salesforce, and Zoom.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key features:\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Seamless website integration for convenient booking.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Accept payments via PayPal, Square, or Stripe, including tips.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Offer discounts with coupons and upsell retail products or extra services.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Business management with accounting, invoicing, and client management.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Customize client intake forms for streamlined information collection.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Send personalized appointment notifications to reduce no-shows.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Note: Some advanced scheduling features, like group appointments, may be limited in Acuity.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Starting Plan\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://acuityscheduling.com/signup.php\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \": $20/month \"\n            })\n          }), \"for one staff/location.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Growing Plan: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://acuityscheduling.com/signup.php\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"$34/month\"\n            })\n          }), \" for up to six staff/locations.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Powerhouse Plan:\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://acuityscheduling.com/signup.php\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" $61/month \"\n            })\n          }), \"for up to 36 staff/locations.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"All plans come with a free trial period, lasting a maximum of one week.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"SimplyBook.me\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Rty4RUvBtQQk9hQoBMjCBIfOwfk.png\",\n      \"data-framer-height\": \"1356\",\n      \"data-framer-width\": \"2798\",\n      height: \"678\",\n      src: new URL(\"https://framerusercontent.com/images/Rty4RUvBtQQk9hQoBMjCBIfOwfk.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1356\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://simplybook.me/en/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SimplyBook.me \"\n        })\n      }), \"is your 24/7 booking companion, designed to streamline the booking process across multiple locations. It ensures that both staff and clients stay informed with confirmations and reminders.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key features:\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Create a personalized booking website that stands alone or integrates as a widget into your site.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Add booking Call-to-Actions (CTAs) to Facebook, Instagram, and Google Business Profile.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Accept credit card payments via integrated POS or payment processors like Stripe and PayPal.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Easily include coupons and upsells during checkout and track promotion performance.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Access an admin platform for appointment management, employee scheduling, and comprehensive control.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Pricing plan\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Free Tier: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://simplybook.me/en/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Offers basic functionality suitable for small businesses \"\n            })\n          }), \"and entrepreneurs, excluding POS functionality.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Paid Tiers: Offer an array of advanced features with increasing functionality. For specific pricing details, visit the SimplyBook.me pricing page.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: \"Appointlet\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,qNadOdvGP9hxswjCxUG6XH9Bao.png\",\n      \"data-framer-height\": \"1356\",\n      \"data-framer-width\": \"2798\",\n      height: \"678\",\n      src: new URL(\"https://framerusercontent.com/images/qNadOdvGP9hxswjCxUG6XH9Bao.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1356\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.appointlet.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Appointlet\"\n        })\n      }), \" offers a cloud-based appointment software for small businesses that enhances business connectivity with prospects through emails, landing pages, and sales funnels. Key features include individual or organization scheduling pages, automated reminders, support for multiple time zones, and seamless calendar integration.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key features:\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Online Scheduling Page: Embed on your website or shared as a link for \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.appointlet.com/features\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"easy appointment booking.\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Calendar Integration: Seamlessly integrates with your calendar, preventing double bookings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Flexible Scheduling Options: Customize rules, time zones, and appointment lengths for global scheduling.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Limitations: No mobile number-based scheduling, WhatsApp integration, or dedicated mobile app.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing plan\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Premium Plan: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.appointlet.com/pricing\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Available at $8/user/month\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"YouCanBook.me\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,906t0Pio679eCimT1IeqMYI6XMc.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"1306\",\n      \"data-framer-width\": \"2798\",\n      height: \"653\",\n      src: new URL(\"https://framerusercontent.com/images/906t0Pio679eCimT1IeqMYI6XMc.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1306\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://youcanbook.me/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"YouCanBook.me \"\n        })\n      }), \"is an appointment software for small businesses designed to streamline meeting booking, eliminate email back-and-forth, and prevent double bookings. Its user-friendly dashboard ensures quick setup, and it seamlessly integrates with various apps, allowing automatic sharing of meeting details with video conferencing, payment, and calendar apps.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key features\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://youcanbook.me/features\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Customize your booking page\"\n            })\n          }), \", sync with Google and Outlook Calendars, and auto-add customer notes to events.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Host demos and webinars, allowing multiple bookings for the same time slot.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Send personalized confirmations, reminders, and follow-ups for better customer and staff communication, reducing no-shows.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Automatically detect time zones for scheduled meeting awareness.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Utilize team scheduling features, including pooled availability and assignable roles for control.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing plan\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Free Trial: Start with a\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://youcanbook.me/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" free trial membership\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Paid Plans: Unlock additional features and flexibility with paid plans, including discounts for 1- and 2-year memberships.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Square Appoinments\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,bBdFJXjDJS9X4Ym0h9oElEqKRIM.png\",\n      \"data-framer-height\": \"1356\",\n      \"data-framer-width\": \"2798\",\n      height: \"678\",\n      src: new URL(\"https://framerusercontent.com/images/bBdFJXjDJS9X4Ym0h9oElEqKRIM.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1356\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://squareup.com/us/en/appointments\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Square Appointments\"\n        })\n      }), \" is a cloud-based appointment management solution designed for professionals across various service industries. It offers a range of features to streamline bookings, manage appointments, and facilitate payments.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Key Features:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://squareup.com/us/en/appointments/features\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Free Online Booking Website:\"\n            })\n          }), \" Create a user-friendly online booking platform that reflects your brand's style and allows customers to book services 24/7.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Automated Reminders: Send automatic SMS and email reminders to clients, reducing no-shows.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Class Booking: Easily schedule single or recurring classes, set prices, descriptions, and maximum capacities from your point of sale.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google Calendar Sync: Sync with Google Calendar to prevent double bookings and block personal events.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Free Marketplace App: List your business on a marketplace for beauty and personal care services, making it discoverable to potential clients.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Cancellation Policy: Set up enforceable fee policies for last-minute cancellations and no-shows.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Resource Booking: Create resources like rooms or stations and assign them to services, ensuring they're booked when clients make appointments.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Website Integration: Allow customers to book directly from your website using the booking widget, compatible with platforms like Squarespace, Wix, and WordPress.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Square Assistant: An automated messaging tool that handles client communication, confirming, canceling, or rescheduling appointments 24/7.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Multi-Location and Time Zones: Sync schedules across multiple business locations, accommodating clients in different time zones.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Multi-Staff Appointments and Tip Splitting: Enable clients to book multiple services with different providers and streamline checkout with tip splitting.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Processing Time Windows: Utilize processing time windows to book additional appointments and optimize your schedule.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Waitlist: Create waitlists for popular services to fill gaps in your schedule due to cancellations.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Instagram Integration: Reach clients on social media and allow them to book directly from your Instagram page.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing Plans:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Individuals: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://squareup.com/us/en/appointments/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Free/month \"\n            })\n          }), \"with processing fees starting at 2.65% + 10\\xa2 per tap, dip, or swipe.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"2\u20135 Staff\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://squareup.com/us/en/appointments/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \": $60/month \"\n            })\n          }), \"with processing fees starting at 2.65% + 10\\xa2 per tap, dip, or swipe.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"6\u201310 Staff: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://squareup.com/us/en/appointments/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"$110/month \"\n            })\n          }), \"with processing fees starting at 2.65% + 10\\xa2 per tap, dip, or swipe.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"10+ Staff: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://squareup.com/us/en/appointments/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Custom pricing \"\n            })\n          }), \"is available.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Square Appointments simplifies appointment management and payments for businesses of all sizes.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Calendar\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,PdKKHuKii5oc7GWBoFuk28kyT3k.png\",\n      \"data-framer-height\": \"1356\",\n      \"data-framer-width\": \"2798\",\n      height: \"678\",\n      src: new URL(\"https://framerusercontent.com/images/PdKKHuKii5oc7GWBoFuk28kyT3k.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1356\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.calendar.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Calendar\"\n        })\n      }), \" adopts a minimalist approach to online appointment scheduling, emphasizing a clean and intuitive graphic interface. Meetings can be color-coded on your calendar for easy identification of different appointment types. The platform supports multiple teams, using workspaces to efficiently organize and manage their time slots and scheduling pages.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Clean, minimalist interface with color-coded appointments\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Multiple team support with workspace organization\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Custom appointment creation and templates\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Integration with Google Calendar, Office 365, Outlook, and Zoom\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Native Zapier integration for connecting with various tools\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Group meetings with up to five attendees\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Analytics package for appointment insights\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing plan\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Range of \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.calendar.com/pricing/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"free and paid plans\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Annual membership offers cost savings\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"For detailed pricing, visit the Calendar pricing page.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"SetMore\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ExmpiZgIo2AvKG6bDMrySizReIk.png\",\n      \"data-framer-height\": \"1356\",\n      \"data-framer-width\": \"2798\",\n      height: \"678\",\n      src: new URL(\"https://framerusercontent.com/images/ExmpiZgIo2AvKG6bDMrySizReIk.png\").href,\n      style: {\n        aspectRatio: \"2798 / 1356\"\n      },\n      width: \"1399\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.setmore.com/?ref=yzk3m2f\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SetMore\"\n        })\n      }), \" simplifies appointment management for small businesses with online scheduling, integrations with Google and iCal calendars, and appointment reminders.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Key Features\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.setmore.com/features/booking-page\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Online booking page\"\n            })\n          }), \" for customer convenience\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Integration with Google and iCal calendars to avoid double bookings\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Appointment reminders and staff scheduling\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Custom branding options for professional image\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Integrations with Square or Stripe for online payments\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Links to Slack accounts and syncs with major calendars\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Pricing plans:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Premium: Up to 2 users at \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.setmore.com/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"$9/user/month\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Pro: 3+ users at\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.setmore.com/pricing\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" $5/user/month\"\n            })\n          })]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Integrating appointment scheduling software into your small business operations can be a game-changer, streamlining your schedule, boosting customer satisfaction, and enhancing productivity.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"But why stop there? With Cloodot's \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"AI-based solutions\"\n        })\n      }), \", you can manage all your multi-channel \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analytics\"\n        })\n      }), \", and more from a single dashboard.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot offers a suite of SaaS (Software as a Service) products that harness AI and automation to help businesses modernize and simplify their \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-cxm-software-is-important\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience management\"\n        })\n      }), \", focusing on reviews and messaging.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You can check out the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.g2.com/products/cloodot/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" G2 reviews about Cloodot\"\n        })\n      }), \" before trying it.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"10 Best Appointment Software For Small Business\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 44,\n  wkMiN9hO7: \"Explore our top picks for appointment scheduling software and transform the way you manage appointments.\",\n  z3RB0M3u0: \"10 Best Appointment Software For Small Business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/FmJYWdgfOZv1DkzJ6O17eJQjQU.png\").href} 4844w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-delete-a-facebook-page\",\n  GSA8tRVAB: true,\n  id: \"Ir024mVlH\",\n  JYmpedk6B: \"2023-09-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Social media platforms like Facebook serve as vital tools for professionals and businesses to promote their services and establish themselves as thought leaders. However, not all Facebook pages, groups, or accounts are intended to be permanent fixtures.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"There may be various reasons to delete a Facebook business page., including:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"You are consolidating multiple Facebook pages into a single one for a business you represent.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"You might accidentally create duplicate Facebook pages for your business.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Closing down your company prompts the need to remove its presence from Facebook and cease updating your business's Facebook page.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In this article, we will guide you on how to delete a Facebook business page., discuss the common motives behind removing a Facebook business page, and explore the option of unpublishing a Facebook page if you're not yet ready to delete it.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reclaim-ownership-of-your-facebook-page\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"How to reclaim ownership of your Facebook page\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What are the reasons for deleting a Facebook business page?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Rethinking Engagement Metrics\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In today's social media landscape, equating engagement solely with Facebook likes can be misleading. While likes are one aspect, meaningful engagement goes beyond them. Platforms like Facebook often prioritize keeping users on their sites, making it challenging to quantify genuine engagement. With organic reach decreasing and sponsored ads competing for attention, it's crucial to look beyond likes to gauge true engagement.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Data Control Concerns\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Data is invaluable, but on platforms like Facebook, control over your data is limited. The platform's terms of service favor its interests, and users and businesses have little say. Facebook dictates the reach and visibility of your content, making data control a pressing issue. In a data-centric world,\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://en-gb.facebook.com/business/gdpr\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" having more control over your data\"\n        })\n      }), \" is imperative for businesses.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"3. Privacy Worries\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/messenger-app/193677450678703\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Privacy concerns on Facebook\"\n        })\n      }), \" are well-founded. The platform's approach to privacy has raised alarms with its complex settings and frequent privacy-related controversies. Lawmakers have taken notice, and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://techcrunch.com/2021/04/07/facebooks-tardy-disclosure-of-breach-timing-raises-gdpr-compliance-questions/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"compliance issues like GDPR \"\n        })\n      }), \"have arisen. Facebook's handling of privacy matters has left many users and businesses uneasy.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"4. Chasing ROI on Facebook\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Facebook remains a prominent platform for businesses, but measuring return on investment (ROI) can be elusive. Small businesses, in particular, struggle to see tangible results from their Facebook marketing efforts. While strategies like improving content quality and posting frequency are advised, they require significant time and effort. Additionally, Facebook's push for paid advertising to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-make-a-customer-acquisition-strategy\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"achieve ROI\"\n        })\n      }), \" can be a costly endeavor.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to delete a Facebook business page\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Login to Your Facebook Account:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Begin by logging into your Facebook account on the Facebook website.\\xa0\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"If you're not an admin, ensure you log in using an admin account since non-admins cannot delete Facebook pages.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Access the \"Pages\" Tab:'\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'After logging in, go to the \"Pages\" tab. To do this, click the three horizontal lines located in the sidebar menu at the top of the screen.\\xa0'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Then, select \"Pages.\" Look for the Pages icon marked with an orange flag. You\\'ll find a list of the pages you manage.\\xa0'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Choose the page you want to delete.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Navigate to the \"Settings\" Tab:'\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Once you\\'ve selected your page, scroll through the left-hand sidebar menu until you find the \"Settings\" tab.\\xa0'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on \"Settings,\" and it will open the \"General\" tab.'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Locate the \"Remove Page\" Option:'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Within the \"General\" tab, you\\'ll find \"Page Visibility\" at the top of the right-hand menu. Scroll down until you see \"Remove Page\" in bold, and to the right of it, \"Delete Your Page.\" Click on \"Delete Your Page.\"'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Click the \"Delete [Your Page Name]\" Link:'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'You will see blue text that reads \"Delete [Your Page Name].\" Click on this link. A pop-up window will appear to confirm that you want to delete your page. Click \"Delete Page.\"'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Confirmation of Deletion Mode:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Another pop-up will confirm that you've entered deletion mode. Your page will no longer be visible to others. Keep in mind that you have 14 days to cancel the deletion if you change your mind.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"How to Temporarily deactivate your Facebook Business Page instead of deleting\\xa0\"]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you need to make updates or changes to your Facebook business page while keeping it out of the public eye, unpublishing it is the way to go. This process allows you to hide your page temporarily and reactivate it when needed. Here's how:\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Access Page Settings:\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin by visiting your Facebook business page's profile. Click on this link to access the Settings and Privacy screen.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Navigate to Deactivation and Deletion:\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Locate the \"View\" button next to \"Deactivation and deletion\" and click on it.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Select the Deactivate Page:\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Opt for \"Deactivate Page,\" then click \"Continue,\" and follow the provided prompts.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Answer a Few Questions:\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Facebook will ask you to explain why you want to unpublish the page. Provide your reasons and then click \"Deactivate.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By following these steps, you can keep your Facebook business page hidden from the public temporarily, and you can reactivate it whenever necessary.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"FAQs\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Can You Save Your Facebook Data Before Deleting a Page?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Yes, you can \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/mobile-basic/656932384361200\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"save your data from a Facebook page \"\n        })\n      }), \"or personal account before deleting them:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Access the settings panel of your Facebook page.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Select \"Download Page\" and then choose \"Create File.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Facebook will send you a notification with a link to your data file. Make sure to download this information before it expires.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Navigate to the settings panel of your Facebook account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on \"Your Facebook Information.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Here, you can choose to download a copy of your data or transfer your content to another platform.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How long will it take to delete a Facebook account?\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Deleting a Facebook account may take up to 120 days, during which your account and its content won't be accessible to other users.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Deleting a Facebook account could be due to reasons like inadequate management. Imagine being able to efficiently manage all your social media pages, including \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp\"\n        })\n      }), \", and more, all from a single dashboard. Not only that, but you can effortlessly gather all your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \",\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" chats,\"\n        })\n      }), \" \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analysis reports\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"feedback\"\n        })\n      }), \", and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/bulkmarketingmessaging\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"marketing campaigns\"\n        })\n      }), \" with just a few clicks, thanks to Cloodot.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Why should your company choose Cloodot?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot offers a suite o\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"f SaaS (Software as a Service) solutions\"\n        })\n      }), \" that harness the power of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-ai-chatbot-can-help-your-business-grow\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"AI and automation\"\n        })\n      }), \" to help businesses streamline and modernize their customer experience management, focusing on reviews and messaging.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you are ready to give your Facebook page a renovation, first learn \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"how can you win more customers, \"\n        })\n      }), \"and once your page is upset try adding a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-add-the-location-to-your-facebook-page\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"location to your Facebook page \"\n        })\n      }), \"which would complete your Facebook business.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How to delete a Facebook business page \\n\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 43,\n  wkMiN9hO7: \"Learn how to delete your Facebook business page with our step-by-step guide. Find out common reasons and options for data preservation\",\n  z3RB0M3u0: \"How To Delete A Facebook Page \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/opaiBl1yZvmYGGVYDbOFzoY4GI.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/opaiBl1yZvmYGGVYDbOFzoY4GI.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/opaiBl1yZvmYGGVYDbOFzoY4GI.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/opaiBl1yZvmYGGVYDbOFzoY4GI.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/opaiBl1yZvmYGGVYDbOFzoY4GI.png\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-facebook-can-help-you-gain-more-customers\",\n  GSA8tRVAB: true,\n  id: \"zwzeUYdzf\",\n  JYmpedk6B: \"2023-09-11T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Facebook maintains its status as the top social media and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review platform\"\n        })\n      }), \", serving as the primary hub where friends come together to connect and share online. Beyond being a social meeting point, Facebook has evolved into a platform where businesses can\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" engage with customers and promote themselves.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In this article, we'll explore 10 effective ways to leverage Facebook to gain more customers. Regardless of whether you're a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"large corporation or a small local business\"\n        })\n      }), \", Facebook is a potent marketing instrument. It offers an ideal space to keep your customers updated, establish a strong brand identity, and expand your outreach.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"17px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Facebook helps you boost your brand\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Facebook offers a valuable way to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"boost your online brand\"\n        })\n      }), \". Your online presence holds unprecedented significance, especially as consumer interest in mobile and social media shopping continues to surge. Facebook emerges as a top-tier platform to engage with potential customers, whether they're in your local vicinity or across the globe.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With an impressive user base exceeding \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.statista.com/statistics/264810/number-of-monthly-active-facebook-users-worldwide/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"2.9 billion monthly users\"\n        })\n      }), \", as per Statista's data, Facebook stands out as the unrivaled social network in terms of potential exposure for your business. As the pioneering social media platform that achieved widespread acclaim, Facebook provides an extensive toolkit of integration features, encompassing follow buttons, account logins, and image sharing. Effectively harnessing these tools can guide customers back to your business website and emphasize your online content.\\xa0\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Exploring Facebook Advertising: Classic Ads\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Within the Facebook ecosystem, you'll discover a unique advertising avenue known as \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/business/goals/run-facebook-ad-campaigns\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook ads\"\n        })\n      }), \". These ads are prominently displayed in the side columns of the Facebook website and are commonly referred to as marketplace Ads. They typically comprise a headline, accompanying text, an image, and a clickable link, guiding users to various destinations such as a Facebook page, an app, or an external website.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Key features of Facebook advertising encompass:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Precise Demographic Targeting: Leverage \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/facebook\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Facebook's rich user data\"\n            })\n          }), \" to tailor your ad campaigns based on parameters like age, location, education, and interests.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Budget Management: Exercise control over your ad expenditure, aligning it with your financial objectives.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ad Experimentation: Run multiple ad variations concurrently, enabling you to compare their effectiveness and optimize your campaign setup.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Performance Insights: Access integrated tools for monitoring and measuring the impact of your ads.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Local Business Focus: Tailor your advertising efforts to specific geographical areas, a boon for local businesses.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Facebook keeps its ad click-through rates (CTR) under wraps, making it challenging to gauge the true effectiveness of Facebook ads. However, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/business/tools/ads-manager?content_id=qCRZXrr306qAy5T&ref=sem_smb&utm_term=facebook%20ad%20data&gclid=Cj0KCQjw9fqnBhDSARIsAHlcQYTvvGvKUkn2f5Da8M2wfjEzManRvZabTuXzWA-3iqQ-sodCnfZDTB8aAvZTEALw_wcB\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook ads \"\n        })\n      }), \"typically achieve a CTR of approximately 0.061% with an average cost-per-click (CPC) of around $0.90. Keep in mind that the cost of Facebook advertising can fluctuate significantly, depending on your chosen targeting criteria and the competitive landscape in your industry.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Earn the \"Very Responsive to Messages\" Badge on Facebook:'\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'If you consistently respond promptly to user messages on Facebook, you can attain a \"Very Responsive to Messages\" badge. This badge will appear below your Page\\'s cover photo if you maintain a response rate of 90% and a response time of 14 minutes within the past seven days.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Even if you haven't earned the badge yet but are generally responsive, Facebook will still highlight your responsiveness to visitors. If you're not very responsive, there won't be any indication. So, while not having the badge isn't critical, it signals to users that your business values their needs and is attentive.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Additionally, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/business/marketing/messenger\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: 'Facebook\\'s \"Messenger\" tool'\n        })\n      }), ' offers numerous functionalities for businesses. We recommend exploring its potential for communication and support purposes.\"']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Effortless Appointment Scheduling with Facebook's Book Now Tool:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Small businesses can leverage \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/business/m/book-appointments\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook's Book Now feature\"\n        })\n      }), \" to simplify appointment scheduling. This tool seamlessly integrates with a business's calendar system, allowing customers to schedule appointments or demos at their convenience.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Streamlining Appointment Booking:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By enabling customers to schedule appointments through Facebook, businesses can potentially reduce the volume of phone calls required for bookings and minimize the time spent managing online booking systems. Automated messages can further streamline the process, making it more efficient than manual scheduling.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Once customers have booked their appointment, they'll receive a calendar invite, along with vital information, directions, and instructions.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Foster a Community Spirit\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Establishing Facebook Groups provides an excellent means to unite individuals who share common interests and cultivate a genuine sense of community around your brand.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Consider utilizing a Facebook Group to disseminate information about upcoming events, educational tutorials, user-generated content (with proper permission and credit), or heartwarming customer success stories. Encourage group members to contribute their content as well. The key is to leverage Facebook Groups as a sincere way to engage with customers without employing overtly sales-focused tactics.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['For instance, the workout apparel brand Lululemon manages a public Facebook Group called \"', /*#__PURE__*/_jsx(Link, {\n        href: \"https://shop.lululemon.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Lululemon Sweatlife\"\n        })\n      }), ',\" boasting more than 12,000 members. Within this group, the brand shares home workout routines fosters connections among members, and facilitates the formation of friendships along the way.', /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Leverage Audience Insights for In-Depth Audience Understanding:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To create the most effective Facebook ads, it's essential to craft high-quality, contextually relevant advertisements that seamlessly blend into the Facebook user experience. Gain \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"valuable insights into your customers \"\n        })\n      }), \"and potential leads through Audience Insights with Cloodot Insights.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilize this tool to enhance the precision of your ad targeting and gain a deeper understanding of your audience, even if you're not currently running ads to them. How does it work? The data it provides can empower you to develop more robust buyer personas, craft more engaging content, and uncover valuable insights for competitive research.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Incorporate Diverse Communication Channels\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Integrating multiple communication channels into your sales strategy is a critical step. Each social network has the potential to complement the others effectively. As a suggestion, consider incorporating\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" WhatsApp a\"\n        })\n      }), \"nd \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram\"\n        })\n      }), \", as they are part of the Facebook ecosystem and seamlessly complement one another. Expanding your channel portfolio within your strategy can significantly enhance the overall customer experience on Facebook.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're seeking an efficient way to integrate multiple channels, you can explore the capabilities of Cloodot by \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"clicking here.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Harness the Power of Customer Reviews:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer reviews\"\n        })\n      }), \" play a pivotal role in influencing purchase decisions, with a significant \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://business.trustpilot.com/guides-reports/build-trusted-brand/the-critical-role-of-reviews-in-internet-trust#downloadreport\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"89% \"\n        })\n      }), \"of customers referring to reviews before making a buying choice.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Reviews serve as valuable insights from \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-ask-for-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"past buyers\"\n        })\n      }), \", aiding potential customers in evaluating whether to invest in a product or service.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Enabling reviews on your Facebook page\"\n        })\n      }), \" can effectively encourage prospective customers to choose your brand for their needs. Furthermore, engaging with customers and strategically \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"requesting reviews \"\n        })\n      }), \"at opportune moments is vital for expanding your customer base.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Exceptional Customer Support\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Providing \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/contactcentre\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"outstanding customer support \"\n        })\n      }), \"plays a pivotal role in enhancing the user experience on Facebook. It's crucial to ensure that your team members are delivering courteous and friendly service to all your customers on the platform.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Post-Purchase Assistance\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Additionally, post-purchase assistance holds significant importance in the overall user experience. Making customers feel valued is essential, so welcoming post-sale inquiries or comments is always beneficial.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It's important to note that different social networks serve distinct purposes. For instance, Twitter allows businesses to share news or concise updates within its 240-character limit. However, Facebook stands out by offering the most comprehensive array of features for businesses and networking.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Unlock Insights Across Social Media\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're seeking to gain deeper insights into your various social media platforms and centralize essential elements like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"feedback\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/bulkmarketingmessaging\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"marketing campaigns\"\n        })\n      }), \", and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analytical reports\"\n        })\n      }), \", look no further than Cloodot. Cloodot presents an all-inclusive solution, offering a suite of Software as a Service (SaaS) products. These leverage AI and automation technologies to assist businesses in streamlining and modernizing their approach to customer experience management, encompassing reviews, messaging, and in-depth analysis reports.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    })]\n  }),\n  tcujvgbt3: \"How Facebook can help you gain more customers?\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 42,\n  wkMiN9hO7: \"Facebook maintains its status as the top social media and review platform, serving as the primary hub where friends come together to connect and share online.\\n\",\n  z3RB0M3u0: \"How Facebook can help you gain more customers \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/p84VypwOzaHo7C79VSFW7c2opGw.png\").href} 4844w`\n  }, \"How To Remove Yelp Spam Reviews | Cloodot\"),\n  B7LIlf4Jc: \"how-to-remove-yelp-spam-reviews\",\n  GSA8tRVAB: true,\n  id: \"MwWTZ1YLH\",\n  JYmpedk6B: \"2023-09-10T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Whether it's negative or positive, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.yelp.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Yelp\"\n        })\n      }), \" is a critical aspect that restaurant and small business owners must manage while operating their businesses. It's a valuable online platform where customers share their thoughts and experiences, but occasionally, you might come across comments that misuse the platform by posting fake or irrelevant content. Fortunately, Yelp removes spam comments and provides a way to report these fake comments as spam, ensuring the accuracy of your Yelp review page.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Despite Yelp's automated spam removal system, some\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" negative reviews\"\n        })\n      }), \" may slip through the cracks, potentially affecting your business's Yelp rating. While spam comments differ from negative reviews, every \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-effectively-manage-and-respond-to-restaurant-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"restaurant reviews \"\n        })\n      }), \"and small business needs to understand how to address these spam comments to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"protect their reputation \"\n        })\n      }), \"and prevent confusion among future customers. In the following sections, we'll explain how you can recognize, monitor, and eliminate spam comments on Yelp.\"]\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to view Yelp reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Before delving into removing spam comments on Yelp, it's crucial to ensure that positive reviews are not hidden on the platform. This step not only provides a more accurate representation of your business but also contributes to an improved overall Yelp rating.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.yelp-support.com/article/When-should-I-report-a-review?l=en_US&ref=spoton.com\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Yelp's algorithms\"\n        })\n      }), \" may mistakenly hide certain positive reviews, assuming they aren't relevant to other users. Fortunately, these positive Yelp reviews are not deleted, and you can often restore them to your business's front page on Yelp. To do this, claim your Yelp business page and take specific actions to bring these positive reviews back into the spotlight.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more about the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"timing of asking for reviews from customers\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Remove Spam Comments from Yelp:\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Identify spam comments\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Make it a habit to visit your Yelp business page regularly to review the comments left by users. You can do this by logging into your Yelp business account.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Look for common signs of spam\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While reviewing comments, keep an eye out for \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://engineeringblog.yelp.com/2021/05/moderating-promotional-spam-and-inappropriate-content-in-photos-at-scale-at-yelp.html\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"common signs of spam\"\n        })\n      }), \". These may include:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Irrelevant or unrelated content to your business.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Multiple comments with the same or similar content.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Comments with excessive links or promotional content.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews or comments that seem overly positive without specific details.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Flag the spam comments\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Click on the comment:\"\n      }), \" To flag a spam comment, click on the specific comment you want to report. This will open the comment for further action.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: 'Locate the \"flag\" option:'\n      }), ' Within the comment, you should find a \"Flag\" button or option. This is typically located near the comment, often represented as a small flag icon.']\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: 'Click the \"Flag\" button:'\n      }), ' Click on the \"Flag\" button. This action initiates the process of reporting the comment as spam to Yelp\\'s moderation team.']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Provide detailed information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Explain why it's spam: After flagging the comment, Yelp removes spam comments that may prompt you to provide specific details about why you believe the comment is spam. Take this opportunity to be thorough and clear in your explanation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Mention suspicious characteristics: Describe any suspicious characteristics that led you to flag the comment. For example, if the comment contains irrelevant links or seems to come from a fake or duplicate account, mention it.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include patterns or red flags: If you notice patterns of spammy behavior, such as multiple spam comments from the same user or similar wording across different comments, highlight these patterns in your explanation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Review and submit\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Review your report: \"\n      }), \"Before submitting your report, review the details you've provided to ensure they accurately explain why the comment should be considered spam.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Submit the report:\"\n      }), \" Once you're satisfied with your explanation, submit the report. Yelp's moderation team will review your report and take appropriate action.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Enabling comment moderation on Yelp:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://trust.yelp.com/content-moderation/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Comment moderation on Yelp\"\n            })\n          }), \" removes spam comments and gives you the power to decide which comments are visible on your business page. Here's a detailed breakdown:\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://biz.yelp.com/login\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: /*#__PURE__*/_jsx(\"strong\", {\n                children: \"Access Your Yelp Business Account\"\n              })\n            })\n          }), /*#__PURE__*/_jsx(\"strong\", {\n            children: \":\"\n          }), \" Log in to your Yelp business account using your credentials.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Navigate to Your Business Page:\"\n          }), ' Once logged in, navigate to your business page on Yelp. You should be able to find it in the \"My Business\" section.']\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Access the \"Comment Moderation\" Settings:'\n          }), ' Look for the \"Comment Moderation\" settings or options within your business account. This setting is typically located in your account dashboard or profile settings.']\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enable Comment Moderation:\"\n          }), ' Within the \"Comment Moderation\" settings, you\\'ll find an option to enable comment moderation. Turn this feature on to activate comment approval for your Yelp page.']\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Configure Moderation Preferences:\"\n          }), \" Depending on Yelp's features, you may have additional settings to configure. For instance, you might be able to set preferences for receiving notifications when new comments are submitted.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Save Your Settings: \"\n          }), \"After enabling comment moderation and configuring any preferences, be sure to save your settings. This ensures that your moderation preferences are applied to your Yelp remove spam comments page.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Utilizing the Approval Process\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Once you've enabled comment moderation on your Yelp remove spam comments page, it's time to manage comments effectively through an approval process:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Receive Notification of New Comments\"\n          }), \": With comment moderation enabled, you will receive notifications when new comments are submitted to your Yelp page. These notifications typically go to the email address associated with your Yelp business account.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Review New Comments:\"\n          }), \" When you receive a notification, log in to your Yelp business account to review the new comments. Take the time to read each comment carefully.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Distinguish Genuine Comments: \"\n          }), \"Identify genuine and authentic comments from your customers. These are reviews or comments that accurately reflect their experiences with your business.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Remove Spam or Inappropriate Comments:\"\n          }), \" During your review, be vigilant for any comments that appear to be spam, contain irrelevant content, or violate Yelp's content guidelines. These should be promptly removed.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Approve Genuine Comments: \"\n          }), \"For the comments that pass your review as genuine and relevant, approve them. This action makes them visible on your Yelp page for other users to see.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Decline Inappropriate Comments:\"\n          }), \" If you encounter comments that do not meet your standards or Yelp's guidelines, decline them. These comments will not appear on your Yelp remove spam comments page.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Maintain Consistency:\"\n          }), \" Continue this approval process for each new comment that arrives on your Yelp page. Consistency in managing comments helps keep your page informative and spam-free.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to respond to negative and positive reviews on Yelp\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Responding to positive Yelp reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Thoroughly read the entire review:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Always make an effort to read the complete review, even if it's lengthy. Address any valid concerns, regardless of the overall rating.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Warmly address the customer by name:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Boost personalization by using the customer's name in your response. This establishes a positive emotional connection.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Craft a personalized response:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Tailor your reply to their specific review. Show that you're not using a generic response template.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Express gratitude for their review:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Take a moment to thank \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customers for their time in leaving a review \"\n        })\n      }), \"and for their loyalty. Encourage them to share their positive experiences.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Offer to go the extra mile:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Even if the customer is content, extend an offer to assist further and express openness to their feedback at any time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Surprise and delight:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Consider going above and beyond by offering them swag, treats, or an exclusive discount as a token of appreciation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Responding to Negative Yelp Reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"A timely response is key:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Respond promptly, ideally within a week, to prevent potential customers from seeing unresolved issues.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Use the customer's name in your response:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Show that you value and take their\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" feedback seriously\"\n        })\n      }), \" by addressing the customer by name.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Sincerely apologize for the issue:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Offer a heartfelt apology, take responsibility for any faults, provide a clear explanation, outline the next steps, and follow up on the issue.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Avoid arguments:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Maintain professionalism and refrain from engaging in arguments with customers. Use negative feedback as a catalyst for improvement.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Make amendments if appropriate:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Resolve valid complaints fairly, ensuring equitable concessions. Address the issue privately whenever possible.\"\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Explain preventive measures:\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Describe the proactive measures you're taking to prevent similar issues in the future, demonstrating your commitment to improvement.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Highlight resolution efforts:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If the problem was resolved in person, mention it in your public response to assure potential customers of your dedication to addressing concerns.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Track feedback trends:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Identify recurring themes in negative reviews and take steps to enhance the customer experience based on this feedback.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Regularly monitor your Yelp profile\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Once you've handled those pesky spam comments, it's crucial to be prepared for occasional future occurrences. Regularly monitoring your Yelp remove spam comments page to ensure accuracy and tidiness is essential. This process also helps you keep an eye on new reviews, valuable for identifying areas for improvement in your business. Thankfully, you can simplify this task with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review management software \"\n        })\n      }), \"that covers multiple platforms, including \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business\"\n        })\n      }), \", and more.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With Cloodot's point-of-sale systems, you gain access to integrated tools that gather multi-channel reviews, enable you to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"track feedback trends \"\n        })\n      }), \"and offer more efficient ways to engage with your customers. Cloodot provides a range of Software as a Service (SaaS) solutions that harness the power of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" AI and automation\"\n        })\n      }), \" to help businesses streamline and enhance their customer experience management by focusing on reviews and messaging.\"]\n    })]\n  }),\n  tcujvgbt3: \"How To Remove Yelp Spam Reviews\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 41,\n  wkMiN9hO7: \"Learn how to identify and remove spam comments on Yelp, ensuring an accurate business rating. Improve your online reputation today.\",\n  z3RB0M3u0: \"How To Remove Yelp Spam Reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/oKfOke7gTzB7ms8sbmLCZSYQD2k.png\").href} 4800w`\n  }, \"How to add the location to your Facebook page | Cloodot\"),\n  B7LIlf4Jc: \"how-to-add-the-location-to-your-facebook-page\",\n  GSA8tRVAB: true,\n  id: \"U7DNEHM2E\",\n  JYmpedk6B: \"2023-09-09T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding Your Business Location to Your Facebook Page\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Page Type:\"\n          }), \" Ensure that your company's Facebook page is categorized as a business or brand page. You can only have one address associated with your page.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Access \"Edit Your About Info\": '\n          }), 'To add your address, go to your Facebook Page. Below the cover photo, click on \"Edit.\" In the top right-hand corner, you\\'ll see \"', /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Edit Your About Info\"\n          }), '.\" Click on it']\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,o05ktUDc6TWt3777rbnVO4Lb4w.png\",\n          \"data-framer-height\": \"1138\",\n          \"data-framer-width\": \"1856\",\n          height: \"569\",\n          src: new URL(\"https://framerusercontent.com/images/o05ktUDc6TWt3777rbnVO4Lb4w.png\").href,\n          style: {\n            aspectRatio: \"1856 / 1138\"\n          },\n          width: \"928\"\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Navigate to \"Edit Your About Info\": '\n          }), \"Once you're in the \\\"\", /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Edit Your About Info\"\n          }), '\" section, locate and click on \"Add your location.\"']\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,198zA945QZ8MFdQqTDlhPZNnFk.png\",\n          \"data-framer-height\": \"1180\",\n          \"data-framer-width\": \"1378\",\n          height: \"590\",\n          src: new URL(\"https://framerusercontent.com/images/198zA945QZ8MFdQqTDlhPZNnFk.png\").href,\n          style: {\n            aspectRatio: \"1378 / 1180\"\n          },\n          width: \"689\"\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Add or Edit Your Address:\"\n          }), ' In the \"Location\" section, you can add or edit your business address. Make sure it\\'s accurate.']\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,VgeT28ZaLyyubKgFVwGLkKnAMM.png\",\n          \"data-framer-height\": \"904\",\n          \"data-framer-width\": \"1778\",\n          height: \"452\",\n          src: new URL(\"https://framerusercontent.com/images/VgeT28ZaLyyubKgFVwGLkKnAMM.png\").href,\n          style: {\n            aspectRatio: \"1778 / 904\"\n          },\n          width: \"889\"\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Confirm Changes: \"\n          }), 'Click \"Save\" or any equivalent option to confirm the addition or modification of your business address.']\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Facebook Places: \"\n          }), \"You may have heard of Facebook Places in the past, which required a separate listing for businesses. With your address on your business page, this is no longer necessary. However, you might find other variations of your business on Facebook Places.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Claim Additional Pages: To claim these pages, follow these steps:\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsxs(\"ul\", {\n          children: [/*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            style: {\n              \"--framer-font-size\": \"13px\",\n              \"--framer-text-color\": \"rgb(0, 0, 0)\",\n              \"--framer-text-decoration\": \"none\"\n            },\n            children: [/*#__PURE__*/_jsx(\"p\", {\n              children: \"Go to Facebook and use the search bar to find your business, even from your desktop (no GPS device needed).\"\n            }), /*#__PURE__*/_jsx(\"p\", {\n              children: /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })\n            })]\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            style: {\n              \"--framer-font-size\": \"13px\",\n              \"--framer-text-color\": \"rgb(0, 0, 0)\",\n              \"--framer-text-decoration\": \"none\"\n            },\n            children: [/*#__PURE__*/_jsx(\"p\", {\n              children: 'If you locate a Facebook page for your business that you don\\'t own, go to that page and click \"Is this your business?\" below the cover photo.'\n            }), /*#__PURE__*/_jsx(\"p\", {\n              children: /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })\n            })]\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            style: {\n              \"--framer-font-size\": \"13px\",\n              \"--framer-text-color\": \"rgb(0, 0, 0)\",\n              \"--framer-text-decoration\": \"none\"\n            },\n            children: [/*#__PURE__*/_jsx(\"p\", {\n              children: \"Follow the on-screen instructions to claim the page.\"\n            }), /*#__PURE__*/_jsx(\"p\", {\n              children: /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })\n            })]\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            style: {\n              \"--framer-font-size\": \"13px\",\n              \"--framer-text-color\": \"rgb(0, 0, 0)\",\n              \"--framer-text-decoration\": \"none\"\n            },\n            children: [/*#__PURE__*/_jsxs(\"p\", {\n              children: [/*#__PURE__*/_jsx(\"strong\", {\n                children: \"Merge Pages:\"\n              }), \" If you own an existing Facebook business page and want to merge it with a claimed Facebook Place, follow the instructions provided by Facebook for merging pages.\"]\n            }), /*#__PURE__*/_jsx(\"p\", {\n              children: /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })\n            })]\n          })]\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsxs(\"strong\", {\n            children: [\"Benefits of Adding Location:\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {})]\n          }), \"If you run a brick-and-mortar business, including your business address on your Facebook page can help create excitement. It enables users to check in when they visit your establishment or discover your business based on its location.Staying connected through social media platforms has become a widespread trend. Platforms such as Facebook enable you to sign in, share a status update, and tag your current location, allowing you to connect with friends and share your whereabouts. Adding your location to a post can be an enjoyable experience and can be effortlessly accomplished using either your computer or smartphone.\"]\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding Location to a Facebook Post via Computer\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Access Facebook\"\n          }), \": Begin by opening \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Facebook on your computer\"\n            })\n          }), \" (Mac or PC) and signing in to your account.\"]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Create a New Post:\"\n          }), ' Click on the empty white box labeled \"Create Post\" to initiate a new Facebook post.']\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,ldeQ7WdQ6wrvTcnHmtBzxof4ORE.png?originalFilename=unknown.png\",\n          \"data-framer-height\": \"423\",\n          \"data-framer-width\": \"487\",\n          height: \"211\",\n          src: new URL(\"https://framerusercontent.com/images/ldeQ7WdQ6wrvTcnHmtBzxof4ORE.png\").href,\n          style: {\n            aspectRatio: \"487 / 423\"\n          },\n          width: \"243\"\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Compose Your Post:\"\n          }), \" After you've written your post, proceed to the next step.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Include Location:\"\n          }), ' Locate and click the \"Check In\" button situated below the text box.']\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Specify Your Location:\"\n          }), \" In the pop-up text box that appears, type in your location.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,YCP1mWT79UNOP8Pyre52EuE291E.png?originalFilename=unknown.png\",\n          \"data-framer-height\": \"416\",\n          \"data-framer-width\": \"505\",\n          height: \"208\",\n          src: new URL(\"https://framerusercontent.com/images/YCP1mWT79UNOP8Pyre52EuE291E.png\").href,\n          style: {\n            aspectRatio: \"505 / 416\"\n          },\n          width: \"252\"\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Then, select the most appropriate location from the dropdown menu.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Publish Your Post:\"\n          }), ' To share your post, complete with the location, simply click the blue \"Post\" button.']\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,7QpHyQv78Kx5viTUXMiz8LpjA.png?originalFilename=unknown.png\",\n          \"data-framer-height\": \"489\",\n          \"data-framer-width\": \"495\",\n          height: \"244\",\n          src: new URL(\"https://framerusercontent.com/images/7QpHyQv78Kx5viTUXMiz8LpjA.png\").href,\n          style: {\n            aspectRatio: \"495 / 489\"\n          },\n          width: \"247\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Adding Location to Your Facebook Post via Mobile:\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Access Facebook on Your Smartphone:\"\n          }), \" Begin by opening the Facebook application on your smartphone.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Navigate to \"Places\": '\n          }), 'From the app\\'s main menu, locate and select the \"Places\" option.']\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Initiate Check-In\"\n          }), ': Choose the \"Check-In\" option. This action will open a new menu.', /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"to add Check-In on facebook\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,T4OhaYj7D5AdhcoGJxVlXuFIHE.png\",\n          \"data-framer-height\": \"552\",\n          \"data-framer-width\": \"1030\",\n          height: \"276\",\n          src: new URL(\"https://framerusercontent.com/images/T4OhaYj7D5AdhcoGJxVlXuFIHE.png\").href,\n          style: {\n            aspectRatio: \"1030 / 552\"\n          },\n          width: \"515\"\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Add a New Place:\"\n          }), ' Click on \"Add\" next to the \"Place Name\" field.']\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enter Place Name:\"\n          }), \" Input the name of your current location into the designated field.\"]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"to add location to facebook post | Cloodot\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,PiEh92fNha40a6arPlmiiIqETk.png\",\n          \"data-framer-height\": \"898\",\n          \"data-framer-width\": \"982\",\n          height: \"449\",\n          src: new URL(\"https://framerusercontent.com/images/PiEh92fNha40a6arPlmiiIqETk.png\").href,\n          style: {\n            aspectRatio: \"982 / 898\"\n          },\n          width: \"491\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Provide a Description:\"\n          }), \" Add a brief description of the place, if desired.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Confirm and Save: \"\n          }), 'Select \"Add.\" This step will prompt a field to appear, allowing you to share your location.']\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enter Additional Information: \"\n          }), \"Under the newly created place, enter any additional information you'd like to include.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Check-In: \"\n          }), 'Finally, select \"Check In.\" Your location information will now be displayed on your Facebook profile.']\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Adding Location to an Existing Facebook Post\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Access Your Published Post:\"\n          }), \" If you've already posted on Facebook without including a location, don't worry. Facebook posts can be edited. Begin by locating the post to which you want to add a location.\"]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Initiate Editing:\"\n          }), \" Click on the three small dots in the upper right-hand corner of the post. A dropdown menu will appear.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"how edit post on facebook | Cloodot\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,9S6ynSdgipeuAGrlbk5pXSCdV4.png?originalFilename=unknown.png\",\n          \"data-framer-height\": \"845\",\n          \"data-framer-width\": \"1020\",\n          height: \"422\",\n          src: new URL(\"https://framerusercontent.com/images/9S6ynSdgipeuAGrlbk5pXSCdV4.png\").href,\n          style: {\n            aspectRatio: \"1020 / 845\"\n          },\n          width: \"510\"\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Select \"Edit Post\":'\n          }), ' From the dropdown menu, choose the option labeled \"Edit Post.\"']\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: 'Access \"Check In\":'\n          }), ' After clicking \"Edit Post,\" navigate to the \"Check In\" option.']\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Search for Your Location:\"\n          }), ' In the \"Check In\" section, search for your specific location.']\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Add Your Location:\"\n          }), \" Once you've found your location, click on it to add it to your post.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Save Your Changes:\"\n          }), ' Click the \"Save\" button to confirm the addition of your location to the post.']\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"View the Updated Post\"\n          }), \": After saving, you'll see your location displayed within the post.\"]\n        }), /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reclaim-ownership-of-your-facebook-page\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"How to reclaim your suspended Facebook Page\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now you've learned how to add a location to your Facebook page. But what if I told you that you could do much more than that? With Cloodot, you can streamline and manage all your social media channels, including Instagram, Facebook, WhatsApp, Google My Business, SMS, Webchats, and more, all from one unified dashboard.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How is this possible?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot offers a comprehensive suite of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SaaS (Software as a Service) products \"\n        })\n      }), \"that harness the power of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" AI and automation\"\n        })\n      }), \". These tools are designed to help\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" small businesses \"\n        })\n      }), \"and large enterprises organize and simplify customer experience management. With Cloodot, you can handle tasks such as managing \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews,\"\n        })\n      }), \" \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"messaging customers\"\n        })\n      }), \", generating \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analysis reports\"\n        })\n      }), \", gaining valuable \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"feedback insights\"\n        })\n      }), \", launching effective marketing campaigns, and much more.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're curious to learn more about what Cloodot can do for your company, you can sign up for a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free trial \"\n        })\n      }), \"or schedule a complimentary \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"demo call \"\n        })\n      }), \"with one of our experts. Discover how Cloodot can revolutionize your business's social media management and customer engagement.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Learn more: \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-add-location-on-instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"How to add location to Instagram page\"\n        })\n      })]\n    })]\n  }),\n  tcujvgbt3: \"How to add the location to your Facebook\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 40,\n  wkMiN9hO7: 'Learn how to effortlessly add location to your Facebook posts and profile using our comprehensive guide. Stay connected with your customers and share your whereabouts!\"',\n  z3RB0M3u0: \"How to add the location to your Facebook page\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/QpVAn6pURLjK2GbLI7z2PvrtDI.jpeg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/QpVAn6pURLjK2GbLI7z2PvrtDI.jpeg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/QpVAn6pURLjK2GbLI7z2PvrtDI.jpeg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/QpVAn6pURLjK2GbLI7z2PvrtDI.jpeg\").href} 1600w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-add-locations-to-your-twitter-post-and-profile\",\n  GSA8tRVAB: true,\n  id: \"tsc1HOhZj\",\n  JYmpedk6B: \"2023-09-08T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The latest \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/which-one-is-worth-it-meta-verification-or-twitter-blue\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter Places feature \"\n        })\n      }), \"allows users to tweet their precise location by name, whether it's the local neighborhood bar or a major sports stadium in the United States. For businesses and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"organizations aiming to broaden their audience\"\n        })\n      }), \", incorporating a location into your tweets is a valuable strategy. This approach can significantly boost engagement and expand your reach.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By attaching a location to your tweets, you can target individuals within a particular geographic region, enabling you to craft messages that resonate more effectively with a specific audience.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Twitter's Location Spotlight \"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Twitter has been actively supporting professionals, from creators to businesses, by offering free-to-use tools to boost their presence and customer engagement. The Location Spotlight feature, now accessible to professionals worldwide, is a significant addition to this effort.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"What is Location Spotlight?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Location Spotlight enables professionals with physical business locations to highlight key details like their address, hours of operation, and contact information. Customers can easily connect via phone, text, email, or Twitter Direct Message.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Access Your Twitter Account: Log in to your Twitter account.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Navigate to Your Profile: Click on your profile picture or your profile name to access your Twitter profile.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Edit Your Profile: Look for the \"Edit profile\" button or option on your profile page. Click on it to start editing your profile.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,hSlgt2wlROIoVxoIwDUvvRTIkI.png\",\n      \"data-framer-height\": \"1728\",\n      \"data-framer-width\": \"2000\",\n      height: \"864\",\n      src: new URL(\"https://framerusercontent.com/images/hSlgt2wlROIoVxoIwDUvvRTIkI.png\").href,\n      style: {\n        aspectRatio: \"2000 / 1728\"\n      },\n      width: \"1000\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Add Location Information: Scroll down on the editing page until you find the section for adding location information. You should see fields for your business address, operating hours, and additional contact details.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Enter Business Details: Fill in the necessary information, including your business address, hours of operation, and any other contact details you want to provide.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Enable Location Spotlight: There should be an option to enable the Location Spotlight. Make sure this option is turned on to activate the feature.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,GIF9wo9nBuDJvk5ts02KpX6UI68.png\",\n      \"data-framer-height\": \"1728\",\n      \"data-framer-width\": \"2000\",\n      height: \"864\",\n      src: new URL(\"https://framerusercontent.com/images/GIF9wo9nBuDJvk5ts02KpX6UI68.png\").href,\n      style: {\n        aspectRatio: \"2000 / 1728\"\n      },\n      width: \"1000\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Save Your Changes: After entering all the required information and enabling the Location Spotlight, don\\'t forget to save your changes. Look for a \"Save\" or \"Save changes\" button on the page and click it.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,mEqXQHrojhp0b375iuciXmdOSE.png\",\n      \"data-framer-height\": \"1728\",\n      \"data-framer-width\": \"2000\",\n      height: \"864\",\n      src: new URL(\"https://framerusercontent.com/images/mEqXQHrojhp0b375iuciXmdOSE.png\").href,\n      style: {\n        aspectRatio: \"2000 / 1728\"\n      },\n      width: \"1000\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Verify the Spotlight: Go back to your Twitter profile to ensure that the Location Spotlight is now visible to your followers. It should display your business address, operating hours, and contact details.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Explore the Map Integration: If you've integrated Google Maps, test it out by clicking on the map to see if it provides directions to your business location.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Engage with Customers: Now that your Location Spotlight is active, be prepared to engage with customers who may reach out to you via phone, text, email, or Twitter Direct Message based on the information you've provided.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That's it! You've successfully set up and activated the Location Spotlight feature on your Twitter profile, making it easier for customers to connect with your business.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You can read more about it \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://business.twitter.com/en/help/account-setup/professional-accounts.html#:~:text=The%20Location%20Spotlight%20allows%20you,map%20in%20the%20profile%20spotlight.\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"here\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Tweeting from your current location\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Twitter allows you to share your current location when composing a tweet. Here's a quick guide on how to do it:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 1: Launch the Twitter app on your mobile device.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 2: Tap the \"Compose\" button to start writing your tweet.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 3: For the location icon, which resembles a pin, on the tweet composition screen.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 4:Tap the location icon, and Twitter will automatically detect your current location.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 5: Finish composing your tweet and click \"Tweet\" to share it with your current location attached.'\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Adding a Location to Your Twitter Profile\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you want to add or update your location on your Twitter profile, follow these steps:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 1: Open your Twitter account and log in if you haven't already.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 2: Click on your profile picture or your profile name to access your Twitter profile.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 3: On your profile page, click the \"Edit profile\" button.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 4: Scroll down to the \"Location\" field, and you can add or edit your location information here.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 5: After entering your location, make sure to click the \"Save\" or \"Save changes\" button at the bottom of the page to update your profile with the new location.'\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to Tag a Specific Location in a Tweet\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Tagging a specific location in your tweet is a straightforward process\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 1: Begin by opening the Twitter app or website and clicking the \"Compose\" button to create a new tweet.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 2: In your tweet text, type the \"@\" symbol followed by the name of the specific location you want to tag.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 3: As you type the location name, Twitter will suggest location options in a dropdown menu. Select the correct location from the suggestions.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 4: Complete your tweet, add any additional content you want, and click \"Tweet\" to share your tweet with the specific location tagged.'\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Removing Location Data (Web Only)\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you wish to eliminate location data from appearing in your past Tweets, whether they were posted from mobile devices or the web, you have two options:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Option 1: Deleting a Specific Tweet with Location Data\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Sign in to your Twitter account at twitter.com.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Locate the particular Tweet containing the location data you want to erase.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Click on the Tweet to open it.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Find and select the \"Delete\" option. This will remove the tweet along with any associated location data.'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Option 2: Removing Location Data from All Tweets\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Log in to your Twitter account on twitter.com.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Access your account's settings by clicking on your profile picture or name.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Go to \"Security and privacy settings.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'In the \"Privacy\" section, find the \"Tweet location\" option.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on \"Delete all location information.\" Please be aware that this process may take up to 30 minutes to complete.'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By following these steps, you can effectively eliminate location data from your previous Tweets. Whether you choose to delete specific Tweets or remove location information from all of them, the choice is yours.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Adding a location to your Twitter profile is a great way for your customers and influencers to connect with your business and enhance your brand image.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\" But it's not just limited to Twitter; you can now manage all your customer interactions across multiple channels, including \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \",\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reviews,\"\n        })\n      }), \" and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analytics\"\n        })\n      }), \", while also adding numerous business locations, all from a single dashboard.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"How to add locations to your Twitter post and profile\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 39,\n  wkMiN9hO7: \"For businesses and organizations aiming to broaden their audience, incorporating a location into your tweets is a valuable strategy. This approach can significantly boost engagement and expand your reach.\",\n  z3RB0M3u0: \"How to add locations to your Twitter post and profile\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/ADPPJdqkyNJF7xiEzhSYtdSgo.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/ADPPJdqkyNJF7xiEzhSYtdSgo.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/ADPPJdqkyNJF7xiEzhSYtdSgo.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/ADPPJdqkyNJF7xiEzhSYtdSgo.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/ADPPJdqkyNJF7xiEzhSYtdSgo.png\").href} 3633w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-add-location-on-instagram\",\n  GSA8tRVAB: true,\n  id: \"cLPOzgmuN\",\n  JYmpedk6B: \"2023-09-07T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As you all know, Instagram is the most famous social media app with over 500 million daily users, and it is even \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/instagram-threads-are-taking-up-twitter-find-out-how\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"taking over Twitter\"\n        })\n      }), \" with its new features and updates. On Instagram, adding your location can be a hidden gem for brands. There are two primary reasons why brands should embrace this feature: First, it allows you to share your business location with your followers, making it easier for people to discover you. Second, it's a fantastic way to inject some personality into your posts by using creative and unique location names.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now, let's walk you through the process of creating a new location on Instagram. And, towards the end, we'll also share how you can tag multiple custom locations simultaneously.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to add your custom location to Instagram\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Set Up Your Location Tag on Facebook\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To create a new location on Instagram, you'll need to start with Facebook, as the two platforms are connected. Follow these steps:\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Open your Facebook app and create a post by tapping on \"What\\'s on your mind.\"'\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,3yoaMd8W2Sjn0YGqqGjxCY3YwMM.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"866\",\n      \"data-framer-width\": \"1004\",\n      height: \"433\",\n      src: new URL(\"https://framerusercontent.com/images/3yoaMd8W2Sjn0YGqqGjxCY3YwMM.png\").href,\n      style: {\n        aspectRatio: \"1004 / 866\"\n      },\n      width: \"502\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Click more on add to your post ,Select \"Check in\" to set up your location tag.'\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,LFGN90gmZBUKNIgpYIw70jjkeZY.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"552\",\n      \"data-framer-width\": \"1011\",\n      height: \"276\",\n      src: new URL(\"https://framerusercontent.com/images/LFGN90gmZBUKNIgpYIw70jjkeZY.png\").href,\n      style: {\n        aspectRatio: \"1011 / 552\"\n      },\n      width: \"505\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Ensure that you\\'ve granted \"Location\" permission to Facebook in your phone settings (you can disable it later).'\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,P4qIsnPNbnP7Z8a0V1auBnEMMM.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"549\",\n      \"data-framer-width\": \"363\",\n      height: \"274\",\n      src: new URL(\"https://framerusercontent.com/images/P4qIsnPNbnP7Z8a0V1auBnEMMM.png\").href,\n      style: {\n        aspectRatio: \"363 / 549\"\n      },\n      width: \"181\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Name Your New Location\"\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Choose a name for your location exactly as you want it to appear on Instagram.\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,HYh41tSJ5hH8C1ERTMmTanQJw3Q.png\",\n      \"data-framer-height\": \"623\",\n      \"data-framer-width\": \"350\",\n      height: \"311\",\n      src: new URL(\"https://framerusercontent.com/images/HYh41tSJ5hH8C1ERTMmTanQJw3Q.png\").href,\n      style: {\n        aspectRatio: \"350 / 623\"\n      },\n      width: \"175\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"\\xa0\", /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Pay attention to spaces, capitalization, and punctuation. Then, tap \"Search.\"'\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"If your new location doesn't already exist or if someone has a similar name registered, that's okay.\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Add Your Location\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsxs(\"strong\", {\n            children: [\"Once you're satisfied with the location name:\", /*#__PURE__*/_jsx(\"br\", {})]\n          })\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,pOBnjH3WIFO7SwOiRJBIcrSmyTc.png\",\n          \"data-framer-height\": \"506\",\n          \"data-framer-width\": \"250\",\n          height: \"253\",\n          src: new URL(\"https://framerusercontent.com/images/pOBnjH3WIFO7SwOiRJBIcrSmyTc.png\").href,\n          style: {\n            aspectRatio: \"250 / 506\"\n          },\n          width: \"125\"\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Scroll to the bottom of the screen.\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: 'Press the \"+ Add [Location you just typed]\" button.'\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Use Your New Custom Location on Instagram\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you've created your custom location, you can use it when posting on Instagram or scheduling a post in Preview. Simply select your new location from the options available.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Is it possible to create an Instagram location without Facebook?\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As of now, there's no direct method to create a new location on Instagram without involving its parent company, Facebook. Instagram relies on Facebook for location data, so you'll need to use Facebook to add a new location.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"But here's the silver lining: Instagram already has a wealth of custom locations created by users and brands. You can tap into this resource to find unique and interesting location names for your posts without having to go through the trouble of creating your own. It's a convenient way to add personality to your Instagram content.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding a location tag to your Instagram story\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Access Stickers\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Open your Instagram app and begin creating a story.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Look for the sticker icon, typically found among the creative tools.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Ejdq3aFPqHLzxiWgloUe9Ip1rus.png\",\n      \"data-framer-height\": \"1280\",\n      \"data-framer-width\": \"720\",\n      height: \"640\",\n      src: new URL(\"https://framerusercontent.com/images/Ejdq3aFPqHLzxiWgloUe9Ip1rus.png\").href,\n      style: {\n        aspectRatio: \"720 / 1280\"\n      },\n      width: \"360\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Select the Location Sticker\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'From the list of available stickers, choose the \"Location\" sticker option.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,w1gFCi3aLNeJJWIRoWTpyn8XDo.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"1155\",\n      \"data-framer-width\": \"720\",\n      height: \"577\",\n      src: new URL(\"https://framerusercontent.com/images/w1gFCi3aLNeJJWIRoWTpyn8XDo.png\").href,\n      style: {\n        aspectRatio: \"720 / 1155\"\n      },\n      width: \"360\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Search for Your Custom Place\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the search box provided, type the name of the custom location you've previously created.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,EQK0wQD8XQc6MvzOdz0OhJHJeyE.png\",\n      \"data-framer-height\": \"1280\",\n      \"data-framer-width\": \"720\",\n      height: \"640\",\n      src: new URL(\"https://framerusercontent.com/images/EQK0wQD8XQc6MvzOdz0OhJHJeyE.png\").href,\n      style: {\n        aspectRatio: \"720 / 1280\"\n      },\n      width: \"360\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Choose Your Custom Place\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"From the search results, select the custom location you added earlier.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Customize Your Location Sticker\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"The sticker with your custom location will now appear in your Instagram story.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If needed, you can tap the sticker to make any adjustments or changes.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding your address to your Instagram BIO\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Including your business address in your Instagram profile is a smart move, as it enables users to directly access directions to your location through the Instagram app. The process is straightforward, but there are a couple of things to note:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Please Note: This feature is exclusively available to users with a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://business.instagram.com/getting-started\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"business Instagram account\"\n        })\n      }), \". If you haven't switched to a professional account yet, we highly recommend doing so. It not only unlocks the address feature but also provides valuable tools and in-depth analytics for better Instagram business management.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Add Your Address to Instagram:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Go to your profile by tapping on your profile picture.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Select \"Edit Profile.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Scroll down and choose \"Contact Options.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Enter your business address and tap \"Done.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Return to \"Contact Options\" and save your changes.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Scroll further to \"Profile Display\" and ensure that \"Display contact info\" is visible.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Finally, tap \"Done.\"'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With these steps, your business address will be visible on your Instagram profile, making it easy for users to locate you and access directions with a simple click.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adding a category to your Instagram location tag\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Adding a category to your Instagram location tag not only enhances its visibility but also makes it easier for users to discover you. Here's how to specify a category for your location:\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 1\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"First, create a new location tag or edit an existing one. This step is crucial to associating a category with your tag.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 2\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After creating or editing your location, tap on the location tag you've just made.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 3\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the top-right corner of the screen, locate the three dots menu (often referred to as\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'the \"Options\" menu).'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 4\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Choose \"Suggest Edits\" from the menu options.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 5:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Inside the \"Suggest Edits\" screen, look for the \"Category\" section and tap on \"+Add Category.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,j0ivjWTyvVprCNIgIPbEymYPA.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"1217\",\n      \"data-framer-width\": \"720\",\n      height: \"608\",\n      src: new URL(\"https://framerusercontent.com/images/j0ivjWTyvVprCNIgIPbEymYPA.png\").href,\n      style: {\n        aspectRatio: \"720 / 1217\"\n      },\n      width: \"360\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 6:\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A new window will appear. Here, type a word related to your business or field in the search box.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Choose a relevant category from the suggested list.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Ksv1y95rL8AcN93Lzm4gjtg0GYw.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"1098\",\n      \"data-framer-width\": \"515\",\n      height: \"549\",\n      src: new URL(\"https://framerusercontent.com/images/Ksv1y95rL8AcN93Lzm4gjtg0GYw.png\").href,\n      style: {\n        aspectRatio: \"515 / 1098\"\n      },\n      width: \"257\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Step 7:\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Finally, tap \"Save\" to confirm your selected category.'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,jvyu5HvBbmNfsYw9JUofwINSuo.png\",\n      \"data-framer-height\": \"1280\",\n      \"data-framer-width\": \"720\",\n      height: \"640\",\n      src: new URL(\"https://framerusercontent.com/images/jvyu5HvBbmNfsYw9JUofwINSuo.png\").href,\n      style: {\n        aspectRatio: \"720 / 1280\"\n      },\n      width: \"360\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"By following these steps, you'll associate a category with your Instagram location tag, making it more likely to appear in searches and helping users find your business or place more easily.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Using location hashtags on Instagram for more visibility\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While adding your address to your Instagram bio and tagging a location are effective ways to showcase your business's location, there's a classic method for boosting your exposure: hashtags!\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In addition to creating custom or event-specific hashtags, consider employing location hashtags. These can help users discover your content, even if they aren't actively searching for your exact location. The best part? It's a free and powerful way to promote your Instagram account!\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Examples of Location Hashtags:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Use city hashtags like #Celeine or #Charlotte to target a broader audience.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Opt for local location hashtags like #GoldenGateBridge or #Stowe for more specific targeting.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Explore local industry hashtags like #thailandfood or #IGersBoston to connect with niche audiences.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Boost your small business presence with hashtags like #streetfood and #shoplocal.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Adding a location hashtag is a breeze. Just type it into your Instagram captions!\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To find the most effective location hashtags for your area, consider searching for relevant options. You can also take inspiration from what your competitors are doing to attract and engage your audience effectively.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Adding location to your Instagram is good for your brand and your followers, either for increased discoverability or to show some personality with location names. If you are an upcoming business or large enterprise and want to increase your brand visibility through Instagram and other social media channels, you can always join hands with\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Cloodot\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Now, Cloodot has a solution for that too. We are completely AI-based and have an \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"AI-powered magic reply button\"\n        })\n      }), \", template replies, contact filters for lead management, and much more, which can reduce your workload by 90%. So, why don't you let Cloodot manage your brand while you enjoy a cup of coffee?\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Why not give it a try and see for yourself what Cloodot can do for your company?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Sign up for a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free trial \"\n        })\n      }), \"or schedule a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" free demo call \"\n        })\n      }), \"with our experts to learn more about Cloodot, the one-stop solution for your Customer Experience Management (CXM).\"]\n    })]\n  }),\n  tcujvgbt3: \"Add Custom Locations on Instagram: Step-by-Step Guide\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 38,\n  wkMiN9hO7: \"Learn how to create custom Instagram locations and increase your brand's visibility on the platform. Get started now!\",\n  z3RB0M3u0: \"How To Add Location On Instagram\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/JNbQFlxqNpMO6Al961u2uusiuUg.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/JNbQFlxqNpMO6Al961u2uusiuUg.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/JNbQFlxqNpMO6Al961u2uusiuUg.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/JNbQFlxqNpMO6Al961u2uusiuUg.png\").href} 1211w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-add-your-business-to-apple-maps\",\n  GSA8tRVAB: true,\n  id: \"dasVNOeXo\",\n  JYmpedk6B: \"2023-09-06T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: \"Adding Your Business to Apple Maps Brings Ease of Service to Your Customers.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.apple.com/in/maps/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Apple Maps,\"\n        })\n      }), \" the integrated navigation application on over 1.2 billion iPhones worldwide, caters to users who are constantly on the move. Many rely on this app to discover a wide range of services, whether it's a restaurant, legal assistance, or a new pair of shoes. If you have a business, you can make it easier for clients and customers to find it by adding it to Apple Maps. Depending on the business you own or operate, it might already be listed. But if it's not, Apple offers an easy-to-use tool to add any physical location in about 1,600 commerce categories. Here's how you can either claim your existing Apple Maps business listing or add your business from scratch.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to Add Your Business to Apple Maps\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Begin by opening your web browser and visiting the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://businessconnect.apple.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Apple Business connect website\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the search field, type your business's name.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your business's name doesn't appear in the dropdown menu, select \\\"Add a missing place.\\\"\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If necessary, sign in using your Apple ID and agree to the terms of use.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'On the \"Add a Missing Place\" page, input all your business details, including the business name, phone number, and category. Then, click \"Next.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Navigate to the upper right corner of the page and select \"Verify Ownership.\" Enter your business information, including the phone number and address.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Click \"Next.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'On the \"Choose a primary contact for your business\" page, provide your contact information and click \"Save and continue.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'To verify your ownership, allow Apple to make an automated call to your business\\'s phone number and enter the four-digit code provided. Click \"Done.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Apple will review the information you provided, and upon approval, your business will be added to Apple Maps.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Is It Possible to Modify My Business Listing on Apple Maps?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Absolutely! It's highly recommended. Offering customers precise and current details minimizes their inconvenience and eliminates barriers that might deter them from engaging with your business, whether it's visiting your restaurant for brunch or exploring your website to discover more about your offerings.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\" Feel free to update your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.apple.com/en-in/guide/maps/mps0fb242419/mac\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Apple Maps listing \"\n        })\n      }), \"whenever your contact information or operating hours change or when you introduce enticing new products or services that users would love to know about.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Optimizing Your Presence on Apple Maps\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"1. Include Relevant Business Information\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The first essential step in optimizing your Apple Maps listings is to provide accurate information about your local business. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://businessconnect.apple.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Apple Business Connect\"\n        })\n      }), \" offers the opportunity to input details like your business name, address, and phone number (NAP) on the Apple Maps place card. You can also add supplementary information such as website URLs, operating hours, and business categories. Ensure all the information in your local listings is up-to-date and accurate.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"2. Monitor Reviews\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you manage multiple locations, you're likely aware of the significance of reputation management. Yelp reviews are prominently displayed on your business's Apple Maps place card. Interestingly, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"97 percent\"\n        })\n      }), \" of review readers pay attention to how businesses respond to reviews, and when it comes to negative reviews, 87 percent of consumers are willing to reconsider if the business responds effectively. This data underscores the importance of monitoring and responding to reviews on your Apple Maps place cards.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-ask-for-reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Explore how to ask customers for reviews to enhance your online reputation management.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"3. Utilize Showcases in Apple Business Connect\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Showcases, a recent addition to the Apple Maps place card, enables businesses to showcase offers and incentives like seasonal menu items or product discounts. Updating this Showcase section through Business Connect allows you to share promotional content, aligning with what you might already create for other search and social platforms. For instance, if your gym is offering a free month of membership for new sign-ups, you can highlight this in your Showcase. Leveraging Showcases can give your brand an advantage.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"4. Incorporate a Keyword Strategy.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By including relevant keywords, you can increase the visibility of your local listings on Apple Maps. Start with thorough keyword research to identify the terms that resonate with your target audience. Once you've compiled a list of essential keywords, incorporate them into your Apple Maps listings and when responding to Yelp reviews. This strategic use of keywords can enhance your online visibility for relevant searches. However, avoid overloading your content with keywords; use them naturally in your content or review responses.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['Note: For additional insights on improving your local search efforts, you can refer to our guide, \"', /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Step Up Your Local SEO Game with Google My Business: A Comprehensive Guide\"\n        })\n      }), '.\"']\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Unlocking the Benefits of Apple Maps for Your Business.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"1. Connect with a Vast Apple User Base\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With over a billion Apple devices in use across the globe, tapping into this extensive customer base is a major plus for any business. While many of these users rely on various navigation apps, some are already embracing Apple Maps. By listing your business here, you can \", /*#__PURE__*/_jsx(Link, {\n        href: \"htt/blog/getting-started-with-customer-retention\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"effortlessly connect \"\n        })\n      }), \"with these potential customers.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"2. Boost Visibility and Engagement\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To attract customers, your business requires visibility, awareness, and engagement. Listing your business on Apple Maps broadens your reach, drawing the attention of a more extensive customer base.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"3. Verify and Update the Listing's Accuracy\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Your business may already be listed on Apple Maps. Claiming your listing is a valuable step because it verifies and updates all the essential information. This, in turn, empowers customers with the correct details needed to engage with your business.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"4. Reach Customers on the Go\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Apple Maps becomes a trusted companion for users when they're out and about. Adding your business ensures that potential customers can easily find you when they're in your vicinity. This convenience encourages visits and, hopefully, conversions.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"5. Embrace New Features\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Apple Maps is always evolving. It's currently exploring a feature called \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.apple.com/in/newsroom/2023/06/apple-previews-new-features-coming-to-apple-services-this-fall/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Business Chat\"\n        })\n      }), \" (in beta), which enables businesses to directly communicate with customers via the app. This means you can provide on-demand customer service when it matters most. By listing your business on Apple Maps today, you'll be ready to access these exciting features before your competitors.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By adding your business to Apple Maps, you not only expand your reach but also position yourself for future growth and innovation on this dynamic platform.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"6. Stay Ahead of the Curve\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While Apple Maps may not currently be the most dominant navigation tool, it's continually evolving. By adding your business now, you position yourself favorably as more users adopt this app.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Conclusion\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Incorporating Apple Maps SEO into your holistic digital strategy is a strategic move. At Cloodot, we provide a range of \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"BOhZF6xKa\"\n        },\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"innovative SaaS\"\n        })\n      }), \" (Software as a Service) solutions, harnessing the power of AI and automation. Our suite of products is designed to streamline and modernize customer experience management, primarily focusing on \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"FUV2jTOUV\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \" and \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"J4ekHl8Xz\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"messaging\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With Cloodot's cutting-edge tools, you can proactively manage your brand's online reputation, engage with customers effectively, and elevate your business to new heights. Explore our SaaS offerings today and experience the \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"how-an-all-in-one-inbox-can-help-in-growing-your-business\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"future of customer experience management.\"\n        })\n      })]\n    })]\n  }),\n  tcujvgbt3: \"How to Add Your Business to Apple Maps.\",\n  tnSC8si1b: \"RS4Mncczl\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 37,\n  wkMiN9hO7: \"Claim Your Existing Apple Maps Business Listing or Add Your Business from Scratch\",\n  z3RB0M3u0: \"How to Add Your Business to Apple Maps.\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/jQAFL91zi0HQxbkd69d2Vl3qvjs.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/jQAFL91zi0HQxbkd69d2Vl3qvjs.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/jQAFL91zi0HQxbkd69d2Vl3qvjs.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/jQAFL91zi0HQxbkd69d2Vl3qvjs.png\").href} 1211w`\n  }, \"\"),\n  B7LIlf4Jc: \"top-10-restaurant-review-sites\",\n  GSA8tRVAB: true,\n  id: \"L7H1Sievn\",\n  JYmpedk6B: \"2023-09-05T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-effectively-manage-and-respond-to-restaurant-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"online reviews of your restaurant\"\n        })\n      }), \" hold immense power, capable of shaping its success or failure. Surveys have indicated that a substantial \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"82% \"\n        })\n      }), \"of consumers actively peruse online reviews of local businesses before deciding to visit. As a result, establishing a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"robust presence on review platforms \"\n        })\n      }), \"and securing favorable ratings is of utmost importance.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Notably, review platforms like Google and Yelp often garner significantly higher levels of traffic compared to their less-frequented counterparts among restaurant review sites\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Explore these best restaurant review sites today to ensure your establishment maintains a strong online presence.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Google Business Profile\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,jmiXEZd3G9zQsxBBT5oFxS3RbwA.png\",\n      \"data-framer-height\": \"1200\",\n      \"data-framer-width\": \"1280\",\n      height: \"600\",\n      src: new URL(\"https://framerusercontent.com/images/jmiXEZd3G9zQsxBBT5oFxS3RbwA.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1200\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the realm of review sites, Google Business Profile undeniably reigns supreme as the most highly trafficked and indispensable platform you should focus on.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-ways-google-my-business-experts-can-help-you-succeed\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business reviews\"\n        })\n      }), \" wield substantial influence, prominently surfacing when individuals search for restaurant reviews or nearby dining options. Thus, the quality of these reviews is paramount. Negative recent reviews can significantly deter potential customers from choosing your establishment.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"\\xa0Given Google's status as the world's largest search engine, with an estimated 5.8 billion daily searches, your restaurant's presence on\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/business/restaurants/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google My Business\"\n        })\n      }), \" is indispensable. Notably, it's a free listing that not only boosts visibility in Google Maps searches but also simplifies discovery for potential patrons. Every restaurant should seize this opportunity to enhance their online presence and attract a broader customer base.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"OpenTable\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,hnpLcuieoZ05V7k5eo1iMAW7GC4.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/hnpLcuieoZ05V7k5eo1iMAW7GC4.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://restaurant.opentable.com/why-opentable/?utm_source=dinersite&utm_medium=referral&utm_campaign=topnav&Lead.LeadSource=DinerSite&Lead.Marketing_ID__c=topnav#\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"OpenTable\"\n        })\n      }), \" boasts an extensive audience, attracting a remarkable \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.similarweb.com/website/opentable.com/#overview\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"43.4 million unique monthly visitors\"\n        })\n      }), \" who engage in activities beyond mere reservation bookings.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A Wealth of Insights:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This platform offers potential patrons the opportunity to delve into a vast repository of reviews, exceeding\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.similarweb.com/website/opentable.com/#overview\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" 43.4M i\"\n        })\n      }), \"n total, mirroring the features of other restaurant review sites we've explored. Additionally, diners have the chance to accrue dining rewards based on their reservation frequency and dining experiences.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Your restaurant's rating on OpenTable holds the potential to wield significant influence, often determining whether a customer opts to make a reservation at your establishment.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Facebook\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,DJhLKtIUa75rhrHpWMI4jyRcl8.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/DJhLKtIUa75rhrHpWMI4jyRcl8.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Facebook, being one of the largest and most frequented websites, naturally places a significant emphasis on the importance of Facebook reviews for restaurants.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With an astonishing user base of nearly 2.5 billion active monthly users, Facebook presents a massive audience that may contribute reviews or explore existing ones before deciding to visit your restaurant.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"One notable advantage of Facebook reviews is the ease with which you can interact with customers directly on the platform. This capability allows you to promptly respond to reviews.\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Responding thoughtfully to negative reviews\"\n        })\n      }), \" not only makes customers feel heard but also has the potential to turn a negative review into a positive one when combined with exceptional customer service.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Facebook also serves as an excellent platform for executing a social media marketing strategy and leveraging social ads. Employing Facebook advertising can effectively reach a vast and precisely targeted audience when approached with the right strategies and practices.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Foursquare\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,BF7jVm5fqR268JCdrOjef9KuVOA.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/BF7jVm5fqR268JCdrOjef9KuVOA.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://foursquare.com/restaurant_com\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Foursquare \"\n        })\n      }), \"stands out as a multifaceted restaurant review site, that doubles as a city guide. It boasts an impressive repository of 85 million tips, serving as a valuable resource for users seeking to discover new restaurants and peruse reviews before making their dining choices.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Maximizing Restaurant Presence:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To harness the full potential of Foursquare, restaurant proprietors can initiate a search for their establishment on the platform and subsequently claim it. Once claimed, they gain control over their profile, enabling them to furnish it with essential details and unlock access to invaluable restaurant marketing tools, including Analytics. These tools yield deep insights into customer behavior and preferences.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With its diverse array of listings and formidable online footprint, Foursquare presents restaurant owners with a compelling opportunity to attract a broader customer base and elevate their revenue streams.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Yelp\\xa0\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,MxtMn3EtmsNKgq0bjNY3hVPS08.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/MxtMn3EtmsNKgq0bjNY3hVPS08.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.yelp.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Yelp \"\n        })\n      }), \"stands as one of the most renowned and extensively used restaurant review platforms in the United States. It serves as a hub for user-generated reviews, ratings, and comprehensive restaurant details. With\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://techjury.net/blog/yelp-statistics/#:~:text=One%20of%20these%20addicting%20apps,million%20unique%20mobile%20users%20daily.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" 92 million monthly unique visitors\"\n        })\n      }), \", Yelp's prominence in the restaurant review arena is well-deserved.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Taking active control of your Yelp listing empowers you to effectively manage and respond to all reviews, be they positive or negative. This commitment not only cultivates loyalty among existing customers but also entices those on the lookout for new dining experiences. It's a level of engagement that underscores your dedication to delivering a top-notch product and an exceptional customer experience.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For larger businesses, Yelp offers valuable opportunities, particularly with its support for multi-location establishments. Through features like Seasonal Spotlight Ads, Yelp collaborates with these businesses to drive traffic and visibility to their various restaurant locations.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"TripAdvisor\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Y3rWR74TkcYq6oytfPawGw5kYSE.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/Y3rWR74TkcYq6oytfPawGw5kYSE.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.tripadvisor.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"TripAdvisor\"\n        })\n      }), ' is a renowned global travel platform known for its extensive collection of user-generated restaurant reviews and ratings. While it covers various aspects of travel experiences, it\\'s particularly notable in the realm of restaurant listing sites. Keywords like \"restaurants near me\" and \"food near me\" drive significant traffic to their website.']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This platform gathers restaurant reviews contributed by travelers worldwide, offering rankings and online reservation options. Claiming your business on TripAdvisor provides the flexibility to customize restaurant details, upload photos, and engage with reviews, among other features.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"TripAdvisor's global reach makes it a valuable resource for both business owners and consumers. Your potential diners could be coming from various corners of the world, and TripAdvisor enables you to connect with these seasonal customers. Ensuring your TripAdvisor page reflects your brand and, most importantly, your culinary offerings is essential. A polished, well-curated appearance enhances click-through rates, garners more reviews, and potentially drives foot traffic.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As of now, TripAdvisor attracts millions of users daily, making it a significant platform for restaurant exposure and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reputation management\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Eater\\xa0\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,YlahBlhaNspG1fQcT7jA7zWN8bE.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/YlahBlhaNspG1fQcT7jA7zWN8bE.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.eater.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Eater \"\n        })\n      }), \"has gained fame in the US food market for several compelling reasons. Firstly, it serves as an authoritative source for food enthusiasts, offering a wealth of news, reviews, and city-specific dining guides. This comprehensive coverage keeps readers well-informed about the latest restaurant trends and exciting openings, making it a go-to destination for culinary enthusiasts.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Furthermore, Eater's daily user base of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.similarweb.com/website/eater.com/#overview\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" 18.7 million\"\n        })\n      }), \" underscores its significant influence and reach. Its consistent and engaging content attracts a broad audience of food lovers, professionals, and curious diners. This massive user engagement cements Eater's reputation as a trusted and prominent resource in the ever-evolving culinary landscape of the United States.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"\\xa0Michelin Guide\\xa0\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,5M93vCZHCbbO73fmN505ReDXlQ.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/5M93vCZHCbbO73fmN505ReDXlQ.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The Michelin Guide is renowned in the US food market for its exceptional reputation and influence in the culinary world. The Michelin Guide is renowned for its meticulous and prestigious restaurant ratings, particularly the coveted Michelin stars. It holds a distinguished reputation for recognizing and celebrating exceptional dining establishments. For restaurants, receiving a Michelin star is a significant honor, signifying outstanding culinary excellence. The guide's rigorous evaluation process and impartiality contribute to its credibility in the culinary world, attracting diners seeking top-tier dining experiences. Additionally, Michelin Guide recommendations often lead to increased visibility and patronage, providing a significant boost to the restaurants it highlights.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"One of the reasons the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://guide.michelin.com/en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Michelin Guide \"\n        })\n      }), \"is famous in the US is its meticulous and rigorous evaluation process by\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://guide.michelin.com/tw/en/article/features/a-chat-with-a-michelin-guide-inspector-tw\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" anonymous inspectors\"\n        })\n      }), \" who visit and assess restaurants. This process ensures that only the finest dining experiences receive Michelin stars, making the guide a trusted source for food enthusiasts seeking extraordinary culinary adventures.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Grubhub\\xa0\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,axz9VRsipKNeGdKFr4w7fN1io8.png\",\n      \"data-framer-height\": \"1024\",\n      \"data-framer-width\": \"1280\",\n      height: \"512\",\n      src: new URL(\"https://framerusercontent.com/images/axz9VRsipKNeGdKFr4w7fN1io8.png\").href,\n      style: {\n        aspectRatio: \"1280 / 1024\"\n      },\n      width: \"640\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Grubhub stands out as one of the best food delivery apps in the US market for several reasons. First and foremost, it boasts an extensive network of over 365,000 restaurant partners in more than 4,000 cities across the United States. This vast selection of restaurant options provides customers with unparalleled choices for their takeout or delivery needs.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"One of Grubhub's key strengths is its dedication to helping restaurants grow their businesses. They offer restaurants opportunities to experiment with new concepts, modernize their operations, and expand their reach, making them a valuable partner for the food industry.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Grubhub also prioritizes flexibility for its drivers, offering them opportunities to work and earn on their terms. This approach not only benefits drivers but also ensures reliable and timely deliveries for customers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In terms of ratings and users, Grubhub's success can be measured by its substantial user base and positive reviews. While specific daily user numbers may vary, Grubhub consistently ranks among the top food delivery platforms, garnering millions of users and a high average rating due to its extensive restaurant choices, reliable service, and user-friendly app.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Overall, Grubhub's combination of a vast restaurant network, support for restaurant growth, driver flexibility, and a strong user base makes it a standout player in the US food delivery market, earning it consistently positive ratings and reviews from satisfied customers.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: \"Zagat\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.chase.com/personal/zagat\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Zagat\"\n        })\n      }), \" serves as a one-stop hub for individuals seeking comprehensive restaurant guides, reviews, reservations, and menu information. Drawing nearly 500,000 distinct online visitors each month, it stands as a valuable resource. Whether you're in search of beloved local dining establishments or the latest culinary trends, Zagat has you covered, making it an ideal destination for gastronomes.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Conclusion\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Through the examination of customer reviews, restaurants can acquire valuable insights into the experiences of their patrons, which can be leveraged to enhance their service and overall hospitality.\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you are an upcoming restaurant with bookings from multiple channels like Facebook, Google My Business, and more, and you want to elevate your business to new heights, then you are just one step away from Cloodot. We can assist you in managing all your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/bulkmarketingmessaging\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"marketing campaigns\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analysis reports\"\n        })\n      }), \" for your restaurant, and much more, all of which are completely AI-based. This means you won't have to handle any tasks manually, and all of these functions are conveniently accessible from one dashboard.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Isn't that cool?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Imagine being able to manage everything in one place without the need for multiple apps.\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Cloodot's CX management solution \"\n        })\n      }), \"is your ideal choice for handling your customers and reducing your workload by up to 90%. Automation is undeniably the most efficient solution for businesses, and Cloodot can provide you with a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" free trial\"\n        })\n      }), \" when you sign up or schedule a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free demo call\"\n        })\n      }), \" with our experts to demonstrate the impact Cloodot can have on your company.\"]\n    })]\n  }),\n  tcujvgbt3: \"Top 10 Restaurant Review Sites 2023: Elevate Online Presence\",\n  tnSC8si1b: \"RS4Mncczl\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 36,\n  wkMiN9hO7: \"\\\"Explore top 2023 restaurant review sites. Boost your online presence and customer engagement with the best platforms for your restaurant's success.\",\n  z3RB0M3u0: \"Top 10 Restaurant Review Sites \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/fIOEZLN0JmtDQKj3OvtYtmEG8W0.png\").href} 4732w`\n  }, \"how to ask for review | Cloodot\"),\n  B7LIlf4Jc: \"how-to-ask-for-reviews\",\n  GSA8tRVAB: true,\n  id: \"poXs84bAw\",\n  JYmpedk6B: \"2023-09-02T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Exceptional customer reviews are now crucial for attracting new business. In today's consumer landscape, trust in brands has waned, with buyers relying on peer experiences to guide their choices. Surprisingly, a whopping \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://seositecheckup.com/articles/10-online-review-statistics-that-are-important-for-businesses-to-know-in-2023\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"72% \"\n        })\n      }), \"of customers trust online reviews as much as personal recommendations.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"These reviews wield tremendous influence, nudging potential buyers towards your offerings by fostering trust in the candid perspectives of real people. However, this trust is delicate, and heightened consumer expectations mean that even a single negative review can drive customers away from your competitors.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The significance of reviews becomes clear when you consider that approximately 35% of shoppers are less likely to make a purchase, 32% will delay their decision for further research, 23% struggle with their choices, and 2% decide not to buy at all based on the reviews they encounter.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Why do we ask for a review?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Consider it from the consumer's perspective. When you visit a website to make a purchase, your initial instinct is often to seek out customer reviews. After all, as a buyer, you tend to place more trust in the experiences of fellow buyers than in the seller's claims.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For business owners, reviews are not just about building trust; they also provide invaluable insights into your customers' desires and individual needs. In today's digital age, concentrating on platforms like Google and Facebook right from the start of your review strategy is a smart move that can't go wrong.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Reviews are invaluable to consumers. In a study by \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", 93% of consumers regarded online reviews for local businesses as equally helpful as product reviews on major platforms like Amazon.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Furthermore, consumers actively seek out reviews. Reports done by Cloodot show that a whopping \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"88%\"\n        })\n      }), \" of consumers regularly peruse online reviews when evaluating local businesses.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How do you ask customers for reviews?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When it comes to building a positive online reputation, customer reviews are like gold dust. They can influence potential customers and provide valuable insights for your business. However, the art of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" asking for reviews \"\n        })\n      }), \"requires finesse. Timing, in particular, plays a critical role. In this guide, we'll explore the strategic ways to ask customers for reviews, ensuring that your request is both well-timed and effective.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to ask for a review in-person\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're unsure about how to request an online review, especially if you lack a sizable or engaged email list, consider making an in-person appeal. This approach is particularly effective for business owners who enjoy interacting with customers personally and have a good understanding of their clientele.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,KWu9SCx8UkfNqMHLygacyiPAIs.jpg\",\n      \"data-framer-height\": \"6000\",\n      \"data-framer-width\": \"6000\",\n      height: \"3000\",\n      src: new URL(\"https://framerusercontent.com/images/KWu9SCx8UkfNqMHLygacyiPAIs.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6000 / 6000\"\n      },\n      width: \"3000\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To facilitate the process, you can provide the customer with a card containing a relevant link. This way, they can easily locate your page and leave a review. If you're uncertain about what to say, you might use a friendly and straightforward script like this:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"\\\"Hi, [Customer's Name], it's wonderful to see you again. If you have a moment while you're here, could I ask for a small favor? We're striving to gather more [Google/Facebook/Yelp/etc.] reviews for our page\u2014would you be willing to write one? Simply use this link on your smartphone or search for our page. Your support would mean a lot to us!\\\"\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Asking for a review via SMS\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you have a roster of registered customers, you likely possess more than just their email addresses; you probably have their mobile phone numbers too. Leveraging this information, you can send a succinct and courteous \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/textmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SMS to request customer reviews.\"\n        })\n      }), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"Asking for a review via SMS | Cloodot\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,iMCAn6GewV1pKN6gw9IblTqgh4o.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"934\",\n      \"data-framer-width\": \"1184\",\n      height: \"467\",\n      src: new URL(\"https://framerusercontent.com/images/iMCAn6GewV1pKN6gw9IblTqgh4o.png\").href,\n      style: {\n        aspectRatio: \"1184 / 934\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In some cases, SMS can prove to be an even more effective solution than email or social media. With SMS, you can be confident that nearly all your customers will read your message. If it only requires a couple of clicks [Title], the chances of securing those valuable reviews increase significantly.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Hello [Customer Name],\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"I hope you're doing well. I'm [Employee Name], [Title] at [Your Company]. I wanted to personally reach out to you to inquire about your recent experience with us. We strive to provide excellent service, and your feedback is invaluable to us. Could you take a moment to share your thoughts by clicking on this link: [Review Link]?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Thank you for your time!\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Best regards,\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"[Employee Name]\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to ask customers for reviews on social media\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Asking for reviews on social media, with Facebook being a prime platform fo\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"r review sites\"\n        })\n      }), \", is a valuable strategy for \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"bolstering your online reputation\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Request Reviews on Facebook:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Create Social Media Posts from Customer Reviews: Another effective strategy is to turn customer reviews into social media posts. Showcase positive customer reviews directly on your Facebook feed, following the example set by this local business. You can also provide a convenient link for customers to share their own reviews.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This approach not only highlights the positive experiences of your customers but also encourages others to engage and share their thoughts. It's a simple yet effective way to harness the power of social media to build your brand's credibility.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Asking for a review via Email\\xa0\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Using email to request reviews is a strong strategy for businesses. Not only is it a reliable channel for customer communication, with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.entrepreneur.com/growing-a-business/7-statistics-that-prove-email-marketing-isnt-dead/251752#:~:text=6.,most%20popular%20uses%20for%20smartphones.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"91% \"\n        })\n      }), \"of consumers checking their email daily, but it also allows for the inclusion of review platform links and testing of various formats and languages.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You can request reviews via email through a broad email blast or personalized messages. Here are some concise templates to consider:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: '\"Hello!'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Your positive reviews mean the world to us and assist others like you in choosing [business name] with confidence. Could you spare 60 seconds to visit [review platform link] and share your experiences?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"We're incredibly thankful for your support. Your help is greatly appreciated!\\\"\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to ask the customer for a review through WhatsApp\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"WhatsApp is an excellent channel for requesting reviews due to its direct and personal nature. In addition, WhatsApp has \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/whatsapp-is-taking-down-every-other-channel-by-introducing-a-new-feature-check-it-out\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"launched new features \"\n        })\n      }), \"that make it easier to solicit feedback. To ask for a review through WhatsApp:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin with a friendly and personalized message to engage the customer. Express your appreciation for their support and their recent interaction with your business. And then politely ask if they would be willing to share their thoughts and experiences by leaving a review on your preferred platform, You have to make sure to include a direct link to the review platform for their convenience. Always respect their time and decision, and thank them regardless of their response.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"\\\"Hi [Customer's Name],\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"I hope this message finds you well. We wanted to take a moment to thank you for choosing [Your Business Name]. Your support means a lot to us.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"If you have a spare moment, we'd greatly appreciate it if you could share your experience with us by leaving a review. It helps us immensely in serving you better.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"You can leave your review by clicking on this link: [Review Link]\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Thank you for considering this. Your feedback is invaluable to us.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"Warm regards,\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: '[Your Name]\"'\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Requesting reviews post-purchase:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For some businesses, asking for a review immediately after a purchase is logical, while others may prefer to wait, allowing the customer to use the product or service. It's essential to tailor your post-purchase review requests accordingly.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Post-purchase trigger emails are excellent opportunities to seek reviews. Here are two concise and friendly ways to request reviews or feedback on your thank-you pages:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: \"\\\"Dear [Customer's Name],\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: \"We want to express our heartfelt thanks for your recent order. Making your shopping experience enjoyable is our top priority, and we're eager to hear about your experience.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: \"If you could spare just a few minutes to share your thoughts and leave us a review, we would truly appreciate it!\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: \"Thank you for choosing us.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: \"Warm regards,\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: /*#__PURE__*/_jsx(\"strong\", {\n          children: '[Your Name]\"'\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Requesting Reviews on Your Website\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['To encourage customer reviews on your website, consider strategically placing a \"Call to Action\" (CTA) in various locations. However, many businesses find it beneficial to create a dedicated reviews or', /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.wordstream.com/blog/ws/2017/07/19/customer-testimonial-examples\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" testimonials page\"\n        })\n      }), \" accessible via their main navigation. This is typically one of the first things prospective customers look for when researching a business.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: '1. Create a \"Leave Us a Review\" Page'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'An effective approach is to have a dedicated \"Leave Us a Review\" page, which can be prominently featured in your website\\'s main navigation.\\xa0'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Include Existing Reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Ensure that your website features a page displaying existing reviews or includes them directly on your \"Leave a Review\" page. This provides potential reviewers with an idea of the review\\'s brevity and serves as a starting point.'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Review Generation Tools:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Review generation tools \"\n        })\n      }), \"are software or platforms designed to assist businesses in actively collecting and managing customer reviews. These tools streamline the process of soliciting feedback, making it easier to build a positive online reputation and gather valuable insights. They often offer features like automated review requests, monitoring reviews across various platforms, and generating review links.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to Get a QR Code for a Google Review and Ask for Reviews:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To obtain a QR code for Google reviews, you can use online QR code generator tools. These tools allow you to input your Google review link and generate a scannable QR code. Here's a template for requesting reviews with a QR code:\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: /*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"\\xa0How to Create a Google Reviews Link and Ask for Reviews:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The standard URL for\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/business/?ppsrc=GPDA2\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google My Business\"\n        })\n      }), \" is a very lengthy process. It's a little difficult to submit review requests. Fortunately, there is a better approach. Google allows you to claim a Google My Business short URL. It appears as follows:\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Your short link makes it simple to deliver review requests both online and in person. Follow the cloodot's instructions for\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-generate-google-review-links\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" creating a Google reviews link\"\n        })\n      }), \" for your Google company profile. This might assist you in accomplishing this.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To establish industry authority and foster business growth, implementing a range of strategies is essential. One such highly effective strategy is\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" garnering online reviews from your customer base.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"However, to consistently \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"collect customer feedback\"\n        })\n      }), \", it's crucial to enhance your connections and relationships with both existing and prospective customers. Cloodot is your ideal companion in achieving this. By seamlessly integrating Cloodot with your With existing sales and marketing tools, you can gather all your\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reviews\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \", and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"analysis reports \"\n        })\n      }), \"from multi-channels under one roof, and with that, you can drive desired customer actions with remarkable success.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Cloodot's innovative features empower you to create lasting customer relationships and gather invaluable feedback that propels your business forward.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Sign up for a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free trial \"\n        })\n      }), \"or schedule a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free demo \"\n        })\n      }), \"to learn more.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"Leverage Customer Reviews: 10 Expert-Backed Ways to ask reviews [with templates]\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 35,\n  wkMiN9hO7: 'Learn the art of asking for reviews and bolster your online reputation. From in-person appeals to email requests, discover proven techniques to collect valuable customer feedback.\"',\n  z3RB0M3u0: \"How To Ask For Reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/Xk53DbEQvHCXXqfxVLndbDMuk.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Xk53DbEQvHCXXqfxVLndbDMuk.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Xk53DbEQvHCXXqfxVLndbDMuk.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Xk53DbEQvHCXXqfxVLndbDMuk.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/Xk53DbEQvHCXXqfxVLndbDMuk.png\").href} 3600w`\n  }, \"10 Best Marketing Ideas for Plumbing Business | Cloodot\"),\n  B7LIlf4Jc: \"10-best-marketing-ideas-for-plumbing-business\",\n  GSA8tRVAB: true,\n  id: \"md_knBmCx\",\n  JYmpedk6B: \"2023-09-01T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Many plumbers dream of owning their own business instead of working for someone else their whole lives. Once you've gained a few years of experience, it's a natural step to start your own plumbing company. But once you've taken that leap, how do you let people know about your services?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Having your own plumbing business means you're in control and can enjoy financial benefits. It does, however, come with responsibilities. Your business may suffer if you are not driven and motivated.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You did not start your plumbing company to sit in front of a computer all day. So, how do you go from barely scraping by to rapidly expanding and thriving? In this guide, we will give you 10 proven ideas for marketing your plumbing business.\\xa0\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \" Make your plumbing website mobile-friendly for better customer reach\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"We are all aware that everything these days is done online, from booking a hotel to getting in-home assistance, so having a strong online presence for your plumbing business is critical. This means ensuring that your website works smoothly on smartphones and tablets, as most people use these devices to search for services. To achieve this, follow these steps:\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,oXyEqOeVpwfxl5vROm5PKN9Na6M.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"2659\",\n      \"data-framer-width\": \"4012\",\n      height: \"1329\",\n      src: new URL(\"https://framerusercontent.com/images/oXyEqOeVpwfxl5vROm5PKN9Na6M.png\").href,\n      style: {\n        aspectRatio: \"4012 / 2659\"\n      },\n      width: \"2006\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Optimize for Mobile:\"\n      }), \" Your website should look good and work well on mobile devices like smartphones and tablets. It shouldn't be crowded with too many pictures or long paragraphs.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Responsive Design: \"\n      }), \"Your site should be able to adjust and look great no matter the screen size. Whether someone views it on a big tablet or a small smartphone, it should be easy to navigate.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Adapted Versions: \"\n      }), \"Your website should automatically adjust itself based on the device someone is using. So, if a customer visits from a phone, they see a version that suits phones.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consider a Mobile App: \"\n      }), \"Creating a mobile app specifically for your plumbing business can be a smart move. It allows customers to easily access your services and information on their mobile devices.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Boost your plumbing website's visibility with smart SEO strategies\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Did you know that a whopping\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" 90% of people\"\n        })\n      }), \" turn to the Internet to discover local businesses? When diving into enhancing your plumbing company's search engine optimization (SEO) for the busy homeowners of today, think local and focus on the keywords that truly resonate.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Imagine a scenario where your next-door neighbor remains a mystery, let alone being someone you\\'d ask for plumbing recommendations. In this digital age, customers are more likely to grab their phone, tablet, or laptop and hit up the online realm to search for \"plumbers near me\" with solid reviews.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'For instance, when someone types in phrases like \"plumber near me,\" \"fix the water leak,\" or \"unclog drain\" on Google, the magic happens. Google\\'s clever algorithm hunts down results that match those keywords while prioritizing those closest to the searcher\\'s location. To earn a prized spot on Google\\'s Page 1 organic search results, hone in on local flavor while selecting the right keywords that potential customers typically use.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Suppose you're a plumbing company in, say, Mumbai. Make sure to include \\\"Mumbai pipe repair\\\" as a key keyword. Sprinkle intriguing variations of these keywords across your website's content, blog posts, headlines, and other spots like meta tags and descriptions. This SEO wizardry helps your website shine and increases the likelihood of your business being a prominent result when locals scout for reliable plumbers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"So, gear up and embrace these strategies to ensure your plumbing prowess captures the online spotlight in your city, helping you become the top choice for plumbing needs.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Request for reviews\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Elevate your business by actively\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" requesting reviews\"\n        })\n      }), \", a practice that has evolved from casual neighborly chats to today's global online stage. With 74% of people indicating that \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"positive reviews enhance their trust in a business\"\n        })\n      }), \", these testimonials wield substantial influence.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"google review request | Cloodot\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,tgr1L7Fk0jKxJkvZ2YwifgJLJHQ.png\",\n      \"data-framer-height\": \"1260\",\n      \"data-framer-width\": \"2400\",\n      height: \"630\",\n      src: new URL(\"https://framerusercontent.com/images/tgr1L7Fk0jKxJkvZ2YwifgJLJHQ.png\").href,\n      style: {\n        aspectRatio: \"2400 / 1260\"\n      },\n      width: \"1200\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Not only do reviews bolster credibility and guide purchase decisions, but they also contribute to online visibility and offer constructive feedback for refinement. To harness their power, encourage reviews on platforms like Google My Business, social media, industry-specific websites, emails, and your website. Embrace the simplicity of Cloodot's one-click \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review request feature\"\n        })\n      }), \", streamlining the process and ensuring you're on track to build trust, credibility, and a strong online reputation.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: [/*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Get noticed with your verified Google business profile\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Elevate your plumbing enterprise's visibility on local search outcomes, amplify traffic to your business website, and streamline the discovery of your services for potential customers by taking ownership of your \u201C\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Business Profile.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Effortlessly present an overview of your plumbing venture and offerings through your Google Business Profile. Showcase your essential details, logo, service radius, operating hours, customer feedback, and captivating images to captivate and inform visitors.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Stay ahead with lead tracking and reporting\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"One of the premier customer experience management companies recommends that plumbers and other service providers prioritize \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"lead tracking and reporting \"\n        })\n      }), \"when assessing the effectiveness of their \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience marketing strategy.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Stay in the loop on your progress through effective lead tracking and reporting.\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Don't settle for unclear lead details.\\xa0\"\n          })\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Nail down costs and calculate ROI with utmost accuracy.\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"And if your marketing agency isn't equipping you with the tools to gather data, it's falling short of your needs.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To make well-informed decisions about allocating your plumbing marketing budget, you deserve total transparency and comprehensive insights into all your leads. This way, you can precisely analyze your costs and measure your return on investment.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Promote your plumbing services with Google ads\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Harness the potential of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://ads.google.com/home/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google ads \"\n        })\n      }), \"to connect with potential clients seeking urgent assistance or installations, streamlining their decision-making process without navigating through numerous plumbing options.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Google offers two effective types of plumbing ads for your business:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Search Ads:\"\n      }), \" Similar to Local Service Ads, Search Ads also claim the top spot on Google's search results page. Comprising a compelling headline, descriptive content, and a URL guiding users to your website, these ads encourage potential customers to learn more about your offerings or request your services.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Local Service Ads:\"\n      }), \" These ads feature prominently at the pinnacle of Google's search results, positioned just above organic listings. Tailored for plumbers with specific service areas, Local Service Ads are a precise way to target consumers in localized neighborhoods. When individuals search for services related to your expertise (e.g., \\\"emergency plumber in Kochi\\\"), your ad materializes, showcasing your plumbing company's name, Google rating, operational hours, and a direct link to your website.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Stay connected and provide value through email marketing\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Harness the potential of email marketing as a plumber to maintain a strong presence in your customers' minds, ensuring you're readily available when their plumbing needs arise.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To effectively employ this customer experience marketing approach, tailor your content to resonate with your audience's needs. Consider these engaging strategies:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Maintenance Reminders: \"\n      }), \"Send timely notifications about essential or recommended plumbing maintenance tasks, establishing your business as a trusted advisor in safeguarding their plumbing systems.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Empower with Knowledge: \"\n      }), \"Share valuable plumbing insights and tips, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"fostering brand loyalty\"\n        })\n      }), \" by offering guidance on topics such as shutting off water in emergencies or identifying signs of water heater issues.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Seasonal Guidance: \"\n      }), \"Provide practical reminders aligned with the changing seasons. Offer advice to prevent winter-related pipe bursts or maintain plumbing efficiency during the summer, positioning your expertise as indispensable.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Craft a memorable and game-changing plumbing brand\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Is your plumbing company's name and logo etched into customers' memories?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How can you ensure your brand stands out in the bustling crowd while retaining its uniqueness?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Does your company emanate a sense of trustworthiness and comfort for customers?\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"According to Cloodot, one of the best customer experience management companies in India, the fate of a small business hinges on its branding. Especially during periods of economic uncertainty, the need to distinguish your brand becomes paramount.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Initiate your journey with innovative plumbing company names and inventive plumber logo concepts that linger in the minds of potential customers, ensuring they recall you when plumbing needs arise.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The perception prospective customers have of your company extends to your advertising efforts, truck signage, and employee uniforms. As Cloodot suggests, constantly strive to create a memorable and groundbreaking brand.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '\"Being memorable\" means that your brand is easily remembered when the need arises, Cloodot explains. \"As plumbers, we are working against the anxiety homeowners feel when they invite someone into their space. They want to ascertain who is reliable enough to enter their homes and repair their belongings.\"'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To disrupt the norm, your plumbing brand must stand out. It should be distinctive and avoid blending into the background.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Cloodot advises that an effective brand accomplishes the following to attract customers:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Instills confidence and ease in customers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Dispels negative preconceptions and biases.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Inspires customer confidence in their choice while reinforcing the company's values.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Aligns with the company's offerings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Steers the conversation, setting the tone to illustrate why customers should select you for their plumbing needs.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Be it through your brand's established credibility, its trustworthiness, or engaging plumbing business monikers, ensure your foundational branding remains resilient and impactful.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"9\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Generate targeted plumbing leads via lead generation websites\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Harness the power of lead generation websites to effortlessly connect with consumers actively seeking your plumbing services. These platforms place your plumbing business directly in front of potential customers, requiring minimal effort on your part.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"Lead collection : webchat | Cloodot\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,oJIB5s6rV7cmwVq9p0qFd92mw.png\",\n      \"data-framer-height\": \"1028\",\n      \"data-framer-width\": \"1184\",\n      height: \"514\",\n      src: new URL(\"https://framerusercontent.com/images/oJIB5s6rV7cmwVq9p0qFd92mw.png\").href,\n      style: {\n        aspectRatio: \"1184 / 1028\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"These websites are particularly advantageous if your services encompass maintenance, bathroom remodeling, or kitchen remodeling. Simply bid on desired projects and provide quotes to potential clients, streamlining the process.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In addition to acquiring leads, leverage these platforms to curate customer reviews, thereby \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"enhancing your brand's reputation.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Note: It's important to note that many of these sites operate on a pay-per-lead or subscription basis, potentially resulting in escalating costs. To maximize your return on investment, establish a monthly budget, define your plumbing service area, and outline your offered services. This strategic approach ensures high-quality leads for your plumbing venture.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Last but not least,\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"10\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h2\",\n        children: /*#__PURE__*/_jsx(\"h2\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Don't neglect traditional marketing\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While digital marketing is crucial, don't disregard traditional methods. The plumbing trade serves all age groups, making a wide-reaching approach essential.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Brand everything\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Put your logo and business information on vehicles, uniforms, and tools for visibility and a professional on-site look.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Embrace print\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Newspapers and flyers still reach a wide audience. Advertise in newspapers and use flyers to connect, especially with mature customers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Use business cards\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In plumbing, business cards remain valuable. They quickly share information, catering to those not on social media.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Spread your network\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Local businesses thrive on networking and word-of-mouth. Connect at events, gatherings, and even school functions to expand your reach.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Elevate your plumbing business with Cloodot\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Whether you're launching your plumbing venture or already reigning as the local plumbing expert, rapid lead generation is essential, especially when time is a critical factor for potential customers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Cloodot's All-in-One Inbox offers a suite of powerful features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Streamlined Communication: Handle all messages effortlessly from a \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/conversations\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"unified inbox\"\n            })\n          }), \", ensuring seamless interaction with clients.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/reviews\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Amplify Reviews\"\n            })\n          }), \": Boost your online reputation by effectively \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"managing and enhancing reviews\"\n            })\n          }), \", driving greater online visibility.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/chatbotandautomations\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"AI Chat and Review Bot\"\n            })\n          }), \": Drive lead generation and maintain round-the-clock review responses with an AI-powered chat and review bot.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/bulkmarketingmessaging\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Dynamic Marketing\"\n            })\n          }), \": Propel your revenue with text or\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/how-to-do-business-in-whatsapp\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" WhatsApp business,\"\n            })\n          }), \" reaching a broader audience and maximizing returns.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/contactcentre\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Comprehensive Contact Center\"\n            })\n          }), \": Gain a comprehensive view of customer interactions through a unified thread, enhancing customer engagement.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Automated Surveys: \"\n            })\n          }), \"Collect valuable customer feedback discreetly and automatically, refining your service based on insights.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/analytics\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Insights Visualization: \"\n            })\n          }), \"Harness cross-channel performance visualizations, to empower data-driven decisions.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Experience the transformative potential of Cloodot's All-in-One Inbox by scheduling a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"personalized free demo\"\n        })\n      }), \" or\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" getting a free trial.\"\n        })\n      }), \" Discover how it can supercharge your plumbing marketing strategy and effectively streamline your entire business operation.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Find out more about why you need an\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" all-in-one inbox \"\n        })\n      }), \"for your brand management.\"]\n    })]\n  }),\n  tcujvgbt3: \"Top 10 Proven Marketing Ideas for Your Plumbing Business\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 34,\n  wkMiN9hO7: \"Discover the 10 powerful marketing strategies that can elevate your plumbing business to new heights. From mobile-friendly websites to Google ads, learn how to thrive in the competitive plumbing industry.\",\n  z3RB0M3u0: \"10 Best Marketing Ideas for Plumbing Business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/aU8UqAW8eaBExHk4PZqliuDQ9qs.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/aU8UqAW8eaBExHk4PZqliuDQ9qs.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/aU8UqAW8eaBExHk4PZqliuDQ9qs.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/aU8UqAW8eaBExHk4PZqliuDQ9qs.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/aU8UqAW8eaBExHk4PZqliuDQ9qs.png\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-search-google-reviews-by-keywords\",\n  GSA8tRVAB: true,\n  id: \"AE0M9sqgA\",\n  JYmpedk6B: \"2023-08-31T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"When you're considering trying out a new business or product, it's common to check out what others have said about it in Google reviews. But there are often so many reviews that it can get overwhelming.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Just like when you use a search engine to find stuff on the internet, you can also use specific words related to the business, product, or service you're interested in to make the process easier. By doing this and following a few easy tips, you can quickly find both the good and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"not-so-good reviews\"\n        })\n      }), \" on Google about a business.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In this guide, we'll show you how to search Google reviews by keyword. This way, you can make smarter choices when thinking about buying something or deciding where to go. Plus, we'll share some tricks that local businesses can use to learn from their competitors, improve how they show up in search results, make their customers happier, and get better in their industry.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is a Google review search option?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The \\\"Google Reviews Search Option\\\" feature is designed for users to easily search and filter through a multitude of customer reviews and feedback linked to businesses and services on Google. By entering specific keywords, phrases, or names related to the business or service of interest, Google retrieves matching results from its review database. This simplifies the process of finding reviews that align with a user's needs, providing insights based on others' experiences with a particular business, product, or service.\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Therefore, business owners must grasp \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"how to harness the power of Google reviews\"\n        })\n      }), \" to enhance their outreach and potentially sway the decisions of prospective customers.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This search tool permits users to refine customer reviews based on criteria such as ratings, dates, and keywords. Consequently, it simplifies the process of locating relevant information, and the Google reviews search option proves invaluable for individuals seeking well-informed buying choices through customer insights or assessing a business's reputation.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Why do people search for Google reviews?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When we simplify it, searching for Google reviews is basically about getting information. Sometimes, people search for reviews to discover a local business that offers what they need. Other times, it's about doing some research because someone they know recommended it. Users search for reviews to locate nearby businesses that offer the products or services they're interested in.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"They might also be checking out reviews based on recommendations from friends or family to ensure they're making a good choice.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Here are a few specific reasons why someone might use Google reviews:\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"To improve knowledge about services or products:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Searching for reviews is an excellent way to gather more information about a particular service or product. Customers often share their experiences and insights in reviews, providing valuable details that can help potential buyers make informed decisions. It's like getting recommendations from real users.\\xa0\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"To evaluate business reputation:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Searching for Google reviews allows individuals to assess the reputation of a business. By reading through what previous customers have said, prospective customers can gauge whether the business has a positive or negative reputation. Positive reviews often indicate good service or products, while negative ones might suggest issues that need addressing.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"To leave a review:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"People might search for Google reviews to leave feedback about a business or service they've used. This is a way to contribute to the community and help others make decisions. Writing reviews can also be a platform for expressing satisfaction or dissatisfaction with a business.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"To determine customer service history:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Review searches can reveal a business's customer service history. By looking at past reviews, potential customers can see if a business consistently provides good or poor customer service. This information can be crucial in deciding whether to engage with that business.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Search Google Reviews by Names\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To find Google reviews search by name, you\u2019ll need to find the name of the commenter on the review of the user. You need to search Google Reviews by Names and then click on Images to see the pictures of the user. This will help you know how the person looks.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To know the location of the commenter, you\u2019ll need to click on the name of the user from the review, and it will immediately open the Google map and show you the location from where the user has commented on the review on Google.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"AI-powered tools like Cloodot provide comprehensive solutions for effectively managing and monitoring your online reviews across multiple channels through a unified dashboard.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Google review search by names\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Open the Google Reviews Search Tool\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin by launching the Google Reviews search tool.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Enter the person's or business's Name\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Type in the name of the individual or business for whom you want to discover reviews.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Click Search\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Click on the \"Search\" button to initiate the search process.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Explore the Results\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The tool will present reviews associated with the entered name. Browse through the results to locate the specific reviews you're interested in.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,rqrWajRa6XrvzKDkts6k1pNIkY.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"519\",\n      \"data-framer-width\": \"773\",\n      height: \"259\",\n      src: new URL(\"https://framerusercontent.com/images/rqrWajRa6XrvzKDkts6k1pNIkY.png\").href,\n      style: {\n        aspectRatio: \"773 / 519\"\n      },\n      width: \"386\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step5:Using Social Media to Search\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To learn more about the user, search for their profile on social media platforms like Facebook, Instagram, and Twitter using their name as a username. You can explore their posts and pictures if the profiles are accessible. However, if the profile is private, you may need to send a friend request on Facebook to access their content.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step6:Check the Name of the Commenter\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You may also spot the commenter's name along with their display picture if they have one attached to their Gmail account. If not, you'll see their initials as the display picture.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Using Cloodot tool\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot is an \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"affordable CX management review tracking tool \"\n        })\n      }), \"that streamlines the process of monitoring reviews. It conveniently consolidates reviews from various sources, including \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business listings \"\n        })\n      }), \"and\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Facebook pages\"\n        })\n      }), \", into a user-friendly dashboard. With Cloodot, you can promptly respond to these reviews without leaving the platform.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Getting started with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot's review management\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Sign Up \"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"and Enter Your Company Name\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin your journey with Cloodot by signing up. During this process, you'll enter your company's name.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,lxfpTqV4K1SwGP7IcH45nw9zM3M.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"585\",\n      \"data-framer-width\": \"1357\",\n      height: \"292\",\n      src: new URL(\"https://framerusercontent.com/images/lxfpTqV4K1SwGP7IcH45nw9zM3M.png\").href,\n      style: {\n        aspectRatio: \"1357 / 585\"\n      },\n      width: \"678\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Create Your Organization\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Once signed up, proceed to create your organization within Cloodot.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Access the Dashboard\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"After setting up your organization, you'll be directed to the Cloodot dashboard.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,daxJGpymrTUVQuiINslzejDo1Xs.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"609\",\n      \"data-framer-width\": \"1366\",\n      height: \"304\",\n      src: new URL(\"https://framerusercontent.com/images/daxJGpymrTUVQuiINslzejDo1Xs.png\").href,\n      style: {\n        aspectRatio: \"1366 / 609\"\n      },\n      width: \"683\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Navigate to the Review Tool\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'In the dashboard, locate and click on the \"Review Tool.\"'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,G6ZE9gHj8BPxo4BfkwEuhD5cP2o.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"605\",\n      \"data-framer-width\": \"1366\",\n      height: \"302\",\n      src: new URL(\"https://framerusercontent.com/images/G6ZE9gHj8BPxo4BfkwEuhD5cP2o.png\").href,\n      style: {\n        aspectRatio: \"1366 / 605\"\n      },\n      width: \"683\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Connect Multiple Channels\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Within the review tool, you can seamlessly connect various channels such as Google Business, Google Business Messages Local, Google Business Messages, Instagram, Facebook Page, WhatsApp, and SMS.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,j5UMU241RqnKqTS2JNiNcZzqqs.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"602\",\n      \"data-framer-width\": \"1366\",\n      height: \"301\",\n      src: new URL(\"https://framerusercontent.com/images/j5UMU241RqnKqTS2JNiNcZzqqs.png\").href,\n      style: {\n        aspectRatio: \"1366 / 602\"\n      },\n      width: \"683\"\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: View All Channel Reviews\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Once your channels are connected, you'll gain access to a consolidated dashboard where you can view reviews from all your connected channels.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,KDPPHcukFwDWhliak7r1cHWdEI.png\",\n      \"data-framer-height\": \"1187\",\n      \"data-framer-width\": \"1600\",\n      height: \"593\",\n      src: new URL(\"https://framerusercontent.com/images/KDPPHcukFwDWhliak7r1cHWdEI.png\").href,\n      style: {\n        aspectRatio: \"1600 / 1187\"\n      },\n      width: \"800\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Assign reviews to the relevant department\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Assign reviews to the appropriate department or employees to ensure swift and effective resolutions.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,zFW4dT4IFzqIUuKiV8ZMrILIO0.png\",\n      \"data-framer-height\": \"932\",\n      \"data-framer-width\": \"1600\",\n      height: \"466\",\n      src: new URL(\"https://framerusercontent.com/images/zFW4dT4IFzqIUuKiV8ZMrILIO0.png\").href,\n      style: {\n        aspectRatio: \"1600 / 932\"\n      },\n      width: \"800\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Explore Additional Features\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Cloodot offers more than just review management. Check out other powerful features, including:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Conversation: Engage with customers and manage communications effectively.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Survey: Gather valuable feedback through surveys.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Analytics: Gain insights from data analysis.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Contacts: Manage your contact list, including phone numbers.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Advanced Review Management Features\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"AI-Powered Replies: Utilize Cloodot's AI magic reply feature to respond to reviews promptly and reduce response time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Review Requests: Request reviews from customers after each purchase to boost your online presence.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Quick Responses: Employ AI quick responses and customizable template replies for faster customer engagement.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Review Tracking: Mark and follow up on crucial reviews.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"AI-Powered Notes: Automatically summarize and add context to reviews using AI-powered custom notes.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer Segmentation: Segment your customers using custom labels to tailor your interactions.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Upgrade Options:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you wish to enhance your capabilities, explore Cloodot's pricing plans, starting at just $39 per month.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With Cloodot's comprehensive review management system, you can efficiently handle reviews from multiple channels, engage with customers effectively, and improve your online reputation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Searching Google reviews using keywords and topics\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Open Google\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Start by launching your web browser and navigating to the Google search engine.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Enter Your Search Query\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'In the Google search bar, type in specific keywords or topics related to the business, product, or service you want to find reviews for. For example, if you\\'re looking for reviews about a local Dubai hospital, you might type \"best hospitals in [your city] reviews\" or specific keywords like \"doctors\" facilities\u201D and \u201Cservices\u201D.\\xa0'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,uTz8tPKmR6lOX7LdUsJm1FY5XU.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"598\",\n      \"data-framer-width\": \"1360\",\n      height: \"299\",\n      src: new URL(\"https://framerusercontent.com/images/uTz8tPKmR6lOX7LdUsJm1FY5XU.png\").href,\n      style: {\n        aspectRatio: \"1360 / 598\"\n      },\n      width: \"680\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: 'Step 3: Add \"Reviews\" to Your Query'\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'To narrow down your search to reviews, add the word \"reviews\" to your query. So, your search might look like \"Italian restaurant in [your city] reviews.\"'\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ChStlhi8S3yfcMTHqRDS9EqrXvg.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"598\",\n      \"data-framer-width\": \"1366\",\n      height: \"299\",\n      src: new URL(\"https://framerusercontent.com/images/ChStlhi8S3yfcMTHqRDS9EqrXvg.png\").href,\n      style: {\n        aspectRatio: \"1366 / 598\"\n      },\n      width: \"683\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Browse the Results\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Hit \"Enter\" or click the search icon, and Google will display a list of search results that match your query. These results may include reviews of websites, Google My Business listings, and more.'\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Explore review websites\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Click on the review websites or Google My Business listings in the search results to access the reviews. Review websites like Yelp, TripAdvisor, or dedicated review platforms often compile user feedback. Google My Business listings also include reviews from customers.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,DhoybAMVKLLRMqTRfCWpw68anLU.png?originalFilename=unknown.png\",\n      \"data-framer-height\": \"603\",\n      \"data-framer-width\": \"1364\",\n      height: \"301\",\n      src: new URL(\"https://framerusercontent.com/images/DhoybAMVKLLRMqTRfCWpw68anLU.png\").href,\n      style: {\n        aspectRatio: \"1364 / 603\"\n      },\n      width: \"682\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6: Utilize Filters (Optional)\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Many review websites and Google My Business provide filtering options. You can filter reviews by date, rating, or other criteria to find the most relevant feedback.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7: Read and Analyze Reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you've accessed the reviews, read through them to gain insights into the business, product, or service. Look for keywords or topics mentioned by reviewers that are relevant to your interests. These keywords can help you quickly identify the information you're seeking.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 8: Consider Multiple Sources\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For a comprehensive view, consider checking multiple sources and reading several reviews. This way, you can gather a more well-rounded understanding of the business, product, or service from different perspectives.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Can You Search Google Reviews by User? How to Find Someone's Google Reviews in 3 Steps\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While there isn't a direct method to search Google reviews by user, here are three steps to potentially locate specific users:\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Check for Multiple Reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If the user has left multiple reviews, refine your search by adding more keywords or narrowing the date range. You can also click on their profile to view previous reviews.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Analyze Review Content\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Observe consistent patterns in their reviews, like specific language, misspellings, or recurring themes. This could help identify the user.\"\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Explore User's Profile\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Click on the user's Google profile if they've reviewed your business. While personal contact information isn't publicly available, some users share details like email addresses or social media accounts.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Searching Google reviews by user can be challenging due to anonymity, persistence, and clever keyword usage that may lead you to the desired review.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"FAQ\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Can the owner delete Google reviews?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Owners \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-you-can-t-leave-an-anonymous-review-on-google-learn-the-facts\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"can't delete Google reviews\"\n        })\n      }), \" but can report inappropriate comments; if in violation, Google may remove them, otherwise, they remain.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How can I identify the author of a fake Google review?\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-remove-fake-reviews-from-your-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"To spot a fake review\"\n        })\n      }), \", analyze its composition. Poor grammar and punctuation are often signs of a fake review.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Effectively managing and harnessing the power of online reviews is essential for businesses and individuals alike. While platforms like Google offer valuable insights through reviews, tools like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-cxm-software-is-important\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" can simplify this process further.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Whether you're a business owner looking to improve your online reputation or an individual seeking reliable information, consider signing up for Cloodot or exploring our \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free demo\"\n        })\n      }), \" to experience the benefits of streamlined review management firsthand. Your journey to informed decision-making begins with a click.\"]\n    })]\n  }),\n  tcujvgbt3: \"Mastering Google Reviews: How to Search, Analyze, and Make Informed Choices\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 33,\n  wkMiN9hO7: \"Dive into the world of Google reviews search! Explore tips for finding the right reviews, evaluating businesses, and making informed decisions. Discover the power of online feedback and learn to harness it effectively.\",\n  z3RB0M3u0: \"How To Search Google Reviews by Keywords \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/qKrKBbLkd7Uk5n6VRelujFipg.jpg\").href} 6000w`\n  }, \"\"),\n  B7LIlf4Jc: \"reclaim-ownership-of-your-facebook-page\",\n  GSA8tRVAB: true,\n  id: \"OMMTWkR2u\",\n  JYmpedk6B: \"2023-08-30T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"If you need to regain control of a Facebook Page that belongs to you, whether it was taken by a hacker, revoked by a former employee, or you never had power in the first place, there's a straightforward process to reclaim full administrative rights. By reporting the issue and providing proof of ownership, you can quickly recover the administrator role for your business or organization's official Facebook Page. This guide will walk you through the steps to regain control of your Page.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How do you know if your Facebook page is hacked?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you can't access your Page, you should first see whether another admin or someone with complete authority over the Page has deleted you. In such circumstances, it's best to contact a Page admin or someone with complete authority over the Page and ask to be reinstated. Because there are \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/289207354498410?helpref=faq_content\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"distinct Page responsibilities and access levels\"\n        })\n      }), \", only Page admins or persons with complete power may add or delete people.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Signs that your account may have been hacked include\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Changes to your email or password.\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Modifications to your name or birthday.\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Friend requests are sent to unfamiliar people.\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Messages sent that you didn't write.\"\n          })\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Posts made that you didn't create.\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If your account has been hacked, take immediate steps to secure it. If you suspect that someone else who works on your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/1216349518398524?helpref=faq_content\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Page has been hacked,\"\n        })\n      }), \" encourage them to seek immediate help through the Accounts security section of the Help Centre.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What are the documents you need to reclaim your Facebook ownership?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Valid Government-Issued Photo ID: \"\n          }), \"Prepare a copy of a valid government-issued photo ID, such as a driver's license or passport.\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/help/159096464162185?ref=cr\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" Facebook accepts\"\n            })\n          }), \" different types of identification, which can be found in their help center.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Signed Statement: \"\n          }), \"Create a signed statement from a person who possesses sufficient knowledge and authority on the matter. The statement should include the following information:\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Description of Your Relationship to the Page:\"\n          }), \" Clearly explain your relationship to the Page and your authority to request a change from the current Page manager(s), if applicable.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Page URL:\"\n          }), \" Provide the URL of the Page you wish to reclaim.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Name of Current Page Manager(s): \"\n          }), \"Include the name(s) of the current person(s) managing the Page, if applicable, and their relationship to the Page.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Explanation of Your Request:\"\n          }), \" Elaborate on the reason for your request. For instance, if there has been a termination of the working and/or business relationship with the named person(s), explain the circumstances.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Supporting Documentation:\"\n          }), \" Attach any relevant documentation supporting your request. This could include a business license or certificate of incorporation under the business page name, demonstrating your authority over the business.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Facebook Account Information:\"\n          }), \" Provide the Facebook account or email address associated with the Facebook account that you wish to have added as the new Page administrator.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Statement of Truth and Accuracy:\"\n          }), \" Include a statement affirming the\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/help/203305893040179/?helpref=related_articles\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" truth and accuracy\"\n            })\n          }), ' of the information you have provided. For example, \"I declare under penalty of perjury that the information provided is true and accurate.\" Customize the statement accordingly, ensuring its authenticity.']\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By preparing these items and submitting them to Facebook, you can initiate the process of reclaiming ownership of your Facebook Page.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to reclaim your Facebook page \"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"To reclaim a Facebook Page if an admin account was hacked\"]\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Report the hacked account to Facebook\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your personal Facebook account or another Page admin's account was hacked, the hacker may have also taken control of your business or organization's official Page. The owner of the hacked account should report the incident to regain access. For that go to this page.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Visit the recovery form\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Go to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/contact/1280439701975125\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://www.facebook.com/help/contact/1280439701975125\"\n        })\n      }), \" Ensure that you are signed in with the hacked account that needs to regain admin rights to the Page.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Select the Page you want to reclaim\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"From the menu, choose the specific Page you wish to reclaim. The displayed Pages are the ones that your account previously had access to.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Note: If assigned a non-admin role on the Page (such as Moderator, Analyst, or Jobs Manager), the Page will not be listed in this menu. In such cases, you need to remove yourself from the current role. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.facebook.com/help/289207354498410\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Go to Settings, then Page Roles\"\n        })\n      }), \", click Edit below your account, and select Remove.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Submit the form\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Click on the Send button to submit the recovery form. Facebook will receive your report and initiate the verification process. An agent from Facebook will contact you via email with further instructions for verification. Please be aware that the response time can vary, ranging from one day to several weeks.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Reclaiming a Page from a Malicious Administrator:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Identify: Determine that there is a rogue administrator on your Page.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Communication: Attempt to contact the rogue administrator.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Documentation: Gather evidence of unauthorized actions or misconduct.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Report: Report the issue to Facebook through appropriate channels.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide Details: Share relevant information about the Page and the rogue administrator's actions.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Await Response: Wait for Facebook to investigate and respond to your report.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Verification: Cooperate with Facebook's verification process, if required.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Removal: Facebook removes the rogue administrator's access if deemed necessary.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Regain Control: Facebook restores your administrative\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/help\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" access to the Page.\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Secure: Implement additional\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/help/285695718429403?helpref=faq_content\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" security measures\"\n            })\n          }), \" to prevent future unauthorized access.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Claiming an Unofficial Page on Facebook:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Visit the page you want to claim while logged into Facebook.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Look for the \"Unofficial Page\" tag to confirm it has no owner.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on the \"Is this your business?\" tag on the page.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Choose to merge the page with an existing page or verify it by phone or documents.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Follow the prompts and provide the necessary information.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Wait for Facebook to process and confirm your request.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Once confirmed, the page should be transferred to your ownership.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Recovering a Facebook Page without an Admin:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Log in to your Facebook profile on your desktop.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Go to the Help Center or visit \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.facebook.com/help\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"https://www.facebook.com/help\"\n            })\n          }), \".\\xa0\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on \"Policies and Reporting\" in the left tab.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Select \"Intellectual property.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on the \"fill in this form\" link.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Choose the appropriate option for reporting as the owner.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide details to prove ownership and describe how you lost the page.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Include the page's URL and attach any supporting evidence.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Complete your personal information and electronic signature.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click \"Submit\" to send the request.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Facebook will contact you via email for further confirmation and information.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Respond to their inquiries promptly and provide any additional details they request.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Facebook will review your case and assist you in regaining control of the page.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Recovering a page is more challenging than retrieving a personal account but not impossible. If your page was taken over by a hacker or rogue administrator, the best course of action is to report it to Facebook, claiming infringement of your property.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"However, if you were removed by an admin, it's advisable to politely communicate with them first. Contacting Facebook might not be effective, especially if they can't verify your identity.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Given the widespread usage of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=US\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook\"\n        })\n      }), \", reclaiming access to your popular page is crucial for maintaining your business's visibility.\"]\n    })]\n  }),\n  tcujvgbt3: \"Lost Access to Your Facebook Page? Here's How to Reclaim Ownership\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 32,\n  wkMiN9hO7: \"Discover the proven steps to recover ownership of your Facebook Page. Whether hacked or removed, our guide offers expert advice to help you regain control.\",\n  z3RB0M3u0: \"Reclaim Ownership of Your Facebook Page\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/DKgkcf4aYWIcf7ECsCWym9JxXk.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/DKgkcf4aYWIcf7ECsCWym9JxXk.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/DKgkcf4aYWIcf7ECsCWym9JxXk.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/DKgkcf4aYWIcf7ECsCWym9JxXk.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/DKgkcf4aYWIcf7ECsCWym9JxXk.png\").href} 3633w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-ai-chatbot-can-help-your-business-grow\",\n  GSA8tRVAB: true,\n  id: \"hYQYJ9saz\",\n  JYmpedk6B: \"2023-08-29T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Chatbots are becoming customers' and businesses' best buddies as the world becomes increasingly linked and automated. AI- chatbots are conversational robots that are developed and built to respond to users' inquiries in real time. Throughout the last year, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://uberall.com/en-us/company/press-releases/study-80-of-consumers-report-chatbot-experiences-as-positive-yet-nearly-60-still-lack-strong-enthusiasm-for-the-technology-according-to-new-uberall-study\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"80% of global consumers\"\n        })\n      }), \" interacted with a chatbot to acquire customer service. With so many chatbot business benefits to accomplish, you should aim to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"automate customer interactions \"\n        })\n      }), \"and provide a hassle-free customer experience at every step of the way right now.\"]\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Whats is an AI-chatbot\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"An AI chatbot is a sophisticated software tool that utilizes artificial intelligence technology to engage in text-based conversations with users. These chatbots play a crucial role in support strategies by offering efficient customer assistance and service. They are capable of handling a variety of tasks, such as answering questions, providing information, guiding users to solutions, and even performing simple transactions.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"AI chatbots are designed to interact with users in a conversational manner, employing natural language processing (NLP) to understand and generate human language. By processing and analyzing the input they receive, they can generate relevant responses, offer assistance, and provide solutions. These chatbots are particularly valuable for tasks that are routine, repetitive, and can be automated.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Of course, not all AI- chatbots are created equal. Certain chatbot systems generate artificial dialogues, lowering the customer experience and potentially causing brand damage. Companies can improve customer engagement by using advanced AI- chatbots, such as Cloodot\u2019s built-in \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"AI chatbots and review bots.\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Let's explore how AI- chatbots can help businesses and customers, from sales to every part of the journey. Let\u2019s get started!\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,SVr0Su14fzsJ4Nz60eIxOjCLxW4.jpg\",\n      \"data-framer-height\": \"2000\",\n      \"data-framer-width\": \"2000\",\n      height: \"1000\",\n      src: new URL(\"https://framerusercontent.com/images/SVr0Su14fzsJ4Nz60eIxOjCLxW4.jpg\").href,\n      style: {\n        aspectRatio: \"2000 / 2000\"\n      },\n      width: \"1000\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How chatbots can benefit customers\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"24/7 Support\"\n      }), \": Customers today demand quick and hassle-free assistance, even during peak hours. Chatbots play a vital role by offering instant support, eliminating wait times, and providing round-the-clock service, ensuring convenience for customers across the globe. For instance,\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.indusmotor.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Indus Motors,\"\n        })\n      }), \" an automotive company, employs chatbots to provide 24/7 support, resulting in a 3% increase in customer satisfaction (CSAT) and a 17% improvement in first resolution times.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Multilingual Support\"\n      }), \": In a global market, breaking language barriers is essential. Chatbots can offer multilingual support by asking for preferred languages at the outset or using AI to detect the customer's language. They can then communicate seamlessly in multiple languages, ensuring inclusivity.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Personalized Experiences\"\n      }), \": Customers expect chatbots to leverage their\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" data for personalized interactions\"\n        })\n      }), \". By integrating AI-powered chatbots with various business systems, such as customer service tools and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-cxm-software-is-important\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CXM\"\n        })\n      }), \", companies can tailor messaging to match the customer's journey phase, suggest relevant products, offer information about new services, and provide updates on orders without needing additional details.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Self-Service Convenience\"\n      }), \": Customers appreciate the ability to resolve basic issues independently. Chatbots facilitate this through self-service options, directing users to FAQs, community forums, or help center articles. They continuously improve these options by learning from each interaction.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consistency in Support:\"\n      }), \" Chatbots offer consistent customer service experiences as they operate on predefined frameworks and access a single source of information. Regardless of the duration or tone of a conversation, chatbots maintain a level-headed approach, recognizing and responding to customer frustration or anger with empathy.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Omnichannel Support: \"\n      }), \"Customers expect seamless transitions between communication channels like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/whatsapp-is-taking-down-every-other-channel-by-introducing-a-new-feature-check-it-out\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp\"\n        })\n      }), \", Facebook, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/5-ways-small-businesses-can-leverage-google-messages-for-customer-support\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google business messages\"\n        })\n      }), \", etc. Businesses can achieve this by using chatbots to answer common questions across various platforms and integrating them with their tech stack for a consistent, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"efficient customer experience\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Proactive Assistance:\"\n      }), \" Chatbots enable proactive customer support by monitoring user activity and offering assistance based on common queries or potential issues. They can greet returning website visitors, provide product updates, or even suggest connecting with a support agent for more complex inquiries.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,asrRjUfq4iwhk7NhWy1Xg4N9D8.jpg\",\n      \"data-framer-height\": \"4000\",\n      \"data-framer-width\": \"6000\",\n      height: \"2000\",\n      src: new URL(\"https://framerusercontent.com/images/asrRjUfq4iwhk7NhWy1Xg4N9D8.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6000 / 4000\"\n      },\n      width: \"3000\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How AI- chatbots help businesses grow\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Improves workflow and productivity:\\xa0\"\n          }), \" Workers might get tired of answering the same questions again and again, which demotivates them. By incorporating an AI- chatbot into your business, you will not have to worry about your staff being overburdened with\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/chatbotandautomations\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" customer requests,\"\n            })\n          }), \" as the chatbot will help answer each one.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"\\xa0\", /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Boost conversion rates: \"\n          }), \"A successful business is built on strong customer connections. You'll build strong relationships with Chatbot by engaging visitors to your website.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Problem solver: \"\n          }), \"AI chatbots enable quicker and more intelligent resolution of issues by promptly responding to user inquiries and collecting information about their demands. This allows your staff to resolve issues more efficiently.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Personalized product suggestions:\"\n          }), \" Bots provide significantly more value than simply answering common questions. They can also serve as virtual assistants, proactively recommending things and informing clients of new discounts and releases. Brands offering personalized offers and recommendations experience a remarkable \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://landbot.io/blog/product-recommendation-chatbot-for-ecommerce\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"91% increase in customer inclination\"\n            })\n          }), \" to shop with them.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"AI- chatbots can manage many consumers at once.\"\n          }), \" AI- chatbots, on the other hand, can manage as many requests as you want at the same time. AI- chatbots greatly free up employees' time by automating responses to most requests, enabling them to focus on higher-value-added duties.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Data can be collected and analyzed by AI- chatbot.\"\n          }), \" \\xa0After integrating a Cloodot chatbot into your business, you can generate a global report that shows how clients are interacting with your chatbot, which requests are being made more frequently, and so on. You will then be able to evaluate this Cloodot \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://cloodot.com/products/analytics\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"analytics data,\"\n            })\n          }), \" alter your chatbot accordingly, and thereby enhance your chatbot even after it has been deployed.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \" AI- chatbot in Social channels :\"\n          }), \" A chatbot can be integrated with various social media platforms, including \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/facebook\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Facebook\"\n            })\n          }), \", \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/whatsapp\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"WhatsApp\"\n            })\n          }), \", \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/instagram\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Instagram\"\n            })\n          }), \", and\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/googlemybusinessmessages\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" Google business messages\"\n            })\n          }), \", to automate customer interactions. This allows businesses to offer 24/7 customer support and engage with customers on their preferred channels.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Expand without rising costs:\"\n          }), \" Developing your business does not have to entail increasing expenditures. AI- chatbots allow you to grow your customer service without increasing your personnel.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Grow your business with the cloodot chatbot\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"AI- chatbots are slowly changing the face of consumer communication. Cloodot, one of the best customer experience management companies in India, has aided many parts of the industry with customer service, sales, marketing, and engagement. If your company needs a strategy for getting the most out of bots in terms of lead generation, customer insights, onboarding, and scalability of customer care, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Join \"\n        })\n      }), \"Cloodot to acquire a strong bot for your support staff and start providing value to customers. If you want to know how to manage every message in one inbox, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/blog/how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"click here.\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"AI- chatbots can significantly improve customer service, leading to more sales within minutes. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Start your free trial \"\n        })\n      }), \"with Cloodot, one of the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/features\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"best all-in-one inboxes\"\n        })\n      }), \", to provide a bevy of advantages to your consumers.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \" AI-Chatbots: The Future of Customer Engagement\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 31,\n  wkMiN9hO7: \"Explore the benefits of AI-Chatbots for customers and businesses alike. Learn how chatbots provide personalized support, improve workflow efficiency, and drive customer engagement.\",\n  z3RB0M3u0: \"How AI-chatbot Can Help Your Business Grow \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/kyPt04oEQ4pc7teQiwWnZcmIpuI.png\").href} 4800w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-recover-suspended-google-business-profile\",\n  GSA8tRVAB: true,\n  id: \"zU5ZcUZjt\",\n  JYmpedk6B: \"2023-08-28T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Experiencing the suspension of your Google listing can be quite disconcerting. It's natural to feel perplexed about the reasons behind it and unsure about your next steps. Following the correct procedures, it is possible to recover a suspended Google My Business listing account. Suspension can result in either a soft or hard status on Google Maps and Search.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Check out this guide to the process of recovering your Google Business listing profile and getting back to your business.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is a Google My Business Listing suspension?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google My Business listing suspension is a Google-enforced measure designed to address the recent increase in the number of fraudulent listings. The primary aim of this suspension is to sift through potentially illegitimate businesses, ensuring that only genuine, trustworthy businesses are prominently displayed to users during their searches.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"There is no need to be concerned if your company is legitimate; the process to resolve the suspension should be relatively simple.\\xa0\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,R940I6KoOyn0pJVUbSar2Vrotnc.png\",\n      \"data-framer-height\": \"356\",\n      \"data-framer-width\": \"1062\",\n      height: \"178\",\n      src: new URL(\"https://framerusercontent.com/images/R940I6KoOyn0pJVUbSar2Vrotnc.png\").href,\n      style: {\n        aspectRatio: \"1062 / 356\"\n      },\n      width: \"531\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Understanding the different types of suspensions\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Soft Suspension\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\\xa0In a soft suspension, you lose control of your listing, but it still appears on Google Maps and Search as unowned. You cannot manage or edit the listing until it's reinstated.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"These often-spammed categories are typically associated with Service Area Businesses (SABs) and encompass:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Locksmiths.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Lawyers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Plumbers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Pest control services.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"HVAC services.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Hard Suspension\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A hard suspension involves the complete removal of your listing from Google Search and Maps. Your listing is no longer visible to users.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Suspended Pending Verification\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This suspension occurs when Google requests additional verification of your business details. Your listing remains pending until verification is completed.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Suspended Due to Quality Issues\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Quality issues can lead to suspension if your business information violates Google's guidelines. Your listing is hidden until compliance is achieved.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Suspended for Policy Violations\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Violations of Google's policies, such as fake reviews or misleading content, can result in this suspension. Your listing is temporarily or permanently removed based on policy severity.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Common Causes of Google My Business Profile Suspensions\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Violating Terms of Service\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Failure to comply with\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/answer/9292476?hl=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google My Business's terms of service \"\n        })\n      }), \"for local businesses is a frequent cause of profile suspension.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Multiple Duplicate Listings\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When Google detects several identical business listings, it may flag them as duplicates, leading to suspension.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Inaccurate or Outdated Information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google may suspend your account if you provide incorrect or outdated business information.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Keyword Overload in Descriptions or Titles\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Excessive use of keywords in your listing can confuse consumers and trigger an account suspension.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Offensive Language in Content or Photos\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilizing offensive language in any form within your content or images can result in a suspension from Google.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Suspicion of Suspicious Activity\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Suspicious activity associated with your Google My Business account can lead to a suspension.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here are some other reasons why your Google Business listing gets suspended:\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Sharing an address with another business. Establishing your listing at a virtual office or co-working space address\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Operating an online-only business.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Being in a high-risk business category, such as lawyers, plumbers, HVAC, locksmiths, rehab centers, etc.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Using a P.O. Box or UPS store address\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Adding a URL to your GMB profile that forwards/redirects to another website or links to a social media page\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Making multiple changes/edits to your GMB profile in a single session\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Inconsistencies between your address or hours on your GMB listing and what's listed on your website or other online business directories/citations\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Displaying a physical address for a service-area business\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Changing your listing from a Storefront to a Service Area Business (SAB)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"A manager on your listing has their account suspended, leading to the suspension of your listing.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Listing your business hours as 24/7.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to recover from a suspension\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/10-ways-google-my-business-experts-can-help-you-succeed\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google business listing \"\n        })\n      }), \"faces suspension, it's important to remain composed. Although having your listing removed from Google Maps and Search can be unsettling, there is a pathway to reinstatement by following Google's prescribed process. Here's Google's guidance on rectifying a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/answer/9334246?hl=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" suspended listing\"\n        })\n      }), \":\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Familiarize yourself with the \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://support.google.com/business/answer/3038177?hl=en\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google My Business guidelines\"\n            })\n          }), \" and restricted content guidelines.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Scrutinize your listing to ensure it aligns with these guidelines.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Access your Google Business listing account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Once you are confident that your business listings conform to Google's guidelines and contain all necessary details, you can proceed to \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://support.google.com/business/troubleshooter/2690129\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"request reinstatement\"\n            })\n          }), \".\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Submitting a Reinstatement Request\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Once you've completed the aforementioned steps, it's time to take action and\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/troubleshooter/2690129?p=reinstatement_request&rd=1\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" formally request reinstatement.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Patiently Awaiting a Response\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While it's possible to receive a denial immediately, don't fret if you don't hear back from Google right away. This delay can be a positive sign. Be vigilant, keep an eye on your email, and regularly check your listing for any updates or changes in status.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Post-Reinstatement Edit Wait Period\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After successfully regaining your listing, exercise patience. Wait for several days before making any edits to your listing to avoid the risk of another suspension.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What to Expect After Submitting Your Google My Business Reinstatement Request\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Immediate Email Response (Preferred Scenario)\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Upon submitting your reinstatement form, keep a close eye on your email inbox. Typically, you should receive an email from Google Specialists. In this email, note the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/thread/231398308/case-id-3-2157000034664-account-suspended?hl=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"case ID number \"\n        })\n      }), \"mentioned in the subject line. This ID number will serve as a vital reference point in case you need to contact Google's support team.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Immediate Denial Notification (Serious Situation)\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you receive an immediate denial notification, it indicates a significant issue with your listing. In this case, it is imperative to contact a Google Specialist promptly to gain clarity on the situation. Do not attempt to submit additional reinstatement requests, as this will not improve the situation.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"No Immediate Email Response\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you do not receive an automated email immediately after submitting your request, don't be alarmed. Google may not send further communication until your Business Profile is reinstated. Keep an eye on your inbox for an email notifying you of updates to your Google Listing; this will be your initial sign that your listing is back online. Alternatively, consider utilizing a service like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot Google My Business Listings\"\n        })\n      }), \", which can monitor your Google My Business listing account status for you and provide timely updates.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What to Do If Your Request Is Denied\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Receiving a denial can be frustrating, but don't lose hope just yet. Let's explore the steps to take when faced with this setback.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Revisit the Guidelines\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Take a moment to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/answer/3038177?hl=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review Google's guidelines \"\n        })\n      }), \"carefully. Ensure that your business listing aligns perfectly with these guidelines. This initial step is crucial to understanding and addressing the reasons behind the rejection.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Fake Listings and Address Considerations\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If your business has a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-remove-fake-reviews-from-your-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" fake listing\"\n        })\n      }), \", it's typically best not to pursue reinstatement. However, if you're operating from a virtual office or a PO Box, consider the possibility of obtaining a genuine physical address. Keep in mind that the process for reinstatement in such cases can be complex, so it's advisable to seek advice before proceeding. This approach can increase your chances of not only reinstating your listing but also retaining your valuable reviews.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Adjust Your Hours\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A common issue we see is businesses displaying \\\"24 hours\\\" as their operating hours. It's advisable to set your business hours within a reasonable and accurate timeframe. This small but significant adjustment can improve your listing's credibility.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Avoid Creating a New Listing\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Under no circumstances should you create a new listing, even if Google suggests it. Doing so can result in the loss of your hard-earned ranking power and previous reviews. Patience is key in these situations. Wait for the reinstatement process to run its course.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Remember, you typically only have a limited number of reinstatement requests before encountering automated responses. Therefore, it's vital to make each attempt count and ensure your business listing complies with Google's guidelines.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to prevent your Google Business Listing from getting suspended\\xa0\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Certainly, here are some key points to help prevent a Google My Business suspension:\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Accurate Business Information:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ensure that all business details, including name, address, phone number, and website URL, are accurate and consistent across all online platforms.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Avoid Duplicate Listings:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Maintain a single, accurate listing for your business. Duplicate listings can confuse customers and violate Google's policies.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Regularly Update Information:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Keep your listing up-to-date with current business hours, services, and any changes in address or contact details.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Customer Reviews:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Encourage genuine customer reviews, but \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-remove-fake-reviews-from-your-google-business-profile\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"do not post fake reviews\"\n        })\n      }), \" or engage in review manipulation.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Monitor for Unauthorized Changes:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Routinely check your Google My Business listing account for any unauthorized edits or changes and promptly rectify them.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Service Area Accuracy:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you serve customers at their location, set a precise service area. Avoid overextending it to areas you do not cover.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Real Addresses:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you operate a service-area business, avoid using virtual offices or P.O. boxes as your primary address unless it is your physical business location.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Image Guidelines:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ensure that images associated with your business are authentic and comply with Google's image guidelines.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Respond to Customer Queries:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Promptly respond to customer questions and engage positively with user-generated content.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consistent NAP Citations:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ensure that your business's Name, Address, and Phone number (NAP) are consistent across the internet, including on your website and other online directories.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Regular Monitoring:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Continuously monitor your Google My Business listing account for any notifications or alerts from Google.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Avoid Violating Copyrights:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Do not use copyrighted material, such as images or content, without proper authorization.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Seek Expert Guidance:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're unsure about any aspect of your listing or have specific concerns, consider seeking advice from professionals who specialize in \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business optimization.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're looking to enhance your business's online visibility, Cloodot can provide valuable assistance. With Cloodot Listings, your business gains the advantage of a prominent online presence. You'll receive comprehensive, precise, and appealing listings on prominent business directories like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessmessages\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/facebook\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Facebook\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/instagram\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp\"\n        })\n      }), \", and various other popular online platforms. This ensures that potential customers can effortlessly discover your business wherever they choose to search.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Join the ranks of over 100,000 businesses that rely on Cloodot to fuel their growth. Experience a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free demo\"\n        })\n      }), \" and arrange a conversation with one of Cloodot's product experts to learn more, or sign up with us to get a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"7-day free trial\"\n        })\n      }), \".\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"Google My Business Listing Suspension: Reasons and Remedies \",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 30,\n  wkMiN9hO7: \"Discover the reasons behind Google My Business suspensions and how to recover from them. Expert advice on reinstating your listing successfully.\",\n  z3RB0M3u0: \"How To Recover Suspended Google Business Profile\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/nS2xBjsqFhIIYYMh8BMclDXdC68.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/nS2xBjsqFhIIYYMh8BMclDXdC68.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/nS2xBjsqFhIIYYMh8BMclDXdC68.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/nS2xBjsqFhIIYYMh8BMclDXdC68.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/nS2xBjsqFhIIYYMh8BMclDXdC68.png\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"ultimate-guide-for-starting-an-havc-business\",\n  GSA8tRVAB: true,\n  id: \"CH7vGB4No\",\n  JYmpedk6B: \"2023-08-26T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.forbes.com/home-improvement/hvac/what-do-hvac-contractors-do/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" HVAC\"\n        })\n      }), \" (Heating, Ventilation, and Air Conditioning) industry is poised for a promising year in 2023, thanks to a rising demand for enhanced indoor comfort driven by several factors.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The preceding year, the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://theconversation.com/britain-isnt-built-to-withstand-40-c-here-is-where-infrastructure-is-most-likely-to-fail-187229\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"United Kingdom\"\n        })\n      }), \" experienced increasingly severe heatwaves, underscoring the country's inadequate infrastructure to handle temperatures exceeding 30\\xb0C. This highlighted the pressing need for improved cooling systems and solutions.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Furthermore, there is a growing emphasis on energy efficiency and sustainability, fueling the demand for eco-friendly HVAC systems. This sustainable approach is expected to contribute significantly to the industry's growth and prosperity in 2023.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This article aims to present a comprehensive guide for initiating a business within the HVAC industry. It will cover essential pre-launch research, the necessary tools for efficient HVAC business operations, and valuable tips for attracting customers to your HVAC enterprise.\"\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Becoming an HVAC Technician\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To embark on a career as an HVAC technician, securing certification from an accredited institution or training program is a prerequisite.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"United States:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In the United States, compliance with the Clean Air Act mandates that all professionals servicing air conditioning units and refrigeration equipment must hold certification from the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.epa.gov/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Environmental Protection Agency (EPA).\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Canada\"\n      }), \":\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In many Canadian provinces, individuals pursuing careers in refrigeration and air conditioning must obtain a business license from a regulatory body operating under provincial government jurisdiction.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"United Kingdom:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To work as an HVAC contractor in the United Kingdom, it is advisable to complete a bachelor's degree and engage in an apprenticeship. Various college courses are available to facilitate entry into the field as a trainee.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Australia:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In Australia, eligibility for an air conditioning service license from the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.arctick.org/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Australian Refrigeration Council (ARC) \"\n        })\n      }), \"necessitates the completion of a certificate program, followed by participation in an apprenticeship.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While not mandatory, acquiring certificates from esteemed organizations like HVAC Excellence or\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.escogroup.org/hvac/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" NATE\"\n        })\n      }), \" (North American Technician Excellence) can enhance your professional credentials, instilling greater confidence in your customers.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Obtaining an HVAC contractor license is a crucial step beyond HVAC certification, as it grants you the authority to provide HVAC system services.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,amvnKfPFENZkdulvdTDgGuJ4JUI.jpg\",\n      \"data-framer-height\": \"3928\",\n      \"data-framer-width\": \"5892\",\n      height: \"1964\",\n      src: new URL(\"https://framerusercontent.com/images/amvnKfPFENZkdulvdTDgGuJ4JUI.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5892 / 3928\"\n      },\n      width: \"2946\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Obtaining a license in the HVAC industry\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The process for securing this license can vary depending on your location:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"In the United States:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Each U.S. state has its specific requirements for obtaining an HVAC license. Typically, this entails formal HVAC certification and a few years of apprenticeship experience. Operating without an HVAC trade license can expose you to significant fines and penalties.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"In the United Kingdom and Canada:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Unlike the United States, HVAC contractor licenses are not mandatory in the United Kingdom or Canada. However, Canadian technicians working in air conditioning and refrigeration must undergo accreditation through a government-approved program.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"In Australia:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In Australia, anyone involved in working with air conditioning or refrigeration equipment must hold a Refrigerant Handling license.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Securing an HVAC contractor license is a vital legal process that varies depending on your geographic location, and compliance is essential to operating legally in the HVAC industry.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Is it worth investing in the HVAC industry?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The HVAC services market was valued at \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.mordorintelligence.com/industry-reports/hvac-services-market\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"$57.8 billion in 2020\"\n        })\n      }), \", with a 6.1% growth rate projected to reach \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.mordorintelligence.com/industry-reports/hvac-services-market\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"$85 billion by 2026\"\n        })\n      }), \". A recovering construction industry, which is increasing demand for HVAC services, is driving this upward trend. The residential HVAC sector is also expected to sustain a 5% annual growth rate. This growth trend presents a promising opportunity for new HVAC business owners.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How much do HVAC technicians make?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"HVAC business owners typically earn a median annual income of around\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.servicetitan.com/blog/hvac-technician-salary\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" $76,000, \"\n        })\n      }), \"according to recent trade organization surveys. Many aim for a minimum earnings rate of 6%, which means transforming $1,266,666 in revenue into a modest personal income.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To increase their earnings, owners should focus on not just boosting revenue but also raising their earnings rate. For example, achieving a 10% earnings rate instead of 6% on $1,266,666 in revenue would result in an annual take-home pay of $126,666.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,SbmGmGntkdDVjDY8I00RmGP4vZQ.jpg\",\n      \"data-framer-height\": \"3744\",\n      \"data-framer-width\": \"5616\",\n      height: \"1872\",\n      src: new URL(\"https://framerusercontent.com/images/SbmGmGntkdDVjDY8I00RmGP4vZQ.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5616 / 3744\"\n      },\n      width: \"2808\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Efforts to maximize income should involve running the business at peak efficiency, ensuring that every job is completed with the right resources in the shortest time possible. The use of specialized software can help optimize material usage and streamline operations.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Taking control of various project aspects, from pricing to logistics, can push the earnings rate into double digits, substantially increasing HVAC business owners' income.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you have an understanding of HVAC owners' annual earnings and the certifications required before becoming an HVAC technician, let's delve into the process of establishing an HVAC industry business.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to start an HVAC business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Starting with creating an HVAC business plan\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Cover Page:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Include the company name, address, contact information, and the date of document preparation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Executive Summary:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Provide a concise overview of your business strategy. Define your company's mission, goals, and what customers can expect from your business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Business Overview:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Summarize the HVAC services your company offers and how it operates. Describe your HVAC business model in brief.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"List of HVAC Services:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Outline all the HVAC services you intend to provide. Estimate the frequency of service for each service category.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Pricing for HVAC Services:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Use the business plan to detail your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.contractorcommerce.com/blog/how-to-control-costs-make-more-money/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"pricing strategy \"\n        })\n      }), \"for the services offered. Explain how your pricing structure will ensure profitability.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Market Research:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Evaluate your target market and competitors. Analyze customer needs and market trends to guide your business strategy.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Marketing Strategy:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Develop a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://docs.google.com/document/d/1jqAnJNq9yEF2G9AjWIf_v5fEWvwzGIm4iMqGYHgQOBk/edit\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" marketing plan to effectively reach your target audience\"\n        })\n      }), \". Specify the marketing techniques and channels you will employ.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Securing financing for your HVAC business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Starting an HVAC business can be capital-intensive, but securing financing early can prevent financial strain or closure. Here are some financing options to consider,\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Term Loans:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"These are \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://gudcapital.com/term-loans/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"traditional loans\"\n        })\n      }), \" with fixed repayment terms and interest rates. Suitable for established businesses with good credit.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Merchant Cash Advances:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A lump sum of cash in exchange for a percentage of future credit card sales. Useful for businesses with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://gudcapital.com/merchant-cash-advance/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"consistent card transactions.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"SBA Loans:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Loans backed by the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://gudcapital.com/sba-loans/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Small Business Administration\"\n        })\n      }), \" offer favorable terms and rates. Ideal for small businesses looking for long-term financing.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Equity Financing:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This involves selling a portion of your\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://gudcapital.com/equipment-financing/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" HVAC company to investors in exchange for capital\"\n        })\n      }), \". Suitable for startups with limited credit history and business age. Advantages include gaining experienced partners who can aid in long-term growth.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consider the following equity financing options:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Small Business Investment Companies (SBICs)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Angel Investors\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Mezzanine Financing\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Initial Public Offerings (IPOs)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Venture Capital\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Royalty Financing\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Equity Crowdfunding\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Note: While seeking financing, it's crucial not to burden your new HVAC business with excessive debt. Therefore, options like equity financing or crowdfunding are advisable, especially if you're in the early stages of your business. These approaches can help you secure capital without accumulating substantial loans.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Registering your HVAC business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Obtain the Necessary License:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In many parts of the US, you must obtain an HVAC contractor license to operate legally. Follow the steps in the contractor licensing guide to secure this license before registering your business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Register Your Business Name:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Determine your business structure (sole proprietorship, partnership, corporation, or LLC) based on your business plan.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Check the availability of your proposed business name with your state's Department of State.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"For a sole proprietorship or general partnership, file a Certificate of Assumed Name with your county.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"For a corporation or LLC, file a Certificate of Incorporation or Articles of Organization, respectively, with the Department of State.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Obtain a Federal Tax ID (EIN):\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Apply for an \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.irs.gov/taxtopics/tc755#:~:text=An%20employer%20identification%20number%20(EIN,file%20various%20business%20tax%20returns.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Employer Identification Number (EIN) \"\n        })\n      }), \"with the IRS, regardless of your business type. You can complete this process online, and if your information is verified, you'll receive your EIN immediately.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Insure Your Business:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Protect your HVAC startup from potential damages by securing appropriate insurance.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consider the following insurance types and costs:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"General liability policy: $60 monthly or $710 annually\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Cyber liability insurance: $140 monthly or $1,675 annually\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Workers\u2019 compensation: $260 monthly or $3,150 annually\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Contractor\u2019s tools and equipment insurance: $15 monthly or $170 annually\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Commercial auto insurance: $150 monthly or $1,810 annually\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"General liability and workers\u2019 compensation are crucial insurance policies for HVAC businesses in the US, ensuring compliance with the law.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Work with a reputable insurance provider to ensure your policy aligns with your state\u2019s regulations.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Investing in Equipment and Tools for Your HVAC Business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In the HVAC industry, your choice of specialization depends on your skills, experience, and target market. Before you invest in equipment and tools, consider the type of HVAC business you want to establish:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Residential HVAC:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This business primarily serves homeowners, offering services such as installing, maintaining, and repairing home air conditioners, furnaces, heat pumps, and ventilation systems.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Commercial HVAC:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Targeting commercial properties like offices, retail stores, hotels, and restaurants, this business specializes in larger commercial HVAC systems, including chillers, boilers, and rooftop units.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Industrial HVAC:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Focused on industrial facilities like warehouses and factories, this business handles more complex HVAC systems, including refrigeration and air filtration systems.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"HVAC Design and Consulting:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Provides consulting services for HVAC system design and installation for various clients. This may include energy-efficiency consulting, project management, or HVAC system analysis.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"HVAC Sales:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Focuses on selling HVAC equipment and supplies to businesses or individuals. This business may take the form of e-commerce, brick-and-mortar stores, or a combination of both.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"HVAC Maintenance and Repair:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Specializes in regular maintenance and emergency repairs for HVAC systems.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Once you've decided on your HVAC business niche, it's time to acquire the necessary equipment and tools for your operations.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Hiring Skilled HVAC Workers\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The demand for HVAC professionals is on the rise, and attracting qualified talent is crucial for the survival of your HVAC business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Creating Compelling Job Openings\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Craft job listings that clearly outline job descriptions, required qualifications, and potential compensation to attract top talent.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Wide-reaching Job Postings:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Advertise job openings through various channels, including online job boards, social media platforms, HVAC industry websites, and local newspapers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Prioritizing Certifications:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Give preference to applicants holding essential certifications, such as:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"EPA Section 608 Technician Certification\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"NATE Certification\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"HVAC Excellence Certification\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Consider Training:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"If resources allow, you can take a calculated risk by hiring trainees and investing in their development. Provide the necessary training until they acquire the required qualifications before fully integrating them into your team.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"By focusing on these strategies, you can attract and retain skilled HVAC workers, ensuring the success and growth of your business.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Pricing Your HVAC Business Services for Profit\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To run a successful HVAC business, pricing your services appropriately is crucial. Here's how to get started with pricing HVAC jobs effectively:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Competitive Analysis:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Begin by researching your competitors to understand the average rates in your local market.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Determine Profit Margins:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Calculate the markup needed to achieve your desired profit margins.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Value-Added Services:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Identify additional services you can offer to enhance your overall service quote. Consider implementing the following pricing techniques for HVAC projects:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Hourly Rate Pricing Model:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilize hourly rates for projects that are time-consuming or require detailed attention. This approach is useful when project durations are uncertain.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Flat Rate Pricing Model:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Set a fixed, all-inclusive price for the entire job. This method works well when you can accurately estimate the job's duration.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Labor and Materials Pricing Model:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Charge customers based on the labor performed and materials provided. This approach allows for better cost recovery.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Once you've determined your service prices, create an HVAC pricing chart that outlines your service costs either at flat rates or hourly rates. A pricing chart simplifies the process of providing clients with accurate and consistent HVAC estimates.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Building a Strong Customer Retention Strategy\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Statistics show that a significant portion of a business's sales come from existing customers. This highlights the importance of retaining customers for the growth of your HVAC startup. To achieve this, you need an effective\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" customer retention strategy\"\n        })\n      }), \". Here are some key tips:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Gather and act on customer feedback:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Continuously collect and utilize\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" customer feedback \"\n        })\n      }), \"to enhance your services and meet their evolving needs.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Provide helpful content:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Create informative articles that offer guidance to potential customers in search of HVAC solutions. Establish yourself as a trusted source of information.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Launch loyalty programs:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Reward your most loyal customers with exclusive benefits or discounts. Loyalty programs can incentivize repeat business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Upselled strategically:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Offer complementary products or services to your customers based on their needs. Upselling can enhance the value you provide.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Social media engagement:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Keep a close eye on your social media mentions and actively engage with your audience. Responding promptly and professionally can build a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-make-a-customer-acquisition-strategy\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" stronger customer relationship.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By implementing these strategies, you can not only retain your HVAC customers but also foster their loyalty, which is vital for the sustained success of your business.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"How do you get online reviews for your HVAC company?\"]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Online reviews significantly influence consumers\"\n        })\n      }), \"' choice of an HVAC contractor. Prospective customers rely on the feedback of others before making decisions. A wealth of positive online reviews instantly elevates your business as a preferred option.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Follow-Up Email:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After completing a successful HVAC service or installation, send a follow-up email thanking the customer for their business. Politely request that they leave a review on your website or a popular review platform. Provide direct links to make it easy for them.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"In-Person Request:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"When you finish a job and the customer is satisfied, personally ask them if they'd consider \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"leaving a review\"\n        })\n      }), \". Emphasise the importance of their feedback in helping your business thrive.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Social Media Posts:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilize your HVAC business's social media channels to request reviews. Share customer success stories and encourage others to share their experiences as well. Include clear instructions on how to leave a review.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"QR Codes on Marketing Materials:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Place QR codes on your business cards, service invoices, or promotional materials. When customers scan these codes, they can easily access your review page and leave feedback.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Engage with Existing Reviews:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Regularly engage with existing reviews by responding to them,\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" whether they are positive or negative.\"\n        })\n      }), \" When you respond to reviews professionally and express gratitude for positive feedback, it encourages others to leave their reviews.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,VBPALebVw5yUwoH98GMPSXEemEI.jpg\",\n      \"data-framer-height\": \"2000\",\n      \"data-framer-width\": \"2676\",\n      height: \"1000\",\n      src: new URL(\"https://framerusercontent.com/images/VBPALebVw5yUwoH98GMPSXEemEI.jpg\").href,\n      style: {\n        aspectRatio: \"2676 / 2000\"\n      },\n      width: \"1338\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Practice HVAC Business Etiquette\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Maintaining HVAC business etiquette is vital for fostering trust and professionalism. HVAC companies should prioritize punctuality, clear communication, and honesty when dealing with customers. Technicians should exhibit respect for customers' properties, ensure safety, and consistently deliver high-quality workmanship.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here are some examples of HVAC business etiquette:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Punctuality\"\n      }), \": Arriving on time for appointments and service calls is crucial. It shows respect for the customer's time and demonstrates reliability.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Professional Appearance\"\n      }), \": HVAC technicians should present themselves cleanly and professionally, wearing uniforms and carrying identification badges.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Clear Communication\"\n      }), \": Effective communication with customers is essential. Technicians should explain issues, solutions, and costs clearly and in a way that the customer can understand.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Respect for Property\"\n      }), \": Technicians should treat the customer's property with care and respect. This includes wearing shoe covers and cleaning up after the job is complete.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Honesty and Transparency\"\n      }), \": Being truthful about the condition of HVAC systems and any necessary repairs or replacements builds trust with customers.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Customer Privacy\"\n      }), \": Respecting customer privacy and confidentiality is crucial. Technicians should not share personal information or details about the customer's property without permission.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Quality Workmanship\"\n      }), \": Providing high-quality HVAC services ensures customer satisfaction and helps build a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" good reputation\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Safety\"\n      }), \": Prioritizing safety in all aspects of HVAC work, both for technicians and customers, is fundamental etiquette.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Follow-Up\"\n      }), \": Following up with customers after service to ensure their satisfaction and address any concerns demonstrates care and commitment.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Ethical Business Practices\"\n      }), \": Conducting business with integrity, including fair pricing and honest billing practices, is essential.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Adhering to these HVAC business etiquette standards not only enhances the customer experience but also contributes to the overall professionalism and success of HVAC companies.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"The Significance of Messaging for HVAC Businesses and How Cloodot Can Help\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In the HVAC business, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"effective messaging \"\n        })\n      }), \"plays a pivotal role in enhancing customer interactions and overall business success. Here's why messaging is crucial and how Cloodot's features can be beneficial:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"1. Seamless Customer Engagement:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"HVAC companies often deal with urgent requests for repairs or maintenance, and HVAC businesses often communicate with customers through various channels, such as websites, social media, and SMS. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot's unified inbox \"\n        })\n      }), \"consolidates messages from multiple channels into one place. This streamlines communication, ensuring that no customer inquiry or request goes unnoticed.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"2. AI-Powered Efficiency:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot's AI capabilities\"\n        })\n      }), \" provide quick responses and customizable canned replies, enabling HVAC businesses to engage with customers promptly. AI-powered custom notes summarize interactions, helping your team understand customer needs better. This feature is particularly useful for addressing HVAC queries efficiently.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"3. Multi-Channel Accessibility:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"HVAC customers have diverse preferences for communication. Cloodot allows businesses to connect with customers on various platforms, including\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/5-ways-small-businesses-can-leverage-google-messages-for-customer-support\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google messages\"\n        })\n      }), \", Google map listings, Facebook Messenger, WhatsApp, websites, and SMS, all through a single inbox. This widens your reach and ensures you're present where your customers are.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"4. Efficient Service Scheduling: With Cloodot, you can efficiently manage your HVAC technicians' schedules. When a customer contacts you for service, your AI chatbot can instantly check technician availability and schedule appointments, ensuring prompt service delivery.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"5. AI Chatbot for Instant Support: HVAC issues can arise at any time, even outside of business hours. Your AI chatbot can provide instant answers to common questions, offer troubleshooting tips, and, if necessary, schedule a service call. This round-the-clock support enhances customer satisfaction.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"6. Personalized Recommendations: Cloodot's AI can\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" analyze customer data\"\n        })\n      }), \" to provide personalized recommendations. For instance, if a customer has a history of requesting AC repairs in the summer, your AI chatbot can proactively send maintenance reminders or suggest HVAC system upgrades before the season starts.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"7. Team Collaboration:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Your HVAC team is the face of your brand. Cloodot facilitates efficient team collaboration by allowing you to assign live conversations to the most suitable team members. This ensures quicker resolutions and a delightful customer experience.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"8. Automation for Scalability:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"HVAC businesses can benefit from Cloodot's custom chatbots and workflow automation. These tools reduce the need for manual labor and enable you to engage with more customers at scale. Automation can handle tasks like contact creation, labeling, custom field editing, and feedback collection.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In summary, Cloodot's features, such as unified inboxes, AI-powered responses, multi-channel accessibility, team collaboration, and automation, can significantly boost your HVAC business's customer engagement and overall success.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"We've provided you with comprehensive information about the HVAC industry, including how to kickstart your business successfully. To inspire you further, here are some of the top HVAC companies in 2023 that you can look up to for excellence.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Top HVAC companies of 2023\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Heating, ventilation, and air conditioning (HVAC) systems often escape our attention until they malfunction, highlighting their crucial role in maintaining indoor comfort. As the most significant investment for many households, selecting the right company is paramount when it's time for a replacement.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To simplify your decision-making process, we've conducted extensive research and compiled our list of the Best HVAC Companies in 2023. This list includes reputable names such as Carrier, Bryant, Goodman, Lennox, Rheem, and more. Our ratings and gathered information will not only assist you in comprehending HVAC systems but also aid you in finding the ideal HVAC company that aligns with your specific requirements.\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/carrier\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Carrier\"\n            })\n          }), \" #4.2\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/bryant\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Bryant\"\n            })\n          }), \" #4.1\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/goodman\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Goodman\"\n            })\n          }), \" #4.0\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/lennox\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Lennox\"\n            })\n          }), \" #3.9\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/trane\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Trane \"\n            })\n          }), \"#3.8\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/rheem\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Rheem\"\n            })\n          }), \" #3.8\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/american-standard\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"American Standard\"\n            })\n          }), \" #3.7\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/york\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"York \"\n            })\n          }), \"#3.6\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/frigidaire\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Frigidaire\"\n            })\n          }), \" #3.6\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/amana\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Amana\"\n            })\n          }), \" #3.5\"]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.usnews.com/360-reviews/services/hvac/coleman\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Coleman \"\n            })\n          }), \"#3.5\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Starting your own HVAC business requires careful planning and streamlined processes to ensure success. By partnering with Cloodot and utilizing its \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CXM (Customer Experience Management)\"\n        })\n      }), \" software, you can kickstart your HVAC venture on the right foot.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Cloodot's CXM software offers comprehensive solutions for managing customer interactions, tracking leads, and providing exceptional post-sales support.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With features like lead management, automated communication, and customer data insights, Cloodot empowers you to build strong customer relationships and grow your HVAC business efficiently. From the initial stages of lead generation to delivering top-notch service, Cloodot simplifies and enhances every aspect of your HVAC business, helping you achieve your core business goals more effectively.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"There is much more to know about Cloodot. Sign up with us and get a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" free trial\"\n        })\n      }), \", or schedule a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" free demo \"\n        })\n      }), \"to learn more about Cloodot. There is a lot more hidden inside Cloodot; check it out.\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"Navigating the HVAC Industry: A Comprehensive Business Launch Guide\",\n  tnSC8si1b: \"trUjI11ik\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 29,\n  wkMiN9hO7: \"Discover how to thrive in the HVAC industry with our comprehensive guide. Learn about certifications, licensing, business setup, pricing strategies, customer retention, and more.\",\n  z3RB0M3u0: \"Ultimate Guide For Starting An HAVC Business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/dAJW9yDkvqMtYUWnpXJiJ2wKsA.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/dAJW9yDkvqMtYUWnpXJiJ2wKsA.jpg?scale-down-to=512\").href} 409w, ${new URL(\"https://framerusercontent.com/images/dAJW9yDkvqMtYUWnpXJiJ2wKsA.jpg?scale-down-to=1024\").href} 819w, ${new URL(\"https://framerusercontent.com/images/dAJW9yDkvqMtYUWnpXJiJ2wKsA.jpg?scale-down-to=2048\").href} 1638w, ${new URL(\"https://framerusercontent.com/images/dAJW9yDkvqMtYUWnpXJiJ2wKsA.jpg\").href} 2266w`\n  }, \"\"),\n  B7LIlf4Jc: \"whatsapp-is-taking-down-every-other-channel-by-introducing-a-new-feature-check-it-out\",\n  GSA8tRVAB: true,\n  id: \"WHm7B3IQ3\",\n  JYmpedk6B: \"2023-08-22T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: \"Breaking Down WhatsApp Channels: The Next Level of Messaging\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"WhatsApp Channels is a recently introduced feature by the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://business.whatsapp.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Meta-owned \"\n        })\n      }), \"instant messaging platform, WhatsApp. It allows admins to send text, photos, videos, stickers, and polls to users who subscribe to their channels. Users can receive important updates and messages from businesses and individuals within WhatsApp. And it has enabled b\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-do-business-in-whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"usinesses to tap into a global audience and boost revenue \"\n        })\n      }), \"by offering streamlined customer support, personalized promotions, and direct sales channels, fostering stronger customer relationships and driving higher conversions. Here's everything you need to know about this new private messaging tool.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"What is WhatsApp channel and its features?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://blog.whatsapp.com/introducing-whatsapp-channels-a-private-way-to-follow-what-matters\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp's new feature \"\n        })\n      }), 'is a one-way broadcast tool designed for businesses and organizations. It enables them to send messages and updates to an unlimited number of WhatsApp followers. This functionality follows a similar feature that was introduced for Instagram by Meta, the parent company of WhatsApp. With the new update, users will find the Channels feature in the bottom tab labeled \"Updates,\" which includes a searchable directory for discovering topics of interest. Channels can prove advantageous for influencers, businesses, and individuals seeking to share news, updates, and relevant information with their WhatsApp followers or customers.']\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"WhatsApp new features respect your privacy and choice\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp new features aka Channels prioritize privacy as they aim to become the most private broadcast service. The platform ensures the protection of personal information for both admins and Whatsapp users. As an admin, your phone number and profile photo will remain undisclosed to your WhatsApp followers. Similarly, following a channel will not expose your phone number to the admin or other users. WhatsApp emphasizes that the decision of whom to follow is entirely up to you, and it is treated with utmost privacy and confidentiality.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"WhatsApp channel with a 30-day expiry\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"WhatsApp Channels have a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://timesofindia.indiatimes.com/gadgets-news/whatsapp-channels-feature-starts-rolling-out-what-it-is-30-day-expiry-admin-controls-and-more/articleshow/100842665.cms#:~:text=This%20means%20all%20information%20in,and%20forwards%20from%20their%20channel.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"30-day expiry\"\n        })\n      }), \" for content storage, reflecting the platform's belief in non-permanence. Channel history is stored on servers for up to 30 days before automatic removal. WhatsApp intends to introduce features for faster disappearance of updates from follower devices. Admins have control over blocking screenshots and forwards, as well as managing channel visibility in the directory and choosing WhatsApp followers.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Wide Reach with a Different Encryption Approach\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://faq.whatsapp.com/245599461477281?helpref=faq_content\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp Channels\"\n        })\n      }), \" prioritize reaching a broad audience, and therefore, they do not employ end-to-end encryption by default. This distinctive encryption approach ensures that channels can effectively reach a wide range of users while maintaining certain communication capabilities.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Control Over Channels\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp Channels provide admins with extensive control over their channels. Admins can determine the audience by deciding who can follow their channel and whether it appears in the directory. They also can block screenshots and forwards, giving them added control over content distribution and privacy.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Monetization Opportunities\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp will integrate its payment methods into the Channels feature, enabling creators to monetize their services and build their businesses. This integration allows admins to explore various revenue streams and capitalize on their channel's value. Additionally, WhatsApp will strategically include and promote selected channels in the directory to enhance visibility and increase awareness among users.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"WhatsApp Channels Availability: Initial Launch in Singapore and Colombia, Expansion Planned\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"WhatsApp new feature will first be launched in Singapore and Colombia, where the platform will collaborate with prominent global voices and select organizations to build and refine the experience and it is expected to be launched soon in India. This initial phase aims to gather insights and adapt the feature. In the coming months, WhatsApp plans to expand its new features today to more countries worldwide and\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://faq.whatsapp.com/265055289421317/?helpref=search&query=WhatsApp%20channel%20with%20a%2030-day%20expiry%20&search_session_id=33aed3e7be57b26800a292d3877b212a&sr=1\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" enable anyone to create\"\n        })\n      }), \" their channel. Stay tuned for updates on the availability of Channels in your region.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"How WhatsApp channels will work\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Channels will be in a dedicated tab labeled \"Updates\" within WhatsApp, separate from regular chats.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Admins cannot add WhatsApp followers to their channels, ensuring that users can control which channels they receive updates from.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Privacy is a priority, with Channels aspiring to be the most private broadcast messaging product available.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Channel history will only be stored for 30 days and automatically disappear afterward.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Phone numbers and profile photos of channel admins will not be shared with WhatsApp followers.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Following a channel will not expose your phone number to the admin or other WhatsApp followers.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Wrapping up\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"WhatsApp Channels present a potent avenue for businesses and organizations to disseminate information to their WhatsApp followers and generate excitement around their latest offerings and services. This tool enables them to enhance their business growth by fostering direct communication and effortless engagement with their target audience.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For more updates on \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.whatsapp.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WhatsApp features \"\n        })\n      }), \"and here is\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cnet.com/tech/services-and-software/whatsapp-channels-how-the-new-feature-will-work-for-following-teams-people-groups/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" how to link multiple phones to your WhatsApp account. \"\n        })\n      }), \"In line with the new WhatsApp feature, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"cloodot \"\n        })\n      }), \"has also embraced the updates, enabling you to connect with your customers in a significantly faster and more efficient manner, reaching them 5X quicker. If you want to know more about how the cloodot Whatsapp channel feature can help you with customer interaction and manage your multiple customers with one number, tap on the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/whatsapp\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"link\"\n        })\n      }), \" to learn more.\"]\n    })]\n  }),\n  tcujvgbt3: \"WhatsApp is taking down every other channel by introducing a new feature. Check it out\",\n  tnSC8si1b: \"WLFE0gRz1\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 28,\n  wkMiN9hO7: \"WhatsApp allows admins to send text, photos, videos, stickers, and polls to users who subscribe to their channels. Users can receive important updates and messages from businesses and individuals within WhatsApp.\",\n  z3RB0M3u0: \"WhatsApp is taking down every other channel by introducing a new feature. Check it out\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/wOI1K1lXPnVgd0KmFHMaUO72k6E.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/wOI1K1lXPnVgd0KmFHMaUO72k6E.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/wOI1K1lXPnVgd0KmFHMaUO72k6E.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/wOI1K1lXPnVgd0KmFHMaUO72k6E.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/wOI1K1lXPnVgd0KmFHMaUO72k6E.png\").href} 2400w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-remove-fake-reviews-from-your-google-business-profile\",\n  GSA8tRVAB: true,\n  id: \"Wd6MsYVOW\",\n  JYmpedk6B: \"2023-08-20T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Local businesses greatly value \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google reviews\"\n        })\n      }), \", which play a crucial role. Regrettably, there are individuals on the internet who post adverse or fabricated Google reviews. This underscores why small, independent businesses should closely monitor their performance in Google reviews. When fake reviews surface on your Google My Business listing, how can you eliminate them? Is there a method beyond just flagging for reporting such reviews?\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The positive answer is that yes, you can. The unfortunate news is that there's no magic solution.\\xa0Google takes action against reviews that breach its guidelines, especially those that are fake. In this article, we will explore techniques to identify fake Google reviews. Subsequently, we will outline the procedures to report these reviews to Google and have them taken down from your listing.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Why are Google reviews important?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Recognizing the importance of Google reviews is crucial. It's not just about \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"managing negative feedback\"\n        })\n      }), \"; it's an ongoing journey. Each review, whether it's a thumbs up or thumbs down, warrants your consideration. Even star ratings deserve a tip of the hat. Sometimes, even a brief inquiry can unlock deeper insights about the experience shared. And let's not forget that all reviews, particularly those delving into what you offer, play a dual role \u2013 boosting local SEO rankings and helping potential customers grasp your services better.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now, let's delve into some intriguing figures from the 2023 Local Consumer Review Survey:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"A whopping\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" 98% \"\n            })\n          }), \"of people read reviews before even contemplating local services.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Back in 2022, a robust \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"87% \"\n            })\n          }), \"of consumers turned to Google as their go-to for assessing local businesses.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"However, there's a twist: the number of reviewers is small, making negative feedback more prominent. This highlights the importance of responding to all reviews. It encourages more feedback, shows customers you value their opinions, and adds context to occasional negative feedback, regardless of the situation.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"The importance of reporting fake Google reviews\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The significance of reporting fake Google reviews cannot be overstated. These fabricated reviews not only undermine the authenticity of your business but also mislead potential customers. According to recent surveys, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.luisazhou.com/blog/online-review-statistics/#:~:text=94%25%20of%20consumers%20admit%20that,it%20responds%20to%20negative%20reviews.\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"94% of consumers\"\n        })\n      }), \" have admitted to avoiding a business due to negative Google reviews, highlighting the impact of such misinformation. Taking action against fake reviews is a proactive step toward upholding your business's integrity, reinforcing trust with your audience, and ensuring that genuine feedback shapes your online reputation.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What to do when you come across a bad review\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google advises business owners to flag reviews strictly based on violations of their review policy rather than personal disagreements or dislikes about the content.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When faced with negative Google reviews, there are several aspects to keep in mind for effective management:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Context Matters\"\n      }), \": Analyze the content and circumstances of the review. Understanding the context helps determine if it's a genuine concern or an isolated incident.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Stay Professional\"\n      }), \": Respond professionally and empathetically. Acknowledge the issue and show your commitment to resolving it. This demonstrates your dedication to customer satisfaction.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Feedback for Improvement\"\n      }), \": Treat bad reviews as opportunities for growth. Constructive criticism can highlight areas where your business can enhance its services and offerings.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What types of reviews can be removed from Google?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google will remove reviews that fall under these categories as they are deemed inappropriate:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Fake or spammy reviews\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews featuring restricted content\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews including illegal or explicit material\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews associated with terrorism\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Off-topic reviews\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews with harmful content\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews containing disrespectful language\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reviews influenced by conflicts of interest\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Prohibited content in reviews\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you understand what fake reviews are and what factors to consider, let us move on to the steps to remove fake reviews from Google.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to remove fake reviews from Google\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Encountering negative Google reviews present an opportunity for careful consideration:\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Detecting Fake Reviews\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When suspicions arise about a review's authenticity, Google's formal review process becomes necessary, as deleting reviews directly isn't an option. Although this process can be time-consuming, Google evaluates the validity of the concern before deciding whether to remove the review. Be aware that the outcome isn't guaranteed, and you might need to communicate with the reviewer to resolve matters.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Access Your Google My Business Account\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To initiate Google's removal process, begin by logging into your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/intl/en_in/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business account\"\n        })\n      }), \". This grants access to your company's reviews.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,wBVNRuT1zE31gGSdCAB4C4wZbcg.png\",\n      \"data-framer-height\": \"490\",\n      \"data-framer-width\": \"1550\",\n      height: \"245\",\n      src: new URL(\"https://framerusercontent.com/images/wBVNRuT1zE31gGSdCAB4C4wZbcg.png\").href,\n      style: {\n        aspectRatio: \"1550 / 490\"\n      },\n      width: \"775\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Navigate to the Reviews Tab\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['After logging in, locate and click on the \"Reviews\" option in the left-hand menu. This will lead you to a comprehensive list of your business\\'s reviews.', /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Flag the Challenging Review\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['Identify the review in question and click on the three dots on its right side. This action will unveil a drop-down menu, offering the \"Flag as inappropriate\" choice.', /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,CZd8g4Z9HlkAbEYOPjW7ebAbyw.png\",\n      \"data-framer-height\": \"792\",\n      \"data-framer-width\": \"1550\",\n      height: \"396\",\n      src: new URL(\"https://framerusercontent.com/images/CZd8g4Z9HlkAbEYOPjW7ebAbyw.png\").href,\n      style: {\n        aspectRatio: \"1550 / 792\"\n      },\n      width: \"775\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Complete the Follow-Up Survey\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: '\\xa0Once flagged, Google seeks further details through a follow-up survey. This step helps you specify the reason for your concern. After choosing the most relevant option, click \"Submit.\"'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Positive Reviews as Counterbalance\"\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Counterbalance negative feedback with new positive reviews. Timing is crucial; seek reviews immediately following \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"positive customer experiences\"\n        })\n      }), \". While avoiding review Gatekeeping and soliciting feedback at the right moment can enhance your online reputation across various platforms.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Ultimately, handling negative Google reviews with professionalism and leveragin\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"g better online reviews to grow your business \"\n        })\n      }), \"can shape your digital marketing strategy for the better.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Note: Learn when is the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"right time to ask for customer reviews\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to flag a fake Google review: steps for reporting\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Flagging a fake review on Google involves a few steps. Here's a guide to help you through the process:\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Visit Google's review workflow page:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Go to Google's official review workflow page. If you're not signed in, click the \\\"Sign in\\\" button.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Select your business:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After signing in, you'll see your business listed along with applicable locations. Choose the location for the review you want to report.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Check previous reports:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'You have the option to review the status of previously reported reviews. Google might already be taking action on some. Click on \"Check the status of a review I reported previously.'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Initiate a new report:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If the review you want to report is not on the list, click Report a new review for removal.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Identify and report the review:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'A list of your reviews will appear. Locate the review you want to report and click the \"Report\" button next to it.'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"6\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Choose the reason:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A new window will open, asking you to select the reason for reporting the review. Choose the most appropriate option.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"7\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Confirm and submit:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Confirm your reason selection and click \"Submit.'\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"8\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h5\",\n        children: /*#__PURE__*/_jsx(\"h5\", {\n          children: \"Confirmation and completion:\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You will receive a confirmation message on the page and a confirmation email. Return to the workflow tab and click \\\"Continue\\\" for final confirmation.Remember, reporting a fake review takes time for Google to review and respond. While waiting, maintain professionalism and focus on your business's reputation. By following these steps, you can take effective action against fake Google reviews and protect your business's online credibility.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [\"How can you reach Google Support for Small Businesses?\", /*#__PURE__*/_jsx(\"br\", {})]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To get in touch with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/?hl=en#topic=4596754\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google Small Business Support\"\n        })\n      }), \", you have a couple of options. You can connect online or reach out via Twitter at \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/GoogleSmallBiz\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@GoogleSmallBiz\"\n        })\n      }), \". Additionally, if you have concerns specifically about Google reviews, there's a dedicated avenue for that through the Google Business Profile contact form and Twitter handle \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/GoogleMyBiz%5C\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"@GoogleMyBiz.\"\n        })\n      }), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,z92A37XoBdNOdVGhoaC7FjK0.png\",\n      \"data-framer-height\": \"1240\",\n      \"data-framer-width\": \"1550\",\n      height: \"620\",\n      src: new URL(\"https://framerusercontent.com/images/z92A37XoBdNOdVGhoaC7FjK0.png\").href,\n      style: {\n        aspectRatio: \"1550 / 1240\"\n      },\n      width: \"775\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Duration for bad review removal\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When it comes to the removal of negative Google reviews, it's important to note that Google's content policies stipulate a processing time of several days for review removal requests to be evaluated.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Unlocking positive reviews and more with cloodot\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot is committed to fostering local business growth through enhanced reviews and exceptional customer experiences. Our team of\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" review management experts \"\n        })\n      }), \"can guide you in accumulating more reviews for your company, streamlining communication with both your team and customers, improving your website, and more. With an\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" all-in-one inbox\"\n        })\n      }), \", we can help you gather all your reviews from multi-channels under a single dashboard and give you a detailed analysis report about your reviews and reputation management.\"]\n    })]\n  }),\n  tcujvgbt3: \"Removing Fake Google Reviews: A Comprehensive Guide for Small Businesses\",\n  tnSC8si1b: \"RS4Mncczl\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 27,\n  wkMiN9hO7: \"Learn how to identify and remove fake Google reviews to safeguard your business's credibility and reputation. Follow our step-by-step guide for effective review management.\",\n  z3RB0M3u0: \" How to remove fake reviews from your Google business profile\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/NHNeW4aScPusPSSuaKs1pssjC8.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/NHNeW4aScPusPSSuaKs1pssjC8.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/NHNeW4aScPusPSSuaKs1pssjC8.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/NHNeW4aScPusPSSuaKs1pssjC8.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/NHNeW4aScPusPSSuaKs1pssjC8.png\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"5-ways-small-businesses-can-leverage-google-messages-for-customer-support\",\n  GSA8tRVAB: true,\n  id: \"WeS3ulSyM\",\n  JYmpedk6B: \"2023-08-19T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Small and medium-sized businesses often grapple with delivering exceptional customer service within limited resources. However, Google's Business Messages offers an innovative solution to bridge this gap. This interactive messaging platform enables real-time chats between businesses and customers, enhancing engagement and satisfaction. In this blog, we'll delve into how small businesses can harness the power of Google Business Messages to transform customer support and foster lasting relationships.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How does Google Business Messages interact with businesses?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: ['Google Business Messages is an interactive messaging platform connecting businesses and customers. Accessible through Google Search, Maps, and other platforms, it enables real-time chats. Users find a \"Message\" button when searching for a business, starting instant conversations. This chat allows for inquiries, assistance, and transactions with quick personalized responses from businesses. Automation tools like predefined messages and ', /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chatbots \"\n        })\n      }), \"can aid responses.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This boosts customer engagement and satisfaction, which are vital for small business growth. When people can easily reach out to you right from the search results, you can \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"build better relationships \"\n        })\n      }), \"from the start and increase the number of people who become your customers.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Setting Up Google Business Messages\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Setting up Google Business Messages is straightforward and can be done on both desktop and mobile devices.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"On Desktop:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Log in to your \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.google.com/intl/en_in/business/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google Business Profile\"\n            })\n          }), \".\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Access the \"Messages\" section from the left menu.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click the \"Turn on messaging\" button to activate messaging for your business.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Customize messages to enhance engagement.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ensure notifications are enabled to maintain timely responses.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"On Mobile:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Launch the \", /*#__PURE__*/_jsx(Link, {\n            href: \" https://play.google.com/store/apps/details?id=com.segb_d3v3l0p.minegocio&hl=en&gl=US\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google My Business app\"\n            })\n          }), \".\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Log in to your account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Select your business from the list.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Tap on \"Customers\" and then \"Messages.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Toggle on the \"Messaging\" option and personalize messages.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Enable notifications to stay responsive.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,dZbJfFpa3eKtZImtv3ebSlCsww.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1923\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/dZbJfFpa3eKtZImtv3ebSlCsww.png\").href,\n      style: {\n        aspectRatio: \"1923 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"5 advantages of Google's Business Messages:\"\n      })]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Personalized on-demand assistance:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Share rich media like photos and carousels through Google's Business Messaging, offering a tailored experience when addressing inquiries. Visuals enhance understanding and eliminate confusion about products.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Integration and automated touchpoints:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Utilize the API to integrate Google's Business Messages with existing social media management or messaging services. Automation, like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chatbots,\"\n        })\n      }), \" enhances the customer journey. Up to five welcome messages can initiate dialogue.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Reduced response times and swift resolutions:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Manage multiple conversations simultaneously in Google's Business Messages, minimizing customer wait times and expediting issue resolutions. Maintaining prompt responses aligns with customer expectations.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"4\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Wider availability for customer needs:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By adopting Google's Business Messages, your availability for customer inquiries expands. This capability benefits both your business, allowing you to handle more customers, and the customers themselves, who receive quick and efficient support via Google's search engine.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Embrace these strategies to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"optimize customer engagement \"\n        })\n      }), \"through Google's Business Messages and streamline your communication for enhanced satisfaction and success.\"]\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"5\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: /*#__PURE__*/_jsx(\"h4\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Boosted traffic and revenue:\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For brick-and-mortar locations, real-time responses aid in providing directions or parking information, attracting more customers to your establishment. Engaging potential customers enhances physical traffic.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,4Fld4soVJZ1i5G61pkrKvBteg.png\",\n      \"data-framer-height\": \"1028\",\n      \"data-framer-width\": \"1184\",\n      height: \"514\",\n      src: new URL(\"https://framerusercontent.com/images/4Fld4soVJZ1i5G61pkrKvBteg.png\").href,\n      style: {\n        aspectRatio: \"1184 / 1028\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Best practices with Google's Business Messages:\"\n      })\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Crafting a welcome introduction:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You can create a friendly welcome message that appreciates customers for reaching out and invites them to share how you can assist them.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Streamlined communication with a shared inbox:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Utilize a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" shared inbox t\"\n        })\n      }), \"hat multiple team members can manage, ensuring prompt responses. Control permissions to involve qualified staff in handling inquiries.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Timely responses matter:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Respond within 24 hours to maintain customer satisfaction and Google's requirements. Employ saved responses for common queries, while complex issues require skilled service agents. Utilize tools like an all-in-one inbox to manage \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"multi-channel messages \"\n        })\n      }), \"effectively.\"]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Personalize interactions:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Engage customers with personalized messages, fostering a friendly and familiar connection. Add images, videos, and emojis for a more engaging and authentic exchange. Integrate Google Business Messaging with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-cxm-software-is-important\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CXM for a seamless, personalized experience.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Visuals for effective communication:\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Utilize visuals, such as photos, to efficiently address inquiries. Images offer additional context and can be more impactful in conveying information.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How cloodot will help you with Google Business Messages\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Direct Chats from Maps:\"\n          }), \" Facilitate direct customer communication from Google Maps listings.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Seamless Chats from Search:\"\n          }), \" Enable customers to initiate chats directly from search results.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enhanced Messaging Experience:\"\n          }), \" Elevate conversations with rich elements for optimized interactions.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"AI-Driven Chatbot Engagement:\"\n          }), \" Utilize AI chatbots for 24/7 accurate customer interaction.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Unified Review Management:\"\n          }), \" Manage Google Maps reviews within Cloodot effortlessly.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Efficient Multi-Agent Support:\"\n          }), \" Assign multiple agents to handle messages for quicker resolutions.\"]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enhanced Security:\"\n          }), \" Provide secure access for agents without granting original profile access.\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google Business Messages revolutionizes customer support for small businesses by providing real-time, personalized interactions with customers. Leveraging this platform, businesses can enhance engagement, streamline communication, and drive customer satisfaction. Incorporating best practices and utilizing tools like Cloodot further amplify the benefits of Google Business Messages, propelling small businesses towards growth and success. To explore more about this powerful tool, schedule a free demo call or sign up for a free trial with Cloodot.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"schedule a free\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://meetings.hubspot.com/adhil\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" demo call \"\n            })\n          }), \"or sign up for a \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://app.cloodot.com/auth/signin\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"free trial\"\n            })\n          }), \".\\xa0\"]\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    })]\n  }),\n  tcujvgbt3: \"How Google Business Messages Can Benefit Your Small Business\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 26,\n  wkMiN9hO7: \"Unlock the potential of Google Business Messages for small businesses. Learn to provide real-time assistance, integrate automation, and optimize interactions for growth.\",\n  z3RB0M3u0: \"5 Ways Small Businesses Can Leverage Google Messages for Customer Support\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/or2YYAEh7nVOESZVfM3Byg11BM.jpg\").href} 8192w`\n  }, \"\"),\n  B7LIlf4Jc: \"10-ways-google-my-business-experts-can-help-you-succeed\",\n  GSA8tRVAB: true,\n  id: \"bcHEApJxs\",\n  JYmpedk6B: \"2023-08-17T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google dominates the search engine market with an impressive\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.hootsuite.com/research/social-trends\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" share of over 92%\"\n        })\n      }), \". To harness its potential for driving new customers to your business, creating a Google Business Profile (previously known as Google My Business) becomes a crucial and effective strategy. By establishing this profile, you enhance your visibility on Google Search and Maps, allowing potential customers to discover and connect with your business more easily.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google My Business experts play a vital role in maximizing a business's online presence and success. Their specialized knowledge ensures proper \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business profile \"\n        })\n      }), \"setup, optimization, and continuous management. By staying updated on Google My Business's latest features and algorithms, they can boost local SEO, handle customer reviews, and utilize\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" data-driven insights\"\n        })\n      }), \", helping businesses attract more customers and thrive in the competitive digital landscape. If you are looking for a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business expert\"\n        })\n      }), \", then you have come to the right place. Allow us to show you how Google My Business experts can help you succeed in your business.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Who are the Google My Business experts?\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google My Business Experts are seasoned professionals with in-depth knowledge of Google's local search platform. They specialize in optimizing business profiles to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"enhance online visibility and attract more customers\"\n        })\n      }), \". These experts keep track of Google's ever-evolving algorithms and updates, ensuring businesses stay ahead in the local search rankings.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A Google My Business profile is essential for any business, but its maintenance demands expertise and effort. At Cloodot, our \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business experts\"\n        })\n      }), \" specialize in optimizing and managing your profile for maximum visibility and engagement, so you can concentrate on running your business. Non-compliance with Google's guidelines can lead to lower visibility or suspension, while \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"negative review\"\n        })\n      }), \"s and outdated information can deter potential customers. From setup to optimization, our dedicated team at Cloodot is committed to representing your organization's personality and engaging your target audience, freeing up your time while we take care of your online reputation.\"]\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Strategies followed by Google My Business experts to stay updated with features and algorithms\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Industry publications and forums\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google My Business experts participate in industry publications and forums, where they discuss new developments, best practices, and challenges.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"According to a survey by Search Engine Journal, \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.searchenginejournal.com/google-my-business-optimization-considered-the-most-valuable-local-marketing-service/355202/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"46% \"\n            })\n          }), \"of marketers found forums to be valuable sources of Google My Business insights.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Networking and conferences\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google My Business experts attend conferences and networking events where they can interact with peers, share knowledge, and learn from leading industry professionals.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"A survey by\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.brightlocal.com/research/local-consumer-review-survey/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" BrightLocal revealed that 63%\"\n            })\n          }), \" of businesses believe networking is essential for staying updated with Google My Business trends.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Google partner program\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Many Google My Business experts join the Google Partner Program, which provides access to exclusive resources, training, and updates directly from Google.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"88% of Google Partners say that the program helps them stay updated and provide better services, according to a Google survey.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Experimentation and testing:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google My Business experts conduct experiments and tests to understand the impact of algorithm changes and new features.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"According to a study by Moz, 45% of marketers perform local search ranking factor experiments to gain insights into Google My Business changes.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Following industry experts and blogs:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google My Business experts follow influential figures in the local SEO and digital marketing space who often share valuable insights through blogs and social media.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"A study by Databox found that 79% of marketers follow industry experts to stay informed about Google My Business trends and updates.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,4Ghl4taC3g1b8sz1pFanr1Zkvc.jpg\",\n      \"data-framer-height\": \"3587\",\n      \"data-framer-width\": \"5000\",\n      height: \"1793\",\n      src: new URL(\"https://framerusercontent.com/images/4Ghl4taC3g1b8sz1pFanr1Zkvc.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5000 / 3587\"\n      },\n      width: \"2500\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Importance of having Google My\\xa0 Business expert in business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Having a Google My Business expert in your business is crucial for two main reasons.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"1#\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google My Business optimization requires specialized knowledge and ongoing awareness of Google's ever-changing algorithms and features. Google My Business experts can keep your business profile updated, ensuring maximum visibility and improved local search rankings. This leads to increased organic traffic and attracts more potential customers to your business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"2#\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/answer/2449544?hl=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business experts\"\n        })\n      }), \" excel at managing customer reviews and reputation. They can promptly respond to reviews, handle negative feedback effectively, and encourage positive endorsements. Maintaining a positive online reputation through expert management helps build trust with customers and enhances your brand's image.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"10 ways that Google My Business experts can help you succeed in the competitive online landscape.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Optimizing Your GMB Profile:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB experts possess a deep understanding of the platform's features and algorithms. They can optimize your GMB profile with accurate business information, high-quality images, and relevant keywords, ensuring that your business stands out in local searches.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Enhancing Local SEO:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Local search engine optimization (SEO) is key to attracting nearby customers. GMB experts are well-versed in local SEO techniques, helping your business rank higher in local search results and increasing your visibility to potential customers.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Effective Use of Posts:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB experts know how to create compelling posts that engage your audience. Whether it's sharing promotions, events, or informative content, these experts can help you craft posts that drive user engagement and conversions.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Managing Customer Reviews:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Online reviews play a significant role in shaping your business's reputation. GMB experts can guide you in managing customer reviews, responding to feedback, and resolving issues, all of which contribute to building a positive online image.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Insights and Analytics:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB provides valuable insights into customer behavior and preferences. Experts can help you understand these insights, allowing you to make informed decisions to improve your business strategies.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Implementing Google Q&A:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google's Q&A feature allows potential customers to ask questions directly on your GMB profile. Experts can help you effectively manage this feature, providing accurate answers and fostering positive interactions.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Ensuring Consistency Across Platforms:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Consistency across all online platforms is essential for branding. GMB experts can ensure that your business information is consistent across your GMB profile, website, and other online directories.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Local Advertising Strategies:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB experts can assist in crafting effective local advertising strategies, such as running Google Ads campaigns that target your local audience, helping you get the most out of your advertising budget.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Regular Updates and Maintenance:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google My Business requires regular updates to stay relevant. Experts can help you keep your profile up-to-date with the latest information, ensuring that potential customers are always well-informed.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h4\",\n        children: [/*#__PURE__*/_jsxs(\"h4\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Staying Ahead of Changes:\"\n          }), \" \"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: \"The digital landscape is constantly evolving, and GMB is no exception. Google frequently updates its algorithms and features. GMB experts stay up-to-date with these changes and can adapt your strategies accordingly, keeping your business ahead of the curve.\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In the competitive world of online business, having a Google My Business expert by your side can make a significant difference. From optimizing your profile to managing customer reviews and staying current with algorithm changes, these experts can help you harness the full potential of GMB to drive local business growth. If you're looking to enhance your online presence, consider enlisting the services of a Google My Business expert and set yourself up for success in the digital age.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Optimize your Google My Business listing with Cloodot's expert solution. Beyond its functional aspects, Google My Business represents your business to potential customers. Neglecting this vital component of online marketing is not an option. Entrust your Google My Business listing to Cloodot, a full-service \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience management \"\n        })\n      }), \"expert, and ensure your business is showcased effectively to attract and engage your target audience. Let Cloodot handle your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business \"\n        })\n      }), \"so you can focus on growing your business with confidence.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Schedule a\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" demo \"\n        })\n      }), \"with us or sign up for\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signin\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" a free trial\"\n        })\n      }), \".\\xa0\"]\n    })]\n  }),\n  tcujvgbt3: \"Elevate Your Business with Google My Business Experts: 10 Essential Strategies\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 25,\n  wkMiN9hO7: \"Explore how Google My Business experts improve local SEO, manage reviews, and create personalized interactions. Let their expertise shape your brand's online journey toward success.\\n\\n\",\n  z3RB0M3u0: \"10 Ways Google My Business Experts Can Help You Succeed\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg\").href} 7900w`\n  }, \"\"),\n  B7LIlf4Jc: \"the-pitfalls-of-buying-google-reviews\",\n  GSA8tRVAB: true,\n  id: \"Ujct247mk\",\n  JYmpedk6B: \"2023-08-15T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Online reputation plays a critical role in shaping consumer opinions and decisions, making customer reviews and ratings crucial factors for business success. Statistics show that 99.9% of customers read reviews before making purchases, with \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.inc.com/craig-bloem/84-percent-of-people-trust-online-reviews-as-much-.html\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"84%\"\n        })\n      }), \" placing the same level of trust in online reviews as they do in personal recommendations.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"However, it is strongly advised against purchasing Google reviews. Instead, the focus should be on organically generating\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" online reviews\"\n        })\n      }), \" to promote business growth. This guide aims to elucidate the disadvantages of buying reviews and provides sustainable methods for obtaining positive, authentic reviews.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Why Purchasing Google Reviews Isn't Worth It:\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For businesses seeking more reviews on platforms like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://support.google.com/business/answer/4596773?hl=en\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google\"\n        })\n      }), \", \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.yelp.com/guidelines\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Yelp\"\n        })\n      }), \", or Facebook, there are more effective alternatives than resorting to buying reviews. While the allure of quickly bolstering your online reputation might be tempting, buying reviews can lead to serious repercussions. Both Google and other review platforms disapprove of fabricated or non-organic reviews, which could result in actions such as blacklisting your business or even legal consequences.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The preferable approach is to obtain genuine reviews through legitimate means and leverage online review management platforms. By adhering to Google and Yelp review guidelines, you can maintain a favorable online presence and steer clear of potential challenges in the long run. Prioritizing genuine customer interactions is pivotal for establishing credibility and trust, offering a sustainable and effective strategy for managing your online reputation.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Four Reasons to Avoid Buying Google Reviews:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Deceptive Nature of Fake Reviews:\"\n          }), \" Authenticity is the cornerstone of building customer trust. Fake reviews erode this trust, leading potential customers to question the legitimacy of your business. Research shows that when no negative feedback is present, 95% of consumers suspect fake reviews or censorship. A lack of genuine feedback can deter customers from making purchases, especially when 82% of consumers rely on authentic reviews to make informed choices.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Overlooking Valuable Insights from Genuine Feedback:\"\n          }), \" Purchasing reviews can cause you to miss out on authentic customer feedback, \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"both positive and negative\"\n            })\n          }), \". Embracing authentic feedback offers valuable opportunities for business growth and improvement. Surprisingly, studies reveal that 67% of consumers trust companies more when they encounter a mix of positive and negative reviews, as it enhances the credibility of the feedback.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Violating Google's Policies: A Risky Proposition:\"\n          }), \" Buying reviews is not only unethical but also unlawful in many jurisdictions. It directly contravenes Google's review \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://support.google.com/local-guides/answer/7400114?hl=en\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"policy\"\n            })\n          }), \", prompting the platform to take stringent measures to eliminate fake reviews. In certain instances, businesses have faced legal consequences and substantial fines for engaging in such practices. Furthermore, a significant 72% of consumers emphasize the importance of transparency and honesty in online interactions, including reviews.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Legal Consequences: FTC's Firm Stance on Fake Reviews:\"\n          }), \" Regulatory bodies such as the \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.ftc.gov/news-events/news/press-releases/2023/06/federal-trade-commission-announces-proposed-rule-banning-fake-reviews-testimonials\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Federal Trade Commission (FTC) \"\n            })\n          }), \"actively target businesses involved in deceptive practices like purchasing fake reviews. The FTC has well-defined guidelines pertaining to transparency and disclosure in online endorsements. Failure to comply with these guidelines can result in considerable penalties, as demonstrated by cases in 2020 that led to multimillion-dollar settlements.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-height\": \"3653\",\n      \"data-framer-width\": \"4373\",\n      height: \"1826\",\n      src: \"failed-asset-upload-placeholder\",\n      style: {\n        aspectRatio: \"4373 / 3653\"\n      },\n      width: \"2186\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Can Google Detect Fake Reviews?\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Indeed, Google employs advanced algorithms and review filters to identify fake reviews. The system continually scans and assesses reviews for suspicious patterns, language usage, and other indications of inauthenticity. If detected, fake reviews are likely to be removed, potentially subjecting the implicated businesses to penalties or reputational harm.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Is Buying Google Reviews Effective?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Although purchasing Google reviews might yield temporary gains for a business's online reputation, it remains a risky and ineffective long-term strategy. Not only can Google identify and remove fake reviews, but consumers are also becoming increasingly adept at recognizing dishonest practices. Authentic, organic reviews carry more weight in terms of fostering trust and credibility with potential customers.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Consequences of Buying Fake Google Reviews:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Businesses caught buying fake Google reviews can face severe repercussions. Google has the authority to eliminate fake reviews, and in some instances, the entire business listing may be suspended or penalized. Furthermore, the business's reputation may suffer, leading potential customers to doubt the company's credibility and causing a decline in sales and overall trust. Fake reviews can significantly impede a business's chances of ranking well in local search queries, impacting both organic search results and the coveted \\\"local 3 maps\\\" on Google Maps.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Earning Legitimate Google Reviews through Smart Strategies:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Generate a Shortened Review Link:\"\n          }), \" Simplify the review process for customers by furnishing a concise, direct link to the Google review submission page. Share this link across your website, emails, and social media platforms to encourage a higher volume of reviews.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Verify Your Google My Business Profile:\"\n          }), \" Maximize the potential of Google reviews by verifying your business profile on Google My Business. This grants you control and functionality over your business page, streamlining the process for customers to locate and review your business.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Respond Promptly to Reviews:\"\n          }), \" Convey your appreciation for feedback by promptly responding to existing reviews. Craft tailored responses that acknowledge customer opinions and suggestions, steering clear of generic replies.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Add a Review Button to Your Website:\"\n          }), \" Strategically incorporate a call-to-action button on your website that directs customers to submit Google reviews. Thoughtfully placing this button, such as in the website footer, can stimulate more visitors to share their experiences.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Offer Incentives for Reviews:\"\n          }), \" Motivate customers to leave reviews by extending incentives like discounts or complimentary items. It's crucial to ensure that such incentives adhere to legal standards and don't exclusively solicit positive reviews, as authenticity remains paramount.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Automate the Feedback Process:\"\n          }), \" Streamline the review generation process using tools such as Cloodot. Automate review requests through text messages post-customer interactions, leading to a substantial surge in your review count within a short span.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Buying Google reviews might promise short-term gains, but the risks and consequences far outweigh the benefits. Authentic, organic reviews are the foundation of a strong online reputation that builds customer trust and loyalty. By adhering to ethical practices and focusing on legitimate review generation strategies, you can cultivate a genuine online presence that drives sustained business growth. Don't compromise your business's credibility for a fleeting advantage \u2013 invest in authentic reviews and watch your reputation flourish.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Simplifying Online Review Management with \", /*#__PURE__*/_jsx(Link, {\n        href: \"cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \":\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Effectively managing online reviews can prove challenging when they span various platforms. Cloodot presents a convenient solution by centralizing multi-channel reviews within a single inbox. Let Cloodot assume responsibility for your business's reputation management. Its comprehensive toolkit aids business owners and local enterprises in amplifying online reviews, gaining invaluable customer insights, and augmenting the overall customer experience.\"\n    })]\n  }),\n  tcujvgbt3: \"Avoid the Pitfalls of Buying Google Reviews\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 24,\n  wkMiN9hO7: \"Discover the risks of purchasing Google reviews and learn how genuine feedback can truly elevate your business's online reputation. Explore effective strategies for ethical reputation management in our comprehensive guide.\",\n  z3RB0M3u0: \"The Pitfalls of Buying Google Reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/2bFuaUJngu2YDoB3vBCAXuMUU.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/2bFuaUJngu2YDoB3vBCAXuMUU.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/2bFuaUJngu2YDoB3vBCAXuMUU.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/2bFuaUJngu2YDoB3vBCAXuMUU.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/2bFuaUJngu2YDoB3vBCAXuMUU.png\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-generate-google-review-links\",\n  GSA8tRVAB: true,\n  id: \"b7lI_rZGO\",\n  JYmpedk6B: \"2023-08-10T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \" Online reviews play a pivotal role in shaping a business's reputation and influencing consumer decisions. With the increasing reliance on digital platforms, having a strong online presence is crucial. In this comprehensive guide, we will delve into the process of creating Google review links, discuss their significance, and explore strategies for sharing them across various channels. Additionally, we'll introduce Cloodot's review management tool and its features, providing businesses with the tools to effectively manage and boost their online reviews.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"The Power of Reviews\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Reviews serve as a virtual word-of-mouth, offering potential customers insights into the experiences of previous patrons. Research indicates that a staggering 90% of consumers consider reviews before making purchase decisions, highlighting their importance in the digital age.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Creating a Google Review Link\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google review links provide a streamlined avenue for customers to share their feedback. Let's explore three methods to obtain a Google review link:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Via Google Search:\"\n          })\n        }), /*#__PURE__*/_jsxs(\"ul\", {\n          children: [/*#__PURE__*/_jsx(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: /*#__PURE__*/_jsxs(\"p\", {\n              children: [\"Log in to your \", /*#__PURE__*/_jsx(Link, {\n                href: \"https://www.google.com/intl/en_in/business/\",\n                openInNewTab: true,\n                smoothScroll: false,\n                children: /*#__PURE__*/_jsx(\"a\", {\n                  children: \"Google Business Profile\"\n                })\n              }), \".\"]\n            })\n          }), /*#__PURE__*/_jsx(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: /*#__PURE__*/_jsx(\"p\", {\n              children: \"Search for your business name on Google.\"\n            })\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: [/*#__PURE__*/_jsxs(\"p\", {\n              children: [\"Scroll down to your Google Business Profile options and click 'Ask for Reviews.'\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })]\n            }), /*#__PURE__*/_jsx(\"img\", {\n              alt: \"\",\n              className: \"framer-image\",\n              \"data-framer-asset\": \"data:framer/asset-reference,tFiNnLTgigRfsdnK3zv1P7OOv4.png\",\n              \"data-framer-height\": \"1146\",\n              \"data-framer-width\": \"1446\",\n              height: \"573\",\n              src: new URL(\"https://framerusercontent.com/images/tFiNnLTgigRfsdnK3zv1P7OOv4.png\").href,\n              style: {\n                aspectRatio: \"1446 / 1146\"\n              },\n              width: \"723\"\n            })]\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: [/*#__PURE__*/_jsxs(\"p\", {\n              children: [\"Copy the provided URL from the popup.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })]\n            }), /*#__PURE__*/_jsx(\"img\", {\n              alt: \"\",\n              className: \"framer-image\",\n              \"data-framer-asset\": \"data:framer/asset-reference,DqN1J3MalVsyt0ji9G9tPu8GDZE.png\",\n              \"data-framer-height\": \"928\",\n              \"data-framer-width\": \"1456\",\n              height: \"464\",\n              src: new URL(\"https://framerusercontent.com/images/DqN1J3MalVsyt0ji9G9tPu8GDZE.png\").href,\n              style: {\n                aspectRatio: \"1456 / 928\"\n              },\n              width: \"728\"\n            })]\n          }), /*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: [/*#__PURE__*/_jsxs(\"p\", {\n              children: [\"Share this link with your clients via email, text, or messaging platforms. while clicking on the link customers can put review as shown below easily.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })]\n            }), /*#__PURE__*/_jsx(\"img\", {\n              alt: \"\",\n              className: \"framer-image\",\n              \"data-framer-asset\": \"data:framer/asset-reference,utvWx5TdYTXQl1LqKjwM0ESgCU.png\",\n              \"data-framer-height\": \"1100\",\n              \"data-framer-width\": \"1158\",\n              height: \"550\",\n              src: new URL(\"https://framerusercontent.com/images/utvWx5TdYTXQl1LqKjwM0ESgCU.png\").href,\n              style: {\n                aspectRatio: \"1158 / 1100\"\n              },\n              width: \"579\"\n            })]\n          })]\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"h3\",\n        children: [/*#__PURE__*/_jsx(\"h3\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Generating with PlaceID:\"\n          })\n        }), /*#__PURE__*/_jsxs(\"ul\", {\n          children: [/*#__PURE__*/_jsxs(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: [/*#__PURE__*/_jsxs(\"p\", {\n              children: [\"Find your business's unique \", /*#__PURE__*/_jsx(Link, {\n                href: \"https://developers.google.com/maps/documentation/javascript/examples/places-placeid-finder\",\n                openInNewTab: true,\n                smoothScroll: false,\n                children: /*#__PURE__*/_jsx(\"a\", {\n                  children: \"PlaceID\"\n                })\n              }), \" on Google Maps.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n                className: \"trailing-break\"\n              })]\n            }), /*#__PURE__*/_jsx(\"img\", {\n              alt: \"\",\n              className: \"framer-image\",\n              \"data-framer-asset\": \"data:framer/asset-reference,I8aW4BcoAa8DCdxu82Zxa7Ax7I.png\",\n              \"data-framer-height\": \"844\",\n              \"data-framer-width\": \"1852\",\n              height: \"422\",\n              src: new URL(\"https://framerusercontent.com/images/I8aW4BcoAa8DCdxu82Zxa7Ax7I.png\").href,\n              style: {\n                aspectRatio: \"1852 / 844\"\n              },\n              width: \"926\"\n            })]\n          }), /*#__PURE__*/_jsx(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: /*#__PURE__*/_jsxs(\"p\", {\n              children: ['Construct the review link: \"', /*#__PURE__*/_jsx(Link, {\n                href: \"https://search.google.com/local/writereview?placeid=%5BYOUR_PLACEID%5D\",\n                openInNewTab: false,\n                smoothScroll: false,\n                children: /*#__PURE__*/_jsx(\"a\", {\n                  children: \"https://search.google.com/local/writereview?placeid=[YOUR_PLACEID]\"\n                })\n              }), '\"']\n            })\n          }), /*#__PURE__*/_jsx(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: /*#__PURE__*/_jsx(\"p\", {\n              children: 'Replace \"[YOUR_PLACEID]\" with your actual PlaceID.'\n            })\n          }), /*#__PURE__*/_jsx(\"li\", {\n            \"data-preset-tag\": \"p\",\n            children: /*#__PURE__*/_jsx(\"p\", {\n              children: \"Share the generated link via email, text, or social media.\"\n            })\n          })]\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Sharing Your Google Review Link\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \" \"\n      }), \"Effectively distributing your review link maximizes its impact. Share it through various channels:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Email:\"\n          }), \" After a purchase or service, send the link to customers via email.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Text Message:\"\n          }), \" Reach customers via text message, leveraging their phone numbers.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Social Media:\"\n          }), \" Share the link on your business's social media platforms, encouraging followers to leave reviews.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Website:\"\n          }), \" Prominently display the review link on your website as a button or within a dedicated review page.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Printed Materials:\"\n          }), \" Include the link on business cards, flyers, or printed materials distributed to customers.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsxs(\"strong\", {\n        children: [\"Enhancing Your Review Strategy\", /*#__PURE__*/_jsx(\"br\", {})]\n      }), \" Adding a compelling call-to-action (CTA) can significantly impact your review collection efforts. Express gratitude for customer support and emphasize the value of their feedback in improving your business.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Cloodot's Review Management Tool:\"\n      }), \" \", /*#__PURE__*/_jsx(Link, {\n        href: \"Cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot's\"\n        })\n      }), \" review management tool offers an integrated solution for businesses to streamline their review process:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Centralized Dashboard:\"\n          }), \" Gather reviews from Google My Business and Facebook listings in one user-friendly dashboard.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Efficient Review Requests:\"\n          }), \" Easily collect positive reviews from satisfied customers.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"AI magic Review Reply :\"\n          }), \" Automate responses to reviews, optimizing time management.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Customer Opinion Tracking:\"\n          }), \" Gauge broader sentiment beyond star ratings, enabling better insights.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Powerful Analytics Tool:\"\n          }), \" Assess overall business performance with in-depth data and visualizations.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Google review links serve as a shortcut to bolstering your online presence and engaging with customers. By following the steps outlined in this guide, businesses can create an environment conducive to receiving positive reviews, boosting credibility, and increasing conversion rates. Additionally, the introduction of Cloodot's review management tool provides an efficient means to manage, track, and respond to reviews across various platforms. Elevate your business's online reputation and take the first step towards success by \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://meetings.hubspot.com/adhil\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"scheduling a demo \"\n        })\n      }), \"or signing up for a free trial with Cloodot today. Remember, a strong online presence is within your reac\"]\n    })]\n  }),\n  tcujvgbt3: \"Learn how to create Google review links effortlessly\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 23,\n  wkMiN9hO7: \" Unlock the potential of Google review links. From creation to distribution, this guide empowers you to harness the impact of reviews and drive customer engagement.\",\n  z3RB0M3u0: \" How to Generate Google Review Links\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/TiltodFmEP4Nb1b5V4kk7PBuw.png\").href} 4800w`\n  }, \"\"),\n  B7LIlf4Jc: \"timing-matters-how-to-get-the-most-out-of-customer-reviews\",\n  GSA8tRVAB: true,\n  id: \"exF8WZtKf\",\n  JYmpedk6B: \"2023-08-07T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Soliciting reviews from your customers is a valuable approach for garnering feedback and enhancing your business. However, the timing of these requests is a critical factor that can greatly impact their effectiveness. Requesting reviews too early or too late can result in diminished response rates and less insightful \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"feedback\"\n        })\n      }), \". Understanding when and how to seek customer reviews can lead to improved search rankings, increased engagement, and a stronger online reputation.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In comparison to businesses lacking reviews, having a count of 40 or more positive or negative reviews can amplify your search ranking by up to 50% and elevate click-through rates by 200%. In this article, we will delve into the significance of timing in \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review requests\"\n        })\n      }), \" and offer valuable tips on how to optimize this aspect.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Determining the Right Timing for Review Requests\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Before exploring effective methods for requesting reviews, it's crucial to establish the ideal timing for these solicitations. Surprisingly, having a well-crafted strategy for the timing and manner of feedback requests is crucial for your team's success. According to insights from our\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reputation\"\n        })\n      }), \" management study, businesses should employ the following tactics for optimal outcomes:\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"1. Freshness of Experience\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The immediacy of the customer's experience plays a pivotal role in eliciting authentic feedback. It's essential to seek reviews while the customer's encounter is still vivid in their memory. Requesting reviews too swiftly after an interaction can result in incomplete feedback, as customers may not have fully absorbed all aspects of the experience. Conversely, waiting excessively long can lead to customers forgetting key details or the emotional impact of their encounter.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Emotional Connection\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customers are more inclined to leave reviews when they possess a strong emotional connection to a business or its offerings. These emotions can be positive or negative in nature. Positive connections often arise from exceptional customer service or outstanding products, whereas negative emotions may stem from subpar service or faulty items. Timing is pivotal here, as emotions tend to wane over time.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"3. Considerate Convenience\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Soliciting reviews at times convenient for your customers can significantly improve response rates. Ensuring that review requests align with when customers can dedicate time for thoughtful feedback is crucial. For instance, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://hbr.org/2023/02/when-is-the-best-time-to-ask-customers-for-a-review\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"asking for reviews\"\n        })\n      }), \" during working hours might be inconvenient for some, while requesting feedback after work hours or on weekends could yield higher participation rates.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,y1gBWDt8eEBzAXaV2BvNNAANLuc.jpg\",\n      \"data-framer-height\": \"2002\",\n      \"data-framer-width\": \"3000\",\n      height: \"1001\",\n      src: new URL(\"https://framerusercontent.com/images/y1gBWDt8eEBzAXaV2BvNNAANLuc.jpg\").href,\n      style: {\n        aspectRatio: \"3000 / 2002\"\n      },\n      width: \"1500\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Effective Strategies for Timing Review Requests\"]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To optimize the outcomes of your review requests, consider implementing these actionable strategies:\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"1. Waiting for the Ideal Moment\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Allow customers ample time to fully immerse themselves in your product or service before seeking reviews. This approach ensures that the feedback provided accurately reflects their complete experience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Seizing Positive Moments\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Strike while the iron is hot. If a customer has just enjoyed a positive encounter with your product or service, promptly request a review. Capitalize on their heightened positive emotions to secure a glowing review.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"3. Addressing Negative Experiences\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Don't shy away from soliciting reviews after customers have experienced issues. Negative experiences can offer valuable insights into areas requiring improvement, fostering a culture of continuous enhancement.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"4. Avoiding Excessive Delays\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While allowing customers time to process their experience is vital, refrain from waiting excessively long for review requests. Protracted delays can result in reduced response rates and less impactful feedback.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"5. Catering to Customer Schedules\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Demonstrate consideration for your customers' routines. Tailor review requests to align with their work hours and preferences, thereby enhancing engagement and participation.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"6. Leveraging Automated Systems\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Employing automated systems for review requests can be highly effective in achieving optimal timing. These systems can dispatch review invitations at opportune moments, ensuring that customers can provide comprehensive feedback when it suits them.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Review Request Timing on a Delayed Schedule\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For enhanced effectiveness, it is recommended to request reviews after the entire buying experience concludes, typically within one to two weeks. Automating this process using review email invitations or SMS requests through platforms like Cloodot can simplify what would otherwise be a cumbersome task.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"SMS Review Invitations:\"\n      }), \" \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/textmessages\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"SMS review invitations\"\n        })\n      }), \" are favored over email requests due to their personal and current nature. They often arrive with notifications, increasing the likelihood of visibility and response. Their succinct and polite nature also boosts the chances of a response, particularly among younger audiences.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Review Collection Emails:\"\n      }), \" Review collection emails offer customization opportunities and present a professional appearance. The inclusion of in-email forms enables customers to submit reviews without navigating to an external landing page, thereby enhancing conversion rates. This approach is particularly suitable for customization.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,34W9Uadypcph8OBa259y0pIhlE8.jpg\",\n      \"data-framer-height\": \"4303\",\n      \"data-framer-width\": \"7900\",\n      height: \"2151\",\n      src: new URL(\"https://framerusercontent.com/images/34W9Uadypcph8OBa259y0pIhlE8.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 4303\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Encouraging increased customer feedback necessitates a comprehensive evaluation of existing practices and a personalized approach to review reminders' timing. The timing of review requests can fundamentally impact both the quantity and quality of feedback received. By integrating the strategies outlined in this article, businesses can optimize their review request timing, thus enhancing the efficiency of their review generation and management procedures.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"At \", /*#__PURE__*/_jsx(Link, {\n        href: \"cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", a leading customer experience and review management platform, we recognize the pivotal role of customer feedback. Our platform encompasses a review management feature, an all-in-one inbox, and comprehensive analysis reports. Through leveraging these tools, businesses can streamline their review management processes, make informed decisions backed by data, and elevate their overall customer experience.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The success of any business hinges on effective management of message channels, and executing this management correctly is equally essential. To learn more about efficient multi-channel management within a single inbox, click here for valuable insights.\"\n    })]\n  }),\n  tcujvgbt3: \"Perfecting Review Requests: When Timing Makes All the Difference\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 22,\n  wkMiN9hO7: \"Discover the strategic importance of timing when asking for customer reviews. Learn how to optimize your approach for better responses, improved reputation, and increased search rankings.\",\n  z3RB0M3u0: \"Timing Matters: How to Get the Most Out of Customer Reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/ZV4OtxwoikhLZhCwFePRG4VoTCc.png\").href\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-effectively-manage-and-respond-to-restaurant-reviews\",\n  GSA8tRVAB: true,\n  id: \"s9cGMhhxp\",\n  JYmpedk6B: \"2023-08-06T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: 'In today\\'s world, online reviews have become a crucial component of running restaurants. Positive reviews from satisfied customers serve as \"social proof,\" inspiring potential customers to choose your establishment for their next outing. Meanwhile, negative reviews present an opportunity to showcase your exceptional customer service. In either case, every review represents a chance to promote your business in a positive light.'\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Learning how to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"handle negative reviews\"\n        })\n      }), \" for your restaurant can be an opportunity for growth. Studies by Cloodot, a top company in customer experience management, have shown that over half of consumers (55.6%) are more likely to visit a business if the owner responds to negative reviews online.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Why managing and responding to restaurant reviews is important\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"where consumers have access to vast amounts of information and reviews about restaurants at their fingertips, managing and responding to restaurant reviews is crucial for the success of a restaurant. Here are some reasons why:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Reputation Management\"\n          }), \": \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/reviews\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Online reviews\"\n            })\n          }), \" can significantly impact a restaurant's image and influence potential customers' decision to dine there. Responding to negative reviews constructively and professionally can help mitigate the impact of negative feedback and demonstrate that the restaurant is committed to addressing customer concerns.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Customer Satisfaction\"\n          }), \": By monitoring and responding to reviews, restaurants can gain valuable feedback on their performance and service. This feedback can help identify areas for improvement and provide opportunities for the restaurant to enhance the overall \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/why-cxm-software-is-important\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"customer experience\"\n            })\n          }), \". Addressing \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/feedbacksandsurveys\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"customer feedback\"\n            })\n          }), \" also demonstrates the restaurant's commitment to customer satisfaction and shows that they value their customers' opinions.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Search Engine Ranking\"\n          }), \": Restaurants with a higher number of positive reviews are more likely to rank higher on search engine results pages, making it easier for potential customers to find them. Positive reviews contribute to a higher online visibility, increasing the restaurant's chances of attracting new customers.\"]\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Business Success\"\n          }), \": Managing and responding to reviews can ultimately lead to increased business success. Positive reviews act as testimonials, attracting new customers and fostering \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"brand loyalty.\"\n            })\n          }), \" On the other hand, negative reviews provide opportunities for improvement and demonstrate the restaurant's dedication to addressing customer concerns and ensuring customer satisfaction.\"]\n        }), /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,UTjIZ6p2txsiQVecS4bthPaQWyM.jpg\",\n          \"data-framer-height\": \"4000\",\n          \"data-framer-width\": \"6000\",\n          height: \"2000\",\n          src: new URL(\"https://framerusercontent.com/images/UTjIZ6p2txsiQVecS4bthPaQWyM.jpg?scale-down-to=4096\").href,\n          style: {\n            aspectRatio: \"6000 / 4000\"\n          },\n          width: \"3000\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How to Respond to Negative Reviews\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Acknowledge the Customer's Concerns: Start by thanking the customer for their feedback and acknowledging the specific issue they raised. Show empathy for their experience.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Apologize and Take Responsibility: Offer a sincere apology for the negative experience, regardless of whether you agree with the feedback. Take responsibility for any mistakes and shortcomings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Move the Conversation Offline: Provide contact information for a specific representative from your restaurant to further address the customer's concerns privately.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide a Resolution or Offer Compensation: Offer a specific solution or resolution to the customer's issue, such as a refund or complimentary meal. Be transparent about any limitations or conditions for the resolution.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Invite Them Back: After addressing the customer's concerns, invite them back to your restaurant as a gesture of goodwill and to regain their trust.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How to Respond to Positive Reviews\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Express Gratitude: Begin by thanking the customer for their positive review and for choosing your restaurant.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Personalize the Response: Make the response personal by addressing the customer by name and referring to specific details in their review.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Encourage Repeat Business: Invite the customer to return and offer an incentive, such as a discount or loyalty program, to encourage their loyalty.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Keep it Short and Sweet: Keep the response brief and to the point, expressing gratitude and inviting the customer to return.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Template review replies for positive feedback\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Thank you for your kind words and for taking the time to share your experience with us. We are thrilled to hear that you enjoyed [specific aspect of the experience], and we hope to see you again soon!\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"We are so happy to hear that you had a great experience with us! Thank you for choosing [restaurant name], and we hope to have the pleasure of serving you again shortly.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Thank you for the amazing review and for choosing [restaurant name]. We are delighted to hear that you enjoyed [specific dish or aspect of the experience], and we hope to see you again soon!\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"It was a pleasure serving you, and we are glad to hear that you enjoyed [specific aspect of the experience]. Thank you for taking the time to share your positive review, and we look forward to welcoming you back soon!\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Template review replies for negative feedback\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Dear [Customer Name], we're sorry to hear that you had a disappointing experience at our restaurant. We take all feedback seriously and would like to make it right. Could you please message us with your contact information so that we can discuss this further and offer a solution? Thank you for bringing this to our attention.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Dear [Customer Name], thank you for taking the time to leave a review. We apologize for falling short of your expectations and appreciate you bringing this to our attention. We are taking steps to address the issue, and hope that you'll give us another chance to provide a better experience in the future.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Dear [Customer Name], we're sorry to hear that your experience at our restaurant was not up to par. We'd like to learn more about your specific concerns so that we can address them and improve the customer experience. If you would be willing to discuss this further, please message us with your contact information. Thank you for your feedback.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Dear [Customer Name], we're sorry to hear that you were disappointed with your recent visit to our restaurant. Our goal is to provide delicious food and exceptional service, and we're sorry that we fell short of that for you. We will be looking into the issues you raised and taking steps to improve. Thank you for bringing this to our attention, and we hope to have the opportunity to earn back your trust.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Increasing Positive Restaurant Reviews:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Offer Incentives: Provide discounts or freebies to customers who leave reviews on popular review platforms.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Train Your Staff: Ensure your staff provides excellent customer service to encourage positive reviews.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ask for Reviews: Encourage satisfied customers to leave reviews through verbal requests or notes with the check.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Consistency is Key: Maintain consistent and exceptional service to increase the likelihood of positive reviews.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Manage Negative Reviews: Use negative reviews as an opportunity to improve and show that you value customer feedback.\"\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,323Dxegdfk9FLE4k3DWho1y66AY.jpg\",\n          \"data-framer-height\": \"5266\",\n          \"data-framer-width\": \"7900\",\n          height: \"2633\",\n          src: new URL(\"https://framerusercontent.com/images/323Dxegdfk9FLE4k3DWho1y66AY.jpg?scale-down-to=4096\").href,\n          style: {\n            aspectRatio: \"7900 / 5266\"\n          },\n          width: \"3950\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Using Customer Experience Management Tools\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Utilizing customer experience management tools, such as \", /*#__PURE__*/_jsx(Link, {\n        href: \"Cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", can significantly benefit restaurant owners in managing their reviews. These tools offer features like all-in-one communication for multiple channels, review management, template replies, and social media multi-channel management, streamlining the review management process and improving customer satisfaction.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Managing and responding to restaurant reviews is crucial for a restaurant's success in today's digital landscape. By addressing both positive and negative reviews with professionalism, empathy, and a commitment to customer satisfaction, restaurant owners can build a strong online reputation, attract new customers, and foster loyalty among diners. Utilizing customer experience management tools can further enhance the review management process, leading to improved customer experiences and increased business success. Remember, each review represents an opportunity for growth and improvement, making it essential to handle them with care and attention.\"\n    })]\n  }),\n  tcujvgbt3: \"The Ultimate Guide to Managing and Responding to Restaurant Reviews | Enhance Your Reputation and Customer Satisfaction\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 21,\n  wkMiN9hO7: \"Learn how to effectively handle both positive and negative restaurant reviews to build a strong online reputation, attract new customers, and foster loyalty among diners.\",\n  z3RB0M3u0: \"How to Effectively Manage and Respond to Restaurant Reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/HQGsF7B9pS5UWkSKtB0Ix3WOi5Y.jpg\").href} 5417w`\n  }, \"\"),\n  B7LIlf4Jc: \"step-up-your-local-seo-game-with-a-google-my-business-listing-a-comprehensive-guide\",\n  GSA8tRVAB: true,\n  id: \"TIXj3vvLp\",\n  JYmpedk6B: \"2023-08-04T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"In today's digital age, having a strong online presence is crucial for businesses of all sizes. A Google Business Profile, also known as Google My Business (GMB), is a powerful tool that can significantly boost your local SEO efforts and help you connect with potential customers. In this comprehensive guide, we will take you through the steps of setting up a Google Business Profile and provide best practices for optimizing your profile to attract more customers and enhance your online visibility.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is Google My Business Profile?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google My Business is a free service provided by Google that allows businesses to add and manage essential information about their company. By creating a GMB listing, businesses can provide accurate and up-to-date details, such as their location, hours of operation, contact information, website URL, and a brief description of their products or services.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'This information is then displayed across various Google services, including Google Search, Google Maps, and Google Shopping. When potential customers search for businesses similar to yours, your GMB listing will appear in the \"Local Pack\" or \"3-Pack\" section above the organic search results, increasing your visibility and chances of attracting new customers.'\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Do You Need a Google Business Profile?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Having a Google Business Profile is essential for businesses with a physical presence, such as brick-and-mortar stores, restaurants, or service providers with a specific service area. However, even if your business operates solely online, having a GMB listing can still drive traffic to your website and help potential customers find you.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your business interacts with customers in any way, whether in-person or online, creating and managing a Google Business Profile is highly recommended. Studies have shown that an updated and well-optimized profile can increase clicks to your page significantly.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to Set Up a Google Business Profile\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Follow these step-by-step instructions to set up your Google Business Profile:\"\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1: Create a Google Account\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you don't already have a Google account for your business, go to the Google Account creation page (\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://accounts.google.com/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://accounts.google.com/signup\"\n        })\n      }), \") and sign up for a new account.\"]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2: Go to Google My Business\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Once you have a Google account, visit the Google My Business website (\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.google.com/business/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"https://www.google.com/business/\"\n        })\n      }), ') and click on the \"Manage now\" button to begin the setup process.']\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3: Add Business Information\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Enter your business name, address, and phone number. Ensure that the information you provide is accurate and consistent with your other online listings and directories.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Select a category that best describes your business. This category helps Google understand the nature of your business and improves its relevance in search results.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Add your website URL, business hours, and high-quality images of your business, products, or services. Visual content can make your profile more engaging and attractive to potential customers.\"\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4: Verify Your Business\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google will send a verification code to the physical address you provided during setup. This is done to ensure that you are the legitimate owner or representative of the business. Once you receive the code, enter it into your Google My Business account to complete the verification process.\"\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5: Optimize Your Profile\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After verification, it's time to optimize your Google Business Profile for better visibility and engagement. Here are some tips to make your profile stand out:\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Optimize for Local Search Ranking Factors:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Use relevant keywords in your business name and description, but avoid keyword stuffing.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide accurate business address and location information to improve distance ranking.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Build backlinks, encourage reviews, and improve your overall SEO to increase your company's prominence.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,pKXyFphSkm3D4iJlz2g3xenBE2A.jpg\",\n      \"data-framer-height\": \"4000\",\n      \"data-framer-width\": \"6016\",\n      height: \"2000\",\n      src: new URL(\"https://framerusercontent.com/images/pKXyFphSkm3D4iJlz2g3xenBE2A.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6016 / 4000\"\n      },\n      width: \"3008\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Add High-Quality Images:\"]\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Upload high-quality images of your business, products, and services. Visual content is more appealing to potential customers and can help showcase your offerings.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Encourage Reviews:\"\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Actively encourage customers to leave \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/reviews\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"reviews\"\n            })\n          }), \" and ratings. Positive reviews can attract new customers and improve your online reputation. You can send follow-up emails after a purchase, display review requests on your website, or offer incentives for leaving reviews.\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Provide Detailed Business Information:\"\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Fill out all the relevant fields in your profile, including business hours, contact information, services offered, and a concise business description. Providing detailed information helps potential customers make informed decisions and builds trust.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Regularly Update Your Profile:\"\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Keep your profile up to date by adding new images, updating business information, and promptly responding to customer reviews. Regular updates show that your business is active and reliable.\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"The Benefits of Using a Google Business Profile\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Using a Google Business Profile offers numerous benefits for your business:\"\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"1. Increased Online Visibility:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h6\",\n        children: /*#__PURE__*/_jsx(\"h6\", {\n          children: 'Your business will appear in the \"Local Pack\" or \"3-Pack\" section of Google\\'s search results, increasing your online visibility.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Your business will also show up in Google Maps search results, making it easier for customers to find you.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"2. Accurate Business Information:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"With a GMB listing, you can manage and display accurate information about your business, including contact details, hours of operation, and website URL.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Providing accurate information builds trust with potential customers and increases the likelihood of them choosing your business.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"3. Customer Interaction:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"h6\",\n        children: /*#__PURE__*/_jsx(\"h6\", {\n          children: \"Customers can leave reviews and ratings for your business, helping attract new customers and improve your online reputation.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB also offers messaging and booking features, allowing customers to contact your business directly through your listing.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"4. Analytics and Insights:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB provides detailed insights and analytics about how customers interact with your listing, including views, clicks, and calls.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"This data can help you make data-driven decisions and optimize your listing for better performance.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"5. Cost-Effective Marketing:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"GMB is a free tool, making it a cost-effective way to improve your local SEO and online visibility.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"By optimizing your GMB listing, you can attract more customers without spending money on traditional marketing methods.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Creating and managing a Google Business Profile is an essential step for businesses looking to improve their local SEO game and connect with potential customers. By providing accurate information, encouraging reviews, and regularly updating your profile, you can enhance your online visibility and attract more customers at no cost. Remember to optimize your listing for relevant local search ranking factors and use high-quality images to make your profile stand out.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Take advantage of the benefits offered by a Google Business Profile, such as increased visibility, accurate information, customer interaction, analytics, and cost-effective marketing. By utilizing this powerful tool effectively, you can step up your local SEO game and grow your business in the competitive digital landscape.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  tcujvgbt3: \"Drive More Customers to Your Doorstep: Mastering Google Business Profile\\n\\n\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 20,\n  wkMiN9hO7: \"Unlock the full potential of Google Business Profile to attract local customers and increase foot traffic to your physical location. Discover the steps to set up and dominate local search results.\",\n  z3RB0M3u0: \"Step Up Your Local SEO Game with Google My Business: A Comprehensive Guide\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/qGV6aIPqbNlHvoyyc9kusm5d7p8.jpg\").href} 7900w`\n  }, \"\"),\n  B7LIlf4Jc: \"why-you-can-t-leave-an-anonymous-review-on-google-learn-the-facts\",\n  GSA8tRVAB: true,\n  id: \"qjJ6jmoXL\",\n  JYmpedk6B: \"2023-08-03T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Leaving an anonymous review on Google is not possible. Why ? We will explain in this article.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Here is what you will learn from this article\\xa0\"]\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to leave a Google review\\xa0\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to leave an anonymous Google review\\xa0\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How can google reviews be removed?\\xa0\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"These are the things you should be aware of before writing a review\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Sign-In Required\"\n      }), \": You can't submit an anonymous review. Google requires users to sign in with their Google accounts before leaving a review.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Non-Deletable Bad Reviews\"\n      }), \": Businesses cannot delete bad reviews themselves. However, they can report fake reviews to Google.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Publicly Displayed Information\"\n      }), \": Your Google reviews will appear publicly with your profile name and picture.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Wide Visibility\"\n      }), \": Reviews are visible on Google services like Maps and Search, as well as on third-party sites and apps using Google's reviews widget.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Compliance with Policies\"\n      }), \": Your Google reviews must adhere to Google's policies and guidelines.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,2WehKCx1jMKvcS7iZlTmW4wRSCo.jpg\",\n      \"data-framer-height\": \"5272\",\n      \"data-framer-width\": \"7900\",\n      height: \"2636\",\n      src: new URL(\"https://framerusercontent.com/images/2WehKCx1jMKvcS7iZlTmW4wRSCo.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 5272\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to leave a Google review\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let\u2019s begin with the basics. There are two ways to leave Google reviews: through a web browser or the Google Maps App. Each method has a distinct process, and your customers will require a Google account to proceed.\"\n    }), /*#__PURE__*/_jsxs(\"h4\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Leaving a Google Review on a Laptop\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 1\"\n      }), \": Open your web browser and go to \", /*#__PURE__*/_jsx(Link, {\n        href: \"http://www.google.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"www.google.com\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 2\"\n      }), ': In the Google search bar, type the name of the business you want to review and press \"Enter.\"']\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 3\"\n      }), ': From the search results, click on the business name or click \"Write a review,\" located on the right-hand side of the Google Knowledge Panel.']\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 4\"\n      }), \": If you're not already signed in to your Google account, you'll be prompted to sign in or create one.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 5:\"\n      }), \" After signing in, a review box will appear. You can rate the business using the star system (1 to 5 stars).\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 6:\"\n      }), \" Write your review in the provided text box. Be honest, specific, and respectful in your feedback.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Step 7\"\n      }), ': Once you\\'re satisfied with your review, click on the \"Post\" button to publish it.']\n    }), /*#__PURE__*/_jsxs(\"h4\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Leaving a Google Review on Mobile\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 1: Open the Google Maps app on your mobile device.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 2: In the search bar, type the name of the business you want to review and tap on the business name from the search results.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 3: Scroll down to find the \"Rate and Review\" section and tap on the star icons to rate the business (1 to 5 stars).'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 4: Below the stars, you\\'ll see a \"Write a review\" option. Tap on it.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 5: If you're not signed in to your Google account, you'll be asked to sign in or create one.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Step 6: After signing in, a text box will appear where you can write your review. Be thoughtful and provide useful feedback.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: 'Step 7: Once you\\'ve written your review, tap on the \"Post\" button to publish it.'\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you have an idea of how to leave a Google review, let's move on to leaving anonymous reviews on Google.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Best Way to post anonymous Google reviews is:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Changing Your Name on Google:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Change your first and last names on your Google account to remove your real name.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Use a nickname or set your name as \"Anonymous\" to add a level of anonymity to your review.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Beware that businesses can flag reviews without real names, and Google may remove them if they are considered illegitimate or violate terms.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Your IP address will still be visible to Google, so this method doesn't offer complete anonymity.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Leaving a Review Without Using Your Own Google Account:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"One can adopt a semi-anonymous persona for leaving a review by utilizing a free or temporary email address. This approach enables one to maintain a certain level of anonymity while expressing their opinion.\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Go to Google Maps.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Search for the business you want to review.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click on the \"Reviews\" section and then click \"Write a Review.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'A pop-up will prompt you to sign in to your Google account. Click \"Sign in.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Choose \"Create Account\" and select \"For my personal use.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click \"Use my current email address instead.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Fill in the details and click \"Next.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Enter the verification code sent to your email and follow the instructions to create your account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Once your account is ready, leave your review by selecting stars and providing feedback in the text box.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Click \"Post\" to publish your review.'\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Leaving a Review on the Google Maps App:\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Open the Google Maps app.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Search for the business you want to review.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Scroll down to the \"Reviews\" section.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Tap \"Write a review.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide your rating in stars and write your review.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: 'Tap \"Post\" to publish your review.'\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How to delete a Google review\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If circumstances change or you have new information, you might want to modify or remove a previously posted Google review. Google provides easy ways to do this without revealing your full identity, ensuring your feedback remains accurate and relevant. Here's how to make these changes on both mobile and desktop platforms.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"For business owners:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Go to Google Maps or Google Search.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Sign in with your Google Business Profile account.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Locate your Business listing and click on \"Reviews.\"'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Find the review you want to remove and click the three dots icon in the right corner.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Choose \"Flag as inappropriate\" and select a violation category.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Google will review the flagged review and remove it if it violates its policies.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Please note that as a business owner, you can't directly delete a review but can only flag it for Google's review. Additionally, reviews can be removed only if they violate Google's policies. As a reviewer, you have the option to delete your review at any time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"h5\", {\n      children: [\"For\", /*#__PURE__*/_jsx(\"strong\", {\n        children: \" \"\n      }), \"customers\", /*#__PURE__*/_jsx(\"strong\", {\n        children: \":\"\n      })]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Go to Google Maps or Google Search.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Sign in with the account you used to write the review.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'Search for the Business Profile and click on the \"Reviews\" tab.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Find the review you want to delete and click the three dots icon on the right corner.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: 'Click \"Delete Review\" and confirm the deletion.'\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"How can a business flag a review?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Not all reviews posted on Google are honest or authentic. Some reviews might be misleading or left with malicious intent to harm a business's reputation. A business can flag a review on Google if they believe the review violates Google's policies. However, it is essential to be certain that the review truly violates the guidelines before flagging it.\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Flagging reviews is crucial to address spam, false claims, or harmful content that could potentially damage the business's reputation. By reporting such reviews, businesses can ensure a more accurate representation of their products or services and maintain a positive online presence.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: \"Why is it important?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For business owners, addressing and removing such reviews is vital, as they can have a significant negative impact on \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.inc.com/andrew-thomas/the-hidden-ratio-that-could-make-or-break-your-company.html\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"potential customers' perceptions\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If new customers come across a substantial number of negative and false reviews, they may be discouraged from engaging with the business, leading to potential losses in sales and revenue. Flagging inappropriate reviews helps maintain the credibility of a business and fosters trust with potential customers.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,oVS1TznuC7m011SgSf9cAKCmUo.jpg\",\n      \"data-framer-height\": \"2267\",\n      \"data-framer-width\": \"3400\",\n      height: \"1133\",\n      src: new URL(\"https://framerusercontent.com/images/oVS1TznuC7m011SgSf9cAKCmUo.jpg\").href,\n      style: {\n        aspectRatio: \"3400 / 2267\"\n      },\n      width: \"1700\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"How to overcome a negative review\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To overcome \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"negative reviews\"\n        })\n      }), \", listen attentively, respond promptly and courteously, take ownership and apologize, offer a tailored solution, encourage private communication, implement feedback, follow up, showcase positive feedback, train and empower staff, and build a strong online presence.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"So in a nutshell Leaving an anonymous review on Google is not currently possible. Google requires users to have a public identity associated with their reviews to maintain transparency and authenticity. When you leave a review, your name and profile picture (if applicable) are visible to others, and your review is linked to your public identity, such as your Google account or third-party platforms.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Attempting to leave anonymous reviews using fake accounts or pseudonyms goes against Google's review policies and can lead to the removal of reviews or suspension of accounts. It is essential to provide honest and genuine feedback when leaving reviews, as this helps other users make informed decisions about businesses and services.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you have concerns or issues with a business, it is better to address them directly with the business or through appropriate customer support channels. Transparency and authenticity are key in maintaining a trustworthy review system on Google.\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Manage and boost your Google reviews with Cloodot\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Manage every review in one\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/reviews\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" single dashboard\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Collect reviews from multi-channel to empower your business\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/products/chatbotandautomations\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"In-built AI\"\n            })\n          }), \" to provide quick responses with custom canned replies.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Collect reviews from multiple \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Google My Business \"\n            })\n          }), \"listings and\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/channels/facebook\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" Facebook pages \"\n            })\n          }), \"into one easy-to-use dashboard, enabling direct responses from within Cloodot.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Utilize bots and workflow automation, including the powerful AI Review Reply Bot, to automate up to 90% of review replies and save time for personalized customer attention.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Easily collect more positive reviews to boost your online reputation and stand out in search results with review requests.\\xa0\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"And a lot more. Ready to give it a shot, Start your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"free trial\"\n        })\n      }), \" today!\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h6\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"FAQs\"\n      })\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Can I report a review if it seems unfair or misleading?\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Yes, you can flag reviews that violate Google's policies or contain misleading information.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"2\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"How long does it take for a Google review to be published?\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The publication time varies as reviews go through a moderation queue, but there's no specific timeframe.\"\n    }), /*#__PURE__*/_jsx(\"ol\", {\n      start: \"3\",\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"13px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Can I leave a review for a closed-down business?\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Yes, you can still share your experience and leave a review for a business that has closed down.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    })]\n  }),\n  tcujvgbt3: \"The Truth About Anonymous Google Reviews and Why They're Not Allowed\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 19,\n  wkMiN9hO7: \"Get insights into Google's review policies, including why anonymous reviews are not allowed. Learn how to leave legitimate reviews, flag inappropriate content, and use Cloodot to enhance your business's online presence through positive feedback management.\",\n  z3RB0M3u0: \"Why You Can't Leave an Anonymous Review on Google: Learn the Facts\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg\").href} 5000w`\n  }, \"\"),\n  B7LIlf4Jc: \"enhance-your-brand-s-reputation-with-review-sites-importance-and-strategies\",\n  GSA8tRVAB: true,\n  id: \"tuLt7NTpJ\",\n  JYmpedk6B: \"2023-07-29T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In today's highly competitive business landscape, the online reputation of a company can significantly impact its success and growth. With the rise of e-commerce and the widespread use of the internet,\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" customer reviews\"\n        })\n      }), \" have become a driving force behind consumer decisions. Positive reviews act as powerful endorsements, while negative ones can quickly deter potential customers. This blog will delve into the importance of leveraging review sites to enhance your brand's reputation and provide strategies to effectively manage your online presence.\"]\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: \"Why Managing Your Reputation Matters:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"First Impressions Count: In the digital age, your\", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \" online reputation \"\n            })\n          }), \"is often the first impression potential customers have of your brand. A positive online image establishes trust and credibility, encouraging customers to choose your products or services over competitors.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Influence on Consumer Choices: Studies show that \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://searchengineland.com/88-consumers-trust-online-reviews-much-personal-recommendations-195803\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"88%\"\n            })\n          }), \" of people trust online reviews as much as personal recommendations. Positive reviews serve as social proof, assuring potential customers of the reliability and quality of your offerings. Conversely, a lack of reviews or negative feedback may raise doubts and drive customers away.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Impact on Google Rating and Online Reputation: Google's average rating, calculated based on online reviews, plays a crucial role in shaping a business's online reputation. Higher average ratings lead to increased credibility and visibility, attracting more potential customers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Search Rankings and Review Signals: Review signals, including review quantity and recency, directly impact a business's search engine rankings. Favorable reviews contribute to better positioning on search engine results pages, attracting more organic traffic and potential customers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Trust and Relevance in Local Searches: The timeliness of reviews is essential for building consumer trust. Outdated reviews may affect a business's ranking in local searches. Encouraging customers to leave fresh and positive reviews helps maintain credibility and search rankings.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Revenue Impact and Reputation Score: Positive \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/reviews-to-grow-business\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"online reviews \"\n            })\n          }), \"have a direct correlation with increased revenue. Businesses with better reviews experience higher sales revenue. A positive reputation score is indicative of customer satisfaction and loyalty.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,haEkVogvqPWEgCAWjTI5CIkQUw.png\",\n      \"data-framer-height\": \"1890\",\n      \"data-framer-width\": \"3600\",\n      height: \"945\",\n      src: new URL(\"https://framerusercontent.com/images/haEkVogvqPWEgCAWjTI5CIkQUw.png\").href,\n      style: {\n        aspectRatio: \"3600 / 1890\"\n      },\n      width: \"1800\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Top-Picked Online Review Sites to Get Customer Reviews:\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Harnessing the power of review sites is essential for building a strong online reputation. Here are some of the best review sites to collect valuable customer feedback:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Google My Business (GMB): As the most prominent and widely used review site, \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.google.com/intl/en_in/business/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"GMB \"\n            })\n          }), \"is a must for all small businesses. It allows businesses to create a profile with essential information like address, contact details, website, and opening hours. Customers can leave reviews, and businesses can respond, making it a vital platform for engaging with the local community.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Yelp: Yelp is a popular review platform, particularly for restaurants, cafes, and local services. It offers features such as check-ins, photos, and tips from users. \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.yelp.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Yelp\"\n            })\n          }), \" can significantly influence customer decisions, so maintaining a positive presence on this platform is crucial for small businesses.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Facebook: With its massive user base, Facebook is an important platform for small businesses to showcase their services and interact with customers. \", /*#__PURE__*/_jsx(Link, {\n            href: \"facebook.com\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Facebook\"\n            })\n          }), \" pages allow businesses to collect reviews, respond to feedback, and post updates, providing a more personalized and engaging experience for customers.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"TripAdvisor: If your small business is in the hospitality or travel industry, TripAdvisor is a must. Travelers heavily rely on \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.tripadvisor.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"TripAdvisor\"\n            })\n          }), \" reviews and ratings when planning their trips. Positive reviews on this platform can greatly boost a small business's visibility and credibility in the tourism sector.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Better Business Bureau (BBB): BBB is an accreditation organization that provides ratings and reviews for businesses. It focuses on trustworthiness and ethical business practices. Having a good \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.bbb.org/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"BBB\"\n            })\n          }), \" rating can enhance a small business's reputation and build trust among customers.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Angie's List: Angie's List is primarily for home services and contractors. It allows users to leave reviews and ratings for local service providers. For small businesses in the home services sector, being present on \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.angi.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Angie's List\"\n            })\n          }), \" can attract potential customers seeking reliable services.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Yellowpages: Despite the decline of printed directories, Yellowpages remains an online directory for local businesses. Customers can leave reviews and rate businesses based on their experiences.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Zomato (formerly Urbanspoon): \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.zomato.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Zomato\"\n            })\n          }), \" is a review site dedicated to restaurants and dining experiences. It provides restaurant listings, menus, photos, and reviews, making it essential for small eateries and cafes to be present on this platform.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Foursquare: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://foursquare.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Foursquare\"\n            })\n          }), \" is a location-based social networking platform that allows users to leave tips and reviews about places they visit. It also offers location-based recommendations, making it useful for small businesses to engage with local customers.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Yellowbook: \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.yellowbook.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Yellowbook\"\n            })\n          }), \" is another online directory where businesses can be listed and reviewed. Having a presence on Yellowbook can help small businesses improve their local visibility and attract potential customers.\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"5 Steps to Improve Your Online Reputation:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To effectively manage your online reputation and enhance your brand image, follow these five crucial steps:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Regularly Monitor Your Online Presence: Keep track of reviews and comments across various platforms to promptly address any negative feedback and demonstrate responsiveness to customers.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Encourage Positive Reviews: Actively request satisfied customers to leave positive reviews on review sites like Google, Yelp, and social media to boost your online reputation.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Respond Professionally to Negative Feedback: Address negative reviews with empathy and a commitment to resolving issues publicly. This showcases your dedication to customer satisfaction and problem resolution.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Optimize Your Website and Social Media: Feature positive testimonials and reviews prominently on your website and social media platforms to build credibility and trust.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provide Consistent Quality and Value: Deliver outstanding products or services consistently to organically build a positive reputation and encourage customers to share their experiences.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Introducing Cloodot: The All-In-One Reputation Management Platform\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Managing your online reputation across multiple review sites can be challenging and time-consuming. However, Cloodot offers a comprehensive solution to streamline the process and enhance your brand's reputation effectively.\"\n    }), /*#__PURE__*/_jsxs(\"h4\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Why Choose \", /*#__PURE__*/_jsx(Link, {\n        href: \"cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \":\"]\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Comprehensive and All-In-One: Cloodot consolidates all customer interactions, reviews, chats, surveys, and reports from multiple channels into one centralized dashboard, simplifying review management.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"AI-Driven Customer Experience: Leveraging powerful AI capabilities, Cloodot ensures quick responses, personalized interactions, and automated review summaries with contextual notes for enhanced customer experience.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Centralized Review Aggregation: Cloodot aggregates reviews from Google My Business, Facebook, and other platforms into one easy-to-use dashboard, enabling direct and efficient responses.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Boost Positive Reviews: Cloodot facilitates effortless collection of positive reviews, improving your online presence and competitive advantage.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Data-Driven Decisions with Analytics: Comprehensive analytics and visualizations provide valuable insights into overall business performance and customer sentiment, guiding informed decision-making.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Efficiency through Automation: The AI Review Reply Bot automates up to 90% of review responses, saving time while maintaining personalized interactions.\"\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,vDRzwafPGFpuChc5x5K1gVEFzEs.png\",\n          \"data-framer-height\": \"1120\",\n          \"data-framer-width\": \"1922\",\n          height: \"560\",\n          src: new URL(\"https://framerusercontent.com/images/vDRzwafPGFpuChc5x5K1gVEFzEs.png\").href,\n          style: {\n            aspectRatio: \"1922 / 1120\"\n          },\n          width: \"961\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In conclusion, customer reviews play a pivotal role in shaping a brand's reputation and success. Managing your online reputation across various review sites is crucial for building trust, credibility, and customer loyalty. By leveraging review sites and adopting effective strategies, businesses can create a positive online image, attract more customers, and outshine competitors. Cloodot's all-in-one reputation management platform offers businesses a seamless solution to consolidate and manage their online reviews and interactions effectively. With \", /*#__PURE__*/_jsx(Link, {\n        href: \"cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", businesses can elevate their brand's reputation and deliver exceptional customer experiences in today's highly competitive market.\"]\n    })]\n  }),\n  tcujvgbt3: \"Location-Based Review Sites for Small Businesses: Boost Your Local Presence and Reputation\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 18,\n  wkMiN9hO7: \"Boost Your Local Business with Location-Based Review Sites! Discover the top review platforms like Google My Business, Yelp, Facebook, TripAdvisor & more to attract local customers. Engage with reviews and build trust to enhance your small business's reputation in the community.\",\n  z3RB0M3u0: \"Enhance Your Brand's Reputation with Review Sites: Importance and Strategies\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/hnwlAJXzSizvZ3bQoY9WvnTg.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/hnwlAJXzSizvZ3bQoY9WvnTg.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/hnwlAJXzSizvZ3bQoY9WvnTg.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/hnwlAJXzSizvZ3bQoY9WvnTg.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/hnwlAJXzSizvZ3bQoY9WvnTg.jpg\").href} 3556w`\n  }, \"\"),\n  B7LIlf4Jc: \"instagram-threads-are-taking-up-twitter-find-out-how\",\n  GSA8tRVAB: true,\n  id: \"szIIc4UGo\",\n  JYmpedk6B: \"2023-07-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Since \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.indiatoday.in/technology/features/story/elon-musk-bought-twitter-5-months-ago-for-44-billion-and-now-it-is-20-bn-company-here-is-what-happened-2352126-2023-03-27\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Elon Musk acquired Twitter last year\"\n        })\n      }), \", the social media platform has undergone significant transformations. Several new contenders have emerged, aiming to overthrow the giant and claim its throne. However, despite the hype surrounding some competitors such as \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://blueskyweb.xyz/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Bluesky\"\n        })\n      }), \", they have yet to make a substantial impact. On the other hand, the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://play.google.com/store/apps/details?id=com.instagram.barcelona&hl=en&gl=US\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram threads app \"\n        })\n      }), \"stands out as a notable exception.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In a remarkably short period, the Instagram threads app has surpassed the milestone of 5 million users, surpassing even the rapid success of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://openai.com/blog/chatgpt\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"ChatGPT\"\n        })\n      }), \", which achieved 1 million users in just 5 days. This begs the question: what sets Instagram Threads app apart and fuels its rapid growth? Let's delve into the factors that contribute to its success.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is Thread App?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Threads, developed by \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://investor.fb.com/home/default.aspx\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Meta\"\n        })\n      }), \", the parent company of Instagram, is a social media platform exclusively available to iPhone and Android users. It enables Instagram users to share and engage with each other's text posts.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Since its global expansion to over 100 countries, Threads have reportedly attracted a staggering 30 million new users, demonstrating its widespread adoption and popularity.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Twitter Threads, Meta's platform, resembles \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/?lang=en\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter\"\n        })\n      }), \" with its text-based feed and real-time conversations. It incorporates Instagram's aesthetics and navigation, allowing seamless sharing of Instagram Stories. Within a short time, the Instagram Threads app has gained 10 million users, offering public or private accounts and catering to friendly conversations.\\xa0\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Messages shared on Threads are limited to 500 characters, reminiscent of Twitter's character limit. Users can engage by replying to, reposting, and quoting other posts on Threads, alike to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://nealschaffer.com/5-awesome-twitter-features/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter's features\"\n        })\n      }), \". Threads set itself apart from Twitter by not utilizing hashtags and lacking a trending section.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,eLWQ69yLEcenBjkGD3fITKXbDw.jpg\",\n      \"data-framer-height\": \"2112\",\n      \"data-framer-width\": \"3754\",\n      height: \"1056\",\n      src: new URL(\"https://framerusercontent.com/images/eLWQ69yLEcenBjkGD3fITKXbDw.jpg\").href,\n      style: {\n        aspectRatio: \"3754 / 2112\"\n      },\n      width: \"1877\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"How do I sign up for Thread?\"]\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The process of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://pureinfotech.com/signup-threads-meta/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"signing up for Threads \"\n        })\n      }), \"is streamlined, as users can create an account using their existing Instagram credentials, maintaining the same username, password, and account name. While users can personalize their bio specifically for \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://about.instagram.com/blog/announcements/threads-instagram-text-feature\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Instagram Threads\"\n        })\n      }), \" app, they can effortlessly import their list of followed accounts directly from Instagram.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"However, parting ways with Threads is not as straightforward. Although temporary deactivation is possible through the app's settings, the privacy policy states that deleting the Threads app profile requires deleting the entire Instagram account. Concerns have also been raised regarding the extensive data collection capabilities of the Threads app, including user information such as location, contacts, search, and browsing history, as highlighted on the Apple App Store.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Familiarity and interactivity await in Threads\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"If you're familiar with Twitter, using the Instagram threads app will come naturally. When you import your Instagram followers, you'll spot familiar faces on your feed. Engage with their posts or create your own by tapping the pencil icon in the bottom navigation bar. Additionally, you'll find many beloved Instagram accounts, including\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.instagram.com/p/CR0nAkWgBSc/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Cloodot\"\n        })\n      }), \", already active on the platform. Simply search for them and hit that follow button if you haven't done so already.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Instagram vs Twitter how do they stack up against each other?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"1. \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Content Focus:\"\n      }), \" While both platforms facilitate text-based posts, the Instagram threads app also allows users to share photos and videos, enhancing visual storytelling. Twitter, on the other hand, focuses primarily on concise text-based updates.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"2. \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"User Base:\"\n      }), \" Instagram, with its massive user base, provides Threads with a built-in community of Instagram users. Twitter, known for its real-time news updates and discussions, has a separate and dedicated user base.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"3. \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Conversational Style:\"\n      }), \" Threads emphasize real-time conversations, similar to Twitter, where users can reply to, repost, and quote others' posts. However, Twitter's tweet structure and retweet functionality create a more public and open conversational environment.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"4. \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Hashtags and Trending Topics:\"\n      }), \" Unlike Twitter, Threads does not utilize hashtags or provide a trending section. Twitter's extensive use of hashtags allows users to discover and participate in trending discussions on various topics.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"5. \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Instagram Integration:\"\n      }), \" Threads seamlessly integrates with the Instagram ecosystem, leveraging existing Instagram accounts, usernames, and followers. Twitter, on the other hand, operates as a standalone platform.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"How to meld in with thread users on Instagram\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Visit the user's profile and open one of their threads.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Look for the icons beneath the text in the thread.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: 'The heart icon allows you to \"like\" the thread.'\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The dialog box icon enables you to reply to the thread.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The reverse symbol icon lets you repost the thread to your feed, with an option to add a quote.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The paper plane icon allows you to add the thread to your Instagram story or post it to your feed. You can also copy the link and share it via text, email, AirDrop (for iPhone users), or other social media platforms on your phone.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Similarly, you can like, repost, and respond to individual responses within the thread using the same icons.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Current features and limitations of Threads\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Features:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Home feed displaying posts from followed users and recommended content from verified accounts.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Ad-free experience.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Clean and user-friendly interface.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"No viewing limit for posts.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Reduced presence of bots.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: \"Limitations:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Absence of an option to switch to a feed exclusively showing posts from followed users.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Inability to view the feed in chronological order.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Lack of a dedicated section to view liked posts or bookmark threads.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"No support for hashtags, resulting in the absence of a trending hashtag feature.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Limited account switching functionality.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is the future of this platform?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Meta envisions the Threads app as a secure and user-friendly platform that provides a stable home for creators to build and grow their audiences. To achieve this, Meta plans to make the Threads app compatible with activity, a universal protocol for social networking developed by the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.w3.org/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"World Wide Web Consortium (W3C)\"\n        })\n      }), \". This compatibility would enable the Instagram Threads app to connect with other apps supporting the protocol, such as Mastodon and \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://wordpress.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"WordPress\"\n        })\n      }), \", fostering new types of connections not commonly available on existing social media platforms.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Threads, the social media platform built by Instagram's parent company Meta, is rapidly gaining traction with millions of users and offers a unique blend of real-time conversations, visual storytelling, and Instagram Integration with the Instagram ecosystem, positioning it as a promising contender in the social media landscape\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    })]\n  }),\n  tcujvgbt3: \"Instagram Threads are taking up Twitter. Find out how \\n\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 16,\n  wkMiN9hO7: \"Threads have reportedly attracted a staggering 30 million new users, demonstrating their widespread adoption and popularity.\\n\",\n  z3RB0M3u0: \"Instagram Threads are taking up Twitter. Find out how \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/ScW54NYlT9erXe9eFqIDDvUQiVs.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/ScW54NYlT9erXe9eFqIDDvUQiVs.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/ScW54NYlT9erXe9eFqIDDvUQiVs.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/ScW54NYlT9erXe9eFqIDDvUQiVs.png\").href} 1200w`\n  }, \"\"),\n  B7LIlf4Jc: \"which-one-is-worth-it-meta-verification-or-twitter-blue\",\n  GSA8tRVAB: true,\n  id: \"k4A7AO2lE\",\n  JYmpedk6B: \"2023-07-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"The blue checkmark, once reserved solely for celebrities and public figures, has transformed social media platforms.\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/verified/status/1639029459557679104\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Twitter \"\n        })\n      }), \"and Meta (formerly Facebook) have introduced new subscription services, namely Twitter Blue and Meta Verified, allowing users to access additional benefits by paying a monthly or yearly fee. These services expand the reach of verification beyond the traditional realm and offer users exclusive perks.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" companies\"\n        })\n      }), \" evaluate the new landscape of paid verifications, they are questioning the value it brings to their interactions with users. While the introduction of paid verification services does not mark a significant shift, it does present some potential advantages worth considering.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What is Meta - verification?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://about.fb.com/news/2023/02/testing-meta-verified-to-help-creators/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Meta Verified \"\n        })\n      }), \"is a verification program that allows users to obtain the prestigious blue checkmark on their profiles, signifying authenticity and credibility. Recently, Twitter also introduced its subscription program called \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://help.twitter.com/en/managing-your-account/about-twitter-verified-accounts\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter Blue\"\n        })\n      }), \", which provides users with the opportunity to access the blue checkmark and enjoy extra advantages such as reduced displayed advertising and the ability to edit published messages. By subscribing to Twitter Blue and supporting the platform with a monthly fee, users can unlock these exclusive features and enhance their overall Twitter experience.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), \"What features do you get?\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Both \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://twitter.com/TwitterBlue/status/1638988196380827651\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter Blue's \"\n        })\n      }), \"new version and Meta Verified offer exclusive features to subscribers, providing added benefits not available to free users. These similarities include:\"]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Verified profile badge\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Customer support\"\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,YPUW9KChXILDoLke0X3k0irUW4.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/YPUW9KChXILDoLke0X3k0irUW4.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"What are the recent features exclusive in Meta verification?\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Although additional customization options are available, the primary focus of Meta\\xa0 Verified's special features is user security.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Human support agents are available.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Stickers crafted specifically for \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.netinfluencer.com/how-to-find-someone-on-instagram-by-picture/\",\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Instagram\"\n            })\n          }), \" stories and Facebook loops\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Two accounts (Facebook and Instagram) have been verified.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Accounts are actively monitored for impersonation.\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Twitter Blue tick\\xa0\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://help.twitter.com/en/managing-your-account/about-twitter-verified-accounts\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Twitter Blue offers a paid verification feature\"\n        })\n      }), \" that is available to all users, there are specific eligibility criteria that need to be met. These criteria include\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Account Age and Activity\"\n      }), \": The account should be at least 90 days old and have been actively used in the past 30 days.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Display Name and Profile Photo\"\n      }), \": The account should have a display name and a profile photo associated with it.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Confirmed Phone Number\"\n      }), \": Users need to have a confirmed phone number linked to their Twitter account.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Profile Changes\"\n      }), \": The account should not have made recent changes to its profile picture, username, or display name.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Transparency and Compliance\"\n      }), \": The account should not exhibit misleading or deceptive behavior, nor engage in spamming or manipulation of the platform.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsxs(\"strong\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"What are the recent features exclusive to Twitter verification?\"]\n      })\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Ad-free Experience\\xa0\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Bookmark Folders\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Undo Tweet\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Reader Mode\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Customizable App Icons\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Dedicated Customer Support\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Tweet editing and undoing\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Tweets that are longer up to 4,000 characters, unlike 280 characters for non-subscribed users\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Folders for bookmarks\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"NFT profile images\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Personalized app icons\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Themes With Colors\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Individualized navigation\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"A shortcut to your network's most popular articles\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"In one tab, you may find podcasts, themed audio stations, recorded Spaces, and Live Spaces.\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsx(\"p\", {\n          children: \"Two-factor authentication SMS\\xa0\"\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        style: {\n          \"--framer-font-size\": \"12px\",\n          \"--framer-text-color\": \"rgb(0, 0, 0)\",\n          \"--framer-text-decoration\": \"none\"\n        },\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Post longer videos upto 60 mins\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,HLOe6oQma6QI23Iwbt7HH1bDs.jpg\",\n          \"data-framer-height\": \"2400\",\n          \"data-framer-width\": \"3200\",\n          height: \"1200\",\n          src: new URL(\"https://framerusercontent.com/images/HLOe6oQma6QI23Iwbt7HH1bDs.jpg\").href,\n          style: {\n            aspectRatio: \"3200 / 2400\"\n          },\n          width: \"1600\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Price comparison for both Meta and \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"https://help.twitter.com/en/using-twitter/subscriptions\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Twitter \"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"strong\", {\n        children: \"verification\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ZU3prKvDmXDio9yeKsnF97wPqEw.png\",\n      \"data-framer-height\": \"1122\",\n      \"data-framer-width\": \"1146\",\n      height: \"561\",\n      src: new URL(\"https://framerusercontent.com/images/ZU3prKvDmXDio9yeKsnF97wPqEw.png\").href,\n      style: {\n        aspectRatio: \"1146 / 1122\"\n      },\n      width: \"573\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Advantages of Meta verification and Twitter blue\"\n      })\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"#1 - Help with influencer marketing strategy\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Having Meta Verified or Twitter Blue accounts gives businesses more information about content providers they want to hire. This additional verification aids in weighing the\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://shanebarker.com/blog/pros-and-cons-of-influencer-marketing/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" benefits and drawbacks\"\n        })\n      }), \" of working with certain influencers.\"]\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"#2 - Extending the scope\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Verified accounts benefit from greater exposure through Meta Verified and Twitter Blue. This is especially useful given the algorithmic constraints of sites such as Facebook and Instagram, where organic content frequently fails to reach a broader audience. The expanded reach helps not only influencers but all people who interact with or share a company's content.\"\n    }), /*#__PURE__*/_jsx(\"h5\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"#3 Reduce the level of invisibility\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Meta Verified and Twitter Blue make it more difficult for anonymous users to participate in illicit or arbitrary acts against a business by demanding genuine names and authentication. While it may not entirely prevent trolling, it does assist in identifying and holding offenders accountable for their behavior. When managing \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer support \"\n        })\n      }), \"on various platforms, this authentication procedure offers an added degree of confidence.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Is it worth using paid verification?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Determining whether paid verification is right for you requires careful consideration of the benefits and potential implications. Here are some important points to keep in mind:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"1. Beware of sharing personal information: It is crucial to never disclose personal information or account details to other social media users. Protect your privacy and stay cautious.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"2. Research and verify requests for money: If someone asks you to send money for a specific cause or reason, conduct thorough research outside of social media to ensure the legitimacy of the request. Be vigilant to avoid falling victim to scams.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"3. Fact-check before sharing information: Misinformation spreads rapidly on social media platforms, including through AI-generated content such as images and videos. Before sharing any information, particularly visuals, take the time to fact-check it to prevent the dissemination of false or misleading content.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"4. Implement two-factor authentication: To enhance the security of your accounts, utilize \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://help.twitter.com/en/managing-your-account/two-factor-authentication\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"two-factor authentication\"\n        })\n      }), \". This extra layer of protection helps safeguard your profiles. Additionally, remember to save your backup or recovery code for platforms like Twitter, Facebook, and Instagram in case you need to regain access to your account.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Meta has completed a trial of Meta Verified in Australia and New Zealand, yielding positive results. As a next step, Meta's CEO, Mark Zuckerberg, announced the testing phase for Meta Verified in the United States on March 17th, 2023. On the other hand, Twitter Blue has been offering paid verification since \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://about.fb.com/news/2023/02/testing-meta-verified-to-help-creators/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"November 2022\"\n        })\n      }), \", but the platform has not yet removed the legacy verification checkmarks.\"]\n    })]\n  }),\n  tcujvgbt3: \"Which one is worth it: Meta Verification or Twitter Blue?\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 17,\n  wkMiN9hO7: \"Twitter Blue and Meta Verified have introduced new subscription services that allow users to access additional benefits.\",\n  z3RB0M3u0: \"Which one is worth it: Meta Verification or Twitter Blue?\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/bDPQXP8AYbZTaFknJ2Rcr7g4ec4.webp\").href\n  }, \"\"),\n  B7LIlf4Jc: \"role-of-technology-in-customer-experience\",\n  GSA8tRVAB: true,\n  id: \"rVH13ANxr\",\n  JYmpedk6B: \"2023-03-13T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer experience is a crucial factor in the success of your company. Leveraging technology and automation to provide your customers with seamless and satisfying encounters throughout their interactions with your business can boost your retention rates and increase the likelihood of existing customers referring your company to others. From the moment customers contact your company to completing their transactions and beyond, it's essential to prioritize enhancing their \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience\"\n        })\n      }), \" to achieve long-term success.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Today's businesses need to identify the appropriate digital tools to foster brand \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.gartner.com/en/customer-service-support/insights/customer-loyalty?utm_medium=promotion&utm_campaign=GML_GB_2023_GML_NPP_PR1_CUSTOMERLOYALTY&utm_term=gi\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"loyalty\"\n        })\n      }), \", drive sales growth, and create positive \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-create-customer-interaction-strategy-for-automotive-business\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer engagement.\"\n        })\n      }), \" As one of the experienced CX management companies, we have listed the top technologies that we use to improve the customer experience for our customers.\\xa0\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Stay tuned!\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Keep them engaged\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"One beneficial application of the technology would be to improve communication between a company and its customers. Customers, for example, are frequently unsure when the personnel of a trade/service industry firm will arrive to perform the service. To improve customer experience management, you can utilize cloodot all-in-one inbox technology to bridge the communication gap by expanding communication via automated messages from multiple social platforms, resulting in a better customer experience.\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [\"Collecting and analyzing consumer data to better understand the market\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,FsnsbCSiPc2KjoPZyKiIqvQk.jpg\",\n      \"data-framer-height\": \"5269\",\n      \"data-framer-width\": \"7900\",\n      height: \"2634\",\n      src: new URL(\"https://framerusercontent.com/images/FsnsbCSiPc2KjoPZyKiIqvQk.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 5269\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You can collect qualitative and quantitative data on customers and their experiences by using \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/products/analytics\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"surveys\"\n        })\n      }), \", interaction analysis, social media monitoring, and text analytics technologies. Businesses may use data from these technologies to connect consumer impressions gathered in a survey to their actions when interacting with multiple brand touchpoints. These tools also aid in tracking the outcomes of their efforts over time, since they analyze CX feedback gathered over time.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Responsive customer service\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Proactive assistance is critical for supporting clients when they are most in need, and it may also convert browsing into sales. Customers may use\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/webchat\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" live chat\"\n        })\n      }), \" while exploring a company's website, and geolocation capabilities can be leveraged to provide chat to consumers in-store. Furthermore, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/chatbotandautomations\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chatbots\"\n        })\n      }), \" that provide proactive and customized help are contributing to the increased popularity of messaging applications for customer care. Staying one step ahead of the client is crucial to providing the best possible service while generating sales and loyalty.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Providing tailored recommendations\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Consumers do not want any marketing offer or advice; they want offerings that are suited to their own needs. Customized suggestions based on purchase and browsing history may be effective tools for delighting consumers and increasing sales. As part of our customer service, we help with the brand website, help with support, or provide cross-selling or\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://blog.hubspot.com/sales/cross-selling\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" upselling opportunities\"\n        })\n      }), \" after a purchase has been made. The goal is to reach out to clients with relevant offers at the most appropriate moments.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Management with cross-channel initiative coordination experience\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" enables CX coordination operations to comprehensively analyze and respond to consumer impressions influenced by the total of their experiences with a company. Technology-supporting procedures for synchronizing listening, understanding, acting, and monitoring actions across all practices and channels impacting experiences are included. Cross-team platform capabilities incorporated in trip analytics; business intelligence tools; client feedback management tools; and engagement platforms such as customer data or real-time decision platforms.\\xa0\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Y5Mg119cpOxry0KTDfE4KU06jJg.jpg\",\n      \"data-framer-height\": \"5267\",\n      \"data-framer-width\": \"7900\",\n      height: \"2633\",\n      src: new URL(\"https://framerusercontent.com/images/Y5Mg119cpOxry0KTDfE4KU06jJg.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 5267\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Technology has revolutionized the way businesses interact with their customers, and its continued integration will undoubtedly bring further benefits for both companies and customers alike.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"By embracing technology, businesses can offer seamless and efficient customer experiences, thereby \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"enhancing customer loyalty and satisfaction\"\n        })\n      }), \". If you're looking to enhance your customer experience and receive comprehensive support from presales to post-sales management across various social media channels, consider partnering with a top CX management company like\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" cloodot. \"\n        })\n      }), \"They have a proven track record of assisting businesses with messaging, reviews, and other crucial areas. By signing up for their free trial, you can gain access to valuable insights and expert advice to optimize your customer experience. Don't miss out on this opportunity to elevate your customer satisfaction and loyalty.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/contact\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Contact us\"\n        })\n      }), \" today or\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://app.cloodot.com/auth/signup\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" schedule a free demo\"\n        })\n      }), \"!\"]\n    })]\n  }),\n  tcujvgbt3: \"Enhancing Customer Experience with Technology: Key Strategies for Success\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 15,\n  wkMiN9hO7: \"Discover the top technologies and strategies to enhance customer experience in your business. Learn how automation, data analysis, responsive customer service, tailored recommendations, and cross-channel coordination can boost customer satisfaction and loyalty. Partner with a leading CX management company like cloodot to optimize your customer experience and drive growth. Sign up for a free trial today!\",\n  z3RB0M3u0: \"The Role of Technology in Enhancing Customer Experience\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/z3hi8MWowJlV9qu6cLj23gDPsqE.jpg\").href} 4855w`\n  }, \"\"),\n  B7LIlf4Jc: \"customer-experience-marketing-to-get-more-customers\",\n  GSA8tRVAB: true,\n  id: \"tFkNpyg3f\",\n  JYmpedk6B: \"2022-09-17T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"In today's highly competitive business landscape, customer experience marketing has emerged as a powerful strategy that puts customers at the center of everything a company does. Gone are the days when businesses solely focused on the quality of their products or services. Now, the key to success lies in providing an exceptional and personalized buying experience that delights customers and keeps them coming back for more. In this blog, we will delve into the concept of customer experience marketing, its importance, and how it can help businesses surpass their competitors.\"\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: \"Understanding Customer Experience Marketing\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer experience marketing is all about viewing your business from the perspective of the customer. It involves coordinating all interactions with customers, from their first visit to your website to the completion of a purchase. The goal is to create a personalized and intimate buying experience that leaves a lasting impression on customers. Effective customer engagement is at the heart of this strategy, as it allows businesses to build strong relationships with their audience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Putting Customers at the Center\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"At the core of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience marketing\"\n        })\n      }), \" is the customer-centric approach. This means understanding and addressing the needs and desires of your customers. By aligning your product or service with these needs, you can offer a wholesome experience that fulfills their expectations. In today's fast-paced world, where technology is advancing rapidly, meeting customer expectations has become more critical than ever.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Value of Customer Experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Studies have shown that customers value their experience with a brand as much as the quality of the product or service itself. Businesses that focus on delivering an exceptional customer experience gain a competitive edge and enjoy numerous long-term benefits, including:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Acquiring New Customers: Satisfied customers are more likely to recommend your brand to others, expanding your customer base.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Better \", /*#__PURE__*/_jsx(Link, {\n            href: {\n              pathVariables: {\n                B7LIlf4Jc: \"learn-customer-retention-metrics\"\n              },\n              webPageId: \"BBm4cQzGr\"\n            },\n            openInNewTab: false,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Customer Retention\"\n            })\n          }), \": A positive experience fosters customer loyalty, reducing churn rates and increasing customer retention.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Building a Loyal Customer Base: Loyal customers become brand advocates, spreading positive word-of-mouth and boosting your reputation.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Increasing Revenue: Satisfied customers are willing to spend more on products and services, leading to \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.fortunebusinessinsights.com/industry-reports/customer-experience-management-cem-market-101661\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"increased revenue\"\n            })\n          }), \".\"]\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Creating Unforgettable Customer Experiences\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To go beyond customer expectations and create unforgettable experiences, businesses need to focus on personalized interactions. This involves engaging with customers in a one-to-one manner and tailoring their experiences based on their preferences and past interactions. Additionally, efficient customer support that resolves issues promptly and accurately plays a crucial role in enhancing the overall experience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Employee Satisfaction: The Foundation of Customer Experience\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Exceptional customer experiences\"\n        })\n      }), \" start with a satisfied and motivated workforce. Businesses should prioritize employee satisfaction, as happy employees are more likely to deliver exceptional service and go the extra mile to please customers. A well-supported and engaged team will translate into better results and improved \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-a-centralized-inbox-help-you-to-manage-customer-interaction \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer interactions\"\n        })\n      }), \".\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,y6TkAdVHvmgGQ3AgARPh4BMmH90.jpg\",\n      \"data-framer-height\": \"3733\",\n      \"data-framer-width\": \"5600\",\n      height: \"1866\",\n      src: new URL(\"https://framerusercontent.com/images/y6TkAdVHvmgGQ3AgARPh4BMmH90.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5600 / 3733\"\n      },\n      width: \"2800\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Embrace the Future of Customer Experience with Cloodot\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"For businesses seeking to streamline their customer experience management, \", /*#__PURE__*/_jsx(Link, {\n        href: \"cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot \"\n        })\n      }), \"offers an all-in-one solution. With Cloodot's customer experience management suite, you can seamlessly engage with customers across multiple channels, efficiently manage reviews, and access detailed analytics reports on customer behavior, all from a centralized platform. The advanced AI chatbot provided by Cloodot ensures streamlined interactions and enhanced customer satisfaction. By embracing Cloodot, businesses can revolutionize their approach to customer experience management and take a significant step towards winning customer hearts and driving business success.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Conclusion\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In conclusion, customer experience marketing is a game-changer in today's business world. By placing customers at the center and delivering personalized, unforgettable experiences, businesses can gain a competitive advantage, drive customer loyalty, and ultimately increase revenue. To stay ahead in this customer-centric era, businesses must embrace technology and platforms like Cloodot that enable them to engage with customers effectively and streamline their customer experience management. By prioritizing customer satisfaction and employee happiness, businesses can build a strong support system of loyal customers and drive long-term success.\"\n    })]\n  }),\n  tcujvgbt3: \"Customer Experience Marketing: Winning Hearts & Boosting Success | A Guide\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 14,\n  wkMiN9hO7: \"Discover the power of customer experience marketing, where customers are at the center. Learn how to create unforgettable experiences, boost loyalty, and outperform competitors. Explore the benefits and embrace the future with Cloodot's all-in-one customer experience management suite.\",\n  z3RB0M3u0: \"Customer experience marketing: how you can win more customers\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/CgwAQoKtnxCugdo1XUlv4t80mA.jpg\").href} 5000w`\n  }, \"\"),\n  B7LIlf4Jc: \"why-do-car-review-sites-matter\",\n  GSA8tRVAB: true,\n  id: \"qHtGXnDK7\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"The way people shop for cars has drastically changed with the rise of online platforms. The convenience of researching, comparing, and even negotiating prices from the comfort of one's home has made online car buying increasingly popular. As a result, car buyers now spend a significant amount of time (around 61% according to a study by Cox Automotive) searching for their dream vehicle on the internet. This shift in behavior has led to the emergence of car review sites that provide comprehensive information and unbiased \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/why-do-car-review-sites-matter \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \", enabling buyers to make informed decisions without relying solely on dealerships. In this blog, we'll explore the significance of car review sites, answer some common questions, and understand their impact on the automotive industry.\"]\n    }), /*#__PURE__*/_jsx(\"h1\", {\n      children: \"What a Good Car Review Site Offers\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A reliable car review site serves as a valuable resource for car buyers by providing objective and detailed information about specific car models. These platforms offer unbiased reviews, giving buyers an in-depth understanding of the features, performance, and overall quality of a car. By relying on such review sites, car buyers can skip the traditional dealership experience and make more confident purchase decisions.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Difference Between General Review Sites and Car Review Sites\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"While general review sites like Google and Facebook contain a broad range of reviews covering various products and services, car review sites are exclusively dedicated to automobiles. Car review sites focus solely on providing comprehensive information and feedback about different car models, making them more specialized and useful for car buyers.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Importance for All Automotive Businesses\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Car review sites are not limited to auto dealerships alone; they hold significant value for all automotive-related businesses. For instance, auto repair shops can benefit from online reviews as potential customers often search for mechanics or repair services when facing car issues. Being listed on review sites ensures visibility and enhances credibility for all automotive businesses, helping them attract more customers.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"The Power of Reviews\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Online reviews play a crucial role in shaping a business's\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" reputation\"\n        })\n      }), \" and value. Positive reviews build trust with potential customers and influence their buying decisions more than traditional marketing campaigns. Moreover, reviews play a significant role in Google rankings, giving businesses a competitive edge and increasing their lead generation potential.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,7VAwG2s6bJhNgsXu5ZLyFWQHHQc.jpg\",\n      \"data-framer-height\": \"5270\",\n      \"data-framer-width\": \"7900\",\n      height: \"2635\",\n      src: new URL(\"https://framerusercontent.com/images/7VAwG2s6bJhNgsXu5ZLyFWQHHQc.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 5270\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Top Car Review Sites\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Among the popular car review sites, some noteworthy platforms include:\"\n    }), /*#__PURE__*/_jsxs(\"ol\", {\n      style: {\n        \"--framer-font-size\": \"16px\",\n        \"--framer-text-alignment\": \"start\",\n        \"--framer-text-color\": \"rgb(55, 65, 81)\",\n        \"--framer-text-transform\": \"none\"\n      },\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cars.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Cars.com\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.edmunds.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Edmunds\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cargurus.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Cargurus\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.dealerrater.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Dealer Rater\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.surecritic.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Sure Critic\"\n            })\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.carwise.com/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Carwise\"\n            })\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It's essential for businesses to be present on multiple review sites to maximize their visibility and attract potential buyers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Simplifying Review Management with Cloodot\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Collecting and managing reviews from various sites can be daunting, but with Cloodot, it becomes effortless. The platform offers an automated review request feature, allowing businesses to easily send review requests to customers. Customers can respond conveniently with just one click. Additionally, Cloodot centralizes all reviews and chats from multiple sites into one organized window, making review management seamless. By utilizing Cloodot's features, businesses can enhance their reputation as customer-centric brands, while also gaining valuable insights and employee monitoring tools.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Car review sites have revolutionized the car buying experience, empowering customers with valuable information and unbiased reviews. These platforms help buyers make informed decisions, while also playing a significant role in shaping the reputation and success of automotive businesses. Embracing review sites and using tools like Cloodot to manage and leverage reviews can significantly boost brand value, attract more customers, and ultimately increase revenue. Start your journey with Cloodot today to optimize your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-a-centralized-inbox-help-you-to-manage-customer-interaction \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer interactions\"\n        })\n      }), \" and enhance your business's reputation.\"]\n    })]\n  }),\n  tcujvgbt3: \"Car Review Sites: The Roadmap to Seamless Car Buying and Business Success\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 8,\n  wkMiN9hO7: \"Discover the game-changing impact of car review sites in today's online car buying landscape. Learn about their importance, find answers to common questions, and explore top car review platforms. Get ready for an informed car buying experience!\\\"\",\n  z3RB0M3u0: \"Why do Car review sites matter - Top car review sites, FAQs and everything else you need to know\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/KZUawAOVLon6RNk6UJU4imzhz34.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/KZUawAOVLon6RNk6UJU4imzhz34.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/KZUawAOVLon6RNk6UJU4imzhz34.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/KZUawAOVLon6RNk6UJU4imzhz34.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/KZUawAOVLon6RNk6UJU4imzhz34.jpg\").href} 3600w`\n  }, \"\"),\n  B7LIlf4Jc: \"learn-customer-retention-metrics\",\n  GSA8tRVAB: true,\n  id: \"VaMfjK2TE\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Creating a customer retention strategy might be tricky. Especially when you don\u2019t have much knowledge about retention. Do you know what is best to do here? Learn customer retention. To make it easier for you, let\u2019s see what retention marketing is and examine how it works through metrics.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Beginning with customer retention, it is the term referring to the retention of customers, as opposed to the acquisition. Customer retention marketing focuses on existing or former customers to make them repeat their purchase. It also aims to create a loyal customer base by keeping current customers. If you notice inactivity in customers, you can retarget them through various means.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Learning customer retention is crucial in designing a good customer retention strategy. To get started, consider some points we\u2019ve listed below:\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Your customer experience\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"How do you rate your own customer experience? Is it good? Are there any areas you need to develop? Or is it your weakest point? Examine how smooth it is for your customers to buy something from you. Rate the experience and see if you can make any changes to make the purchase experience better. It\u2019s also about the connection your customer feels to your brand. This depends on the personalization of your interactions. Do you feel like it\u2019s too much for you to handle? Partner up with Cloodot to deliver a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/ \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"seamless omnichannel customer experience\"\n        })\n      }), \", made effortless with customized inbox and customer interaction tools.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Personalization and emotional connection\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As we\u2019ve seen before, customers must feel a personal connection to your brand which will motivate them to purchase more from you. Personalized interactions will make the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers \",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"overall customer experience\"\n        })\n      }), \" more intimate. This will also help you in building long term relationships with your customers. Connect with customers wherever they are. You can make use of social media to strengthen such relationships.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Website experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Is there any difference between the on-site experience of returning customers and new customers?\\xa0 What changes will an already logged in customer see on your website? Artificial intelligence is so advanced that you can design your website according to the person visiting the site. You can display recommendations to customers based on their previous actions and preferences in the website. This will make the experience richer.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,9Iia1svmDwKVT7e7evhogjftkU.jpg\",\n      \"data-framer-height\": \"4365\",\n      \"data-framer-width\": \"6547\",\n      height: \"2182\",\n      src: new URL(\"https://framerusercontent.com/images/9Iia1svmDwKVT7e7evhogjftkU.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6547 / 4365\"\n      },\n      width: \"3273\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Other than these factors, examine the customers leaving your website or deciding not to purchase. Are there a lot of customers leaving your brand like this? They might have switched to another company. If you\u2019re losing customers, see if there are any improvements to be made in your business. Brush up your customer services and interact with your customers regularly. You can also use customer feedback to figure out what\u2019s needed. If you want to know more about that, this article might be of some help to you.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Customer retention metrics\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To learn about customer retention and to venture designing an effective customer retention strategy, you might need the help of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://blog.hubspot.com/service/customer-retention-metrics \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer retention metrics\"\n        })\n      }), \". Don\u2019t be afraid to see the mathematical formulas and variables. We\u2019ll break these concepts down to make it easier for you to understand. Even if you find the numbers threatening, keep in mind that these are just some markers which will help you in further improvement. Focus on your customer retention rate and design the strategies according to the requirements. Let\u2019s see some key metrics which will give us an idea about customer retention.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Customer churn rate\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This is a crucial factor in customer retention. This is the percentage of customers lost during a period. If you have a high \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.investopedia.com/terms/c/churnrate.asp \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"churn rate\"\n        })\n      }), \", that means you\u2019re losing a lot of customers.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to calculate customer churn rate?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To calculate the churn rate of a period of time (say, a year), subtract the number of customers at the end of the year from the number of customers at the beginning. Divide the result by the number of customers from the beginning of the year. If the result is too high, there might be some changes you have to make in the customer experience or service.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Don\u2019t worry. Just focus on customer retention and get going. You\u2019ll soon be able to reduce the rate.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Revenue churn rate\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Just like customer churn rate, you can calculate \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://finmark.com/glossary/revenue-churn/ \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"revenue churn rate\"\n        })\n      }), \" to know how much revenue you lost during a period of time. This will indirectly tell you the loss of customers as well. What you need to know before calculating revenue churn rate is your MRR or monthly recurring revenue. It is the predictable revenue of your company that you can expect to receive at the end of a month. This includes the income from all the subscriptions and other sources.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To calculate the churn rate of a month, all you have to do is to subtract the MRR of the end of the month with that of the beginning of the month, subtract the upgrade MRR of that month and finally divide the result with the MRR of the start of the month (now read that again).\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Customer lifetime value\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As the name indicates, this is the overall revenue you can expect from a customer. This indicates the loyalty of the customer and can help you in calculating the amount of loyal customers you have.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg\",\n      \"data-framer-height\": \"2826\",\n      \"data-framer-width\": \"5000\",\n      height: \"1413\",\n      src: new URL(\"https://framerusercontent.com/images/0pJG2Rm3Lr7qBT2aDT6mqzYvCU.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5000 / 2826\"\n      },\n      width: \"2500\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Customer retention rate\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Finally, customer retention rate indicates the amount of loyal customers you have. It is the percentage of repeat customers who purchased from you repeatedly and stayed with you over a period of time. If you\u2019re planning to design customer retention programs, check this to see where you are right now. Decide what time period to choose before calculation and estimate the following:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The number of customers at the beginning of the period (A)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The number of customers at the end of the period (B)\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"The number of customers acquired during the period (N)\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If we take them as A, B and N respectively, the formula to calculate customer retention rate will look like this:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"(B-N)/S*100\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"By calculating these metrics and analyzing them, you can get started with customer retention and design strategies to improve your retention rate. Want to learn more about \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/getting-started-with-customer-retention \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer retention strategies\"\n        })\n      }), \"? Read our article to see what more you can do.\"]\n    })]\n  }),\n  tcujvgbt3: \"Mastering Customer Retention: Metrics and Strategies for Success\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 9,\n  wkMiN9hO7: \"Discover the art of customer retention marketing and learn how to create a loyal customer base. Explore key metrics like churn rate, revenue churn rate, customer lifetime value, and customer retention rate to develop effective strategies for maximizing customer retention. Uncover valuable insights and expert tips to boost your business's customer retention and overall success. Read more to take your customer retention game to the next level!\",\n  z3RB0M3u0: \"Learn customer retention \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/2j5vqLxr3d1BbbSvuHcW4vSnq0.jpg\").href} 5182w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-do-business-in-whatsapp\",\n  GSA8tRVAB: true,\n  id: \"GtE1oaJjS\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Whatsapp is the fastest growing messaging app today. Here\u2019s the answer to the question business owners ask now: how can I use \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"a8XCFGad_\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Whatsapp for my business?\"\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Do you find it harder to communicate to customers regularly? \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"how-a-centralized-inbox-help-you-to-manage-customer-interaction\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"One-to-one interaction\"\n        })\n      }), \" can be a real challenge to businesses these days, especially after customers started to prefer personalized engagement. Whether in marketing or in daily life, instant messaging rules the stage. People are flooding to instant messaging platforms and Whatsapp is among the most popular. Having a business account in \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://business.whatsapp.com/products/business-platform \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Whatsapp \"\n        })\n      }), \"then can be a huge plus for your business. It has become the new favourite of popular brands in interacting with customers.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A Whatsapp business account is an important step in customer interaction management, as you can find most of your customers there. It\u2019s where they interact daily with their friends, family and close ones. While Whatsapp may just seem like an ordinary, simple messaging application, it has a lot of features that will help you with creating customer relationships and nurturing leads. All the options ranging from group chats to video calls not only makes Whatsapp popular among ordinary users but also among brands looking for wider scope for customer interactions.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The main attraction of Whatsapp is that all these services are free. International communication and relationships are easy and completely free with Whatsapp, when you\u2019ve got all your voice notes, group chats and media in your inbox. That means, it works well if you have a global customer base. Other than all these, what increases its popularity among marketers then? Well, that\u2019s what we\u2019re gonna see.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Activating Whatsapp business profile- step by step\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To use Whatsapp on your desktop, you\u2019ve to scan a QR code on your computer screen using your mobile phone. You\u2019ve to install the app on your smartphone first in order to open it on any other device.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you haven\u2019t downloaded Whatsapp business yet, go to Google Play Store or any other local app store and install it. Whatsapp will automatically connect your pre-existing account to the business profile if you\u2019ve already set your account. Add your mobile number after you agree to terms and conditions. That\u2019s all, you\u2019re ready to go! Note that, if your account is started with your personal number, you can change that later on settings.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To make the most of your business profile, there are many other features that may help you in interacting with your customers effectively. But before that, let\u2019s look at how to add business information on your profile.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Adding the website, email id, address and other relevant information\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Under Business Settings, see Business Profile and add all the relevant information. Customers identify you as a business account once you set up the account. Another thing that differentiates this from a normal profile is the green tick mark. This will appear on your profile after you \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://faq.whatsapp.com/794517045178057\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"get verified by Whatsapp\"\n        })\n      }), \", by checking the accuracy of all the information provided.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to make use of a Whatsapp business profile?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A Whatsapp business account is useful to your business in many ways. Here are some of them listed for you-\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Regular interactions\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"To increase the visibility and to interact with your customers on a daily basis, Whatsapp is the best option. No matter what you do, whether it\u2019s updating your customer about something new or informing them about the service options you provide, Whatsapp business accounts will keep it so much easier and convenient. It is perfect for maintaining a positive relationship with the customers and having regular conversations. As most of them are more likely to be active in Whatsapp and use it on a regular basis, the visibility is very high. Plus, it\u2019s perfect for resolving issues quickly. In short, it\u2019s an informal platform where you can reach your customers quickly and interact with them informally. Another attraction of a Whatsapp business account is broadcast. You can easily create broadcasts and segment your audience to send some special messages. With \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"zLb9Ou2Ys\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"automated messages\"\n        })\n      }), \", Whatsapp can send messages of your new product update or answer some queries like a chatbot. You can send the pre-written message to selected customers too.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,U0emdD768eA2OWIPu31691IDXU.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1924\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/U0emdD768eA2OWIPu31691IDXU.png\").href,\n      style: {\n        aspectRatio: \"1924 / 1120\"\n      },\n      width: \"962\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Better Customer engagement\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Searching for the easiest way for followup? Enter Whatsapp Business Profile. Whatsapp works far better than text messages or any other messaging services in engaging with customers effectively. It has higher response rates and better engagement. While all the customers may not be willing to talk to you via phone or even choose not to pick up seeing an unknown number, Whatsapp messages are a convenient alternative, given that most people open chats or messages quickly. To contact the international customers quickly, you can make use of the calling feature too. This easy-to-use informal space is more effective in one-to-one communications with your customers.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Customer support\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Providing a Whatsapp number for customer support systems or help desks will help you to extend your service further. As more people are using Whatsapp and they are more likely to send messages through it because it\u2019s the easiest way available, than drafting an email or calling your helpdesk number. The only problem is, if you\u2019ve a large number of customers, your inbox might be flooded with messages. You may lose track of all the messages and miss the important ones. That\u2019s where you need a customer interaction management tool like Cloodot. This will help you to categorize all your messages neatly and find them all, from every platform, in one inbox.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Using Whatsapp for communicating among yourselves\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With rapidly growing users, Whatsapp has become one of the most popular messaging apps- even more popular than text messaging- especially in countries like India. So, it\u2019s one of the best ways available for internal communications. If you haven\u2019t started Whatsapp groups of your customer support teams or marketing team, check that out yourself. Rather than introducing any other tool for communicating with your team, be there in the platform everyone is already familiar with. This has more success rates and can be effective in quickly resolving issues that may pop up. It\u2019s easy, fast and informal. You\u2019ll see that it\u2019s a far easier channel to convey all new updates and new information than an email. And yeah, you don\u2019t have to ask them to check because they use it on a regular basis more than any other applications.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Marketing tool\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you like to be a little creative in customer engagement, use Whatsapp to get your creative juices flowing. Marketing and promoting your business can be fun using Whatsapp, as it offers one-to-one, direct interaction with your customers. Plus, it supports a variety of media like photo, video, audio and document. It gives you a chance to experiment with your approaches and design creative marketing campaigns.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Bear in mind that, whatever you do, it does not do to spam your customers with frequent and out of place messages. As Whatsapp is a very informal messaging service, remember to keep your boundaries by respecting the privacy of your customer. Also, it\u2019s always recommended to use Whatsapp interactions as a medium convenient for people to reach out to you rather than to message unknown people without any context. The latter will only create a negative response. In other words, it\u2019s better to use it as a tool to boost your customer support and engage with existing customers.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,XBXhv8Kpc7Y1ZrbSxce29lpmOI.png\",\n      \"data-framer-height\": \"1028\",\n      \"data-framer-width\": \"1184\",\n      height: \"514\",\n      src: new URL(\"https://framerusercontent.com/images/XBXhv8Kpc7Y1ZrbSxce29lpmOI.png\").href,\n      style: {\n        aspectRatio: \"1184 / 1028\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Other features\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To use the Whatsapp account of your business to your advantage, you\u2019ve to know some features that can help you to get started.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Showcase your products using catalog tool\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Like we\u2019ve already seen, a Whatsapp business account shows your email, contact details, location and other relevant information. In addition to all that, you can add the details about your products, including pictures, as a catalog. You can list all your popular products with this tool and advertise new offers. This will give your potential customers some idea about what you offer and can browse through your products to decide on their purchase. Before their attention is diverted, they can get all the details about you without searching elsewhere. You don\u2019t need to redirect your customer to a website or answer their queries about price of particular products as the product code, price and every other detail of each product can be listed there conveniently.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Use labels to organize your chats\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"For easy navigation and access, you can label your chats. This feature will help you to categorize all your messages into groups so that they can be identified easily. By just clicking on the menu of the chat page, you can add a label of your choice and save. If you want to add a new label, do the same as before and click \u2018NEW LABEL\u2019. Type the name of the label and click save/ok.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Set up a greeting\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With no further delay, you can start engaging with your customers by setting up a simple greeting. Customers receive this greeting as they begin the interaction. This feature can also help you after 14 days of inactivity. This instant message can be used to greet them and introduce your brand or business to them. You can find this option in your Settings, under Business settings. By clicking \u2018Greeting message\u2019, you can create or edit your welcoming note.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Replies for FAQs\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Without typing the answer for a frequently asked question, you can reply quickly using this feature. With this quick reply option, you can save your replies from previous chats to the common questions and use it in new chats. Just press the / icon on your keyboard and select a reply from the list to send in no time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Reply even after business hours\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://faq.whatsapp.com/1791149784551042/?cms_platform=android \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Away messages\"\n        })\n      }), \" help you to stay in touch with the customer even after regular business hours. This is similar to greeting messages. If a customer reaches you after your working hours, they\u2019ll receive this message. You can activate this message at the time you choose. To find where you can edit and create away messages, go to Business settings, click on Away message and then \u2018activate away message\u2019. You\u2019ve the options such as \u2018Always send\u2019 and \u2018custom schedule\u2019 to choose the timings and preferences.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"This is not all. There are some other paid options to enhance customer experience. In addition , Whatsapp has introduced a payment feature, making it easier for businesses to pay just as easily as sending messages. That\u2019s a lot to cover in one article. To know more about using Whatsapp as a business tool, check out our article, \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"how-to-do-business-in-whatsapp\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"An Advanced Guide to Whatsapp for business\"\n        })\n      }), \".\"]\n    })]\n  }),\n  tcujvgbt3: \"Whatsapp for Business Success: Activate, Engage, and Thrive\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 10,\n  wkMiN9hO7: \"Maximize business potential with Whatsapp! This in-depth guide reveals how to activate a business profile, engage customers, provide support, and boost marketing efforts. Discover the power of Whatsapp's features to strengthen customer relationships and propel your business to new heights. Step-by-step instructions and valuable tips await you in this ultimate Whatsapp for business guide\\n\",\n  z3RB0M3u0: \"How to get started with WhatsApp business \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/pu8x2HQrtfbGddjACCVBVBeChN0.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/pu8x2HQrtfbGddjACCVBVBeChN0.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/pu8x2HQrtfbGddjACCVBVBeChN0.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/pu8x2HQrtfbGddjACCVBVBeChN0.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/pu8x2HQrtfbGddjACCVBVBeChN0.jpg\").href} 4000w`\n  }, \"\"),\n  B7LIlf4Jc: \"getting-started-with-customer-retention\",\n  GSA8tRVAB: true,\n  id: \"Ya3IBJNwE\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Loyal, repeated customers. That\u2019s every business person\u2019s aim right? Businesses, small and big alike, agree that holding on to customers is crucial in the development of a brand. Customer retention is what your business should focus on rather than customer acquisition and it\u2019s not only because it\u2019s cheaper. If you don\u2019t have loyal customers, what\u2019s the point of your marketing efforts?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer retention strategies are the key to keeping customers and building a long term relationship with them. It plays an important role in maintaining customer loyalty, no matter what type of business you own. Plus, it will ease the struggle of finding new customers. In short, \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://webengage.com/blog/5-customer-retention-mistakes-and-how-to-avoid-them/ \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer retention strategy\"\n        })\n      }), \" should be a part of your overall marketing strategy.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Here\u2019s what customer retention really means and how to get started with it to generate more profit.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"What is customer retention?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer retention is the ability of a business to make customers come back and stay as loyal customers to the brand. That\u2019s what every brand aspires to be excelled at, making customers stay without \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://hbr.org/2014/10/the-value-of-keeping-the-right-customers\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"going away to a competitor.\"\n        })\n      }), \" Activities to maximize profit from the existing customer base and to increase repeat customers come under customer retention. It\u2019s hard to provide such customer service and maintain the quality of the product or service - I agree - but it\u2019s not impossible to do so. You don\u2019t have to rack your brains on delivering excellent customer experience if you\u2019ve partnered up with a \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CXM software like Cloodot\"\n        })\n      }), \". We\u2019ve got you covered there.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let\u2019s see what customer retention marketing is and why it is important for your business. We\u2019ll also discuss some of the key strategies to retain customers. Hold on.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer retention marketing is about winning back your customers. Loyal, repeated customers, like we said in the beginning.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer retention strategy is what you use to retain customers and also to influence inactive customers. It\u2019s about keeping your customers, not attracting new ones.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"What\u2019s more crucial in retaining customers? Relationships, that\u2019s what matters. To build a \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"best-reputation-management-strategies\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"loyal customer base for your business\"\n        })\n      }), \", it\u2019s crucial to foster strong relationships with the customers.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,fYD4PFdIemm9g5w9qPF5NckFJhc.jpg\",\n      \"data-framer-height\": \"3827\",\n      \"data-framer-width\": \"6000\",\n      height: \"1913\",\n      src: new URL(\"https://framerusercontent.com/images/fYD4PFdIemm9g5w9qPF5NckFJhc.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6000 / 3827\"\n      },\n      width: \"3000\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Why every business should focus on customer retention\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Because it\u2019s cheaper\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As customer retention is about winning back the customers you already have or keeping the existing ones, you don\u2019t need to go and seek new customers. This will considerably reduce the amount of money you spend.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Because you get long term customers\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As you focus more on retention, you can strengthen your bonds with the old customers and existing ones. This is the key to having long lasting relationships with customers.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Because loyal customers spend more\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With your retention strategies, customers\u2019 belief in you increases and they tend to spend more. That means, retaining customers can actually boost your profit.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Steps to get started and to keep going.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Deliver good customer service\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Good customer service is the backbone of every successful business. The quality of your customer service influences the satisfaction of your customers. Communicate with your customer support team regularly and make sure your service is quick and effective.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Provide faster customer support\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Fast replies highlight your responsibility and ability to attend to issues as quickly as possible. Quick replies most probably come with quick solutions too. Even if you don\u2019t have any solution to offer at that particular moment, just acknowledge their issue or apologize ASAP. This increases the satisfaction of customers and helps in building their trust.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Focus on personalised customer experiences\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Personalization of \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"how-to-use-customer-experience-to-grow-business\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer interactions \"\n        })\n      }), \"is the feature of modern business. It\u2019s now the norm of the marketing and business interactions, as customers have started to value buying experience over the quality of product or service. Instantaneous one to one interactions with customers can be very helpful when it comes to customer retention. Give every customer the consideration they deserve. Make sure that your replies are not too generic but personalized. That will do the trick. Deliver tailor made content for them to stay relevant and\"]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Collect and analyze customer feedback\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer feedback is your powerful tool in retaining customers. \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"lf5mkbwOY\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Collecting customer feedback \"\n        })\n      }), \"helps you in analyzing customer satisfaction and provides you with directions to go forward. Customer satisfaction surveys can be of answering simple questions or specific questions such as \u201Chow do you find our customer support?\u201D or \u201Care you satisfied with our product?\u201D Give your customers a voice to express their issues and share their experiences. Refer to your customer support team the result of feedback forms because they can identify specific issues and solve them.\"]\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Pay attention to the customer journey\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"One way to understand your customers is through finding their position in the \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.partner-path.com/blog/6-buyer-journey-trends-changing-partnering \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"buyer journey\"\n        })\n      }), \". If you\u2019re aware of their buyer journey, you\u2019ll be able to effortlessly communicate with them. Plus, you\u2019ll be able to recognize their preferences and understand the challenges they face. This can be integrated into the customer retention strategy, designing your interactions according to that.\"]\n    })]\n  }),\n  tcujvgbt3: \"Personalization and Beyond: Customer Retention for Business Growth\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 11,\n  wkMiN9hO7: \"Customer retention holds the key to sustainable business growth. Explore the value of long-term customers and why building relationships is crucial. Unlock the potential of customer feedback, personalized experiences, and attentive customer support to enhance your customer retention strategy.\",\n  z3RB0M3u0: \"The Power of Customer Retention: Strategies for Loyal, Repeated Customers\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/pCdddse17p6T9DiyXBh73dl35cg.jpg\").href} 7900w`\n  }, \"\"),\n  B7LIlf4Jc: \"why-cxm-software-is-important\",\n  GSA8tRVAB: true,\n  id: \"UwrARTl4k\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: \"Here\u2019s why your company needs a CXM Software right now\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"These are the times when how you sell is more important than what you sell. Customer experience has taken up the centre stage with the global customer population opting for better buying experiences. With this in mind, ask yourself a critical question: how best am I in providing a remarkable customer experience? Not focusing on customer experience can cost you many customers. So, what to do then? The answer lies in \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"how-to-use-customer-experience-to-grow-business\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer experience management\"\n        })\n      }), \". Here, let\u2019s see how crucial it is to have a CXM software to stay ahead of your competitors.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"What exactly is Customer Experience Management (CXM)\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: {\n          pathVariables: {\n            B7LIlf4Jc: \"best-reputation-management-strategies\"\n          },\n          webPageId: \"BBm4cQzGr\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer experience management\"\n        })\n      }), \" aka CXM includes marketing strategies that focus on customer interaction, relationships and purchasing experience. Often called as CEM, all of this group of technologies work towards a better customer engagement, thus building your company\u2019s reputation as a customer centric business. The processes a brand or a business uses to track and organize every interaction with the customer come under Customer experience management.\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Seamless customer experience\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Strong online presence\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Personalizing interactions\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Real-time engagement with customers\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Quality customer service\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How is CXM is different from CRM\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You may have seen both CRM and CXM together a lot. But that doesn\u2019t mean they\u2019re the same. They are not synonymous as both of them focus on different things. For instance, CRM or Customer reputation management is mostly concerned with a brand's reputation and it regulates the inner activities of the brand. On the other hand, CXM is more about customer-centric approaches, using strategies and technologies to provide high quality interactions to customers. While there are a lot of similarities between both Customer reputation and experience management, there are also significant differences in perspective and emphasis.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"CRM programs, as we said earlier, consider things from the perspective of the brand, thus focus more on generating revenue. Often combined with customer support systems, this model can be more sales oriented than CXM. Customer experience management programs are more concerned about customer satisfaction. And sentiments. It uses customer\u2019s response to overcome shortcomings and become better and to stay ahead of competitors.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Working towards a customer centric model, CXM enables instant and seamless communication with customers. These data will help brands to get insights from their own interactions and to use it for the brand\u2019s benefit. The negative feedback could be of great importance here, which can be used for building better customer engagement.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A company can use CXM to strengthen their customer relationships and win more customers.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"In short, CXM goes beyond CRM in a lot of respects.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,vDRzwafPGFpuChc5x5K1gVEFzEs.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1922\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/vDRzwafPGFpuChc5x5K1gVEFzEs.png\").href,\n      style: {\n        aspectRatio: \"1922 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How does CXM become important?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You may have got the idea by now. CXM drives profitability by taking care of each and every interaction you have with the customer. Why is it so important to focus on customer engagement? It\u2019s pretty obvious. The more you study customer behaviour and response, the more you understand how to win more customers. When your existing customers themselves turn into your brand advocates, the impact will be huge. This will definitely drive more people to your business. CXM is about creating a personalised and convenient space so that it\u2019s a win-win, both to you and to your customers.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The perks you get include long lasting relationships with loyal customers, lead generation, successful conversions and ultimately, more revenue. All of this will automatically result in the overall growth of your business. You\u2019re not the only one benefitted with CXM. Your customers are rewarded with a more fulfilling experience with the attention they deserve. They can also develop a solid relationship with the brand, strengthened with personalised interactions.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Introducing CXM software\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"CXM is a long path to go. It\u2019s not easy to perfect all your interactions and engagements. That\u2019s where you need a CXM software. It will ease you so much and reduce your workload. Forget long out jumping from window to window, and having trouble reaching out to customers.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A CXM software effectively manages everything that comes under Customer experience. From one-to-one personalized interactions to negative and positive reviews, the software got you covered. You don\u2019t need to worry about managing \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"J4ekHl8Xz\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"chats\"\n        })\n      }), \" and \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"FUV2jTOUV\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reviews\"\n        })\n      }), \" from multiple locations. Tools like Cloodot have every single message and review in one place.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Why CXM software?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"There are some key features of a CXM software that you must pay attention to before you make your decision. -\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"It offers you security\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Giving all your employees access to your bases comes with a security risk. With a good CXM software at hand, you don\u2019t have to worry about this at all. A single location serves every function where you can be with your whole team. In short, if you care about privacy and security, CXM software is for you.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Effective control over multiple channels\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Whether you are a small business having diverse business profiles or a big business with multiple locations, all you need is a place where all your interactions are centralized. A good CXM software like Cloodot brings all the interactions including reviews and chats to one suit. This makes it a lot easier to handle all these communications effectively, on time.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Providing business insights\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By analysing the data of your customer engagements across platforms, you get a clear picture of where you are right now and where you want to go. This data interpretation is crucial for your business for making informed decisions. This is where a CXM software is going to help you with. Cloodot ensures you get all the data you need, easily readable and visualized for your better perception. Not just that, now you get the analysis of the data from different platforms in one place.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Personalizing interactions\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"An integral part of CXM, as we have seen before, is personalization. CXM software provides you the opportunity to personalize conversations, with tools like one-to-one automations. By making use of advanced technologies, a software like this can tailor personalized experiences. This will ease you a lot, especially if you\u2019ve a larger customer base.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Automated messaging\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"With \", /*#__PURE__*/_jsx(Link, {\n        href: {\n          webPageId: \"zLb9Ou2Ys\"\n        },\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"automated messaging\"\n        })\n      }), \" facilities supported by Artificial Intelligence, your customers are never left hanging, even if you\u2019re not available. If a customer reaches out to you after office hours, you can use this feature to immediately respond to them no matter in which platform they choose to connect. You can save a lot of time too and focus on something else.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Collaborating with your team\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A good CXM software reimagines teamwork as it unifies your team, working together in one location. This also lets you stay on the same page, avoiding all the confusions and miscommunications. Plus, you get better results from your team by making use of everyone\u2019s potential as the software allows you to assign tasks to suitable people. With everyone on board communicating within themselves and delivering high quality customer service, your business will automatically earn a great reputation.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,TQ3xhGlAcC9ABjmInzfkpVOObY.jpg\",\n      \"data-framer-height\": \"3510\",\n      \"data-framer-width\": \"5260\",\n      height: \"1755\",\n      src: new URL(\"https://framerusercontent.com/images/TQ3xhGlAcC9ABjmInzfkpVOObY.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5260 / 3510\"\n      },\n      width: \"2630\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Monitoring performance\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.automationalley.com/articles/why-business-self-evaluation-is-so-important-in-the-digital-age \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Self-evaluation is crucial\"\n        })\n      }), \", even in business. You can\u2019t move forward without assessing your previous steps and how far you\u2019ve come. That\u2019s how you can make actionable decisions which will contribute to your growth. Based on your interactions with customers, a CXM software can give you detailed data about your performance. Not only that, you can also monitor the performance of your employees to analyse how better they are. By examining these performances, you can take solid actions to overcome your shortcomings and fix mistakes as early as possible.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Elevate employee experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s not always about customers. It\u2019s about your employees too. Employee satisfaction is an important factor when it comes to the success and growth of your business. The employees will be more productive when they work in a convenient atmosphere. CXM software offers such a comfortable workspace by making the whole process easy going rather than tedious and tiring.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.shiftcomm.com/insights/how-could-crm-change-in-the-next-decade/#:~:text=CRM%20software%20have%20brought%20the,of%20the%20modern%20pipeline%20CRM\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"CXM is evolving rapidly.\"\n        })\n      }), \" With the rise of customer-centric brands, the whole market has acquired new shape. In this hyperconnected digital age of high competition, your brand needs to stand out. To put it simply, that\u2019s why you need a CXM software. It\u2019s a much larger goal of achieving a customer centric reputation that CXM software carries on. Maybe this is what you need right now to change the outlook of your business altogether or to manage your overflowing messages and reviews. Whatever it is, \", /*#__PURE__*/_jsx(Link, {\n        href: \"/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" is here for you. Sign up today and see what you miss!\"]\n    })]\n  }),\n  tcujvgbt3: \"Why Your Company Needs a CXM Software: Elevating Customer Experience\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 12,\n  wkMiN9hO7: \"Unlock the potential of CXM software to drive customer-centric success and transform your business. Learn the importance of focusing on customer engagement, relationship-building, and personalized experiences for business growth. Discover the convenience of one-to-one automations, employee collaboration, and performance monitoring with Cloodot's CXM software.\",\n  z3RB0M3u0: \"Here's why your company needs CXM software right now\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/Td7ShpvK1sK7eRokXqIDxF3hTms.jpg\").href} 7900w`\n  }, \"\"),\n  B7LIlf4Jc: \"best-reputation-management-strategies\",\n  GSA8tRVAB: true,\n  id: \"jlqtzyYzH\",\n  JYmpedk6B: \"2022-02-16T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: \"Best reputation management strategies for 2023\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Brand reputation management helps you to increase the trust of your customers as well as your credibility as a business.\\xa0\", /*#__PURE__*/_jsx(Link, {\n        href: \"\thttps://www.cloodot.com/blog/how-to-make-a-customer-acquisition-strategy \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Improving online reputation\"\n        })\n      }), \" is not only about boosting confidence, but also about growing your business. A positive brand reputation is integral for the success of your business. Achieving a good reputation depends upon the online reputation management strategies you implement in your business.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Are you asking yourself these questions? Then, jump on!\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"What is the definition of brand reputation?\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Why is online business reputation important?\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"What is brand reputation management?\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"How to improve online reputation?\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Best online reputation management practices\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"What is the definition of brand reputation?\"\n          })\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Brand reputation is what shows how your brand/ business firm is seen by your customers and the public. It is about the trust of your target customers in you. Managing business reputation- therefore- is about influencing the way your customers think of your business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With the sweeping impact of the internet along with the infinite possibilities it offers changed the definition of brand reputation altogether. Through social media, review sites and other forms of engagement, modes of customer interaction grew considerably.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Why online business reputation matters\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"What makes people trust your business? What is the key behind the growth of your brand? What is the way to create loyal customers? What decides the value of your company? The answer to all these questions is one- your business reputation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Plus, as the market is growing day by day, you need more loyal customers to stay ahead of your competitors. With a good reputation, your business can stay on top of the competition.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Maintaining a good online reputation is what it takes to get and retain loyal customers. In other words, this is what attracts new customers and maintains the existing ones.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Brand reputation management\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Knowing the importance of brand reputation is not enough. Managing brand reputation is about monitoring the brand\u2019s reputation along with the trends and shortcomings in it to assess the best strategies to improve it. Brand reputation management practices help you to improve and maintain your business reputation.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"How to improve brand reputation\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customers are too careful about the reputation of a brand today. To stay on the court, you need to meet their expectations and ultimately, improve your brand reputation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customers look for several factors while purchasing a product/ service. Trustworthiness, quality of the product/ service, customer reviews and buying experience are some important things they look for. Managing business reputation is about taking care of every one of these. The Internet offers a wide range of opportunities to manage brand reputation.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"As we discuss here, It\u2019s just a matter of some practices and strategies to improve the online reputation of the business.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,G3f6o4zrCHCIZVGMaft4S5CDMI.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1923\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/G3f6o4zrCHCIZVGMaft4S5CDMI.png\").href,\n      style: {\n        aspectRatio: \"1923 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Best online reputation management practices\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let\u2019s dive into some reputation management tactics and best online reputation control practices that will help you to monitor your brand reputation.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Here we go:\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Invest in SEO and Content marketing\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Have you ever entered your brand\u2019s name in the search query to see what the results are? The first thing anyone does while considering a purchase will be searching on a browser. As you may already know, a business website is a must. In fact, it is just the most basic criterion\\xa0 today. It takes more than an optimized website to rank in search engines like Google. Research your possibilities and create an SEO strategy that will work best for your business. Plus, update your Google business listing and make sure it\u2019s verified (read this article to learn how to create and verify Google My Business account). This will help customers while they search for local businesses online. Creating content that will help your customers is another step to make sure more people discover your brand.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Content marketing is an effective tool to reach your target audience. Create content that revolves around the problems your audience usually has. Some informative content on the subjects related to your area which can help your potential customers will do the trick. Market and design your content in a way that it doesn\u2019t look like something entirely praising your product/ service in an attempt to sell.You\u2019ve to give the impression that you\u2019re not doing this just for the money but to educate your audience. It\u2019s good to begin with simple educational content blogs and then create a variety of content like e books or if you have the resources, videos and podcasts. Once your articles or any other content get noticed by your potential customers, your brand reputation will automatically increase.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Focus on Customer satisfaction and Customer experience\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Well, this is the most obvious. Focus on customer satisfaction and work on your customer support team. Excellent customer services will back you up in creating top-notch \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experiences\"\n        })\n      }), \". Satisfied customers must be your primary goal. This directly impacts your brand reputation and what\u2019s more, loyal customers can be your greatest advertisers. The secret to boost your online brand reputation management is creating long lasting relationships with customers.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Today, customers value customer experience more than your product or service. Customer experience is about effectively engaging with the customers on a regular basis. As we\u2019ll see later in this article, personalising your interactions is the key. Directly contacting the customers with frequent and timely updates about your new features, offers or news can help greatly. Arranging subscriptions to mail, newsletter etc can work this way ( but not too much spamming of course). Tailored content for specific customers can have a great deal of impact on potential customers searching for the best options.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Staying in touch is what matters. Keep the relationships with them, maintain it even after the purchase and offer a great support system. Reach out to each of your customers personally through every platform possible. It\u2019s also about valuable feedback. Ask them about their experiences and learn and adapt from them.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Collect and manage reviews\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The first thing that attracts the attention of a customer will be your reviews and ratings. Online reviews play a great role in influencing a customer\u2019s decision to purchase. So, it\u2019s very important to be present on all popular review sites related to your business. To make sure that your customers are leaving reviews, you\u2019ve to request for reviews. Otherwise, people most probably won\u2019t care to put a review. Make the review requests timely and convenient.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Positive reviews are like trophies of achievement that you can display to increase your revenue even more. What about negative reviews? Contrary to general understanding, negative reviews influence your business for the better. They help you a lot in realising the mistakes and shortcomings on the correct time to take timely and relevant actions. By responding to them in a prompting way, they can be used as powerful weapons. More than the positive reviews you\u2019ve got, It\u2019s how you respond to and handle negative reviews or comments that shows your sincerity, credibility and responsibility. Check out our article to know more about responding to negative reviews.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A good online review management software can be a lot of help in sorting out the reviews and responding to them accurately. This way, you won\u2019t lose track of them and can assign them to give each case special, individual attention. There\u2019s more in this than just collecting online reviews. More important than that is how you make use of them, to reach your full potential. Use it in a way in which they can act as both marketing tools and seeds of improvement.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,uhMh4DrPbxs9xOtNCLxIdDQrhAg.jpg\",\n      \"data-framer-height\": \"2000\",\n      \"data-framer-width\": \"3000\",\n      height: \"1000\",\n      src: new URL(\"https://framerusercontent.com/images/uhMh4DrPbxs9xOtNCLxIdDQrhAg.jpg\").href,\n      style: {\n        aspectRatio: \"3000 / 2000\"\n      },\n      width: \"1500\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Deliver top-notch customer service\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In customer service, two things matter most: time and efficiency.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s of utmost importance that you address customer grievances as fast as possible. The quicker you respond to the issue, and the quicker it gets solved, the better. You have to establish a customer support team for this purpose. You must give special care not to miss any of the customer queries or problems. That\u2019s why getting a customer management software like Cloodot is the best way to strategize your customer support. It helps you in handling all the customer interactions and ease you in managing the reputation of your brand.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer support is not limited to the purchase. You\u2019ve to be there for them even after purchase. How you support them even after purchase and how quickly and promptly you manage to solve the issue at hand influence your brand reputation.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Your customer service must be active and alert all the time. You must be present in\\xa0 whatever channel they choose to reach out to you like Whatsapp, Facebook,Web Chat or SMS. To deal with the issue in detail, you can also schedule private calls if needed. Whatever the issue is, it\u2019s important to focus on solving and fixing the damage. Again, your brand reputation depends upon how you address and solve the issues faced by your customers. Remember that the person who handles the issue must be an expert who clearly knows what they\u2019re doing. A \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reputation management software \"\n        })\n      }), \"helps you to assign conversations to most accurate people. It\u2019ll be a great aid in categorizing high priority issues to be addressed and giving them special attention as required.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Make use of Social media\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Social media is a great way to connect to a lot of people as the population using social media is rapidly growing. It can be used as a tool to reach out to more people. Networking opportunities are a lot greater with social media sites like Facebook, Instagram and Linkedin. Active engagement with your customers through social media is inevitable for effective customer service. From useful and catchy content to instant messaging, you have to be interacting with them frequently. Make full use of opportunities that social media offers. In short, active social media engagement helps you to establish a strong brand reputation by personalising interactions and making it customer centric.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Publishing user generated content on social media is a great way to attract more people. Customer stories can do magic. Testimonials from real people who have used your product can tell their experience. Just like recommendations from loved ones, these stories can appeal to your potential customers very effectively. Sharing these stories publicly in an attractive manner can influence others to share like that too. When a customer says positively about your product, it will have much more value than any other form of advertisement. To put in another way, the experiences of these people, if used effectively, can be great advertisements themselves. Researches tell us that the customer stories can influence more people than any other form of advertisement or marketing. Generating these testimonials can be a great part of your marketing strategy.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Turn loyal customers into brand advocates\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Loyal customers are your brand ambassadors. Your aim must be to create long-lasting relationships with customers so that they recommend your product/ service to others and talk positively to everyone around. This is all about best customer experience and maintaining the satisfaction of employees and customers. These brand advocates can be someone who just mentions you in a social media post. You have to keep track of people mentioning you in social media and instantly engage with them to make use of the opportunity. In the age of social media influencers, it\u2019s always better to connect with people through people. The audience of an influencer may be comparatively small, but the results will be much greater. The mass psychology makes it sure that people start using whichever product recommended by their favourite influencer.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Not all customers will be ready to share their experience or recommend it to other people. If you\u2019re asking influencers, you may have to pay for their content. Other than that, you can make use of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://blog.hubspot.com/sales/successful-sales-incentives \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"gift cards, discounts and other incentives \"\n        })\n      }), \"to motivate people. This will make them enthusiastic about referring your product/service to somebody else. Again, all of these depends upon the quality of your customer experience and interactions.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Put some effort in Employee satisfaction\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s not only about customers always. Your employees have to be engaged in work with greater satisfaction. The employee satisfaction influences the quality of customer interactions and services and thereby directly impacts the overall reputation of your firm. Thus, it determines your income too. Satisfied employees will work for your better reputation and perform greatly in customer interactions. To develop a best brand reputation strategy, it\u2019s crucial to have a great team, like customer support teams actively engaged in making customer service better.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Employee satisfaction programmes must be one of your key focuses in brand reputation management practices. As we said earlier, happier employees are more likely to dedicate themselves more to the growth of the company. Take regular feedback from them and work on it. When you build a convenient and comfortable atmosphere for your employees to work, your reputation will automatically improve.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,vDRzwafPGFpuChc5x5K1gVEFzEs.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1922\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/vDRzwafPGFpuChc5x5K1gVEFzEs.png\").href,\n      style: {\n        aspectRatio: \"1922 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Personalise customer interactions\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Focus on offering one-to-one customer interactions. Collaborate with your team to make the customer experience as personalised as possible. The best way to implement this effectively is a multi agent customer experience software like Cloodot. Teaming up with Cloodot will also make your job a lot easier.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Give that humane touch and connect with your customers with more ease. Each of them must feel that they\u2019re given special attention. Collecting their personal info can be of a huge help while creating personalised/ tailor-made experience. Personalization boosts the value and quality of your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-to-use-customer-experience-to-grow-business \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer engagements\"\n        })\n      }), \" and therefore reflects in brand reputation. Read more about personalisation in our article on customer experience.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"With changing customer expectations, maintaining a positive business reputation has become the top priority for any kind of product/service. Customer-centric businesses are stealing all the spotlight. So, the key to a good brand reputation management is to switch to a customer centred approach, by focusing on customer interaction and employee satisfaction. Creating a personalised and tailor-made customer experience is also a must in order to establish such a good corporate reputation. Adopt these strategies to boost/ enhance your digital brand reputation and get going!\"\n    })]\n  }),\n  tcujvgbt3: \"Reputation Management Strategies for 2023: Building Trust & Business Growth\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 13,\n  wkMiN9hO7: \"Stay ahead of the competition in 2023 with top-notch reputation management practices. Explore the significance of SEO, content marketing, and social media engagement to improve brand perception. Turn loyal customers into brand advocates and create a customer-centric approach for lasting success.\",\n  z3RB0M3u0: \"Best reputation management strategies for small business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/3Uh7USV2UuEdeUIyJtIsP048eI.png\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/3Uh7USV2UuEdeUIyJtIsP048eI.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/3Uh7USV2UuEdeUIyJtIsP048eI.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/3Uh7USV2UuEdeUIyJtIsP048eI.png\").href} 1200w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-an-all-in-one-inbox-can-help-in-growing-your-business\",\n  GSA8tRVAB: true,\n  id: \"w8YYw7yXo\",\n  JYmpedk6B: \"2022-02-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: \"Why go for an all-in-one inbox?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Just a simple question- are you struggling to connect to customers across platforms? I know you don\u2019t need to think twice to say \u2018yes'. Every business owner or industrialist faces this issue with customer relationship management in our digital age. Whether you have got a big business with several outlets or you\u2019re just starting off, reaching out to customers is going to be the stumbling block for you. It\u2019s essential to enhance your customer experience for a better online reputation.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Nurturing leads, engaging with customers, collecting reviews\u2026 We know there are a lot of things racking your brain. You may find all of it exhausting and time-consuming.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Do you know how effortless all of this can be with an all-in-one inbox? Imagine if there are no more tiring processes of collecting reviews or jumping from one window to another. Another main attraction? Convenience, of course. It\u2019s so easy to navigate through your online reviews and conversations. Besides, nothing is easier than finding every review and chat in one place? Centralizing your entire interactions makes your business more organized and efficient. Not sure yet?\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Here are 13 reasons why your team needs an all-in-one inbox.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Find every conversation and review in one place\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"While talking about an all-in-one inbox, the first thing to say, of course, is about finding all chats and reviews in one place. You need a strong online presence to run a business in this digital age. No matter what type of brand you own, it\u2019s important to connect to your customers. You know we\u2019re not talking about just one channel. It\u2019s about being updated in every single channel including social media that your potential customers use. To be on top, you\u2019ll have to reach them out through channels like\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Google My Business\"\n        })\n      }), \", Whatsapp, Facebook, SMS, and Webchat. Then comes the question of handling all of these multiple channels at the same time. That\u2019s why you need an all-in-one suite to balance all your interactions and manage all of them from one place.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,vDRzwafPGFpuChc5x5K1gVEFzEs.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1922\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/vDRzwafPGFpuChc5x5K1gVEFzEs.png\").href,\n      style: {\n        aspectRatio: \"1922 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Save your time and effort\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Imagine the difference you can make if you can save hours you spend going back and forth across channels finding and responding to messages and reviews. Time is, inarguably, your best resource. With an \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"all-in-one customer interaction tool\"\n        })\n      }), \", you can start connecting to your customers within seconds. Plus, you don\u2019t even have to take half the effort to get the work done. You\u2019ll see your reply rate skyrocketing with so little time and effort.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"No more confusion\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You\u2019re staring at a conversation somebody from your team left off. You\u2019ve no idea what\u2019s going on with that customer. You may have to depend upon a random guess or worse, you may end up spending so much time learning everything. One of the perks of having an \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"omnichannel communication \"\n        })\n      }), \"panel is that you can find the history and context of every conversation. Just go through the custom notes, you\u2019re all set to deal with the conversation at hand. It\u2019s a great way to communicate with your team too.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Engage quickly, in a meaningful way\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Competition is at its peak nowadays. You\u2019ll run a risk of losing customers if you don\u2019t engage with them quickly. When it comes to the omnichannel messaging platform, you can address grievances and concerns quickly. With tools like automated replies and template responses, you\u2019ll find it easier to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reply to reviews\"\n        })\n      }), \". You can make your customer support system more efficient by communicating clearly to your customers through media files. Whether it\u2019s nurturing leads or answering queries, everything is much easier with a CRM software.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Don\u2019t miss reviews and messages anymore\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"When there is a heap of messages and reviews, that too from all your channels, it\u2019s natural to miss messages or leave reviews unaddressed. Even though you know how crucial it is to respond to reviews, both positive and negative, you may not always be able to keep consistency. You may even start losing customers, as they don\u2019t receive feedback from you. Think about how different it will be if you have everything packed up neatly in one place and you\u2019re constantly updated about all those conversations. If you can find everything in there, why fret about missing something important?\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Filter and label conversations\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Your conversations are not just one type. There may be leads, orders, feedback, and more. Wouldn\u2019t it be so much easier if you can compartmentalize them into separate sections? Yes, with an all-in-one inbox, you find all of them neat and clean, classified into categories.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,MkKYRW2R9kTBrBra11PsMyo5Ig.png\",\n      \"data-framer-height\": \"1028\",\n      \"data-framer-width\": \"1184\",\n      height: \"514\",\n      src: new URL(\"https://framerusercontent.com/images/MkKYRW2R9kTBrBra11PsMyo5Ig.png\").href,\n      style: {\n        aspectRatio: \"1184 / 1028\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Easily collect reviews\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Well, collecting reviews have always been troubling. The thought of nagging your customers for reviews cannot be more uncomfortable. What if you can do that easily with one click? What if your customers find it so convenient too, to leave a review? That\u2019s exactly what we\u2019re talking about. Without troubling your customers or employees, you can get reviews asking at the right time, in the right way.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,HrgKucrlq6OMbBS4jm4KuNeyIo.png\",\n      \"data-framer-height\": \"1122\",\n      \"data-framer-width\": \"1933\",\n      height: \"561\",\n      src: new URL(\"https://framerusercontent.com/images/HrgKucrlq6OMbBS4jm4KuNeyIo.png\").href,\n      style: {\n        aspectRatio: \"1933 / 1122\"\n      },\n      width: \"966\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Assign tasks and decide who can do what\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It gets messy and confusing if there are lots of interactions and nobody knows what they\u2019re doing. Besides, not all of your team members may be perfect for dealing with a specific conversation. The key is assigning the perfect person to handle each interaction. And yes, you can decide who gets access to what too. With this feature, you\u2019ll be able to give specific permissions to each one of your team.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Give rest to your security concerns\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you need to manage all interactions of customers, you\u2019ll be forced to give your employees access to the original channels and listings. Obviously, this brings security concerns. Again, you may have thought about what other choice you have rather than managing it all by yourself. Well, that\u2019s not how it is. If you\u2019ve got all your employees in one place, you don\u2019t need to risk your security, right?\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Elevate your employee experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Your employees are maybe having a difficult time managing conversations and reviews. An omnichannel inbox can ease them a lot with tools like template response. They don\u2019t have to switch from channel to channel as they can find everything in one place. Besides, they\u2019ll love communicating among themselves and working together as a team. It\u2019s all about the seamlessness of communication, with no distractions. Think about how convenient it will be for them if they can collect reviews with just one click. What took a lot of time before, now it\u2019s just a matter of seconds! There\u2019s more- you\u2019ll be able to monitor the performance of your employees based on their interactions.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Collaborate with your team, in a better way\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You know just how important it is to work as a whole team to build a reputation. By using an all-in-one suite, you can get on board with your team to address queries, nurture leads, and deliver excellent customer support. From bringing all of the team members to one place and communicating within yourself, an all-in-one messaging platform will help you in collaborating with your team.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Connect to your customers, wherever you\u2019re\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Engage with your clients on the go with an easy-to-use mobile app. You can simply carry your customer interactions with you all in one place. No matter the channel of communication- such as SMS, Facebook message, or Webchat- provide a unified experience to your customers, wherever you are.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Transform your customer experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Being there in all the important channels is one thing. Actively engaging with customers through all of those platforms is another. If you just concentrate on one platform or you can\u2019t balance all of those channels together, it affects the overall customer experience. It\u2019ll be bits and pieces but never a whole picture. Your company needs an omnichannel interaction platform to consistently engage with customers regardless of the channel they choose. Plus, an all-in-one inbox software can make your communication quicker, seamless, and impactful. Without breaking off the communication, you\u2019ll be able to handle the chats smoothly. It\u2019s about offering a centralized customer experience, no matter how your customer reaches you. The choice is between losing customers and gaining them.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,PPbdmwlXYxle9SZIeNDAU7gURk.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1923\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/PPbdmwlXYxle9SZIeNDAU7gURk.png\").href,\n      style: {\n        aspectRatio: \"1923 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"If you decide to go for an all-in-one inbox to offer excellent customer support, check out Cloodot. Choosing Cloodot will help you to stay on top, ahead of your competitors. By partnering up with Cloodot, you can offer a seamless customer experience, effortlessly. You can rest assured that you\u2019re going to gain more customers and build a good reputation. It's about time to centralize customer interactions and keep going ahead with the demands of your customers. That's exactly what Cloodot is offering you.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"See for yourself how \", /*#__PURE__*/_jsx(Link, {\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" has transformed the customer experience of Indus Go and Indus Motors.\"]\n    })]\n  }),\n  tcujvgbt3: \"Customer Engagement Simplified: The Power of an All-In-One Inbox \",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 7,\n  wkMiN9hO7: \"Discover the power of an all-in-one inbox for your business! Streamline customer interactions, save time, and enhance your online reputation effortlessly. Explore 13 reasons why you need this game-changing solution.\",\n  z3RB0M3u0: \"13 Reasons why your company needs an all-in-one inbox\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/5aIrLqNUKdh4uPX5VVrqx43iI.jpg\").href} 7900w`\n  }, \"\"),\n  B7LIlf4Jc: \"positive-changes-with-negative-reviews\",\n  GSA8tRVAB: true,\n  id: \"shUXdtAYq\",\n  JYmpedk6B: \"2022-02-11T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h2\", {\n      children: /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Why do we say negative reviews are useful and how to make use of bad reviews?\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"\u201CBad service. Low-quality product. I would never recommend this.\u201D\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Every one of us may have experienced this blow of \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"negative reviews\"\n      }), \". Imagine a stranger who walks against us in the street shouting, \u201Cyou are a bad person!\u201D to our face! We may get hurt, cry, feel down, or be annoyed.We may end up shouting back at the stranger the first insulting words from the top of our head or we may just walk away, carrying the pang.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Well, we don\u2019t have to imagine a customer (and sometimes, many of them) telling the public that our service/product is bad. That happens. Along with good reviews praising us, We\u2019ll receive the negative ones too.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As we said in the first case, we may take this personally and may get hurt. We may delete the review altogether instead of responding to it. What\u2019s worse, we may react the same way.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"But, are bad reviews that bad? Is there any way we can make use of these reviews to improve the business? In fact, there is. Negative reviews are many times better than positive ones if we have the heart to accept criticism and a will to learn from mistakes.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Still, You may have trouble dealing with the question, how to respond to bad reviews on Google and/or social media. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/reviews-to-grow-business \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer review\"\n        })\n      }), \" is the most important factor in your online ranking. You must take care while responding to negative reviews. Don\u2019t worry, we\u2019ll tell you how.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Bad reviews don\u2019t define your business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"I admit it\u2019s not very easy for us to take criticism lightly. However, we\u2019ll have to remember however hard we try, we can\u2019t be perfect. We\u2019ll have flaws and that\u2019s okay. The most important thing is, these bad reviews don\u2019t define your business, just like your past flaws don\u2019t define who you\u2019re today.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To make them our \u2018past\u2019 mistakes, of course, we\u2019ll have to get past them. Know that admitting our mistakes is the first step to improvement. It\u2019s all about learning from our mistakes and becoming better.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Ultimately, as you overcome your weaknesses, you\u2019ll avoid bad reviews in the future.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Ten11GlzxlPVBL0huFbWPkHYvA.jpg\",\n      \"data-framer-height\": \"4000\",\n      \"data-framer-width\": \"6000\",\n      height: \"2000\",\n      src: new URL(\"https://framerusercontent.com/images/Ten11GlzxlPVBL0huFbWPkHYvA.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6000 / 4000\"\n      },\n      width: \"3000\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Negative reviews aren\u2019t that negative.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Imagine that we pay attention to good reviews alone. Eventually, we will assume that we are the perfect business without flaws. We may never notice our shortcomings before they will seriously damage our business.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Negative reviews\"\n      }), \" just make us aware of our mistakes or shortcomings. They tell us where we\u2019ve gone wrong and what we\u2019ve to care more about.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"It\u2019s our turn then to realize these issues and take positive steps to solve them. Take each of those reviews as an insight into your weak spots. The next thing to do is to think about ways to fix that fault. Call your whole team and work together to right a wrong.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Why deleting a bad review is not a great idea.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Let\u2019s face the truth. It\u2019s not easy to remove a bad review. In some cases, it\u2019s impossible to do so. Talking about Google, the legitimacy of the business matters most. Google values honest feedback from customers. So, we can\u2019t just remove a review if we\u2019re not happy with it. Besides, what\u2019s the point of review sites if we choose to show only our good side?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If your review sites are all loaded with reviews appreciating you and not even pointing out a single problem, the customers may get suspicious. It may seem artificial and fake, thus inverting the effect of good reviews. Yes, the \u2018too good to be true\u2019 logic always pops up in our mind.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Getting rid of bad reviews.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"However positive bad reviews can turn out to be, our ultimate aim is to avoid them. We must set a goal to get rid of bad reviews altogether, though it\u2019s not possible. Getting rid of them does not mean you\u2019ve to delete or remove them. We have to deal with them to mitigate the damage they\u2019ve done.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"By facing the issue and taking positive actions to change them, we have to make sure we don\u2019t receive the same kind of bad review again. Of course, when we fix one problem, another will come up. Take this as a journey to perfection. We may not be able to stop bad reviews completely, but we become better on the way.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The best way to project your positive reviews over negative ones is just getting more good reviews. As you get more good reviews one after another, negative ones will automatically be pushed down to the bottom of the list. Using tools like Cloodot can help you to gain more reviews like this easily.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Note that you\u2019ll have to \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.searchenginejournal.com/tips-handling-negative-customer-reviews-online/353470/ \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"focus on responding\"\n        })\n      }), \" to the review and solving the issue rather than turning them down.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Your response matters.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s always better to respond to the review in question.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Remember that your potential customers will go through negative reviews as well. What is going to assure them about you is how you respond to the negative reviews or whether you choose to respond at all.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,QFcLyTG3kj9Jw1IOuT40vsOpE.png\",\n      \"data-framer-height\": \"1028\",\n      \"data-framer-width\": \"1184\",\n      height: \"514\",\n      src: new URL(\"https://framerusercontent.com/images/QFcLyTG3kj9Jw1IOuT40vsOpE.png\").href,\n      style: {\n        aspectRatio: \"1184 / 1028\"\n      },\n      width: \"592\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The choice is yours- to respond to them maturely or to avoid them altogether. Answering the concerns of the reviewer is not only going to help you in winning back their trust, but also it will boost the confidence of potential customers in you. In other words, you can make amends with unhappy customers and show prospective clients that you\u2019re trustworthy and responsible.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Your response to the negative reviews talks volumes about you. It displays your ability to deal with the issue and to offer solutions. It highlights your earnest desire to improve and to address the problems of your customers.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to respond to negative reviews?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"We\u2019ve seen the \u2018why\u2019 part. Let\u2019s deal with the \u2018how\u2019 question now. You need to respond in a way that your customer feels acknowledged. Ideally, your response must prompt them to change their attitude towards you. First, you need to keep in mind these before you respond.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Be calm\"\n      }), \": though it may seem hard, it\u2019s not impossible. Being emotional about the review can affect your response and thereby your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reputation\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Don\u2019t take it personally\"\n      }), \": It may seem like a personal attack to you. But, understand that it\u2019s not. The customers most probably record the problem they have encountered. Though none of us are enthusiastic about criticism, let\u2019s understand that it is not directed at us but to a shortcoming of our business.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Face the problem\"\n      }), \": Whatever the problem is, you have to face it. We can\u2019t always run away from our problems. It\u2019s now or never.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Be sincere\"\n      }), \": whether you\u2019re apologizing or admitting your mistake, be sincere about it. The last thing your customers want is a hollow response.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Find the right person to respond\"\n      }), \": Every negative review is different and therefore must be treated differently. Finding the perfect person to address the issue is the key to producing the best response to a negative review. With tools like Cloodot, you can easily assign a conversation or review to anyone on your team.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Correct respectfully if they\u2019re wrong\"\n      }), \": You cannot acknowledge your mistake if they\u2019re groundless. Some customers may write wrong feedback too. Gently correct them and clear the misunderstanding.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Pay attention to the actual problem\"\n      }), \": Some customers may rant about anything and everything. We\u2019ll have to pinpoint the issue and think about possible solutions. Set aside the phrases showing the emotions and dig deeper to get to the point. If they\u2019ve just made some vague statements, you can calmly enquire about the issue they\u2019re concerned with.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Don\u2019t defend yourself\"\n      }), \": It\u2019s not about proving who is right. When it comes to negative reviews, it\u2019s always safer to stand in the \u2018customer is always right\u2019 position. Even slightly defensive notes can appear childish and can ruin your whole response. Keep in mind that your response is the reflection of your business. Denials and justifications can only help to make the conflict worse.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"strong\", {\n        children: \"Respond as quickly as possible\"\n      }), \": Responding to the review after a long time won\u2019t do any good at all. It\u2019s always better to address the issue ASAP. But, however hard you try, you still may miss reviews. That\u2019s when an all-in-one messaging and \", /*#__PURE__*/_jsx(Link, {\n        href: \"\thttps://www.cloodot.com/products/reviews \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"review management\"\n        })\n      }), \" tool like \", /*#__PURE__*/_jsx(Link, {\n        href: \"Cloodot.com\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" comes in handy. This way, you\u2019ll stay updated about all the recent reviews and you can immediately respond to them.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Finally, let\u2019s get to the \u2018how to reply to bad reviews\u2019 question. When you respond, you should:\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Apologize\"\n          }), \":\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Acknowledging your mistake and sincerely apologizing are the first things you\u2019ve to do. Saying sorry can make a lot of difference. It may even influence the unhappy customer and alter their sentiment. A simple sorry has the power to change the opinion of someone about you.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Appreciate their effort\"\n          }), \":\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"No matter how terrible the review is, you just have to thank them for taking the trouble of writing a review. You may think thanking them is not reasonable, but it can also impact their attitude towards you and make them rethink their own words. So, appreciate them for letting you know the problem they\u2019re facing.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Address their concerns\"\n          }), \":\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This is when we actually get to the issue and acknowledge the problem they\u2019ve raised. If you\u2019re considerate of their anxieties and concerns, it can do a great deal in restoring their loyalty.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Offer a solution\"\n          }), \":\"]\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now, you\u2019ll offer them the solutions we\u2019ve thought about. For this, brainstorm with your team quickly and try to come up with the best possible solution.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [/*#__PURE__*/_jsx(\"strong\", {\n            children: \"Take the conversation to a next level\"\n          }), \":\"]\n        }), /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })\n        })]\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"After suggesting a solution, offer the customer a private call where you can discuss the issue further. This willingness to take effort from your part can impact them and they may even decide to delete the review( but, don\u2019t expect this).\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,PAZelaWQq0MTkAbWcYBF8qtZVRg.png\",\n      \"data-framer-height\": \"771\",\n      \"data-framer-width\": \"888\",\n      height: \"385\",\n      src: new URL(\"https://framerusercontent.com/images/PAZelaWQq0MTkAbWcYBF8qtZVRg.png\").href,\n      style: {\n        aspectRatio: \"888 / 771\"\n      },\n      width: \"444\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsxs(\"em\", {\n        children: [/*#__PURE__*/_jsx(\"br\", {}), \"Next time you receive a bad review, smile to yourself that you perfectly know how to deal with the negative reviews. Though it may sound absurd, laughing at negative reviews can help a lot. Remind yourself of the positives of negative reviews and respond to them carefully. While taking them lightly, bear in mind the seriousness of the issue and take special care to fix them. After all, value negative reviews as constructive criticism and take them as an opportunity to improve and grow.\"]\n      })\n    })]\n  }),\n  tcujvgbt3: \"Learn from Bad Reviews: How to Respond and Improve Your Brand\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 4,\n  wkMiN9hO7: \"Don't fear negative reviews; embrace them! Learn how to respond to bad feedback professionally, acknowledge customer concerns, and offer solutions. Explore how constructive criticism can be a catalyst for positive change, helping your business thrive.\",\n  z3RB0M3u0: \"Making positive changes with negative reviews\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/PDkr3Y1J5FMylSrmwhDLvmVvnt8.jpg\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/PDkr3Y1J5FMylSrmwhDLvmVvnt8.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/PDkr3Y1J5FMylSrmwhDLvmVvnt8.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/PDkr3Y1J5FMylSrmwhDLvmVvnt8.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/PDkr3Y1J5FMylSrmwhDLvmVvnt8.jpg\").href} 3000w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-make-a-customer-acquisition-strategy\",\n  GSA8tRVAB: true,\n  id: \"KIRZURGeB\",\n  JYmpedk6B: \"2022-02-11T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"For every small business and industrialist, winning new customers is an ongoing challenge. A robust customer acquisition plan is essential for business growth. In this blog, we will explore the importance of developing a customer acquisition strategy and highlight key areas to focus on for successful customer acquisition.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"The Power of Reviews\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \" One of the most crucial aspects of customer acquisition is garnering reviews and responding to them. Positive reviews not only influence potential customers' purchase decisions but also boost your search engine rankings. Even negative reviews can work in your favor if handled appropriately. Responding to reviews shows that you value customer feedback and builds trust.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,s1k6ixkx2q70w5zaWGQnFo2aFLI.jpg\",\n      \"data-framer-height\": \"6809\",\n      \"data-framer-width\": \"7900\",\n      height: \"3404\",\n      src: new URL(\"https://framerusercontent.com/images/s1k6ixkx2q70w5zaWGQnFo2aFLI.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 6809\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Harnessing Quora for Outreach\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Quora, the popular Q&A platform, is an excellent resource for reaching a broader audience. By providing valuable answers related to your business, you can introduce your products or services to potential customers. Additionally, attaching links to your website or blog posts can drive traffic and increase brand visibility.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Content Marketing for Success\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Creating high-quality, entertaining, and informative content is vital for customer acquisition. Regularly publishing valuable content attracts internet users and improves your chances of being discovered. Content marketing not only establishes your brand's credibility but also nurtures a community of informed customers.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"The Power of Personalized Emails\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Despite the rise of various communication channels, personalized emails remain effective for reaching potential customers. Craft tailored sales emails that showcase your understanding of the recipient's needs and position in the customer journey. Researching your recipients will enable you to make compelling and relevant offers.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Leveraging Web Chat for Engagement\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Web chat is a valuable tool for engaging with customers in real-time. Being readily available to assist potential customers from the moment they reach out enhances their experience with your brand. Web chat makes communication more convenient, leading to higher customer satisfaction.\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,MHUbCVqmjuuUedzDcv9DmBSdqc.png\",\n      \"data-framer-height\": \"1120\",\n      \"data-framer-width\": \"1923\",\n      height: \"560\",\n      src: new URL(\"https://framerusercontent.com/images/MHUbCVqmjuuUedzDcv9DmBSdqc.png\").href,\n      style: {\n        aspectRatio: \"1923 / 1120\"\n      },\n      width: \"961\"\n    }), /*#__PURE__*/_jsxs(\"h3\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Drive Growth with Referral Programs\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Referral programs can be a powerful driver of customer acquisition. By offering incentives and exclusive offers to existing customers who refer your brand to others, you create a win-win situation. Satisfied customers are motivated to share their positive experiences, bringing in new business.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A well-developed customer acquisition strategy is crucial for sustained business growth. Embrace the power of reviews, leverage Quora for outreach, invest in content marketing, utilize personalized emails and web chat, and implement effective referral programs. By focusing on these key elements, your business can successfully attract and retain customers, propelling it to new heights of success.\"\n    })]\n  }),\n  tcujvgbt3: \"Unlocking Business Growth: The Art of Customer Acquisition\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 5,\n  wkMiN9hO7: \" Create a robust customer acquisition plan to propel your business towards prosperity. Learn the importance of reviews, Quora outreach, content marketing, personalized emails, and referral programs in winning new customers and fostering growth.\",\n  z3RB0M3u0: \"Making a customer acquisition strategy: how to get started \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/Qmi2XqVG8SuXptYmGmJyvKD9iEA.jpg\").href} 5000w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-use-customer-experience-to-grow-business\",\n  GSA8tRVAB: true,\n  id: \"M6TGs7aD1\",\n  JYmpedk6B: \"2022-02-11T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"What is customer experience? Why is it important? How to improve the digital experience of customers? All your questions answered.\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customer behavior and expectations have transformed greatly during these couple of years. As the pandemic also changed the trends considerably, more focus must be given to enhancing digital experience. Customer experience includes all the interactions you have with a customer including customer services. It\u2019s the overall experience a customer has communicating with you in all the stages of their buyer journey.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,DdmilgZcqS2dQtBYvM0OELGtcQ8.jpg\",\n      \"data-framer-height\": \"3337\",\n      \"data-framer-width\": \"5000\",\n      height: \"1668\",\n      src: new URL(\"https://framerusercontent.com/images/DdmilgZcqS2dQtBYvM0OELGtcQ8.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5000 / 3337\"\n      },\n      width: \"2500\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You have to remember that each\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" conversation with the customer \"\n        })\n      }), \"is important as it directly influences your revenue, reputation and much more. We\u2019re not talking about just the purchase decision of a particular customer, but about \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/learn-customer-retention-metrics \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"retaining customers\"\n        })\n      }), \" and creating loyal, repeated customers by building a long lasting relationship with them. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer experience\"\n        })\n      }), \" (CX) decides the outlook of your business and attracts much more customers to your brand. Yes, you\u2019ve quality products and services. But, that\u2019s not all. To stand out from the crowd, you need more than that. You need to interact with your customers and create lasting impact on them. You need to stay ahead of the competitors by connecting and reaching out to your strongest powerhouse, customers. So, why not read an article to see how and why to do that?\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Personalization is the key\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"If you sound like someone who talks to a bunch of strangers in a cold, dull way, do you think anyone would be willing to talk to you? Addressing the person we\u2019re talking to is the first thing you\u2019ve to do in 1:1 conversation. Customers must feel that they\u2019re validated and acknowledged and you\u2019ve to connect to them individually in their terms and comforts.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Personalizing your client interactions is about treating your clients with special attention by offering them unique client experiences. The customers of this new era prefer tailor-made experiences that suit them. In other words, customers value this buyer experience even over the price.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"What you\u2019ve to do is to collect their personal information (of course, from those who are willing to) to deliver as much personal experience as possible. Understanding your target audience better will come to help you here. Create \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://blog.hubspot.com/marketing/buyer-persona-research \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"buyer personas\"\n        })\n      }), \" that fit your target audience and design your interactions based on them. You can also exchange e-books, email courses or other exclusive content to collect personal information. By crafting emails and other conversations based on the customer, you can connect with them effortlessly. Design these tailor made content by segmenting your target audience. Based on their personal interests, fill it with advantages and offers that make them feel that it\u2019s made just for them. Whatever you\u2019re saying, it must be relatable to them and relevant to their personal interests and/or position.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Next thing to consider is the point of their customer journey. You\u2019ve to decide your approach based on which point of the buyer journey they\u2019re at. You can even advance your interactions by recommending them contents and products that suit their interests. Your goal is to create a wholesome experience for your customers to make them come back.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Deliver excellent customer service\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(Link, {\n        href: \"https://www.forbes.com/sites/shephyken/2017/04/01/are-you-part-of-the-62-billion-loss-due-to-poor-customer-service/?sh=5d8318387e5f \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Customer service\"\n        })\n      }), \" is the core of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://bondai.co/blog/10-unique-customer-experience-examples-best-practices-boost-brand/ \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer experience.\"\n        })\n      }), \" Delivering timely and quality service must always be your top priority. As our technology is so advanced that we expect everything to be instantaneous, your response also has to be so. Customer support is not something you offer only when there\u2019s a problem with your product, but it\u2019s a significant factor right from the beginning. You\u2019ve to answer their queries and communicate with them throughout the buyer\u2019s journey. Most importantly, you must respond as quickly as possible. Keeping track of all those conversations and replying to them on time may seem like a Himalayan task to you right now. But, it\u2019s so much easier with a customer interaction management tool like Cloodot.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Post-purchase services you offer give way to an increased number of loyal customers as it shows the value you give to them. Even though the purchase is done and you\u2019ve got the money, it\u2019s not the end. You\u2019ve to be there for them to provide support when they need it. Addressing grievances of customers is also an important part of customer service. You have to be reliable and responsible so that customers can have confidence in you. In short, a responsible customer support team- that\u2019s\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That doesn\u2019t mean you\u2019ve to peel your eyes off staring at the screen 24 hours a day. Automatic messaging can answer your customers instantaneously. A chatbot too can be of great help to you. With the help of artificial intelligence, you can ensure that the customer\u2019s concerns are addressed for the time being. It gives immediate attention to every customer, providing useful information to them. Ofcourse, you can\u2019t leave everything to it as conversations like these require human intelligence. Whatever service you offer, make sure that you communicate in a direct, empathetic manner.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer satisfaction must be your top priority as a business. Real-time, instantaneous communication is what\u2019s most important when it comes to customer satisfaction. This \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-a-centralized-inbox-help-you-to-manage-customer-interaction \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"one-to-one interaction \"\n        })\n      }), \"can enhance the customer experience.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Creating a seamless, omnichannel experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"To adapt to the changing expectations and needs of the customer, you\u2019ve to switch to a frictionless, omnichannel experience. Personalised, automated and instantaneous communication meets the expectations of the customers looking for personal attention and support. Automated messaging based on frequently asked questions can help you greatly to interact with them real-time. Plus, one-to-one personalized communication boosts their confidence and adds to the best customer experience you provide.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Be there in every possible avenue of interaction, available anytime. From social media sites to exclusive review sites of your particular product or service, you have to make sure customers can reach out to you anywhere. Social media offers a comfortable and personalized space to interact freely while review sites and others provide user generated content which can appeal directly to your potential customers. You can get in touch with them through these multiple channels of communication from webchat to text messages. These infinite possibilities help you to provide high attention buying experience right where they spend most of their time- their mobile phones. In these times- as the pandemic made us spend more time at our homes- they can feel more at ease to interact with you during their customer journey while sitting within the comforts of their homes. This is the time when we realized that customer experience is not only about the physical experience of shopping for something. But it\u2019s also about the digital experience and much greater possibilities that it opens.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How Cloodot can help you to create top-notch customer experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"The difference between the ordinary businesses and the remarkable ones lies in the quality of customer services that they provide. Customer experience thus plays a greater role in creating success stories. That\u2019s why offering a delightful and unique experience counts as a trump card of any business. It\u2019s your chance to increase reputation, create lasting relationships and attract many more customers. What\u2019s more- this will help you to stay ahead of your competitors.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Today, it is a must for businesses to pay more attention to customer experience. By making use of a variety of platforms, you can cater to the needs of customers effectively. But, this can be quite exhausting to manage, as you\u2019ve to take care of many other issues at the same time too. If you\u2019re looking for something to do this with ease, Cloodot will come in handy. Cloodot is a customer experience management software which offers CX tools to create an omnichannel experience. The multi-channel inbox brings all conversations and reviews to a single platform. Read on to learn more about how we can help you create a seamless experience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Engage with customers easily and effectively\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot creates a seamless omnichannel experience by bringing conversations and reviews from multiple social media platforms and sites to one centralized inbox. By providing tools to facilitate a personalized one-to-one interaction, Cloodot helps you to interact with customers in a meaningful way. By centralizing all these interactions, it becomes easier for your employees and customers to engage conveniently. Since your employees don\u2019t have to spend long hours switching between platforms, they can save time and effort considerably. The mobile app can help you to handle the interactions no matter where you are. Interacting with your customers in platforms like Facebook, Google My Business and text messaging can be made effortless with just one app.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,9dMJNnczdvqkzkEMBNVnnlTSYM.jpg\",\n      \"data-framer-height\": \"5256\",\n      \"data-framer-width\": \"7900\",\n      height: \"2628\",\n      src: new URL(\"https://framerusercontent.com/images/9dMJNnczdvqkzkEMBNVnnlTSYM.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"7900 / 5256\"\n      },\n      width: \"3950\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Communicate and collaborate with your team\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s hard for everyone on your team to stay on the same page if interactions are not centralized. Cloodot provides a space for you to communicate among yourselves to stay updated. Assigning conversations and interactions to a particular person in your team can help you to handle each engagement with special attention and care. With Cloodot, you can see the whole picture by referring to the context of each communication. The history and context of these conversations can help you to analyze the interaction and communicate further updates through custom notes. These custom notes can also be a great relief to customers as they don\u2019t have to repeat the same information again and again. By bringing all your team members together to a centralized platform, you can collaborate in a better way and work as a team to deliver top-notch customer experience.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Redefine review collection and make use of real-time feedback\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Cloodot makes it easy to\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/reviews \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" collect reviews\"\n        })\n      }), \" with pre-prepared templates just in the right time. It makes it easier for your customers to leave a review at their convenience. Plus, it\u2019s also about real-time feedback which can give you business insights. Creating personalized templates prompting customers to share their feedback and experience is a lot easier with Cloodot. Analyzing their responses, you can make changes in your approach and ultimately, improve the overall experience. There\u2019s no one who can tell you how to achieve excellent customer experience other than your customers themselves. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/feedbacksandsurveys \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Real-time feedback\"\n        })\n      }), \" gives you immediate signals to change or improve your strategies of interaction. Within a short time, you can take actions necessary to mend mistakes, without causing much damage.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Gj5Pq3zXxPvU4e9qzJuukwtg54.jpg\",\n      \"data-framer-height\": \"3587\",\n      \"data-framer-width\": \"5000\",\n      height: \"1793\",\n      src: new URL(\"https://framerusercontent.com/images/Gj5Pq3zXxPvU4e9qzJuukwtg54.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"5000 / 3587\"\n      },\n      width: \"2500\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Monitor performance using analytics\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Using the detailed data provided by \", /*#__PURE__*/_jsx(Link, {\n        href: \"CLOODOT.COM\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \", you can easily analyse the trends in customer behaviour and responses. This can also help you to fix issues in your engagement and thus improving the performance. Self-evaluation is the best way to grow and it\u2019s true in businesses too. With the in-depth report of your performance and visualized data, you can form insights to help you in taking meaningful actions. Customer experience is a journey. It has to be carried out by mending mistakes and making yourself better. Along with this, the tool provides you the system to monitor the performance of your employees and thus making them better in delivering excellent customer support. So, it\u2019s about recognizing the issues the customers are facing and taking actions immediately.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"It\u2019s your turn\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"em\", {\n        children: \"Want to redefine your customer experience? Get started with \"\n      }), /*#__PURE__*/_jsx(Link, {\n        href: \"CLOODOT.COM\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"em\", {\n            children: \"Cloodot\"\n          })\n        })\n      }), /*#__PURE__*/_jsx(\"em\", {\n        children: \" today.\"\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    })]\n  }),\n  tcujvgbt3: \"Customer Experience Revolution: Embracing Omnichannel Strategies for Success\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 6,\n  wkMiN9hO7: \"Discover the key strategies to enhance your customer experience and build strong relationships with personalized interactions. Learn how to leverage Cloodot's CX management tools to create a seamless omnichannel experience, collect real-time feedback, and monitor performance to stay ahead of competitors. Elevate your digital customer interactions and unlock the full potential of your business.\",\n  z3RB0M3u0: \"Focus on Customer Experience to Grow Your Business \"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/NDvN3naf4T3ZA0kXSxZk5PyQDI4.jpg\").href} 5760w`\n  }, \"\"),\n  B7LIlf4Jc: \"how-to-create-customer-interaction-strategy-for-automotive-business\",\n  GSA8tRVAB: true,\n  id: \"CMTjGACr1\",\n  JYmpedk6B: \"2021-09-12T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"\u201CThe more you engage with the customers, the clearer things become and the easier it is to determine what you should to be doing\u201D\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"em\", {\n        children: \"John Russel, President of Harley Davidson\"\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Do you know what\u2019s your biggest strength as a business owner? Don\u2019t think twice before you say it\u2019s your customers. Especially, an automotive dealer must be well aware of the importance of retaining the customers to keep moving. Every leading automotive business firm may tell you the same- about how their loyal customers made them successful. The trick is making your customers come back to you over and over again. But, what makes them come back like that? The answer lies in how you interact with your customers.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"A customer engagement strategy sets you apart from your competitors. Customers value their overall experience. Your success depends upon the quality of your customer interaction, more than the quality of your automobile product or service. It is an important factor that influences the purchasing decision of customers. Given that, how to approach \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/how-a-centralized-inbox-help-you-to-manage-customer-interaction\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"customer interaction\"\n        })\n      }), \" is what troubles most of the automotive industries, as well as other brands.\"]\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Customer interaction vs Customer experience\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You may have a question here- Is customer engagement the same as customer experience? Yes and no. They are not entirely the same, but customer engagement- among other things- contribute greatly to the customer experience as a whole. Simply putting, how well you communicate with them is going to decide whether you win the purchase or not. Yes, it\u2019s about the money. But at the same time, it\u2019s also about the happiness and satisfaction of your customers. Businesses having a strong customer engagement strategy are more likely to attract more customers. Let\u2019s see how we can crack this.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"What\u2019s it all about?\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"What is customer interaction? Basically, it is continuously communicating with customers through multiple channels. Customer engagement is essential in building a better relationship with customers.In most of the cases, it begins earlier in the customer journey, from the moment one person considers buying a product. It sometimes extends beyond the purchase, deepening the relationship and making them repeated customers. Your potential consumers may be reading the content you\u2019ve published, or messaging you through social media. Whatever the instance is, connecting to them and instantaneously interacting is what counts as your merit. Customers who have engaged with you continuously will come back to you for sure. The aim of consumer interaction is to create long lasting relationships with loyal customers who recommend and promote you more.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Why it matters\\xa0\"\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,ApspoYhwgDoidlMxJmGR6KCn84.png\",\n      \"data-framer-height\": \"630\",\n      \"data-framer-width\": \"1200\",\n      height: \"315\",\n      src: new URL(\"https://framerusercontent.com/images/ApspoYhwgDoidlMxJmGR6KCn84.png\").href,\n      style: {\n        aspectRatio: \"1200 / 630\"\n      },\n      width: \"600\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"No matter which business you own, how you interact with your customers matters. It acts as a force not only to win new customers, but also to retain existing ones. You know the story doesn\u2019t end once you secure an automotive deal. The hardest challenge that can come your way as an automotive industry may be retaining customers. The quality of the automobile or other service is one thing; Along with that, building a strong relationship with customers makes them choose you again. Let\u2019s see why it must be your top priority to create a seamless omnichannel experience. The advantages are many as follows:\"]\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"It\u2019s about creating a deep and long lasting relationship with your customers, even after purchase\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Engaging with customers conveys the value you affix to them\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"It influences purchase decisions\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Provides you with feedback and insight to make yourself better\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Building good reputation- increasing credibility and trust of your brand\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Providing customers with updated information and useful details about your business\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Makes your business customer centric\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Providing unique customer experience\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Earning customer loyalty - loyal customers are your unpaid brand ambassedors. They advertise your product or service and recommend them to others.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Winning more customers\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Increasing revenue- Researches say that upto two-thirds of a company\u2019s profit relies upon customer engagement. Customer engagement is the no.1 factor influencing customers to purchase a product or service. Improving your customer interaction thus leads to increasing your profit.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Increasing customer \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.doxee.com/blog/customer-experience/customer-retention-automotive-industry/ \",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"retention rates\"\n            })\n          })]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Staying ahead of competitors\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Avoid losing customers\"\n        })\n      })]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Towards a customer engagement strategy\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Understand your customers- Who are your customers? What are their interests and expectations? To design a customer engagement strategy, you\u2019ve to know your customers. This can help you to create a target customer profile and implement strategies to communicate effectively. Regular interaction with your customers can tell you more about what they want and expect. Personalised channels can set you and them at ease to communicate problems and possible solutions. That\u2019s why seamless interaction facilitated by tools like Cloodot can change the face of your business.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Track customer journey- \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.idc.com/getdoc.jsp?containerId=IDC_P38398 \",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"according to IDC\"\n            })\n          }), \", \u201C the buyer journey is nothing more than a series of questions that must be answered\u201D. Knowing in which stage of the journey they are can help you in determining your approach. Converting customers takes a great deal of attention and it\u2019s important to know their status as a customer. Also, ask yourself what made them choose you. Pay attention to how they connected with you and how they came to know about you.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Collaborate with your team- you\u2019re not doing this alone. All the team members need to be on the same page to deliver excellent customer support. Proper communication between the team members is crucial to avoid confusions. Moreover, isn\u2019t it better to have a lot more different ideas and perspectives?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Making use of social media- In a time when there are literally a few people who don\u2019t use social media, sites like Facebook, Instagram and LinkedIn can be used to reach out to your target audience. They offer infinite possibilities from making interesting and informative content to \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.activengage.com/automotive-social-media-marketing/\",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"interacting in real-time\"\n            })\n          }), \". These engagements make you updated about their changing expectations, trends and needs.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"First impression- yes, it decides whether the customer stays with you or not. From designing your website in a way that attracts them to the real-time interaction, you\u2019ve to focus on capturing their attention and keep it going. Tools like Cloodot help businesses to make first impression count.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Be there on multiple platforms- To reach out to customers anytime and anywhere, you\u2019ve to be there on every social media site and other platforms. As an automotive dealer, it\u2019s also important to be present in the popular car review sites. Now, there are infinite possibilities to connect to customers and you\u2019ve to make the most of it. Also, centralise your customer interactions from these different sites by making use of software like Cloodot.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Observe customer behaviour- to understand what they need from you, you\u2019ve to examine their behaviour through real-time interaction. Analytics provided by Cloodot can help you to evaluate your own performance and make positive changes.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Be updated- a little bit about timely changes- by analysing your performance from time to time, you\u2019ve to fix where you\u2019d gone wrong before. As everything is constantly updated, you also have to run along.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Offer personalized experience- In these times when everyone gets everything tailor made for their interests, you\u2019ve to offer a unique experience to fit your customer.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Feedback and followup- your job is not completely over when the service is done or product is purchased. Customer feedback is a valuable asset to you. \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/why-do-car-review-sites-matter \",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"Collect reviews\"\n            })\n          }), \" and ratings of their experience. They\u2019ll help you to figure out what works and what does not. Not only that, engage with them to follow up and address the issues they are facing. Yes, they have to be confident that you won\u2019t abandon them once your pockets are filled. In the long run, the relationships you make will be of great use to you.\"]\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Improve your customer service-\\xa0you need strong customer service to back you up. Think about a pleasant and personalised support system where customers can effortlessly raise their problems and you can discuss whatever you can do to solve them. If they see you as friendly and warm, the chances to win their hearts and wallet are higher. You can do this without losing your professionalism. Take care of your customers and their needs and the rest is assured. You don\u2019t even have to exhaust yourself with that if you\u2019ve partnered up with Cloodot. Want to learn more?\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Increasing your online visibility - No matter what kind of business you own, increasing your online visibility must be your first priority to win more customers. If you\u2019re an automobile dealer, make sure that you\u2019re there in popular third party review sites such as CarFax, Cars.com, Edmunds etc. according to the 2016 Car Buyer Journey survey, 78% of the people shopping for cars use third-party sites and spend 60% of their time using these websites or apps to research during their car buying process.\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Claim your business and update relevant information\\xa0- Creating an account on Google My Business and verifying your business is important for every business. Make sure that the information on your Google My Business profile is up-to-date and accurate. This way, customers looking for your product/service can easily locate you and get in touch with you. Besides, a claimed business account is going to get you more customers ( check out our blog on how and why to verify your Google My Business profile to learn more.) - it\u2019s always better to have such an account in every important platform, whether it is Facebook or Google My Business. Publishing relevant information is especially important in these times of the pandemic. It also helps you to establish your authenticity. It\u2019s quite natural that the customers tend to choose businesses which have the most ratings, reviews and authentic information. Plus, you have to be present in as many websites as possible to make it convenient for your customers to connect to you in the platform of their choice.\"\n        })\n      }), /*#__PURE__*/_jsxs(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: [/*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Collect more reviews and respond to them - Now, about the review part. The number of reviews you have and how frequently you get them is crucial when it comes to search engines like Google. It\u2019s not only about collecting reviews, it\u2019s about responding to them promptly. They stand as the proof of your credibility and authenticity. Want to know more about \", /*#__PURE__*/_jsx(Link, {\n            href: \"https://www.cloodot.com/blog/reviews-to-grow-business \",\n            openInNewTab: true,\n            smoothScroll: false,\n            children: /*#__PURE__*/_jsx(\"a\", {\n              children: \"how reviews can help you to grow your business\"\n            })\n          }), \"? Check out our article here.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        }), /*#__PURE__*/_jsx(\"img\", {\n          alt: \"\",\n          className: \"framer-image\",\n          \"data-framer-asset\": \"data:framer/asset-reference,smhCDzCm2xhXmUSKagSByY49JE.jpg\",\n          \"data-framer-height\": \"5266\",\n          \"data-framer-width\": \"7900\",\n          height: \"2633\",\n          src: new URL(\"https://framerusercontent.com/images/smhCDzCm2xhXmUSKagSByY49JE.jpg?scale-down-to=4096\").href,\n          style: {\n            aspectRatio: \"7900 / 5266\"\n          },\n          width: \"3950\"\n        })]\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Customer engagement cannot be transformed in a day. It takes time and effort to develop and implement customer engagement strategies and solutions. It\u2019s a journey rather than a destination and you\u2019ve to go forward by perfecting your approaches and strategies. With greater focus on customer engagement, you can increase your \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies \",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"reputation\"\n        })\n      }), \" and create lasting impact on your customers. Cloodot can help you a lot in this journey by creating an omnichannel interaction platform. Check out our \", /*#__PURE__*/_jsx(Link, {\n        href: \"Cloodot.com\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"website\"\n        })\n      }), \" to learn more and get started today.\"]\n    })]\n  }),\n  tcujvgbt3: \"The Importance of Customer Interaction and Engagement in the Automotive Industry\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 3,\n  wkMiN9hO7: \"Discover why customer interaction and engagement are crucial for success in the automotive industry. Learn how to develop a customer engagement strategy, build relationships, increase loyalty, and stay ahead of competitors with effective customer interaction.\\n\\n\\n\\n\\n\",\n  z3RB0M3u0: \"Create a Customer Engagement Strategy for Automotive Business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/foOQ0aB99BAe6v8avNP7KR8vQEs.jpg\").href} 6000w`\n  }, \"\"),\n  B7LIlf4Jc: \"reviews-to-grow-business\",\n  GSA8tRVAB: true,\n  id: \"U14rFBr2E\",\n  JYmpedk6B: \"2021-09-07T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Reviews are the most important ingredient for the success of your business -you may have heard this statement in many shapes and sizes. And yes, you already know the importance of online reviews and how they are going to help you. But, did anybody tell you how exactly reviews are going to help you in growing your business? If not, this article is for you. From influencing customer\u2019s decisions to ranking on top of search results, we\u2019re going to list the perks of getting more reviews. Wait, there\u2019s more- we will also tell you the best way to manage online reviews on your road to success. Here we go:\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,Ten11GlzxlPVBL0huFbWPkHYvA.jpg\",\n      \"data-framer-height\": \"4000\",\n      \"data-framer-width\": \"6000\",\n      height: \"2000\",\n      src: new URL(\"https://framerusercontent.com/images/Ten11GlzxlPVBL0huFbWPkHYvA.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"6000 / 4000\"\n      },\n      width: \"3000\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: \"Why are reviews important\"\n    }), /*#__PURE__*/_jsx(\"h4\", {\n      children: \"Let\u2019s see why reviews are important. Here are a few benefits of online reviews:\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A great form of advertisement \u2013 The first thing first- good customer reviews are going to be the best advertisement you can have. What will attract a person considering your product or service than other people applauding your brand? More customer ratings and reviews you\u2019ve got, more people will start to flow to your business. It's mass psychology that\u2019s at work here, as people are more interested in using the \u2018popular\u2019 product or service. As more people find that you\u2019re the favourite of many, they naturally prefer you to your competitors and as you guessed it, your business will automatically grow.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Influence customer\u2019s decision: the key to convert \"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"You know for sure that customers will go through all your reviews before making a choice. For a confused person, positive reviews offer assurance that they\u2019re making the right choice. Besides, customers are more likely to believe what others who bought the product have to say than what you have to say. Even if there are negative reviews, your commitment and responsibility will be properly highlighted by replying to them in the right way. Need to know more about making use of negative reviews? Check out our article on turning negative reviews to your merit here.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Get on top of search results\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Google ranks your business based on the credibility and authenticity of your business. How many customer reviews you get and how often you get them are crucial when it comes to evaluating your authenticity. It goes without saying that getting on top of search results increases your online visibility and thereby attracts more customers.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Get to know if your customers are satisfied\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Online customer reviews tell you a lot about how your customers are feeling about your product or service. It\u2019s a great way to understand customer satisfaction and disappointments. Negative reviews offer a chance to recognize our shortcomings and can be used as fuel for improvement and growth. Knowing our customers is inevitable while running a business. Online product review not only gives you feedback on the product, but also helps you to evaluate your customer support. Plus, a heartfelt review of a customer can light up your day. You\u2019ve to learn to deal with the negative reviews along the way too.\"\n    }), /*#__PURE__*/_jsx(\"ul\", {\n      children: /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Evaluate your own performance (your team\u2019s too)\"\n          })\n        })\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"You know how crucial self-evaluation is, especially when it\u2019s about business. By evaluating online customer ratings and reviews, you\u2019ll get a picture of yourself and how you can get better. Performance analysis plays a major role in making better decisions. Successful brands use tools like Cloodot to access visualized analysis of performance based on online interactions. Cloodot also offers a detailed report of your performance sent out to you. Negative reviews are also part of this game you have to make \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/positive-changes-with-negative-reviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"negative review in to positive\"\n        })\n      }), \" one, your response matters.\"]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"How to get more reviews?\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"That\u2019s all about how best reviews are for your business. Now, it's time for the \u2018how\u2019 question.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Now that you actually appreciate the importance of reviews, the next question is about the best way to make use of online reviews. Managing online reviews include:\"\n    }), /*#__PURE__*/_jsxs(\"ul\", {\n      children: [/*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Request reviews in a convenient way\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Share the reviews through social media\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Engaging with every single review\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Create a space to leave a review across platforms\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Responding to them promptly\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsx(\"p\", {\n          children: \"Identifying your shortcomings and making improvements\"\n        })\n      }), /*#__PURE__*/_jsx(\"li\", {\n        \"data-preset-tag\": \"p\",\n        children: /*#__PURE__*/_jsxs(\"p\", {\n          children: [\"Evaluating performance\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n            className: \"trailing-break\"\n          })]\n        })\n      })]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Read our article on\", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/blog/best-reputation-management-strategies\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \" Best Reputation Management Strategies for Small Businesses\"\n        })\n      }), \" for growing Your Business with Reviews\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Managing reviews across multiple platforms can be both tricky and tiresome. Cloodot makes asking for reviews, collecting them, and responding much easier. With an all-in-one inbox suite like Cloodot, you can find your reviews on multiple channels in one inbox. You can thus navigate through them and respond to them with convenience. Forget about the time-consuming online review collection and say hello to super-easy, single-click review requests. By keeping track of every message and review across platforms, your team can develop an excellent customer support system. Reviews are your stepping stones in creating a good online reputation. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Cloodot\"\n        })\n      }), \" is here to help you make your journey to a good reputation much smoother and effortless. Start with us today.\"]\n    })]\n  }),\n  tcujvgbt3: \"The Power of Online Reviews: How They Drive Business Growth and Success\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 1,\n  wkMiN9hO7: \"Discover the importance of online reviews for your business and how they contribute to growth. From influencing customer decisions to ranking higher in search results, learn the perks of obtaining more reviews. Explore effective review management strategies and discover how Cloodot simplifies the process, helping you build a strong online reputation effortlessly.\",\n  z3RB0M3u0: \"Online reviews for growing your business\"\n}, {\n  aIoYRrDY3: addImageAlt({\n    src: new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg?scale-down-to=4096\").href,\n    srcSet: `${new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg?scale-down-to=2048\").href} 2048w, ${new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg?scale-down-to=4096\").href} 4096w, ${new URL(\"https://framerusercontent.com/images/byN9i9DeoRSEo9JsirvIZkfRQkM.jpg\").href} 5931w`\n  }, \"\"),\n  B7LIlf4Jc: \"covid-19-and-customer-interaction-management\",\n  GSA8tRVAB: true,\n  id: \"UOK4TP16I\",\n  JYmpedk6B: \"2021-09-07T00:00:00.000Z\",\n  sxKbFnF9f: /*#__PURE__*/_jsxs(React.Fragment, {\n    children: [/*#__PURE__*/_jsx(\"p\", {\n      children: \"Covid-19 brought so many things with it- like lockdowns, regulations, and shutdowns. Along with the far-reaching changes that altered our day-to-day lives, the pandemic has affected the purchasing decisions of customers too. These changes in consumer behavior and decisions can be challenging to business owners and industrialists.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"As we all try to find balance in this new normal, it\u2019s important to adapt and switch to a better customer strategy. We know how the pandemic has hit the business stores and purchase rate. We have seen how the definition of \u2018online\u2019 expanded as all of us were forced to stay indoors. So, online presence is inevitable for every business, now more than ever.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"What does \u2018online presence\u2019 mean to your business?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Well, the first thing that came to your mind may be a website for your business. That\u2019s a basic requirement for every business. Unfortunately, many business owners don\u2019t even have a proper website when customers today expect a lot more than a website. To keep your head above water, it\u2019s crucial to have a properly functioning website and a regularly updated presence on other channels of \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/products/conversations\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"communication\"\n        })\n      }), \".\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Customers want the businesses to be available on multiple platforms according to their choice. Defining your \u2018online presence\u2019 depends on the type of your business and the nature of your customers. It\u2019s not about just having a social media account or a website. It\u2019s about actively engaging with customers and regularly updating your content and strategies to meet the expectations of your customers.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"It can seem like a Himalayan task to you, but tools like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Cloodot\"\n          })\n        })\n      }), \" are here to help you with your customer interaction and reputation management. So, worry less and start making a change.\"]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,9AGtPzYgeF0mCf4Hr9g9shaB7Q.jpg\",\n      \"data-framer-height\": \"3000\",\n      \"data-framer-width\": \"4000\",\n      height: \"1500\",\n      src: new URL(\"https://framerusercontent.com/images/9AGtPzYgeF0mCf4Hr9g9shaB7Q.jpg\").href,\n      style: {\n        aspectRatio: \"4000 / 3000\"\n      },\n      width: \"2000\"\n    }), /*#__PURE__*/_jsxs(\"h2\", {\n      children: [/*#__PURE__*/_jsx(\"br\", {}), \"Updating your status\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"We can go on and on about how uncertain our present situation is. We can\u2019t be sure about anything at all. This uncertainty has influenced the customer values and decisions as well. Imagine a person who drives up all the way to find a shop that is closed or someone unsure about whether the business is currently offering delivery services. Amidst all this chaos and confusion, isn\u2019t it our responsibility to provide updated information about our status?\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Knowing that we no longer provide a certain service or that we have switched to another way to abide by the regulations will help the customers a lot when they consider buying a product or service. The best thing you can do is to update your status on platforms like \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/channels/googlemybusinessreviews\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: \"Google My Business\"\n        })\n      }), \" so that the customers won\u2019t have trouble finding it.\", /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {}), /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })]\n    }), /*#__PURE__*/_jsx(\"img\", {\n      alt: \"\",\n      className: \"framer-image\",\n      \"data-framer-asset\": \"data:framer/asset-reference,MF3RGs8PE2avfVaSB8kYE6VuMI.jpg\",\n      \"data-framer-height\": \"3538\",\n      \"data-framer-width\": \"4160\",\n      height: \"1769\",\n      src: new URL(\"https://framerusercontent.com/images/MF3RGs8PE2avfVaSB8kYE6VuMI.jpg?scale-down-to=4096\").href,\n      style: {\n        aspectRatio: \"4160 / 3538\"\n      },\n      width: \"2080\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"This is not only to increase your reputation but also to help a confused customer. Providing your details, contact information, and status will increase your authenticity and reliability for sure. Rather than feeding to the uncertainty, choose to update exact information on the available customer services at a particular time.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Connecting to customers\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In this era of digital transformation, competition has acquired a different shape and it\u2019s hard to stay on top if you\u2019re not aware of what customers need. That\u2019s where connecting to customers comes into the picture. We already talked about the importance of an active online presence for a business to thrive in these times. You need a multi-channel presence to reach out to your customers anytime.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"In other words, you must be easily available to your customers at whatever time, channel, or device they may choose. You will have to reply to their queries and address their grievances on time. It\u2019s also about nurturing leads and providing an excellent customer support system. If you stay in touch with your customers and understand their needs and expectations, it will be a lot easier for you to make positive changes in your business. Well, you don\u2019t have to think hard to know that this is not an easy task.\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Still, you can\u2019t discard this based on the time and effort you need to put in. Connecting to your customers across multiple platforms is worth it. Plus, you can always ease yourself with the help of an all-in-one customer interaction suite like \", /*#__PURE__*/_jsx(\"strong\", {\n        children: \"Cloodot.\"\n      })]\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Time matters\\xa0\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"We just send a \u2018hello\u2019 to a friend who is miles away from us and we hear back from them in seconds. We are all surrounded by instant messaging and it\u2019s all a matter of seconds to us. Customers also expect timely responses from businesses when they place an order or just ask a question. If you take a longer time to respond to them, they may choose your competitor over you. To stop this from happening, you need to be alert and must assure that you\u2019re updated.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"A timely response is an important factor in customer satisfaction. If a customer is unhappy with your product or service, addressing their concerns as fast as possible helps you in mitigating the damage. It may even result in regaining the confidence of the unhappy customer. All these considered, the customer must feel that their concerns are addressed appropriately in much less time.\"\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Time matters most when you ask for a review for it is most likely for a customer to leave a review before they leave your premises when the experience is still on top of their head.\"\n    }), /*#__PURE__*/_jsx(\"h2\", {\n      children: \"Building an overall customer experience\\xa0\"\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Do you know what brings a company to the top even if the products or services they offer are similar to many of their competitors? It\u2019s the \", /*#__PURE__*/_jsx(Link, {\n        href: \" https://www.cloodot.com/blog/customer-experience-marketing-to-get-more-customers\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"customer experience\"\n          })\n        })\n      }), \". Customers today prefer a personalized and wholesome experience. That\u2019s why how your business treats customers becomes crucial to your growth. You have to present a seamless customer experience that expands to multiple platforms.\"]\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"We saw why you have to adapt to a multi-channel setup in this digital era. However, the effort you\u2019ve put in to create such a world-class experience might be pushing you back. But what if you can find all of these conversations in one place so that you don\u2019t have to jump from a channel to another? \", /*#__PURE__*/_jsx(Link, {\n        openInNewTab: false,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Cloodot\"\n          })\n        })\n      }), \" offers you such an all-in-one inbox with so many tools to help you in responding to your customers on time. This way, you won\u2019t miss any messages or reviews from your customers and your team can collaborate to create a better customer experience.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"Switching to a better customer management tool enables you to stay on top by redesigning your customer experience. Most successful brands have already partnered up with customer interaction management software to fit the changing standards.\"\n    }), /*#__PURE__*/_jsx(\"h3\", {\n      children: /*#__PURE__*/_jsx(\"br\", {\n        className: \"trailing-break\"\n      })\n    }), /*#__PURE__*/_jsxs(\"p\", {\n      children: [\"Covid-19 has permanently changed our market and economic condition. We know how hard it is to sustain your business at such difficult times, but there\u2019s no use in blaming the situations that we\u2019re in. That\u2019s why we have to take action to adapt to the new normal and to keep going. \", /*#__PURE__*/_jsx(Link, {\n        href: \"https://www.cloodot.com/\",\n        openInNewTab: true,\n        smoothScroll: false,\n        children: /*#__PURE__*/_jsx(\"a\", {\n          children: /*#__PURE__*/_jsx(\"strong\", {\n            children: \"Customer interaction\"\n          })\n        })\n      }), \" must be in the center for our business to stand upright. How your business engages digitally with the customers is going to determine the growth of your firm. The business firms, which adapted to the newer technologies and tools, are less affected by the pandemic than others are. All you\u2019ve to do is to focus on your customers above everything and to take steps towards better customer interaction management.\"]\n    }), /*#__PURE__*/_jsx(\"p\", {\n      children: \"More resources should be devoted to nourishing your relationships and increasing customer satisfaction. You\u2019ve to maintain constant communication with your customers to thrive in these times. By implementing changes according to the altered situations, you can stay ahead of the game. Offering a unique customer experience starting right when someone visits your website to the completion of the purchase is going to get you more customers. That\u2019s how you stay as their no.1 choice, despite the situations. The pandemic has shown us, among other things, the importance of staying connected and updated.\"\n    })]\n  }),\n  tcujvgbt3: \"Adapting to the New Normal: Enhancing Customer Interaction Strategy for Success\\n\\n\",\n  tnSC8si1b: \"k_wBJp4N9\",\n  tz3i_bnPC: false,\n  vT9gt4LK2: 2,\n  wkMiN9hO7: \"Explore the importance of adapting to the new normal by implementing a robust customer interaction strategy. Learn how to leverage online presence, update your status, connect with customers, prioritize timely responses, and build an exceptional customer experience. Discover the benefits of utilizing tools like Cloodot to navigate the evolving business landscape and thrive in these challenging time\",\n  z3RB0M3u0: \"Coping with the new normal!\"\n}];\nfor (const item of data) {\n  Object.freeze(item);\n}\naddPropertyControls(data, {\n  vT9gt4LK2: {\n    defaultValue: 0,\n    displayStepper: true,\n    title: \"Id\",\n    type: ControlType.Number\n  },\n  GSA8tRVAB: {\n    defaultValue: true,\n    title: \"Published\",\n    type: ControlType.Boolean\n  },\n  z3RB0M3u0: {\n    defaultValue: \"\",\n    title: \"Title\",\n    type: ControlType.String\n  },\n  B7LIlf4Jc: {\n    title: \"Slug\",\n    type: ControlType.String\n  },\n  JYmpedk6B: {\n    defaultValue: \"\",\n    title: \"Date\",\n    type: ControlType.Date\n  },\n  aIoYRrDY3: {\n    title: \"Image\",\n    type: ControlType.ResponsiveImage\n  },\n  tz3i_bnPC: {\n    defaultValue: false,\n    title: \"Featured\",\n    type: ControlType.Boolean\n  },\n  tcujvgbt3: {\n    defaultValue: \"\",\n    displayTextArea: true,\n    title: \"Meta Title\",\n    type: ControlType.String\n  },\n  wkMiN9hO7: {\n    defaultValue: \"\",\n    displayTextArea: true,\n    title: \"Meta Description\",\n    type: ControlType.String\n  },\n  tnSC8si1b: {\n    defaultValue: \"k_wBJp4N9\",\n    options: [\"RS4Mncczl\", \"WLFE0gRz1\", \"IbJc9ogQq\", \"trUjI11ik\", \"k_wBJp4N9\", \"l97f5ijNJ\"],\n    optionTitles: [\"reviews\", \"messaging\", \"engineering\", \"how-to\", \"general\", \"top-10\"],\n    title: \"Tags\",\n    type: ControlType.Enum\n  },\n  sxKbFnF9f: {\n    defaultValue: \"\",\n    title: \"Content\",\n    type: ControlType.RichText\n  }\n});\ndata[\"displayName\"] = \"Blog\";\nexport default data;\nexport const tnSC8si1bToDisplayName = (value, locale) => {\n  const fallbackLocale = locale === null || locale === void 0 ? void 0 : locale.fallback;\n  switch (value) {\n    case \"RS4Mncczl\":\n      return \"reviews\";\n    case \"WLFE0gRz1\":\n      return \"messaging\";\n    case \"IbJc9ogQq\":\n      return \"engineering\";\n    case \"trUjI11ik\":\n      return \"how-to\";\n    case \"k_wBJp4N9\":\n      return \"general\";\n    case \"l97f5ijNJ\":\n      return \"top-10\";\n    default:\n      return \"\";\n  }\n};\nexport const enumToDisplayNameFunctions = {\n  tnSC8si1b: tnSC8si1bToDisplayName\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"tnSC8si1bToDisplayName\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"default\": {\n      \"type\": \"data\",\n      \"name\": \"data\",\n      \"annotations\": {\n        \"framerEnumToDisplayNameUtils\": \"2\",\n        \"framerSlug\": \"B7LIlf4Jc\",\n        \"framerRecordIdKey\": \"id\",\n        \"framerData\": \"\",\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"enumToDisplayNameFunctions\": {\n      \"type\": \"variable\",\n      \"annotations\": {\n        \"framerContractVersion\": \"1\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};"],
  "mappings": "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",
  "names": ["_checkPrivateRedeclaration", "obj", "privateCollection", "_classApplyDescriptorGet", "receiver", "descriptor", "_classApplyDescriptorSet", "value", "_classExtractFieldDescriptor", "privateMap", "action", "_classPrivateFieldGet", "_classPrivateFieldInit", "_classPrivateFieldSet", "_classPrivateMethodGet", "privateSet", "fn", "_classPrivateMethodInit", "_defineProperty", "key", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__defNormalProp", "__commonJS", "cb", "mod", "__copyProps", "to", "from", "except", "desc", "__toESM", "isNodeMode", "target", "__publicField", "__accessCheck", "member", "msg", "__privateGet", "getter", "__privateAdd", "__privateSet", "setter", "__privateMethod", "method", "require_pad", "exports", "module", "num", "size", "s", "require_fingerprint_browser", "require_getRandomValue_browser", "getRandomValue", "crypto", "window", "lim", "require_cuid", "fingerprint", "pad", "c", "blockSize", "base", "discreteValues", "randomBlock", "safeCounter", "cuid3", "letter", "timestamp", "counter", "print", "random", "date", "stringToCheck", "stringLength", "require_createDeferredExecutor", "createDeferredExecutor", "executor", "resolve", "reject", "data", "onFulfilled", "reason", "require_DeferredPromise", "_executor", "_decorate", "_class", "createDeferredExecutor_1", "DeferredPromise4", "onRejected", "decorate", "onfinally", "deferredExecutor", "originalResolve", "originalReject", "promise", "require_build", "__createBinding", "m", "k", "k2", "__exportStar", "exports2", "p", "require_MemoryLeakError", "MemoryLeakError", "emitter", "type", "count", "require_Emitter", "MemoryLeakError_1", "_events", "_maxListeners", "_hasWarnedAboutPotentialMemortyLeak", "_getListeners", "getListeners_fn", "_removeListener", "removeListener_fn", "_wrapOnceListener", "wrapOnceListener_fn", "_internalEmit", "internalEmit_fn", "_Emitter", "eventName", "maxListeners", "listeners", "listener", "nextListeners", "memoryLeakWarning", "Emitter2", "index", "onceListener", "internalEventName", "require_lib", "import_cuid", "POSITIONALS_EXP", "serializePositional", "positional", "flag", "json", "format", "message", "positionals", "positionalIndex", "formattedMessage", "match", "isEscaped", "_", "STACK_FRAMES_TO_IGNORE", "cleanErrorStack", "error", "nextStack", "InvariantError", "invariant", "predicate", "ErrorConstructor", "import_deferred_promise", "FLAG", "DEFAULT", "GREEN", "RED", "BLUE", "YELLOW", "MAGENTA", "CYAN", "COLOR_SCOPE", "createDebug", "scope", "direction", "cleanMessage", "debug", "MessageSender", "handshakePromise", "import_deferred_promise", "debug", "rejectionTimeout", "event", "listener", "options", "message", "data", "operationPromise", "operationId", "import_cuid", "payload", "handleOperationDone", "doneEvent", "data2", "listenerPayload", "handleOperationFailed", "failEvent", "target", "receiverReadyPromise", "handshakeListener", "window", "evt", "import_deferred_promise3", "__toESM", "require_build", "import_cuid2", "require_cuid", "FileSystemApi", "files", "path", "encoding", "response", "error", "format", "content", "recursive", "force", "includes", "excludes", "watcherId", "channel", "import_strict_event_emitter", "require_lib", "ShellApi", "ShellProcess", "command", "args", "invariant", "shellInfo", "import_deferred_promise2", "TIMEOUT", "PreviewApi", "predicate", "timeout", "readyPromise", "rejectTimeout", "previewInformation", "foundPreview", "sourceShellId", "port", "DEFAULT_RUNTIME_URL", "debug2", "createDebug", "Nodebox", "iframe", "cdnUrl", "connectionPromise", "frameLoadPromise", "_defineProperty", "INJECT_MESSAGE_TYPE", "PREVIEW_LOADED_MESSAGE_TYPE", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__esm", "fn", "res", "__commonJS", "cb", "mod", "__export", "target", "all", "name", "__copyProps", "to", "from", "except", "desc", "key", "__toESM", "isNodeMode", "serializePositional", "positional", "flag", "json", "format", "message", "positionals", "positionalIndex", "formattedMessage", "POSITIONALS_EXP", "match", "isEscaped", "_", "value", "cleanErrorStack", "error", "nextStack", "STACK_FRAMES_TO_IGNORE", "InvariantError", "invariant", "init_lib", "predicate", "ErrorConstructor", "__extends", "d", "b", "extendStatics", "__", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__generator", "body", "t", "f", "y", "g", "verb", "n", "v", "op", "__spreadArray", "pack", "i", "l", "ar", "nullthrows", "err", "createError", "createPackageJSON", "dependencies", "devDependencies", "entry", "addPackageJSONIfNeeded", "files", "_a2", "_b", "normalizedFilesPath", "normalizePath", "packageJsonFile", "DEPENDENCY_ERROR_MESSAGE", "ENTRY_ERROR_MESSAGE", "packageJsonContent", "__assign", "extractErrorDetails", "msg", "title", "path", "line", "column", "relevantStackFrame", "getRelevantStackFrame", "errorInCode", "getErrorInOriginalCode", "errorLocation", "getErrorLocation", "errorMessage", "formatErrorMessage", "frames", "frame", "errorFrame", "lastScriptLine", "numberOfLineNumberCharacters", "leadingCharacterOffset", "barSeparatorCharacterOffset", "extraLineLeadingSpaces", "scriptLine", "leadingChar", "lineNumber", "extraLine", "filePath", "location", "SandpackLogLevel", "init_types_36e5ec0d", "d2", "b2", "p", "s", "acc", "content", "fileName", "SandpackLogLevel2", "find", "iter", "tar", "dequal", "foo", "bar", "ctor", "len", "tmp", "has", "init_dist", "SandpackClient", "init_base_80a1f760", "SandpackClient2", "iframeSelector", "sandboxSetup", "options", "_sandboxSetup", "_isInitializationCompile", "_message", "_listener", "isCommand", "char", "isAlpha", "isWhitespace", "isOperator", "isArgument", "isString", "isEnvVar", "tokenize", "input", "current", "tokens", "parseCommand", "TokenType", "parseOperator", "operators", "parseArgument", "parseString", "openCloseQuote", "parseEnvVars", "parseSingleEnv", "pair", "currentChar", "generateRandomId", "now", "randomNumber", "count", "counter", "EventEmitter", "writeBuffer", "readBuffer", "fromBundlerFilesToFS", "findStartScriptPackageJson", "getMessageFromError", "init_client_utils_7a723432", "EventEmitter2", "listener", "_this", "listenerId", "TokenType2", "packageJson", "scripts2", "possibleKeys", "_loop_1", "index2", "script", "candidate", "env_1", "command_1", "args_1", "item", "commandNotFoundYet", "index", "state_1", "node_exports", "SandpackNode", "loadPreviewIframe", "iframe", "url", "contentWindow", "TIME_OUT", "MAX_MANY_TIRES", "tries", "timeout", "triesToSetUrl", "onLoadPage", "setupHistoryListeners", "scope", "origHistoryProto", "window", "historyList", "historyPosition", "dispatchMessage", "pushHistory", "state", "delta", "newPos", "_a3", "newURL", "handleMessage", "data", "setPreviewIframeProperties", "consoleHook", "scripts", "injectScriptToIframe", "init_node", "channelId", "code", "id", "INJECT_MESSAGE_TYPE", "_super", "SandpackNode2", "selector", "sandboxInfo", "Nodebox", "shellId", "err_1", "exitCode", "_b2", "element", "event", "PREVIEW_LOADED_MESSAGE_TYPE", "type", "newContent", "err_2", "setup", "modules", "_c", "_d", "require_main", "exports", "module", "__create2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__getProtoOf2", "__hasOwnProp2", "__commonJS2", "__export2", "__copyProps2", "__toESM2", "__toCommonJS", "require_db", "exports2", "module2", "require_mime_db", "main_exports", "PreviewController2", "getExtension", "joinFilepath", "normalizeFilepath", "CHANNEL_NAME", "import_mime_db", "extensionMap", "entries", "mimetype", "extensions", "ext", "EXTENSIONS_MAP", "counter2", "generateRandomId2", "filepath", "addition", "parts", "request", "previewRoot", "port", "headers", "extension", "foundMimetype", "responseMessage", "responseMessage1", "previewUrl", "relayUrl", "channel", "iframeContentWindow", "evt", "initMsg", "val", "el", "_indexFiles", "index_bd1ff004_exports", "SandpackStatic", "import_static_browser_server", "insertHtmlAfterRegex", "readBuffer2", "validateHtml", "init_index_bd1ff004", "regex", "insertable", "offset", "prefix", "suffix", "contentString", "domParser", "doc", "html", "SandpackStatic2", "contentToInsert", "scriptToInsert", "externalResources", "tagsToInsert", "resource", "fileType", "runtime_exports", "SandpackRuntime", "getTemplate", "pkg", "totalDependencies", "moduleNames", "adonis", "dep", "nuxt", "apollo", "m", "parcel", "dojo", "nodeDeps", "MAX_CLIENT_DEPENDENCY_COUNT", "Protocol", "IFrameProtocol", "_a", "BUNDLER_URL", "init_runtime", "Protocol2", "protocol", "response", "IFrameProtocol2", "origin", "SandpackRuntime2", "unsubscribe", "mes", "urlSource", "isInitializationCompile", "prev", "next", "packageJSON", "normalizedModules", "paramFiles", "x", "loadSandpackClient", "template", "Client", "toggleComment", "target", "state", "line", "config", "getConfig", "toggleLineComment", "toggleBlockCommentByLine", "command", "f", "option", "dispatch", "tr", "changeLineComment", "toggleBlockComment", "command", "changeBlockComment", "toggleBlockCommentByLine", "command", "o", "s", "changeBlockComment", "selectedLineRanges", "getConfig", "state", "pos", "data", "SearchMargin", "findBlockComment", "open", "close", "from", "to", "textBefore", "textAfter", "spaceBefore", "spaceAfter", "beforeOff", "startText", "endText", "startSpace", "endSpace", "endOff", "ranges", "r", "fromLine", "toLine", "last", "option", "tokens", "c", "comments", "i", "range", "changes", "comment", "token", "changeLineComment", "lines", "prevLine", "startI", "minIndent", "line", "indent", "empty", "l", "line1", "token1", "indent1", "empty1", "single", "changeSet", "changes1", "line2", "comment1", "token2", "from1", "to1", "fromHistory", "Annotation", "isolateHistory", "invertedEffects", "Facet", "historyConfig", "configs", "combineConfig", "_t", "isAdjacent2", "a", "b", "tr", "adj", "changeEnd", "end", "_", "historyField_", "StateField", "HistoryState", "config", "fromHist", "selection", "EditorSelection", "item", "HistEvent", "other", "updateBranch", "addSelection", "isolate", "Transaction", "event", "time", "userEvent", "value", "e", "json", "history", "EditorView", "view", "command2", "undo", "redo", "cmd", "side", "selection", "state", "dispatch", "historyState", "historyField_", "tr", "undo", "redo", "undoSelection", "redoSelection", "HistEvent", "after", "_a", "_b", "_c", "s", "json", "ChangeSet", "ChangeDesc", "EditorSelection", "tr", "selection", "effects", "none", "invert", "invertedEffects", "result", "selections", "changes", "mapped", "startSelection", "selectionsAfter", "updateBranch", "branch", "to", "maxLen", "newEvent", "start", "newBranch", "isAdjacent", "a", "b", "ranges", "isAdjacent2", "f", "t", "_f", "_t", "i", "from", "eqSelectionShape", "r", "conc", "MaxSelectionsPerEvent", "addSelection", "lastEvent", "sels", "popSelection", "last", "addMappingToBranch", "mapping", "length", "event", "mapEvent", "extraSelections", "mappedChanges", "before", "fullMapping", "StateEffect", "joinableUserEvent", "HistoryState", "time", "userEvent", "config", "done", "newGroupDelay", "side", "state", "fromHistory", "rest", "undone", "prevTime", "prevUserEvent", "historyKeymap", "undo", "redo", "undoSelection", "redoSelection", "updateSel", "sel", "by", "setSel", "moveSel", "dispatch", "how", "rangeEnd", "range", "forward", "cursorByChar", "view", "ltrAtCursor", "Direction", "cursorCharLeft", "cursorCharRight", "cursorByGroup", "view", "forward", "moveSel", "range", "rangeEnd", "cursorGroupLeft", "ltrAtCursor", "cursorGroupRight", "interestingNode", "state", "node", "bracketProp", "len", "moveBySyntax", "start", "forward", "pos", "syntaxTree", "NodeProp", "at", "next", "bracket", "match", "newPos", "matchBrackets", "EditorSelection", "cursorSyntaxLeft", "view", "moveSel", "range", "ltrAtCursor", "cursorSyntaxRight", "cursorByLine", "rangeEnd", "moved", "cursorLineUp", "cursorLineDown", "pageInfo", "selfScroll", "marginTop", "marginBottom", "height", "source", "EditorView", "margins", "window", "cursorByPage", "page", "selection", "updateSel", "effect", "startPos", "scrollRect", "scrollTop", "scrollBottom", "setSel", "cursorPageUp", "cursorPageDown", "moveByLineBoundary", "line", "space", "cursorLineBoundaryForward", "cursorLineBoundaryBackward", "cursorLineBoundaryLeft", "cursorLineBoundaryRight", "cursorLineStart", "cursorLineEnd", "toMatchingBracket", "dispatch", "extend", "found", "matching", "head", "cursorMatchingBracket", "extendSel", "view", "how", "selection", "updateSel", "range", "head", "EditorSelection", "setSel", "selectByChar", "forward", "selectCharLeft", "ltrAtCursor", "selectCharRight", "selectByGroup", "view", "forward", "extendSel", "range", "selectGroupLeft", "ltrAtCursor", "selectGroupRight", "selectSyntaxLeft", "view", "extendSel", "range", "moveBySyntax", "ltrAtCursor", "selectSyntaxRight", "selectByLine", "forward", "selectLineUp", "selectLineDown", "selectByPage", "pageInfo", "selectPageUp", "selectPageDown", "selectLineBoundaryForward", "moveByLineBoundary", "selectLineBoundaryBackward", "selectLineBoundaryLeft", "selectLineBoundaryRight", "selectLineStart", "EditorSelection", "selectLineEnd", "cursorDocStart", "state", "dispatch", "setSel", "cursorDocEnd", "selectDocStart", "selectDocEnd", "selectAll", "selectLine", "ranges", "selectedLineBlocks", "from", "to", "selectParentSyntax", "selection", "updateSel", "_a", "context", "syntaxTree", "simplifySelection", "cur", "deleteBy", "target", "by", "event", "changes", "towards", "skipAtomic", "EditorView", "pos", "f", "deleteByChar", "line", "before", "targetPos", "col", "countColumn", "drop", "getIndentUnit", "i", "findClusterBreak", "deleteCharBackward", "deleteCharForward", "deleteByGroup", "start", "categorize", "cat", "next", "nextChar", "nextCat", "deleteGroupBackward", "deleteGroupForward", "deleteToLineEnd", "lineEnd", "deleteToLineStart", "lineStart", "splitLine", "state", "dispatch", "changes", "range", "Text", "EditorSelection", "transposeChars", "pos", "line", "from", "findClusterBreak", "to", "selectedLineBlocks", "blocks", "upto", "startLine", "endLine", "prev", "moveLine", "forward", "ranges", "block", "nextLine", "size", "r", "r1", "moveLineUp", "moveLineDown", "copyLine", "copyLineUp", "copyLineDown", "deleteLine", "view", "selection", "updateSel", "isBetweenBrackets", "state", "pos", "context", "syntaxTree", "before", "after", "closedBy", "NodeProp", "insertNewlineAndIndent", "newlineAndIndent", "insertBlankLine", "atEof", "dispatch", "changes", "range", "from", "to", "line", "explode", "cx", "IndentContext", "indent", "getIndentation", "insert", "indentString", "Text", "EditorSelection", "changeBySelectedLine", "f", "atLine", "changeSet", "indentSelection", "updated", "start", "found", "changes2", "cur", "norm", "indentMore", "indentUnit", "indentLess", "space", "col", "countColumn", "keep", "getIndentUnit", "emacsStyleKeymap", "cursorCharLeft", "selectCharLeft", "cursorCharRight", "selectCharRight", "cursorLineUp", "selectLineUp", "cursorLineDown", "selectLineDown", "cursorLineStart", "selectLineStart", "cursorLineEnd", "selectLineEnd", "deleteCharForward", "deleteCharBackward", "deleteToLineEnd", "deleteGroupBackward", "splitLine", "transposeChars", "cursorPageDown", "standardKeymap", "cursorGroupLeft", "selectGroupLeft", "cursorLineBoundaryLeft", "selectLineBoundaryLeft", "cursorGroupRight", "selectGroupRight", "cursorLineBoundaryRight", "selectLineBoundaryRight", "cursorDocStart", "selectDocStart", "cursorPageUp", "selectPageUp", "cursorDocEnd", "selectDocEnd", "selectPageDown", "cursorLineBoundaryBackward", "selectLineBoundaryBackward", "cursorLineBoundaryForward", "selectLineBoundaryForward", "insertNewlineAndIndent", "selectAll", "deleteGroupForward", "deleteToLineStart", "b", "defaultKeymap", "cursorSyntaxLeft", "selectSyntaxLeft", "cursorSyntaxRight", "selectSyntaxRight", "moveLineUp", "copyLineUp", "moveLineDown", "copyLineDown", "simplifySelection", "insertBlankLine", "selectLine", "selectParentSyntax", "indentLess", "indentMore", "indentSelection", "deleteLine", "cursorMatchingBracket", "toggleComment", "toggleBlockComment", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "cb", "mod", "__copyProps", "to", "from", "except", "desc", "key", "__toESM", "isNodeMode", "target", "require_lib", "exports", "module", "_createClass", "defineProperties", "props", "i2", "descriptor", "Constructor", "protoProps", "staticProps", "_classCallCheck", "instance", "ANSI_COLORS", "Anser2", "Anser3", "txt", "options", "j2", "levels", "format", "r4", "g3", "b3", "r3", "g2", "b2", "_r", "_g", "_b2", "level", "_i", "str", "markup", "_this", "self", "raw_text_chunks", "first_chunk", "color_chunks", "chunk", "first", "c2", "text", "use_classes", "result", "matches", "orig_txt", "nums", "num_str", "num", "is_foreground", "mode", "palette_index", "klass", "color2", "styles", "classes", "data", "_this2", "jsonChunk", "decoration", "tmpFg", "tmpFgTrue", "colors", "decorations", "textDecorations", "render_data", "data2", "fragments", "index", "require_escape_carriage", "escapeCarriageReturn2", "_", "base", "insert", "findLongestString", "arr", "longest", "escapeSingleLineSafe", "res", "escapeCarriageReturnSafe", "idx", "require_lz_string", "LZString2", "f2", "keyStrBase64", "keyStrUriSafe", "baseReverseDic", "getBaseValue", "alphabet", "character", "LZString3", "input", "a2", "compressed", "uncompressed", "buf", "TotalLen", "current_value", "bitsPerChar", "getCharFromInt", "value", "context_dictionary", "context_dictionaryToCreate", "context_c", "context_wc", "context_w", "context_enlargeIn", "context_dictSize", "context_numBits", "context_data", "context_data_val", "context_data_position", "ii", "length", "resetValue", "getNextValue", "dictionary", "next", "enlargeIn", "dictSize", "numBits", "entry", "w2", "bits", "resb", "maxpower", "power", "t", "n", "r", "i", "o", "e", "t2", "l", "n2", "e2", "s", "a", "c", "d", "g", "p", "u", "h", "f", "m", "e3", "b", "S", "t3", "k", "y", "o2", "l2", "B", "$", "x", "s2", "n3", "d2", "p2", "x2", "z2", "e4", "S2", "e5", "z3", "t4", "t41", "u2", "n4", "i3", "o3", "l3", "s3", "a3", "c3", "e6", "t5", "r5", "n5", "I", "R", "z", "W", "j", "E", "T", "e21", "i31", "e22", "t31", "n31", "v", "M", "w", "C", "P", "L", "r41", "O", "D", "p3", "h2", "A", "i4", "o4", "l4", "i5", "s4", "i41", "o41", "t32", "H", "N", "V", "G", "F", "J", "U", "Z", "X", "has", "find", "iter", "tar", "dequal", "foo", "bar", "ctor", "len", "tmp", "window", "document2", "registry", "crossOriginUpdater", "crossOriginRect", "IntersectionObserverEntry", "ensureDOMRect", "getEmptyRect", "targetRect", "targetArea", "intersectionRect", "intersectionArea", "IntersectionObserver2", "callback", "opt_options", "throttle", "margin", "boundingClientRect", "convertFromParentRect", "observer", "isTargetAlreadyObserved", "item", "records", "opt_threshold", "threshold", "opt_rootMargin", "marginString", "margins", "parts", "doc", "win", "monitoringInterval", "domObserver", "addEvent", "win2", "removeEvent", "frame", "getFrameElement", "rootDoc", "hasDependentTargets", "itemDoc", "frame2", "unsubscribe", "unsubscribes", "rootIsInDom", "rootRect", "getBoundingClientRect", "rootContainsTarget", "oldEntry", "newEntry", "now", "parent", "getParentNode", "atRoot", "parentRect", "parentComputedStyle", "frameRect", "frameIntersect", "computeRectIntersection", "html2", "body", "rect", "newRect", "oldRatio", "newRatio", "containsDeep", "fn", "timeout", "timer", "node", "event", "opt_useCapture", "rect1", "rect2", "top", "bottom", "left", "right", "width", "height", "el", "parentBoundingRect", "parentIntersectionRect", "child", "usePassiveLayoutEffect", "module_default", "useIntersectionObserver", "root", "pollInterval", "useMutationObserver", "rootMargin", "initialIsIntersecting", "setEntry", "ye", "setObserver", "getIntersectionObserver", "ue", "observer2", "targetEl", "didUnsubscribe", "entries", "entry2", "createIntersectionObserver", "callbacks", "_intersectionObserver", "keys", "module_default2", "import_anser", "import_escape_carriage", "import_lz_string", "__assign", "t2", "s2", "i2", "n2", "p2", "__rest", "e", "__awaiter", "thisArg", "_arguments", "P2", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "rejected", "result", "__generator", "body", "_", "f2", "y2", "g2", "verb", "v2", "op", "__spreadArray", "to", "from", "pack", "l2", "ar", "SVG", "props", "p", "RunIcon", "u", "SVG", "p", "CloseIcon", "u", "SVG", "__assign", "p", "_a$a", "defaultLight", "defaultDark", "SANDPACK_THEMES", "window", "getFileName", "filePath", "lastIndexOfSlash", "calculateNearestUniquePath", "currentPath", "otherPaths", "currentPathParts", "resultPathParts", "fileIndex", "otherPathParts", "partsFromEnd", "currentPathPart", "otherPathPart", "isDarkColor", "color2", "r3", "g2", "b2", "rgbValues", "yiq", "lastCount", "generateRandomId", "random", "toString", "defineProperty", "_a$9", "THEME_PREFIX", "createTheme", "X", "css", "getCssText", "keyframes", "defaultVariables", "acc", "_", "index", "_a2", "__assign", "standardizeStitchesTheme", "theme", "syntaxEntries", "syntax", "tokenAcc", "_b2", "tokenName", "tokenValue", "newValues", "valueAcc", "_a3", "_b3", "styleProp", "styleValue", "standardizeTheme", "inputTheme", "_c2", "_d", "_e", "defaultLightThemeKey", "predefinedTheme", "mode", "baseTheme", "colorsByMode", "syntaxByMode", "fontByMode", "id", "simpleHashFunction", "str", "hash", "i2", "fakeCss", "ClassNamesContext", "z", "ClassNamesProvider", "children", "classes", "p", "useClassNames", "contextClassNames", "re", "customClassName", "allClassNames", "custom", "joinClassNames", "__spreadArray", "args", "_i", "wrapperClassName$3", "SandpackThemeContext", "SandpackThemeProvider", "themeFromProps", "className", "props", "__rest", "classNames", "themeClassName", "se", "SandpackThemeConsumer", "commonFiles", "ASTRO_TEMPLATE", "NEXTJS_TEMPLATE", "NODE_TEMPLATE", "VITE_TEMPLATE", "VITE_REACT_TEMPLATE", "VITE_REACT_TS_TEMPLATE", "VITE_SVELTE_TEMPLATE", "VITE_SVELTE_TS_TEMPLATE", "VITE_VUE_TEMPLATE", "VITE_VUE_TS_TEMPLATE", "ANGULAR_TEMPLATE", "REACT_TEMPLATE", "REACT_TYPESCRIPT_TEMPLATE", "SOLID_TEMPLATE", "SVELTE_TEMPLATE", "TEST_TYPESCRIPT_TEMPLATE", "VANILLA_TEMPLATE", "VANILLA_TYPESCRIPT_TEMPLATE", "VUE_TEMPLATE", "VUE_TS_TEMPLATE", "STATIC_TEMPLATE", "SANDBOX_TEMPLATES", "getSandpackStateFromProps", "_f", "normalizedFilesPath", "normalizePath", "projectSetup", "combineTemplateFilesToSetup", "visibleFiles", "activeFile", "resolveFile", "file", "files", "addPackageJSONIfNeeded", "existOpenPath", "path", "normalizedPath", "resolvedPath", "strategies", "removeExtension", "attemptPath", "template", "customSetup", "defaultTemplate", "convertedFilesToBundlerFiles", "baseTemplate", "key", "useAppState", "ye", "state", "setState", "originalStateFromProps", "editorState", "dequal", "prev", "BUNDLER_TIMEOUT", "useClient", "filesState", "options", "teamId", "initModeFromProps", "intersectionObserver", "pe", "lazyAnchorRef", "registeredIframes", "clients", "timeoutHook", "unsubscribeClientListeners", "unsubscribe", "queuedListeners", "debounceHook", "prevEnvironment", "createClient", "te", "iframe", "clientId", "clientPropsOverride", "__awaiter", "timeOut", "shouldSetTimeout", "client", "globalListeners", "_c3", "__generator", "_d2", "unregisterAllClients", "loadSandpackClient", "handleMessage", "listenerId", "listener", "unsubscribe2", "_a4", "unregisterBundler", "runSandpack", "initializeSandpackIframe", "autorun", "observerOptions", "entries", "entry", "registerBundler", "unsubscribeQueuedClients", "listenerOfClient", "listenerFunctions", "status", "msg", "extractErrorDetails", "registerReactDevTools", "value", "recompileMode", "recompileDelay", "dispatchMessage", "message", "addListener", "unsubscribeListener", "listenerId_1", "listenerId_2", "clientsList", "currentClientUnsubscribeListeners_1", "ue", "useFiles", "isMountedRef", "updateFile", "pathOrFiles", "code", "shouldUpdatePreview", "operations", "rest", "newPaths", "prevState", "indexOfRemovedPath", "openPath", "newFiles", "remainingVisibleFiles", "deletedLastVisibleFile", "nextFile", "Sandpack$1", "SandpackProvider", "style", "fileState", "fileOperations", "clientState", "clientOperations", "appState", "SandpackConsumer", "useSandpack", "sandpack", "dispatch", "listen", "useActiveCode", "_a$8", "_b$2", "_c", "iconStandaloneClassName", "buttonClassName", "roundedButtonClassName", "iconClassName", "fadeIn", "absoluteClassName", "errorClassName", "errorBundlerClassName", "errorMessageClassName", "_a$7", "tabsClassName", "tabsScrollableClassName", "closeButtonClassName", "tabButton", "FileTabs", "closableTabs", "setActiveFile", "handleCloseFile", "ev", "tabElm", "pathToClose", "getTriggerText", "documentFileName", "pathsWithDuplicateFileNames", "curr", "fileName", "u", "CloseIcon", "RoundedButton", "onClick", "runButtonClassName", "RunButton$1", "event", "RunIcon", "_a$6", "stackClassName", "SandpackStack", "useSandpackTheme", "shallowEqual", "a2", "result", "getCodeMirrorPosition", "doc", "line", "column", "getEditorTheme", "EditorView", "classNameToken", "name", "styleTokens", "syntaxHighLightTokens", "token", "getSyntaxHighlight", "HighlightStyle", "tags", "getLanguageFromFile", "fileType", "additionalLanguages", "extension", "extensionDotIndex", "additionalLanguages_1", "additionalLanguage", "getCodeMirrorLanguage", "javascript", "html", "additionalLanguages_2", "useCombinedRefs", "refs", "element", "ref", "highlightDecorators", "positions", "ViewPlugin", "class_1", "view", "update", "Decoration", "rangesDecorators", "item", "lineDeco2", "markDeco", "positionLineStart", "positionLineEnd", "v2", "highlightInlineError", "activeLineHighlighter", "lineDeco", "_this", "trans", "errorValue", "position", "_a$5", "_b$1", "placeholderClassName", "tokensClassName", "editorClassName", "cmClassName", "readOnlyClassName", "useSyntaxHighlight", "langSupport", "highlightTheme", "tree", "offSet", "codeElementsRender", "addElement", "to", "B", "highlightTree", "from", "CodeMirror", "Y", "onCodeUpdate", "showLineNumbers", "showInlineErrors", "wrapContent", "_g", "readOnly", "_h", "showReadOnly", "decorators", "_j", "initMode", "_k", "extensions", "_l", "extensionsKeymap", "_m", "wrapper", "combinedRef", "cmView", "_o", "themeId", "_p", "internalCode", "setInternalCode", "_q", "shouldInitEditor", "setShouldInitEditor", "prevExtension", "prevExtensionKeymap", "isIntersecting", "module_default2", "ce", "languageExtension", "syntaxHighlightRender", "sortedDecorators", "d1", "d2", "customCommandsKeymap", "view2", "indentMore", "customKey", "indentLess", "deleteGroupBackward", "extensionList", "highlightSpecialChars", "history", "closeBrackets", "keymap", "closeBracketsKeymap", "defaultKeymap", "historyKeymap", "syntaxHighlighting", "EditorState", "bracketMatching", "highlightActiveLine", "lineNumbers", "parentDiv", "existingPlaceholder", "tr", "newCode", "dependenciesAreDiff", "StateEffect", "selection", "EditorSelection", "changes", "Annotation", "handleContainerKeyDown", "evt", "gutterLineOffset", "offset", "l", "SandpackCodeEditor", "showTabs", "showRunButton", "updateCode", "readOnlyFile", "shouldShowTabs", "handleCodeUpdate", "_a$4", "_b", "layoutClassName", "css", "stackClassName", "THEME_PREFIX", "SandpackLayout", "Y", "_a2", "ref", "children", "className", "props", "__rest", "sandpack", "useSandpack", "classNames", "useClassNames", "combinedRef", "useCombinedRefs", "p", "__assign", "MAX_MESSAGE_COUNT$1", "consoleItemClassName$1", "css", "_a$3", "cubeClassName", "css", "wrapperClassName$2", "buttonClassName", "cubeRotate", "keyframes", "sidesClassNames", "loadingClassName", "css", "stdoutPreview", "css", "progressClassName$1", "fadeIn", "progressClassName", "css", "fadeIn", "explorerClassName", "fileExplorerClassName", "css", "navigatorClassName", "css", "inputClassName", "_a$2", "previewClassName", "css", "THEME_PREFIX", "previewIframe", "previewActionsClassName$1", "_a$1", "transpiledCodeClassName", "css", "THEME_PREFIX", "wrapperClassName$1", "css", "flexClassName$1", "color", "css", "passTextClassName", "failTextClassName", "skipTextClassName", "titleTextClassName", "background", "runBackgroundClassName", "passBackgroundClassName", "failBackgroundClassName", "testContainerClassName", "containerClassName$4", "testClassName", "durationClassName", "gapRightClassName", "nameClassName", "css", "containerClassName$3", "containerClassName$2", "css", "fileContainer", "css", "gapBottomClassName$1", "failTestClassName", "labelClassName$1", "specLabelClassName", "filePathButtonClassName", "filePathClassName", "fileNameClassName", "gapBottomClassName", "css", "labelClassName", "containerClassName$1", "previewActionsClassName", "css", "containerClassName", "css", "fileErrorContainerClassName", "MAX_KEYS", "MAX_MESSAGE_COUNT", "GLOBAL", "savedEval", "Arithmetic", "Arithmetic2", "_a", "consoleItemClassName", "css", "_a", "THEME_PREFIX", "wrapperClassName", "flexClassName", "dragHandler", "css", "buttonCounter", "css", "consoleWrapper", "rtlLayoutClassName", "Browser", "isBrowser", "window", "isTouch", "navigator", "isChrome", "isWebKit", "isSafari", "isSafariDesktop", "isWindows", "isMacOS", "supportedLanguages", "SuspenseValue", "status", "promise", "value", "reason", "resolver", "getFileExtensions", "language", "useBorder", "props", "collapseEqualBorders", "style", "borderWidth", "borderColor", "borderStyle", "isMixedBorderWidth", "borderWidthBottom", "borderWidthLeft", "borderWidthRight", "borderWidthTop", "borderTop", "borderBottom", "borderLeft", "borderRight", "groupsRegex", "capitalizeFirstLetter", "value", "titleCase", "useRadius", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "usePadding", "padding", "paddingBottom", "paddingLeft", "paddingPerSide", "paddingRight", "paddingTop", "useIsOnCanvas", "onCanvas", "ye", "RenderTarget", "isObject", "isDarkColor", "color", "r", "g", "b", "rgbValues", "angular", "SuspenseValue", "cpp", "java", "markdown", "php", "python", "rust", "sql", "vue", "scala", "language", "LanguageSupport", "StreamLanguage", "c", "csharp", "kotlin", "objectiveC", "go", "haskell", "julia", "lua", "nginx", "octave", "perl", "ruby", "shell", "swift", "yaml", "useLanguageAsync", "name", "getFileExtensions", "amethyst", "aquaBlue", "atomDark", "cobalt2", "cyberpunk", "dracula", "freeCodeCampDark", "githubLight", "levelUp", "monokaiPro", "neoCyan", "nightOwl", "sandpackDark", "atomLight", "framerLight", "framerDark", "ayuLight", "ayuDark", "sandpackLight", "githubDark", "themeKeys", "themes", "amethyst", "aquaBlue", "atomDark", "cobalt2", "cyberpunk", "dracula", "freeCodeCampDark", "githubLight", "levelUp", "monokaiPro", "neoCyan", "nightOwl", "sandpackDark", "lightThemeVariables", "darkThemeVariables", "getVariableTheme", "font", "_fontFamily", "getVariablesForTheme", "theme", "background", "mode", "result", "colors", "syntax", "isObject", "name", "value", "name1", "value1", "style", "isDarkColor", "DEFAULT_CODE", "wrapperClassName", "css", "lightThemeVariables", "darkThemeVariables", "rule", "CodeBlock", "withCSS", "props", "code", "themeMode", "theme", "lightTheme", "darkTheme", "style", "language", "font", "border", "background", "variableTheme", "getVariableTheme", "getVariablesForTheme", "additionalLanguage", "useLanguageAsync", "extension", "getFileExtensions", "onCanvas", "useIsOnCanvas", "borderStyles", "useBorder", "borderRadius", "useRadius", "hasBorderRadius", "fileName", "padding", "usePadding", "u", "motion", "p", "SandpackProvider", "SandpackLayout", "SandpackCodeEditor", "SandpackStyles", "CodeBlock_default", "l", "Browser", "getCssText", "themeNames", "themeKeys", "titleCase", "addPropertyControls", "ControlType", "supportedLanguages", "addImageAlt", "image", "alt", "data", "u", "x", "p", "Link", "motion", "ComponentPresetsConsumer", "presetProps", "CodeBlock_default", "item", "addPropertyControls", "ControlType", "N9zffXeA0_default", "tnSC8si1bToDisplayName", "value", "locale", "fallbackLocale", "enumToDisplayNameFunctions", "__FramerMetadata__"]
}
