1import{z as fe,u as Be,F as at,r as Ae,j as r,S as ot,m as P,B as xe,C as E,ak as Q,v as ee,h as lt,i as ut,k as dt,l as ct,n as O,am as mt,aw as gt,U as pt,s as ft,A as ht,I as yt}from"./index-D9TfgXcl.js";import{u as bt}from"./useMutation-B9XASWHK.js";import{B as xt,D as Nt,E as wt,I as Pt,N as _t,O as St,P as Tt,Z as re,f as It,g as vt,h as jt,i as Ct,j as Bt,k as At,l as Dt,m as Vt,n as qt,p as Ne,q as Mt,r as Ft,v as zt,w as Lt,x as Ut,y as Et,z as Qt,A as Ot,C as $t,G as Kt,H as Zt,J as Gt,K as Rt,L as Xt,M as Jt,Q as kt,R as Ht,S as Wt,T as Yt,U as en,V as tn,W as nn,X as sn,Y as rn,_ as an,$ as on,a0 as ln,a1 as un,a2 as dn,a3 as cn,a4 as mn,a5 as te,a6 as De,a7 as gn,a8 as Ve,a9 as pn,aa as qe,ab as fn,ac as hn,ad as yn,ae as bn,af as we,ag as xn,ah as Nn,ai as wn,aj as Pn,ak as _n,al as Sn,am as Tn,an as In,ao as vn,ap as jn,aq as Cn,ar as Bn,as as An,at as Dn,au as Vn,av as qn,aw as Mn,ax as Fn,ay as Me,az as zn,aA as Fe,o as ze,aB as Ln,aC as Un,aD as En,aE as Qn,aF as On,aG as $n,aH as Kn,aI as Zn,aJ as Gn,aK as Le,aL as Rn,aM as Xn,aN as Jn,s as F,aO as kn,aP as Hn,aQ as Wn,aR as he,aS as Yn,aT as es,aU as ts,u as ns,F as ss,a as R,b as X,e as J,c as k,d as H,t as rs}from"./form-BFiPQ_Dk.js";import{I as ie}from"./input-Cx_CU4-B.js";import{T as is}from"./textarea-BJKI4bgq.js";import{M as Pe}from"./mail-BuJTN_UZ.js";import{C as as}from"./circle-check-big-DQd6IyLu.js";import{G as os}from"./graduation-cap-CIvxc8zm.js";import{M as ls}from"./message-square-R4ggttiZ.js";import"./label-UfAQQId2.js";const us=fe("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);const ds=fe("Handshake",[["path",{d:"m11 17 2 2a1 1 0 1 0 3-3",key:"efffak"}],["path",{d:"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",key:"9pr0kb"}],["path",{d:"m21 3 1 11h-2",key:"1tisrp"}],["path",{d:"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3",key:"1uvwmv"}],["path",{d:"M3 4h8",key:"1ep09j"}]]);const cs=fe("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),ms=Object.freeze(Object.defineProperty({__proto__:null,BRAND:xt,DIRTY:Nt,EMPTY_PATH:wt,INVALID:Pt,NEVER:_t,OK:St,ParseStatus:Tt,Schema:re,ZodAny:It,ZodArray:vt,ZodBigInt:jt,ZodBoolean:Ct,ZodBranded:Bt,ZodCatch:At,ZodDate:Dt,ZodDefault:Vt,ZodDiscriminatedUnion:qt,ZodEffects:Ne,ZodEnum:Mt,ZodError:Ft,get ZodFirstPartyTypeKind(){return zt},ZodFunction:Lt,ZodIntersection:Ut,ZodIssueCode:Et,ZodLazy:Qt,ZodLiteral:Ot,ZodMap:$t,ZodNaN:Kt,ZodNativeEnum:Zt,ZodNever:Gt,ZodNull:Rt,ZodNullable:Xt,ZodNumber:Jt,ZodObject:kt,ZodOptional:Ht,ZodParsedType:Wt,ZodPipeline:Yt,ZodPromise:en,ZodReadonly:tn,ZodRecord:nn,ZodSchema:re,ZodSet:sn,ZodString:rn,ZodSymbol:an,ZodTransformer:Ne,ZodTuple:on,ZodType:re,ZodUndefined:ln,ZodUnion:un,ZodUnknown:dn,ZodVoid:cn,addIssueToContext:mn,any:te,array:De,bigint:gn,boolean:Ve,coerce:pn,custom:qe,date:fn,datetimeRegex:hn,defaultErrorMap:yn,discriminatedUnion:bn,effect:we,enum:xn,function:Nn,getErrorMap:wn,getParsedType:Pn,instanceof:_n,intersection:Sn,isAborted:Tn,isAsync:In,isDirty:vn,isValid:jn,late:Cn,lazy:Bn,literal:An,makeIssue:Dn,map:Vn,nan:qn,nativeEnum:Mn,never:Fn,null:Me,nullable:zn,number:Fe,object:ze,get objectUtil(){return Ln},oboolean:Un,onumber:En,optional:Qn,ostring:On,pipeline:$n,preprocess:Kn,promise:Zn,quotelessJson:Gn,record:Le,set:Rn,setErrorMap:Xn,strictObject:Jn,string:F,symbol:kn,transformer:we,tuple:Hn,undefined:Wn,union:he,unknown:Yn,get util(){return es},void:ts},Symbol.toStringTag,{value:"Module"})),a=Symbol.for("drizzle:entityKind");function I(t,e){if(!t||typeof t!="object")return!1;if(t instanceof e)return!0;
1if(!Object.prototype.hasOwnProperty.call(e,a))throw new Error(`Class "${e.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let n=Object.getPrototypeOf(t).constructor;if(n)for(;n;){if(a in n&&n[a]===e[a])return!0;n=Object.getPrototypeOf(n)}return!1}class W{constructor(e,n){this.table=e,this.config=n,this.name=n.name,this.keyAsName=n.keyAsName,this.notNull=n.notNull,this.default=n.default,this.defaultFn=n.defaultFn,this.onUpdateFn=n.onUpdateFn,this.hasDefault=n.hasDefault,this.primary=n.primaryKey,this.isUnique=n.isUnique,this.uniqueName=n.uniqueName,this.uniqueType=n.uniqueType,this.dataType=n.dataType,this.columnType=n.columnType,this.generated=n.generated,this.generatedIdentity=n.generatedIdentity}static[a]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class gs{static[a]="ColumnBuilder";config;constructor(e,n,s){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:n,columnType:s,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){this.config.name===""&&(this.config.name=e)}}const K=Symbol.for("drizzle:Name");class ps{static[a]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,n){this.reference=()=>{const{name:s,columns:i,foreignColumns:o}=e();return{name:s,columns:i,foreignTable:o[0].table,foreignColumns:o}},n&&(this._onUpdate=n.onUpdate,this._onDelete=n.onDelete)}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new fs(e,this)}}class fs{constructor(e,n){this.table=e,this.reference=n.reference,this.onUpdate=n._onUpdate,this.onDelete=n._onDelete}static[a]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:e,columns:n,foreignColumns:s}=this.reference(),i=n.map(h=>h.name),o=s.map(h=>h.name),c=[this.table[K],...i,s[0].table[K],...o];return e??`${c.join("_")}_fk`}}function hs(t,...e){return t(...e)}function ys(t,e){return`${t[K]}_${e.join("_")}_unique`}function _e(t,e,n){for(let s=e;s<t.length;s++){const i=t[s];if(i==="\\"){s++;continue}if(i==='"')return[t.slice(e,s).replace(/\\/g,""),s+1];if(!n&&(i===","||i==="}"))return[t.slice(e,s).replace(/\\/g,""),s]}return[t.slice(e).replace(/\\/g,""),t.length]}function Ue(t,e=0){const n=[];let s=e,i=!1;for(;s<t.length;){const o=t[s];if(o===","){(i||s===e)&&n.push(""),i=!0,s++;continue}if(i=!1,o==="\\"){s+=2;continue}if(o==='"'){const[u,b]=_e(t,s+1,!0);n.push(u),s=b;continue}if(o==="}")return[n,s+1];if(o==="{"){const[u,b]=Ue(t,s+1);n.push(u),s=b;continue}const[c,h]=_e(t,s,!1);n.push(c),s=h}return[n,s]}function bs(t){const[e]=Ue(t,1);return e}function Ee(t){return`{${t.map(e=>Array.isArray(e)?Ee(e):typeof e=="string"?`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${e}`).join(",")}}`}class f extends gs{foreignKeyConfigs=[];static[a]="PgColumnBuilder";array(e){return new Ns(this.config.name,this,e)}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e,n){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=n?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:s,actions:i})=>hs((o,c)=>{const h=new ps(()=>{const u=o();return{columns:[e],foreignColumns:[u]}});
1return c.onUpdate&&h.onUpdate(c.onUpdate),c.onDelete&&h.onDelete(c.onDelete),h.build(n)},s,i))}buildExtraConfigColumn(e){return new xs(e,this.config)}}class g extends W{constructor(e,n){n.uniqueName||(n.uniqueName=ys(e,[n.name])),super(e,n),this.table=e}static[a]="PgColumn"}class xs extends g{static[a]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}}class ae{static[a]="IndexedColumn";constructor(e,n,s,i){this.name=e,this.keyAsName=n,this.type=s,this.indexConfig=i}name;keyAsName;type;indexConfig}class Ns extends f{static[a]="PgArrayBuilder";constructor(e,n,s){super(e,"array","PgArray"),this.config.baseBuilder=n,this.config.size=s}build(e){const n=this.config.baseBuilder.build(e);return new ye(e,this.config,n)}}class ye extends g{constructor(e,n,s,i){super(e,n),this.baseColumn=s,this.range=i,this.size=n.size}size;static[a]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size=="number"?this.size:""}]`}mapFromDriverValue(e){return typeof e=="string"&&(e=bs(e)),e.map(n=>this.baseColumn.mapFromDriverValue(n))}mapToDriverValue(e,n=!1){const s=e.map(i=>i===null?null:I(this.baseColumn,ye)?this.baseColumn.mapToDriverValue(i,!0):this.baseColumn.mapToDriverValue(i));return n?s:Ee(s)}}const Se=Symbol.for("drizzle:isPgEnum");function ws(t){return!!t&&typeof t=="function"&&Se in t&&t[Se]===!0}class Qe{static[a]="Subquery";constructor(e,n,s,i=!1){this._={brand:"Subquery",sql:e,selectedFields:n,alias:s,isWith:i}}}const Ps={startActiveSpan(t,e){return e()}},Z=Symbol.for("drizzle:ViewBaseConfig"),oe=Symbol.for("drizzle:Schema"),Te=Symbol.for("drizzle:Columns"),Ie=Symbol.for("drizzle:ExtraConfigColumns"),le=Symbol.for("drizzle:OriginalName"),ue=Symbol.for("drizzle:BaseName"),ne=Symbol.for("drizzle:IsAlias"),ve=Symbol.for("drizzle:ExtraConfigBuilder"),Oe=Symbol.for("drizzle:IsDrizzleTable");class q{static[a]="Table";static Symbol={Name:K,Schema:oe,OriginalName:le,Columns:Te,ExtraConfigColumns:Ie,BaseName:ue,IsAlias:ne,ExtraConfigBuilder:ve};[K];[le];[oe];[Te];[Ie];[ue];[ne]=!1;[Oe]=!0;[ve]=void 0;constructor(e,n,s){this[K]=this[le]=e,this[oe]=n,this[ue]=s}}function $e(t){return typeof t=="object"&&t!==null&&Oe in t}function _s(t){return t!=null&&typeof t.getSQL=="function"}function Ss(t){const e={sql:"",params:[]};for(const n of t)e.sql+=n.sql,e.params.push(...n.params),n.typings?.length&&(e.typings||(e.typings=[]),e.typings.push(...n.typings));return e}class M{static[a]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new w([this])}}class w{constructor(e){this.queryChunks=e}static[a]="SQL";decoder=Ke;shouldInlineParams=!1;append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return Ps.startActiveSpan("drizzle.buildSQL",n=>{const s=this.buildQueryFromSourceParams(this.queryChunks,e);return n?.setAttributes({"drizzle.query.text":s.sql,"drizzle.query.params":JSON.stringify(s.params)}),s})}buildQueryFromSourceParams(e,n){const s=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:i,escapeName:o,escapeParam:c,prepareTyping:h,inlineParams:u,paramStartIndex:b}=s;return Ss(e.map(l=>{if(I(l,M))return{sql:l.value.join(""),params:[]};if(I(l,me))return{sql:o(l.value),params:[]};if(l===void 0)return{sql:"",params:[]};if(Array.isArray(l)){const x=[new M("(")];for(const[S,U]of l.entries())x.push(U),S<l.length-1&&x.push(new M(", "));return x.push(new M(")")),this.buildQueryFromSourceParams(x,s)}if(I(l,w))return this.buildQueryFromSourceParams(l.queryChunks,{...s,inlineParams:u||l.shouldInlineParams});if(I(l,q)){const x=l[q.Symbol.Schema],S=l[q.Symbol.Name];return{sql:x===void 0||l[ne]?o(S):o(x)+"."+o(S),params:[]}}if(I(l,W)){const x=i.getColumnCasing(l);if(n.invokeSource==="indexes")return{sql:o(x),params:[]};const S=l.table[q.Symbol.Schema];return{sql:l.table[ne]||S===void 0?o(l.table[q.Symbol.Name])+"."+o(x):o(S)+"."+o(l.table[q.Symbol.Name])+"."+o(x),params:[]}}if(I(l,Ts)){const x=l[Z].schema,S=l[Z].name;return{sql:x===void 0||l[Z].isAlias?o(S):o(x)+"."+o(S),params:[]}}if(I(l,Ge)){if(I(l.value,ge))return{sql:c(b.value++,l),params:[l],typings:["none"]};const x=l.value===null?null:l.encoder.mapToDriverValue(l.value);if(I(x,w))return this.buildQueryFromSourceParams([x],s);if(u)return{sql:this.mapInlineParam(x,s),params:[]};let S=["none"];return h&&(S=[h(l.encoder)]),{sql:c(b.value++,x),params:[x],typings:S}}return I(l,ge)?{sql:c(b.value++,l),params:[l],typings:["none"]}:I(l,w.Aliased)&&l.fieldAlias!==void 0?{sql:o(l.fieldAlias),params:[]}:I(l,Qe)?l._.isWith?{sql:o(l._.alias),params:[]}:this.buildQueryFromSourceParams([new M("("),l._.sql,new M(") "),new me(l._.alias)],s):ws(l)?l.schema?{sql:o(l.schema)+"."+o(l.enumName),params:[]}:{sql:o(l.enumName),params:[]}:_s(l)?l.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([l.getSQL()],s):this.buildQueryFromSourceParams([new M("("),l.getSQL(),new M(")")],s):u?{sql:this.mapInlineParam(l,s),params:[]}:{sql:c(b.value++,l),params:[l],typings:["none"]}}))}mapInlineParam(e,{escapeString:n}){if(e===null)return"null";if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="string")return n(e);if(typeof e=="object"){const s=e.toString();return n(s==="[object Object]"?JSON.stringify(e):s)}throw new Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return e===void 0?this:new w.Aliased(this,e)}mapWith(e){return this.decoder=typeof e=="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class me{constructor(e){this.value=e}static[a]="Name";brand;getSQL(){return new w([this])}}const Ke={mapFromDriverValue:t=>t},Ze={mapToDriverValue:t=>t};({...Ke,...Ze});class Ge{constructor(e,n=Ze){this.value=e,this.encoder=n}static[a]="Param";brand;getSQL(){return new w([this])}}function p(t,...e){const n=[];(e.length>0||t.length>0&&t[0]!=="")&&n.push(new M(t[0]));for(const[s,i]of e.entries())n.push(i,new M(t[s+1]));return new w(n)}(t=>{function e(){return new w([])}t.empty=e;function n(u){return new w(u)}t.fromList=n;function s(u){return new w([new M(u)])}t.raw=s;function i(u,b){const l=[];for(const[x,S]of u.entries())x>0&&b!==void 0&&l.push(b),l.push(S);return new w(l)}t.join=i;function o(u){return new me(u)}t.identifier=o;function c(u){return new ge(u)}t.placeholder=c;function h(u,b){return new Ge(u,b)}t.param=h})(p||(p={}));(t=>{class e{constructor(s,i){this.sql=s,this.fieldAlias=i}static[a]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new e(this.sql,this.fieldAlias)}}t.Aliased=e})(w||(w={}));class ge{constructor(e){this.name=e}static[a]="Placeholder";getSQL(){return new w([this])}}const Re=Symbol.for("drizzle:IsDrizzleView");class Ts{static[a]="View";[Z];[Re]=!0;
1constructor({name:e,schema:n,selectedFields:s,query:i}){this[Z]={name:e,originalName:e,schema:n,selectedFields:s,query:i,isExisting:!i,isAlias:!1}}getSQL(){return new w([this])}}function Is(t){return typeof t=="object"&&t!==null&&Re in t}W.prototype.getSQL=function(){return new w([this])};q.prototype.getSQL=function(){return new w([this])};Qe.prototype.getSQL=function(){return new w([this])};function vs(t){return t[q.Symbol.Columns]}function js(t){return t[Z].selectedFields}function C(t,e){return{name:typeof t=="string"&&t.length>0?t:"",config:typeof t=="object"?t:e}}class se extends f{static[a]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(e){if(e){const{name:n,...s}=e;this.config.generatedIdentity={type:"always",sequenceName:n,sequenceOptions:s}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(e){if(e){const{name:n,...s}=e;this.config.generatedIdentity={type:"byDefault",sequenceName:n,sequenceOptions:s}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class Cs extends se{static[a]="PgBigInt53Builder";constructor(e){super(e,"number","PgBigInt53")}build(e){return new Bs(e,this.config)}}class Bs extends g{static[a]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}}class As extends se{static[a]="PgBigInt64Builder";constructor(e){super(e,"bigint","PgBigInt64")}build(e){return new Ds(e,this.config)}}class Ds extends g{static[a]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(e){return BigInt(e)}}function Vs(t,e){const{name:n,config:s}=C(t,e);return s.mode==="number"?new Cs(n):new As(n)}class qs extends f{static[a]="PgBigSerial53Builder";constructor(e){super(e,"number","PgBigSerial53"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Ms(e,this.config)}}class Ms extends g{static[a]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(e){return typeof e=="number"?e:Number(e)}}class Fs extends f{static[a]="PgBigSerial64Builder";constructor(e){super(e,"bigint","PgBigSerial64"),this.config.hasDefault=!0}build(e){return new zs(e,this.config)}}class zs extends g{static[a]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(e){return BigInt(e)}}function Ls(t,e){const{name:n,config:s}=C(t,e);return s.mode==="number"?new qs(n):new Fs(n)}class Us extends f{static[a]="PgBooleanBuilder";constructor(e){super(e,"boolean","PgBoolean")}build(e){return new Es(e,this.config)}}class Es extends g{static[a]="PgBoolean";getSQLType(){return"boolean"}}function z(t){return new Us(t??"")}class Qs extends f{static[a]="PgCharBuilder";constructor(e,n){super(e,"string","PgChar"),this.config.length=n.length,this.config.enumValues=n.enum}build(e){return new Os(e,this.config)}}class Os extends g{static[a]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function $s(t,e={}){const{name:n,config:s}=C(t,e);return new Qs(n,s)}class Ks extends f{static[a]="PgCidrBuilder";constructor(e){super(e,"string","PgCidr")}build(e){return new Zs(e,this.config)}}class Zs extends g{static[a]="PgCidr";getSQLType(){return"cidr"}}function Gs(t){return new Ks(t??"")}class Rs extends f{static[a]="PgCustomColumnBuilder";constructor(e,n,s){super(e,"custom","PgCustomColumn"),this.config.fieldConfig=n,this.config.customTypeParams=s}build(e){return new Xs(e,this.config)}}class Xs extends g{static[a]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(e,n){super(e,n),this.sqlName=n.customTypeParams.dataType(n.fieldConfig),this.mapTo=n.customTypeParams.toDriver,this.mapFrom=n.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom=="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo=="function"?this.mapTo(e):e}}function Js(t){return(e,n)=>{const{name:s,config:i}=C(e,n);return new Rs(s,i,t)}}class Y extends f{static[a]="PgDateColumnBaseBuilder";defaultNow(){return this.default(p`now()`)}}class ks extends Y{static[a]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new Hs(e,this.config)}}class Hs extends g{static[a]="PgDate";
1getSQLType(){return"date"}mapFromDriverValue(e){return new Date(e)}mapToDriverValue(e){return e.toISOString()}}class Ws extends Y{static[a]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new Ys(e,this.config)}}class Ys extends g{static[a]="PgDateString";getSQLType(){return"date"}}function er(t,e){const{name:n,config:s}=C(t,e);return s?.mode==="date"?new ks(n):new Ws(n)}class tr extends f{static[a]="PgDoublePrecisionBuilder";constructor(e){super(e,"number","PgDoublePrecision")}build(e){return new nr(e,this.config)}}class nr extends g{static[a]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(e){return typeof e=="string"?Number.parseFloat(e):e}}function sr(t){return new tr(t??"")}class rr extends f{static[a]="PgInetBuilder";constructor(e){super(e,"string","PgInet")}build(e){return new ir(e,this.config)}}class ir extends g{static[a]="PgInet";getSQLType(){return"inet"}}function ar(t){return new rr(t??"")}class or extends se{static[a]="PgIntegerBuilder";constructor(e){super(e,"number","PgInteger")}build(e){return new lr(e,this.config)}}class lr extends g{static[a]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(e){return typeof e=="string"?Number.parseInt(e):e}}function d(t){return new or(t??"")}class ur extends f{static[a]="PgIntervalBuilder";constructor(e,n){super(e,"string","PgInterval"),this.config.intervalConfig=n}build(e){return new dr(e,this.config)}}class dr extends g{static[a]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const e=this.fields?` ${this.fields}`:"",n=this.precision?`(${this.precision})`:"";return`interval${e}${n}`}}function cr(t,e={}){const{name:n,config:s}=C(t,e);return new ur(n,s)}class mr extends f{static[a]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new gr(e,this.config)}}class gr extends g{static[a]="PgJson";constructor(e,n){super(e,n)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}}function pr(t){return new mr(t??"")}class fr extends f{static[a]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new hr(e,this.config)}}class hr extends g{static[a]="PgJsonb";constructor(e,n){super(e,n)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}}function v(t){return new fr(t??"")}class yr extends f{static[a]="PgLineBuilder";constructor(e){super(e,"array","PgLine")}build(e){return new br(e,this.config)}}class br extends g{static[a]="PgLine";getSQLType(){return"line"}mapFromDriverValue(e){const[n,s,i]=e.slice(1,-1).split(",");return[Number.parseFloat(n),Number.parseFloat(s),Number.parseFloat(i)]}mapToDriverValue(e){return`{${e[0]},${e[1]},${e[2]}}`}}class xr extends f{static[a]="PgLineABCBuilder";constructor(e){super(e,"json","PgLineABC")}build(e){return new Nr(e,this.config)}}class Nr extends g{static[a]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(e){const[n,s,i]=e.slice(1,-1).split(",");return{a:Number.parseFloat(n),b:Number.parseFloat(s),c:Number.parseFloat(i)}}mapToDriverValue(e){return`{${e.a},${e.b},${e.c}}`}}function wr(t,e){const{name:n,config:s}=C(t,e);return!s?.mode||s.mode==="tuple"?new yr(n):new xr(n)}class Pr extends f{static[a]="PgMacaddrBuilder";constructor(e){super(e,"string","PgMacaddr")}build(e){return new _r(e,this.config)}}class _r extends g{static[a]="PgMacaddr";getSQLType(){return"macaddr"}}function Sr(t){return new Pr(t??"")}class Tr extends f{static[a]="PgMacaddr8Builder";constructor(e){super(e,"string","PgMacaddr8")}build(e){return new Ir(e,this.config)}}class Ir extends g{static[a]="PgMacaddr8";getSQLType(){return"macaddr8"}}function vr(t){return new Tr(t??"")}class jr extends f{static[a]="PgNumericBuilder";constructor(e,n,s){super(e,"string","PgNumeric"),this.config.precision=n,this.config.scale=s}build(e){return new Cr(e,this.config)}}class Cr extends g{static[a]="PgNumeric";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.scale}getSQLType(){return this.precision!==void 0&&this.scale!==void 0?`numeric(${this.precision}, ${this.scale})`:this.precision===void 0?"numeric":`numeric(${this.precision})`}}function Br(t,e){const{name:n,config:s}=C(t,e);return new jr(n,s?.precision,s?.scale)}class Ar extends f{static[a]="PgPointTupleBuilder";constructor(e){super(e,"array","PgPointTuple")}build(e){return new Dr(e,this.config)}}class Dr extends g{static[a]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(e){if(typeof e=="string"){const[n,s]=e.slice(1,-1).split(",");return[Number.parseFloat(n),Number.parseFloat(s)]}return[e.x,e.y]}mapToDriverValue(e){return`(${e[0]},${e[1]})`}}class Vr extends f{static[a]="PgPointObjectBuilder";constructor(e){super(e,"json","PgPointObject")}build(e){return new qr(e,this.config)}}class qr extends g{static[a]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(e){if(typeof e=="string"){const[n,s]=e.slice(1,-1).split(",");return{x:Number.parseFloat(n),y:Number.parseFloat(s)}}return e}mapToDriverValue(e){return`(${e.x},${e.y})`}}function Mr(t,e){const{name:n,config:s}=C(t,e);return!s?.mode||s.mode==="tuple"?new Ar(n):new Vr(n)}function Fr(t){const e=[];for(let n=0;n<t.length;n+=2)e.push(Number.parseInt(t.slice(n,n+2),16));return new Uint8Array(e)}function je(t,e){const n=new ArrayBuffer(8),s=new DataView(n);for(let i=0;i<8;i++)s.setUint8(i,t[e+i]);return s.getFloat64(0,!0)}function Xe(t){const e=Fr(t);let n=0;const s=e[n];n+=1;const i=new DataView(e.buffer),o=i.getUint32(n,s===1);if(n+=4,o&536870912&&(i.getUint32(n,s===1),n+=4),(o&65535)===1){const c=je(e,n);n+=8;const h=je(e,n);return n+=8,[c,h]}throw new Error("Unsupported geometry type")}class zr extends f{static[a]="PgGeometryBuilder";constructor(e){super(e,"array","PgGeometry")}build(e){return new Lr(e,this.config)}}class Lr extends g{static[a]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){return Xe(e)}mapToDriverValue(e){return`point(${e[0]} ${e[1]})`}}class Ur extends f{static[a]="PgGeometryObjectBuilder";constructor(e){super(e,"json","PgGeometryObject")}build(e){return new Er(e,this.config)}}class Er extends g{static[a]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(e){const n=Xe(e);return{x:n[0],y:n[1]}}mapToDriverValue(e){return`point(${e.x} ${e.y})`}}function Qr(t,e){const{name:n,config:s}=C(t,e);return!s?.mode||s.mode==="tuple"?new zr(n):new Ur(n)}class Or extends f{static[a]="PgRealBuilder";constructor(e,n){super(e,"number","PgReal"),this.config.length=n}build(e){return new $r(e,this.config)}}class $r extends g{static[a]="PgReal";constructor(e,n){super(e,n)}getSQLType(){return"real"}mapFromDriverValue=e=>typeof e=="string"?Number.parseFloat(e):e}function Kr(t){return new Or(t??"")}class Zr extends f{static[a]="PgSerialBuilder";constructor(e){super(e,"number","PgSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Gr(e,this.config)}}class Gr extends g{static[a]="PgSerial";
1getSQLType(){return"serial"}}function D(t){return new Zr(t??"")}class Rr extends se{static[a]="PgSmallIntBuilder";constructor(e){super(e,"number","PgSmallInt")}build(e){return new Xr(e,this.config)}}class Xr extends g{static[a]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=e=>typeof e=="string"?Number(e):e}function Jr(t){return new Rr(t??"")}class kr extends f{static[a]="PgSmallSerialBuilder";constructor(e){super(e,"number","PgSmallSerial"),this.config.hasDefault=!0,this.config.notNull=!0}build(e){return new Hr(e,this.config)}}class Hr extends g{static[a]="PgSmallSerial";getSQLType(){return"smallserial"}}function Wr(t){return new kr(t??"")}class Yr extends f{static[a]="PgTextBuilder";constructor(e,n){super(e,"string","PgText"),this.config.enumValues=n.enum}build(e){return new ei(e,this.config)}}class ei extends g{static[a]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function m(t,e={}){const{name:n,config:s}=C(t,e);return new Yr(n,s)}class ti extends Y{constructor(e,n,s){super(e,"string","PgTime"),this.withTimezone=n,this.precision=s,this.config.withTimezone=n,this.config.precision=s}static[a]="PgTimeBuilder";build(e){return new ni(e,this.config)}}class ni extends g{static[a]="PgTime";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function si(t,e={}){const{name:n,config:s}=C(t,e);return new ti(n,s.withTimezone??!1,s.precision)}class ri extends Y{static[a]="PgTimestampBuilder";constructor(e,n,s){super(e,"date","PgTimestamp"),this.config.withTimezone=n,this.config.precision=s}build(e){return new ii(e,this.config)}}class ii extends g{static[a]="PgTimestamp";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=e=>new Date(this.withTimezone?e:e+"+0000");mapToDriverValue=e=>e.toISOString()}class ai extends Y{static[a]="PgTimestampStringBuilder";constructor(e,n,s){super(e,"string","PgTimestampString"),this.config.withTimezone=n,this.config.precision=s}build(e){return new oi(e,this.config)}}class oi extends g{static[a]="PgTimestampString";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function y(t,e={}){const{name:n,config:s}=C(t,e);return s?.mode==="string"?new ai(n,s.withTimezone??!1,s.precision):new ri(n,s?.withTimezone??!1,s?.precision)}class li extends f{static[a]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(p`gen_random_uuid()`)}build(e){return new ui(e,this.config)}}class ui extends g{static[a]="PgUUID";getSQLType(){return"uuid"}}function di(t){return new li(t??"")}class ci extends f{static[a]="PgVarcharBuilder";constructor(e,n){super(e,"string","PgVarchar"),this.config.length=n.length,this.config.enumValues=n.enum}build(e){return new mi(e,this.config)}}class mi extends g{static[a]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function V(t,e={}){const{name:n,config:s}=C(t,e);return new ci(n,s)}class gi extends f{static[a]="PgBinaryVectorBuilder";constructor(e,n){super(e,"string","PgBinaryVector"),this.config.dimensions=n.dimensions}build(e){return new pi(e,this.config)}}class pi extends g{static[a]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function fi(t,e){const{name:n,config:s}=C(t,e);return new gi(n,s)}class hi extends f{static[a]="PgHalfVectorBuilder";constructor(e,n){super(e,"array","PgHalfVector"),this.config.dimensions=n.dimensions}build(e){return new yi(e,this.config)}}class yi extends g{static[a]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(n=>Number.parseFloat(n))}}function bi(t,e){const{name:n,config:s}=C(t,e);return new hi(n,s)}class xi extends f{static[a]="PgSparseVectorBuilder";constructor(e,n){super(e,"string","PgSparseVector"),this.config.dimensions=n.dimensions}build(e){return new Ni(e,this.config)}}class Ni extends g{static[a]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}
1function wi(t,e){const{name:n,config:s}=C(t,e);return new xi(n,s)}class Pi extends f{static[a]="PgVectorBuilder";constructor(e,n){super(e,"array","PgVector"),this.config.dimensions=n.dimensions}build(e){return new _i(e,this.config)}}class _i extends g{static[a]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){return e.slice(1,-1).split(",").map(n=>Number.parseFloat(n))}}function Si(t,e){const{name:n,config:s}=C(t,e);return new Pi(n,s)}function Ti(){return{bigint:Vs,bigserial:Ls,boolean:z,char:$s,cidr:Gs,customType:Js,date:er,doublePrecision:sr,inet:ar,integer:d,interval:cr,json:pr,jsonb:v,line:wr,macaddr:Sr,macaddr8:vr,numeric:Br,point:Mr,geometry:Qr,real:Kr,serial:D,smallint:Jr,smallserial:Wr,text:m,time:si,timestamp:y,uuid:di,varchar:V,bit:fi,halfvec:bi,sparsevec:wi,vector:Si}}const pe=Symbol.for("drizzle:PgInlineForeignKeys"),Ce=Symbol.for("drizzle:EnableRLS");class de extends q{static[a]="PgTable";static Symbol=Object.assign({},q.Symbol,{InlineForeignKeys:pe,EnableRLS:Ce});[pe]=[];[Ce]=!1;[q.Symbol.ExtraConfigBuilder]=void 0}function Ii(t,e,n,s,i=t){const o=new de(t,s,i),c=typeof e=="function"?e(Ti()):e,h=Object.fromEntries(Object.entries(c).map(([l,x])=>{const S=x;S.setName(l);const U=S.build(o);return o[pe].push(...S.buildForeignKeys(U,o)),[l,U]})),u=Object.fromEntries(Object.entries(c).map(([l,x])=>{const S=x;S.setName(l);const U=S.buildExtraConfigColumn(o);return[l,U]})),b=Object.assign(o,h);return b[q.Symbol.Columns]=h,b[q.Symbol.ExtraConfigColumns]=u,n&&(b[de.Symbol.ExtraConfigBuilder]=n),Object.assign(b,{enableRLS:()=>(b[de.Symbol.EnableRLS]=!0,b)})}const j=(t,e,n)=>Ii(t,e,n,void 0);class Je{constructor(e,n){this.unique=e,this.name=n}static[a]="PgIndexBuilderOn";on(...e){return new ce(e.map(n=>{if(I(n,w))return n;n=n;const s=new ae(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=JSON.parse(JSON.stringify(n.defaultConfig)),s}),this.unique,!1,this.name)}onOnly(...e){return new ce(e.map(n=>{if(I(n,w))return n;n=n;const s=new ae(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=n.defaultConfig,s}),this.unique,!0,this.name)}using(e,...n){return new ce(n.map(s=>{if(I(s,w))return s;s=s;const i=new ae(s.name,!!s.keyAsName,s.columnType,s.indexConfig);return s.indexConfig=JSON.parse(JSON.stringify(s.defaultConfig)),i}),this.unique,!0,this.name,e)}}class ce{static[a]="PgIndexBuilder";config;constructor(e,n,s,i,o="btree"){this.config={name:i,columns:e,unique:n,only:s,method:o}}concurrently(){return this.config.concurrently=!0,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new vi(this.config,e)}}class vi{static[a]="PgIndex";config;constructor(e,n){this.config={...e,table:n}}}function N(t){return new Je(!1,t)}function ji(t){return new Je(!0,t)}const _={INT8_MIN:-128,INT8_MAX:127,INT8_UNSIGNED_MAX:255,INT16_MIN:-32768,INT16_MAX:32767,INT16_UNSIGNED_MAX:65535,INT24_MIN:-8388608,INT24_MAX:8388607,INT24_UNSIGNED_MAX:16777215,INT32_MIN:-2147483648,INT32_MAX:2147483647,INT32_UNSIGNED_MAX:4294967295,INT48_MIN:-0x800000000000,INT48_MAX:0x7fffffffffff,INT48_UNSIGNED_MAX:0xffffffffffff,INT64_MIN:-9223372036854775808n,INT64_MAX:9223372036854775807n,INT64_UNSIGNED_MAX:18446744073709551615n};function T(t,e){return e.includes(t.columnType)}function Ci(t){return"enumValues"in t&&Array.isArray(t.enumValues)&&t.enumValues.length>0}const Bi=he([F(),Fe(),Ve(),Me()]),Ai=he([Bi,Le(te()),De(te())]),Di=qe(t=>t instanceof Buffer);function ke(t,e){const n=e?.zodInstance??ms,s=e?.coerce??{};let i;return Ci(t)&&(i=t.enumValues.length?n.enum(t.enumValues):n.string()),i||(T(t,["PgGeometry","PgPointTuple"])?i=n.tuple([n.number(),n.number()]):T(t,["PgGeometryObject","PgPointObject"])?i=n.object({x:n.number(),y:n.number()}):T(t,["PgHalfVector","PgVector"])?(i=n.array(n.number()),i=t.dimensions?i.length(t.dimensions):i):T(t,["PgLine"])?i=n.tuple([n.number(),n.number(),n.number()]):T(t,["PgLineABC"])?i=n.object({a:n.number(),b:n.number(),c:n.number()}):T(t,["PgArray"])?(i=n.array(ke(t.baseColumn,n)),i=t.size?i.length(t.size):i):t.dataType==="array"?i=n.array(n.any()):t.dataType==="number"?i=Vi(t,n,s):t.dataType==="bigint"?i=qi(t,n,s):t.dataType==="boolean"?i=s===!0||s.boolean?n.coerce.boolean():n.boolean():t.dataType==="date"?i=s===!0||s.date?n.coerce.date():n.date():t.dataType==="string"?i=Mi(t,n,s):t.dataType==="json"?i=Ai:t.dataType==="custom"?i=n.any():t.dataType==="buffer"&&(i=Di)),i||(i=n.any()),i}function Vi(t,e,n){let s=t.getSQLType().includes("unsigned"),i,o,c=!1;T(t,["MySqlTinyInt","SingleStoreTinyInt"])?(i=s?0:_.INT8_MIN,o=s?_.INT8_UNSIGNED_MAX:_.INT8_MAX,c=!0):T(t,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"])?(i=s?0:_.INT16_MIN,o=s?_.INT16_UNSIGNED_MAX:_.INT16_MAX,c=!0):T(t,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreMediumInt","SingleStoreFloat"])?(i=s?0:_.INT24_MIN,o=s?_.INT24_UNSIGNED_MAX:_.INT24_MAX,c=T(t,["MySqlMediumInt","SingleStoreMediumInt"])):T(t,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"])?(i=s?0:_.INT32_MIN,o=s?_.INT32_UNSIGNED_MAX:_.INT32_MAX,c=!0):T(t,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"])?(i=s?0:_.INT48_MIN,o=s?_.INT48_UNSIGNED_MAX:_.INT48_MAX):T(t,["PgBigInt53","PgBigSeri
1al53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"])?(s=s||T(t,["MySqlSerial","SingleStoreSerial"]),i=s?0:Number.MIN_SAFE_INTEGER,o=Number.MAX_SAFE_INTEGER,c=!0):T(t,["MySqlYear","SingleStoreYear"])?(i=1901,o=2155,c=!0):(i=Number.MIN_SAFE_INTEGER,o=Number.MAX_SAFE_INTEGER);let h=n===!0||n?.number?e.coerce.number():e.number();return h=h.min(i).max(o),c?h.int():h}function qi(t,e,n){const s=t.getSQLType().includes("unsigned"),i=s?0n:_.INT64_MIN,o=s?_.INT64_UNSIGNED_MAX:_.INT64_MAX;return(n===!0||n?.bigint?e.coerce.bigint():e.bigint()).min(i).max(o)}function Mi(t,e,n){if(T(t,["PgUUID"]))return e.string().uuid();let s,i,o=!1;T(t,["PgVarchar","SQLiteText"])?s=t.length:T(t,["MySqlVarChar","SingleStoreVarChar"])?s=t.length??_.INT16_UNSIGNED_MAX:T(t,["MySqlText","SingleStoreText"])&&(t.textType==="longtext"?s=_.INT32_UNSIGNED_MAX:t.textType==="mediumtext"?s=_.INT24_UNSIGNED_MAX:t.textType==="text"?s=_.INT16_UNSIGNED_MAX:s=_.INT8_UNSIGNED_MAX),T(t,["PgChar","MySqlChar","SingleStoreChar"])&&(s=t.length,o=!0),T(t,["PgBinaryVector"])&&(i=/^[01]+$/,s=t.dimensions);let c=n===!0||n?.string?e.coerce.string():e.string();return c=i?c.regex(i):c,s&&o?c.length(s):s?c.max(s):c}function He(t){return $e(t)?vs(t):js(t)}function We(t,e,n,s){const i={};for(const[o,c]of Object.entries(t)){if(!I(c,W)&&!I(c,w)&&!I(c,w.Aliased)&&typeof c=="object"){const x=$e(c)||Is(c)?He(c):c;i[o]=We(x,e[o]??{},n,s);continue}const h=e[o];if(h!==void 0&&typeof h!="function"){i[o]=h;continue}const u=I(c,W)?c:void 0,b=u?ke(u,s):te(),l=typeof h=="function"?h(b):b;n.never(u)||(i[o]=l,u&&(n.nullable(u)&&(i[o]=i[o].nullable()),n.optional(u)&&(i[o]=i[o].optional())))}return ze(i)}const Fi={never:t=>t?.generated?.type==="always"||t?.generatedIdentity?.type==="always",optional:t=>!t.notNull||t.notNull&&t.hasDefault,nullable:t=>!t.notNull},B=(t,e)=>{const n=He(t);return We(n,{},Fi)},be=j("institutions",{id:D("id").primaryKey(),name:m("name").notNull(),subdomain:m("subdomain").notNull().unique(),logoUrl:m("logo_url"),bannerUrl:m("banner_url"),isActive:z("is_active").default(!0),createdAt:y("created_at").default(p`now()`),updatedAt:y("updated_at").default(p`now()`)}),zi=j("invite_codes",{id:D("id").primaryKey(),institutionId:d("institution_id").notNull().references(()=>be.id),code:V("code",{length:20}).notNull().unique(),usedBy:V("used_by").references(()=>L.id),usedAt:y("used_at"),createdAt:y("created_at").default(p`now()`)},t=>[N("invite_codes_code_idx").on(t.code),N("invite_codes_institution_id_idx").on(t.institutionId)]),L=j("users",{id:V("id").primaryKey().default(p`gen_random_uuid()`),email:m("email").notNull().unique(),name:m("name").notNull(),role:m("role").default("student"),language:m("language").default("en"),otpCode:m("otp_code"),otpExpiresAt:y("otp_expires_at"),stripeCustomerId:m("stripe_customer_id"),activeSessionId:m("active_session_id"),pendingEmail:m("pending_email"),institutionId:d("institution_id").references(()=>be.id),referredByAffiliateId:d("referred_by_affiliate_id"),createdAt:y("created_at").default(p`now()`)},t=>[N("users_institution_id_idx").on(t.institutionId)]),G=j("courses",{id:D("id").primaryKey(),slug:m("slug").unique(),title:v("title").notNull(),description:v("description").notNull(),shortDescription:v("short_description").notNull(),category:m("category").notNull(),level:m("level").notNull(),ageGroups:m("age_groups").array().default(p`'{"all-ages"}'::text[]`),price:d("price").notNull(),originalPrice:d("original_price"),currency:m("currency").default("usd"),imageUrl:m("image_url"),stripePriceId:m("stripe_price_id"),stripeProductId:m("stripe_product_id"),totalLessons:d("total_lessons").default(0),totalDuration:d("total_duration").default(0),studentCount:d("student_count").default(0),learningOutcomes:v("learning_outcomes"),requirements:v("requirements"),isPublished:z("is_published").default(!1),isFeatured:z("is_featured").default(!1),createdAt:y("created_at").default(p`now()`),updatedAt:y("updated_at").default(p`now()`)},t=>[N("courses_category_idx").on(t.category),N("courses_is_published_idx").on(t.isPublished),N("courses_is_featured_idx").on(t.isFeatured)]),Ye=j("lessons",{id:D("id").primaryKey(),courseId:d("course_id").notNull().references(()=>G.id),title:v("title").notNull(),content:v("content").notNull(),order:d("order").notNull(),type:m("type").default("text"),duration:d("duration").default(0),createdAt:y("created_at").default(p`now()`)},t=>[N("lessons_course_id_idx").on(t.courseId)]),et=j("quizzes",{id:D("id").primaryKey(),lessonId:d("lesson_id").notNull().references(()=>Ye.id),title:v("title").notNull(),questions:v("questions").notNull(),passingScore:d("passing_score").default(70),createdAt:y("created_at").default(p`now()`)},t=>[N("quizzes_lesson_id_idx").on(t.lessonId)]),Li=j("enrollments",{id:D("id").primaryKey(),userId:V("user_id").notNull().references(()=>L.id),courseId:d("course_id").notNull().references(()=>G.id),progress:d("progress").default(0),completedLessons:d("completed_lessons").array().default(p`'{}'::int[]`),status:m("status").default("active"),stripePaymentIntentId:m("stripe_payment_intent_id"),enrolledAt:y("enrolled_at").default(p`now()`),completedAt:y("completed_at")},t=>[ji("enrollments_user_course_idx").on(t.userId,t.courseId),N("enrollments_course_id_idx").on(t.courseId)]),Ui=j("quiz_attempts",{id:D("id").primaryKey(),userId:V("user_id").notNull().references(()=>L.id),quizId:d("quiz_id").notNull().references(()=>et.id),answers:v("answers").notNull(),score:d("score").notNull(),passed:z("passed").notNull(),attemptedAt:y("attempted_at").default(p`now()`)},t=>[N("quiz_attempts_user_id_idx").on(t.userId),N("quiz_attempts_quiz_id_idx").on(t.quizId)]),tt=j("bundles",{id:D("id").primaryKey(),slug:m("slug").unique(),name:v("name").notNull(),description:v("description").notNull(),courseIds:d("course_ids").array().notNull(),bundlePrice:d("bundle_price").notNull(),originalPrice
1:d("original_price").notNull(),currency:m("currency").default("usd"),imageUrl:m("image_url"),stripeProductId:m("stripe_product_id"),stripePriceId:m("stripe_price_id"),isPublished:z("is_published").default(!1),createdAt:y("created_at").default(p`now()`),updatedAt:y("updated_at").default(p`now()`)},t=>[N("bundles_is_published_idx").on(t.isPublished)]),nt=j("final_exams",{id:D("id").primaryKey(),courseId:d("course_id").notNull().references(()=>G.id),title:v("title").notNull(),questions:v("questions").notNull(),passingScore:d("passing_score").default(70),totalQuestions:d("total_questions").default(0),createdAt:y("created_at").default(p`now()`)},t=>[N("final_exams_course_id_idx").on(t.courseId)]),Ei=j("exam_attempts",{id:D("id").primaryKey(),userId:V("user_id").notNull().references(()=>L.id),examId:d("exam_id").notNull().references(()=>nt.id),courseId:d("course_id").notNull().references(()=>G.id),answers:v("answers").notNull(),score:d("score").notNull(),passed:z("passed").notNull(),attemptedAt:y("attempted_at").default(p`now()`)},t=>[N("exam_attempts_user_id_idx").on(t.userId),N("exam_attempts_exam_id_idx").on(t.examId),N("exam_attempts_course_id_idx").on(t.courseId)]);j("site_settings",{key:m("key").primaryKey(),value:m("value").notNull(),updatedAt:y("updated_at").default(p`now()`)});const Qi=j("generation_jobs",{id:V("id").primaryKey().default(p`gen_random_uuid()`),status:m("status").notNull().default("in_progress"),courseId:d("course_id"),batchJobId:V("batch_job_id"),config:v("config").notNull(),steps:v("steps").notNull(),currentStepIndex:d("current_step_index").default(0),error:m("error"),createdAt:y("created_at").default(p`now()`),updatedAt:y("updated_at").default(p`now()`)},t=>[N("generation_jobs_status_idx").on(t.status),N("generation_jobs_course_id_idx").on(t.courseId),N("generation_jobs_batch_job_id_idx").on(t.batchJobId)]);B(be).omit({id:!0,createdAt:!0,updatedAt:!0});B(zi).omit({id:!0,createdAt:!0});B(L).omit({id:!0,createdAt:!0});B(G).omit({id:!0,createdAt:!0,updatedAt:!0});B(Ye).omit({id:!0,createdAt:!0});B(et).omit({id:!0,createdAt:!0});B(Li).omit({id:!0,enrolledAt:!0,completedAt:!0});B(Ui).omit({id:!0,attemptedAt:!0});B(tt).omit({id:!0,createdAt:!0,updatedAt:!0});B(nt).omit({id:!0,createdAt:!0});B(Ei).omit({id:!0,attemptedAt:!0});B(Qi).omit({createdAt:!0,updatedAt:!0});const Oi=j("batch_jobs",{id:V("id").primaryKey().default(p`gen_random_uuid()`),status:m("status").notNull().default("pending"),courses:v("courses").notNull(),currentIndex:d("current_index").default(0),totalCourses:d("total_courses").notNull(),completedCount:d("completed_count").default(0),failedCount:d("failed_count").default(0),skippedCount:d("skipped_count").default(0),languages:m("languages").array().default(p`'{"en","ar","fr"}'::text[]`),bundleId:d("bundle_id"),error:m("error"),createdAt:y("created_at").default(p`now()`),updatedAt:y("updated_at").default(p`now()`)},t=>[N("batch_jobs_status_idx").on(t.status),N("batch_jobs_bundle_id_idx").on(t.bundleId)]);B(Oi).omit({createdAt:!0,updatedAt:!0});const st=j("affiliates",{id:D("id").primaryKey(),userId:V("user_id").references(()=>L.id),subdomain:m("subdomain").notNull().unique(),name:m("name").notNull(),logoUrl:m("logo_url"),bannerUrl:m("banner_url"),commissionRate:d("commission_rate").notNull().default(10),discountPercent:d("discount_percent").notNull().default(10),totalEarnings:d("total_earnings").default(0),unpaidEarnings:d("unpaid_earnings").default(0),totalReferrals:d("total_referrals").default(0),isActive:z("is_active").default(!0),createdAt:y("created_at").default(p`now()`)},t=>[N("affiliates_subdomain_idx").on(t.subdomain),N("affiliates_user_id_idx").on(t.userId)]),$i=j("affiliate_referrals",{id:D("id").primaryKey(),affiliateId:d("affiliate_id").notNull().references(()=>st.id),referredUserId:V("referred_user_id").references(()=>L.id),courseId:d("course_id").references(()=>G.id),bundleId:d("bundle_id").references(()=>tt.id),paymentIntentId:m("payment_intent_id"),saleAmount:d("sale_amount").notNull().default(0),commissionAmount:d("commission_amount").notNull().default(0),discountAmount:d("discount_amount").notNull().default(0),status:m("status").notNull().default("pending"),createdAt:y("created_at").default(p`now()`)},t=>[N("affiliate_referrals_affiliate_id_idx").on(t.affiliateId),N("affiliate_referrals_referred_user_id_idx").on(t.referredUserId)]),Ki=j("contact_submissions",{id:D("id").primaryKey(),name:m("name").notNull(),email:m("email").notNull(),subject:m("subject").notNull(),message:m("message").notNull(),type:m("type").notNull().default("general"),createdAt:y("created_at").default(p`now()`)}),rt=B(Ki).omit({id:!0,createdAt:!0});B(st).omit({id:!0,createdAt:!0});B($i).omit({id:!0,createdAt:!0});const it=j("access_code_batches",{id:D("id").primaryKey(),name:m("name").notNull(),freeCourses:d("free_courses").notNull(),codeCount:d("code_count").notNull(),createdAt:y("created_at").default(p`now()`)}),Zi=j("access_codes",{id:D("id").primaryKey(),batchId:d("batch_id").notNull().references(()=>
1it.id),code:V("code",{length:19}).notNull().unique(),freeCourses:d("free_courses").notNull(),usedBy:V("used_by").references(()=>L.id),usedAt:y("used_at"),coursesRedeemed:d("courses_redeemed").notNull().default(0),createdAt:y("created_at").default(p`now()`)},t=>[N("access_codes_code_idx").on(t.code),N("access_codes_used_by_idx").on(t.usedBy),N("access_codes_batch_id_idx").on(t.batchId)]);B(it).omit({id:!0,createdAt:!0});B(Zi).omit({id:!0,createdAt:!0});const A={hidden:{opacity:0,y:30},visible:{opacity:1,y:0}},$={hidden:{},visible:{transition:{staggerChildren:.15}}};rt.extend({name:F().min(2),email:F().email(),subject:F().min(3),message:F().min(10)});function Gi(){const{t}=Be();return Ae.useMemo(()=>rt.extend({name:F().min(2,t("contact.validName")),email:F().email(t("contact.validEmail")),subject:F().min(3,t("contact.validSubject")),message:F().min(10,t("contact.validMessage"))}),[t])}function sa(){const{t}=Be(),{toast:e}=at(),[n,s]=Ae.useState(!1),i=Gi(),o=ns({resolver:rs(i),defaultValues:{name:"",email:"",subject:"",message:"",type:"general"}}),c=bt({mutationFn:async u=>(await yt("POST","/api/contact",u)).json(),onSuccess:()=>{s(!0),o.reset()},onError:u=>{e({title:t("contact.failTitle"),description:u.message||t("contact.failDesc"),variant:"destructive"})}}),h=u=>{c.mutate(u)};return r.jsxs("div",{className:"min-h-screen",children:[r.jsx(ot,{title:"Contact Us - Mondoir AI",description:"Get in touch with Mondoir AI. Whether you have questions about our AI courses, want to collaborate, or need support, we'd love to hear from you.",url:window.location.origin+"/contact",breadcrumbs:[{name:"Home",url:window.location.origin+"/"},{name:"Contact Us",url:window.location.origin+"/contact"}]}),r.jsxs("section",{className:"relative overflow-hidden min-h-[400px] flex items-center","data-testid":"section-contact-hero",children:[r.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-indigo-600 via-purple-600 to-pink-600"}),r.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[r.jsx("div",{className:"absolute top-20 left-10 w-72 h-72 bg-white/5 rounded-full blur-3xl animate-pulse"}),r.jsx("div",{className:"absolute bottom-20 right-10 w-96 h-96 bg-white/5 rounded-full blur-3xl animate-pulse",style:{animationDelay:"1s"}})]}),r.jsx("div",{className:"relative max-w-7xl mx-auto px-6 md:px-10 py-20 md:py-28 w-full",children:r.jsxs(P.div,{initial:"hidden",animate:"visible",variants:$,className:"max-w-3xl",children:[r.jsx(P.div,{variants:A,transition:{duration:.6},children:r.jsxs(xe,{className:"mb-6 bg-white/10 text-white border-white/20 backdrop-blur-sm px-4 py-1.5 text-sm no-default-hover-elevate no-default-active-elevate",children:[r.jsx(Pe,{className:"h-3.5 w-3.5 me-1.5"}),t("contact.badge")]})}),r.jsx(P.h1,{variants:A,transition:{duration:.6},className:"text-4xl md:text-6xl lg:text-7xl font-bold text-white mb-6 leading-[1.1] tracking-tight","data-testid":"text-contact-title",children:t("contact.title")}),r.jsx(P.p,{variants:A,transition:{duration:.6},className:"text-lg md:text-xl text-white/70 max-w-xl leading-relaxed","data-testid":"text-contact-subtitle",children:t("contact.subtitle")})]})})]}),r.jsx("section",{className:"py-20 md:py-28 px-4 md:px-6","data-testid":"section-contact-form",children:r.jsx("div",{className:"max-w-7xl mx-auto px-4 md:px-6",children:r.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-5 gap-12 lg:gap-16",children:[r.jsxs(P.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},variants:$,className:"lg:col-span-3",children:[r.jsxs(P.div,{variants:A,transition:{duration:.5},className:"mb-8",children:[r.jsx("h2",{className:"text-3xl md:text-4xl font-bold mb-3 tracking-tight","data-testid":"text-form-heading",children:t("contact.formTitle")}),r.jsx("p",{className:"text-muted-foreground text-lg",children:t("contact.formSubtitle")})]}),n?r.jsx(P.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.4},children:r.jsx(E,{className:"border-2 border-emerald-500/30 bg-emerald-500/5 dark:bg-emerald-500/10","data-testid":"card-success",children:r.jsxs(Q,{className:"p-8 md:p-12 text-center",children:[r.jsx("div",{className:"w-16 h-16 rounded-full bg-gradient-to-br from-emerald-500 to-teal-500 flex items-center justify-center mx-auto mb-6 shadow-lg",children:r.jsx(as,{className:"h-8 w-8 text-white"})}),r.jsx("h3",{className:"text-2xl font-bold mb-3","data-testid":"text-success-title",children:t("contact.successTitle")}),r.jsx("p",{className:"text-muted-foreground text-lg mb-6",children:t("contact.successDesc")}),r.jsx(ee,{variant:"outline",onClick:()=>s(!1),"data-testid":"button-send-another",children:t("contact.sendAnother")})]})})}):r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsx(E,{className:"border-0 shadow-xl shadow-black/5 dark:shadow-black/20",children:r.jsx(Q,{className:"p-6 md:p-8",children:r.jsx(ss,{...o,children:r.jsxs("form",{onSubmit:o.handleSubmit(h),className:"space-y-6",children:[r.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[r.jsx(R,{control:o.control,name:"name",render:({field:u})=>r.jsxs(X,{children:[r.jsx(J,{children:t("contact.labelName")}
1),r.jsx(k,{children:r.jsx(ie,{placeholder:t("contact.placeholderName"),...u,"data-testid":"input-name"})}),r.jsx(H,{})]})}),r.jsx(R,{control:o.control,name:"email",render:({field:u})=>r.jsxs(X,{children:[r.jsx(J,{children:t("contact.labelEmail")}),r.jsx(k,{children:r.jsx(ie,{type:"email",placeholder:t("contact.placeholderEmail"),...u,"data-testid":"input-email"})}),r.jsx(H,{})]})})]}),r.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[r.jsx(R,{control:o.control,name:"type",render:({field:u})=>r.jsxs(X,{children:[r.jsx(J,{children:t("contact.labelType")}),r.jsxs(lt,{onValueChange:u.onChange,defaultValue:u.value,children:[r.jsx(k,{children:r.jsx(ut,{"data-testid":"select-type",children:r.jsx(dt,{})})}),r.jsxs(ct,{children:[r.jsx(O,{value:"general",children:t("contact.typeGeneral")}),r.jsx(O,{value:"support",children:t("contact.typeSupport")}),r.jsx(O,{value:"partnership",children:t("contact.typePartnership")}),r.jsx(O,{value:"institution",children:t("contact.typeInstitution")}),r.jsx(O,{value:"feedback",children:t("contact.typeFeedback")}),r.jsx(O,{value:"other",children:t("contact.typeOther")})]})]}),r.jsx(H,{})]})}),r.jsx(R,{control:o.control,name:"subject",render:({field:u})=>r.jsxs(X,{children:[r.jsx(J,{children:t("contact.labelSubject")}),r.jsx(k,{children:r.jsx(ie,{placeholder:t("contact.placeholderSubject"),...u,"data-testid":"input-subject"})}),r.jsx(H,{})]})})]}),r.jsx(R,{control:o.control,name:"message",render:({field:u})=>r.jsxs(X,{children:[r.jsx(J,{children:t("contact.labelMessage")}),r.jsx(k,{children:r.jsx(is,{placeholder:t("contact.placeholderMessage"),className:"min-h-[160px] resize-y",...u,"data-testid":"input-message"})}),r.jsx(H,{})]})}),r.jsx(ee,{type:"submit",size:"lg",className:"w-full sm:w-auto",disabled:c.isPending,"data-testid":"button-submit",children:c.isPending?t("contact.sending"):r.jsxs(r.Fragment,{children:[r.jsx(cs,{className:"h-4 w-4 me-2"}),t("contact.submit")]})})]})})})})})]}),r.jsxs(P.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},variants:$,className:"lg:col-span-2 space-y-6",children:[r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsxs(E,{className:"border-0 shadow-lg shadow-black/5 dark:shadow-black/20 overflow-hidden relative",children:[r.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-indigo-500/5 via-purple-500/5 to-pink-500/5"}),r.jsx(Q,{className:"p-6 relative",children:r.jsxs("div",{className:"flex items-start gap-4",children:[r.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-indigo-500 to-purple-600 flex items-center justify-center shrink-0 shadow-lg",children:r.jsx(mt,{className:"h-6 w-6 text-white"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"font-bold text-lg mb-2","data-testid":"text-about-mondoir",children:t("contact.aboutMondoir")}),r.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t("contact.aboutMondoirDesc")})]})]})})]})}),r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsx(E,{className:"border-0 shadow-lg shadow-black/5 dark:shadow-black/20",children:r.jsx(Q,{className:"p-6",children:r.jsxs("div",{className:"flex items-start gap-4",children:[r.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center shrink-0 shadow-lg",children:r.jsx(Pe,{className:"h-6 w-6 text-white"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"font-bold text-lg mb-2","data-testid":"text-email-heading",children:t("contact.emailUs")}),r.jsx("p",{className:"text-muted-foreground text-sm mb-3",children:t("contact.emailUsDesc")}),r.jsx("a",{href:"mailto:[email protected]",className:"text-primary font-medium hover:underline text-sm","data-testid":"link-email",children:"[email protected]"})]})]})})})}),r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsx(E,{className:"border-0 shadow-lg shadow-black/5 dark:shadow-black/20",children:r.jsx(Q,{className:"p-6",children:r.jsxs("div",{className:"flex items-start gap-4",children:[r.jsx("div",{className:"w-12 h-12 rounded-2xl bg-gradient-to-br from-emerald-500 to-teal-500 flex items-center justify-center shrink-0 shadow-lg",children:r.jsx(gt,{className:"h-6 w-6 text-white"})}),r.jsxs("div",{children:[r.jsx("h3",{className:"font-bold text-lg mb-2","data-testid":"text-website-heading",children:t("contact.website")}),r.jsx("a",{href:"https://mondoir.ai",className:"text-primary font-medium hover:underline text-sm","data-testid":"link-website",children:"mondoir.ai"})]})]})})})})]})]})})}),r.jsx("section",{className:"py-20 md:py-28 px-4 md:px-6 bg-muted/30","data-testid":"section-institutions",children:r.jsxs("div",{className:"max-w-7xl mx-auto px-4 md:px-6",children:[r.jsxs(P.div,{initial:"hidden",
1whileInView:"visible",viewport:{once:!0,margin:"-50px"},variants:$,className:"text-center mb-16",children:[r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsxs(xe,{className:"mb-4 no-default-hover-elevate no-default-active-elevate",variant:"secondary",children:[r.jsx(ds,{className:"h-3.5 w-3.5 me-1.5"}),t("contact.partnerBadge")]})}),r.jsx(P.h2,{variants:A,transition:{duration:.5},className:"text-3xl md:text-5xl font-bold mb-4 tracking-tight","data-testid":"text-partnerships-title",children:t("contact.partnerTitle")}),r.jsx(P.p,{variants:A,transition:{duration:.5},className:"text-muted-foreground text-lg max-w-2xl mx-auto leading-relaxed","data-testid":"text-partnerships-subtitle",children:t("contact.partnerSubtitle")})]}),r.jsx(P.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0,margin:"-50px"},variants:$,className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{icon:us,titleKey:"contact.partnerInstitutions",descKey:"contact.partnerInstitutionsDesc",gradient:"from-indigo-500 to-purple-500",bgGlow:"bg-indigo-500/10"},{icon:pt,titleKey:"contact.partnerCorporate",descKey:"contact.partnerCorporateDesc",gradient:"from-blue-500 to-cyan-500",bgGlow:"bg-blue-500/10"},{icon:os,titleKey:"contact.partnerCreators",descKey:"contact.partnerCreatorsDesc",gradient:"from-emerald-500 to-teal-500",bgGlow:"bg-emerald-500/10"}].map((u,b)=>r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsxs(E,{className:"group text-center h-full border-0 shadow-lg shadow-black/5 dark:shadow-black/20 hover:shadow-xl transition-all duration-300 hover:-translate-y-1 overflow-hidden relative","data-testid":`card-partner-${b}`,children:[r.jsx("div",{className:`absolute inset-0 ${u.bgGlow} opacity-0 group-hover:opacity-100 transition-opacity duration-500`}),r.jsxs(Q,{className:"pt-8 p-6 relative",children:[r.jsx("div",{className:`w-14 h-14 rounded-2xl bg-gradient-to-br ${u.gradient} flex items-center justify-center mx-auto mb-5 shadow-lg group-hover:scale-110 transition-transform duration-300`,children:r.jsx(u.icon,{className:"h-7 w-7 text-white"})}),r.jsx("h3",{className:"font-bold text-lg mb-3","data-testid":`text-partner-title-${b}`,children:t(u.titleKey)}),r.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:t(u.descKey)})]})]})},b))}),r.jsxs(P.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:A,transition:{duration:.5,delay:.3},className:"text-center mt-12",children:[r.jsx("p",{className:"text-muted-foreground mb-6",children:t("contact.partnerCta")}),r.jsx("a",{href:"mailto:[email protected]",children:r.jsxs(ee,{size:"lg","data-testid":"button-partner-email",children:[r.jsx(ls,{className:"h-4 w-4 me-2"}),"[email protected]"]})})]})]})}),r.jsxs("section",{className:"relative overflow-hidden","data-testid":"section-contact-cta",children:[r.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-indigo-600 via-purple-600 to-pink-600"}),r.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[r.jsx("div",{className:"absolute top-0 left-1/4 w-96 h-96 bg-white/5 rounded-full blur-3xl"}),r.jsx("div",{className:"absolute bottom-0 right-1/4 w-72 h-72 bg-white/5 rounded-full blur-3xl"})]}),r.jsx("div",{className:"relative max-w-7xl mx-auto px-4 py-20 md:py-28 md:px-6 text-center",children:r.jsxs(P.div,{initial:"hidden",whileInView:"visible",viewport:{once:!0},variants:$,children:[r.jsx(P.h2,{variants:A,transition:{duration:.5},className:"text-3xl md:text-5xl font-bold text-white mb-6 tracking-tight","data-testid":"text-contact-cta-title",children:t("contact.ctaTitle")}),r.jsx(P.p,{variants:A,transition:{duration:.5},className:"text-lg text-white/70 mb-10 max-w-xl mx-auto","data-testid":"text-contact-cta-subtitle",children:t("contact.ctaSubtitle")}),r.jsx(P.div,{variants:A,transition:{duration:.5},children:r.jsx(ft,{href:"/courses",children:r.jsxs(ee,{size:"lg",className:"bg-white text-indigo-700 border-white font-semibold h-12 px-8 text-base shadow-xl shadow-black/20","data-testid":"button-contact-browse-courses",children:[t("contact.browseCourses"),r.jsx(ht,{className:"h-4 w-4 ms-2"})]})})})]})})]})]})}export{sa as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.