403Webshell
Server IP : 14.225.204.176  /  Your IP : 216.73.216.252
Web Server : nginx/1.24.0
System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64
User : root ( 0)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/php/zinisoft.net-react/.next/cache/webpack/client-production/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/php/zinisoft.net-react/.next/cache/webpack/client-production/13.pack
wpcRf�webpack/lib/cache/PackFileCacheStrategy�PackContentItems�`'ResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog|request=|../../data/blogResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\form|request=|../../data/blogResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components|request=|../data/contact"ResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\jarallax|request=|../../data/contactResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\app|request=|../data/seo�Compilation/modules|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\blog.js|app-pages-browser�Compilation/modules|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\contact.js|app-pages-browser�Compilation/modules|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\seo.js|app-pages-browserResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|react$=|next/dist/compiled/react|react-dom$=|next/dist/compiled/react-dom|react/jsx-runtime$=|next/dist/compiled/react/jsx-runtime|react/jsx-dev-runtime$=|next/dist/compiled/react/jsx-dev-runtime|react-dom/client$=|next/dist/compiled/react-dom/client|react-dom/server$=|next/dist/compiled/react-dom/server|react-dom/static$=|next/dist/compiled/react-dom-experimental/static|react-dom/static.edge$=|next/dist/compiled/react-dom-experimental/static.edge|react-dom/static.browser$=|next/dist/compiled/react-dom-experimental/static.browser|react-dom/server.edge$=|next/dist/build/webpack/alias/react-dom-server-edge.js|react-dom/server.browser$=|next/dist/build/webpack/alias/react-dom-server-browser.js|react-server-dom-webpack/client$=|next/dist/compiled/react-server-dom-webpack/client|react-server-dom-webpack/client.edge$=|next/dist/compiled/react-server-dom-webpack/client.edge|react-server-dom-webpack/server.edge$=|next/dist/compiled/react-server-dom-webpack/server.edge|react-server-dom-webpack/server.node$=|next/dist/compiled/react-server-dom-webpack/server.node|@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts=|next/dist/client/dev/noop-turbopack-hmr|]|fullySpecified=|false|mainFields=[|0=|browser|1=|module|2=|main|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data|request=|./seo�FlagDependencyExportsPlugin|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\blog.js|app-pages-browser�FlagDependencyExportsPlugin|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\contact.js|app-pages-browser�FlagDependencyExportsPlugin|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\seo.js|app-pages-browser�Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\blog.js|app-pages-browser|webpack�Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\contact.js|app-pages-browser|webpack�Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\seo.js|app-pages-browser|webpack�Compilation/assets|chunk185�Compilation/assets|chunk787�Compilation/assets|chunk845�Compilation/assets|chunk123�Compilation/assets|chunk435�Compilation/assets|chunk634�TerserWebpackPlugin|static/chunks/app/layout-f1253b02c008bf76.js�TerserWebpackPlugin|static/chunks/app/(blog)/blog/[slug]/page-86ef9ea091861281.js�TerserWebpackPlugin|static/chunks/app/(portfolio)/case-study/[id]/page-e96babe07fa76f0c.js�TerserWebpackPlugin|static/chunks/app/(blog)/blogs/page-db6b67024b694ef3.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/contact/page-5a35b326f7e32bcd.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/team/page-74cea4b56f7b992d.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/about-me/page-8589b109680c121c.js�TerserWebpackPlugin|static/chunks/app/(service)/services/page-67f29eec2d304ef2.js�TerserWebpackPlugin|static/chunks/634-80c2b4bb326bdedc.js�RealContentHashPlugin|analyse|static/chunks/app/layout-f1253b02c008bf76.js�RealContentHashPlugin|analyse|static/chunks/app/(blog)/blog/[slug]/page-86ef9ea091861281.js�RealContentHashPlugin|analyse|static/chunks/app/(portfolio)/case-study/[id]/page-e96babe07fa76f0c.js�RealContentHashPlugin|analyse|static/chunks/app/(blog)/blogs/page-db6b67024b694ef3.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/contact/page-5a35b326f7e32bcd.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/team/page-74cea4b56f7b992d.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/about-me/page-8589b109680c121c.js�RealContentHashPlugin|analyse|static/chunks/app/(service)/services/page-67f29eec2d304ef2.js�RealContentHashPlugin|analyse|static/chunks/634-80c2b4bb326bdedc.js�webpack/lib/cache/ResolverCachePlugin��`�_ResolverCachePluginCacheMiss�context�path�request�query�fragment�module�directory�file�internal�fullySpecified�descriptionFilePath�descriptionFileData�descriptionFileRoot�relativePath�__innerRequest_request�__innerRequest_relativePath�__innerRequest�issuer�issuerLayer�compiler�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\RelatedPost.jsx�app-pages-browser�client�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\blog.js�� �G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\package.json�name�version�private�scripts�dependencies�zinisoft-frontend�1.3.0�dev�build�start�lint�start http://localhost:3000 && next dev�next build�next start�next lint`�@hookform/resolvers�aos�bootstrap�eslint-config-next�jarallax�next�photoswipe�react�react-accessible-accordion�react-animated-cursor�react-countup�react-dom�react-hook-form�react-modal-video�react-photoswipe-gallery�react-pro-sidebar�react-slick�react-tooltip�react-transition-group�react-visibility-sensor�sass�slick-carousel�util�yup�^2.9.11�^2.3.4�^5.1.3�^14.1.0�^1.12.8��^5.3.7�^18.2.0�^5.0.0�^2.7.0�^6.4.2��^7.44.3�^2.0.2�^2.2.7�^0.7.1�^0.29.0�^4.5.1�^4.4.5�^5.1.1�^1.62.1�^1.8.1�^0.12.5�^0.32.11�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3�./data/blog.js���webpack/lib/FileSystemInfo�Snapshot@� ���w�yB����G:\zinisoft\zinisoft_beta\zinisoft.net�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data�G:\zinisoft\zinisoft_beta�G:\zinisoft�G:\�safeTime�timestamp�hash!�p�w�yB�p�w�yB�eaea741f2ab67631�! �8�yB�8�yB�9ee201e165a02c33�������������G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\package.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\package.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\package.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\blog���G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\form\SearchBlog.jsx����� ������@� ���w�yB����������! �8�yB�8�yB��������������G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\form\package.json������G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\ContactForm.jsx���G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\contact.js�� ��Б./data/contact.js��@� ���w�yB���������!��w�yB��w�yB�035f9c59a2fd65fd�! �8�yB�8�yB��r����q����p����o����n����m����ݿG:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\contactr���v����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\jarallax\ContactJarallax.jsxw���x������ z��������@� ���w�yB�y�����������! �8�yB�8�yB��c����b����a����`����_����^����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\jarallax\package.json���c���g����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\app\layout.jsxh���i����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\seo.js�� j������./data/seo.js��@� P��w�yB�h����������!�=�w�yB�=�w�yB�00b8a2f4e48e0728�! �8�yB�8�yB��P����O����N����M����L����K����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\app\package.json��G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\seo�webpack/lib/NormalModule�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource
import { buildMetadata } from "./seo";
export const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
export const blogPage = {
    metadata: buildMetadata({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
�exportsType�namespace
�javascript/autoN�����alias?����mainFields�fallback` �server-only$�client-only$�next/dist/compiled/client-only$�next/dist/compiled/server-only�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js�react$�react-dom$�react/jsx-runtime$�react/jsx-dev-runtime$�react-dom/client$�react-dom/server$�react-dom/static$�react-dom/static.edge$�react-dom/static.browser$�react-dom/server.edge$�react-dom/server.browser$�react-server-dom-webpack/client$�react-server-dom-webpack/client.edge$�react-server-dom-webpack/server.edge$�react-server-dom-webpack/server.node$�@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts�next/dist/compiled/server-only/index�next/dist/compiled/client-only/index���next/dist/client/components/noop-head�next/dist/api/image�next/dist/api/constants�next/dist/api/router�next/dist/api/app-dynamic�next/dist/api/script�next/dist/api/link�next/dist/api/navigation�next/dist/api/headers�next/dist/api/og�next/dist/api/document�next/dist/api/app�next/dist/compiled/react�next/dist/compiled/react-dom�next/dist/compiled/react/jsx-runtime�next/dist/compiled/react/jsx-dev-runtime�next/dist/compiled/react-dom/client�next/dist/compiled/react-dom/server�next/dist/compiled/react-dom-experimental/static�next/dist/compiled/react-dom-experimental/static.edge�next/dist/compiled/react-dom-experimental/static.browser�next/dist/build/webpack/alias/react-dom-server-edge.js�next/dist/build/webpack/alias/react-dom-server-browser.js�next/dist/compiled/react-server-dom-webpack/client�next/dist/compiled/react-server-dom-webpack/client.edge�next/dist/compiled/react-server-dom-webpack/server.edge�next/dist/compiled/react-server-dom-webpack/server.node�next/dist/client/dev/noop-turbopack-hmr
�browser�����main`�assert�buffer�constants�crypto�domain�http�https�os���punycode�process�querystring�stream�string_decoder�sys�timers�tty$����vm�zlib�events�setImmediate�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js��G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js

�`�cacheable�parsed�fileDependencies�contextDependencies�missingDependencies�buildDependencies�valueDependencies&����assets�assetsInfo�rsc�strict�exportsArgument�topLevelDeclarations�snapshot�webpack/lib/util/LazySet�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js�webpack/DefinePlugin_hash�9119f935�92ecb81ca1485284�type�actions�isClientRef���
�__webpack_exports__��relatedPost�blogPage	 ���w�yB	��������webpack/lib/dependencies/HarmonyCompatibilityDependency
d����webpack/lib/dependencies/ConstDependency�`&

`&�webpack/lib/dependencies/HarmonyExportHeaderDependency	`.@�	`'@�

a	A�
	A�


cM	�webpack/lib/dependencies/HarmonyImportSideEffectDependency�./seo�

`&�webpack/lib/dependencies/HarmonyExportSpecifierDependency`��

a��

cM�webpack/lib/dependencies/HarmonyImportSpecifierDependencya�buildMetadata�A�����

c
	�import { buildMetadata } from "./seo";
export const contactPage = {
    metadata: buildMetadata({
        title: "Contact | ZiniSoft Ltd. Co.",
        description: "Get in touch with ZiniSoft Ltd. Co. to discuss your AI integration, enterprise system architecture, microservices, or custom software engineering project.",
        path: "/contact"
    }),
    hero: {
        titleLines: [
            "Let's discuss",
            "your project"
        ]
    },
    formIntro: "Tell us about your project and goals.",
    form: {
        validation: {
            nameRequired: "Name is required",
            organizationRequired: "Organization name is required",
            projectGoalRequired: "Please write your project goal.",
            timelineRequired: "Please write if you have a timeline.",
            emailRequired: "Email is required",
            emailInvalid: "Entered value does not match email format",
            projectClassificationRequired: "Please select a project classification",
            infrastructureEnvironmentRequired: "Please select an infrastructure environment",
            budgetRequired: "Please select your budget",
            termsRequired: "Accept Terms and Conditions is required"
        },
        fields: {
            name: {
                number: "01",
                label: "What's your name?"
            },
            organization: {
                number: "02",
                label: "What's the name of your organization?"
            },
            email: {
                number: "03",
                label: "What's your email address?"
            },
            projectClassification: {
                number: "04",
                label: "Project Classification",
                options: [
                    {
                        value: "",
                        label: "Select classification..."
                    },
                    {
                        value: "Custom AI Integration (Hermes/OpenClaw)",
                        label: "Custom AI Integration (Hermes/OpenClaw)"
                    },
                    {
                        value: "High-Performance Backend Engineering",
                        label: "High-Performance Backend Engineering"
                    },
                    {
                        value: "Enterprise Architecture Audit",
                        label: "Enterprise Architecture Audit"
                    },
                    {
                        value: "SaaS Ecosystem Deployment",
                        label: "SaaS Ecosystem Deployment"
                    }
                ]
            },
            infrastructureEnvironment: {
                number: "05",
                label: "Infrastructure Environment",
                options: [
                    {
                        value: "",
                        label: "Select infrastructure..."
                    },
                    {
                        value: "Cloud-Based",
                        label: "Cloud-Based"
                    },
                    {
                        value: "On-Premise / Local Server Cluster",
                        label: "On-Premise / Local Server Cluster"
                    }
                ]
            },
            projectGoal: {
                number: "06",
                label: "Tell us about your project goals."
            },
            timeline: {
                number: "07",
                label: "Estimated Timeline",
                options: [
                    {
                        value: "",
                        label: "Select timeline..."
                    },
                    {
                        value: "Immediate",
                        label: "Immediate"
                    },
                    {
                        value: "Within 3 months",
                        label: "Within 3 months"
                    },
                    {
                        value: "Planning phase",
                        label: "Planning phase"
                    }
                ]
            },
            budget: {
                number: "08",
                label: "What have you budgeted for this project?",
                options: [
                    {
                        value: "",
                        label: "Select your budget..."
                    },
                    {
                        value: "Undecided / Discovery Phase",
                        label: "Undecided / Discovery Phase",
                        description: "For projects in the early planning phase that require technical consulting, feasibility assessment, or architectural design before determining a formal budget."
                    },
                    {
                        value: "Under $5,000",
                        label: "Under $5,000 (~120M VND)",
                        description: "Purpose: For clients who want to quickly purchase and deploy ready-made packaged products from our proprietary SaaS ecosystem (such as Coco, Kindie, or Zapes) without major customization to core structures."
                    },
                    {
                        value: "$5,000 - $15,000",
                        label: "$5,000 - $15,000 (~120M - 350M VND)",
                        description: "Purpose: Best suited for building initial minimum viable products (MVPs), designing standard cross-platform applications, or integrating basic AI Agent modules into existing enterprise systems."
                    },
                    {
                        value: "$15,000 - $40,000",
                        label: "$15,000 - $40,000 (~350M - 1B VND)",
                        description: "Purpose: Standard budget range for true enterprise challenges: building microservices architecture, implementing high-throughput real-time data processing infrastructure (Go + QuestDB), or deploying self-operating AI Agents with hardware control."
                    },
                    {
                        value: "$40,000+",
                        label: "$40,000+ (Over 1B VND)",
                        description: "Purpose: Designed for full-scale digital transformation solutions, complex core systems, or advanced AI R&D with infrastructure serving millions of concurrent users with ultra-low latency."
                    }
                ]
            }
        },
        terms: "I agree to receive occasional ZiniSoft Ltd. Co. newsletters containing news and advice on creating personal and business progress via digital tech.",
        submitLabel: "Submit"
    },
    cta: {
        eyebrow: "Describe your project",
        label: "Contact ZiniSoft Ltd. Co.",
        href: "/contact",
        backgroundImage: "/assets/img/services-call-to-action-background.png"
    }
};
`
N���O���
P����������

�
������a85615c38254eca6
�����
��contactPage	 ���w�yB������

d����`&

`&`.@�`'@�

@���

`&��

@���aR_���

b
	S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
`
1���2���
3�����������

�
������a15ff862ce4e8d67
�����
�
�SITE_CONFIG�DEFAULT_OGђbuildWebPageSchema�buildOrganizationSchema�buildServiceSchema�buildBlogPostSchema�buildCaseStudySchema�cleanMetaDescription�buildFaqSchema	 ���w�yB
������`

d���A�~A�~

aA��A��

cAh[	Aa[	

c"FAt
�Am
�

cM\A�
A�


cc~A<�A5�

@�@�A��A��

@�@�A�FA�F

@�@�A� #A� #

@�@�A$$&A$$&

@�@�
��

a��

c��

c"F��

cM\��

cc~��

@�@���

@�@���

@�@���

@�@���

@�@�
>���
B����G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\data\works.jsC���D�������� F��������������������@� P��w�yB���E������������������������������
����! �8�yB�8�yB����
����/���
����.���
����-���
����,���
����+���
����*���������

�webpack/lib/ModuleGraph�RestoreProvidedData

;����provided�canMangleProvide�terminalBinding�exportsInfos����q���

��

�����������z�����������

�sources�runtimeRequirements�data�javascript�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceH/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource
import { buildMetadata } from "./seo";
export const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
export const blogPage = {
    metadata: buildMetadata({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
b%'-C��������(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)����source�size�mapsh���\/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
const blogPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
�{"finalSource":true}�map�bufferedMapConcatSourceRawSourceH/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource����t037undefined3945undefined417423undefined457469(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined	�__webpack_require__E����__webpack_require__.d�������webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource	/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   contactPage: function() { return /* binding */ contactPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�import { buildMetadata } from "./seo";
export const contactPage = {
    metadata: buildMetadata({
        title: "Contact | ZiniSoft Ltd. Co.",
        description: "Get in touch with ZiniSoft Ltd. Co. to discuss your AI integration, enterprise system architecture, microservices, or custom software engineering project.",
        path: "/contact"
    }),
    hero: {
        titleLines: [
            "Let's discuss",
            "your project"
        ]
    },
    formIntro: "Tell us about your project and goals.",
    form: {
        validation: {
            nameRequired: "Name is required",
            organizationRequired: "Organization name is required",
            projectGoalRequired: "Please write your project goal.",
            timelineRequired: "Please write if you have a timeline.",
            emailRequired: "Email is required",
            emailInvalid: "Entered value does not match email format",
            projectClassificationRequired: "Please select a project classification",
            infrastructureEnvironmentRequired: "Please select an infrastructure environment",
            budgetRequired: "Please select your budget",
            termsRequired: "Accept Terms and Conditions is required"
        },
        fields: {
            name: {
                number: "01",
                label: "What's your name?"
            },
            organization: {
                number: "02",
                label: "What's the name of your organization?"
            },
            email: {
                number: "03",
                label: "What's your email address?"
            },
            projectClassification: {
                number: "04",
                label: "Project Classification",
                options: [
                    {
                        value: "",
                        label: "Select classification..."
                    },
                    {
                        value: "Custom AI Integration (Hermes/OpenClaw)",
                        label: "Custom AI Integration (Hermes/OpenClaw)"
                    },
                    {
                        value: "High-Performance Backend Engineering",
                        label: "High-Performance Backend Engineering"
                    },
                    {
                        value: "Enterprise Architecture Audit",
                        label: "Enterprise Architecture Audit"
                    },
                    {
                        value: "SaaS Ecosystem Deployment",
                        label: "SaaS Ecosystem Deployment"
                    }
                ]
            },
            infrastructureEnvironment: {
                number: "05",
                label: "Infrastructure Environment",
                options: [
                    {
                        value: "",
                        label: "Select infrastructure..."
                    },
                    {
                        value: "Cloud-Based",
                        label: "Cloud-Based"
                    },
                    {
                        value: "On-Premise / Local Server Cluster",
                        label: "On-Premise / Local Server Cluster"
                    }
                ]
            },
            projectGoal: {
                number: "06",
                label: "Tell us about your project goals."
            },
            timeline: {
                number: "07",
                label: "Estimated Timeline",
                options: [
                    {
                        value: "",
                        label: "Select timeline..."
                    },
                    {
                        value: "Immediate",
                        label: "Immediate"
                    },
                    {
                        value: "Within 3 months",
                        label: "Within 3 months"
                    },
                    {
                        value: "Planning phase",
                        label: "Planning phase"
                    }
                ]
            },
            budget: {
                number: "08",
                label: "What have you budgeted for this project?",
                options: [
                    {
                        value: "",
                        label: "Select your budget..."
                    },
                    {
                        value: "Undecided / Discovery Phase",
                        label: "Undecided / Discovery Phase",
                        description: "For projects in the early planning phase that require technical consulting, feasibility assessment, or architectural design before determining a formal budget."
                    },
                    {
                        value: "Under $5,000",
                        label: "Under $5,000 (~120M VND)",
                        description: "Purpose: For clients who want to quickly purchase and deploy ready-made packaged products from our proprietary SaaS ecosystem (such as Coco, Kindie, or Zapes) without major customization to core structures."
                    },
                    {
                        value: "$5,000 - $15,000",
                        label: "$5,000 - $15,000 (~120M - 350M VND)",
                        description: "Purpose: Best suited for building initial minimum viable products (MVPs), designing standard cross-platform applications, or integrating basic AI Agent modules into existing enterprise systems."
                    },
                    {
                        value: "$15,000 - $40,000",
                        label: "$15,000 - $40,000 (~350M - 1B VND)",
                        description: "Purpose: Standard budget range for true enterprise challenges: building microservices architecture, implementing high-throughput real-time data processing infrastructure (Go + QuestDB), or deploying self-operating AI Agents with hardware control."
                    },
                    {
                        value: "$40,000+",
                        label: "$40,000+ (Over 1B VND)",
                        description: "Purpose: Designed for full-scale digital transformation solutions, complex core systems, or advanced AI R&D with infrastructure serving millions of concurrent users with ultra-low latency."
                    }
                ]
            }
        },
        terms: "I agree to receive occasional ZiniSoft Ltd. Co. newsletters containing news and advice on creating personal and business progress via digital tech.",
        submitLabel: "Submit"
    },
    cta: {
        eyebrow: "Describe your project",
        label: "Contact ZiniSoft Ltd. Co.",
        href: "/contact",
        backgroundImage: "/assets/img/services-call-to-action-background.png"
    }
};
d%'-R^���(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)��/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   contactPage: function() { return /* binding */ contactPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const contactPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Contact | ZiniSoft Ltd. Co.",
        description: "Get in touch with ZiniSoft Ltd. Co. to discuss your AI integration, enterprise system architecture, microservices, or custom software engineering project.",
        path: "/contact"
    }),
    hero: {
        titleLines: [
            "Let's discuss",
            "your project"
        ]
    },
    formIntro: "Tell us about your project and goals.",
    form: {
        validation: {
            nameRequired: "Name is required",
            organizationRequired: "Organization name is required",
            projectGoalRequired: "Please write your project goal.",
            timelineRequired: "Please write if you have a timeline.",
            emailRequired: "Email is required",
            emailInvalid: "Entered value does not match email format",
            projectClassificationRequired: "Please select a project classification",
            infrastructureEnvironmentRequired: "Please select an infrastructure environment",
            budgetRequired: "Please select your budget",
            termsRequired: "Accept Terms and Conditions is required"
        },
        fields: {
            name: {
                number: "01",
                label: "What's your name?"
            },
            organization: {
                number: "02",
                label: "What's the name of your organization?"
            },
            email: {
                number: "03",
                label: "What's your email address?"
            },
            projectClassification: {
                number: "04",
                label: "Project Classification",
                options: [
                    {
                        value: "",
                        label: "Select classification..."
                    },
                    {
                        value: "Custom AI Integration (Hermes/OpenClaw)",
                        label: "Custom AI Integration (Hermes/OpenClaw)"
                    },
                    {
                        value: "High-Performance Backend Engineering",
                        label: "High-Performance Backend Engineering"
                    },
                    {
                        value: "Enterprise Architecture Audit",
                        label: "Enterprise Architecture Audit"
                    },
                    {
                        value: "SaaS Ecosystem Deployment",
                        label: "SaaS Ecosystem Deployment"
                    }
                ]
            },
            infrastructureEnvironment: {
                number: "05",
                label: "Infrastructure Environment",
                options: [
                    {
                        value: "",
                        label: "Select infrastructure..."
                    },
                    {
                        value: "Cloud-Based",
                        label: "Cloud-Based"
                    },
                    {
                        value: "On-Premise / Local Server Cluster",
                        label: "On-Premise / Local Server Cluster"
                    }
                ]
            },
            projectGoal: {
                number: "06",
                label: "Tell us about your project goals."
            },
            timeline: {
                number: "07",
                label: "Estimated Timeline",
                options: [
                    {
                        value: "",
                        label: "Select timeline..."
                    },
                    {
                        value: "Immediate",
                        label: "Immediate"
                    },
                    {
                        value: "Within 3 months",
                        label: "Within 3 months"
                    },
                    {
                        value: "Planning phase",
                        label: "Planning phase"
                    }
                ]
            },
            budget: {
                number: "08",
                label: "What have you budgeted for this project?",
                options: [
                    {
                        value: "",
                        label: "Select your budget..."
                    },
                    {
                        value: "Undecided / Discovery Phase",
                        label: "Undecided / Discovery Phase",
                        description: "For projects in the early planning phase that require technical consulting, feasibility assessment, or architectural design before determining a formal budget."
                    },
                    {
                        value: "Under $5,000",
                        label: "Under $5,000 (~120M VND)",
                        description: "Purpose: For clients who want to quickly purchase and deploy ready-made packaged products from our proprietary SaaS ecosystem (such as Coco, Kindie, or Zapes) without major customization to core structures."
                    },
                    {
                        value: "$5,000 - $15,000",
                        label: "$5,000 - $15,000 (~120M - 350M VND)",
                        description: "Purpose: Best suited for building initial minimum viable products (MVPs), designing standard cross-platform applications, or integrating basic AI Agent modules into existing enterprise systems."
                    },
                    {
                        value: "$15,000 - $40,000",
                        label: "$15,000 - $40,000 (~350M - 1B VND)",
                        description: "Purpose: Standard budget range for true enterprise challenges: building microservices architecture, implementing high-throughput real-time data processing infrastructure (Go + QuestDB), or deploying self-operating AI Agents with hardware control."
                    },
                    {
                        value: "$40,000+",
                        label: "$40,000+ (Over 1B VND)",
                        description: "Purpose: Designed for full-scale digital transformation solutions, complex core systems, or advanced AI R&D with infrastructure serving millions of concurrent users with ultra-low latency."
                    }
                ]
            }
        },
        terms: "I agree to receive occasional ZiniSoft Ltd. Co. newsletters containing news and advice on creating personal and business progress via digital tech.",
        submitLabel: "Submit"
    },
    cta: {
        eyebrow: "Describe your project",
        label: "Contact ZiniSoft Ltd. Co.",
        href: "/contact",
        backgroundImage: "/assets/img/services-call-to-action-background.png"
    }
};
���	/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   contactPage: function() { return /* binding */ contactPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�[���c037undefined3945undefined8294(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined	�9����X�����^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�m����180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined	.����j���~��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource�`�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceW(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[185],{

/***/ 8664:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourcen�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourcelimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\app\\layout.jsx")`k�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))��buffer�source�size�maps�hash`Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))��{"finalSource":true}�map�bufferedMapReplaceSourceRawSourcelimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\app\\layout.jsx")m0107Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))undefined


/***/ })��buffer�source�size�maps�hash�/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))

/***/ })��{"finalSource":true}�map�bufferedMapConcatSourceRawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

ReplaceSourceRawSourcelimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\app\\layout.jsx")m0107Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))undefined	RawSource


/***/ }),

/***/ 98191:
�e�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourcep9�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceW// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource.�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�export * from "../shared/lib/app-dynamic";
export { default } from "../shared/lib/app-dynamic"; //# sourceMappingURL=app-dynamic.js.map
b)+^����buffer�source�size�maps�hash*
 //# sourceMappingURL=app-dynamic.js.map
��{"finalSource":false}�map�bufferedMapReplaceSourceRawSource�export * from "../shared/lib/app-dynamic";
export { default } from "../shared/lib/app-dynamic"; //# sourceMappingURL=app-dynamic.js.map
041undefined4394undefined9
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from "react";
import AOS from "aos";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import "photoswipe/dist/photoswipe.css";
import "aos/dist/aos.css";
import "react-pro-sidebar/dist/css/styles.css";
import dynamic from "next/dynamic";
import { usePathname } from "next/navigation";
import { buildOrganizationSchema } from "../data/seo";
const AnimatedCursor = dynamic(()=>import("react-animated-cursor"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("react-animated-cursor")
            ]
    },
    ssr: false
});
import "../public/assets/scss/main.scss";
const ScrollToTop = dynamic(()=>import("../components/ScrollToTop"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("../components/ScrollToTop")
            ]
    },
    ssr: false
});
export default function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = useState(false);
    const pathname = usePathname();
    useEffect(()=>{
        const initializeAOS = ()=>{
            AOS.init({
                duration: 1200,
                once: true
            });
            AOS.refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    useEffect(()=>{
        if ("object" !== "undefined") {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = buildOrganizationSchema();
    return /*#__PURE__*/ _jsx("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ _jsxs("body", {
            children: [
                /*#__PURE__*/ _jsx("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ _jsx(ScrollToTop, {}),
                " "
            ]
        })
    });
}
c!={}_������@B[]������.4:X�����06<^^�����
nu������IW���h~��"&hk�	�	������������__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._�__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23))�/*require.resolve*/�44981���Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029))��66029��__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._��true�__WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._���1/* __next_internal_client_entry_do_not_use__ default auto */ 










const AnimatedCursor = __WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._(()=>__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(44981)
            ]
    },
    ssr: false
});

const ScrollToTop = __WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._(()=>Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(66029)
            ]
    },
    ssr: false
});
function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    const pathname = __WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._();
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        const initializeAOS = ()=>{
            __WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._({
                duration: 1200,
                once: true
            });
            __WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    __WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._(()=>{
        if (true) {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = __WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._();
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("body", {
            children: [
                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(ScrollToTop, {}),
                " "
            ]
        })
    });
}
����	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from "react";
import AOS from "aos";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import "photoswipe/dist/photoswipe.css";
import "aos/dist/aos.css";
import "react-pro-sidebar/dist/css/styles.css";
import dynamic from "next/dynamic";
import { usePathname } from "next/navigation";
import { buildOrganizationSchema } from "../data/seo";
const AnimatedCursor = dynamic(()=>import("react-animated-cursor"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("react-animated-cursor")
            ]
    },
    ssr: false
});
import "../public/assets/scss/main.scss";
const ScrollToTop = dynamic(()=>import("../components/ScrollToTop"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("../components/ScrollToTop")
            ]
    },
    ssr: false
});
export default function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = useState(false);
    const pathname = usePathname();
    useEffect(()=>{
        const initializeAOS = ()=>{
            AOS.init({
                duration: 1200,
                once: true
            });
            AOS.refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    useEffect(()=>{
        if ("object" !== "undefined") {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = buildOrganizationSchema();
    return /*#__PURE__*/ _jsx("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ _jsxs("body", {
            children: [
                /*#__PURE__*/ _jsx("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ _jsx(ScrollToTop, {}),
                " "
            ]
        })
    });
}
�61123undefined125168undefined170191undefined193232undefined234279undefined281320undefined322347undefined349395undefined397431undefined433478undefined480533undefined558564__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined570600__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23))undefined669687/*require.resolve*/undefined68971144981undefined754794undefined816822__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined828862Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029))undefined931949/*require.resolve*/undefined95197766029undefined10201034undefined11341141__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined11721182__WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._undefined11911199__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined12551262__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._undefined13531367__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._undefined17601768__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined17881811trueundefined18961918__WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._undefined19481951__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20822086__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined21522155__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined24382441__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefineda
_X�����Zc��D���K��&	�	�	7
�
���app_dynamic_default()��(0,react.useState)�(0,navigation.usePathname)�(0,react.useEffect)�aos_default().init�aos_default().refreshHard��(0,seo/* buildOrganizationSchema */.il)�(0,jsx_runtime.jsx)�(0,jsx_runtime.jsxs)����buffer�source�size�maps�hash�// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

 //# sourceMappingURL=app-dynamic.js.map

// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 










const AnimatedCursor = app_dynamic_default()(()=>__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(44981)
            ]
    },
    ssr: false
});

const ScrollToTop = app_dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(66029)
            ]
    },
    ssr: false
});
function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = (0,react.useState)(false);
    const pathname = (0,navigation.usePathname)();
    (0,react.useEffect)(()=>{
        const initializeAOS = ()=>{
            aos_default().init({
                duration: 1200,
                once: true
            });
            aos_default().refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    (0,react.useEffect)(()=>{
        if (true) {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = (0,seo/* buildOrganizationSchema */.il)();
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("body", {
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ (0,jsx_runtime.jsx)(ScrollToTop, {}),
                " "
            ]
        })
    });
}
��{"finalSource":true}�map�bufferedMap`
ConcatSourceRawSourceW// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

ReplaceSourceReplaceSourceRawSource�export * from "../shared/lib/app-dynamic";
export { default } from "../shared/lib/app-dynamic"; //# sourceMappingURL=app-dynamic.js.map
041undefined4394undefined	RawSource9
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
���	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from "react";
import AOS from "aos";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import "photoswipe/dist/photoswipe.css";
import "aos/dist/aos.css";
import "react-pro-sidebar/dist/css/styles.css";
import dynamic from "next/dynamic";
import { usePathname } from "next/navigation";
import { buildOrganizationSchema } from "../data/seo";
const AnimatedCursor = dynamic(()=>import("react-animated-cursor"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("react-animated-cursor")
            ]
    },
    ssr: false
});
import "../public/assets/scss/main.scss";
const ScrollToTop = dynamic(()=>import("../components/ScrollToTop"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("../components/ScrollToTop")
            ]
    },
    ssr: false
});
export default function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = useState(false);
    const pathname = usePathname();
    useEffect(()=>{
        const initializeAOS = ()=>{
            AOS.init({
                duration: 1200,
                once: true
            });
            AOS.refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    useEffect(()=>{
        if ("object" !== "undefined") {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = buildOrganizationSchema();
    return /*#__PURE__*/ _jsx("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ _jsxs("body", {
            children: [
                /*#__PURE__*/ _jsx("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ _jsx(ScrollToTop, {}),
                " "
            ]
        })
    });
}
�61123undefined125168undefined170191undefined193232undefined234279undefined281320undefined322347undefined349395undefined397431undefined433478undefined480533undefined558564__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined570600__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23))undefined669687/*require.resolve*/undefined68971144981undefined754794undefined816822__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined828862Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029))undefined931949/*require.resolve*/undefined95197766029undefined10201034undefined11341141__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined11721182__WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._undefined11911199__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined12551262__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._undefined13531367__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._undefined17601768__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined17881811trueundefined18961918__WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._undefined19481951__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20822086__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined21522155__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined24382441__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined�95177app_dynamic_default()undefined445527app_dynamic_default()undefined908992(0,react.useState)undefined10231114(0,navigation.usePathname)undefined11231209(0,react.useEffect)undefined12651348aos_default().initundefined14391536aos_default().refreshHardundefined19292015(0,react.useEffect)undefined21232238(0,seo/* buildOrganizationSchema */.il)undefined22682342(0,jsx_runtime.jsx)undefined24732549(0,jsx_runtime.jsxs)undefined26152689(0,jsx_runtime.jsx)undefined29723046(0,jsx_runtime.jsx)undefined


/***/ })�/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

 //# sourceMappingURL=app-dynamic.js.map

// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 










const AnimatedCursor = app_dynamic_default()(()=>__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(44981)
            ]
    },
    ssr: false
});

const ScrollToTop = app_dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(66029)
            ]
    },
    ssr: false
});
function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = (0,react.useState)(false);
    const pathname = (0,navigation.usePathname)();
    (0,react.useEffect)(()=>{
        const initializeAOS = ()=>{
            aos_default().init({
                duration: 1200,
                once: true
            });
            aos_default().refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    (0,react.useEffect)(()=>{
        if (true) {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = (0,seo/* buildOrganizationSchema */.il)();
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("body", {
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ (0,jsx_runtime.jsx)(ScrollToTop, {}),
                " "
            ]
        })
    });
}


/***/ })��`�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�W// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

ReplaceSource��export * from "../shared/lib/app-dynamic";
export { default } from "../shared/lib/app-dynamic"; //# sourceMappingURL=app-dynamic.js.map
041undefined4394undefined�9
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
���	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from "react";
import AOS from "aos";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import "photoswipe/dist/photoswipe.css";
import "aos/dist/aos.css";
import "react-pro-sidebar/dist/css/styles.css";
import dynamic from "next/dynamic";
import { usePathname } from "next/navigation";
import { buildOrganizationSchema } from "../data/seo";
const AnimatedCursor = dynamic(()=>import("react-animated-cursor"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("react-animated-cursor")
            ]
    },
    ssr: false
});
import "../public/assets/scss/main.scss";
const ScrollToTop = dynamic(()=>import("../components/ScrollToTop"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("../components/ScrollToTop")
            ]
    },
    ssr: false
});
export default function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = useState(false);
    const pathname = usePathname();
    useEffect(()=>{
        const initializeAOS = ()=>{
            AOS.init({
                duration: 1200,
                once: true
            });
            AOS.refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    useEffect(()=>{
        if ("object" !== "undefined") {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = buildOrganizationSchema();
    return /*#__PURE__*/ _jsx("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ _jsxs("body", {
            children: [
                /*#__PURE__*/ _jsx("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ _jsx(ScrollToTop, {}),
                " "
            ]
        })
    });
}
�61123undefined125168undefined170191undefined193232undefined234279undefined281320undefined322347undefined349395undefined397431undefined433478undefined480533undefined558564__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined570600__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23))undefined669687/*require.resolve*/undefined68971144981undefined754794undefined816822__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined828862Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029))undefined931949/*require.resolve*/undefined95197766029undefined10201034undefined11341141__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined11721182__WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._undefined11911199__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined12551262__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._undefined13531367__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._undefined17601768__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined17881811trueundefined18961918__WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._undefined19481951__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20822086__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined21522155__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined24382441__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined�95177app_dynamic_default()undefined445527app_dynamic_default()undefined908992(0,react.useState)undefined10231114(0,navigation.usePathname)undefined11231209(0,react.useEffect)undefined12651348aos_default().initundefined14391536aos_default().refreshHardundefined19292015(0,react.useEffect)undefined21232238(0,seo/* buildOrganizationSchema */.il)undefined22682342(0,jsx_runtime.jsx)undefined24732549(0,jsx_runtime.jsxs)undefined26152689(0,jsx_runtime.jsx)undefined29723046(0,jsx_runtime.jsx)undefined��,

