PageSourceSearch

https://synbioasia.org/_next/static/chunks/339107354ee355ad.js

js synbioasia.org collected 2026-10-02 01:07:48 UTC 34,875 bytes, 10 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},18566,(e,t,n)=>{t.exports=e.r(76562)},63662,e=>{"use strict";let t;var n,r=e.i(71645);let i=Object.freeze({left:0,top:0,width:16,height:16}),a=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),l=Object.freeze({...i,...a}),s=Object.freeze({...l,body:"",hidden:!1});function o(e,t){let n,r,i=(n={},!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0),(r=((e.rotate||0)+(t.rotate||0))%4)&&(n.rotate=r),n);for(let n in s)n in a?n in e&&!(n in i)&&(i[n]=a[n]):n in t?i[n]=t[n]:n in e&&(i[n]=e[n]);return i}function c(e,t){let n,r,i,a=[];if("object"!=typeof e||"object"!=typeof e.icons)return a;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),a.push(e)});let l=(n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null),Object.keys(n).concat(Object.keys(r)).forEach(function e(t){if(n[t])return i[t]=[];if(!(t in i)){i[t]=null;let n=r[t]&&r[t].parent,a=n&&e(n);a&&(i[t]=[n].concat(a))}return i[t]}),i);for(let n in l){let r=l[n];r&&(t(n,function(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function l(e){a=o(r[e]||i[e],a)}return l(t),n.forEach(l),o(e,a)}(e,n,r)),a.push(n))}return a}let u={provider:"",aliases:{},not_found:{},...i};function d(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function f(e){if("object"!=typeof e||null===e||"string"!=typeof e.prefix||!e.icons||"object"!=typeof e.icons||!d(e,u))return null;let t=e.icons;for(let e in t){let n=t[e];if(!e||"string"!=typeof n.body||!d(n,s))return null}let n=e.aliases||Object.create(null);for(let e in n){let r=n[e],i=r.parent;if(!e||"string"!=typeof i||!t[i]&&!n[i]||!d(r,s))return null}return e}let h=Object.create(null);function m(e,t){let n=h[e]||(h[e]=Object.create(null));return n[t]||(n[t]={provider:e,prefix:t,icons:Object.create(null),missing:new Set})}function p(e,t){return f(t)?c(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}let g=/^[a-z0-9]+(-[a-z0-9]+)*$/,x=(e,t,n,r="")=>{let i=e.split(":");if("@"===e.slice(0,1)){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!b(a)?null:a}let a=i[0],l=a.split("-");if(l.length>1){let e={provider:r,prefix:l.shift(),name:l.join("-")};return t&&!b(e)?null:e}if(n&&""===r){let e={provider:r,prefix:"",name:a};return t&&!b(e,n)?null:e}return null},b=(e,t)=>!!e&&!!((t&&""===e.prefix||e.prefix)&&e.name),y=!1;function j(e){return"boolean"==typeof e&&(y=e),y}function w(e){let t="string"==typeof e?x(e,!0,y):e;if(t){let e=m(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}let v=Object.freeze({width:null,height:null}),N=Object.freeze({...v,...a}),k=/(-?[0-9.]*[0-9]+[0-9.]*)/g,S=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function A(e,t,n){if(1===t)return e;if(n=n||100,"number"==typeof e)return Math.ceil(e*t*n)/n;if("string"!=typeof e)return e;let r=e.split(k);if(null===r||!r.length)return e;let i=[],a=r.shift(),l=S.test(a);for(;;){if(l){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(void 0===(a=r.shift()))return i.join("");l=!l}}let z=/\sid="(\S+)"/g,C="IconifyId"+Date.now().toString(16)+(0x1000000*Math.random()|0).toString(16),E=0,$=Object.create(null);function O(e){return $[e]||$[""]}function T(e){let t;if("string"==typeof e.resources)t=[e.resources];else if(!((t=e.resources)instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:!0===e.random,index:e.index||0,dataAfterTimeout:!1!==e.dataAfterTimeout}}let _=Object.create(null),P=["https://api.simplesvg.com","https://api.unisvg.com"],I=[];for(;P.length>0;)1===P.length||Math.random()>.5?I.push(P.shift()):I.push(P.pop());_[""]=T({resources:["https://api.iconify.design"].concat(I)});let F=(()=>{let e;try{if(e=fetch,"function"==typeof e)return e}catch(e){}})();
1function L(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}let M=0,R={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function B(e){let t={...R,...e},n=[];function r(){n=n.filter(e=>"pending"===e().status)}return{query:function(e,i,a){let l=function(e,t,n,r){let i,a,l=e.resources.length,s=e.random?Math.floor(Math.random()*l):e.index;if(e.random){let t=e.resources.slice(0);for(i=[];t.length>1;){let e=Math.floor(Math.random()*t.length);i.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}i=i.concat(t)}else i=e.resources.slice(s).concat(e.resources.slice(0,s));let o=Date.now(),c="pending",u=0,d=null,f=[],h=[];function m(){d&&(clearTimeout(d),d=null)}function p(){"pending"===c&&(c="aborted"),m(),f.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),f=[]}function g(e,t){t&&(h=[]),"function"==typeof e&&h.push(e)}function x(){c="failed",h.forEach(e=>{e(void 0,a)})}function b(){f.forEach(e=>{"pending"===e.status&&(e.status="aborted")}),f=[]}return"function"==typeof r&&h.push(r),setTimeout(function r(){if("pending"!==c)return;m();let l=i.shift();if(void 0===l){if(f.length){d=setTimeout(()=>{m(),"pending"===c&&(b(),x())},e.timeout);return}x();return}let s={status:"pending",resource:l,callback:(t,n)=>{!function(t,n,l){let s="success"!==n;switch(f=f.filter(e=>e!==t),c){case"pending":break;case"failed":if(s||!e.dataAfterTimeout)return;break;default:return}if("abort"===n){a=l,x();return}if(s){a=l,f.length||(i.length?r():x());return}if(m(),b(),!e.random){let n=e.resources.indexOf(t.resource);-1!==n&&n!==e.index&&(e.index=n)}c="completed",h.forEach(e=>{e(l)})}(s,t,n)}};f.push(s),u++,d=setTimeout(r,e.rotate),n(l,t,s.callback)}),function(){return{startTime:o,payload:t,status:c,queriesSent:u,queriesPending:f.length,subscribe:g,abort:p}}}(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(l),l},find:function(e){return n.find(t=>e(t))||null},setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}let D=Object.create(null);function J(){}function U(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&"object"==typeof n)try{if(!p(e,n).length)return void r()}catch(e){console.error(e)}r(),e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,l=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let l=t.name;if(e.icons[l])a.loaded.push({provider:r,prefix:i,name:l});else{if(!e.missing.has(l))return n=!0,!0;a.missing.push({provider:r,prefix:i,name:l})}return!1}),a.pending.length!==l&&(n||L([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}))}function H(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}let q=/[\s,]+/,W={...N,inline:!1},K={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Q={display:"inline-block"},G={backgroundColor:"currentColor"},V={backgroundColor:"transparent"},X={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Y={WebkitMask:G,mask:G,background:V};for(let e in Y){let t=Y[e];for(let n in X)t[e+n]=X[n]}let Z={...W,inline:!0};function ee(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}if(j(!0),n={prepare:(e,t,n)=>{let r=[],i=function(e,t){let n,r=_[e];if(!r)return 0;if(r.maxURL){let e=0;r.resources.forEach(t=>{e=Math.max(e,t.length)}),n=r.maxURL-e-r.path.length-(t+".json?icons=").length}else n=0;return n}(e,t),a="icons",l={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,o)=>{(s+=n.length+1)>=i&&o>0&&(r.push(l),l={type:a,provider:e,prefix:t,icons:[]},s=n.length),l.icons.push(n)}),r.push(l),r},send:(e,t,n)=>{if(!F)return void n("abort",424);let r=function(e){if("string"==typeof e){let t=_[e];if(t)return t.path}return"/"}(t.provider);switch(t.type){case"icons":r+=t.prefix+".json?"+new URLSearchParams({icons:t.icons.join(",")}).toString();break;
1case"custom":{let e=t.uri;r+="/"===e.slice(0,1)?e.slice(1):e;break}default:n("abort",400);return}let i=503;F(e+r).then(e=>{let t=e.status;return 200!==t?void setTimeout(()=>{n(404===t?"abort":"next",t)}):(i=501,e.json())}).then(e=>{"object"!=typeof e||null===e?setTimeout(()=>{404===e?n("abort",e):n("next",i)}):setTimeout(()=>{n("success",e)})}).catch(()=>{n("next",i)})}},$[""]=n,"u">typeof document&&"u">typeof window){let e=window;if(void 0!==e.IconifyPreload){let t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";"object"==typeof t&&null!==t&&(t instanceof Array?t:[t]).forEach(e=>{try{("object"!=typeof e||null===e||e instanceof Array||"object"!=typeof e.icons||"string"!=typeof e.prefix||!function(e,t){if("object"!=typeof e)return!1;if("string"!=typeof t&&(t=e.provider||""),y&&!t&&!e.prefix){let t=!1;return f(e)&&(e.prefix="",c(e,(e,n)=>{(function(e,t){let n=x(e,!0,y);if(!n)return!1;let r=m(n.provider,n.prefix);if(!t)return r.missing.add(n.name),!0;var i=n.name;try{if("string"==typeof t.body)return r.icons[i]={...t},!0}catch(e){}return!1})(e,n)&&(t=!0)})),t}let n=e.prefix;return!!b({prefix:n,name:"a"})&&!!p(m(t,n),e)}(e))&&console.error(n)}catch(e){console.error(n)}})}if(void 0!==e.IconifyProviders){let t=e.IconifyProviders;if("object"==typeof t&&null!==t)for(let e in t){let n="IconifyProviders["+e+"] is invalid.";try{let r=t[e];if("object"!=typeof r||!r||void 0===r.resources)continue;!function(e,t){let n=T(t);return null!==n&&(_[e]=n,!0)}(e,r)&&console.error(n)}catch(e){console.error(n)}}}}function et(e){let[n,i]=(0,r.useState)(!!e.ssr),[a,s]=(0,r.useState)({}),[o,c]=(0,r.useState)(function(t){if(t){let t=e.icon;if("object"==typeof t)return{name:"",data:t};let n=w(t);if(n)return{name:t,data:n}}return{name:""}}(!!e.ssr));function u(){let e=a.callback;e&&(e(),s({}))}function d(e){if(JSON.stringify(o)!==JSON.stringify(e))return u(),c(e),!0}(0,r.useEffect)(()=>(i(!0),u),[]),(0,r.useEffect)(()=>{n&&function t(){var n;let r=e.icon;if("object"==typeof r)return void d({name:"",data:r});let i=w(r);d({name:r,data:i})&&(void 0===i?s({callback:((e,t)=>{var n;let r,i,a,l,s,o=(n=function(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i="string"==typeof e?x(e,t,n):e;i&&r.push(i)}),r}(e,!0,j()),a={loaded:[],missing:[],pending:[]},l=Object.create(null),n.sort((e,t)=>e.provider!==t.provider?e.provider.localeCompare(t.provider):e.prefix!==t.prefix?e.prefix.localeCompare(t.prefix):e.name.localeCompare(t.name)),s={provider:"",prefix:"",name:""},n.forEach(e=>{if(s.name===e.name&&s.prefix===e.prefix&&s.provider===e.provider)return;s=e;let t=e.provider,n=e.prefix,r=e.name,i=l[t]||(l[t]=Object.create(null)),o=i[n]||(i[n]=m(t,n));(r in o.icons?a.loaded:""===n||o.missing.has(r)?a.missing:a.pending).push({provider:t,prefix:n,name:r})}),a);if(!o.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(o.loaded,o.missing,o.pending,J)}),()=>{e=!1}}let c=Object.create(null),u=[];return o.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===i&&t===r)return;r=t,i=n,u.push(m(t,n));let a=c[t]||(c[t]=Object.create(null));a[n]||(a[n]=[])}),o.pending.forEach(e=>{let{provider:t,prefix:n,name:r}=e,i=m(t,n),a=i.pendingIcons||(i.pendingIcons=new Set);a.has(r)||(a.add(r),c[t][n].push(r))}),u.forEach(e=>{let t=c[e.provider][e.prefix];t.length&&(e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{let t,n;e.iconsQueueFlag=!1;let{provider:r,prefix:i}=e,a=e.iconsToLoad;if(delete e.iconsToLoad,!a||!a.length)return;let l=e.loadIcon;if(e.loadIcons&&(a.length>1||!l))return void H(e.loadIcons(a,i,r),t=>{U(e,a,t)});if(l)return void a.forEach(t=>{H(l(t,i,r),n=>{let r=n?{prefix:i,icons:{[t]:n}}:null;U(e,[t],r)})});let{valid:s,invalid:o}=(t=[],n=[],a.forEach(e=>{(e.match(g)?t:n).push(e)}),{valid:t,invalid:n});if(o.length&&U(e,o,null),!s.length)return;let c=i.match(g)?O(r):null;c?c.prepare(r,i,s).forEach(t=>{!function(e,t,n){let r,i;if("string"==typeof e){let t=O(e);if(!t)return n(void 0,424);i=t.send;let a=function(e){if(!D[e]){let t=_[e];if(!t)return;let n=B(t);D[e]={config:t,redundancy:n}}return D[e]}(e);a&&(r=a.redundancy)}else{let t=T(e);if(t){r=B(t);let n=O(e.resources?e.resources[0]:"");n&&(i=n.send)}}r&&i?r.query(t,i,n)().abort:n(void 0,424)}(r,t,n=>{U(e,t.icons,n)})}):U(e,s,null)})))}),t?function(e,t,n){let r=M++,i=L.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};
1return n.forEach(e=>{(e.loaderCallbacks||(e.loaderCallbacks=[])).push(a)}),i}(t,o,u):J})([r],t)}):i&&(null==(n=e.onLoad)||n.call(e,r)))}()},[e.icon,n]);let{name:f,data:h}=o;return h?((e,n,i)=>{var a;let s,o,c,u,d,f,h,m,p,g,b,y,j,w=n.inline?Z:W,k=function(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in v?(null===r||r&&("string"===i||"number"===i))&&(n[e]=r):i===typeof n[e]&&(n[e]="rotate"===e?r%4:r)}return n}(w,n),S=n.mode||"svg",$={},O=n.style||{},T={..."svg"===S?K:{}};if(i){let e=x(i,!1,!0);if(e){let t=["iconify"];for(let n of["provider","prefix"])e[n]&&t.push("iconify--"+e[n]);T.className=t.join(" ")}}for(let e in n){let t=n[e];if(void 0!==t)switch(e){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":T.ref=t;break;case"className":T[e]=(T[e]?T[e]+" ":"")+t;break;case"inline":case"hFlip":case"vFlip":k[e]=!0===t||"true"===t||1===t;break;case"flip":"string"==typeof t&&function(e,t){t.split(q).forEach(t=>{switch(t.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0}})}(k,t);break;case"color":$.color=t;break;case"rotate":"string"==typeof t?k[e]=function(e,t=0){let n=e.replace(/^-?[0-9.]*/,"");function r(e){for(;e<0;)e+=4;return e%4}if(""===n){let t=parseInt(e);return isNaN(t)?0:r(t)}if(n!==e){let t=0;switch(n){case"%":t=25;break;case"deg":t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t)%1==0?r(i):0}}return t}(t):"number"==typeof t&&(k[e]=t);break;case"ariaHidden":case"aria-hidden":!0!==t&&"true"!==t&&delete T["aria-hidden"];break;default:void 0===w[e]&&(T[e]=t)}}let _=(c={...l,...e},u={...N,...k},d={left:c.left,top:c.top,width:c.width,height:c.height},f=c.body,[c,u].forEach(e=>{var t,n,r,i;let a,l,s=[],o=e.hFlip,c=e.vFlip,u=e.rotate;switch(o?c?u+=2:(s.push("translate("+(d.width+d.left).toString()+" "+(0-d.top).toString()+")"),s.push("scale(-1 1)"),d.top=d.left=0):c&&(s.push("translate("+(0-d.left).toString()+" "+(d.height+d.top).toString()+")"),s.push("scale(1 -1)"),d.top=d.left=0),u<0&&(u-=4*Math.floor(u/4)),u%=4){case 1:s.unshift("rotate(90 "+(a=d.height/2+d.top).toString()+" "+a.toString()+")");break;case 2:s.unshift("rotate(180 "+(d.width/2+d.left).toString()+" "+(d.height/2+d.top).toString()+")");break;case 3:s.unshift("rotate(-90 "+(a=d.width/2+d.left).toString()+" "+a.toString()+")")}u%2==1&&(d.left!==d.top&&(a=d.left,d.left=d.top,d.top=a),d.width!==d.height&&(a=d.width,d.width=d.height,d.height=a)),s.length&&(t=f,n='<g transform="'+s.join(" ")+'">',r=(l=function(e,t="defs"){let n="",r=e.indexOf("<"+t);for(;r>=0;){let i=e.indexOf(">",r),a=e.indexOf("</"+t);if(-1===i||-1===a)break;let l=e.indexOf(">",a);if(-1===l)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(l+1)}return{defs:n,content:e}}(t)).defs,i=n+l.content+"</g>",f=r?"<defs>"+r+"</defs>"+i:i)}),h=u.width,m=u.height,p=d.width,g=d.height,null===h?s=A(o=null===m?"1em":"auto"===m?g:m,p/g):(s="auto"===h?p:h,o=null===m?A(s,g/p):"auto"===m?g:m),b={},(y=(e,t)=>{"unset"!==t&&"undefined"!==t&&"none"!==t&&(b[e]=t.toString())})("width",s),y("height",o),b.viewBox=(j=[d.left,d.top,p,g]).join(" "),{attributes:b,viewBox:j,body:f}),P=_.attributes;if(k.inline&&($.verticalAlign="-0.125em"),"svg"===S){T.style={...$,...O},Object.assign(T,P);let e=0,i=n.id;return"string"==typeof i&&(i=i.replace(/-/g,"_")),T.dangerouslySetInnerHTML={__html:(a=function(e,t=C){let n,r=[];for(;n=z.exec(e);)r.push(n[1]);if(!r.length)return e;let i="suffix"+(0x1000000*Math.random()|Date.now()).toString(16);return r.forEach(n=>{let r="function"==typeof t?t(n):t+(E++).toString(),a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+r+i+"$3")}),e=e.replace(RegExp(i,"g"),"")}(_.body,i?()=>i+"ID"+e++:"iconifyReact"),void 0===t&&function(){try{t=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){t=null}}(),t?t.createHTML(a):a)},(0,r.createElement)("svg",T)}let{body:I,width:F,height:L}=e,M="mask"===S||"bg"!==S&&-1!==I.indexOf("currentColor"),R=function(e,t){let n=-1===e.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let e in t)n+=" "+e+'="'+t[e]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+n+">"+e+"</svg>"}(I,{...P,width:F+"",height:L+""});
1return T.style={...$,"--svg":'url("data:image/svg+xml,'+R.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")+'")',width:ee(P.width),height:ee(P.height),...Q,...M?G:V,...O},(0,r.createElement)("span",T)})({...l,...h},e,f):e.children?e.children:e.fallback?e.fallback:(0,r.createElement)("span",{})}let en=(0,r.forwardRef)((e,t)=>et({...e,_ref:t}));(0,r.forwardRef)((e,t)=>et({inline:!0,...e,_ref:t})),e.s(["Icon",()=>en])},89546,e=>{"use strict";async function t(e,t){let n=await fetch(`${e}`,{...t,headers:{"Content-Type":"application/json",...t?.headers||{}},cache:"no-store"});if(!n.ok)throw Error(await n.text()||`Request failed: ${n.status}`);if(204!==n.status)return await n.json()}async function n(e){let n;return t(`/api/members${(n=new URLSearchParams,e.category&&"all"!==e.category&&n.set("category",e.category),e.country&&"all"!==e.country&&n.set("country",e.country),e.focus&&"all"!==e.focus&&n.set("focus",e.focus),e.q&&n.set("q",e.q),(!0===e.published||!1===e.published)&&n.set("published",String(e.published)),e.page&&n.set("page",String(e.page)),e.page_size&&n.set("page_size",String(e.page_size)),n.toString()?`?${n.toString()}`:"")}`)}async function r(e){return t(`/api/members/${e}`)}async function i(){return t("/api/meta/options")}async function a(e){let t=new TextEncoder().encode(e);return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",t))).map(e=>e.toString(16).padStart(2,"0")).join("")}async function l(e){let t=await fetch(`/api/auth/nonce?username=${encodeURIComponent(e)}`);
1if(!t.ok)throw Error((await t.json()).detail||"获取 nonce 失败");return await t.json()}async function s(e,t,n,r){let i=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,auth:t,timestamp:n,nonce:r})}),a=await i.json();if(!i.ok)throw Error(a.detail||`登录失败 (${i.status})`);return a}async function o(e,n){return t("/api/members",{method:"POST",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(n)})}async function c(e,n,r){return t(`/api/members/${n}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(r)})}async function u(e,n){try{await f(e,n)}catch(e){console.warn("删除照片失败:",e)}return t(`/api/members/${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`}})}async function d(e,t,n){let r=new FormData;r.append("file",n);let i=`${t}${n.name.substring(n.name.lastIndexOf("."))}`;r.append("filename",i);let a=await fetch(`/api/members/${t}/photo`,{method:"POST",headers:{Authorization:`Bearer ${e}`},body:r});if(!a.ok)try{let e=await a.json();throw Error(e.detail||e.message||"照片上传失败")}catch{throw Error(`照片上传失败 (HTTP ${a.status})`)}return(await a.json()).photo_url}async function f(e,n){return t(`/api/members/${n}/photo`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`}})}async function h(e){let n={};return e&&(n.Authorization=`Bearer ${e}`),t("/api/countries",{headers:n})}async function m(e,n){return t("/api/admin/countries",{method:"POST",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(n)})}async function p(e,n,r){return t(`/api/admin/countries/${n}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(r)})}async function g(e,n){return t(`/api/admin/countries/${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`}})}async function x(e){let n={};return e&&(n.headers={Authorization:`Bearer ${e}`}),t("/api/focuses",n)}async function b(e,n){return t("/api/admin/focuses",{method:"POST",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(n)})}async function y(e,n,r){return t(`/api/admin/focuses/${n}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(r)})}async function j(e,n){return t(`/api/admin/focuses/${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`}})}async function w(e){let n={};return e&&(n.headers={Authorization:`Bearer ${e}`}),t("/api/categories",n)}async function v(e,n){return t("/api/admin/categories",{method:"POST",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(n)})}async function N(e,n,r){return t(`/api/admin/categories/${n}`,{method:"PATCH",headers:{Authorization:`Bearer ${e}`},body:JSON.stringify(r)})}async function k(e,n){return t(`/api/admin/categories/${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${e}`}})}e.s(["createAdminCategory",()=>v,"createAdminCountry",()=>m,"createAdminFocus",()=>b,"createMember",()=>o,"deletePhoto",()=>f,"fetchCategories",()=>w,"fetchCountries",()=>h,"fetchFocuses",()=>x,"fetchMemberDetail",()=>r,"fetchMembers",()=>n,"fetchMetaOptions",()=>i,"getNonce",()=>l,"loginAdmin",()=>s,"removeAdminCategory",()=>k,"removeAdminCountry",()=>g,"removeAdminFocus",()=>j,"removeMember",()=>u,"sha256",()=>a,"updateAdminCategory",()=>N,"updateAdminCountry",()=>p,"updateAdminFocus",()=>y,"updateMember",()=>c,"uploadPhoto",()=>d])},17017,e=>{"use strict";var t=e.i(43476),n=e.i(71645),r=e.i(18566),i=e.i(85728),a=e.i(70119),l=e.i(56691),s=e.i(63662),o=e.i(89546);function c(){let e=(0,r.usePathname)(),{lang:c,setLang:u}
1=(0,i.useLanguage)(),[d,f]=(0,n.useState)(null),[h,m]=(0,n.useState)("all"),[p,g]=(0,n.useState)("all"),[x,b]=(0,n.useState)(!1),[y,j]=(0,n.useState)("all"),[w,v]=(0,n.useState)({}),[N,k]=(0,n.useState)([]),[S,A]=(0,n.useState)(1),[z,C]=(0,n.useState)(!1),[E,$]=(0,n.useState)(0),[O,T]=(0,n.useState)(!1),[_,P]=(0,n.useState)([]),[I,F]=(0,n.useState)([]),[L,M]=(0,n.useState)([]),[R,B]=(0,n.useState)(!0),[D,J]=(0,n.useState)(""),U={"Steering Committee":"指导委员会","Faculty Members":"教员","Researchers & Students":"研究员与学生","Administrative Committee":"行政委员会",China:"中国",Japan:"日本",Singapore:"新加坡",Malaysia:"马来西亚",Russia:"俄罗斯",Thailand:"泰国",India:"印度","South Korea":"韩国",unknown:"生物学领域"},H=e=>"zh"===c?U[e.slug]||e.label:e.slug;(0,n.useEffect)(()=>{!async function(){try{let e=await (0,o.fetchMetaOptions)();P(e.categories),F(e.focuses),M(e.countries)}catch(e){J(e instanceof Error?e.message:"加载筛选项失败")}}()},[]),(0,n.useEffect)(()=>{!async function(){B(!0),A(1),k([]);try{let e=await (0,o.fetchMembers)({category:h,country:y,focus:p,published:!0,page:1,page_size:100});k(e.items),C(e.total>100),$(e.total),J("")}catch(e){J(e instanceof Error?e.message:"加载成员失败")}finally{B(!1)}}()},[h,y,p]);let q=async()=>{let e=S+1;T(!0);try{let t=await (0,o.fetchMembers)({category:h,country:y,focus:p,published:!0,page:e,page_size:100});k(e=>[...e,...t.items]),A(e),C(t.total>100*e)}catch(e){J(e instanceof Error?e.message:"加载更多成员失败")}finally{T(!1)}},W=(0,n.useMemo)(()=>d,[d]),K=(0,n.useMemo)(()=>[...I].sort((e,t)=>e.id-t.id),[I]),Q=(0,n.useMemo)(()=>{let e=K.slice(0,6);if(x)return[{id:0,slug:"all",label:"All Research Areas"},...K];if("all"===p||e.some(e=>e.slug===p))return[{id:0,slug:"all",label:"All Research Areas"},...e];let t=K.find(e=>e.slug===p);return t?[{id:0,slug:"all",label:"All Research Areas"},...e,t]:[{id:0,slug:"all",label:"All Research Areas"},...e]},[K,x,p]),G=Math.max(K.length-6,0),V=e=>({china:{cls:"bg-red-100 text-red-700",icon:"twemoji:flag-china"},japan:{cls:"bg-rose-100 text-rose-700",icon:"twemoji:flag-japan"},singapore:{cls:"bg-emerald-100 text-emerald-700",icon:"twemoji:flag-singapore"},india:{cls:"bg-orange-100 text-orange-700",icon:"twemoji:flag-india"},malaysia:{cls:"bg-sky-100 text-sky-700",icon:"twemoji:flag-malaysia"},russia:{cls:"bg-blue-100 text-blue-700",icon:"twemoji:flag-russia"},thailand:{cls:"bg-indigo-100 text-indigo-700",icon:"twemoji:flag-thailand"},"south-korea":{cls:"bg-cyan-100 text-cyan-700",icon:"twemoji:flag-south-korea"}})[(e||"").toLowerCase().replace(/\s+/g,"-")]||{cls:"bg-slate-100 text-slate-700",icon:"heroicons:globe-alt-20-solid"},X=e=>{let t;return e.photo_url||(t=e.full_name.trim().charAt(0).toUpperCase()||"A",`data:image/svg+xml;utf8,${encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' width='256' height='256'>
2        <defs>
3          <linearGradient id='g' x1='0' y1='0' x2='1' y2='1'>
4            <stop offset='0%' stop-color='#c7d2fe'/>
5            <stop offset='100%' stop-color='#a5b4fc'/>
6          </linearGradient>
7        </defs>
8        <rect width='256' height='256' fill='url(#g)'/>
9        <text x='50%' y='54%' dominant-baseline='middle' text-anchor='middle' fill='#3730a3' font-family='Arial, sans-serif' font-size='108' font-weight='700'>${t}</text>
10      </svg>`)}`)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.default,{currentPath:e,lang:c,onLangChange:u}),(0,t.jsx)("main",{className:"pt-24 pb-8",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,t.jsxs)("div",{className:"text-center max-w-3xl mx-auto mb-8",children:[(0,t.jsx)("h1",{className:"text-5xl font-bold text-slate-900 mb-4",children:"ASBA Members"}),(0,t.jsx)("p",{className:"text-slate-500 text-lg leading-relaxed",children:"zh"===c?"浏览我们的全球合成生物学专家、研究员和创新者网络,推动科学边界发展。":"Browse our global network of synthetic biology experts, researchers, and innovators pushing the boundaries of science."})]}),(0,t.jsx)("div",{className:"mb-8",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:[{id:0,slug:"all",label:"All"},..._].map(e=>(0,t.jsx)("button",{onClick:()=>m(e.slug),className:`px-4 py-2 rounded-full text-sm font-medium transition-all ${h===e.slug?"bg-violet-600 text-white":"bg-white border border-gray-200 hover:bg-violet-50"}`,children:"all"===e.slug?"zh"===c?"全部":"All":H(e)},e.slug))})}),(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:Q.map(e=>(0,t.jsx)("button",{onClick:()=>g(e.slug),title:"all"===e.slug?"zh"===c?"全部研究领域":"All Research Areas":H(e),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all max-w-[240px] truncate whitespace-nowrap ${p===e.slug?"bg-blue-600 text-white":"bg-white border border-gray-200 hover:bg-blue-50"}`,children:"all"===e.slug?"zh"===c?"全部研究领域":"All Research Areas":`${H(e)} `},e.slug))}),G>0&&(0,t.jsx)("button",{type:"button",onClick:()=>b(e=>!e),className:"mt-3 text-sm text-blue-600 hover:text-blue-700 font-medium",children:x?"zh"===c?"收起研究领域":"Collapse Focuses":"zh"===c?`展开全部研究领域(+${G})`:`Show All Research Areas (+${G})`})]}),(0,t.jsx)("div",{className:"mb-8",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-3",children:[{id:0,slug:"all",label:"All Countries"},...L.filter(e=>"unknown"!==e.slug)].map(e=>(0,t.jsx)("button",{onClick:()=>j(e.slug),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${y===e.slug?"bg-sky-300 text-white":"bg-white border border-gray-200 hover:bg-sky-50"}`,children:"all"===e.slug?"zh"===c?"全部国家/地区":"All Countries":H(e)},e.slug))})}),D&&(0,t.jsx)("p",{className:"mb-8 text-sm text-red-600",children:D}),R&&(0,t.jsx)("p",{className:"mb-8 text-sm text-slate-500",children:"zh"===c?"成员加载中...":"Loading members..."}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-8",children:N.map(e=>
10{let n=V(e.country_name),r=!!w[e.id],i=e.job_title.length>70||e.affiliation.length>45;return(0,t.jsxs)("div",{className:"bg-white rounded-3xl p-6 border border-slate-100 shadow-sm hover:shadow-xl transition-all group h-[420px] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,t.jsx)("div",{className:"w-20 h-20 rounded-2xl overflow-hidden bg-slate-100",children:(0,t.jsx)("img",{alt:e.full_name,className:"w-full h-full object-cover",src:X(e)})}),(0,t.jsx)("div",{className:"text-right",children:(0,t.jsxs)("div",{className:`inline-flex items-center px-3 py-1 ${n.cls} rounded-full text-xs font-bold`,children:[(0,t.jsx)(s.Icon,{icon:n.icon,className:"mr-1"})," ",e.country_name||("zh"===c?"未设置":"N/A")]})})]}),(0,t.jsx)("h3",{className:"text-2xl font-bold text-slate-900 mb-2",children:e.full_name}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto pr-1",children:[(0,t.jsx)("p",{className:"text-sm font-semibold text-slate-600 mb-1 overflow-hidden",style:r?void 0:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e.job_title}),(0,t.jsx)("p",{className:"text-sm text-slate-500 mb-2 overflow-hidden",style:r?void 0:{display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical"},children:e.affiliation}),i&&(0,t.jsx)("button",{type:"button",onClick:()=>v(t=>({...t,[e.id]:!t[e.id]})),className:"mb-3 text-xs font-medium text-indigo-600 hover:text-indigo-700",children:r?"zh"===c?"收起":"Collapse":"zh"===c?"点击展开":"Expand"}),(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsx)("p",{className:"text-xs text-slate-400 mb-2 font-medium",children:"zh"===c?"研究领域:":"Research Areas:"}),(0,t.jsx)("div",{className:"max-h-16 overflow-y-auto pr-1",children:(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:e.focus_tags.map(e=>(0,t.jsx)("span",{className:"px-3 py-1.5 bg-slate-100 text-slate-700 rounded-lg text-xs font-bold",children:e},e))})})]})]}),(0,t.jsxs)("button",{onClick:async()=>{f(await (0,o.fetchMemberDetail)(e.id))},className:"w-full inline-flex justify-center items-center px-4 py-3 bg-indigo-600 text-white rounded-xl font-bold text-sm hover:bg-indigo-700 transition-all mt-auto",style:{WebkitTapHighlightColor:"transparent"},children:[(0,t.jsx)("span",{children:"zh"===c?"查看档案":"View Profile"}),(0,t.jsx)(s.Icon,{icon:"heroicons:arrow-right-20-solid",className:"ml-2"})]})]},e.id)})}),z&&(0,t.jsx)("div",{className:"mt-8 text-center",children:(0,t.jsx)("button",{onClick:q,disabled:O,className:"bg-white border border-gray-200 text-slate-600 px-10 py-4 rounded-full font-bold hover:bg-slate-50 hover:border-indigo-200 transition-all shadow-sm disabled:opacity-50 disabled:cursor-not-allowed",children:O?"zh"===c?"加载中...":"Loading...":"zh"===c?"加载更多":"Load more"})}),(0,t.jsx)("div",{className:"text-center mt-8",children:(0,t.jsx)("p",{className:"text-slate-500 text-sm",children:"zh"===c?`显示 ${N.length} 位成员,共 ${E} 位`:`Showing ${N.length} of ${E} members`})})]})}),W&&(0,t.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,t.jsx)("div",{className:"absolute inset-0 z-0 bg-black/45 backdrop-blur-sm",onClick:()=>f(null)}),(0,t.jsx)("div",{className:"relative z-10 flex items-center justify-center min-h-screen p-4",children:(0,t.jsxs)("div",{className:"relative bg-white rounded-3xl w-full max-w-4xl max-h-[90vh] overflow-y-auto shadow-2xl animate-slideIn",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("button",{type:"button",onClick:()=>f(null),"aria-label":"zh"===c?"关闭弹窗":"Close modal",className:"absolute top-4 right-4 z-20 inline-flex items-center justify-center w-10 h-10 rounded-full bg-white/90 text-slate-500 border border-slate-200 hover:text-slate-700 hover:bg-white transition-all",children:(0,t.jsx)(s.Icon,{icon:"heroicons:x-mark-20-solid",className:"text-xl"})}),(0,t.jsxs)("div",{className:"md:grid md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"md:col-span-1 bg-gradient-to-b from-indigo-50 to-white p-8",children:[(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsx)("div",{className:"w-48 h-48 rounded-3xl overflow-hidden mx-auto border-4 border-white shadow-lg",children:(0,t.jsx)("img",{alt:`Photo of ${W.full_name}`,className:"w-full h-full object-cover",src:X(W)})})}),(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsxs)("div",{className:`inline-flex items-center px-4 py-2 rounded-full text-sm font-bold mb-4 ${V(W.country_name).cls}`,children:[(0,t.jsx)(s.Icon,{icon:V(W.country_name).icon,className:"mr-2"}),W.country_name||("zh"===c?"未设置":"N/A")]}),(0,t.jsx)("h2",{className:"text-3xl font-black text-slate-900 mb-2",children:W.full_name}),(0,t.jsx)("p",{className:"text-slate-600 font-medium mb-1",children:W.job_title}),(0,t.jsx)("p",{className:"text-slate-500 text-sm",children:W.affiliation})]}),(0,t.jsxs)("div",{className:"mt-8 pt-8 border-t border-slate-200",children:[(0,t.jsx)("h3",{className:"text-sm font-bold text-slate-400 uppercase tracking-widest mb-4",children:"zh"===c?"联系":"Contact"}),(0,t.jsxs)("div",{className:"mb-2 space-y-2",children:[(0,t.jsxs)("a",{href:W.webpage_url||"#",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center text-indigo-600 hover:text-indigo-700 font-medium",children:[(0,t.jsx)(s.Icon,{icon:"heroicons:globe-alt-20-solid",className:"mr-2"})," ","zh"===c?"个人网页":"Personal Webpage"]}),W.emails.map(e=>(0,t.jsxs)("p",{className:"text-sm text-slate-600",children:[(0,t.jsx)(s.Icon,{icon:"heroicons:envelope-20-solid",className:"mr-1 inline-block"}),e]},e))]})]})]}),(0,t.jsxs)("div",{className:"md:col-span-2 p-8 md:p-12",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h3",{className:"text-2xl font-bold text-slate-900 mb-4",children:"zh"===c?"研究档案":"Research Profile"}),(0,t.jsx)("p",{className:"text-slate-600 leading-relaxed",children:W.biography})]}
10),W.focus_tags&&(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h4",{className:"text-sm font-bold text-slate-400 uppercase tracking-widest mb-4",children:"zh"===c?"研究领域":"Research Areas"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-3",children:W.focus_tags.map(e=>(0,t.jsx)("span",{className:"px-3 py-1.5 bg-indigo-50 text-indigo-700 rounded-lg text-sm font-medium",children:e},e))})]}),W.research_interest&&(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h4",{className:"text-sm font-bold text-slate-400 uppercase tracking-widest mb-4",children:"zh"===c?"研究兴趣":"Research Interest"}),(0,t.jsx)("p",{className:"text-slate-600 leading-relaxed",children:W.research_interest})]})]})]})]})})]}),(0,t.jsx)(l.default,{lang:c})]})}e.s(["default",()=>c])}]);

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.