{
  "version": 3,
  "pages404": true,
  "appType": "app",
  "caseSensitive": false,
  "basePath": "",
  "redirects": [
    {
      "source": "/:path+/",
      "destination": "/:path+",
      "internal": true,
      "priority": true,
      "statusCode": 308,
      "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
    }
  ],
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "X-Frame-Options",
          "value": "DENY"
        },
        {
          "key": "X-Content-Type-Options",
          "value": "nosniff"
        },
        {
          "key": "Referrer-Policy",
          "value": "strict-origin-when-cross-origin"
        },
        {
          "key": "X-DNS-Prefetch-Control",
          "value": "on"
        },
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=63072000; includeSubDomains; preload"
        },
        {
          "key": "Permissions-Policy",
          "value": "camera=(), microphone=(), geolocation=(self)"
        }
      ],
      "regex": "^(?:/(.*))(?:/)?$"
    },
    {
      "source": "/manifest.json",
      "headers": [
        {
          "key": "Content-Type",
          "value": "application/json"
        },
        {
          "key": "Cache-Control",
          "value": "public, max-age=3600, immutable"
        }
      ],
      "regex": "^/manifest\\.json(?:/)?$"
    },
    {
      "source": "/sw.js",
      "headers": [
        {
          "key": "Content-Type",
          "value": "application/javascript; charset=utf-8"
        },
        {
          "key": "Cache-Control",
          "value": "no-cache, no-store, must-revalidate"
        },
        {
          "key": "Content-Security-Policy",
          "value": "default-src 'self'; script-src 'self'"
        }
      ],
      "regex": "^/sw\\.js(?:/)?$"
    }
  ],
  "rewrites": {
    "beforeFiles": [],
    "afterFiles": [],
    "fallback": []
  },
  "dynamicRoutes": [
    {
      "page": "/messages/[conversationId]",
      "regex": "^/messages/([^/]+?)(?:/)?$",
      "routeKeys": {
        "nxtPconversationId": "nxtPconversationId"
      },
      "namedRegex": "^/messages/(?<nxtPconversationId>[^/]+?)(?:/)?$"
    }
  ],
  "staticRoutes": [
    {
      "page": "/",
      "regex": "^/(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/(?:/)?$"
    },
    {
      "page": "/_global-error",
      "regex": "^/_global\\-error(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_global\\-error(?:/)?$"
    },
    {
      "page": "/_not-found",
      "regex": "^/_not\\-found(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/_not\\-found(?:/)?$"
    },
    {
      "page": "/api/abn-lookup",
      "regex": "^/api/abn\\-lookup(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/abn\\-lookup(?:/)?$"
    },
    {
      "page": "/api/ai/generate-profile",
      "regex": "^/api/ai/generate\\-profile(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/ai/generate\\-profile(?:/)?$"
    },
    {
      "page": "/api/auth/verify-email",
      "regex": "^/api/auth/verify\\-email(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/auth/verify\\-email(?:/)?$"
    },
    {
      "page": "/api/company-logo",
      "regex": "^/api/company\\-logo(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/api/company\\-logo(?:/)?$"
    },
    {
      "page": "/auth/callback",
      "regex": "^/auth/callback(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/auth/callback(?:/)?$"
    },
    {
      "page": "/auth/login",
      "regex": "^/auth/login(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/auth/login(?:/)?$"
    },
    {
      "page": "/auth/signup",
      "regex": "^/auth/signup(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/auth/signup(?:/)?$"
    },
    {
      "page": "/auth/verify-email",
      "regex": "^/auth/verify\\-email(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/auth/verify\\-email(?:/)?$"
    },
    {
      "page": "/contractor/matches",
      "regex": "^/contractor/matches(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/contractor/matches(?:/)?$"
    },
    {
      "page": "/contractor/post-job",
      "regex": "^/contractor/post\\-job(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/contractor/post\\-job(?:/)?$"
    },
    {
      "page": "/contractor/signup",
      "regex": "^/contractor/signup(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/contractor/signup(?:/)?$"
    },
    {
      "page": "/dashboard",
      "regex": "^/dashboard(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/dashboard(?:/)?$"
    },
    {
      "page": "/favicon.ico",
      "regex": "^/favicon\\.ico(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/favicon\\.ico(?:/)?$"
    },
    {
      "page": "/messages",
      "regex": "^/messages(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/messages(?:/)?$"
    },
    {
      "page": "/offline",
      "regex": "^/offline(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/offline(?:/)?$"
    },
    {
      "page": "/worker/jobs",
      "regex": "^/worker/jobs(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/worker/jobs(?:/)?$"
    },
    {
      "page": "/worker/profile/build",
      "regex": "^/worker/profile/build(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/worker/profile/build(?:/)?$"
    },
    {
      "page": "/worker/signup",
      "regex": "^/worker/signup(?:/)?$",
      "routeKeys": {},
      "namedRegex": "^/worker/signup(?:/)?$"
    }
  ],
  "dataRoutes": [],
  "rsc": {
    "header": "rsc",
    "varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
    "prefetchHeader": "next-router-prefetch",
    "didPostponeHeader": "x-nextjs-postponed",
    "contentTypeHeader": "text/x-component",
    "suffix": ".rsc",
    "prefetchSegmentHeader": "next-router-segment-prefetch",
    "prefetchSegmentSuffix": ".segment.rsc",
    "prefetchSegmentDirSuffix": ".segments",
    "clientParamParsing": false,
    "dynamicRSCPrerender": false
  },
  "rewriteHeaders": {
    "pathHeader": "x-nextjs-rewritten-path",
    "queryHeader": "x-nextjs-rewritten-query"
  }
}