/***/ 69221:
Ձ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�+*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��,

/***/ 61233:
Z �webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource)/***/ (function(module) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource1`�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource}_"use strict";
!function(e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AOS = t() : e.AOS = t();
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});
c$Zu@��� true�0��buffer�source�size�maps�hash�^
!function(e, t) {
     true ? module.exports = t() : 0;
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});
��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource}_"use strict";
!function(e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AOS = t() : e.AOS = t();
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});
.012undefined3690 trueundefined1172360undefined


/***/ })��^/***/ (function(module) {

"use strict";

!function(e, t) {
     true ? module.exports = t() : 0;
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});


/***/ })���)/***/ (function(module) {

"use strict";
�}_"use strict";
!function(e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AOS = t() : e.AOS = t();
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});
.012undefined3690 trueundefined1172360undefined��,

/***/ 47907:
�
�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceR/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceXexport * from "../client/components/navigation"; //# sourceMappingURL=navigation.js.map
`/���buffer�source�size�maps�hashz/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
 //# sourceMappingURL=navigation.js.map
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceR/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
ReplaceSourceRawSourceXexport * from "../client/components/navigation"; //# sourceMappingURL=navigation.js.map
047undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
 //# sourceMappingURL=navigation.js.map


/***/ })��	���R/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
�Xexport * from "../client/components/navigation"; //# sourceMappingURL=navigation.js.map
047undefined��,

/***/ 24930:
V�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceG/***/ (function(module, exports, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource	�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourcej"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return dynamic;
    }
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _loadable = /*#__PURE__*/ _interop_require_default._(require("./lazy-dynamic/loadable"));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if ("production" !== "production") {
                if (isLoading) {
                    return null;
                }
                if (error) {
                    return /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
                        children: [
                            error.message,
                            /*#__PURE__*/ (0, _jsxruntime.jsx)("br", {}),
                            error.stack
                        ]
                    });
                }
            }
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map
h:NNQzU�����4:<N��������25���Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "default", (��__webpack_require__�86921��3827��64090��84795�false�{}��buffer�source�size�maps�hashg
Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return dynamic;
    }
}));
const _interop_require_default = __webpack_require__(86921);
const _jsxruntime = __webpack_require__(3827);
const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(64090));
const _loadable = /*#__PURE__*/ _interop_require_default._(__webpack_require__(84795));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if (false) {}
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map
��{"finalSource":true}�map�bufferedMapReplaceSourceRawSourcej"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return dynamic;
    }
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _loadable = /*#__PURE__*/ _interop_require_default._(require("./lazy-dynamic/loadable"));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if ("production" !== "production") {
                if (isLoading) {
                    return null;
                }
                if (error) {
                    return /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
                        children: [
                            error.message,
                            /*#__PURE__*/ (0, _jsxruntime.jsx)("br", {}),
                            error.stack
                        ]
                    });
                }
            }
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map
�012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined200200))undefined236242__webpack_require__undefined24428486921undefined308314__webpack_require__undefined3163343827undefined394400__webpack_require__undefined40240864090undefined472478__webpack_require__undefined48050484795undefined790818falseundefined8211279{}undefined


/***/ })��/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return dynamic;
    }
}));
const _interop_require_default = __webpack_require__(86921);
const _jsxruntime = __webpack_require__(3827);
const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(64090));
const _loadable = /*#__PURE__*/ _interop_require_default._(__webpack_require__(84795));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if (false) {}
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map


/***/ })���G/***/ (function(module, exports, __webpack_require__) {

"use strict";
�j"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return dynamic;
    }
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _loadable = /*#__PURE__*/ _interop_require_default._(require("./lazy-dynamic/loadable"));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if ("production" !== "production") {
                if (isLoading) {
                    return null;
                }
                if (error) {
                    return /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
                        children: [
                            error.message,
                            /*#__PURE__*/ (0, _jsxruntime.jsx)("br", {}),
                            error.stack
                        ]
                    });
                }
            }
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map
�012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined200200))undefined236242__webpack_require__undefined24428486921undefined308314__webpack_require__undefined3163343827undefined394400__webpack_require__undefined40240864090undefined472478__webpack_require__undefined48050484795undefined790818falseundefined8211279{}undefined��,

/***/ 19721:
�
�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceX/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource1/* __next_internal_client_entry_do_not_use__  cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "BailoutToCSR", {
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
});
const _bailouttocsr = require("./bailout-to-csr");
function BailoutToCSR(param) {
    let { reason, children } = param;
    if ("object" === "undefined") {
        throw new _bailouttocsr.BailoutToCSRError(reason);
    }
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map
	c5ACoM���� &(9������Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "BailoutToCSR", (��__webpack_require__�99775�false�{}��buffer�source�size�maps�hash�/* __next_internal_client_entry_do_not_use__  cjs */ 
Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "BailoutToCSR", ({
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
}));
const _bailouttocsr = __webpack_require__(99775);
function BailoutToCSR(param) {
    let { reason, children } = param;
    if (false) {}
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map
��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource1/* __next_internal_client_entry_do_not_use__  cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "BailoutToCSR", {
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
});
const _bailouttocsr = require("./bailout-to-csr");
function BailoutToCSR(param) {
    let { reason, children } = param;
    if ("object" === "undefined") {
        throw new _bailouttocsr.BailoutToCSRError(reason);
    }
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map
5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134180Object.defineProperty(exports, "BailoutToCSR", (undefined263263))undefined288294__webpack_require__undefined29631399775undefined394417falseundefined420485{}undefined


/***/ })�6/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
/* __next_internal_client_entry_do_not_use__  cjs */ 
Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "BailoutToCSR", ({
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
}));
const _bailouttocsr = __webpack_require__(99775);
function BailoutToCSR(param) {
    let { reason, children } = param;
    if (false) {}
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map


/***/ })���X/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
�1/* __next_internal_client_entry_do_not_use__  cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "BailoutToCSR", {
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
});
const _bailouttocsr = require("./bailout-to-csr");
function BailoutToCSR(param) {
    let { reason, children } = param;
    if ("object" === "undefined") {
        throw new _bailouttocsr.BailoutToCSRError(reason);
    }
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map
5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134180Object.defineProperty(exports, "BailoutToCSR", (undefined263263))undefined288294__webpack_require__undefined29631399775undefined394417falseundefined420485{}undefined��,

/***/ 84795:
�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceX/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourceJ	�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return _default;
    }
});
const _jsxruntime = require("react/jsx-runtime");
const _react = require("react");
const _dynamicbailouttocsr = require("./dynamic-bailout-to-csr");
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map
h:NNQzM������
<BD]��Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "default", (��__webpack_require__�3827��64090��19721��buffer�source�size�maps�hash�
Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return _default;
    }
}));
const _jsxruntime = __webpack_require__(3827);
const _react = __webpack_require__(64090);
const _dynamicbailouttocsr = __webpack_require__(19721);
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map
��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return _default;
    }
});
const _jsxruntime = require("react/jsx-runtime");
const _react = require("react");
const _dynamicbailouttocsr = require("./dynamic-bailout-to-csr");
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map
A012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined201201))undefined224230__webpack_require__undefined2322503827undefined269275__webpack_require__undefined27728364090undefined316322__webpack_require__undefined32434919721undefined


/***/ })�-/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return _default;
    }
}));
const _jsxruntime = __webpack_require__(3827);
const _react = __webpack_require__(64090);
const _dynamicbailouttocsr = __webpack_require__(19721);
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map


/***/ })���X/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
��"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return _default;
    }
});
const _jsxruntime = require("react/jsx-runtime");
const _react = require("react");
const _dynamicbailouttocsr = require("./dynamic-bailout-to-csr");
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map
A012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined201201))undefined224230__webpack_require__undefined2322503827undefined269275__webpack_require__undefined27728364090undefined316322__webpack_require__undefined32434919721undefined��,

/***/ 17002:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })�F/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ })���/***/ (function() {

�'// extracted by mini-css-extract-plugin��,

/***/ 80864:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })�����������,

/***/ 68864:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })�����������,

/***/ 8694:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })�����������,

/***/ 55768:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })y����{���~������������,

/***/ 17125:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/***/ (function() {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource'// extracted by mini-css-extract-plugin��buffer�source�size�maps�hash'// extracted by mini-css-extract-plugin��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource�


/***/ })r����t���w���x����z�����}���~���

},
�webpack/lib/util/registerExternalSerializer�webpack-sources/PrefixSource�/******/ 9function(__webpack_require__) { // webpackRuntimeModules
�var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [417,971,69,744], function() { return __webpack_exec__(8664); });
var __webpack_exports__ = __webpack_require__.O();
_N_E = __webpack_exports__;
}
]);�]�(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[185],{

/***/ 8664:
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))

/***/ }),

/***/ 98191:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

 //# sourceMappingURL=app-dynamic.js.map

// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 










const AnimatedCursor = app_dynamic_default()(()=>__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(44981)
            ]
    },
    ssr: false
});

const ScrollToTop = app_dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029)), {
    loadableGenerated: {
        webpack: ()=>[
                /*require.resolve*/(66029)
            ]
    },
    ssr: false
});
function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = (0,react.useState)(false);
    const pathname = (0,navigation.usePathname)();
    (0,react.useEffect)(()=>{
        const initializeAOS = ()=>{
            aos_default().init({
                duration: 1200,
                once: true
            });
            aos_default().refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    (0,react.useEffect)(()=>{
        if (true) {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = (0,seo/* buildOrganizationSchema */.il)();
    return /*#__PURE__*/ (0,jsx_runtime.jsx)("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("body", {
            children: [
                /*#__PURE__*/ (0,jsx_runtime.jsx)("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ (0,jsx_runtime.jsx)(ScrollToTop, {}),
                " "
            ]
        })
    });
}


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ }),

/***/ 61233:
/***/ (function(module) {

"use strict";

!function(e, t) {
     true ? module.exports = t() : 0;
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});


/***/ }),

/***/ 47907:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
 //# sourceMappingURL=navigation.js.map


/***/ }),

/***/ 24930:
/***/ (function(module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return dynamic;
    }
}));
const _interop_require_default = __webpack_require__(86921);
const _jsxruntime = __webpack_require__(3827);
const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(64090));
const _loadable = /*#__PURE__*/ _interop_require_default._(__webpack_require__(84795));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if (false) {}
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map


/***/ }),

/***/ 19721:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
/* __next_internal_client_entry_do_not_use__  cjs */ 
Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "BailoutToCSR", ({
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
}));
const _bailouttocsr = __webpack_require__(99775);
function BailoutToCSR(param) {
    let { reason, children } = param;
    if (false) {}
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map


/***/ }),

/***/ 84795:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";

Object.defineProperty(exports, "__esModule", ({
    value: true
}));
Object.defineProperty(exports, "default", ({
    enumerable: true,
    get: function() {
        return _default;
    }
}));
const _jsxruntime = __webpack_require__(3827);
const _react = __webpack_require__(64090);
const _dynamicbailouttocsr = __webpack_require__(19721);
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map


/***/ }),

/***/ 17002:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 80864:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 68864:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 8694:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 55768:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 17125:
/***/ (function() {

// extracted by mini-css-extract-plugin

/***/ })

},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [417,971,69,744], function() { return __webpack_exec__(8664); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);�{}�@��W(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[185],{

/***/ 8664:
�[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�limport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\app\\layout.jsx")m0107Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 98191))undefined	RawSource


/***/ })�,

/***/ 98191:
�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�W// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ RootLayout; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.js
var aos = __webpack_require__(61233);
var aos_default = /*#__PURE__*/__webpack_require__.n(aos);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick.css
var slick = __webpack_require__(55768);
// EXTERNAL MODULE: ./node_modules/slick-carousel/slick/slick-theme.css
var slick_theme = __webpack_require__(8694);
// EXTERNAL MODULE: ./node_modules/photoswipe/dist/photoswipe.css
var photoswipe = __webpack_require__(80864);
// EXTERNAL MODULE: ./node_modules/aos/dist/aos.css
var dist_aos = __webpack_require__(17002);
// EXTERNAL MODULE: ./node_modules/react-pro-sidebar/dist/css/styles.css
var styles = __webpack_require__(68864);
// EXTERNAL MODULE: ./node_modules/next/dist/shared/lib/app-dynamic.js
var app_dynamic = __webpack_require__(24930);
var app_dynamic_default = /*#__PURE__*/__webpack_require__.n(app_dynamic);
;// CONCATENATED MODULE: ./node_modules/next/dist/api/app-dynamic.js

ReplaceSource��export * from "../shared/lib/app-dynamic";
export { default } from "../shared/lib/app-dynamic"; //# sourceMappingURL=app-dynamic.js.map
041undefined4394undefined�9
// EXTERNAL MODULE: ./node_modules/next/dist/api/navigation.js
var navigation = __webpack_require__(47907);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
// EXTERNAL MODULE: ./public/assets/scss/main.scss
var main = __webpack_require__(17125);
;// CONCATENATED MODULE: ./app/layout.jsx
���	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from "react";
import AOS from "aos";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import "photoswipe/dist/photoswipe.css";
import "aos/dist/aos.css";
import "react-pro-sidebar/dist/css/styles.css";
import dynamic from "next/dynamic";
import { usePathname } from "next/navigation";
import { buildOrganizationSchema } from "../data/seo";
const AnimatedCursor = dynamic(()=>import("react-animated-cursor"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("react-animated-cursor")
            ]
    },
    ssr: false
});
import "../public/assets/scss/main.scss";
const ScrollToTop = dynamic(()=>import("../components/ScrollToTop"), {
    loadableGenerated: {
        webpack: ()=>[
                require.resolveWeak("../components/ScrollToTop")
            ]
    },
    ssr: false
});
export default function RootLayout(param) {
    let { children } = param;
    const [showCursor, setShowCursor] = useState(false);
    const pathname = usePathname();
    useEffect(()=>{
        const initializeAOS = ()=>{
            AOS.init({
                duration: 1200,
                once: true
            });
            AOS.refreshHard(); // Use refreshHard to ensure AOS picks up all elements
        };
        // Delay AOS initialization by 100ms to ensure all elements are rendered
        const timeoutId = setTimeout(()=>{
            initializeAOS();
        }, 100);
        // Cleanup function to clear timeout
        return ()=>{
            clearTimeout(timeoutId);
        };
    }, [
        pathname
    ]);
    useEffect(()=>{
        if ("object" !== "undefined") {
            setShowCursor(true);
        }
    }, []);
    const globalSchema = buildOrganizationSchema();
    return /*#__PURE__*/ _jsx("html", {
        suppressHydrationWarning: true,
        className: "html",
        lang: "en",
        children: /*#__PURE__*/ _jsxs("body", {
            children: [
                /*#__PURE__*/ _jsx("script", {
                    type: "application/ld+json",
                    dangerouslySetInnerHTML: {
                        __html: JSON.stringify(globalSchema)
                    }
                }),
                children,
                showCursor && /*#__PURE__*/ _jsx(ScrollToTop, {}),
                " "
            ]
        })
    });
}
�61123undefined125168undefined170191undefined193232undefined234279undefined281320undefined322347undefined349395undefined397431undefined433478undefined480533undefined558564__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined570600__webpack_require__.e(/* import() */ 981).then(__webpack_require__.t.bind(__webpack_require__, 44981, 23))undefined669687/*require.resolve*/undefined68971144981undefined754794undefined816822__WEBPACK_MODULE_REFERENCE__9_5b2264656661756c74225d_call_directImport_asiSafe1__._undefined828862Promise.all(/* import() */[__webpack_require__.e(703), __webpack_require__.e(29)]).then(__webpack_require__.bind(__webpack_require__, 66029))undefined931949/*require.resolve*/undefined95197766029undefined10201034undefined11341141__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined11721182__WEBPACK_MODULE_REFERENCE__10_5b22757365506174686e616d65225d_call_directImport_asiSafe1__._undefined11911199__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined12551262__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c22696e6974225d_call_asiSafe1__._undefined13531367__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74222c227265667265736848617264225d_call_asiSafe1__._undefined17601768__WEBPACK_MODULE_REFERENCE__1_5b22757365456666656374225d_call_directImport_asiSafe1__._undefined17881811trueundefined18961918__WEBPACK_MODULE_REFERENCE__11_5b226275696c644f7267616e697a6174696f6e536368656d61225d_call_directImport_asiSafe1__._undefined19481951__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20822086__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined21522155__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined24382441__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined�95177app_dynamic_default()undefined445527app_dynamic_default()undefined908992(0,react.useState)undefined10231114(0,navigation.usePathname)undefined11231209(0,react.useEffect)undefined12651348aos_default().initundefined14391536aos_default().refreshHardundefined19292015(0,react.useEffect)undefined21232238(0,seo/* buildOrganizationSchema */.il)undefined22682342(0,jsx_runtime.jsx)undefined24732549(0,jsx_runtime.jsxs)undefined26152689(0,jsx_runtime.jsx)undefined29723046(0,jsx_runtime.jsx)undefined���,

/***/ 69221:
�����Q�������,

/***/ 61233:
�)/***/ (function(module) {

"use strict";
�}_"use strict";
!function(e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.AOS = t() : e.AOS = t();
}(void 0, function() {
    return function(e) {
        function t(o) {
            if (n[o]) return n[o].exports;
            var i = n[o] = {
                exports: {},
                id: o,
                loaded: !1
            };
            return e[o].call(i.exports, i, i.exports, t), i.loaded = !0, i.exports;
        }
        var n = {};
        return t.m = e, t.c = n, t.p = "dist/", t(0);
    }([
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            var i = Object.assign || function(e) {
                for(var t = 1; t < arguments.length; t++){
                    var n = arguments[t];
                    for(var o in n)Object.prototype.hasOwnProperty.call(n, o) && (e[o] = n[o]);
                }
                return e;
            }, r = n(1), a = (o(r), n(6)), u = o(a), c = n(7), s = o(c), f = n(8), d = o(f), l = n(9), p = o(l), m = n(10), b = o(m), v = n(11), y = o(v), g = n(14), h = o(g), w = [], k = !1, x = {
                offset: 120,
                delay: 0,
                easing: "ease",
                duration: 400,
                disable: !1,
                once: !1,
                startEvent: "DOMContentLoaded",
                throttleDelay: 99,
                debounceDelay: 50,
                disableMutationObserver: !1
            }, j = function() {
                var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                if (e && (k = !0), k) return w = (0, y.default)(w, x), (0, b.default)(w, x.once), w;
            }, O = function() {
                w = (0, h.default)(), j();
            }, M = function() {
                w.forEach(function(e, t) {
                    e.node.removeAttribute("data-aos"), e.node.removeAttribute("data-aos-easing"), e.node.removeAttribute("data-aos-duration"), e.node.removeAttribute("data-aos-delay");
                });
            }, S = function(e) {
                return e === !0 || "mobile" === e && p.default.mobile() || "phone" === e && p.default.phone() || "tablet" === e && p.default.tablet() || "function" == typeof e && e() === !0;
            }, _ = function(e) {
                x = i(x, e), w = (0, h.default)();
                var t = document.all && !window.atob;
                return S(x.disable) || t ? M() : (x.disableMutationObserver || d.default.isSupported() || (console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '), x.disableMutationObserver = !0), document.querySelector("body").setAttribute("data-aos-easing", x.easing), document.querySelector("body").setAttribute("data-aos-duration", x.duration), document.querySelector("body").setAttribute("data-aos-delay", x.delay), "DOMContentLoaded" === x.startEvent && [
                    "complete",
                    "interactive"
                ].indexOf(document.readyState) > -1 ? j(!0) : "load" === x.startEvent ? window.addEventListener(x.startEvent, function() {
                    j(!0);
                }) : document.addEventListener(x.startEvent, function() {
                    j(!0);
                }), window.addEventListener("resize", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("orientationchange", (0, s.default)(j, x.debounceDelay, !0)), window.addEventListener("scroll", (0, u.default)(function() {
                    (0, b.default)(w, x.once);
                }, x.throttleDelay)), x.disableMutationObserver || d.default.ready("[data-aos]", O), w);
            };
            e.exports = {
                init: _,
                refresh: j,
                refreshHard: O
            };
        },
        function(e, t) {},
        ,
        ,
        ,
        ,
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function o(t) {
                        var n = b, o = v;
                        return b = v = void 0, k = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return k = e, h = setTimeout(f, t), M ? o(e) : g;
                    }
                    function a(e) {
                        var n = e - w, o = e - k, i = t - n;
                        return S ? j(i, y - o) : i;
                    }
                    function c(e) {
                        var n = e - w, o = e - k;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = O();
                        return c(e) ? d(e) : void (h = setTimeout(f, a(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? o(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), k = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(O());
                    }
                    function m() {
                        var e = O(), n = c(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), o(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, k = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return t = u(t) || 0, i(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? x(u(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e, t, o) {
                    var r = !0, a = !0;
                    if ("function" != typeof e) throw new TypeError(s);
                    return i(o) && (r = "leading" in o ? !!o.leading : r, a = "trailing" in o ? !!o.trailing : a), n(e, t, {
                        leading: r,
                        maxWait: t,
                        trailing: a
                    });
                }
                function i(e) {
                    var t = "undefined" == typeof e ? "undefined" : c(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function r(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : c(e));
                }
                function a(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : c(e)) || r(e) && k.call(e) == d;
                }
                function u(e) {
                    if ("number" == typeof e) return e;
                    if (a(e)) return f;
                    if (i(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = i(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(l, "");
                    var n = m.test(e);
                    return n || b.test(e) ? v(e.slice(2), n ? 2 : 8) : p.test(e) ? f : +e;
                }
                var c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, s = "Expected a function", f = NaN, d = "[object Symbol]", l = /^\s+|\s+$/g, p = /^[-+]0x[0-9a-f]+$/i, m = /^0b[01]+$/i, b = /^0o[0-7]+$/i, v = parseInt, y = "object" == ("undefined" == typeof t ? "undefined" : c(t)) && t && t.Object === Object && t, g = "object" == ("undefined" == typeof self ? "undefined" : c(self)) && self && self.Object === Object && self, h = y || g || Function("return this")(), w = Object.prototype, k = w.toString, x = Math.max, j = Math.min, O = function() {
                    return h.Date.now();
                };
                e.exports = o;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            (function(t) {
                "use strict";
                function n(e, t, n) {
                    function i(t) {
                        var n = b, o = v;
                        return b = v = void 0, O = t, g = e.apply(o, n);
                    }
                    function r(e) {
                        return O = e, h = setTimeout(f, t), M ? i(e) : g;
                    }
                    function u(e) {
                        var n = e - w, o = e - O, i = t - n;
                        return S ? x(i, y - o) : i;
                    }
                    function s(e) {
                        var n = e - w, o = e - O;
                        return void 0 === w || n >= t || n < 0 || S && o >= y;
                    }
                    function f() {
                        var e = j();
                        return s(e) ? d(e) : void (h = setTimeout(f, u(e)));
                    }
                    function d(e) {
                        return h = void 0, _ && b ? i(e) : (b = v = void 0, g);
                    }
                    function l() {
                        void 0 !== h && clearTimeout(h), O = 0, b = w = v = h = void 0;
                    }
                    function p() {
                        return void 0 === h ? g : d(j());
                    }
                    function m() {
                        var e = j(), n = s(e);
                        if (b = arguments, v = this, w = e, n) {
                            if (void 0 === h) return r(w);
                            if (S) return h = setTimeout(f, t), i(w);
                        }
                        return void 0 === h && (h = setTimeout(f, t)), g;
                    }
                    var b, v, y, g, h, w, O = 0, M = !1, S = !1, _ = !0;
                    if ("function" != typeof e) throw new TypeError(c);
                    return t = a(t) || 0, o(n) && (M = !!n.leading, S = "maxWait" in n, y = S ? k(a(n.maxWait) || 0, t) : y, _ = "trailing" in n ? !!n.trailing : _), m.cancel = l, m.flush = p, m;
                }
                function o(e) {
                    var t = "undefined" == typeof e ? "undefined" : u(e);
                    return !!e && ("object" == t || "function" == t);
                }
                function i(e) {
                    return !!e && "object" == ("undefined" == typeof e ? "undefined" : u(e));
                }
                function r(e) {
                    return "symbol" == ("undefined" == typeof e ? "undefined" : u(e)) || i(e) && w.call(e) == f;
                }
                function a(e) {
                    if ("number" == typeof e) return e;
                    if (r(e)) return s;
                    if (o(e)) {
                        var t = "function" == typeof e.valueOf ? e.valueOf() : e;
                        e = o(t) ? t + "" : t;
                    }
                    if ("string" != typeof e) return 0 === e ? e : +e;
                    e = e.replace(d, "");
                    var n = p.test(e);
                    return n || m.test(e) ? b(e.slice(2), n ? 2 : 8) : l.test(e) ? s : +e;
                }
                var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
                    return typeof e;
                } : function(e) {
                    return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
                }, c = "Expected a function", s = NaN, f = "[object Symbol]", d = /^\s+|\s+$/g, l = /^[-+]0x[0-9a-f]+$/i, p = /^0b[01]+$/i, m = /^0o[0-7]+$/i, b = parseInt, v = "object" == ("undefined" == typeof t ? "undefined" : u(t)) && t && t.Object === Object && t, y = "object" == ("undefined" == typeof self ? "undefined" : u(self)) && self && self.Object === Object && self, g = v || y || Function("return this")(), h = Object.prototype, w = h.toString, k = Math.max, x = Math.min, j = function() {
                    return g.Date.now();
                };
                e.exports = n;
            }).call(t, function() {
                return this;
            }());
        },
        function(e, t) {
            "use strict";
            function n(e) {
                var t = void 0, o = void 0, i = void 0;
                for(t = 0; t < e.length; t += 1){
                    if (o = e[t], o.dataset && o.dataset.aos) return !0;
                    if (i = o.children && n(o.children)) return !0;
                }
                return !1;
            }
            function o() {
                return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
            }
            function i() {
                return !!o();
            }
            function r(e, t) {
                var n = window.document, i = o(), r = new i(a);
                u = t, r.observe(n.documentElement, {
                    childList: !0,
                    subtree: !0,
                    removedNodes: !0
                });
            }
            function a(e) {
                e && e.forEach(function(e) {
                    var t = Array.prototype.slice.call(e.addedNodes), o = Array.prototype.slice.call(e.removedNodes), i = t.concat(o);
                    if (n(i)) return u();
                });
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var u = function() {};
            t.default = {
                isSupported: i,
                ready: r
            };
        },
        function(e, t) {
            "use strict";
            function n(e, t) {
                if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
            }
            function o() {
                return navigator.userAgent || navigator.vendor || window.opera || "";
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = function() {
                function e(e, t) {
                    for(var n = 0; n < t.length; n++){
                        var o = t[n];
                        o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o);
                    }
                }
                return function(t, n, o) {
                    return n && e(t.prototype, n), o && e(t, o), t;
                };
            }(), r = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i, a = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, u = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i, c = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i, s = function() {
                function e() {
                    n(this, e);
                }
                return i(e, [
                    {
                        key: "phone",
                        value: function() {
                            var e = o();
                            return !(!r.test(e) && !a.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "mobile",
                        value: function() {
                            var e = o();
                            return !(!u.test(e) && !c.test(e.substr(0, 4)));
                        }
                    },
                    {
                        key: "tablet",
                        value: function() {
                            return this.mobile() && !this.phone();
                        }
                    }
                ]), e;
            }();
            t.default = new s;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e, t, n) {
                var o = e.node.getAttribute("data-aos-once");
                t > e.position ? e.node.classList.add("aos-animate") : "undefined" != typeof o && ("false" === o || !n && "true" !== o) && e.node.classList.remove("aos-animate");
            }, o = function(e, t) {
                var o = window.pageYOffset, i = window.innerHeight;
                e.forEach(function(e, r) {
                    n(e, i + o, t);
                });
            };
            t.default = o;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(12), r = o(i), a = function(e, t) {
                return e.forEach(function(e, n) {
                    e.node.classList.add("aos-init"), e.position = (0, r.default)(e.node, t.offset);
                }), e;
            };
            t.default = a;
        },
        function(e, t, n) {
            "use strict";
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                };
            }
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var i = n(13), r = o(i), a = function(e, t) {
                var n = 0, o = 0, i = window.innerHeight, a = {
                    offset: e.getAttribute("data-aos-offset"),
                    anchor: e.getAttribute("data-aos-anchor"),
                    anchorPlacement: e.getAttribute("data-aos-anchor-placement")
                };
                switch(a.offset && !isNaN(a.offset) && (o = parseInt(a.offset)), a.anchor && document.querySelectorAll(a.anchor) && (e = document.querySelectorAll(a.anchor)[0]), n = (0, r.default)(e).top, a.anchorPlacement){
                    case "top-bottom":
                        break;
                    case "center-bottom":
                        n += e.offsetHeight / 2;
                        break;
                    case "bottom-bottom":
                        n += e.offsetHeight;
                        break;
                    case "top-center":
                        n += i / 2;
                        break;
                    case "bottom-center":
                        n += i / 2 + e.offsetHeight;
                        break;
                    case "center-center":
                        n += i / 2 + e.offsetHeight / 2;
                        break;
                    case "top-top":
                        n += i;
                        break;
                    case "bottom-top":
                        n += e.offsetHeight + i;
                        break;
                    case "center-top":
                        n += e.offsetHeight / 2 + i;
                }
                return a.anchorPlacement || a.offset || isNaN(t) || (o = t), n + o;
            };
            t.default = a;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                for(var t = 0, n = 0; e && !isNaN(e.offsetLeft) && !isNaN(e.offsetTop);)t += e.offsetLeft - ("BODY" != e.tagName ? e.scrollLeft : 0), n += e.offsetTop - ("BODY" != e.tagName ? e.scrollTop : 0), e = e.offsetParent;
                return {
                    top: n,
                    left: t
                };
            };
            t.default = n;
        },
        function(e, t) {
            "use strict";
            Object.defineProperty(t, "__esModule", {
                value: !0
            });
            var n = function(e) {
                return e = e || document.querySelectorAll("[data-aos]"), Array.prototype.map.call(e, function(e) {
                    return {
                        node: e
                    };
                });
            };
            t.default = n;
        }
    ]);
});
.012undefined3690 trueundefined1172360undefined���,

/***/ 47907:
���R/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15313);
/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (checked) */ if(__webpack_require__.o(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__, "usePathname")) __webpack_require__.d(__webpack_exports__, { usePathname: function() { return _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__.usePathname; } });
�Xexport * from "../client/components/navigation"; //# sourceMappingURL=navigation.js.map
047undefined���,

/***/ 24930:
�G/***/ (function(module, exports, __webpack_require__) {

"use strict";
�j"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return dynamic;
    }
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _loadable = /*#__PURE__*/ _interop_require_default._(require("./lazy-dynamic/loadable"));
function dynamic(dynamicOptions, options) {
    const loadableOptions = {
        // A loading component is not required, so we default it
        loading: (param)=>{
            let { error, isLoading, pastDelay } = param;
            if (!pastDelay) return null;
            if ("production" !== "production") {
                if (isLoading) {
                    return null;
                }
                if (error) {
                    return /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
                        children: [
                            error.message,
                            /*#__PURE__*/ (0, _jsxruntime.jsx)("br", {}),
                            error.stack
                        ]
                    });
                }
            }
            return null;
        }
    };
    if (typeof dynamicOptions === "function") {
        loadableOptions.loader = dynamicOptions;
    }
    return (0, _loadable.default)({
        ...loadableOptions,
        ...options
    });
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
    Object.defineProperty(exports.default, "__esModule", {
        value: true
    });
    Object.assign(exports.default, exports);
    module.exports = exports.default;
} //# sourceMappingURL=app-dynamic.js.map
�012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined200200))undefined236242__webpack_require__undefined24428486921undefined308314__webpack_require__undefined3163343827undefined394400__webpack_require__undefined40240864090undefined472478__webpack_require__undefined48050484795undefined790818falseundefined8211279{}undefined���,

/***/ 19721:
�X/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
�1/* __next_internal_client_entry_do_not_use__  cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "BailoutToCSR", {
    enumerable: true,
    get: function() {
        return BailoutToCSR;
    }
});
const _bailouttocsr = require("./bailout-to-csr");
function BailoutToCSR(param) {
    let { reason, children } = param;
    if ("object" === "undefined") {
        throw new _bailouttocsr.BailoutToCSRError(reason);
    }
    return children;
} //# sourceMappingURL=dynamic-bailout-to-csr.js.map
5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134180Object.defineProperty(exports, "BailoutToCSR", (undefined263263))undefined288294__webpack_require__undefined29631399775undefined394417falseundefined420485{}undefined���,

/***/ 84795:
�X/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

"use strict";
��"use strict";
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function() {
        return _default;
    }
});
const _jsxruntime = require("react/jsx-runtime");
const _react = require("react");
const _dynamicbailouttocsr = require("./dynamic-bailout-to-csr");
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
// Also for backward compatible since next/dynamic allows to resolve a component directly with loader
// Client component reference proxy need to be converted to a module.
function convertModule(mod) {
    var _mod_default;
    return {
        default: (_mod_default = mod == null ? void 0 : mod.default) != null ? _mod_default : mod
    };
}
const defaultOptions = {
    loader: ()=>Promise.resolve(convertModule(()=>null)),
    loading: null,
    ssr: true
};
function Loadable(options) {
    const opts = {
        ...defaultOptions,
        ...options
    };
    const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));
    const Loading = opts.loading;
    function LoadableComponent(props) {
        const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
            isLoading: true,
            pastDelay: true,
            error: null
        }) : null;
        const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
            ...props
        }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {
            reason: "next/dynamic",
            children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {
                ...props
            })
        });
        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
            fallback: fallbackElement,
            children: children
        });
    }
    LoadableComponent.displayName = "LoadableComponent";
    return LoadableComponent;
}
const _default = Loadable; //# sourceMappingURL=loadable.js.map
A012undefined1458Object.defineProperty(exports, "__esModule", (undefined7878))undefined81122Object.defineProperty(exports, "default", (undefined201201))undefined224230__webpack_require__undefined2322503827undefined269275__webpack_require__undefined27728364090undefined316322__webpack_require__undefined32434919721undefined���,

/***/ 17002:
�/***/ (function() {

�'// extracted by mini-css-extract-plugin���,

/***/ 80864:
��������,

/***/ 68864:
��������,

/***/ 8694:
��������,

/***/ 55768:
��������,

/***/ 17125:
��������

},
!PrefixSourceConcatSourceRawSource9function(__webpack_require__) { // webpackRuntimeModules
��var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [417,971,69,744], function() { return __webpack_exec__(8664); });
var __webpack_exports__ = __webpack_require__.O();
�_N_E = __webpack_exports__;
}
/******/ RawSource]);��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource�`
�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceX(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[787],{

/***/ 28110:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource0�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\image-grid\\ImageGridThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\Social.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\WorkcaseStudy.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")J��������Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252))�Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))��buffer�source�size�maps�hashOPromise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))��{"finalSource":true}�map�bufferedMapReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\image-grid\\ImageGridThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\Social.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\WorkcaseStudy.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")�0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257391Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309))undefined394516Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735))undefined519640Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252))undefined643787Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined


/***/ })��buffer�source�size�maps�hash�/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))

/***/ })��{"finalSource":true}�map�bufferedMapConcatSourceRawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

ReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\image-grid\\ImageGridThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\Social.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\WorkcaseStudy.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")�0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257391Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309))undefined394516Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735))undefined519640Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252))undefined643787Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined	RawSource


/***/ }),

/***/ 49252:
=A�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceK__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { worksPage } from "../data/works";
const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ _jsxs("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ _jsxs("div", {
                            children: [
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ _jsx("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ _jsx("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ _jsx("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ _jsxs(React.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ _jsx("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ _jsx("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
export default WorksCaseStudy;
a=_�����;>@H��|��	�	�
�
36���
�
�
���C���� ���@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment�(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)��������react__WEBPACK_IMPORTED_MODULE_1__.Fragment���/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (WorksCaseStudy);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceK__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
ReplaceSourceRawSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { worksPage } from "../data/works";
const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ _jsxs("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ _jsxs("div", {
                            children: [
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ _jsx("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ _jsx("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ _jsx("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ _jsxs(React.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ _jsx("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ _jsx("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
export default WorksCaseStudy;
761146undefined148173undefined175216undefined15951598(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16001608react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined16721676(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18131816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20712075(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21722176(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24952498(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined27722775(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31233126(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33133317(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined33193332react__WEBPACK_IMPORTED_MODULE_1__.Fragmentundefined35333536(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined38233826(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined42554269/* harmony default export */ __webpack_exports__["default"] = (undefined42554269undefined42844284.5);undefined


/***/ })�/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (WorksCaseStudy);


/***/ })��	�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�K__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
��/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { worksPage } from "../data/works";
const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ _jsxs("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ _jsxs("div", {
                            children: [
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ _jsx("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ _jsx("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ _jsx("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ _jsxs(React.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ _jsx("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ _jsx("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
export default WorksCaseStudy;
761146undefined148173undefined175216undefined15951598(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16001608react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined16721676(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18131816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20712075(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21722176(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24952498(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined27722775(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31233126(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33133317(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined33193332react__WEBPACK_IMPORTED_MODULE_1__.Fragmentundefined35333536(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined38233826(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined42554269/* harmony default export */ __webpack_exports__["default"] = (undefined42554269undefined42844284.5);undefined��,

/***/ 3309:
�.�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource!�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { Gallery, Item } from "react-photoswipe-gallery";
import Image from "next/image";
const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ _jsx(Gallery, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                    className: val.column,
                    children: /*#__PURE__*/ _jsx("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ _jsx("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ _jsx(Item, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ _jsx(Image, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
export default ImageGridThree;
c=ln]�����JMOUz}mp��HK����LOQUs
�
s
�
�
 !�@�����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .ri������react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ck��next_image__WEBPACK_IMPORTED_MODULE_3__["default"]�/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash�
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .ri, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: val.column,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ck, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ImageGridThree);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
ReplaceSourceRawSource�
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { Gallery, Item } from "react-photoswipe-gallery";
import Image from "next/image";
const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ _jsx(Gallery, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                    className: val.column,
                    children: /*#__PURE__*/ _jsx("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ _jsx("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ _jsx(Item, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ _jsx(Image, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
export default ImageGridThree;
�61108undefined110135undefined137193undefined195225undefined842845(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined847853react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .riundefined890893(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11331136(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined12341237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13521355(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14771480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14821485react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ckundefined18681871(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18731877next_image__WEBPACK_IMPORTED_MODULE_3__["default"]undefined26752689/* harmony default export */ __webpack_exports__["default"] = (undefined26752689undefined27042704.5);undefined


/***/ })�Q/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .ri, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: val.column,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ck, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ImageGridThree);


/***/ })��	����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
��
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { Gallery, Item } from "react-photoswipe-gallery";
import Image from "next/image";
const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ _jsx(Gallery, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                    className: val.column,
                    children: /*#__PURE__*/ _jsx("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ _jsx("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ _jsx(Item, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ _jsx(Image, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
export default ImageGridThree;
�61108undefined110135undefined137193undefined195225undefined842845(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined847853react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .riundefined890893(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11331136(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined12341237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13521355(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14771480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14821485react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ckundefined18681871(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18731877next_image__WEBPACK_IMPORTED_MODULE_3__["default"]undefined26752689/* harmony default export */ __webpack_exports__["default"] = (undefined26752689undefined27042704.5);undefined��,

/***/ 69221:
Ձ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�+*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��,

/***/ 74320:
�2�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�import { buildMetadata } from "./seo";
export const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
export const worksPage = {
    listing: {
        metadata: buildMetadata({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};
b%'-C��������(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)��buffer�source�size�maps�hash�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
const worksPage = {
    listing: {
        metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource�import { buildMetadata } from "./seo";
export const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
export const worksPage = {
    listing: {
        metadata: buildMetadata({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};
t037undefined3945undefined916922undefined976988(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined


/***/ })�/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
const worksPage = {
    listing: {
        metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};


/***/ })��	���-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
��import { buildMetadata } from "./seo";
export const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
export const worksPage = {
    listing: {
        metadata: buildMetadata({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};
t037undefined3945undefined916922undefined976988(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined��

},
�webpack/lib/util/registerExternalSerializer�webpack-sources/PrefixSource�/******/ 9function(__webpack_require__) { // webpackRuntimeModules
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [740,703,718,732,299,971,69,744], function() { return __webpack_exec__(28110); });
var __webpack_exports__ = __webpack_require__.O();
_N_E = __webpack_exports__;
}
]);�b(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[787],{

/***/ 28110:
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))

/***/ }),

/***/ 49252:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (WorksCaseStudy);


/***/ }),

/***/ 3309:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .ri, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: val.column,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ck, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ImageGridThree);


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ }),

/***/ 74320:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
const worksPage = {
    listing: {
        metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};


/***/ })

},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [740,703,718,732,299,971,69,744], function() { return __webpack_exec__(28110); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);��`?�X(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[787],{

/***/ 28110:
���import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\image-grid\\ImageGridThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\Social.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\WorkcaseStudy.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")�0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257391Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3309))undefined394516Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 48735))undefined519640Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 49252))undefined643787Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined���,

/***/ 49252:
���K__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_works__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74320);
��/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import { worksPage } from "../data/works";
const WorksCaseStudy = (param)=>{
    let { caseStudy } = param;
    const client = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.client) || "Paul Themes Company, Russia";
    const services = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.services) || "UI/UX, Back-End, Front-End, Graphic Design, Animation";
    const team = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.team) || "LoganCee - UI/UX Designer, Pavel Suslov - Developer";
    const date = (caseStudy === null || caseStudy === void 0 ? void 0 : caseStudy.date) || "February 25th, 2022";
    const data = [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    client
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    services
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    team
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    date
                ]
            }
        ]
    ];
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: data.map((caseContent, i)=>/*#__PURE__*/ _jsxs("div", {
                className: "col-xl-3 col-lg-3 col-md-6 col-12",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "1.25rem"
                        }
                    }),
                    caseContent.map((item, i)=>/*#__PURE__*/ _jsxs("div", {
                            children: [
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-animated-block mb-70",
                                    "data-aos": "fade",
                                    "data-aos-delay": item.delayAnimation,
                                    children: [
                                        /*#__PURE__*/ _jsx("h5", {
                                            className: "fz-14 text-uppercase has-3-color fw-normal",
                                            children: item.title
                                        }),
                                        /*#__PURE__*/ _jsx("div", {
                                            className: "ptf-spacer",
                                            style: {
                                                "--ptf-xxl": "1.25rem"
                                            }
                                        }),
                                        /*#__PURE__*/ _jsx("p", {
                                            className: "fz-20 lh-1p5 has-black-color",
                                            children: item.lines.map((line)=>/*#__PURE__*/ _jsxs(React.Fragment, {
                                                    children: [
                                                        line,
                                                        /*#__PURE__*/ _jsx("br", {})
                                                    ]
                                                }, line))
                                        })
                                    ]
                                }),
                                /*#__PURE__*/ _jsx("div", {
                                    className: "ptf-spacer",
                                    style: {
                                        "--ptf-xxl": " 4.375rem",
                                        "--ptf-md": "2.1875rem"
                                    }
                                })
                            ]
                        }, i))
                ]
            }, i))
    });
};
export default WorksCaseStudy;
761146undefined148173undefined175216undefined15951598(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined16001608react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined16721676(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18131816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20712075(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21722176(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24952498(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined27722775(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31233126(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33133317(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined33193332react__WEBPACK_IMPORTED_MODULE_1__.Fragmentundefined35333536(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined38233826(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined42554269/* harmony default export */ __webpack_exports__["default"] = (undefined42554269undefined42844284.5);undefined���,

/***/ 3309:
����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15732);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20703);
��
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { Gallery, Item } from "react-photoswipe-gallery";
import Image from "next/image";
const imageList = [
    {
        img: "/assets/img/portfolio/single-work/content-image-2.png",
        column: "col-lg-6",
        alt: "image 1",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-3.png",
        column: "col-lg-6",
        alt: "image 2",
        width: "416",
        height: "335"
    },
    {
        img: "/assets/img/portfolio/single-work/content-image-4.png",
        column: "col-lg-12",
        alt: "image 3",
        width: "1296",
        height: "831"
    }
];
const ImageGridThree = ()=>{
    return /*#__PURE__*/ _jsx(Gallery, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "ptf-justified-gallery row",
            style: {
                "--bs-gutter-x": "2rem",
                "--bs-gutter-y": "2rem"
            },
            children: imageList.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                    className: val.column,
                    children: /*#__PURE__*/ _jsx("div", {
                        className: "ptf-gallery__item",
                        children: /*#__PURE__*/ _jsx("div", {
                            className: "ptf-simple-image",
                            children: /*#__PURE__*/ _jsx(Item, {
                                original: val.img,
                                thumbnail: val.img,
                                width: val.width,
                                height: val.height,
                                children: (param)=>{
                                    let { ref, open } = param;
                                    return /*#__PURE__*/ _jsx(Image, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: "works gallery",
                                        role: "button",
                                        ref: ref,
                                        onClick: open
                                    });
                                }
                            })
                        })
                    })
                }, i))
        })
    });
};
export default ImageGridThree;
�61108undefined110135undefined137193undefined195225undefined842845(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined847853react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Gallery */ .riundefined890893(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11331136(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined12341237(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13521355(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14771480(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14821485react_photoswipe_gallery__WEBPACK_IMPORTED_MODULE_2__/* .Item */ .ckundefined18681871(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18731877next_image__WEBPACK_IMPORTED_MODULE_3__["default"]undefined26752689/* harmony default export */ __webpack_exports__["default"] = (undefined26752689undefined27042704.5);undefined����������������,

/***/ 74320:
���-/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ worksPage; }
/* harmony export */ });
/* unused harmony export allportfolioContent */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
��import { buildMetadata } from "./seo";
export const allportfolioContent = [
    {
        id: "coco",
        title: "Coco - Smart Queue Management System",
        cat: "SaaS Platform",
        img: "/assets/img/portfolio/work-1.png",
        excerpt: "Solve operational bottleneck and flow optimization for healthcare and public administration branches."
    },
    {
        id: "kindie",
        title: "Kindie - Comprehensive Kindergarten Platform",
        cat: "EdTech Platform",
        img: "/assets/img/portfolio/work-2.png",
        excerpt: "Digitize school-parent interactions, classroom attendance, child nutrition tracking."
    },
    {
        id: "omnispa",
        title: "OmniSpa - Omnichannel Sales Growth Solutions",
        cat: "E-commerce",
        img: "/assets/img/portfolio/work-3.png",
        excerpt: "Synchronize sales data from POS and websites to e-commerce marketplaces."
    }
];
export const worksPage = {
    listing: {
        metadata: buildMetadata({
            title: "Case Studies | ZiniSoft Ltd. Co.",
            description: "Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",
            path: "/case-studies"
        }),
        title: "Case Studies",
        loadMoreLabel: "More",
        filters: [
            "All",
            "AI Solutions",
            "Web Applications",
            "Mobile Applications",
            "SaaS Platforms",
            "E-commerce & POS",
            "CRM & Business Systems",
            "Automation & Integration",
            "Cloud & DevOps"
        ]
    },
    detail: {
        metadata: {
            title: "Work Showcase | ZiniSoft Ltd. Co."
        },
        headTitle: "ZiniSoft Ltd. Co. - Works Showcase",
        fallback: {
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Product",
            title: "Film & Art Festival"
        },
        fallbackTitle: "Lewis Studio Website",
        fallbackImage: "/assets/img/portfolio/single-work/content-image-1.png",
        nextProject: {
            label: "Next Project",
            title: "SPA Brand",
            href: "#"
        },
        review: {
            avatar: "/assets/img/root/twitter-avatar.png",
            avatarAlt: "",
            author: "Thiago Alcantara",
            handle: "@thiago.lfc",
            date: "15 Dec, 2022",
            icon: "socicon-twitter",
            mention: "@ZiniSoft Ltd. Co.",
            mentionHref: "#",
            text: " is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."
        }
    },
    caseStudy: [
        [
            {
                delayAnimation: "100",
                title: "CLIENT",
                lines: [
                    "Paul Themes Company,",
                    "Russia"
                ]
            },
            {
                delayAnimation: "200",
                title: "SERVICES",
                lines: [
                    "UI/UX, Back-End,",
                    "Front-End, Graphic Design,",
                    "Animation"
                ]
            }
        ],
        [
            {
                delayAnimation: "300",
                title: "TEAM",
                lines: [
                    "LoganCee - UI/UX Designer",
                    "Pavel Suslov - Developer"
                ]
            },
            {
                delayAnimation: "400",
                title: "DATE",
                lines: [
                    "Feburary 25th, 2022"
                ]
            }
        ]
    ]
};
t037undefined3945undefined916922undefined976988(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined�������var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [740,703,718,732,299,971,69,744], function() { return __webpack_exec__(28110); });
var __webpack_exports__ = __webpack_require__.O();
�����*�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource�`�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceW(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[845],{

/***/ 8264:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�
�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource,�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogGridSLider.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\form\\SearchBlog.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx")H�����~�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))��buffer�source�size�maps�hash�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))��{"finalSource":true}�map�bufferedMapReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogGridSLider.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\form\\SearchBlog.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx"))0128Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120))undefined131254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553))undefined257386Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined389513Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266))undefined516638Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined


/***/ })��buffer�source�size�maps�hashM/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))

/***/ })��{"finalSource":true}�map�bufferedMapConcatSourceRawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

ReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogGridSLider.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\form\\SearchBlog.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx"))0128Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120))undefined131254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553))undefined257386Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined389513Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266))undefined516638Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined	RawSource


/***/ }),

/***/ 57120:
�B�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource	__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourcel/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ _jsx(Slider, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ _jsxs("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ _jsx(FallbackImage, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ _jsxs("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ _jsx("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ _jsx(Link, {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ _jsx("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
export default BlogGridSLider;
a=_��������/24<ad����Z^��vy{�����H	QK	O
R
��0358Y
\
�
�
M[M[j ծ@������(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment���react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z�(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)���_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"]�������next_link__WEBPACK_IMPORTED_MODULE_3__["default"]���/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hashB__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_link__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BlogGridSLider);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource	__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
ReplaceSourceRawSourcel/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ _jsx(Slider, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ _jsxs("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ _jsx(FallbackImage, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ _jsxs("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ _jsx("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ _jsx(Link, {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ _jsx("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
export default BlogGridSLider;
�61146undefined148173undefined175207undefined209237undefined239282undefined815818(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined820828react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined865868(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined966969(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined971976react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined11141118(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined12601263(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13981401(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14031415_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"]undefined19972001(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21762180(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined23762379(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26392642(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined29672970(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31203123(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31253128next_link__WEBPACK_IMPORTED_MODULE_3__["default"]undefined34173420(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined35733576(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39173931/* harmony default export */ __webpack_exports__["default"] = (undefined39173931undefined39463946.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_link__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BlogGridSLider);


/***/ })��	�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�	__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
�l/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ _jsx(Slider, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ _jsxs("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ _jsx(FallbackImage, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ _jsxs("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ _jsx("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ _jsx(Link, {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ _jsx("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
export default BlogGridSLider;
�61146undefined148173undefined175207undefined209237undefined239282undefined815818(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined820828react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined865868(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined966969(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined971976react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined11141118(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined12601263(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13981401(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14031415_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"]undefined19972001(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21762180(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined23762379(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26392642(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined29672970(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31203123(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31253128next_link__WEBPACK_IMPORTED_MODULE_3__["default"]undefined34173420(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined35733576(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39173931/* harmony default export */ __webpack_exports__["default"] = (undefined39173931undefined39463946.5);undefined��,

/***/ 43553:
Ơ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourceS��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource0�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource2/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
export const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
export const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
export const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
export const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
export const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
export const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
export const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
M������L$R$�'�'�(�(|,�,���������buffer�source�size�maps�hash/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
��{"finalSource":false}�map�bufferedMapReplaceSourceRawSource2/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
export const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
export const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
export const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
export const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
export const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
export const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
export const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
{136142undefined68286834undefined78107816undefined92929298undefined1020110207undefined1041110417undefined1138811394undefined:
;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceO/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useState } from "react";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
import { BLOG_LIST_FILTERS, buildBlogPostsUrl, normalizeWpPost } from "../../data/blogApi";
const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = useState(posts);
    const [page, setPage] = useState(initialPage);
    const [isLoading, setIsLoading] = useState(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ _jsx("div", {
                className: "col-12",
                children: /*#__PURE__*/ _jsx("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ _jsx("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ _jsxs("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ _jsx(Link, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ _jsx(FallbackImage, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ _jsxs("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ _jsxs("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ _jsx("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ _jsx(Link, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ _jsxs("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ _jsx("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
export default BlogThree;
a'=_������b�������)0fm����~����_�/2��\	`	�	
�
�
�
�
����HK����WZdg��_bdKg@D����5C5CM �M�@������__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._����__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._���__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._������__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._��__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._������������/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (��);� /* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogThree = (param)=>{
    let { posts = [], initialPage = __WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._.page, perPage = __WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._.perPage, orderby = __WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._.orderby, order = __WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(posts);
    const [page, setPage] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(initialPage);
    const [isLoading, setIsLoading] = __WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._, {
        children: [
            !blogPosts.length && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                className: "col-12",
                children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (BlogThree);
���O/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useState } from "react";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
import { BLOG_LIST_FILTERS, buildBlogPostsUrl, normalizeWpPost } from "../../data/blogApi";
const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = useState(posts);
    const [page, setPage] = useState(initialPage);
    const [isLoading, setIsLoading] = useState(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ _jsx("div", {
                className: "col-12",
                children: /*#__PURE__*/ _jsx("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ _jsx("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ _jsxs("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ _jsx(Link, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ _jsx(FallbackImage, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ _jsxs("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ _jsxs("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ _jsx("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ _jsx(Link, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ _jsxs("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ _jsx("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
export default BlogThree;
j61146undefined148187undefined189217undefined219262undefined264354undefined421437__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined455471__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined492508__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined527543__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined764771__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined809816__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined870877__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12071223__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._undefined17281742__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._undefined19181922__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined19241932__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined20042007__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20952098__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined22862289__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23962400__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined25582562__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined27292732__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined27342737__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined29832986__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined29883000__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._undefined36563659__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined37903794__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined39773981__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined41834186__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined44524455__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined48044807__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49594962__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49644967__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined54405444__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined55665569__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined58425845__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined61976211/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined61976211undefined62216221.5);undefined` _���=R��
�>d��B���M�I	K	�	�	,
�
�
��?�)
u
_fh����D������X�����0	U�*t� �BLOG_LIST_FILTERS����(0,react.useState)���buildBlogPostsUrl�normalizeWpPost�(0,jsx_runtime.jsxs)�jsx_runtime.Fragment�(0,jsx_runtime.jsx)������api_link["default"]��FallbackImage["default"]������������blog_BlogThree��buffer�source�size�maps�hash�J// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js
const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};

;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = (0,react.useState)(posts);
    const [page, setPage] = (0,react.useState)(initialPage);
    const [isLoading, setIsLoading] = (0,react.useState)(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "col-12",
                children: /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(FallbackImage["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
/* harmony default export */ var blog_BlogThree = (BlogThree);
��{"finalSource":true}�map�bufferedMap`
ConcatSourceRawSource�// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js

ReplaceSourceReplaceSourceRawSource2/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
export const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
export const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
export const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
export const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
export const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
export const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
export const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
{136142undefined68286834undefined78107816undefined92929298undefined1020110207undefined1041110417undefined1138811394undefined	RawSource:
;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
��O/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useState } from "react";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
import { BLOG_LIST_FILTERS, buildBlogPostsUrl, normalizeWpPost } from "../../data/blogApi";
const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = useState(posts);
    const [page, setPage] = useState(initialPage);
    const [isLoading, setIsLoading] = useState(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ _jsx("div", {
                className: "col-12",
                children: /*#__PURE__*/ _jsx("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ _jsx("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ _jsxs("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ _jsx(Link, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ _jsx(FallbackImage, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ _jsxs("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ _jsxs("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ _jsx("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ _jsx(Link, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ _jsxs("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ _jsx("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
export default BlogThree;
j61146undefined148187undefined189217undefined219262undefined264354undefined421437__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined455471__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined492508__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined527543__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined764771__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined809816__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined870877__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12071223__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._undefined17281742__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._undefined19181922__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined19241932__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined20042007__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20952098__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined22862289__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23962400__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined25582562__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined27292732__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined27342737__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined29832986__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined29883000__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._undefined36563659__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined37903794__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined39773981__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined41834186__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined44524455__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined48044807__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49594962__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49644967__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined54405444__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined55665569__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined58425845__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined61976211/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined61976211undefined62216221.5);undefinedj131215BLOG_LIST_FILTERSundefined233317BLOG_LIST_FILTERSundefined338422BLOG_LIST_FILTERSundefined441525BLOG_LIST_FILTERSundefined746830(0,react.useState)undefined868952(0,react.useState)undefined10061090(0,react.useState)undefined14201522buildBlogPostsUrlundefined20272125normalizeWpPostundefined23012377(0,jsx_runtime.jsxs)undefined23792458jsx_runtime.Fragmentundefined25302604(0,jsx_runtime.jsx)undefined26922766(0,jsx_runtime.jsx)undefined29543028(0,jsx_runtime.jsx)undefined31353211(0,jsx_runtime.jsxs)undefined33693445(0,jsx_runtime.jsxs)undefined36123686(0,jsx_runtime.jsx)undefined36883765api_link["default"]undefined40114085(0,jsx_runtime.jsx)undefined40874164FallbackImage["default"]undefined48204894(0,jsx_runtime.jsx)undefined50255101(0,jsx_runtime.jsxs)undefined52845360(0,jsx_runtime.jsxs)undefined55625636(0,jsx_runtime.jsx)undefined59025976(0,jsx_runtime.jsx)undefined63256399(0,jsx_runtime.jsx)undefined65516625(0,jsx_runtime.jsx)undefined66276704api_link["default"]undefined71777253(0,jsx_runtime.jsxs)undefined73757449(0,jsx_runtime.jsx)undefined77227796(0,jsx_runtime.jsx)undefined81818206blog_BlogThreeundefined


/***/ })��J/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js
const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};

;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = (0,react.useState)(posts);
    const [page, setPage] = (0,react.useState)(initialPage);
    const [isLoading, setIsLoading] = (0,react.useState)(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "col-12",
                children: /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(FallbackImage["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
/* harmony default export */ var blog_BlogThree = (BlogThree);


/***/ })��`����// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js

ReplaceSource�2/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
export const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
export const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
export const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
export const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
export const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
export const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
export const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
{136142undefined68286834undefined78107816undefined92929298undefined1020110207undefined1041110417undefined1138811394undefined�:
;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
��O/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useState } from "react";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
import { BLOG_LIST_FILTERS, buildBlogPostsUrl, normalizeWpPost } from "../../data/blogApi";
const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = useState(posts);
    const [page, setPage] = useState(initialPage);
    const [isLoading, setIsLoading] = useState(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ _jsx("div", {
                className: "col-12",
                children: /*#__PURE__*/ _jsx("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ _jsx("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ _jsxs("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ _jsx(Link, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ _jsx(FallbackImage, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ _jsxs("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ _jsxs("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ _jsx("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ _jsx(Link, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ _jsxs("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ _jsx("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
export default BlogThree;
j61146undefined148187undefined189217undefined219262undefined264354undefined421437__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined455471__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined492508__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined527543__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined764771__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined809816__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined870877__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12071223__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._undefined17281742__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._undefined19181922__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined19241932__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined20042007__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20952098__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined22862289__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23962400__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined25582562__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined27292732__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined27342737__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined29832986__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined29883000__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._undefined36563659__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined37903794__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined39773981__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined41834186__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined44524455__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined48044807__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49594962__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49644967__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined54405444__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined55665569__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined58425845__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined61976211/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined61976211undefined62216221.5);undefinedj131215BLOG_LIST_FILTERSundefined233317BLOG_LIST_FILTERSundefined338422BLOG_LIST_FILTERSundefined441525BLOG_LIST_FILTERSundefined746830(0,react.useState)undefined868952(0,react.useState)undefined10061090(0,react.useState)undefined14201522buildBlogPostsUrlundefined20272125normalizeWpPostundefined23012377(0,jsx_runtime.jsxs)undefined23792458jsx_runtime.Fragmentundefined25302604(0,jsx_runtime.jsx)undefined26922766(0,jsx_runtime.jsx)undefined29543028(0,jsx_runtime.jsx)undefined31353211(0,jsx_runtime.jsxs)undefined33693445(0,jsx_runtime.jsxs)undefined36123686(0,jsx_runtime.jsx)undefined36883765api_link["default"]undefined40114085(0,jsx_runtime.jsx)undefined40874164FallbackImage["default"]undefined48204894(0,jsx_runtime.jsx)undefined50255101(0,jsx_runtime.jsxs)undefined52845360(0,jsx_runtime.jsxs)undefined55625636(0,jsx_runtime.jsx)undefined59025976(0,jsx_runtime.jsx)undefined63256399(0,jsx_runtime.jsx)undefined65516625(0,jsx_runtime.jsx)undefined66276704api_link["default"]undefined71777253(0,jsx_runtime.jsxs)undefined73757449(0,jsx_runtime.jsx)undefined77227796(0,jsx_runtime.jsx)undefined81818206blog_BlogThreeundefined��,

/***/ 44618:
F�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React, { useState } from "react";
import Image from "next/image";
const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = useState(false);
    const [prevSrc, setPrevSrc] = useState(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ _jsx(Image, {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
export default FallbackImage;

b=lnO���dk��CFHL����	 L�@����(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)��(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�next_image__WEBPACK_IMPORTED_MODULE_2__["default"]�/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    const [prevSrc, setPrevSrc] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
/* harmony default export */ __webpack_exports__["default"] = (FallbackImage);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
ReplaceSourceRawSource/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React, { useState } from "react";
import Image from "next/image";
const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = useState(false);
    const [prevSrc, setPrevSrc] = useState(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ _jsx(Image, {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
export default FallbackImage;
�61108undefined110149undefined151181undefined356363(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined407414(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined579582(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined584588next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined749763/* harmony default export */ __webpack_exports__["default"] = (undefined749763undefined777777.5);undefined


/***/ })�*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    const [prevSrc, setPrevSrc] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
/* harmony default export */ __webpack_exports__["default"] = (FallbackImage);


/***/ })��	���J__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React, { useState } from "react";
import Image from "next/image";
const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = useState(false);
    const [prevSrc, setPrevSrc] = useState(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ _jsx(Image, {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
export default FallbackImage;
�61108undefined110149undefined151181undefined356363(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined407414(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined579582(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined584588next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined749763/* harmony default export */ __webpack_exports__["default"] = (undefined749763undefined777777.5);undefined��,

/***/ 35266:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource0/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import { blogPage } from "../../data/blog";
const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ _jsxs("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ _jsx("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: blogPage.listing.searchPlaceholder
            }),
            /*#__PURE__*/ _jsx("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "submit",
                children: /*#__PURE__*/ _jsx("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
export default SearchBlog;
c={}S���"&��NU��CF��##. ��@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)�(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�_data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .q����/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hashR__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: _data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .q.listing.searchPlaceholder
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
                type: "submit",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
/* harmony default export */ __webpack_exports__["default"] = (SearchBlog);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
ReplaceSourceRawSource0/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import { blogPage } from "../../data/blog";
const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ _jsxs("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ _jsx("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: blogPage.listing.searchPlaceholder
            }),
            /*#__PURE__*/ _jsx("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "submit",
                children: /*#__PURE__*/ _jsx("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
export default SearchBlog;
D61123undefined125150undefined152194undefined290294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined439442(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined590597_data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .qundefined667670(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined835838(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined924927(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10451059/* harmony default export */ __webpack_exports__["default"] = (undefined10451059undefined10701070.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: _data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .q.listing.searchPlaceholder
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
                type: "submit",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
/* harmony default export */ __webpack_exports__["default"] = (SearchBlog);


/***/ })��	���J__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
�0/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import { blogPage } from "../../data/blog";
const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ _jsxs("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ _jsx("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: blogPage.listing.searchPlaceholder
            }),
            /*#__PURE__*/ _jsx("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "submit",
                children: /*#__PURE__*/ _jsx("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
export default SearchBlog;
D61123undefined125150undefined152194undefined290294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined439442(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined590597_data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .qundefined667670(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined835838(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined924927(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10451059/* harmony default export */ __webpack_exports__["default"] = (undefined10451059undefined10701070.5);undefined��,

/***/ 19190:
�%�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceH/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource
import { buildMetadata } from "./seo";
export const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
export const blogPage = {
    metadata: buildMetadata({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
b%'-C��������(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)��buffer�source�size�maps�hash\/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
const blogPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceH/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource
import { buildMetadata } from "./seo";
export const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
export const blogPage = {
    metadata: buildMetadata({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
t037undefined3945undefined417423undefined457469(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
const blogPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};


/***/ })��	���H/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�
import { buildMetadata } from "./seo";
export const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
export const blogPage = {
    metadata: buildMetadata({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};
t037undefined3945undefined417423undefined457469(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined��,

/***/ 69221:
Ձ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�+*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��

},
�webpack/lib/util/registerExternalSerializer�webpack-sources/PrefixSource�/******/ 9function(__webpack_require__) { // webpackRuntimeModules
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(8264); });
var __webpack_exports__ = __webpack_require__.O();
_N_E = __webpack_exports__;
}
]);�"�(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[845],{

/***/ 8264:
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))

/***/ }),

/***/ 57120:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_link__WEBPACK_IMPORTED_MODULE_3__["default"], {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BlogGridSLider);


/***/ }),

/***/ 43553:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js
const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};

;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 




const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = (0,react.useState)(posts);
    const [page, setPage] = (0,react.useState)(initialPage);
    const [isLoading, setIsLoading] = (0,react.useState)(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "col-12",
                children: /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime.jsx)(FallbackImage["default"], {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ (0,jsx_runtime.jsx)("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ (0,jsx_runtime.jsx)("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ (0,jsx_runtime.jsx)(api_link["default"], {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ (0,jsx_runtime.jsx)("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
/* harmony default export */ var blog_BlogThree = (BlogThree);


/***/ }),

/***/ 44618:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    const [prevSrc, setPrevSrc] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
/* harmony default export */ __webpack_exports__["default"] = (FallbackImage);


/***/ }),

/***/ 35266:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: _data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .q.listing.searchPlaceholder
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
                type: "submit",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
/* harmony default export */ __webpack_exports__["default"] = (SearchBlog);


/***/ }),

/***/ 19190:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ relatedPost; },
/* harmony export */   q: function() { return /* binding */ blogPage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const relatedPost = [
    {
        id: 99,
        img: "/assets/img/blog/grid/post-1.png",
        cat: "Product",
        date: "Dec 15, 2021",
        title: "Review product BWIB"
    },
    {
        id: 100,
        img: "/assets/img/blog/grid/post-2.png",
        cat: "Inspiration",
        date: "Dec 7, 2021",
        title: "Contrast in Brand Design"
    }
];
const blogPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Blogs | ZiniSoft Ltd. Co.",
        description: "Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",
        path: "/blogs"
    }),
    listing: {
        title: "Blog",
        searchPlaceholder: "Search in blog",
        loadMoreLabel: "More",
        loadingLabel: "Loading...",
        noResultsLabel: "No posts found."
    },
    detail: {
        metadata: {
            title: "Blog Details | ZiniSoft Ltd. Co."
        },
        fallback: {
            img: "/assets/img/home/default/post-1.png",
            cat: "Product",
            date: "Dec 15, 2021",
            title: "Review product BWIB",
            description: "Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."
        },
        meta: {
            category: "Inspiration",
            date: "Dec 7, 2021",
            authorLabel: "by",
            author: "Admin",
            views: "5,6k Views",
            comments: "3 Comments",
            report: "Report"
        },
        relatedTitle: "Related Posts",
        commentsTitle: "03 Comments:",
        commentFormTitle: "Leave a comment:",
        shareLabel: "Share on",
        nextPost: {
            label: "Next Post",
            title: "Minimalist Trends",
            href: "/blog/7"
        },
        form: {
            validation: {
                nameRequired: "Name is required",
                commentRequired: "Please write your comment",
                emailRequired: "Email is required",
                emailInvalid: "Entered value does not match email format",
                termsRequired: "Accept Terms and Conditions is required"
            },
            placeholders: {
                comment: "Write your comment here",
                name: "Your name *",
                email: "Your Email *"
            },
            terms: "Save my name & email in this browser for next time I comment.",
            submitLabel: "Submit"
        }
    }
};


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })

},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(8264); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);��`]�W(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[845],{

/***/ 8264:
���import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogGridSLider.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\blog\\BlogThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\form\\SearchBlog.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx"))0128Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 57120))undefined131254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 43553))undefined257386Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined389513Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 35266))undefined516638Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined���,

/***/ 57120:
���	__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8792);
/* harmony import */ var _FallbackImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44618);
�l/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
const BlogGridSLider = (param)=>{
    let { posts = [] } = param;
    const sliderPosts = posts.slice(0, 3);
    if (!sliderPosts.length) {
        return null;
    }
    const settings = {
        dots: true,
        arrow: false,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        responsive: [
            {
                breakpoint: 767,
                settings: {
                    dots: false
                }
            }
        ]
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx("div", {
            className: "swiper-slide grid-slider",
            children: /*#__PURE__*/ _jsx(Slider, {
                ...settings,
                className: "arrow-none",
                children: sliderPosts.map((val)=>/*#__PURE__*/ _jsxs("div", {
                        className: "ptf-news-slide",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-news-slide__media",
                                children: /*#__PURE__*/ _jsx(FallbackImage, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: val.img,
                                    alt: val.alt || val.title || "news",
                                    loading: "lazy"
                                })
                            }),
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-news-slide__content",
                                children: [
                                    /*#__PURE__*/ _jsxs("div", {
                                        className: "ptf-news-slide__meta",
                                        children: [
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "cat",
                                                children: val.cat || "Blog"
                                            }),
                                            /*#__PURE__*/ _jsx("span", {
                                                className: "date",
                                                children: val.date
                                            })
                                        ]
                                    }),
                                    /*#__PURE__*/ _jsx("h3", {
                                        className: "ptf-news-slide__title",
                                        children: /*#__PURE__*/ _jsx(Link, {
                                            href: val.href || "/blog/".concat(val.id),
                                            children: val.title
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-news-slide__excerpt",
                                        children: /*#__PURE__*/ _jsx("p", {
                                            children: val.descriptions || val.description
                                        })
                                    })
                                ]
                            })
                        ]
                    }, val.id))
            })
        })
    });
};
export default BlogGridSLider;
�61146undefined148173undefined175207undefined209237undefined239282undefined815818(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined820828react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined865868(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined966969(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined971976react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined11141118(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined12601263(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13981401(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined14031415_FallbackImage__WEBPACK_IMPORTED_MODULE_4__["default"]undefined19972001(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21762180(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined23762379(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26392642(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined29672970(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31203123(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined31253128next_link__WEBPACK_IMPORTED_MODULE_3__["default"]undefined34173420(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined35733576(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined39173931/* harmony default export */ __webpack_exports__["default"] = (undefined39173931undefined39463946.5);undefined���,

/***/ 43553:
����// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ blog_BlogThree; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/link.js
var api_link = __webpack_require__(8792);
// EXTERNAL MODULE: ./components/blog/FallbackImage.jsx
var FallbackImage = __webpack_require__(44618);
;// CONCATENATED MODULE: ./data/blogApi.js
��2/const BLOG_API_BASE = "https://admin.zinisoft.net/wp-json/wp/v2/posts";
const BLOG_FALLBACK_IMAGE = "/assets/img/blog/grid/post-1.png";
export const BLOG_LIST_FILTERS = {
    page: 1,
    perPage: 6,
    orderby: "date",
    order: "desc"
};
const htmlEntities = {
    "&amp;": "&",
    "&#038;": "&",
    "&nbsp;": " ",
    "&hellip;": "...",
    "&#8230;": "...",
    "&#8211;": "-",
    "&#8212;": "-",
    "&#8216;": "'",
    "&#8217;": "'",
    "&#8220;": '"',
    "&#8221;": '"'
};
const decodeHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return value.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g, (entity)=>htmlEntities[entity] || entity);
};
const stripHtml = function() {
    let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    return decodeHtml(value.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim());
};
const normalizeContent = function() {
    let html = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
    if (!html) return "";
    return html.replace(/<img\s+[^>]*>/g, (imgTag)=>{
        let srcsetValue = "";
        const dataSrcsetMatch = imgTag.match(/data-srcset="([^"]+)"/);
        if (dataSrcsetMatch) {
            srcsetValue = dataSrcsetMatch[1];
        }
        let srcValue = "";
        const dataSrcMatch = imgTag.match(/data-src="([^"]+)"/) || imgTag.match(/data-orig-src="([^"]+)"/);
        if (dataSrcMatch) {
            srcValue = dataSrcMatch[1];
        }
        let newTag = imgTag;
        if (srcsetValue) {
            if (newTag.includes("srcset=")) {
                newTag = newTag.replace(/srcset="[^"]*"/, 'srcset="'.concat(srcsetValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img srcset="'.concat(srcsetValue, '"'));
            }
        } else {
            newTag = newTag.replace(/srcset="data:image\/svg\+xml[^"]*"/g, "");
        }
        if (srcValue) {
            if (newTag.includes("src=")) {
                newTag = newTag.replace(/src="[^"]*"/, 'src="'.concat(srcValue, '"'));
            } else {
                newTag = newTag.replace("<img", '<img src="'.concat(srcValue, '"'));
            }
        }
        return newTag;
    });
};
const formatDate = (value)=>{
    if (!value) {
        return "";
    }
    return new Intl.DateTimeFormat("en", {
        month: "short",
        day: "numeric",
        year: "numeric"
    }).format(new Date(value));
};
const getFeaturedImage = (post)=>{
    var _post__embedded_wpfeaturedmedia, _post__embedded, _media_media_details, _sizes_full, _sizes_large, _sizes_medium_large;
    const media = post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpfeaturedmedia = _post__embedded["wp:featuredmedia"]) === null || _post__embedded_wpfeaturedmedia === void 0 ? void 0 : _post__embedded_wpfeaturedmedia[0];
    const sizes = (media === null || media === void 0 ? void 0 : (_media_media_details = media.media_details) === null || _media_media_details === void 0 ? void 0 : _media_media_details.sizes) || {};
    return ((_sizes_full = sizes.full) === null || _sizes_full === void 0 ? void 0 : _sizes_full.source_url) || ((_sizes_large = sizes.large) === null || _sizes_large === void 0 ? void 0 : _sizes_large.source_url) || ((_sizes_medium_large = sizes.medium_large) === null || _sizes_medium_large === void 0 ? void 0 : _sizes_medium_large.source_url) || (media === null || media === void 0 ? void 0 : media.source_url) || BLOG_FALLBACK_IMAGE;
};
const getCategory = (post)=>{
    var _post__embedded_wpterm__, _post__embedded_wpterm_, _post__embedded_wpterm, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : (_post__embedded_wpterm_ = _post__embedded_wpterm[0]) === null || _post__embedded_wpterm_ === void 0 ? void 0 : (_post__embedded_wpterm__ = _post__embedded_wpterm_[0]) === null || _post__embedded_wpterm__ === void 0 ? void 0 : _post__embedded_wpterm__.name) || "Blog";
};
const getTags = (post)=>{
    var _post__embedded_wpterm, _post__embedded;
    const terms = (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_wpterm = _post__embedded["wp:term"]) === null || _post__embedded_wpterm === void 0 ? void 0 : _post__embedded_wpterm[1]) || [];
    return terms.map((term)=>term.name);
};
const getAuthorName = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.name) || "Admin";
};
const getAuthorAvatar = (post)=>{
    var _post__embedded_author__avatar_urls, _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : (_post__embedded_author__avatar_urls = _post__embedded_author_.avatar_urls) === null || _post__embedded_author__avatar_urls === void 0 ? void 0 : _post__embedded_author__avatar_urls["96"]) || "/assets/img/root/author-avatar.png";
};
const getAuthorDescription = (post)=>{
    var _post__embedded_author_, _post__embedded_author, _post__embedded;
    return (post === null || post === void 0 ? void 0 : (_post__embedded = post._embedded) === null || _post__embedded === void 0 ? void 0 : (_post__embedded_author = _post__embedded.author) === null || _post__embedded_author === void 0 ? void 0 : (_post__embedded_author_ = _post__embedded_author[0]) === null || _post__embedded_author_ === void 0 ? void 0 : _post__embedded_author_.description) || "";
};
const appendListParam = function(params, name) {
    let values = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
    const list = Array.isArray(values) ? values : [
        values
    ];
    list.filter(Boolean).forEach((value)=>{
        params.append("".concat(name, "[]"), String(value));
    });
};
export const buildBlogPostsUrl = function() {
    let { page = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, sticky, search, searchColumns, categories, status, author, exclude } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const params = new URLSearchParams({
        _embed: "1",
        page: String(page),
        per_page: String(perPage),
        orderby,
        order
    });
    if (typeof sticky === "boolean") {
        params.set("sticky", String(sticky));
    }
    if (search) {
        params.set("search", search);
    }
    appendListParam(params, "search_columns", searchColumns);
    appendListParam(params, "categories", categories);
    appendListParam(params, "status", status);
    appendListParam(params, "author", author);
    appendListParam(params, "exclude", exclude);
    return "".concat(BLOG_API_BASE, "?").concat(params.toString());
};
export const normalizeWpPost = function(post) {
    let { includeContent = false } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_title, _post_title1, _post_excerpt, _post_excerpt1, _post_content;
    return {
        id: post.id,
        slug: post.slug,
        href: "/blog/".concat(post.slug),
        sourceUrl: post.link,
        img: getFeaturedImage(post),
        alt: stripHtml(((_post_title = post.title) === null || _post_title === void 0 ? void 0 : _post_title.rendered) || "Blog image"),
        cat: getCategory(post),
        date: formatDate(post.date),
        title: stripHtml(((_post_title1 = post.title) === null || _post_title1 === void 0 ? void 0 : _post_title1.rendered) || ""),
        description: stripHtml(((_post_excerpt = post.excerpt) === null || _post_excerpt === void 0 ? void 0 : _post_excerpt.rendered) || ""),
        descriptions: stripHtml(((_post_excerpt1 = post.excerpt) === null || _post_excerpt1 === void 0 ? void 0 : _post_excerpt1.rendered) || ""),
        categoryIds: post.categories || [],
        tagIds: post.tags || [],
        tags: getTags(post),
        authorId: post.author,
        author: getAuthorName(post),
        authorAvatar: getAuthorAvatar(post),
        authorDescription: getAuthorDescription(post),
        content: includeContent ? normalizeContent(((_post_content = post.content) === null || _post_content === void 0 ? void 0 : _post_content.rendered) || "") : ""
    };
};
export const getBlogPostsPage = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const url = buildBlogPostsUrl(filters);
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return {
                posts: [],
                totalPages: 0,
                total: 0
            };
        }
        const posts = await response.json();
        return {
            posts: Array.isArray(posts) ? posts.map((post)=>normalizeWpPost(post)) : [],
            totalPages: Number(response.headers.get("x-wp-totalpages") || 0),
            total: Number(response.headers.get("x-wp-total") || 0)
        };
    } catch (error) {
        return {
            posts: [],
            totalPages: 0,
            total: 0
        };
    }
};
export const getBlogPosts = async function() {
    let filters = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
    const { posts } = await getBlogPostsPage(filters);
    return posts;
};
export const getBlogPostById = async (idOrSlug)=>{
    if (!idOrSlug) {
        return null;
    }
    const isNumeric = /^\d+$/.test(String(idOrSlug));
    const url = isNumeric ? "".concat(BLOG_API_BASE, "/").concat(idOrSlug, "?_embed=1") : "".concat(BLOG_API_BASE, "?slug=").concat(encodeURIComponent(idOrSlug), "&_embed=1");
    try {
        const response = await fetch(url, {
            next: {
                revalidate: 3600
            }
        });
        if (!response.ok) {
            return null;
        }
        const data = await response.json();
        if (isNumeric) {
            return normalizeWpPost(data, {
                includeContent: true
            });
        } else {
            if (Array.isArray(data) && data.length > 0) {
                return normalizeWpPost(data[0], {
                    includeContent: true
                });
            }
            return null;
        }
    } catch (error) {
        return null;
    }
};
export const getRelatedBlogPosts = async function(post) {
    let { perPage = 2 } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    var _post_categoryIds;
    if (!(post === null || post === void 0 ? void 0 : post.id)) {
        return [];
    }
    const categories = ((_post_categoryIds = post.categoryIds) === null || _post_categoryIds === void 0 ? void 0 : _post_categoryIds.length) ? post.categoryIds : undefined;
    const { posts } = await getBlogPostsPage({
        page: 1,
        perPage,
        orderby: "date",
        order: "desc",
        categories,
        exclude: [
            post.id
        ],
        sticky: false
    });
    return posts;
};
{136142undefined68286834undefined78107816undefined92929298undefined1020110207undefined1041110417undefined1138811394undefined�:
;// CONCATENATED MODULE: ./components/blog/BlogThree.jsx
����O/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useState } from "react";
import Link from "next/link";
import FallbackImage from "./FallbackImage";
import { BLOG_LIST_FILTERS, buildBlogPostsUrl, normalizeWpPost } from "../../data/blogApi";
const BlogThree = (param)=>{
    let { posts = [], initialPage = BLOG_LIST_FILTERS.page, perPage = BLOG_LIST_FILTERS.perPage, orderby = BLOG_LIST_FILTERS.orderby, order = BLOG_LIST_FILTERS.order, search, searchColumns, categories, status, author, sticky, totalPages = 0, loadMoreLabel = "More", loadingLabel = "Loading...", noResultsLabel = "No posts found." } = param;
    const [blogPosts, setBlogPosts] = useState(posts);
    const [page, setPage] = useState(initialPage);
    const [isLoading, setIsLoading] = useState(false);
    const hasApiPosts = posts.length > 0;
    const hasMore = hasApiPosts && page < totalPages;
    const handleLoadMore = async ()=>{
        if (!hasMore || isLoading) {
            return;
        }
        const nextPage = page + 1;
        setIsLoading(true);
        try {
            const response = await fetch(buildBlogPostsUrl({
                page: nextPage,
                perPage,
                orderby,
                order,
                search,
                searchColumns,
                categories,
                status,
                author,
                sticky
            }));
            if (response.ok) {
                const nextPosts = await response.json();
                setBlogPosts((currentPosts)=>[
                        ...currentPosts,
                        ...nextPosts.map((post)=>normalizeWpPost(post))
                    ]);
                setPage(nextPage);
            }
        } finally{
            setIsLoading(false);
        }
    };
    return /*#__PURE__*/ _jsxs(_Fragment, {
        children: [
            !blogPosts.length && /*#__PURE__*/ _jsx("div", {
                className: "col-12",
                children: /*#__PURE__*/ _jsx("p", {
                    className: "fz-18 text-center",
                    children: noResultsLabel
                })
            }),
            blogPosts.map((val)=>/*#__PURE__*/ _jsx("div", {
                    className: "col-xl-4 col-lg-4",
                    children: /*#__PURE__*/ _jsxs("article", {
                        className: "ptf-post ptf-post--style-1",
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-post__media",
                                children: [
                                    /*#__PURE__*/ _jsx(Link, {
                                        className: "ptf-work__link",
                                        href: val.href || "/blog/".concat(val.id)
                                    }),
                                    /*#__PURE__*/ _jsx(FallbackImage, {
                                        width: 1200,
                                        height: 1200,
                                        style: {
                                            width: "100%",
                                            height: "100%"
                                        },
                                        src: val.img,
                                        alt: val.alt || val.title || "blog",
                                        loading: "lazy"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-post__content",
                                children: /*#__PURE__*/ _jsxs("header", {
                                    className: "ptf-post__header",
                                    children: [
                                        /*#__PURE__*/ _jsxs("div", {
                                            className: "ptf-post__meta",
                                            children: [
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "cat",
                                                    children: val.cat
                                                }),
                                                /*#__PURE__*/ _jsx("span", {
                                                    className: "date",
                                                    children: val.date
                                                })
                                            ]
                                        }),
                                        /*#__PURE__*/ _jsx("h3", {
                                            className: "ptf-post__title",
                                            children: /*#__PURE__*/ _jsx(Link, {
                                                href: val.href || "/blog/".concat(val.id),
                                                children: val.title
                                            })
                                        })
                                    ]
                                })
                            })
                        ]
                    })
                }, val.id)),
            hasMore && /*#__PURE__*/ _jsxs("div", {
                className: "col-12 text-center",
                children: [
                    /*#__PURE__*/ _jsx("div", {
                        className: "ptf-spacer",
                        style: {
                            "--ptf-xxl": "7rem",
                            "--ptf-md": "4rem"
                        }
                    }),
                    /*#__PURE__*/ _jsx("button", {
                        type: "button",
                        className: "ptf-load-more",
                        onClick: handleLoadMore,
                        disabled: isLoading,
                        children: isLoading ? loadingLabel : loadMoreLabel
                    })
                ]
            })
        ]
    });
};
export default BlogThree;
j61146undefined148187undefined189217undefined219262undefined264354undefined421437__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined455471__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined492508__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined527543__WEBPACK_MODULE_REFERENCE__4_5b22424c4f475f4c4953545f46494c54455253225d_asiSafe1__._undefined764771__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined809816__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined870877__WEBPACK_MODULE_REFERENCE__1_5b227573655374617465225d_call_directImport_asiSafe1__._undefined12071223__WEBPACK_MODULE_REFERENCE__4_5b226275696c64426c6f67506f73747355726c225d_call_directImport_asiSafe1__._undefined17281742__WEBPACK_MODULE_REFERENCE__4_5b226e6f726d616c697a655770506f7374225d_call_directImport_asiSafe1__._undefined19181922__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined19241932__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined20042007__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20952098__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined22862289__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23962400__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined25582562__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined27292732__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined27342737__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined29832986__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined29883000__WEBPACK_MODULE_REFERENCE__3_5b2264656661756c74225d_directImport_asiSafe1__._undefined36563659__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined37903794__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined39773981__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined41834186__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined44524455__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined48044807__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49594962__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined49644967__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined54405444__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined55665569__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined58425845__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined61976211/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined61976211undefined62216221.5);undefinedj131215BLOG_LIST_FILTERSundefined233317BLOG_LIST_FILTERSundefined338422BLOG_LIST_FILTERSundefined441525BLOG_LIST_FILTERSundefined746830(0,react.useState)undefined868952(0,react.useState)undefined10061090(0,react.useState)undefined14201522buildBlogPostsUrlundefined20272125normalizeWpPostundefined23012377(0,jsx_runtime.jsxs)undefined23792458jsx_runtime.Fragmentundefined25302604(0,jsx_runtime.jsx)undefined26922766(0,jsx_runtime.jsx)undefined29543028(0,jsx_runtime.jsx)undefined31353211(0,jsx_runtime.jsxs)undefined33693445(0,jsx_runtime.jsxs)undefined36123686(0,jsx_runtime.jsx)undefined36883765api_link["default"]undefined40114085(0,jsx_runtime.jsx)undefined40874164FallbackImage["default"]undefined48204894(0,jsx_runtime.jsx)undefined50255101(0,jsx_runtime.jsxs)undefined52845360(0,jsx_runtime.jsxs)undefined55625636(0,jsx_runtime.jsx)undefined59025976(0,jsx_runtime.jsx)undefined63256399(0,jsx_runtime.jsx)undefined65516625(0,jsx_runtime.jsx)undefined66276704api_link["default"]undefined71777253(0,jsx_runtime.jsxs)undefined73757449(0,jsx_runtime.jsx)undefined77227796(0,jsx_runtime.jsx)undefined81818206blog_BlogThreeundefined���,

/***/ 44618:
y����y���J__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
z���/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React, { useState } from "react";
import Image from "next/image";
const FallbackImage = (param)=>{
    let { src, alt, ...props } = param;
    const defaultImage = "/assets/img/blog/default/post-default.png";
    const [error, setError] = useState(false);
    const [prevSrc, setPrevSrc] = useState(src);
    // Reset error state if the src prop changes
    if (src !== prevSrc) {
        setPrevSrc(src);
        setError(false);
    }
    return /*#__PURE__*/ _jsx(Image, {
        ...props,
        src: error ? defaultImage : src || defaultImage,
        alt: alt || "blog image",
        onError: ()=>setError(true)
    });
};
export default FallbackImage;
�61108undefined110149undefined151181undefined356363(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined407414(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)undefined579582(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined584588next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined749763/* harmony default export */ __webpack_exports__["default"] = (undefined749763undefined777777.5);undefined���,

/***/ 35266:
u����u���J__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var _data_blog__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19190);
v���0/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import { blogPage } from "../../data/blog";
const SearchBlog = (param)=>{
    let { defaultValue = "" } = param;
    return /*#__PURE__*/ _jsxs("form", {
        className: "ptf-search-form",
        action: "/blogs",
        method: "get",
        children: [
            /*#__PURE__*/ _jsx("input", {
                type: "text",
                name: "search",
                defaultValue: defaultValue,
                placeholder: blogPage.listing.searchPlaceholder
            }),
            /*#__PURE__*/ _jsx("input", {
                type: "hidden",
                name: "search_columns[]",
                value: "post_title"
            }),
            /*#__PURE__*/ _jsx("button", {
                type: "submit",
                children: /*#__PURE__*/ _jsx("i", {
                    className: "lnil lnil-search-alt"
                })
            })
        ]
    });
};
export default SearchBlog;
D61123undefined125150undefined152194undefined290294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined439442(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined590597_data_blog__WEBPACK_IMPORTED_MODULE_2__/* .blogPage */ .qundefined667670(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined835838(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined924927(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10451059/* harmony default export */ __webpack_exports__["default"] = (undefined10451059undefined10701070.5);undefined���,

/***/ 19190:
q����q���r���s���*���t�������q����q����s���������������var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(8264); });
var __webpack_exports__ = __webpack_require__.O();
����.��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource�	�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceX(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[123],{

/***/ 31007:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource'	�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourceT�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource{import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\team\\TeamTwo.jsx")D���z�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))��buffer�source�size�maps�hash$Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))��{"finalSource":true}�map�bufferedMapReplaceSourceRawSource{import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\team\\TeamTwo.jsx")K0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257378Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))undefined


/***/ })��buffer�source�size�maps�hash�/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))

/***/ })��{"finalSource":true}�map�bufferedMapConcatSourceRawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

ReplaceSourceRawSource{import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\team\\TeamTwo.jsx")K0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257378Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))undefined	RawSource


/***/ }),

/***/ 79373:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�g�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourcex// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource-import { buildMetadata } from "./seo";
export const notFoundPage = {
    metadata: buildMetadata({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
export const faqPage = {
    metadata: buildMetadata({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
export const teamPage = {
    metadata: buildMetadata({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
export const pricingPage = {
    metadata: buildMetadata({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
export const comingSoonPage = {
    metadata: buildMetadata({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
export const aboutUsPage = {
    metadata: buildMetadata({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
export const aboutMePage = {
    metadata: buildMetadata({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
f%'-S_W����bh���
�
�
�
AGo{bh����*���__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._��������������buffer�source�size�maps�hash
const notFoundPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
const faqPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
const teamPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
const pricingPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
const comingSoonPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
const aboutUsPage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
const aboutMePage = {
    metadata: __WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
��{"finalSource":false}�map�bufferedMapReplaceSourceRawSource-import { buildMetadata } from "./seo";
export const notFoundPage = {
    metadata: buildMetadata({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
export const faqPage = {
    metadata: buildMetadata({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
export const teamPage = {
    metadata: buildMetadata({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
export const pricingPage = {
    metadata: buildMetadata({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
export const comingSoonPage = {
    metadata: buildMetadata({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
export const aboutUsPage = {
    metadata: buildMetadata({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
export const aboutMePage = {
    metadata: buildMetadata({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
�037undefined3945undefined8395__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined651657undefined690702__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined11221128undefined11621174__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined27052711undefined27482760__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined31373143undefined31833195__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined36823688undefined37253737__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined40834089undefined41264138__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined`&L��.�Qp�n
�
�5��(0,seo/* buildMetadata */.$U)������8
;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
��webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
import { teamPage } from "../../data/pages";
const TeamTwo = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsxs("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ _jsx("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ _jsx(Image, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ _jsx("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
export default TeamTwo;
a=_�������+.08OV|=A��kn

��+.

C	CQ	C	Q	Y	 ��@�����__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._�__WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._��__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._����__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._����/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (��);�#/* __next_internal_client_entry_do_not_use__ default auto */ 



const TeamTwo = ()=>{
    return /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._, {
        children: __WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._.members.map((val, i)=>/*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._(__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ __WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (TeamTwo);
���[	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
import { teamPage } from "../../data/pages";
const TeamTwo = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsxs("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ _jsx("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ _jsx(Image, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ _jsx("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
export default TeamTwo;
�61146undefined148173undefined175205undefined207250undefined299302__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined304312__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined335342__WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._undefined380383__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined573577__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined708712__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined875878__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10341037__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10391043__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined16671671__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined18351838__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20582061__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23712385/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined23712385undefined23932393.5);undefineda
pX��"i����f�U�;���D�4	~	Z
�
��(0,jsx_runtime.jsx)�jsx_runtime.Fragment�teamPage��(0,jsx_runtime.jsxs)����api_image["default"]����team_TeamTwo��buffer�source�size�maps�hashZ// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js

const notFoundPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
const faqPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
const teamPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
const pricingPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
const comingSoonPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
const aboutUsPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
const aboutMePage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};

;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 



const TeamTwo = ()=>{
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(api_image["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
/* harmony default export */ var team_TeamTwo = (TeamTwo);
��{"finalSource":true}�map�bufferedMap`
ConcatSourceRawSourcex// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js

ReplaceSourceReplaceSourceRawSource-import { buildMetadata } from "./seo";
export const notFoundPage = {
    metadata: buildMetadata({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
export const faqPage = {
    metadata: buildMetadata({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
export const teamPage = {
    metadata: buildMetadata({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
export const pricingPage = {
    metadata: buildMetadata({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
export const comingSoonPage = {
    metadata: buildMetadata({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
export const aboutUsPage = {
    metadata: buildMetadata({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
export const aboutMePage = {
    metadata: buildMetadata({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
�037undefined3945undefined8395__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined651657undefined690702__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined11221128undefined11621174__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined27052711undefined27482760__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined31373143undefined31833195__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined36823688undefined37253737__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined40834089undefined41264138__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefinedF38132(0,seo/* buildMetadata */.$U)undefined720814(0,seo/* buildMetadata */.$U)undefined12671361(0,seo/* buildMetadata */.$U)undefined29283022(0,seo/* buildMetadata */.$U)undefined34383532(0,seo/* buildMetadata */.$U)undefined40554149(0,seo/* buildMetadata */.$U)undefined45314625(0,seo/* buildMetadata */.$U)undefinedRawSource8
;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
��[	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
import { teamPage } from "../../data/pages";
const TeamTwo = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsxs("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ _jsx("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ _jsx(Image, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ _jsx("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
export default TeamTwo;
�61146undefined148173undefined175205undefined207250undefined299302__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined304312__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined335342__WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._undefined380383__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined573577__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined708712__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined875878__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10341037__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10391043__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined16671671__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined18351838__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20582061__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23712385/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined23712385undefined23932393.5);undefined�112186(0,jsx_runtime.jsx)undefined188267jsx_runtime.Fragmentundefined290361teamPageundefined399473(0,jsx_runtime.jsx)undefined663739(0,jsx_runtime.jsxs)undefined870946(0,jsx_runtime.jsxs)undefined11091183(0,jsx_runtime.jsx)undefined13391413(0,jsx_runtime.jsx)undefined14151492api_image["default"]undefined21162192(0,jsx_runtime.jsxs)undefined23562430(0,jsx_runtime.jsx)undefined26502724(0,jsx_runtime.jsx)undefined30673092team_TeamTwoundefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js

const notFoundPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
const faqPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
const teamPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
const pricingPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
const comingSoonPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
const aboutUsPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
const aboutMePage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};

;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 



const TeamTwo = ()=>{
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(api_image["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
/* harmony default export */ var team_TeamTwo = (TeamTwo);


/***/ })��`�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�x// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js

ReplaceSource�-import { buildMetadata } from "./seo";
export const notFoundPage = {
    metadata: buildMetadata({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
export const faqPage = {
    metadata: buildMetadata({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
export const teamPage = {
    metadata: buildMetadata({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
export const pricingPage = {
    metadata: buildMetadata({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
export const comingSoonPage = {
    metadata: buildMetadata({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
export const aboutUsPage = {
    metadata: buildMetadata({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
export const aboutMePage = {
    metadata: buildMetadata({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
�037undefined3945undefined8395__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined651657undefined690702__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined11221128undefined11621174__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined27052711undefined27482760__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined31373143undefined31833195__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined36823688undefined37253737__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined40834089undefined41264138__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefinedF38132(0,seo/* buildMetadata */.$U)undefined720814(0,seo/* buildMetadata */.$U)undefined12671361(0,seo/* buildMetadata */.$U)undefined29283022(0,seo/* buildMetadata */.$U)undefined34383532(0,seo/* buildMetadata */.$U)undefined40554149(0,seo/* buildMetadata */.$U)undefined45314625(0,seo/* buildMetadata */.$U)undefinedRawSource8
;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
��[	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
import { teamPage } from "../../data/pages";
const TeamTwo = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsxs("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ _jsx("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ _jsx(Image, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ _jsx("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
export default TeamTwo;
�61146undefined148173undefined175205undefined207250undefined299302__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined304312__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined335342__WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._undefined380383__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined573577__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined708712__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined875878__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10341037__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10391043__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined16671671__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined18351838__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20582061__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23712385/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined23712385undefined23932393.5);undefined�112186(0,jsx_runtime.jsx)undefined188267jsx_runtime.Fragmentundefined290361teamPageundefined399473(0,jsx_runtime.jsx)undefined663739(0,jsx_runtime.jsxs)undefined870946(0,jsx_runtime.jsxs)undefined11091183(0,jsx_runtime.jsx)undefined13391413(0,jsx_runtime.jsx)undefined14151492api_image["default"]undefined21162192(0,jsx_runtime.jsxs)undefined23562430(0,jsx_runtime.jsx)undefined26502724(0,jsx_runtime.jsx)undefined30673092team_TeamTwoundefined��,

/***/ 69221:
Ձ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�+*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��

},
�webpack/lib/util/registerExternalSerializer�webpack-sources/PrefixSource�/******/ 9function(__webpack_require__) { // webpackRuntimeModules
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,299,971,69,744], function() { return __webpack_exec__(31007); });
var __webpack_exports__ = __webpack_require__.O();
_N_E = __webpack_exports__;
}
]);e����K(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[123],{

/***/ 31007:
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))

/***/ }),

/***/ 79373:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js

const notFoundPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
const faqPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
const teamPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
const pricingPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
const comingSoonPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
const aboutUsPage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
const aboutMePage = {
    metadata: (0,seo/* buildMetadata */.$U)({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};

;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
/* __next_internal_client_entry_do_not_use__ default auto */ 



const TeamTwo = ()=>{
    return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)(api_image["default"], {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime.jsxs)("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ (0,jsx_runtime.jsx)("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
/* harmony default export */ var team_TeamTwo = (TeamTwo);


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })

},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [703,718,299,971,69,744], function() { return __webpack_exec__(31007); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);�i���`1j���X(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[123],{

/***/ 31007:
i����k���{import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\team\\TeamTwo.jsx")K0129Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined132254Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined257378Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 79373))undefined���,

/***/ 79373:
f����f���x// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "default": function() { return /* binding */ team_TeamTwo; }
});

// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3827);
// EXTERNAL MODULE: ./node_modules/next/dist/compiled/react/index.js
var react = __webpack_require__(64090);
// EXTERNAL MODULE: ./node_modules/next/dist/api/image.js
var api_image = __webpack_require__(20703);
// EXTERNAL MODULE: ./data/seo.js
var seo = __webpack_require__(69221);
;// CONCATENATED MODULE: ./data/pages.js
�g���-import { buildMetadata } from "./seo";
export const notFoundPage = {
    metadata: buildMetadata({
        title: "Not Found | ZiniSoft Ltd. Co.",
        description: "Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",
        path: "/404"
    }),
    image: {
        src: "/assets/img/root/404-robot.png",
        alt: "robot"
    },
    titleLines: [
        "Opps...!",
        "Page not found"
    ],
    description: "You seem can't to find the page you're looking for.",
    button: {
        label: "Back to Home",
        href: "/"
    }
};
export const faqPage = {
    metadata: buildMetadata({
        title: "FAQ | ZiniSoft Ltd. Co.",
        description: "Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",
        path: "/faq"
    }),
    heading: "FAQs",
    description: "Here are the frequently asked questions that we have compiled to help you find the answers to the problems you are wondering."
};
export const teamPage = {
    metadata: buildMetadata({
        title: "Team | ZiniSoft Ltd. Co.",
        description: "Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",
        path: "/team"
    }),
    heading: "The face of ZiniSoft Ltd. Co.",
    description: "Meet our talented team of developers, tech-lovers and innovative builders.",
    members: [
        {
            delayAnimation: "0",
            img: "thanh",
            title: "Thanh Vo",
            designation: "Co-founder & CTO"
        },
        {
            delayAnimation: "0",
            img: "nguyen",
            title: "Nguyen Tran",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "doan",
            title: "Doan Tran",
            designation: "Frontend Developer"
        },
        {
            delayAnimation: "0",
            img: "nguyentrinh",
            title: "Nguyen Trinh",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "quocanh",
            title: "Anh Nguyen",
            designation: "Marketing & Designer"
        },
        {
            delayAnimation: "0",
            img: "tai",
            title: "Tai Nguyen",
            designation: "Backend Developer"
        },
        {
            delayAnimation: "0",
            img: "tuong",
            title: "Tuong Le",
            designation: "Frontend Developer"
        }
    ]
};
export const pricingPage = {
    metadata: buildMetadata({
        title: "Pricing | ZiniSoft Ltd. Co.",
        description: "Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",
        path: "/pricing"
    }),
    heading: "Pricing & Plan",
    description: "We provide much types of plan for your purpose with an affordable."
};
export const comingSoonPage = {
    metadata: buildMetadata({
        title: "Coming Soon | ZiniSoft Ltd. Co.",
        description: "Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",
        path: "/coming-soon"
    }),
    heading: "Coming soon",
    description: "We are currently working on launching new custom modules, AI tools, and system architecture features. Stay tuned for advanced updates from the ZiniSoft engineering team."
};
export const aboutUsPage = {
    metadata: buildMetadata({
        title: "About Us | ZiniSoft Ltd. Co.",
        description: "ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",
        path: "/about-us"
    }),
    heading: "ZiniSoft Ltd. Co.",
    partnersHeading: "ZiniSoft’s Partners"
};
export const aboutMePage = {
    metadata: buildMetadata({
        title: "About Me | ZiniSoft Ltd. Co.",
        description: "Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",
        path: "/about-me"
    })
};
�037undefined3945undefined8395__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined651657undefined690702__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined11221128undefined11621174__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined27052711undefined27482760__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined31373143undefined31833195__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined36823688undefined37253737__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefined40834089undefined41264138__WEBPACK_MODULE_REFERENCE__3_5b226275696c644d65746164617461225d_call_directImport_asiSafe1__._undefinedF38132(0,seo/* buildMetadata */.$U)undefined720814(0,seo/* buildMetadata */.$U)undefined12671361(0,seo/* buildMetadata */.$U)undefined29283022(0,seo/* buildMetadata */.$U)undefined34383532(0,seo/* buildMetadata */.$U)undefined40554149(0,seo/* buildMetadata */.$U)undefined45314625(0,seo/* buildMetadata */.$U)undefinedRawSource8
;// CONCATENATED MODULE: ./components/team/TeamTwo.jsx
�c���[	/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
import { teamPage } from "../../data/pages";
const TeamTwo = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: teamPage.members.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "ptf-animated-block",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsxs("div", {
                    className: "ptf-team-member",
                    children: [
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__avatar",
                            children: [
                                /*#__PURE__*/ _jsx("div", {
                                    className: "shadow-effect"
                                }),
                                /*#__PURE__*/ _jsx(Image, {
                                    width: 1200,
                                    height: 1200,
                                    style: {
                                        width: "100%",
                                        height: "100%"
                                    },
                                    src: "/assets/img/root/team/".concat(val.img, ".png"),
                                    alt: val.title,
                                    loading: "lazy"
                                })
                            ]
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-team-member__content",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-team-member__name",
                                    children: val.title
                                }),
                                /*#__PURE__*/ _jsx("p", {
                                    className: "ptf-team-member__function",
                                    children: val.designation
                                })
                            ]
                        })
                    ]
                })
            }, i))
    });
};
export default TeamTwo;
�61146undefined148173undefined175205undefined207250undefined299302__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined304312__WEBPACK_MODULE_REFERENCE__0_5b22467261676d656e74225d_directImport_asiSafe1__._undefined335342__WEBPACK_MODULE_REFERENCE__4_5b227465616d50616765225d_call_asiSafe1__._undefined380383__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined573577__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined708712__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined875878__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10341037__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined10391043__WEBPACK_MODULE_REFERENCE__2_5b2264656661756c74225d_directImport_asiSafe1__._undefined16671671__WEBPACK_MODULE_REFERENCE__0_5b226a737873225d_call_directImport_asiSafe1__._undefined18351838__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined20582061__WEBPACK_MODULE_REFERENCE__0_5b226a7378225d_call_directImport_asiSafe1__._undefined23712385/* harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (undefined23712385undefined23932393.5);undefined�112186(0,jsx_runtime.jsx)undefined188267jsx_runtime.Fragmentundefined290361teamPageundefined399473(0,jsx_runtime.jsx)undefined663739(0,jsx_runtime.jsxs)undefined870946(0,jsx_runtime.jsxs)undefined11091183(0,jsx_runtime.jsx)undefined13391413(0,jsx_runtime.jsx)undefined14151492api_image["default"]undefined21162192(0,jsx_runtime.jsxs)undefined23562430(0,jsx_runtime.jsx)undefined26502724(0,jsx_runtime.jsx)undefined30673092team_TeamTwoundefined����^����^���x���`�����y����������var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,299,971,69,744], function() { return __webpack_exec__(31007); });
var __webpack_exports__ = __webpack_require__.O();
�����K�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource�`�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceX(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[435],{

/***/ 58081:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�	�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandFour.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\InstagramFeed.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\list\\ServiceListFive.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\Resume.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\SocialTwo.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\testimonial\\TestimonialThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")
a|P�����y|�ru��~��Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943))�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224))�Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))��buffer�source�size�maps�hash�Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))��{"finalSource":true}�map�bufferedMapReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandFour.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\InstagramFeed.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\list\\ServiceListFive.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\Resume.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\SocialTwo.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\testimonial\\TestimonialThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")]0124Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753))undefined127252Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273))undefined255384Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined387509Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined512633Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067))undefined636765Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654))undefined768882Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300))undefined8851010Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943))undefined10131150Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224))undefined11531297Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined


/***/ })��buffer�source�size�maps�hash;/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))

/***/ })��{"finalSource":true}�map�bufferedMapConcatSourceRawSource[/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

ReplaceSourceRawSourceimport(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandFour.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\InstagramFeed.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\list\\ServiceListFive.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\Resume.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\SocialTwo.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\testimonial\\TestimonialThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")]0124Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753))undefined127252Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273))undefined255384Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined387509Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined512633Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067))undefined636765Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654))undefined768882Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300))undefined8851010Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943))undefined10131150Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224))undefined11531297Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined	RawSource


/***/ }),

/***/ 5067:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];
import Image from "next/image";
const InstagramFeed = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsx("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ _jsx(Image, {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
export default InstagramFeed;
c=lnQ��CF������������� ��@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)����next_image__WEBPACK_IMPORTED_MODULE_2__["default"]�/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];

const InstagramFeed = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (InstagramFeed);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
ReplaceSourceRawSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];
import Image from "next/image";
const InstagramFeed = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsx("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ _jsx(Image, {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
export default InstagramFeed;
�61108undefined110135undefined238268undefined323326(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined438441(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined491494(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined689692(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined694698next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined11591173/* harmony default export */ __webpack_exports__["default"] = (undefined11591173undefined11871187.5);undefined


/***/ })�/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];

const InstagramFeed = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (InstagramFeed);


/***/ })��	�d/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�J__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
��/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];
import Image from "next/image";
const InstagramFeed = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsx("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ _jsx(Image, {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
export default InstagramFeed;
�61108undefined110135undefined238268undefined323326(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined438441(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined491494(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined689692(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined694698next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined11591173/* harmony default export */ __webpack_exports__["default"] = (undefined11591173undefined11871187.5);undefined��,

/***/ 44300:
8�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ _jsx("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ _jsxs("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ _jsx("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ _jsx("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default Resume;
a=[���ehjr��!$���	�	P
S
�
�
����w�w�� �@���(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment���(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)������/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash*__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (Resume);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
ReplaceSourceRawSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ _jsx("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ _jsxs("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ _jsx("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ _jsx("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default Resume;
\61146undefined148173undefined18931896(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18981906react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined19721975(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20812084(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22912295(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24352438(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26402643(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28052809(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30023005(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32713274(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37033717/* harmony default export */ __webpack_exports__["default"] = (undefined37033717undefined37243724.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (Resume);


/***/ })��	����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
��/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ _jsx("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ _jsxs("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ _jsx("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ _jsx("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default Resume;
\61146undefined148173undefined18931896(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18981906react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined19721975(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20812084(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22912295(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24352438(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26402643(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28052809(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30023005(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32713274(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37033717/* harmony default export */ __webpack_exports__["default"] = (undefined37033717undefined37243724.5);undefined��,

/***/ 6753:
�5�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSourceA�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource5
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ _jsx(Image, {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default BrandFour;
a=_���������:=��w{��7:�����
�

)

)
3
 g�@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment���(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)����next_image__WEBPACK_IMPORTED_MODULE_2__["default"]���/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash>__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandFour);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
ReplaceSourceRawSource5
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ _jsx(Image, {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default BrandFour;
�61146undefined148173undefined175205undefined10051008(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10101018react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined10821085(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11901193(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13991403(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined16651669(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18471850(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20042007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20092013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined27852788(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30903093(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33553369/* harmony default export */ __webpack_exports__["default"] = (undefined33553369undefined33793379.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandFour);


/***/ })��	�����5
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ _jsx(Image, {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default BrandFour;
�61146undefined148173undefined175205undefined10051008(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10101018react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined10821085(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11901193(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13991403(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined16651669(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18471850(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20042007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20092013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined27852788(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30903093(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33553369/* harmony default export */ __webpack_exports__["default"] = (undefined33553369undefined33793379.5);undefined��,

/***/ 69273:
��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource	�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsx(Image, {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
export default BrandThree;

b=lnO���_b(+��������� B�@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)���next_image__WEBPACK_IMPORTED_MODULE_2__["default"]�/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandThree);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceJ__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
ReplaceSourceRawSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsx(Image, {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
export default BrandThree;
�61108undefined110135undefined137167undefined607610(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined808811(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10041007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10091013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined14631477/* harmony default export */ __webpack_exports__["default"] = (undefined14631477undefined14881488.5);undefined


/***/ })�/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandThree);


/***/ })��	������/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsx(Image, {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
export default BrandThree;
�61108undefined110135undefined137167undefined607610(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined808811(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10041007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10091013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined14631477/* harmony default export */ __webpack_exports__["default"] = (undefined14631477undefined14881488.5);undefined��,

/***/ 37654:
.�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { aiServices } from "../../data/servicesData";
const ServiceListFive = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: aiServices.items.map((item, index)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsxs(Link, {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ _jsx("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
export default ServiceListFive;
c
={}U�����#&
69koqt����� l�@�����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�_data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kb��(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)�next_link__WEBPACK_IMPORTED_MODULE_2__["default"]��/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hash3__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const ServiceListFive = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: _data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kb.items.map((item, index)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(next_link__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ServiceListFive);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
ReplaceSourceRawSource�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { aiServices } from "../../data/servicesData";
const ServiceListFive = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: aiServices.items.map((item, index)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsxs(Link, {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ _jsx("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
export default ServiceListFive;
S61123undefined125150undefined152180undefined182234undefined291294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined516525_data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kbundefined566569(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined619623(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined625628next_link__WEBPACK_IMPORTED_MODULE_2__["default"]undefined776779(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined943957/* harmony default export */ __webpack_exports__["default"] = (undefined943957undefined973973.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const ServiceListFive = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: _data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kb.items.map((item, index)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(next_link__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ServiceListFive);


/***/ })��	����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
��/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { aiServices } from "../../data/servicesData";
const ServiceListFive = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: aiServices.items.map((item, index)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsxs(Link, {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ _jsx("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
export default ServiceListFive;
S61123undefined125150undefined152180undefined182234undefined291294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined516525_data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kbundefined566569(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined619623(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined625628next_link__WEBPACK_IMPORTED_MODULE_2__["default"]undefined776779(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined943957/* harmony default export */ __webpack_exports__["default"] = (undefined943957undefined973973.5);undefined��,

/***/ 89224:
�;�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource'�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceI__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx(Slider, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ _jsxs("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ _jsx("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ _jsx("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ _jsx("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ _jsx("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
export default TestimonialThree;
a=_���������������JM��w	{	

�
�������A�� �@����(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)�react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment��react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z�(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)��������/* harmony default export */ __webpack_exports__["default"] = (��);��buffer�source�size�maps�hashG__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (TestimonialThree);
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourceI__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
ReplaceSourceRawSource/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx(Slider, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ _jsxs("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ _jsx("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ _jsx("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ _jsx("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ _jsx("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
export default TestimonialThree;
61146undefined148173undefined175207undefined17201723(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17251733react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined17701773(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17751780react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined19531957(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21222125(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22552258(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24232427(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined25882591(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28122816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30013004(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32763279(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37953809/* harmony default export */ __webpack_exports__["default"] = (undefined37953809undefined38263826.5);undefined


/***/ })��/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (TestimonialThree);


/***/ })��	���I__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
�/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx(Slider, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ _jsxs("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ _jsx("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ _jsx("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ _jsx("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ _jsx("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
export default TestimonialThree;
61146undefined148173undefined175207undefined17201723(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17251733react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined17701773(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17751780react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined19531957(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21222125(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22552258(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24232427(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined25882591(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28122816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30013004(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32763279(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37953809/* harmony default export */ __webpack_exports__["default"] = (undefined37953809undefined38263826.5);undefined��,

/***/ 69221:
Ձ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�+*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��,

/***/ 63521:
�n�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourced/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource�$�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourcej/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource"import { buildMetadata } from "./seo";
export const servicesPage = {
    metadata: buildMetadata({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
export const servicesIntro = {
    title: "Our Solutions"
};
export const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
export const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
export const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
export const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};
d%'-S_Iio�����
�
���(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)�������buffer�source�size�maps�hashc#/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const servicesPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
const servicesIntro = {
    title: "Our Solutions"
};
const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};
��{"finalSource":true}�map�bufferedMapConcatSourceRawSourcej/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource"import { buildMetadata } from "./seo";
export const servicesPage = {
    metadata: buildMetadata({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
export const servicesIntro = {
    title: "Our Solutions"
};
export const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
export const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
export const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
export const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};
�037undefined3945undefined8395(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined361367undefined422428undefined19461952undefined35443550undefined64176423undefined


/***/ })��#/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const servicesPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
const servicesIntro = {
    title: "Our Solutions"
};
const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};


/***/ })��	���j/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�"import { buildMetadata } from "./seo";
export const servicesPage = {
    metadata: buildMetadata({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
export const servicesIntro = {
    title: "Our Solutions"
};
export const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
export const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
export const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
export const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};
�037undefined3945undefined8395(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined361367undefined422428undefined19461952undefined35443550undefined64176423undefined��

},
�webpack/lib/util/registerExternalSerializer�webpack-sources/PrefixSource�/******/ 9function(__webpack_require__) { // webpackRuntimeModules
var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(58081); });
var __webpack_exports__ = __webpack_require__.O();
_N_E = __webpack_exports__;
}
]);R���r�(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[435],{

/***/ 58081:
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {

Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943));
Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224));
Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))

/***/ }),

/***/ 5067:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];

const InstagramFeed = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (InstagramFeed);


/***/ }),

/***/ 44300:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* __next_internal_client_entry_do_not_use__ default auto */ 

const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (Resume);


/***/ }),

/***/ 6753:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandFour);


/***/ }),

/***/ 69273:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20703);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(next_image__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (BrandThree);


/***/ }),

/***/ 37654:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
/* __next_internal_client_entry_do_not_use__ default auto */ 



const ServiceListFive = ()=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: _data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kb.items.map((item, index)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("li", {
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(next_link__WEBPACK_IMPORTED_MODULE_2__["default"], {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
/* harmony default export */ __webpack_exports__["default"] = (ServiceListFive);


/***/ }),

/***/ 89224:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
/* __next_internal_client_entry_do_not_use__ default auto */ 


const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
/* harmony default export */ __webpack_exports__["default"] = (TestimonialThree);


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ }),

/***/ 63521:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const servicesPage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
const servicesIntro = {
    title: "Our Solutions"
};
const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};


/***/ })

},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(58081); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);|���V���`kW���X(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[435],{

/***/ 58081:
V���}���X���import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandFour.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\brand\\BrandThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\footer\\FooterSection.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\header\\Header.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\InstagramFeed.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\list\\ServiceListFive.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\Resume.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\social\\SocialTwo.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\components\\testimonial\\TestimonialThree.jsx");
import(/* webpackMode: "eager" */ "G:\\zinisoft\\zinisoft_beta\\zinisoft.net\\frontend-v3\\node_modules\\next\\dist\\client\\image-component.js")]0124Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6753))undefined127252Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 69273))undefined255384Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 14716))undefined387509Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 70296))undefined512633Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5067))undefined636765Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 37654))undefined768882Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 44300))undefined8851010Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 85943))undefined10131150Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 89224))undefined11531297Promise.resolve(/* import() eager */).then(__webpack_require__.t.bind(__webpack_require__, 81749, 23))undefined~������~���,

/***/ 5067:
S����S����U����/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
const instagramFeed = [
    "image-1",
    "image-2",
    "image-3",
    "image-4",
    "image-5"
];
import Image from "next/image";
const InstagramFeed = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-instagram-feed",
        children: instagramFeed.map((icon, i)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsx("a", {
                    href: "https://www.instagram.com/",
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: /*#__PURE__*/ _jsx(Image, {
                        width: 1200,
                        height: 1200,
                        style: {
                            width: "100%",
                            height: "100%"
                        },
                        src: "/assets/img/instagram/".concat(icon, ".png"),
                        alt: "instagram icon",
                        loading: "lazy"
                    })
                })
            }, i))
    });
};
export default InstagramFeed;
�61108undefined110135undefined238268undefined323326(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined438441(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined491494(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined689692(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined694698next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined11591173/* harmony default export */ __webpack_exports__["default"] = (undefined11591173undefined11871187.5);undefined{���|���{���,

/***/ 44300:
P���}���P����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
Q����/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
const resumeContent = [
    {
        year: "2014",
        delayAnimation: "",
        infoContent: [
            {
                title: " Bachelor Degree of Design",
                subTitle: "RMIT University"
            },
            {
                title: "UI/UX Design Certificate",
                subTitle: " University of Houston, US"
            }
        ]
    },
    {
        year: "2015 - 2019",
        delayAnimation: "",
        infoContent: [
            {
                title: "Design Internship",
                subTitle: "CMC Corporation, UK"
            },
            {
                title: "Graphic Designer",
                subTitle: "Tripadvisor Ltd, UK"
            },
            {
                title: "Leader Graphic Design",
                subTitle: "New Centery Media JSC, UK"
            },
            {
                title: "Web Designer",
                subTitle: "Freelancer"
            },
            {
                title: "Web Designer/ Author",
                subTitle: "Envato Market"
            }
        ]
    },
    {
        year: "2020 - PRESENT",
        delayAnimation: "",
        infoContent: [
            {
                title: "Product Designe Management",
                subTitle: "Dribbble LLC, US"
            },
            {
                title: "Art Director / Co-Founder",
                subTitle: "Spotify"
            },
            {
                title: "Founder",
                subTitle: "iDesign Magazine"
            },
            {
                title: "Author of The Book",
                subTitle: "Work for Money, Design for Love"
            }
        ]
    }
];
const Resume = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: resumeContent.map((item, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-12 col-md-6 col-lg-4",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": item.delayAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-timeline",
                        children: [
                            /*#__PURE__*/ _jsx("div", {
                                className: "ptf-timeline__year",
                                children: item.year
                            }),
                            /*#__PURE__*/ _jsx("ul", {
                                className: "ptf-timeline__list",
                                children: item.infoContent.map((val, i)=>/*#__PURE__*/ _jsxs("li", {
                                        className: "ptf-timeline__item",
                                        children: [
                                            /*#__PURE__*/ _jsx("h4", {
                                                className: "ptf-timeline__title",
                                                children: val.title
                                            }),
                                            /*#__PURE__*/ _jsx("p", {
                                                className: "ptf-timeline__description",
                                                children: val.subTitle
                                            })
                                        ]
                                    }, i))
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default Resume;
\61146undefined148173undefined18931896(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined18981906react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined19721975(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20812084(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22912295(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined24352438(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined26402643(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28052809(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30023005(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32713274(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37033717/* harmony default export */ __webpack_exports__["default"] = (undefined37033717undefined37243724.5);undefinedw���x���w���,

/***/ 6753:
L���y���L����N���5
/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        dealyAnimation: "0",
        icon: "image-1",
        percentage: "90",
        title: "Figma"
    },
    {
        dealyAnimation: "100",
        icon: "image-2",
        percentage: "95",
        title: "Sketch"
    },
    {
        dealyAnimation: "200",
        icon: "image-3",
        percentage: "82",
        title: "Adobe XD"
    },
    {
        dealyAnimation: "300",
        icon: "image-4",
        percentage: "93",
        title: "InvisionApp"
    },
    {
        dealyAnimation: "400",
        icon: "image-5",
        percentage: "76",
        title: "Bootstrap"
    },
    {
        dealyAnimation: "500",
        icon: "image-6",
        percentage: "88",
        title: "HTML5/CSS"
    }
];
const BrandFour = ()=>{
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("div", {
                className: "col-6 col-md-4 col-lg-2",
                children: /*#__PURE__*/ _jsx("div", {
                    className: "ptf-animated-block",
                    "data-aos": "fade",
                    "data-aos-delay": val.dealyAnimation,
                    children: /*#__PURE__*/ _jsxs("div", {
                        className: "ptf-advantage-box",
                        style: {
                            "--ptf-image-height": "90px"
                        },
                        children: [
                            /*#__PURE__*/ _jsxs("div", {
                                className: "ptf-advantage-box__content",
                                children: [
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__image",
                                        children: /*#__PURE__*/ _jsx(Image, {
                                            width: 200,
                                            height: 200,
                                            style: {
                                                width: "116px",
                                                height: "57px",
                                                objectFit: "contain"
                                            },
                                            src: "/assets/img/root/advantages/".concat(val.icon, ".png"),
                                            alt: "Figma",
                                            loading: "lazy"
                                        })
                                    }),
                                    /*#__PURE__*/ _jsx("div", {
                                        className: "ptf-advantage-box__value",
                                        children: val.percentage
                                    })
                                ]
                            }),
                            /*#__PURE__*/ _jsx("h6", {
                                className: "ptf-advantage-box__title",
                                children: val.title
                            })
                        ]
                    })
                })
            }, i))
    });
};
export default BrandFour;
�61146undefined148173undefined175205undefined10051008(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10101018react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined10821085(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined11901193(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined13991403(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined16651669(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined18471850(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20042007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined20092013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined27852788(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined30903093(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined33553369/* harmony default export */ __webpack_exports__["default"] = (undefined33553369undefined33793379.5);undefinedt���u���t���,

/***/ 69273:
I���v���I����K����/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import Image from "next/image";
const brandContent = [
    {
        delayAnimation: "0",
        icon: "logo-1-black"
    },
    {
        delayAnimation: "100",
        icon: "logo-2-black"
    },
    {
        delayAnimation: "200",
        icon: "logo-3-black"
    },
    {
        delayAnimation: "300",
        icon: "logo-4-black"
    },
    {
        delayAnimation: "400",
        icon: "logo-5-black"
    }
];
const BrandThree = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ",
        "data-columns": "5",
        children: brandContent.map((val, i)=>/*#__PURE__*/ _jsx("li", {
                className: "ptf-clients-list__item",
                "data-aos": "fade",
                "data-aos-delay": val.delayAnimation,
                children: /*#__PURE__*/ _jsx(Image, {
                    width: 200,
                    height: 200,
                    style: {
                        width: "150px",
                        height: "64px",
                        objectFit: "contain"
                    },
                    src: "/assets/img/root/clients/".concat(val.icon, ".png"),
                    alt: "brand icon",
                    loading: "lazy"
                })
            }, i))
    });
};
export default BrandThree;
�61108undefined110135undefined137167undefined607610(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined808811(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10041007(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined10091013next_image__WEBPACK_IMPORTED_MODULE_2__["default"]undefined14631477/* harmony default export */ __webpack_exports__["default"] = (undefined14631477undefined14881488.5);undefinedq���r���q���,

/***/ 37654:
F���s���F����__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8792);
/* harmony import */ var _data_servicesData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63521);
G����/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import React from "react";
import Link from "next/link";
import { aiServices } from "../../data/servicesData";
const ServiceListFive = ()=>{
    return /*#__PURE__*/ _jsx("ul", {
        className: "ptf-services-list ptf-services-list--style-1",
        style: {
            "--ptf-font-family": "var(--ptf-primary-font)",
            "--ptf-font-weight": "300"
        },
        children: aiServices.items.map((item, index)=>/*#__PURE__*/ _jsx("li", {
                children: /*#__PURE__*/ _jsxs(Link, {
                    href: item.href,
                    children: [
                        item.title,
                        /*#__PURE__*/ _jsx("span", {
                            children: index + 1
                        })
                    ]
                })
            }, item.id))
    });
};
export default ServiceListFive;
S61123undefined125150undefined152180undefined182234undefined291294(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined516525_data_servicesData__WEBPACK_IMPORTED_MODULE_3__/* .aiServices */ .kbundefined566569(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined619623(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined625628next_link__WEBPACK_IMPORTED_MODULE_2__["default"]undefined776779(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined943957/* harmony default export */ __webpack_exports__["default"] = (undefined943957undefined973973.5);undefinedm���n���m���,

/***/ 89224:
B���o���B���I__webpack_require__.r(__webpack_exports__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3827);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64090);
/* harmony import */ var react_slick__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138);
C���/* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React from "react";
import Slider from "react-slick";
const testimonialContent = [
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    },
    {
        descriptions: " “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",
        name: "Jurgen Kloop",
        designation: "Product Management",
        companyName: "Google Inc",
        webLink: "https://www.google.com/"
    }
];
const TestimonialThree = ()=>{
    const settings = {
        dots: true,
        arrow: true,
        infinite: true,
        speed: 900,
        slidesToShow: 1,
        slidesToScroll: 1,
        autoplay: false
    };
    return /*#__PURE__*/ _jsx(_Fragment, {
        children: /*#__PURE__*/ _jsx(Slider, {
            ...settings,
            className: "arrow-none testimonial-pagination--style-bottom",
            children: testimonialContent.map((val, i)=>/*#__PURE__*/ _jsxs("div", {
                    className: "ptf-testimonial ptf-testimonial--style-1 space-80",
                    children: [
                        /*#__PURE__*/ _jsx("div", {
                            className: "ptf-testimonial__content",
                            children: /*#__PURE__*/ _jsx("p", {
                                children: val.descriptions
                            })
                        }),
                        /*#__PURE__*/ _jsxs("div", {
                            className: "ptf-testimonial__meta",
                            children: [
                                /*#__PURE__*/ _jsx("h6", {
                                    className: "ptf-testimonial__author",
                                    children: val.name
                                }),
                                /*#__PURE__*/ _jsxs("div", {
                                    className: "ptf-testimonial__info",
                                    children: [
                                        /*#__PURE__*/ _jsx("span", {
                                            children: val.designation
                                        }),
                                        " at",
                                        " ",
                                        /*#__PURE__*/ _jsx("a", {
                                            href: val.webLink,
                                            target: "_blank",
                                            rel: "noopener noreferrer",
                                            children: val.companyName
                                        })
                                    ]
                                })
                            ]
                        })
                    ]
                }, i))
        })
    });
};
export default TestimonialThree;
61146undefined148173undefined175207undefined17201723(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17251733react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragmentundefined17701773(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined17751780react_slick__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Zundefined19531957(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined21222125(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined22552258(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined24232427(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined25882591(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined28122816(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)undefined30013004(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined32763279(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)undefined37953809/* harmony default export */ __webpack_exports__["default"] = (undefined37953809undefined38263826.5);undefinedi���j���i���u���?���l���?���Y���A������Z���i���j���i���,

/***/ 63521:
>���k���>���j/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   kb: function() { return /* binding */ aiServices; }
/* harmony export */ });
/* unused harmony exports servicesPage, servicesIntro, systemServices, saasProducts, technicalStandards */
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
?���"import { buildMetadata } from "./seo";
export const servicesPage = {
    metadata: buildMetadata({
        title: "Services | ZiniSoft Ltd. Co.",
        description: "Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",
        path: "/services"
    })
};
export const servicesIntro = {
    title: "Our Solutions"
};
export const systemServices = {
    subtitle: "System Services",
    title: "High-Performance Software Architecture",
    description: "We thoroughly solve high-load challenges and large-scale distributed database structures using industry-leading optimization technologies.",
    items: [
        {
            id: 56,
            icon: "lnil lnil-cloud-network",
            title: "Enterprise Microservices Architecture",
            text: "Architect ERP, CRM, and supply chain operations using streamlined, secure, and highly scalable Microservices architecture.",
            badges: [
                "Docker",
                "K8s"
            ],
            href: "/service/56"
        },
        {
            id: 57,
            icon: "lnil lnil-database",
            title: "High-Performance Realtime Data",
            text: "Process massive real-time data streams and aggregate market indices using highly optimized languages and Time-Series DB architectures.",
            badges: [
                "Go",
                "QuestDB"
            ],
            href: "/service/57"
        },
        {
            id: 58,
            icon: "lnil lnil-laptop",
            title: "Cross-Platform Development",
            text: "Develop cross-platform applications optimized for seamless UX, direct core-layer API connectivity, and highly standardized distribution.",
            badges: [
                "Native Apps",
                "Web App"
            ],
            href: "/service/58"
        }
    ]
};
export const saasProducts = {
    subtitle: "Proprietary Ecosystem",
    title: "Ready-to-Deploy SaaS Products",
    items: [
        {
            id: "coco",
            icon: "lnil lnil-hospital-alt-3",
            category: "SMART HOSPITAL / GOV",
            title: "Coco",
            subtitle: "Smart Queue Management System",
            text: "Solve operational bottleneck and flow optimization for healthcare, hospitals, and public administration branches in real-time.",
            footerLeft: "Queue Management System",
            footerRight: "View Details",
            href: "/service/coco"
        },
        {
            id: "kindie",
            icon: "lnil lnil-graduation",
            category: "EDTECH",
            title: "Kindie",
            subtitle: "Comprehensive Kindergarten Platform",
            text: "Digitize school-parent interactions, classroom attendance, child nutrition tracking, and highly secure pickup workflows.",
            footerLeft: "Trusted by 50+ Schools",
            footerRight: "View Details",
            href: "/service/kindie"
        },
        {
            id: "omnispa",
            icon: "lnil lnil-cart",
            category: "E-COMMERCE ECOSYSTEM",
            title: "OmniSpa",
            subtitle: "Omnichannel Sales Growth Solutions",
            text: "Synchronize sales data from POS and websites to e-commerce marketplaces, integrated with next-gen customer care automation.",
            footerLeft: "Integrated BI Module",
            footerRight: "View Details",
            href: "/service/omnispa"
        }
    ]
};
export const technicalStandards = {
    subtitle: "Technical Standards",
    title: "Rigorous Infrastructure. Absolute Security.",
    description: "At ZiniSoft Ltd. Co., clean code must be backed by robust infrastructure. We establish the highest operational standards to protect your data integrity and B2B brand reputation.",
    items: [
        {
            id: "standard-1",
            title: "Redundancy & Load Balancing Infrastructure",
            text: "Default configuration features flexible Dual-WAN bandwidth aggregation, maintaining a seamless 24/7 high availability status."
        },
        {
            id: "standard-2",
            title: "Hardware Control & Virtualization",
            text: "Master virtualized infrastructure (Proxmox/Docker) to manage compute resources smoothly for heavy workloads on local clusters."
        },
        {
            id: "standard-3",
            title: "Zero SEO Injection Guarantee",
            text: "Multi-layer source code defense and WAF shield applications entirely, completely eliminating unauthorized link-injection exploits."
        }
    ],
    terminal: {
        title: "CORE-ENGINE-STATUS.SH",
        load: "System Load: 12.4%",
        status: "ONLINE",
        lines: [
            {
                id: "line-1",
                type: "command",
                text: "$ zinisoft-audit --check-network"
            },
            {
                id: "line-2",
                type: "muted",
                text: "Connecting to WAN-1 (Primary Broadband)... [OK]"
            },
            {
                id: "line-3",
                type: "muted",
                text: "Connecting to WAN-2 (Business Backup)... [OK]"
            },
            {
                id: "line-4",
                type: "accent",
                text: "Aggregating bandwidth & establishing active-active redundancy..."
            },
            {
                id: "line-5",
                type: "command",
                text: "$ zinisoft-security-guard --status"
            },
            {
                id: "line-6",
                type: "muted",
                text: "Firewall (WAF) rule verification... [SECURE]"
            },
            {
                id: "line-7",
                type: "muted",
                text: "Malware & SEO Injection scan: 0 threats found."
            },
            {
                id: "line-8",
                type: "command",
                text: "$ zinisoft-compute-cluster"
            },
            {
                id: "line-9",
                type: "strong",
                text: "Environment: Proxmox VE Cluster Infrastructure"
            },
            {
                id: "line-10",
                type: "strong",
                text: "Active Accelerators: Local GPU Instance Virtualization Core"
            }
        ]
    }
};
export const aiServices = {
    subtitle: "Core AI-First Engineering",
    title: "Deep AI Engineering Services",
    frameworksText: "Frameworks: Hermes, OpenClaw Orchestration",
    items: [
        {
            id: 37,
            icon: "lnil lnil-brain",
            title: "Local AI Infrastructure Deployment (On-Premise LLM)",
            text: "Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",
            badges: [
                "#Data-Privacy",
                "#Zero-API-Cost",
                "#Hardware-Optimization"
            ],
            cols: "col-lg-7 col-md-7 col-12",
            href: "/service/37"
        },
        {
            id: 38,
            icon: "lnil lnil-ai",
            title: "Autonomous AI Agent Architecture",
            text: "Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",
            footerText: "Autonomic Workflows",
            href: "/service/38",
            cols: "col-lg-5 col-md-5 col-12"
        },
        {
            id: 39,
            icon: "lnil lnil-display-alt",
            title: "Desktop-First AI Sales Coach Specialist",
            text: "Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",
            footerText: "#Hardware-Control",
            cols: "col-lg-4 col-md-4 col-12",
            href: "/service/39"
        },
        {
            id: 40,
            icon: "lnil lnil-bar-chart",
            title: "Enterprise Intelligence Integration (AI-Powered BI)",
            text: "Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",
            badges: [
                "#Predictive-Analytics",
                "#Demand-Forecasting"
            ],
            cols: "col-lg-8 col-md-8 col-12",
            href: "/service/40"
        }
    ]
};
�037undefined3945undefined8395(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined361367undefined422428undefined19461952undefined35443550undefined64176423undefinede���f���e������e���var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
__webpack_require__.O(0, [703,718,138,299,971,69,744], function() { return __webpack_exec__(58081); });
var __webpack_exports__ = __webpack_require__.O();
d������s��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourcef"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[634],{

/***/ 51634:
�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource��webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceV/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource]2�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource0import { buildMetadata } from "./seo";
export const homePage = {
    metadata: buildMetadata({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};
d%'-O[���(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)��buffer�source�size�maps�hash 1/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const homePage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource0import { buildMetadata } from "./seo";
export const homePage = {
    metadata: buildMetadata({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};
c037undefined3945undefined7991(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined


/***/ })��buffer�source�size�maps�hash�1/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const homePage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};


/***/ })��{"finalSource":true}�map�bufferedMap	ConcatSourceRawSourceV/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
ReplaceSourceRawSource0import { buildMetadata } from "./seo";
export const homePage = {
    metadata: buildMetadata({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};
c037undefined3945undefined7991(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefined	RawSource


/***/ }),

/***/ 69221:
ǁ�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceV/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource^+�webpack/lib/util/registerExternalSerializer�webpack-sources/ConcatSource��webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}

S����agm
s
�
�
5;����� � $$������������buffer�source�size�maps�hash�)/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
��{"finalSource":true}�map�bufferedMapConcatSourceRawSource�/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
ReplaceSourceRawSourceS(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined


/***/ })�*/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })��	����/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
�S(/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
export const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
export const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ export function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ export function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ export function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ export function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ export function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ export function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}
�180186undefined711717undefined13771383undefined26692675undefined34703476undefined46614667undefined58245830undefined71267132undefined83878393undefined92219227undefined��

}]);/���\"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[634],{

/***/ 51634:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);

const homePage = {
    metadata: (0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};


/***/ }),

/***/ 69221:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $U: function() { return /* binding */ buildMetadata; },
/* harmony export */   il: function() { return /* binding */ buildOrganizationSchema; }
/* harmony export */ });
/* unused harmony exports SITE_CONFIG, DEFAULT_OG, buildWebPageSchema, buildServiceSchema, buildBlogPostSchema, buildCaseStudySchema, cleanMetaDescription, buildFaqSchema */
/**
 * Central SEO Configuration
 * Single source of truth for all site-wide SEO constants and helpers.
 */ // ─── Site-Wide Constants ────────────────────────────────────────────
const SITE_CONFIG = {
    name: "ZiniSoft Ltd. Co.",
    url: "https://zinisoft.net",
    logo: "https://zinisoft.net/assets/img/root/logo-dark.png",
    description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
    socialLinks: [
        "https://www.facebook.com/zinisoft",
        "https://www.linkedin.com/company/zinisoft"
    ]
};
// ─── Default OpenGraph & Twitter Settings ───────────────────────────
const DEFAULT_OG = {
    type: "website",
    siteName: SITE_CONFIG.name,
    locale: "en_US",
    image: {
        url: "".concat(SITE_CONFIG.url, "/assets/img/root/og-default.png"),
        width: 1200,
        height: 630,
        alt: "".concat(SITE_CONFIG.name, " - AI & Software Systems")
    }
};
// ─── Helper: Build Complete Next.js Metadata Object ─────────────────
/**
 * Takes a page config and returns a full Next.js metadata object
 * including title, description, openGraph, twitter, and canonical URL.
 *
 * @param {{ title: string, description: string, path?: string, ogImage?: string }} page
 * @returns {object} Next.js metadata object
 */ function buildMetadata(param) {
    let { title, description, path = "", ogImage } = param;
    const canonicalUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const ogImageObj = ogImage ? {
        url: ogImage,
        width: 1200,
        height: 630,
        alt: title
    } : DEFAULT_OG.image;
    return {
        title,
        description,
        metadataBase: new URL(SITE_CONFIG.url),
        alternates: {
            canonical: canonicalUrl
        },
        openGraph: {
            title,
            description,
            url: canonicalUrl,
            siteName: DEFAULT_OG.siteName,
            locale: DEFAULT_OG.locale,
            type: DEFAULT_OG.type,
            images: [
                ogImageObj
            ]
        },
        twitter: {
            card: "summary_large_image",
            title,
            description,
            images: [
                ogImageObj.url
            ]
        }
    };
}
// ─── Helper: Build WebPage JSON-LD Schema ───────────────────────────
/**
 * Generates a WebPage Schema.org JSON-LD object for a page.
 *
 * @param {{ title: string, description: string, path?: string, type?: string }} page
 * @returns {object} JSON-LD schema object
 */ function buildWebPageSchema(param) {
    let { title, description, path = "", type = "WebPage" } = param;
    const pageUrl = path ? "".concat(SITE_CONFIG.url).concat(path.startsWith("/") ? path : "/".concat(path)) : SITE_CONFIG.url;
    const typeLower = type.toLowerCase();
    return {
        "@context": "https://schema.org",
        "@type": type,
        "@id": "".concat(pageUrl, "/#").concat(typeLower),
        url: pageUrl,
        name: title,
        description,
        isPartOf: {
            "@id": "".concat(SITE_CONFIG.url, "/#website")
        }
    };
}
// ─── Helper: Build Organization + WebSite @graph Schema ─────────────
/**
 * Returns the global Organization + WebSite JSON-LD graph.
 * Used once in the root layout.
 *
 * @returns {object} JSON-LD @graph schema
 */ function buildOrganizationSchema() {
    return {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "".concat(SITE_CONFIG.url, "/#organization"),
                name: SITE_CONFIG.name,
                url: SITE_CONFIG.url,
                logo: {
                    "@type": "ImageObject",
                    url: SITE_CONFIG.logo
                },
                sameAs: SITE_CONFIG.socialLinks
            },
            {
                "@type": "WebSite",
                "@id": "".concat(SITE_CONFIG.url, "/#website"),
                url: SITE_CONFIG.url,
                name: SITE_CONFIG.name,
                description: SITE_CONFIG.description,
                publisher: {
                    "@id": "".concat(SITE_CONFIG.url, "/#organization")
                }
            }
        ]
    };
}
// ─── Helper: Build Service Schema ───────────────────────────────────
/**
 * Generates a Service Schema.org JSON-LD for a service detail page.
 *
 * @param {object} service - The service data object from WordPress API
 * @returns {object|null} JSON-LD schema object or null
 */ function buildServiceSchema(service) {
    if (!service) return null;
    const description = (service.descriptions || service.description || service.text || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "Service",
        "@id": "".concat(SITE_CONFIG.url, "/service/").concat(service.id || service.slug, "/#service"),
        name: service.title || service.name || "",
        description,
        provider: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        },
        serviceType: "Software Development & AI Engineering",
        image: service.featured_image_url || service.img || SITE_CONFIG.logo
    };
}
// ─── Helper: Build BlogPosting Schema ───────────────────────────────
/**
 * Generates a BlogPosting Schema.org JSON-LD for a blog detail page.
 *
 * @param {object} post - The blog post data object
 * @param {string} slugOrId - The slug or ID for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildBlogPostSchema(post, slugOrId) {
    if (!post) return null;
    const description = (post.description || post.content || post.excerpt || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "BlogPosting",
        "@id": "".concat(SITE_CONFIG.url, "/blog/").concat(slugOrId, "/#blogposting"),
        headline: post.title || "",
        description,
        image: post.img || SITE_CONFIG.logo,
        datePublished: post.date || "",
        author: {
            "@type": "Person",
            name: post.author || "Admin"
        },
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url,
            logo: {
                "@type": "ImageObject",
                url: SITE_CONFIG.logo
            }
        }
    };
}
// ─── Helper: Build CreativeWork Schema (Case Study) ─────────────────
/**
 * Generates a CreativeWork Schema.org JSON-LD for a case study detail page.
 *
 * @param {object} caseStudy - The case study data object
 * @param {string} idOrSlug - The ID or slug for the URL
 * @returns {object|null} JSON-LD schema object or null
 */ function buildCaseStudySchema(caseStudy, idOrSlug) {
    if (!caseStudy) return null;
    const description = (caseStudy.excerpt || caseStudy.description || caseStudy.text || caseStudy.content || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim().slice(0, 200);
    return {
        "@context": "https://schema.org",
        "@type": "CreativeWork",
        "@id": "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug, "/#creativework"),
        url: "".concat(SITE_CONFIG.url, "/case-study/").concat(idOrSlug),
        name: caseStudy.title || "Case Study",
        description,
        image: caseStudy.img || caseStudy.imgPopup || SITE_CONFIG.logo,
        publisher: {
            "@type": "Organization",
            "@id": "".concat(SITE_CONFIG.url, "/#organization"),
            name: SITE_CONFIG.name,
            url: SITE_CONFIG.url
        }
    };
}
// ─── Helper: Strip HTML and Truncate for Meta Description ───────────
/**
 * Strips HTML tags, normalizes whitespace, and truncates to max length
 * with optional minimum padding.
 *
 * @param {string} raw - Raw text (may contain HTML)
 * @param {string} fallbackSuffix - Text to append if too short
 * @param {number} maxLen - Maximum character length
 * @returns {string}
 */ function cleanMetaDescription(raw) {
    let fallbackSuffix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", maxLen = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 155;
    let text = (raw || "").replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
    if (text.length > maxLen) {
        return text.slice(0, maxLen - 3) + "...";
    }
    if (text.length < 50 && fallbackSuffix) {
        text = "".concat(text, " ").concat(fallbackSuffix).trim();
        return text.length > maxLen ? text.slice(0, maxLen) : text;
    }
    return text;
}
// ─── Helper: Build FAQPage JSON-LD Schema ───────────────────────────
/**
 * Generates an FAQPage Schema.org JSON-LD object.
 *
 * @param {Array} faqContent - The FAQ list with groups and items
 * @returns {object} JSON-LD schema object
 */ function buildFaqSchema(faqContent) {
    if (!faqContent) return null;
    return {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": faqContent.flatMap((group)=>(group.faqInner || []).map((item)=>({
                    "@type": "Question",
                    "name": item.title,
                    "acceptedAnswer": {
                        "@type": "Answer",
                        "text": (item.descriptions || "").replace(/\n/g, " ")
                    }
                })))
    };
}


/***/ })

}]);Y���3���`4���f"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[634],{

/***/ 51634:
3���V/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

2���/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   homePage: function() { return /* binding */ homePage; }
/* harmony export */ });
/* harmony import */ var _seo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69221);
3���0import { buildMetadata } from "./seo";
export const homePage = {
    metadata: buildMetadata({
        title: "ZiniSoft Ltd. Co | AI & Software Systems",
        description: "ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",
        path: "/"
    }),
    hero: {
        video: {
            channel: "youtube",
            videoId: "1gyTUHP6ne8"
        },
        slides: [
            {
                id: "image-1",
                className: "image-1",
                align: "center",
                darkText: false,
                badge: "Shaping the Digital Future with AI-First Architecture",
                accent: "Engineering High-Performance",
                titleLines: [
                    "Software Systems & AI Solutions"
                ],
                description: "We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",
                buttons: [
                    {
                        label: "Deep AI-First Solutions",
                        mobileLabel: "AI-First Solutions",
                        href: "#deep-ai-engineering",
                        className: "ptf-btn ptf-btn--primary"
                    },
                    {
                        label: "B2B System Architecture",
                        mobileLabel: "B2B Architecture",
                        href: "#system-architecture",
                        className: "ptf-btn ptf-btn--secondary"
                    }
                ]
            },
            {
                id: "image-2",
                className: "image-2",
                align: "center",
                accent: "Swiss",
                titleLines: [
                    "Style",
                    "Interface"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ]
            },
            {
                id: "image-3",
                className: "image-3",
                align: "start",
                accent: "Crafting",
                titleLines: [
                    "Digital",
                    "Experience"
                ],
                description: "Like any great agency, we are only as good as the result we deliver of our recent work.",
                buttons: [
                    {
                        label: "Get Started",
                        href: "/contact",
                        className: "ptf-btn ptf-btn--primary"
                    }
                ],
                videoButton: {
                    titleLines: [
                        "View our",
                        "story"
                    ]
                }
            }
        ]
    },
    sections: {
        services: {
            title: "Our Services",
            col1Title: "Deep AI Engineering Services",
            col2Title: "High-Performance Software Architecture",
            titleLines: [
                "Our",
                "Services"
            ],
            description: "We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."
        },
        portfolio: {
            title: "Latest Works",
            ctaLabel: "All Projects",
            ctaHref: "/case-studies"
        },
        approach: {
            title: "Our Approach",
            backgroundImage: "/assets/img/root/service-bubble.png"
        },
        partners: {
            title: "ZiniSoft Ltd. Co. Partners"
        },
        testimonial: {
            backgroundImage: "/assets/img/about-us-testimonial-background.png",
            quoteImage: "/assets/img/root/quote.png"
        },
        awards: {
            titleLines: [
                "Our",
                "Awards"
            ]
        }
    },
    services: [
        {
            id: 11,
            icon: "lnil lnil-cup",
            titlePart1: "Software",
            titlePart2: "Development",
            descriptions: "Custom web, mobile, and backend systems built around your business workflow."
        },
        {
            id: 12,
            icon: "lnil lnil-website",
            titlePart1: "Web",
            titlePart2: "Applications",
            descriptions: "Responsive, maintainable web apps using modern frontend and backend stacks."
        },
        {
            id: 13,
            icon: "lnil lnil-display-alt",
            titlePart1: "UI/UX",
            titlePart2: "Implementation",
            descriptions: "Practical interface development with attention to usability, speed, and consistency."
        },
        {
            id: 14,
            icon: "lnil lnil-target",
            titlePart1: "Maintenance",
            titlePart2: "Support",
            descriptions: "Ongoing improvement, bug fixing, monitoring, and technical support for live products."
        }
    ],
    portfolio: [
        {
            id: 1,
            img: "/assets/img/portfolio/work-1.png",
            categorie: "Web Application",
            title: "Business Dashboard"
        },
        {
            id: 2,
            img: "/assets/img/portfolio/work-2.png",
            categorie: "Mobile Product",
            title: "Customer App"
        },
        {
            id: 3,
            img: "/assets/img/portfolio/work-3.png",
            categorie: "Ecommerce",
            title: "Online Store"
        },
        {
            id: 4,
            img: "/assets/img/portfolio/work-4.png",
            categorie: "Automation",
            title: "Internal Workflow"
        },
        {
            id: 5,
            img: "/assets/img/portfolio/work-5.png",
            categorie: "Platform",
            title: "SaaS Portal"
        }
    ],
    approach: [
        {
            subTitle: "One",
            title: "Discover",
            descriptions: "We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",
            delayAnimation: "0"
        },
        {
            subTitle: "Two",
            title: "Design",
            descriptions: "We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",
            delayAnimation: "100"
        },
        {
            subTitle: "Three",
            title: "Build",
            descriptions: "We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",
            delayAnimation: "200"
        },
        {
            subTitle: "Four",
            title: "Test",
            descriptions: "We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",
            delayAnimation: "300"
        },
        {
            subTitle: "Five",
            title: "Deploy",
            descriptions: "We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",
            delayAnimation: "400"
        },
        {
            subTitle: "Six",
            title: "Improve",
            descriptions: "We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",
            delayAnimation: "500"
        }
    ],
    partners: [
        {
            delayAnimation: "0",
            hoverBg: "#fcf8f4",
            imgHeight: "85px",
            imgName: "image-1",
            title: "Client One"
        },
        {
            delayAnimation: "100",
            hoverBg: "#f3f7fc",
            imgHeight: "78px",
            imgName: "image-2",
            title: "Client Two"
        },
        {
            delayAnimation: "200",
            hoverBg: "#f9fcf3",
            imgHeight: "90px",
            imgName: "image-3",
            title: "Client Three"
        },
        {
            delayAnimation: "300",
            hoverBg: "#f9f9f9",
            imgHeight: "90px",
            imgName: "image-4",
            title: "Client Four"
        },
        {
            delayAnimation: "400",
            hoverBg: "#fdf4fb",
            imgHeight: "62px",
            imgName: "image-5",
            title: "Client Five"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-6",
            title: "Client Six"
        },
        {
            delayAnimation: "500",
            hoverBg: "#fdf4fb",
            imgHeight: "77px",
            imgName: "image-7",
            title: "Client Six"
        }
    ],
    counters: [
        {
            startCount: "0",
            endCount: "10",
            metaText1: "YEARS OF",
            metaText2: "EXPERIENCE",
            animationDelay: "0"
        },
        {
            startCount: "0",
            endCount: "120",
            metaText1: "DELIVERED",
            metaText2: "PROJECTS",
            animationDelay: "100"
        },
        {
            startCount: "0",
            endCount: "35",
            metaText1: "ACTIVE",
            metaText2: "CLIENTS",
            animationDelay: "200"
        },
        {
            startCount: "0",
            endCount: "8",
            metaText1: "TECHNICAL",
            metaText2: "SPECIALTIES",
            animationDelay: "300"
        }
    ],
    testimonials: [
        {
            descriptions: "ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",
            name: "Client Representative",
            designation: "Product Owner"
        },
        {
            descriptions: "The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",
            name: "Client Representative",
            designation: "Operations Manager"
        }
    ],
    awards: [
        {
            date: "2024",
            img: "logo-4",
            delayAnimation: "0",
            awardList: [
                {
                    title: "Long-term Delivery Partner",
                    subTitle: "Software outsourcing collaboration"
                },
                {
                    title: "Reliable Support Team",
                    subTitle: "Maintenance and production support"
                }
            ]
        },
        {
            date: "2023",
            img: "logo-2",
            delayAnimation: "100",
            awardList: [
                {
                    title: "Product Engineering",
                    subTitle: "Web and mobile application delivery"
                },
                {
                    title: "Business Automation",
                    subTitle: "Internal tool development"
                }
            ]
        }
    ],
    blog: [
        {
            id: 1,
            img: "/assets/img/home/default/post-1.png",
            cat: "Development",
            date: "Jan 15, 2026",
            title: "How to plan a practical software outsourcing project",
            description: "A short guide to aligning scope, communication, timeline, and technical ownership before development starts."
        },
        {
            id: 2,
            img: "/assets/img/home/default/post-2.png",
            cat: "Engineering",
            date: "Jan 22, 2026",
            title: "Keeping web applications maintainable after launch",
            description: "The habits that help teams reduce regressions and keep improving live products with less friction."
        },
        {
            id: 3,
            img: "/assets/img/home/default/post-3.png",
            cat: "Business",
            date: "Jan 29, 2026",
            title: "When custom software is better than manual operations",
            description: "Signals that your workflow is ready for automation and what to prepare before building internal tools."
        }
    ]
};
c037undefined3945undefined7991(0,_seo__WEBPACK_IMPORTED_MODULE_0__/* .buildMetadata */ .$U)undefinedY���Z���Y���e���/����/���I���1�������J���Y���Z���Y���

}]); ���_G(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{8664:function(e,t,n){Promise.resolve().then(n.bind(n,98191))},98191:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return f}});var o=n(3827),i=n(64090),a=n(61233),r=n.n(a);n(55768),n(8694),n(80864),n(17002),n(68864);var u=n(24930),c=n.n(u),s=n(47907),l=n(69221);n(17125),c()(()=>n.e(981).then(n.t.bind(n,44981,23)),{loadableGenerated:{webpack:()=>[44981]},ssr:!1});let d=c()(()=>Promise.all([n.e(703),n.e(29)]).then(n.bind(n,66029)),{loadableGenerated:{webpack:()=>[66029]},ssr:!1});function f(e){let{children:t}=e,[n,a]=(0,i.useState)(!1),u=(0,s.usePathname)();(0,i.useEffect)(()=>{let e=()=>{r().init({duration:1200,once:!0}),r().refreshHard()},t=setTimeout(()=>{e()},100);return()=>{clearTimeout(t)}},[u]),(0,i.useEffect)(()=>{a(!0)},[]);let c=(0,l.il)();return(0,o.jsx)("html",{suppressHydrationWarning:!0,className:"html",lang:"en",children:(0,o.jsxs)("body",{children:[(0,o.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(c)}}),t,n&&(0,o.jsx)(d,{})," "]})})}},69221:function(e,t,n){"use strict";n.d(t,{$U:function(){return a},il:function(){return r}});let o={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},i={type:"website",siteName:o.name,locale:"en_US",image:{url:"".concat(o.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(o.name," - AI & Software Systems")}};function a(e){let{title:t,description:n,path:a="",ogImage:r}=e,u=a?"".concat(o.url).concat(a.startsWith("/")?a:"/".concat(a)):o.url,c=r?{url:r,width:1200,height:630,alt:t}:i.image;return{title:t,description:n,metadataBase:new URL(o.url),alternates:{canonical:u},openGraph:{title:t,description:n,url:u,siteName:i.siteName,locale:i.locale,type:i.type,images:[c]},twitter:{card:"summary_large_image",title:t,description:n,images:[c.url]}}}function r(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(o.url,"/#organization"),name:o.name,url:o.url,logo:{"@type":"ImageObject",url:o.logo},sameAs:o.socialLinks},{"@type":"WebSite","@id":"".concat(o.url,"/#website"),url:o.url,name:o.name,description:o.description,publisher:{"@id":"".concat(o.url,"/#organization")}}]}}},61233:function(e){"use strict";e.exports=function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){function o(e){return e&&e.__esModule?e:{default:e}}var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},a=(o(n(1)),n(6)),r=o(a),u=o(n(7)),c=o(n(8)),s=o(n(9)),l=o(n(10)),d=o(n(11)),f=o(n(14)),p=[],m=!1,b={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},v=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e&&(m=!0),m)return p=(0,d.default)(p,b),(0,l.default)(p,b.once),p},g=function(){p=(0,f.default)(),v()},y=function(){p.forEach(function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")})};e.exports={init:function(e){b=i(b,e),p=(0,f.default)();var t,n=document.all&&!window.atob;return!0===(t=b.disable)||"mobile"===t&&s.default.mobile()||"phone"===t&&s.default.phone()||"tablet"===t&&s.default.tablet()||"function"==typeof t&&!0===t()||n?y():(b.disableMutationObserver||c.default.isSupported()||(console.info('\n      aos: MutationObserver is not supported on this browser,\n      code mutations observing has been disabled.\n      You may have to call "refreshHard()" by yourself.\n    '),b.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",b.easing),document.querySelector("body").setAttribute("data-aos-duration",b.duration),document.querySelector("body").setAttribute("data-aos-delay",b.delay),"DOMContentLoaded"===b.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===b.startEvent?window.addEventListener(b.startEvent,function(){v(!0)}):document.addEventListener(b.startEvent,function(){v(!0)}),window.addEventListener("resize",(0,u.default)(v,b.debounceDelay,!0)),window.addEventListener("orientationchange",(0,u.default)(v,b.debounceDelay,!0)),window.addEventListener("scroll",(0,r.default)(function(){(0,l.default)(p,b.once)},b.throttleDelay)),b.disableMutationObserver||c.default.ready("[data-aos]",g),p)},refresh:v,refreshHard:g}},function(e,t){},,,,,function(e,t){(function(t){function n(e){var t=void 0===e?"undefined":i(e);return!!e&&("object"==t||"function"==t)}function o(e){if("number"==typeof e)return e;if("symbol"==(void 0===(t=e)?"undefined":i(t))||t&&"object"==(void 0===t?"undefined":i(t))&&v.call(t)==u)return r;if(n(e)){var t,o="function"==typeof e.valueOf?e.valueOf():e;e=n(o)?o+"":o}if("string"!=typeof e)return 0===e?e:+e;var a=l.test(e=e.replace(c,""));return a||d.test(e)?f(e.slice(2),a?2:8):s.test(e)?r:+e}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a="Expected a function",r=NaN,u="[object Symbol]",c=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,d=/^0o[0-7]+$/i,f=parseInt,p="object"==(void 0===t?"undefined":i(t))&&t&&t.Object===Object&&t,m="object"==("undefined"==typeof self?"undefined":i(self))&&self&&self.Object===Object&&self,b=p||m||Function("return this")(),v=Object.prototype.toString,g=Math.max,y=Math.min,h=function(){return b.Date.now()};e.exports=function(e,t,i){var r=!0,u=!0;if("function"!=typeof e)throw TypeError(a);return n(i)&&(r="leading"in i?!!i.leading:r,u="trailing"in i?!!i.trailing:u),function(e,t,i){function r(t){var n=d,o=f;return d=f=void 0,w=t,m=e.apply(o,n)}function u(e){var n=e-v,o=e-w;return void 0===v||n>=t||n<0||j&&o>=p}function c(){var e,n,o,i=h();return u(i)?s(i):void(b=setTimeout(c,(e=i-v,n=i-w,o=t-e,j?y(o,p-n):o)))}function s(e){return b=void 0,x&&d?r(e):(d=f=void 0,m)}function l(){var e,n=h(),o=u(n);if(d=arguments,f=this,v=n,o){if(void 0===b)return w=e=v,b=setTimeout(c,t),k?r(e):m;if(j)return b=setTimeout(c,t),r(v)}return void 0===b&&(b=setTimeout(c,t)),m}var d,f,p,m,b,v,w=0,k=!1,j=!1,x=!0;if("function"!=typeof e)throw TypeError(a);return t=o(t)||0,n(i)&&(k=!!i.leading,p=(j="maxWait"in i)?g(o(i.maxWait)||0,t):p,x="trailing"in i?!!i.trailing:x),l.cancel=function(){void 0!==b&&clearTimeout(b),w=0,d=v=f=b=void 0},l.flush=function(){return void 0===b?m:s(h())},l}(e,t,{leading:r,maxWait:t,trailing:u})}}).call(t,function(){return this}())},function(e,t){(function(t){function n(e){var t=void 0===e?"undefined":i(e);return!!e&&("object"==t||"function"==t)}function o(e){if("number"==typeof e)return e;if("symbol"==(void 0===(t=e)?"undefined":i(t))||t&&"object"==(void 0===t?"undefined":i(t))&&b.call(t)==r)return a;if(n(e)){var t,o="function"==typeof e.valueOf?e.valueOf():e;e=n(o)?o+"":o}if("string"!=typeof e)return 0===e?e:+e;var f=s.test(e=e.replace(u,""));return f||l.test(e)?d(e.slice(2),f?2:8):c.test(e)?a:+e}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=NaN,r="[object Symbol]",u=/^\s+|\s+$/g,c=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,d=parseInt,f="object"==(void 0===t?"undefined":i(t))&&t&&t.Object===Object&&t,p="object"==("undefined"==typeof self?"undefined":i(self))&&self&&self.Object===Object&&self,m=f||p||Function("return this")(),b=Object.prototype.toString,v=Math.max,g=Math.min,y=function(){return m.Date.now()};e.exports=function(e,t,i){function a(t){var n=l,o=d;return l=d=void 0,h=t,p=e.apply(o,n)}function r(e){var n=e-b,o=e-h;return void 0===b||n>=t||n<0||k&&o>=f}function u(){var e,n,o,i=y();return r(i)?c(i):void(m=setTimeout(u,(e=i-b,n=i-h,o=t-e,k?g(o,f-n):o)))}function c(e){return m=void 0,j&&l?a(e):(l=d=void 0,p)}function s(){var e,n=y(),o=r(n);if(l=arguments,d=this,b=n,o){if(void 0===m)return h=e=b,m=setTimeout(u,t),w?a(e):p;if(k)return m=setTimeout(u,t),a(b)}return void 0===m&&(m=setTimeout(u,t)),p}var l,d,f,p,m,b,h=0,w=!1,k=!1,j=!0;if("function"!=typeof e)throw TypeError("Expected a function");return t=o(t)||0,n(i)&&(w=!!i.leading,f=(k="maxWait"in i)?v(o(i.maxWait)||0,t):f,j="trailing"in i?!!i.trailing:j),s.cancel=function(){void 0!==m&&clearTimeout(m),h=0,l=b=d=m=void 0},s.flush=function(){return void 0===m?p:c(y())},s}}).call(t,function(){return this}())},function(e,t){function n(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function o(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes);if(function e(t){var n=void 0,o=void 0;for(n=0;n<t.length;n+=1)if((o=t[n]).dataset&&o.dataset.aos||o.children&&e(o.children))return!0;return!1}(t.concat(n)))return i()})}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){};t.default={isSupported:function(){return!!n()},ready:function(e,t){var a=window.document,r=new(n())(o);i=t,r.observe(a.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}}},function(e,t){function n(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,a=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,u=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,c=function(){function e(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,e)}return o(e,[{key:"phone",value:function(){var e=n();return!(!i.test(e)&&!a.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=n();return!(!r.test(e)&&!u.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new c},function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n){var o=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):void 0===o||"false"!==o&&(n||"true"===o)||e.node.classList.remove("aos-animate")};t.default=function(e,t){var o=window.pageYOffset,i=window.innerHeight;e.forEach(function(e,a){n(e,i+o,t)})}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var o,i=(o=n(12))&&o.__esModule?o:{default:o};t.default=function(e,t){return e.forEach(function(e,n){e.node.classList.add("aos-init"),e.position=(0,i.default)(e.node,t.offset)}),e}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var o,i=(o=n(13))&&o.__esModule?o:{default:o};t.default=function(e,t){var n=0,o=0,a=window.innerHeight,r={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(r.offset&&!isNaN(r.offset)&&(o=parseInt(r.offset)),r.anchor&&document.querySelectorAll(r.anchor)&&(e=document.querySelectorAll(r.anchor)[0]),n=(0,i.default)(e).top,r.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=a/2;break;case"bottom-center":n+=a/2+e.offsetHeight;break;case"center-center":n+=a/2+e.offsetHeight/2;break;case"top-top":n+=a;break;case"bottom-top":n+=e.offsetHeight+a;break;case"center-top":n+=e.offsetHeight/2+a}return r.anchorPlacement||r.offset||isNaN(t)||(o=t),n+o}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,function(e){return{node:e}})}}])},47907:function(e,t,n){"use strict";var o=n(15313);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}})},24930:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let o=n(86921);n(3827),n(64090);let i=o._(n(84795));function a(e,t){let n={loading:e=>{let{error:t,isLoading:n,pastDelay:o}=e;return null}};return"function"==typeof e&&(n.loader=e),(0,i.default)({...n,...t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},19721:function(e,t,n){"use strict";function o(e){let{reason:t,children:n}=e;return n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return o}}),n(99775)},84795:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let o=n(3827),i=n(64090),a=n(19721);function r(e){var t;return{default:null!=(t=null==e?void 0:e.default)?t:e}}let u={loader:()=>Promise.resolve(r(()=>null)),loading:null,ssr:!0},c=function(e){let t={...u,...e},n=(0,i.lazy)(()=>t.loader().then(r)),c=t.loading;function s(e){let r=c?(0,o.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,u=t.ssr?(0,o.jsx)(n,{...e}):(0,o.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,o.jsx)(n,{...e})});return(0,o.jsx)(i.Suspense,{fallback:r,children:u})}return s.displayName="LoadableComponent",s}},17002:function(){},80864:function(){},68864:function(){},8694:function(){},55768:function(){},17125:function(){}},function(e){e.O(0,[417,971,69,744],function(){return e(e.s=8664)}),_N_E=e.O()}]);���D(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[603],{16467:function(e,t,i){Promise.resolve().then(i.bind(i,44618)),Promise.resolve().then(i.bind(i,40098)),Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,70296)),Promise.resolve().then(i.bind(i,12344)),Promise.resolve().then(i.bind(i,85943)),Promise.resolve().then(i.t.bind(i,81749,23)),Promise.resolve().then(i.t.bind(i,25250,23))},44618:function(e,t,i){"use strict";i.r(t);var a=i(3827),s=i(64090),n=i(20703);t.default=e=>{let{src:t,alt:i,...o}=e,r="/assets/img/blog/default/post-default.png",[l,c]=(0,s.useState)(!1),[m,d]=(0,s.useState)(t);return t!==m&&(d(t),c(!1)),(0,a.jsx)(n.default,{...o,src:l?r:t||r,alt:i||"blog image",onError:()=>c(!0)})}},40098:function(e,t,i){"use strict";i.r(t);var a=i(3827);i(64090);var s=i(8792),n=i(44618),o=i(19190);t.default=e=>{let{posts:t=[]}=e,i=t.length?t:o.m;return(0,a.jsx)(a.Fragment,{children:i.map(e=>(0,a.jsx)("div",{className:"col-lg-6",children:(0,a.jsxs)("article",{className:"ptf-post ptf-post--style-1",children:[(0,a.jsxs)("div",{className:"ptf-post__media",children:[(0,a.jsx)(s.default,{className:"ptf-work__link",href:e.href||"/blog/".concat(e.id)}),(0,a.jsx)(n.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:e.img,alt:e.alt||e.title||"blog",loading:"lazy"})]}),(0,a.jsx)("div",{className:"ptf-post__content",children:(0,a.jsxs)("header",{className:"ptf-post__header",children:[(0,a.jsxs)("div",{className:"ptf-post__meta",children:[(0,a.jsx)("span",{className:"cat",children:e.cat}),(0,a.jsx)("span",{className:"date",children:e.date})]}),(0,a.jsx)("h3",{className:"ptf-post__title",children:(0,a.jsx)(s.default,{href:e.href||"/blog/".concat(e.id),children:e.title})})]})})]})},e.id))})}},12344:function(e,t,i){"use strict";i.r(t);var a=i(3827);i(64090);var s=i(40093);t.default=()=>(0,a.jsx)(a.Fragment,{children:s.a.socialList.map(e=>(0,a.jsx)("a",{className:"ptf-social-icon ptf-social-icon--style-4 ".concat(e.iconClass),href:e.link,target:"_blank",rel:"noopener noreferrer",children:(0,a.jsx)("i",{className:e.iconName})},e.iconName))})},19190:function(e,t,i){"use strict";i.d(t,{m:function(){return s},q:function(){return n}});var a=i(69221);let s=[{id:99,img:"/assets/img/blog/grid/post-1.png",cat:"Product",date:"Dec 15, 2021",title:"Review product BWIB"},{id:100,img:"/assets/img/blog/grid/post-2.png",cat:"Inspiration",date:"Dec 7, 2021",title:"Contrast in Brand Design"}],n={metadata:(0,a.$U)({title:"Blogs | ZiniSoft Ltd. Co.",description:"Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",path:"/blogs"}),listing:{title:"Blog",searchPlaceholder:"Search in blog",loadMoreLabel:"More",loadingLabel:"Loading...",noResultsLabel:"No posts found."},detail:{metadata:{title:"Blog Details | ZiniSoft Ltd. Co."},fallback:{img:"/assets/img/home/default/post-1.png",cat:"Product",date:"Dec 15, 2021",title:"Review product BWIB",description:"Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."},meta:{category:"Inspiration",date:"Dec 7, 2021",authorLabel:"by",author:"Admin",views:"5,6k Views",comments:"3 Comments",report:"Report"},relatedTitle:"Related Posts",commentsTitle:"03 Comments:",commentFormTitle:"Leave a comment:",shareLabel:"Share on",nextPost:{label:"Next Post",title:"Minimalist Trends",href:"/blog/7"},form:{validation:{nameRequired:"Name is required",commentRequired:"Please write your comment",emailRequired:"Email is required",emailInvalid:"Entered value does not match email format",termsRequired:"Accept Terms and Conditions is required"},placeholders:{comment:"Write your comment here",name:"Your name *",email:"Your Email *"},terms:"Save my name & email in this browser for next time I comment.",submitLabel:"Submit"}}}},69221:function(e,t,i){"use strict";i.d(t,{$U:function(){return n},il:function(){return o}});let a={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},s={type:"website",siteName:a.name,locale:"en_US",image:{url:"".concat(a.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(a.name," - AI & Software Systems")}};function n(e){let{title:t,description:i,path:n="",ogImage:o}=e,r=n?"".concat(a.url).concat(n.startsWith("/")?n:"/".concat(n)):a.url,l=o?{url:o,width:1200,height:630,alt:t}:s.image;return{title:t,description:i,metadataBase:new URL(a.url),alternates:{canonical:r},openGraph:{title:t,description:i,url:r,siteName:s.siteName,locale:s.locale,type:s.type,images:[l]},twitter:{card:"summary_large_image",title:t,description:i,images:[l.url]}}}function o(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(a.url,"/#organization"),name:a.name,url:a.url,logo:{"@type":"ImageObject",url:a.logo},sameAs:a.socialLinks},{"@type":"WebSite","@id":"".concat(a.url,"/#website"),url:a.url,name:a.name,description:a.description,publisher:{"@id":"".concat(a.url,"/#organization")}}]}}}},function(e){e.O(0,[703,718,299,971,69,744],function(){return e(e.s=16467)}),_N_E=e.O()}]);���](self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[787],{28110:function(e,t,i){Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,70296)),Promise.resolve().then(i.bind(i,3309)),Promise.resolve().then(i.bind(i,48735)),Promise.resolve().then(i.bind(i,49252)),Promise.resolve().then(i.t.bind(i,81749,23))},49252:function(e,t,i){"use strict";i.r(t);var a=i(3827),n=i(64090);i(74320),t.default=e=>{let{caseStudy:t}=e,i=(null==t?void 0:t.client)||"Paul Themes Company, Russia",l=(null==t?void 0:t.services)||"UI/UX, Back-End, Front-End, Graphic Design, Animation",s=(null==t?void 0:t.team)||"LoganCee - UI/UX Designer, Pavel Suslov - Developer",o=(null==t?void 0:t.date)||"February 25th, 2022";return(0,a.jsx)(a.Fragment,{children:[[{delayAnimation:"100",title:"CLIENT",lines:[i]},{delayAnimation:"200",title:"SERVICES",lines:[l]}],[{delayAnimation:"300",title:"TEAM",lines:[s]},{delayAnimation:"400",title:"DATE",lines:[o]}]].map((e,t)=>(0,a.jsxs)("div",{className:"col-xl-3 col-lg-3 col-md-6 col-12",children:[(0,a.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),e.map((e,t)=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"ptf-animated-block mb-70","data-aos":"fade","data-aos-delay":e.delayAnimation,children:[(0,a.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:e.title}),(0,a.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,a.jsx)("p",{className:"fz-20 lh-1p5 has-black-color",children:e.lines.map(e=>(0,a.jsxs)(n.Fragment,{children:[e,(0,a.jsx)("br",{})]},e))})]}),(0,a.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":" 4.375rem","--ptf-md":"2.1875rem"}})]},t))]},t))})}},3309:function(e,t,i){"use strict";i.r(t);var a=i(3827);i(64090);var n=i(15732),l=i(20703);let s=[{img:"/assets/img/portfolio/single-work/content-image-2.png",column:"col-lg-6",alt:"image 1",width:"416",height:"335"},{img:"/assets/img/portfolio/single-work/content-image-3.png",column:"col-lg-6",alt:"image 2",width:"416",height:"335"},{img:"/assets/img/portfolio/single-work/content-image-4.png",column:"col-lg-12",alt:"image 3",width:"1296",height:"831"}];t.default=()=>(0,a.jsx)(n.ri,{children:(0,a.jsx)("div",{className:"ptf-justified-gallery row",style:{"--bs-gutter-x":"2rem","--bs-gutter-y":"2rem"},children:s.map((e,t)=>(0,a.jsx)("div",{className:e.column,children:(0,a.jsx)("div",{className:"ptf-gallery__item",children:(0,a.jsx)("div",{className:"ptf-simple-image",children:(0,a.jsx)(n.ck,{original:e.img,thumbnail:e.img,width:e.width,height:e.height,children:t=>{let{ref:i,open:n}=t;return(0,a.jsx)(l.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:e.img,alt:"works gallery",role:"button",ref:i,onClick:n})}})})})},t))})})},69221:function(e,t,i){"use strict";i.d(t,{$U:function(){return l},il:function(){return s}});let a={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},n={type:"website",siteName:a.name,locale:"en_US",image:{url:"".concat(a.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(a.name," - AI & Software Systems")}};function l(e){let{title:t,description:i,path:l="",ogImage:s}=e,o=l?"".concat(a.url).concat(l.startsWith("/")?l:"/".concat(l)):a.url,r=s?{url:s,width:1200,height:630,alt:t}:n.image;return{title:t,description:i,metadataBase:new URL(a.url),alternates:{canonical:o},openGraph:{title:t,description:i,url:o,siteName:n.siteName,locale:n.locale,type:n.type,images:[r]},twitter:{card:"summary_large_image",title:t,description:i,images:[r.url]}}}function s(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(a.url,"/#organization"),name:a.name,url:a.url,logo:{"@type":"ImageObject",url:a.logo},sameAs:a.socialLinks},{"@type":"WebSite","@id":"".concat(a.url,"/#website"),url:a.url,name:a.name,description:a.description,publisher:{"@id":"".concat(a.url,"/#organization")}}]}}},74320:function(e,t,i){"use strict";i.d(t,{h:function(){return a}});let a={listing:{metadata:(0,i(69221).$U)({title:"Case Studies | ZiniSoft Ltd. Co.",description:"Discover our software engineering case studies. Learn how ZiniSoft develops custom AI systems, B2B microservices, web apps, and high-performance platforms.",path:"/case-studies"}),title:"Case Studies",loadMoreLabel:"More",filters:["All","AI Solutions","Web Applications","Mobile Applications","SaaS Platforms","E-commerce & POS","CRM & Business Systems","Automation & Integration","Cloud & DevOps"]},detail:{metadata:{title:"Work Showcase | ZiniSoft Ltd. Co."},headTitle:"ZiniSoft Ltd. Co. - Works Showcase",fallback:{img:"/assets/img/portfolio/work-2.png",categorie:"Product",title:"Film & Art Festival"},fallbackTitle:"Lewis Studio Website",fallbackImage:"/assets/img/portfolio/single-work/content-image-1.png",nextProject:{label:"Next Project",title:"SPA Brand",href:"#"},review:{avatar:"/assets/img/root/twitter-avatar.png",avatarAlt:"",author:"Thiago Alcantara",handle:"@thiago.lfc",date:"15 Dec, 2022",icon:"socicon-twitter",mention:"@ZiniSoft Ltd. Co.",mentionHref:"#",text:" is incredibly dedicated, knowledgeable, and helpful. The finished product was beautiful, and worth every penny. I would absolutely recommend ZiniSoft Ltd. Co.."}},caseStudy:[[{delayAnimation:"100",title:"CLIENT",lines:["Paul Themes Company,","Russia"]},{delayAnimation:"200",title:"SERVICES",lines:["UI/UX, Back-End,","Front-End, Graphic Design,","Animation"]}],[{delayAnimation:"300",title:"TEAM",lines:["LoganCee - UI/UX Designer","Pavel Suslov - Developer"]},{delayAnimation:"400",title:"DATE",lines:["Feburary 25th, 2022"]}]]}}},function(e){e.O(0,[740,703,718,732,299,971,69,744],function(){return e(e.s=28110)}),_N_E=e.O()}]);����-(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[845],{8264:function(e,t,i){Promise.resolve().then(i.bind(i,57120)),Promise.resolve().then(i.bind(i,43553)),Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,35266)),Promise.resolve().then(i.bind(i,70296))},57120:function(e,t,i){"use strict";i.r(t);var a=i(3827);i(64090);var l=i(138),s=i(8792),r=i(44618);t.default=e=>{let{posts:t=[]}=e,i=t.slice(0,3);return i.length?(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"swiper-slide grid-slider",children:(0,a.jsx)(l.Z,{dots:!0,arrow:!1,infinite:!0,speed:900,slidesToShow:1,slidesToScroll:1,responsive:[{breakpoint:767,settings:{dots:!1}}],className:"arrow-none",children:i.map(e=>(0,a.jsxs)("div",{className:"ptf-news-slide",children:[(0,a.jsx)("div",{className:"ptf-news-slide__media",children:(0,a.jsx)(r.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:e.img,alt:e.alt||e.title||"news",loading:"lazy"})}),(0,a.jsxs)("div",{className:"ptf-news-slide__content",children:[(0,a.jsxs)("div",{className:"ptf-news-slide__meta",children:[(0,a.jsx)("span",{className:"cat",children:e.cat||"Blog"}),(0,a.jsx)("span",{className:"date",children:e.date})]}),(0,a.jsx)("h3",{className:"ptf-news-slide__title",children:(0,a.jsx)(s.default,{href:e.href||"/blog/".concat(e.id),children:e.title})}),(0,a.jsx)("div",{className:"ptf-news-slide__excerpt",children:(0,a.jsx)("p",{children:e.descriptions||e.description})})]})]},e.id))})})}):null}},43553:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return y}});var a=i(3827),l=i(64090),s=i(8792),r=i(44618);let n={page:1,perPage:6,orderby:"date",order:"desc"},o={"&amp;":"&","&#038;":"&","&nbsp;":" ","&hellip;":"...","&#8230;":"...","&#8211;":"-","&#8212;":"-","&#8216;":"'","&#8217;":"'","&#8220;":'"',"&#8221;":'"'},d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.replace(/&amp;|&#038;|&nbsp;|&hellip;|&#8230;|&#8211;|&#8212;|&#8216;|&#8217;|&#8220;|&#8221;/g,e=>o[e]||e)},c=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return d(e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim())},u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.replace(/<img\s+[^>]*>/g,e=>{let t="",i=e.match(/data-srcset="([^"]+)"/);i&&(t=i[1]);let a="",l=e.match(/data-src="([^"]+)"/)||e.match(/data-orig-src="([^"]+)"/);l&&(a=l[1]);let s=e;return s=t?s.includes("srcset=")?s.replace(/srcset="[^"]*"/,'srcset="'.concat(t,'"')):s.replace("<img",'<img srcset="'.concat(t,'"')):s.replace(/srcset="data:image\/svg\+xml[^"]*"/g,""),a&&(s=s.includes("src=")?s.replace(/src="[^"]*"/,'src="'.concat(a,'"')):s.replace("<img",'<img src="'.concat(a,'"'))),s}):""},m=e=>e?new Intl.DateTimeFormat("en",{month:"short",day:"numeric",year:"numeric"}).format(new Date(e)):"",p=e=>{var t,i,a,l,s,r;let n=null==e?void 0:null===(i=e._embedded)||void 0===i?void 0:null===(t=i["wp:featuredmedia"])||void 0===t?void 0:t[0],o=(null==n?void 0:null===(a=n.media_details)||void 0===a?void 0:a.sizes)||{};return(null===(l=o.full)||void 0===l?void 0:l.source_url)||(null===(s=o.large)||void 0===s?void 0:s.source_url)||(null===(r=o.medium_large)||void 0===r?void 0:r.source_url)||(null==n?void 0:n.source_url)||"/assets/img/blog/grid/post-1.png"},g=e=>{var t,i,a,l;return(null==e?void 0:null===(l=e._embedded)||void 0===l?void 0:null===(a=l["wp:term"])||void 0===a?void 0:null===(i=a[0])||void 0===i?void 0:null===(t=i[0])||void 0===t?void 0:t.name)||"Blog"},h=e=>{var t,i;return((null==e?void 0:null===(i=e._embedded)||void 0===i?void 0:null===(t=i["wp:term"])||void 0===t?void 0:t[1])||[]).map(e=>e.name)},v=e=>{var t,i,a;return(null==e?void 0:null===(a=e._embedded)||void 0===a?void 0:null===(i=a.author)||void 0===i?void 0:null===(t=i[0])||void 0===t?void 0:t.name)||"Admin"},f=e=>{var t,i,a,l;return(null==e?void 0:null===(l=e._embedded)||void 0===l?void 0:null===(a=l.author)||void 0===a?void 0:null===(i=a[0])||void 0===i?void 0:null===(t=i.avatar_urls)||void 0===t?void 0:t["96"])||"/assets/img/root/author-avatar.png"},b=e=>{var t,i,a;return(null==e?void 0:null===(a=e._embedded)||void 0===a?void 0:null===(i=a.author)||void 0===i?void 0:null===(t=i[0])||void 0===t?void 0:t.description)||""},x=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];(Array.isArray(i)?i:[i]).filter(Boolean).forEach(i=>{e.append("".concat(t,"[]"),String(i))})},w=function(){let{page:e=n.page,perPage:t=n.perPage,orderby:i=n.orderby,order:a=n.order,sticky:l,search:s,searchColumns:r,categories:o,status:d,author:c,exclude:u}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},m=new URLSearchParams({_embed:"1",page:String(e),per_page:String(t),orderby:i,order:a});return"boolean"==typeof l&&m.set("sticky",String(l)),s&&m.set("search",s),x(m,"search_columns",r),x(m,"categories",o),x(m,"status",d),x(m,"author",c),x(m,"exclude",u),"".concat("https://admin.zinisoft.net/wp-json/wp/v2/posts","?").concat(m.toString())},_=function(e){var t,i,a,l,s;let{includeContent:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{id:e.id,slug:e.slug,href:"/blog/".concat(e.slug),sourceUrl:e.link,img:p(e),alt:c((null===(t=e.title)||void 0===t?void 0:t.rendered)||"Blog image"),cat:g(e),date:m(e.date),title:c((null===(i=e.title)||void 0===i?void 0:i.rendered)||""),description:c((null===(a=e.excerpt)||void 0===a?void 0:a.rendered)||""),descriptions:c((null===(l=e.excerpt)||void 0===l?void 0:l.rendered)||""),categoryIds:e.categories||[],tagIds:e.tags||[],tags:h(e),authorId:e.author,author:v(e),authorAvatar:f(e),authorDescription:b(e),content:r?u((null===(s=e.content)||void 0===s?void 0:s.rendered)||""):""}};var y=e=>{let{posts:t=[],initialPage:i=n.page,perPage:o=n.perPage,orderby:d=n.orderby,order:c=n.order,search:u,searchColumns:m,categories:p,status:g,author:h,sticky:v,totalPages:f=0,loadMoreLabel:b="More",loadingLabel:x="Loading...",noResultsLabel:y="No posts found."}=e,[j,N]=(0,l.useState)(t),[S,L]=(0,l.useState)(i),[k,P]=(0,l.useState)(!1),B=t.length>0&&S<f,I=async()=>{if(!B||k)return;let e=S+1;P(!0);try{let t=await fetch(w({page:e,perPage:o,orderby:d,order:c,search:u,searchColumns:m,categories:p,status:g,author:h,sticky:v}));if(t.ok){let i=await t.json();N(e=>[...e,...i.map(e=>_(e))]),L(e)}}finally{P(!1)}};return(0,a.jsxs)(a.Fragment,{children:[!j.length&&(0,a.jsx)("div",{className:"col-12",children:(0,a.jsx)("p",{className:"fz-18 text-center",children:y})}),j.map(e=>(0,a.jsx)("div",{className:"col-xl-4 col-lg-4",children:(0,a.jsxs)("article",{className:"ptf-post ptf-post--style-1",children:[(0,a.jsxs)("div",{className:"ptf-post__media",children:[(0,a.jsx)(s.default,{className:"ptf-work__link",href:e.href||"/blog/".concat(e.id)}),(0,a.jsx)(r.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:e.img,alt:e.alt||e.title||"blog",loading:"lazy"})]}),(0,a.jsx)("div",{className:"ptf-post__content",children:(0,a.jsxs)("header",{className:"ptf-post__header",children:[(0,a.jsxs)("div",{className:"ptf-post__meta",children:[(0,a.jsx)("span",{className:"cat",children:e.cat}),(0,a.jsx)("span",{className:"date",children:e.date})]}),(0,a.jsx)("h3",{className:"ptf-post__title",children:(0,a.jsx)(s.default,{href:e.href||"/blog/".concat(e.id),children:e.title})})]})})]})},e.id)),B&&(0,a.jsxs)("div",{className:"col-12 text-center",children:[(0,a.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"7rem","--ptf-md":"4rem"}}),(0,a.jsx)("button",{type:"button",className:"ptf-load-more",onClick:I,disabled:k,children:k?x:b})]})]})}},44618:function(e,t,i){"use strict";i.r(t);var a=i(3827),l=i(64090),s=i(20703);t.default=e=>{let{src:t,alt:i,...r}=e,n="/assets/img/blog/default/post-default.png",[o,d]=(0,l.useState)(!1),[c,u]=(0,l.useState)(t);return t!==c&&(u(t),d(!1)),(0,a.jsx)(s.default,{...r,src:o?n:t||n,alt:i||"blog image",onError:()=>d(!0)})}},35266:function(e,t,i){"use strict";i.r(t);var a=i(3827);i(64090);var l=i(19190);t.default=e=>{let{defaultValue:t=""}=e;return(0,a.jsxs)("form",{className:"ptf-search-form",action:"/blogs",method:"get",children:[(0,a.jsx)("input",{type:"text",name:"search",defaultValue:t,placeholder:l.q.listing.searchPlaceholder}),(0,a.jsx)("input",{type:"hidden",name:"search_columns[]",value:"post_title"}),(0,a.jsx)("button",{type:"submit",children:(0,a.jsx)("i",{className:"lnil lnil-search-alt"})})]})}},19190:function(e,t,i){"use strict";i.d(t,{m:function(){return l},q:function(){return s}});var a=i(69221);let l=[{id:99,img:"/assets/img/blog/grid/post-1.png",cat:"Product",date:"Dec 15, 2021",title:"Review product BWIB"},{id:100,img:"/assets/img/blog/grid/post-2.png",cat:"Inspiration",date:"Dec 7, 2021",title:"Contrast in Brand Design"}],s={metadata:(0,a.$U)({title:"Blogs | ZiniSoft Ltd. Co.",description:"Read the latest technology insights and practical software development, system architecture, and AI integration experience from the experts at ZiniSoft Ltd. Co.",path:"/blogs"}),listing:{title:"Blog",searchPlaceholder:"Search in blog",loadMoreLabel:"More",loadingLabel:"Loading...",noResultsLabel:"No posts found."},detail:{metadata:{title:"Blog Details | ZiniSoft Ltd. Co."},fallback:{img:"/assets/img/home/default/post-1.png",cat:"Product",date:"Dec 15, 2021",title:"Review product BWIB",description:"Explore professional technology insights, software engineering updates, and custom AI systems by ZiniSoft Ltd. Co..."},meta:{category:"Inspiration",date:"Dec 7, 2021",authorLabel:"by",author:"Admin",views:"5,6k Views",comments:"3 Comments",report:"Report"},relatedTitle:"Related Posts",commentsTitle:"03 Comments:",commentFormTitle:"Leave a comment:",shareLabel:"Share on",nextPost:{label:"Next Post",title:"Minimalist Trends",href:"/blog/7"},form:{validation:{nameRequired:"Name is required",commentRequired:"Please write your comment",emailRequired:"Email is required",emailInvalid:"Entered value does not match email format",termsRequired:"Accept Terms and Conditions is required"},placeholders:{comment:"Write your comment here",name:"Your name *",email:"Your Email *"},terms:"Save my name & email in this browser for next time I comment.",submitLabel:"Submit"}}}},69221:function(e,t,i){"use strict";i.d(t,{$U:function(){return s},il:function(){return r}});let a={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},l={type:"website",siteName:a.name,locale:"en_US",image:{url:"".concat(a.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(a.name," - AI & Software Systems")}};function s(e){let{title:t,description:i,path:s="",ogImage:r}=e,n=s?"".concat(a.url).concat(s.startsWith("/")?s:"/".concat(s)):a.url,o=r?{url:r,width:1200,height:630,alt:t}:l.image;return{title:t,description:i,metadataBase:new URL(a.url),alternates:{canonical:n},openGraph:{title:t,description:i,url:n,siteName:l.siteName,locale:l.locale,type:l.type,images:[o]},twitter:{card:"summary_large_image",title:t,description:i,images:[o.url]}}}function r(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(a.url,"/#organization"),name:a.name,url:a.url,logo:{"@type":"ImageObject",url:a.logo},sameAs:a.socialLinks},{"@type":"WebSite","@id":"".concat(a.url,"/#website"),url:a.url,name:a.name,description:a.description,publisher:{"@id":"".concat(a.url,"/#organization")}}]}}}},function(e){e.O(0,[703,718,138,299,971,69,744],function(){return e(e.s=8264)}),_N_E=e.O()}]);���2C(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[570],{63904:function(e,a,i){Promise.resolve().then(i.bind(i,37152)),Promise.resolve().then(i.bind(i,79656)),Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,70296)),Promise.resolve().then(i.bind(i,48735))},37152:function(e,a,i){"use strict";i.r(a);var s=i(3827),t=i(64090),l=i(40093);a.default=()=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"0",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:l.a.contact.addressTitle}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-20 lh-1p5 has-black-color",children:(0,s.jsx)("a",{href:l.a.contact.addressHref,target:"_blank",rel:"noopener noreferrer",children:l.a.contact.addressLines.map((e,a)=>(0,s.jsxs)(t.Fragment,{children:[e,a<l.a.contact.addressLines.length-1&&(0,s.jsx)("br",{})]},e))})})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.1875rem"}}),(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"100",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:l.a.contact.emailTitle}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-20 lh-1p5 has-black-color",children:l.a.contact.emails.map(e=>(0,s.jsxs)(t.Fragment,{children:[(0,s.jsx)("a",{href:"mailto:".concat(e),children:e}),(0,s.jsx)("br",{})]},e))})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.1875rem"}}),(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"200",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:l.a.contact.phoneTitle}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-20 lh-1p5 has-black-color",children:(0,s.jsx)("a",{href:l.a.contact.phoneHref,children:l.a.contact.phone})})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.1875rem"}}),(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"300",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:"SLA Response"}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-16 lh-1p5 has-black-color",children:"Our System Architects will review your technical requirements and respond with an official technical proposal within 2 business hours."})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.1875rem"}}),(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"400",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:"Pre-meeting NDA"}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-16 lh-1p5 has-black-color",children:"All initial project discussions are strictly protected under our corporate Non-Disclosure Agreement (NDA) standards. Your source code and system privacy are secure with us."})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.1875rem"}}),(0,s.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"500",children:[(0,s.jsx)("h5",{className:"fz-14 text-uppercase has-3-color fw-normal",children:"IP Ownership"}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"1.25rem"}}),(0,s.jsx)("p",{className:"fz-16 lh-1p5 has-black-color",children:"100% Intellectual Property & Source Code Ownership Transfer upon project completion."})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-lg":"4.375rem","--ptf-md":"2.1875rem"}})]})},79656:function(e,a,i){"use strict";i.r(a);var s=i(3827),t=i(64090),l=i(82670),r=i(87957),n=i(24080),o=i(43988);a.default=()=>{var e,a,i,c,d,m,u,p,f,h,v,b,g;let{form:x}=o.contactPage,j=n.Ry().shape({name:n.Z_().required(x.validation.nameRequired),organization:n.Z_().required(x.validation.organizationRequired),email:n.Z_().required(x.validation.emailRequired).email(x.validation.emailInvalid),projectClassification:n.Z_().required(x.validation.projectClassificationRequired),infrastructureEnvironment:n.Z_().required(x.validation.infrastructureEnvironmentRequired),projectGoal:n.Z_().required(x.validation.projectGoalRequired),timeline:n.Z_().required(x.validation.timelineRequired),budget:n.Z_().required(x.validation.budgetRequired),acceptTerms:n.Xg().oneOf([!0],x.validation.termsRequired)}),y=(null===(e=x.fields.projectClassification.options.find(e=>""!==e.value))||void 0===e?void 0:e.value)||"",N=(null===(a=x.fields.infrastructureEnvironment.options.find(e=>""!==e.value))||void 0===a?void 0:a.value)||"",w=(null===(i=x.fields.timeline.options.find(e=>""!==e.value))||void 0===i?void 0:i.value)||"",k=(null===(c=x.fields.budget.options.find(e=>""!==e.value))||void 0===c?void 0:c.value)||"",C={resolver:(0,r.X)(j),defaultValues:{projectClassification:y,infrastructureEnvironment:N,timeline:w,budget:k}},{register:z,handleSubmit:S,formState:q,reset:P,watch:E}=(0,l.cI)(C),{errors:R}=q,A=E("budget");x.fields.budget.options.find(e=>e.value===A);let I=E("infrastructureEnvironment"),T=E("timeline"),[_,L]=t.useState(null),[O,D]=t.useState("");async function Z(e,a){L("loading"),D("");try{let a=await fetch("https://admin.zinisoft.net/wp-json/zinisoft/v1/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),i=await a.json();a.ok?(L("success"),D(i.message||"Your message has been sent successfully!"),P()):(L("error"),D(i.message||"Something went wrong. Please try again."))}catch(e){L("error"),D("Network error. Please check your connection and try again.")}}return(0,s.jsxs)("form",{onSubmit:S(Z),className:"contact_form",children:[(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.name.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.name.label]}),(0,s.jsx)("input",{type:"text",name:"name",...z("name"),className:"".concat(R.name?"is-invalid":"")}),R.name&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(d=R.name)||void 0===d?void 0:d.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.organization.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.organization.label]}),(0,s.jsx)("input",{type:"text",name:"organization",...z("organization"),className:"".concat(R.organization?"is-invalid":"")}),R.organization&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(m=R.organization)||void 0===m?void 0:m.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.email.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.email.label]}),(0,s.jsx)("input",{name:"email",type:"text",...z("email"),className:" ".concat(R.email?"is-invalid":"")}),R.email&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(u=R.email)||void 0===u?void 0:u.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.projectClassification.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.projectClassification.label]}),(0,s.jsx)("select",{name:"projectClassification",...z("projectClassification"),className:"".concat(R.projectClassification?"is-invalid":""),children:x.fields.projectClassification.options.map(e=>(0,s.jsx)("option",{value:e.value,children:e.label},e.label))}),R.projectClassification&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(p=R.projectClassification)||void 0===p?void 0:p.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.infrastructureEnvironment.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.infrastructureEnvironment.label]}),(0,s.jsx)("div",{className:"ptf-custom-radio-group",children:x.fields.infrastructureEnvironment.options.filter(e=>""!==e.value).map(e=>{let a=I===e.value,i=!!R.infrastructureEnvironment;return(0,s.jsxs)("label",{className:"ptf-custom-radio-option ".concat(a?"is-active":""," ").concat(i?"is-invalid-option":""),children:[(0,s.jsx)("input",{type:"radio",name:"infrastructureEnvironment",value:e.value,...z("infrastructureEnvironment")}),e.label]},e.value)})}),R.infrastructureEnvironment&&(0,s.jsx)("div",{className:"invalid-feedback",style:{display:"block",marginTop:"0.5rem"},children:null===(f=R.infrastructureEnvironment)||void 0===f?void 0:f.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.projectGoal.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.projectGoal.label]}),(0,s.jsx)("textarea",{type:"text",name:"projectGoal",...z("projectGoal"),className:"".concat(R.projectGoal?"is-invalid":"")}),R.projectGoal&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(h=R.projectGoal)||void 0===h?void 0:h.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.timeline.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.timeline.label]}),(0,s.jsx)("div",{className:"ptf-custom-radio-group three-cols",children:x.fields.timeline.options.filter(e=>""!==e.value).map(e=>{let a=T===e.value,i=!!R.timeline;return(0,s.jsxs)("label",{className:"ptf-custom-radio-option ".concat(a?"is-active":""," ").concat(i?"is-invalid-option":""),children:[(0,s.jsx)("input",{type:"radio",name:"timeline",value:e.value,...z("timeline")}),e.label]},e.value)})}),R.timeline&&(0,s.jsx)("div",{className:"invalid-feedback",style:{display:"block",marginTop:"0.5rem"},children:null===(v=R.timeline)||void 0===v?void 0:v.message})]}),(0,s.jsxs)("div",{className:"ptf-form-group",children:[(0,s.jsxs)("label",{"data-number":x.fields.budget.number,children:[(0,s.jsx)("span",{style:{color:"red"},children:"* "}),x.fields.budget.label]}),(0,s.jsx)("select",{name:"budget",...z("budget"),className:"".concat(R.budget?"is-invalid":""),children:x.fields.budget.options.map(e=>(0,s.jsx)("option",{value:e.value,children:e.label},e.label))}),R.budget&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(b=R.budget)||void 0===b?void 0:b.message})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"2.5rem"}}),(0,s.jsxs)("div",{className:"ptf-form-group agreement-checkbox ",children:[(0,s.jsx)("input",{name:"acceptTerms",type:"checkbox",id:"acceptTerms",...z("acceptTerms"),className:" ".concat(R.acceptTerms?"is-invalid":"")}),(0,s.jsxs)("label",{className:"ptf-checkbox",htmlFor:"acceptTerms",children:[(0,s.jsx)("span",{className:"ptf-checkbox__checkmark"}),x.terms]}),R.acceptTerms&&(0,s.jsx)("div",{className:"invalid-feedback",children:null===(g=R.acceptTerms)||void 0===g?void 0:g.message})]}),(0,s.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"5.625rem"}}),(0,s.jsxs)("button",{className:"ptf-submit-button",disabled:"loading"===_,children:["loading"===_?"Sending...":x.submitLabel,(0,s.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 17 17",children:(0,s.jsx)("path",{d:"M16 .997V10h-1V2.703L4.683 13l-.707-.708L14.291 1.997H6.975v-1H16z"})})]}),_&&(0,s.jsx)("div",{style:{marginTop:"1.5rem",padding:"1rem",borderRadius:"0.5rem",color:"success"===_?"#155724":"#721c24",backgroundColor:"success"===_?"#d4edda":"#f8d7da"},children:O})]})}},43988:function(e,a,i){"use strict";i.d(a,{contactPage:function(){return s}});let s={metadata:(0,i(69221).$U)({title:"Contact | ZiniSoft Ltd. Co.",description:"Get in touch with ZiniSoft Ltd. Co. to discuss your AI integration, enterprise system architecture, microservices, or custom software engineering project.",path:"/contact"}),hero:{titleLines:["Let's discuss","your project"]},formIntro:"Tell us about your project and goals.",form:{validation:{nameRequired:"Name is required",organizationRequired:"Organization name is required",projectGoalRequired:"Please write your project goal.",timelineRequired:"Please write if you have a timeline.",emailRequired:"Email is required",emailInvalid:"Entered value does not match email format",projectClassificationRequired:"Please select a project classification",infrastructureEnvironmentRequired:"Please select an infrastructure environment",budgetRequired:"Please select your budget",termsRequired:"Accept Terms and Conditions is required"},fields:{name:{number:"01",label:"What's your name?"},organization:{number:"02",label:"What's the name of your organization?"},email:{number:"03",label:"What's your email address?"},projectClassification:{number:"04",label:"Project Classification",options:[{value:"",label:"Select classification..."},{value:"Custom AI Integration (Hermes/OpenClaw)",label:"Custom AI Integration (Hermes/OpenClaw)"},{value:"High-Performance Backend Engineering",label:"High-Performance Backend Engineering"},{value:"Enterprise Architecture Audit",label:"Enterprise Architecture Audit"},{value:"SaaS Ecosystem Deployment",label:"SaaS Ecosystem Deployment"}]},infrastructureEnvironment:{number:"05",label:"Infrastructure Environment",options:[{value:"",label:"Select infrastructure..."},{value:"Cloud-Based",label:"Cloud-Based"},{value:"On-Premise / Local Server Cluster",label:"On-Premise / Local Server Cluster"}]},projectGoal:{number:"06",label:"Tell us about your project goals."},timeline:{number:"07",label:"Estimated Timeline",options:[{value:"",label:"Select timeline..."},{value:"Immediate",label:"Immediate"},{value:"Within 3 months",label:"Within 3 months"},{value:"Planning phase",label:"Planning phase"}]},budget:{number:"08",label:"What have you budgeted for this project?",options:[{value:"",label:"Select your budget..."},{value:"Undecided / Discovery Phase",label:"Undecided / Discovery Phase",description:"For projects in the early planning phase that require technical consulting, feasibility assessment, or architectural design before determining a formal budget."},{value:"Under $5,000",label:"Under $5,000 (~120M VND)",description:"Purpose: For clients who want to quickly purchase and deploy ready-made packaged products from our proprietary SaaS ecosystem (such as Coco, Kindie, or Zapes) without major customization to core structures."},{value:"$5,000 - $15,000",label:"$5,000 - $15,000 (~120M - 350M VND)",description:"Purpose: Best suited for building initial minimum viable products (MVPs), designing standard cross-platform applications, or integrating basic AI Agent modules into existing enterprise systems."},{value:"$15,000 - $40,000",label:"$15,000 - $40,000 (~350M - 1B VND)",description:"Purpose: Standard budget range for true enterprise challenges: building microservices architecture, implementing high-throughput real-time data processing infrastructure (Go + QuestDB), or deploying self-operating AI Agents with hardware control."},{value:"$40,000+",label:"$40,000+ (Over 1B VND)",description:"Purpose: Designed for full-scale digital transformation solutions, complex core systems, or advanced AI R&D with infrastructure serving millions of concurrent users with ultra-low latency."}]}},terms:"I agree to receive occasional ZiniSoft Ltd. Co. newsletters containing news and advice on creating personal and business progress via digital tech.",submitLabel:"Submit"},cta:{eyebrow:"Describe your project",label:"Contact ZiniSoft Ltd. Co.",href:"/contact",backgroundImage:"/assets/img/services-call-to-action-background.png"}}},69221:function(e,a,i){"use strict";i.d(a,{$U:function(){return l},il:function(){return r}});let s={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},t={type:"website",siteName:s.name,locale:"en_US",image:{url:"".concat(s.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(s.name," - AI & Software Systems")}};function l(e){let{title:a,description:i,path:l="",ogImage:r}=e,n=l?"".concat(s.url).concat(l.startsWith("/")?l:"/".concat(l)):s.url,o=r?{url:r,width:1200,height:630,alt:a}:t.image;return{title:a,description:i,metadataBase:new URL(s.url),alternates:{canonical:n},openGraph:{title:a,description:i,url:n,siteName:t.siteName,locale:t.locale,type:t.type,images:[o]},twitter:{card:"summary_large_image",title:a,description:i,images:[o.url]}}}function r(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(s.url,"/#organization"),name:s.name,url:s.url,logo:{"@type":"ImageObject",url:s.logo},sameAs:s.socialLinks},{"@type":"WebSite","@id":"".concat(s.url,"/#website"),url:s.url,name:s.name,description:s.description,publisher:{"@id":"".concat(s.url,"/#organization")}}]}}}},function(e){e.O(0,[703,718,52,299,971,69,744],function(){return e(e.s=63904)}),_N_E=e.O()}]);���e(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[123],{31007:function(e,t,i){Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,70296)),Promise.resolve().then(i.bind(i,79373))},79373:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return s}});var n=i(3827);i(64090);var a=i(20703),o=i(69221);(0,o.$U)({title:"Not Found | ZiniSoft Ltd. Co.",description:"Page not found. The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Back to ZiniSoft Ltd. Co.",path:"/404"}),(0,o.$U)({title:"FAQ | ZiniSoft Ltd. Co.",description:"Find answers to frequently asked questions about our AI engineering, software development services, project pricing, timeline, and collaboration model.",path:"/faq"});let r={metadata:(0,o.$U)({title:"Team | ZiniSoft Ltd. Co.",description:"Meet the ZiniSoft Ltd. Co. team. We are dedicated developers, software architects, and designers building next-generation AI systems and B2B platforms.",path:"/team"}),heading:"The face of ZiniSoft Ltd. Co.",description:"Meet our talented team of developers, tech-lovers and innovative builders.",members:[{delayAnimation:"0",img:"thanh",title:"Thanh Vo",designation:"Co-founder & CTO"},{delayAnimation:"0",img:"nguyen",title:"Nguyen Tran",designation:"Backend Developer"},{delayAnimation:"0",img:"doan",title:"Doan Tran",designation:"Frontend Developer"},{delayAnimation:"0",img:"nguyentrinh",title:"Nguyen Trinh",designation:"Backend Developer"},{delayAnimation:"0",img:"quocanh",title:"Anh Nguyen",designation:"Marketing & Designer"},{delayAnimation:"0",img:"tai",title:"Tai Nguyen",designation:"Backend Developer"},{delayAnimation:"0",img:"tuong",title:"Tuong Le",designation:"Frontend Developer"}]};(0,o.$U)({title:"Pricing | ZiniSoft Ltd. Co.",description:"Explore our flexible pricing plans for custom AI integration, high-performance backend engineering, enterprise audits, and SaaS ecosystem deployment.",path:"/pricing"}),(0,o.$U)({title:"Coming Soon | ZiniSoft Ltd. Co.",description:"Our new custom modules, AI tools, and system architecture features are coming soon. Stay tuned for advanced updates from the ZiniSoft engineering team.",path:"/coming-soon"}),(0,o.$U)({title:"About Us | ZiniSoft Ltd. Co.",description:"ZiniSoft Ltd. Co. specializes in AI-First software engineering, B2B microservices architecture, and optimized digital infrastructure for global enterprises.",path:"/about-us"}),(0,o.$U)({title:"About Me | ZiniSoft Ltd. Co.",description:"Learn more about our lead software architect, specializing in high-performance computing, isolated AI deployments, and scalable database systems.",path:"/about-me"});var s=()=>(0,n.jsx)(n.Fragment,{children:r.members.map((e,t)=>(0,n.jsx)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":e.delayAnimation,children:(0,n.jsxs)("div",{className:"ptf-team-member",children:[(0,n.jsxs)("div",{className:"ptf-team-member__avatar",children:[(0,n.jsx)("div",{className:"shadow-effect"}),(0,n.jsx)(a.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:"/assets/img/root/team/".concat(e.img,".png"),alt:e.title,loading:"lazy"})]}),(0,n.jsxs)("div",{className:"ptf-team-member__content",children:[(0,n.jsx)("h6",{className:"ptf-team-member__name",children:e.title}),(0,n.jsx)("p",{className:"ptf-team-member__function",children:e.designation})]})]})},t))})},69221:function(e,t,i){"use strict";i.d(t,{$U:function(){return o},il:function(){return r}});let n={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},a={type:"website",siteName:n.name,locale:"en_US",image:{url:"".concat(n.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(n.name," - AI & Software Systems")}};function o(e){let{title:t,description:i,path:o="",ogImage:r}=e,s=o?"".concat(n.url).concat(o.startsWith("/")?o:"/".concat(o)):n.url,l=r?{url:r,width:1200,height:630,alt:t}:a.image;return{title:t,description:i,metadataBase:new URL(n.url),alternates:{canonical:s},openGraph:{title:t,description:i,url:s,siteName:a.siteName,locale:a.locale,type:a.type,images:[l]},twitter:{card:"summary_large_image",title:t,description:i,images:[l.url]}}}function r(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(n.url,"/#organization"),name:n.name,url:n.url,logo:{"@type":"ImageObject",url:n.logo},sameAs:n.socialLinks},{"@type":"WebSite","@id":"".concat(n.url,"/#website"),url:n.url,name:n.name,description:n.description,publisher:{"@id":"".concat(n.url,"/#organization")}}]}}}},function(e){e.O(0,[703,718,299,971,69,744],function(){return e(e.s=31007)}),_N_E=e.O()}]);���+)(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[435],{58081:function(e,t,i){Promise.resolve().then(i.bind(i,6753)),Promise.resolve().then(i.bind(i,69273)),Promise.resolve().then(i.bind(i,14716)),Promise.resolve().then(i.bind(i,70296)),Promise.resolve().then(i.bind(i,5067)),Promise.resolve().then(i.bind(i,37654)),Promise.resolve().then(i.bind(i,44300)),Promise.resolve().then(i.bind(i,85943)),Promise.resolve().then(i.bind(i,89224)),Promise.resolve().then(i.t.bind(i,81749,23))},5067:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);var a=i(20703);let o=["image-1","image-2","image-3","image-4","image-5"];t.default=()=>(0,n.jsx)("ul",{className:"ptf-instagram-feed",children:o.map((e,t)=>(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"https://www.instagram.com/",target:"_blank",rel:"noopener noreferrer",children:(0,n.jsx)(a.default,{width:1200,height:1200,style:{width:"100%",height:"100%"},src:"/assets/img/instagram/".concat(e,".png"),alt:"instagram icon",loading:"lazy"})})},t))})},44300:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);let a=[{year:"2014",delayAnimation:"",infoContent:[{title:" Bachelor Degree of Design",subTitle:"RMIT University"},{title:"UI/UX Design Certificate",subTitle:" University of Houston, US"}]},{year:"2015 - 2019",delayAnimation:"",infoContent:[{title:"Design Internship",subTitle:"CMC Corporation, UK"},{title:"Graphic Designer",subTitle:"Tripadvisor Ltd, UK"},{title:"Leader Graphic Design",subTitle:"New Centery Media JSC, UK"},{title:"Web Designer",subTitle:"Freelancer"},{title:"Web Designer/ Author",subTitle:"Envato Market"}]},{year:"2020 - PRESENT",delayAnimation:"",infoContent:[{title:"Product Designe Management",subTitle:"Dribbble LLC, US"},{title:"Art Director / Co-Founder",subTitle:"Spotify"},{title:"Founder",subTitle:"iDesign Magazine"},{title:"Author of The Book",subTitle:"Work for Money, Design for Love"}]}];t.default=()=>(0,n.jsx)(n.Fragment,{children:a.map((e,t)=>(0,n.jsx)("div",{className:"col-12 col-md-6 col-lg-4",children:(0,n.jsx)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":e.delayAnimation,children:(0,n.jsxs)("div",{className:"ptf-timeline",children:[(0,n.jsx)("div",{className:"ptf-timeline__year",children:e.year}),(0,n.jsx)("ul",{className:"ptf-timeline__list",children:e.infoContent.map((e,t)=>(0,n.jsxs)("li",{className:"ptf-timeline__item",children:[(0,n.jsx)("h4",{className:"ptf-timeline__title",children:e.title}),(0,n.jsx)("p",{className:"ptf-timeline__description",children:e.subTitle})]},t))})]})})},t))})},6753:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);var a=i(20703);let o=[{dealyAnimation:"0",icon:"image-1",percentage:"90",title:"Figma"},{dealyAnimation:"100",icon:"image-2",percentage:"95",title:"Sketch"},{dealyAnimation:"200",icon:"image-3",percentage:"82",title:"Adobe XD"},{dealyAnimation:"300",icon:"image-4",percentage:"93",title:"InvisionApp"},{dealyAnimation:"400",icon:"image-5",percentage:"76",title:"Bootstrap"},{dealyAnimation:"500",icon:"image-6",percentage:"88",title:"HTML5/CSS"}];t.default=()=>(0,n.jsx)(n.Fragment,{children:o.map((e,t)=>(0,n.jsx)("div",{className:"col-6 col-md-4 col-lg-2",children:(0,n.jsx)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":e.dealyAnimation,children:(0,n.jsxs)("div",{className:"ptf-advantage-box",style:{"--ptf-image-height":"90px"},children:[(0,n.jsxs)("div",{className:"ptf-advantage-box__content",children:[(0,n.jsx)("div",{className:"ptf-advantage-box__image",children:(0,n.jsx)(a.default,{width:200,height:200,style:{width:"116px",height:"57px",objectFit:"contain"},src:"/assets/img/root/advantages/".concat(e.icon,".png"),alt:"Figma",loading:"lazy"})}),(0,n.jsx)("div",{className:"ptf-advantage-box__value",children:e.percentage})]}),(0,n.jsx)("h6",{className:"ptf-advantage-box__title",children:e.title})]})})},t))})},69273:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);var a=i(20703);let o=[{delayAnimation:"0",icon:"logo-1-black"},{delayAnimation:"100",icon:"logo-2-black"},{delayAnimation:"200",icon:"logo-3-black"},{delayAnimation:"300",icon:"logo-4-black"},{delayAnimation:"400",icon:"logo-5-black"}];t.default=()=>(0,n.jsx)("ul",{className:"   ptf-clients-list   ptf-clients-list--center   ptf-clients-list--style-2   ","data-columns":"5",children:o.map((e,t)=>(0,n.jsx)("li",{className:"ptf-clients-list__item","data-aos":"fade","data-aos-delay":e.delayAnimation,children:(0,n.jsx)(a.default,{width:200,height:200,style:{width:"150px",height:"64px",objectFit:"contain"},src:"/assets/img/root/clients/".concat(e.icon,".png"),alt:"brand icon",loading:"lazy"})},t))})},37654:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);var a=i(8792),o=i(63521);t.default=()=>(0,n.jsx)("ul",{className:"ptf-services-list ptf-services-list--style-1",style:{"--ptf-font-family":"var(--ptf-primary-font)","--ptf-font-weight":"300"},children:o.kb.items.map((e,t)=>(0,n.jsx)("li",{children:(0,n.jsxs)(a.default,{href:e.href,children:[e.title,(0,n.jsx)("span",{children:t+1})]})},e.id))})},89224:function(e,t,i){"use strict";i.r(t);var n=i(3827);i(64090);var a=i(138);let o=[{descriptions:" “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",name:"Jurgen Kloop",designation:"Product Management",companyName:"Google Inc",webLink:"https://www.google.com/"},{descriptions:" “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",name:"Jurgen Kloop",designation:"Product Management",companyName:"Google Inc",webLink:"https://www.google.com/"},{descriptions:" “Bruno was a real pleasure to work with and we look forward to\n    working with him again. He’s definitely the kind of designer you\n    can trust with a project from start to finish. Great services &\n    Recommended!”",name:"Jurgen Kloop",designation:"Product Management",companyName:"Google Inc",webLink:"https://www.google.com/"}];t.default=()=>(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(a.Z,{dots:!0,arrow:!0,infinite:!0,speed:900,slidesToShow:1,slidesToScroll:1,autoplay:!1,className:"arrow-none testimonial-pagination--style-bottom",children:o.map((e,t)=>(0,n.jsxs)("div",{className:"ptf-testimonial ptf-testimonial--style-1 space-80",children:[(0,n.jsx)("div",{className:"ptf-testimonial__content",children:(0,n.jsx)("p",{children:e.descriptions})}),(0,n.jsxs)("div",{className:"ptf-testimonial__meta",children:[(0,n.jsx)("h6",{className:"ptf-testimonial__author",children:e.name}),(0,n.jsxs)("div",{className:"ptf-testimonial__info",children:[(0,n.jsx)("span",{children:e.designation})," at"," ",(0,n.jsx)("a",{href:e.webLink,target:"_blank",rel:"noopener noreferrer",children:e.companyName})]})]})]},t))})})},69221:function(e,t,i){"use strict";i.d(t,{$U:function(){return o},il:function(){return s}});let n={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},a={type:"website",siteName:n.name,locale:"en_US",image:{url:"".concat(n.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(n.name," - AI & Software Systems")}};function o(e){let{title:t,description:i,path:o="",ogImage:s}=e,r=o?"".concat(n.url).concat(o.startsWith("/")?o:"/".concat(o)):n.url,l=s?{url:s,width:1200,height:630,alt:t}:a.image;return{title:t,description:i,metadataBase:new URL(n.url),alternates:{canonical:r},openGraph:{title:t,description:i,url:r,siteName:a.siteName,locale:a.locale,type:a.type,images:[l]},twitter:{card:"summary_large_image",title:t,description:i,images:[l.url]}}}function s(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(n.url,"/#organization"),name:n.name,url:n.url,logo:{"@type":"ImageObject",url:n.logo},sameAs:n.socialLinks},{"@type":"WebSite","@id":"".concat(n.url,"/#website"),url:n.url,name:n.name,description:n.description,publisher:{"@id":"".concat(n.url,"/#organization")}}]}}},63521:function(e,t,i){"use strict";i.d(t,{kb:function(){return n}}),(0,i(69221).$U)({title:"Services | ZiniSoft Ltd. Co.",description:"Explore our software engineering services: on-premise AI models, autonomous AI agents, enterprise microservices, and high-performance real-time databases.",path:"/services"});let n={subtitle:"Core AI-First Engineering",title:"Deep AI Engineering Services",frameworksText:"Frameworks: Hermes, OpenClaw Orchestration",items:[{id:37,icon:"lnil lnil-brain",title:"Local AI Infrastructure Deployment (On-Premise LLM)",text:"Package and deploy Large Language Models (LLMs) running directly on corporate physical servers or isolated virtualized environments. Ensure absolute business data security, zero internet leakage, and optimized hardware performance.",badges:["#Data-Privacy","#Zero-API-Cost","#Hardware-Optimization"],cols:"col-lg-7 col-md-7 col-12",href:"/service/37"},{id:38,icon:"lnil lnil-ai",title:"Autonomous AI Agent Architecture",text:"Build a virtual workforce (AI Agents) capable of autonomously decomposing complex workflows, retrieving internal corporate knowledge bases, and seamlessly interconnecting enterprise software.",footerText:"Autonomic Workflows",href:"/service/38",cols:"col-lg-5 col-md-5 col-12"},{id:39,icon:"lnil lnil-display-alt",title:"Desktop-First AI Sales Coach Specialist",text:"Desktop-based assistant software engineered to optimize hardware and peripheral interaction for monitoring and analyzing real-time conversational scripts, tone, and nuances.",footerText:"#Hardware-Control",cols:"col-lg-4 col-md-4 col-12",href:"/service/39"},{id:40,icon:"lnil lnil-bar-chart",title:"Enterprise Intelligence Integration (AI-Powered BI)",text:"Embed predictive analytics models into multi-point data streams. Enable retail franchises to perform deep data mining, detect consumer trends, and automate inventory optimization.",badges:["#Predictive-Analytics","#Demand-Forecasting"],cols:"col-lg-8 col-md-8 col-12",href:"/service/40"}]}}},function(e){e.O(0,[703,718,138,299,971,69,744],function(){return e(e.s=58081)}),_N_E=e.O()}]);����(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[319],{67687:function(e,t,a){Promise.resolve().then(a.bind(a,14716)),Promise.resolve().then(a.bind(a,70296)),Promise.resolve().then(a.bind(a,65254)),Promise.resolve().then(a.t.bind(a,25250,23))},65254:function(e,t,a){"use strict";a.r(t);var i=a(3827);a(64090);var r=a(8792),n=a(43988);t.default=()=>(0,i.jsx)("div",{className:"container-xxl text-center",children:(0,i.jsx)("div",{className:"d-inline-flex text-start",children:(0,i.jsxs)("div",{className:"ptf-animated-block","data-aos":"fade","data-aos-delay":"0",children:[(0,i.jsx)("div",{className:"fz-36 has-accent-1",children:n.contactPage.cta.eyebrow}),(0,i.jsx)("div",{className:"ptf-spacer",style:{"--ptf-xxl":"0.625rem"}}),(0,i.jsx)("div",{className:"fz-120 fz-90--md has-white-color fw-bold lh-1p1",children:(0,i.jsx)(r.default,{href:n.contactPage.cta.href,className:"ptf-filled-link",children:n.contactPage.cta.label})}),(0,i.jsx)("div",{className:"fz-80 has-white-color",children:(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",style:{height:"1em"},viewBox:"0 0 17 17",children:(0,i.jsx)("path",{d:"M16 .997V10h-1V2.703L4.683 13l-.707-.708L14.291 1.997H6.975v-1H16z"})})})]})})})},43988:function(e,t,a){"use strict";a.d(t,{contactPage:function(){return i}});let i={metadata:(0,a(69221).$U)({title:"Contact | ZiniSoft Ltd. Co.",description:"Get in touch with ZiniSoft Ltd. Co. to discuss your AI integration, enterprise system architecture, microservices, or custom software engineering project.",path:"/contact"}),hero:{titleLines:["Let's discuss","your project"]},formIntro:"Tell us about your project and goals.",form:{validation:{nameRequired:"Name is required",organizationRequired:"Organization name is required",projectGoalRequired:"Please write your project goal.",timelineRequired:"Please write if you have a timeline.",emailRequired:"Email is required",emailInvalid:"Entered value does not match email format",projectClassificationRequired:"Please select a project classification",infrastructureEnvironmentRequired:"Please select an infrastructure environment",budgetRequired:"Please select your budget",termsRequired:"Accept Terms and Conditions is required"},fields:{name:{number:"01",label:"What's your name?"},organization:{number:"02",label:"What's the name of your organization?"},email:{number:"03",label:"What's your email address?"},projectClassification:{number:"04",label:"Project Classification",options:[{value:"",label:"Select classification..."},{value:"Custom AI Integration (Hermes/OpenClaw)",label:"Custom AI Integration (Hermes/OpenClaw)"},{value:"High-Performance Backend Engineering",label:"High-Performance Backend Engineering"},{value:"Enterprise Architecture Audit",label:"Enterprise Architecture Audit"},{value:"SaaS Ecosystem Deployment",label:"SaaS Ecosystem Deployment"}]},infrastructureEnvironment:{number:"05",label:"Infrastructure Environment",options:[{value:"",label:"Select infrastructure..."},{value:"Cloud-Based",label:"Cloud-Based"},{value:"On-Premise / Local Server Cluster",label:"On-Premise / Local Server Cluster"}]},projectGoal:{number:"06",label:"Tell us about your project goals."},timeline:{number:"07",label:"Estimated Timeline",options:[{value:"",label:"Select timeline..."},{value:"Immediate",label:"Immediate"},{value:"Within 3 months",label:"Within 3 months"},{value:"Planning phase",label:"Planning phase"}]},budget:{number:"08",label:"What have you budgeted for this project?",options:[{value:"",label:"Select your budget..."},{value:"Undecided / Discovery Phase",label:"Undecided / Discovery Phase",description:"For projects in the early planning phase that require technical consulting, feasibility assessment, or architectural design before determining a formal budget."},{value:"Under $5,000",label:"Under $5,000 (~120M VND)",description:"Purpose: For clients who want to quickly purchase and deploy ready-made packaged products from our proprietary SaaS ecosystem (such as Coco, Kindie, or Zapes) without major customization to core structures."},{value:"$5,000 - $15,000",label:"$5,000 - $15,000 (~120M - 350M VND)",description:"Purpose: Best suited for building initial minimum viable products (MVPs), designing standard cross-platform applications, or integrating basic AI Agent modules into existing enterprise systems."},{value:"$15,000 - $40,000",label:"$15,000 - $40,000 (~350M - 1B VND)",description:"Purpose: Standard budget range for true enterprise challenges: building microservices architecture, implementing high-throughput real-time data processing infrastructure (Go + QuestDB), or deploying self-operating AI Agents with hardware control."},{value:"$40,000+",label:"$40,000+ (Over 1B VND)",description:"Purpose: Designed for full-scale digital transformation solutions, complex core systems, or advanced AI R&D with infrastructure serving millions of concurrent users with ultra-low latency."}]}},terms:"I agree to receive occasional ZiniSoft Ltd. Co. newsletters containing news and advice on creating personal and business progress via digital tech.",submitLabel:"Submit"},cta:{eyebrow:"Describe your project",label:"Contact ZiniSoft Ltd. Co.",href:"/contact",backgroundImage:"/assets/img/services-call-to-action-background.png"}}},69221:function(e,t,a){"use strict";a.d(t,{$U:function(){return n},il:function(){return s}});let i={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},r={type:"website",siteName:i.name,locale:"en_US",image:{url:"".concat(i.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(i.name," - AI & Software Systems")}};function n(e){let{title:t,description:a,path:n="",ogImage:s}=e,o=n?"".concat(i.url).concat(n.startsWith("/")?n:"/".concat(n)):i.url,l=s?{url:s,width:1200,height:630,alt:t}:r.image;return{title:t,description:a,metadataBase:new URL(i.url),alternates:{canonical:o},openGraph:{title:t,description:a,url:o,siteName:r.siteName,locale:r.locale,type:r.type,images:[l]},twitter:{card:"summary_large_image",title:t,description:a,images:[l.url]}}}function s(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(i.url,"/#organization"),name:i.name,url:i.url,logo:{"@type":"ImageObject",url:i.logo},sameAs:i.socialLinks},{"@type":"WebSite","@id":"".concat(i.url,"/#website"),url:i.url,name:i.name,description:i.description,publisher:{"@id":"".concat(i.url,"/#organization")}}]}}}},function(e){e.O(0,[703,718,299,971,69,744],function(){return e(e.s=67687)}),_N_E=e.O()}]);���t""use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[634],{51634:function(e,t,i){i.d(t,{homePage:function(){return a}});let a={metadata:(0,i(69221).$U)({title:"ZiniSoft Ltd. Co | AI & Software Systems",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",path:"/"}),hero:{video:{channel:"youtube",videoId:"1gyTUHP6ne8"},slides:[{id:"image-1",className:"image-1",align:"center",darkText:!1,badge:"Shaping the Digital Future with AI-First Architecture",accent:"Engineering High-Performance",titleLines:["Software Systems & AI Solutions"],description:"We partner with enterprises to build sustainable digital infrastructure, integrate deep artificial intelligence, and achieve comprehensive system optimization.",buttons:[{label:"Deep AI-First Solutions",mobileLabel:"AI-First Solutions",href:"#deep-ai-engineering",className:"ptf-btn ptf-btn--primary"},{label:"B2B System Architecture",mobileLabel:"B2B Architecture",href:"#system-architecture",className:"ptf-btn ptf-btn--secondary"}]},{id:"image-2",className:"image-2",align:"center",accent:"Swiss",titleLines:["Style","Interface"],description:"Like any great agency, we are only as good as the result we deliver of our recent work.",buttons:[{label:"Get Started",href:"/contact",className:"ptf-btn ptf-btn--primary"}]},{id:"image-3",className:"image-3",align:"start",accent:"Crafting",titleLines:["Digital","Experience"],description:"Like any great agency, we are only as good as the result we deliver of our recent work.",buttons:[{label:"Get Started",href:"/contact",className:"ptf-btn ptf-btn--primary"}],videoButton:{titleLines:["View our","story"]}}]},sections:{services:{title:"Our Services",col1Title:"Deep AI Engineering Services",col2Title:"High-Performance Software Architecture",titleLines:["Our","Services"],description:"We help businesses design, build, and maintain software products with focused engineering teams and practical delivery processes."},portfolio:{title:"Latest Works",ctaLabel:"All Projects",ctaHref:"/case-studies"},approach:{title:"Our Approach",backgroundImage:"/assets/img/root/service-bubble.png"},partners:{title:"ZiniSoft Ltd. Co. Partners"},testimonial:{backgroundImage:"/assets/img/about-us-testimonial-background.png",quoteImage:"/assets/img/root/quote.png"},awards:{titleLines:["Our","Awards"]}},services:[{id:11,icon:"lnil lnil-cup",titlePart1:"Software",titlePart2:"Development",descriptions:"Custom web, mobile, and backend systems built around your business workflow."},{id:12,icon:"lnil lnil-website",titlePart1:"Web",titlePart2:"Applications",descriptions:"Responsive, maintainable web apps using modern frontend and backend stacks."},{id:13,icon:"lnil lnil-display-alt",titlePart1:"UI/UX",titlePart2:"Implementation",descriptions:"Practical interface development with attention to usability, speed, and consistency."},{id:14,icon:"lnil lnil-target",titlePart1:"Maintenance",titlePart2:"Support",descriptions:"Ongoing improvement, bug fixing, monitoring, and technical support for live products."}],portfolio:[{id:1,img:"/assets/img/portfolio/work-1.png",categorie:"Web Application",title:"Business Dashboard"},{id:2,img:"/assets/img/portfolio/work-2.png",categorie:"Mobile Product",title:"Customer App"},{id:3,img:"/assets/img/portfolio/work-3.png",categorie:"Ecommerce",title:"Online Store"},{id:4,img:"/assets/img/portfolio/work-4.png",categorie:"Automation",title:"Internal Workflow"},{id:5,img:"/assets/img/portfolio/work-5.png",categorie:"Platform",title:"SaaS Portal"}],approach:[{subTitle:"One",title:"Discover",descriptions:"We clarify requirements, technical constraints, user flows, and delivery priorities before implementation.",delayAnimation:"0"},{subTitle:"Two",title:"Design",descriptions:"We architect scalable database schemas, high-performance API structures, and intuitive user experiences.",delayAnimation:"100"},{subTitle:"Three",title:"Build",descriptions:"We develop in focused iterations, keeping the codebase maintainable and the delivery path visible.",delayAnimation:"200"},{subTitle:"Four",title:"Test",descriptions:"We run automated unit tests, end-to-end integration audits, and performance checks to guarantee reliability.",delayAnimation:"300"},{subTitle:"Five",title:"Deploy",descriptions:"We configure CI/CD pipelines, containerize applications, and roll out features smoothly across environments.",delayAnimation:"400"},{subTitle:"Six",title:"Improve",descriptions:"We measure telemetry, maintain system uptime, and continuously refine the product so it stays useful.",delayAnimation:"500"}],partners:[{delayAnimation:"0",hoverBg:"#fcf8f4",imgHeight:"85px",imgName:"image-1",title:"Client One"},{delayAnimation:"100",hoverBg:"#f3f7fc",imgHeight:"78px",imgName:"image-2",title:"Client Two"},{delayAnimation:"200",hoverBg:"#f9fcf3",imgHeight:"90px",imgName:"image-3",title:"Client Three"},{delayAnimation:"300",hoverBg:"#f9f9f9",imgHeight:"90px",imgName:"image-4",title:"Client Four"},{delayAnimation:"400",hoverBg:"#fdf4fb",imgHeight:"62px",imgName:"image-5",title:"Client Five"},{delayAnimation:"500",hoverBg:"#fdf4fb",imgHeight:"77px",imgName:"image-6",title:"Client Six"},{delayAnimation:"500",hoverBg:"#fdf4fb",imgHeight:"77px",imgName:"image-7",title:"Client Six"}],counters:[{startCount:"0",endCount:"10",metaText1:"YEARS OF",metaText2:"EXPERIENCE",animationDelay:"0"},{startCount:"0",endCount:"120",metaText1:"DELIVERED",metaText2:"PROJECTS",animationDelay:"100"},{startCount:"0",endCount:"35",metaText1:"ACTIVE",metaText2:"CLIENTS",animationDelay:"200"},{startCount:"0",endCount:"8",metaText1:"TECHNICAL",metaText2:"SPECIALTIES",animationDelay:"300"}],testimonials:[{descriptions:"ZiniSoft helped us move from unclear requirements to a stable product release with a very practical engineering process.",name:"Client Representative",designation:"Product Owner"},{descriptions:"The team communicates clearly, ships consistently, and understands how to keep software maintainable after launch.",name:"Client Representative",designation:"Operations Manager"}],awards:[{date:"2024",img:"logo-4",delayAnimation:"0",awardList:[{title:"Long-term Delivery Partner",subTitle:"Software outsourcing collaboration"},{title:"Reliable Support Team",subTitle:"Maintenance and production support"}]},{date:"2023",img:"logo-2",delayAnimation:"100",awardList:[{title:"Product Engineering",subTitle:"Web and mobile application delivery"},{title:"Business Automation",subTitle:"Internal tool development"}]}],blog:[{id:1,img:"/assets/img/home/default/post-1.png",cat:"Development",date:"Jan 15, 2026",title:"How to plan a practical software outsourcing project",description:"A short guide to aligning scope, communication, timeline, and technical ownership before development starts."},{id:2,img:"/assets/img/home/default/post-2.png",cat:"Engineering",date:"Jan 22, 2026",title:"Keeping web applications maintainable after launch",description:"The habits that help teams reduce regressions and keep improving live products with less friction."},{id:3,img:"/assets/img/home/default/post-3.png",cat:"Business",date:"Jan 29, 2026",title:"When custom software is better than manual operations",description:"Signals that your workflow is ready for automation and what to prepare before building internal tools."}]}},69221:function(e,t,i){i.d(t,{$U:function(){return o},il:function(){return s}});let a={name:"ZiniSoft Ltd. Co.",url:"https://zinisoft.net",logo:"https://zinisoft.net/assets/img/root/logo-dark.png",description:"ZiniSoft Ltd. Co specializes in AI engineering and software system architecture, delivering high-performance, scalable B2B enterprise software applications.",socialLinks:["https://www.facebook.com/zinisoft","https://www.linkedin.com/company/zinisoft"]},n={type:"website",siteName:a.name,locale:"en_US",image:{url:"".concat(a.url,"/assets/img/root/og-default.png"),width:1200,height:630,alt:"".concat(a.name," - AI & Software Systems")}};function o(e){let{title:t,description:i,path:o="",ogImage:s}=e,r=o?"".concat(a.url).concat(o.startsWith("/")?o:"/".concat(o)):a.url,l=s?{url:s,width:1200,height:630,alt:t}:n.image;return{title:t,description:i,metadataBase:new URL(a.url),alternates:{canonical:r},openGraph:{title:t,description:i,url:r,siteName:n.siteName,locale:n.locale,type:n.type,images:[l]},twitter:{card:"summary_large_image",title:t,description:i,images:[l.url]}}}function s(){return{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"".concat(a.url,"/#organization"),name:a.name,url:a.url,logo:{"@type":"ImageObject",url:a.logo},sameAs:a.socialLinks},{"@type":"WebSite","@id":"".concat(a.url,"/#website"),url:a.url,name:a.name,description:a.description,publisher:{"@id":"".concat(a.url,"/#organization")}}]}}}}]);																		

Youez - 2016 - github.com/yon3zu
LinuXploit