{"id":22020,"date":"2025-10-02T06:46:07","date_gmt":"2025-10-02T06:46:07","guid":{"rendered":"https:\/\/oschk.org\/?page_id=22020"},"modified":"2026-07-13T02:53:37","modified_gmt":"2026-07-13T02:53:37","slug":"impact-news","status":"publish","type":"page","link":"https:\/\/oschk.org\/zh\/impact-news\/","title":{"rendered":"\u793e\u5340\u6545\u4e8b"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22020\" class=\"elementor elementor-22020\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-60492fe e-flex e-con-boxed e-con e-parent\" data-id=\"60492fe\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-88dd8ea e-con-full e-flex e-con e-child\" data-id=\"88dd8ea\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-c947199 e-con-full e-flex e-con e-child\" data-id=\"c947199\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a706e5c elementor-widget elementor-widget-heading\" data-id=\"a706e5c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><span data-metadata=\"&lt;!--(figmeta)eyJmaWxlS2V5IjoiZnNuYkl1c0xBYkszdWdCTjF1ajJtYiIsInBhc3RlSUQiOjEwODYzMjU1ODgsImRhdGFUeXBlIjoic2NlbmUifQo=(\/figmeta)--&gt;\"><\/span><span data-buffer=\"&lt;!--(figma)ZmlnLWtpd2lfAAAAxmYAALW9C5xkSVXgHffefFR1dU\/P+8XM8BreqPPi5TtfVZXd+Zq8WdXTs65lVmVWV9JZmWnerJ5u9oWIiIiIiIiIiCwissgiIiIiIrKIiIiIiIjsiMiyLOuyLMuyLMt+\/3Mi7s2b1TWs3+\/7ffObrhtxIuLEiRMnTpxzIu7NLwf1fhR1z\/U7lyZ9Y2481aw2tsJOod0x\/NdolitbpfVCY60SkvU2wko7lfe1dqVRJh2E1bVGoUYqE3bO1ioksprYCiuCK6d1FfNWeLra2mpXas2CtMw3mp3q6tmtcL25UStvbbTW2oWytF9yya1ysyH55Tjfrqy2K+E6oGNhqdKobAFurW\/du1FpnwW4kga2K62aAI+Xq6urPE+UatVKo7NVbNN7qRAKbVekaDvV3GgzjopQdjLstCuFui0hf6XL2xFfVW10Ku1CqVPdZJC1KoRZ1lB2dbtSajYalRKDTRETU3jN0cUxrdcqPfSyVW2U2pU69BZqlLo21LhOZwa6OhvhvNfr3djaNK20dQg3FC4OImbqPtJGcHuFnR1mHBBDKW81G9qj0cyZdrUjeLzGuNdv7XWjPtUgoNBRXFSqNzc16Z0ZjHqD0bn2wVDqNJqN+yvtJgWmWdZywWBF6tsprAAy5WZpQ4ZC0isVGpuFkJS\/1m5utEgEq+1CXeplis1mrVJobDVbcLdTbTYAZjcZd7NNKseg5ZmvVRXtUqVWq7ZCSS7DoQ6sUOE71q6sbdQK7a1Ws3Z2TZGs0BWMKcOfeb3jncp9QtIJZrAkgCvCs\/ViUwT5ZLVBZw2FMvXV0mlh1VXheqFV2TpT7axvubZXu4lRAq8pydQUa83SaXLXnqmW13QBXAeuuoz0+nqlXC2QuGG9urZe458U3xiCwA72JpfcgtntWkE6vflMIVyvbnXomdzDNgvtaqGo9N\/ScYlbNbFVgh\/kbouruOX3cIani+oRhTCshkzoFpibG1L2yMsFuVJTqaPwUQkioaZNIcBH15vlDe31dlt\/jQJyj7G5dvMMmceyRlvNRqhYlYjHKWtKzTpgi\/3xwsGtVqEji\/kJWpxi+hMVUKsW2wVdNk\/S\/GpVe36yZhhERbj+LcX2hmqEb60XGoU1hsdarTbWgHxbp11ohKvNdp3MHaV6uNWulpK5u5NFJwIuSO46Fco6ubtSL1bKIiitdrPT7JxVpt\/DOmC9rlaLWvcpqdHZxahDfOqZSrFF\/ySfdrpyNhbqp8fpLYhRwXhGuNed9M8MZnud\/sWZXSq3hfduFNoVSg2z6KTaQ1jqTdU4PkNSuUVJkg2SbLl5RgQnc5SAZ1uFdqFWQ9uiZOqM3cpbbhFcq6wKNF9prG2VC4hSQTtfkjxaa0Myy5Jx3D+m6WYNPUNuhVG1Kvc3VQiOt1A9lVWWpzKwVAlloZ9Afis1Kb8iVgRbIROk2E4moPpGrVNtKfBKZnIDvVdttFRMr1qv3FewK\/nq0npls63Ja1o0c+BrmwzbJmW1CWXXt2ob0v0NhTZSGQ\/zRpuLeXFTuFGvQ8vWqY0Gq0AR3KyL+WFhq1JBWIobRZYAgFt0rbBBIF\/Ntp3oW4vD\/qhXR+MJOayvrc46M7Em4sgW2q7rtuiVC+3TFUHtu0GKSAeixtBSRXYdsplSs9ZMcllVDtomF6KHNaWKjxblJoqF\/JJtEmeXZZmyKkgeC5urHZYPOMitrBfaLHqX0+2QPcIutBOV+0rwyY78inWd7ZMhm0uigK\/UXkhcVduAVc2w2pEurm51ByMnvXTH6gdokKhylWmhNyEViJeA5Kn8QPOTFBCSKpoaWJDAqOSEPlOtWzZn2X1OVUnkNlEystnkURwyGySXGs2qSuxydR9rJtzpDvt2RjBH2pVOSSdjtSpj95BhpaBjZTmo7O72d9wolquo8jbGSIFFRaEpt5utedZDj1Rkz2JzLtY2hGi\/yIpeBAVWqZDKsJvUKx1VX1lGVxViczGx+bUa4kJiSZRASTfcXBOxrCJhgM1Gi02Qp1drntEENHcs0SFiVdsqFVrSPjPPsSrbJd2ks4K03N8ZT7uzwXhEm3grhlSEhMkh7cGf6unKXGT9xWbh7JLs8UEyu+UmTJeUd6awKePya\/2uGAOd6WCfXNwJxGytV5y8eY2D\/e3+dGM0mEUgaxeEmaZVva9SC0l4DBNDSGr6pfEomk3ncpVH3oAbKVceePWCqGkfwt3EBmEJk41EZhWM5S3bIusyWjsXzqbj8\/3CcHBuRIMEmWG\/QZxIeOyGLunbyqXuhHUQjwf+qEB6iZb2rRoRRsogAput3LtRrcmOolOYcZIsitNalVn4jcijthNQLm0J5Od7\/dad5JdS+bvIL6fyd5M\/lsrfQ34llX8K+eOp\/FPJnyhV26V071fY0Z4aD4QzdWzANlBTrGxWZARePHC\/OB4P+91Rc9K3osHoNhpWP8BGmonhQtoLN4rsCJr271O1EYhQKfPXx9PBs8ajWXdIc6ePU3OL8CsX\/FMbmFyrVaVw3nqzP50NWNwCa7YoSjUtIpjNOim\/Pj6I+qWDaTSewg82owIalwJTajdD1nK1TdqrnK3I4kb0yPkY0dpVizWKe7BRYk2Qz7C\/8MjyKFVrpHJ10ePSJM8U4xCRWkrmT7PLsqpFQR3bRK+Mp\/XBdCqUJOtPp5+npwkUIIqZDVWtIL\/cjfas6vJLGAGAzFzSPVVvdmFkWmrfmFOtijy9cFMefqssfk5QuTgZT2eHF1OAqcqOwt7rVoyJARiq2r8XA5K169e6l8YHs7XpoGeRZOz6SrF+TqBvl1swb9Pqzmb96YgialVbulTYIlSZeDqxB7Nxux8NngXqhEVKjnImocNLUqqiOtOD0Y6TQ79cDcVIFZwG74fNnISnuivsu7Ezh+2w6TRrB0eOh1dCzKzQrLZZucyyqLSgU8FIdWZnJkYDM2f9hJOJQkSt66ZF0os3KzRId+e8ncZMPKZ1VPv9cFcp8Nin8Sk0zV6oqAJtpYJOs8u4bFnrF5E60TmkbYPS+ADCpq5d7qHawX43SUFhoyPymUmhyiqqUwfRbLB7iexDYmkVSjgImxXrOQY2X6x0zlj7JCNzXtobDHuOnozrzFiMXoIxFhXtOLTTryobIL5mWL0fc7mJnlLOLgCQVqSjWm\/htJGTEupYprfG0UCkgh0JUNx5och8bVj3VqudmYp2Z7fC7S20ABv3tMVpnrp5p3aM7fCgPaqMWOt0a6XjWDznKBMsFOxFcRLIexttnfEiRgPPoFRrqimQwX\/Yin0t8tmNFnZ4ZUudxa32RqNTVU8ix\/IsV8UqU8nJp5tt4ZZJnaVm8RSamNWDOEpVYMtVxjDtpki8Eg8TBaNkmMIqZG5JH+yC5L16k2APtjdp36ZtQUCrdbExSWdsAZaRVMvanLomOWrhBqhtQ3xHWbFUxl7muUwZ7lDc7BjZzab1vVdI2wGv66QfT\/KsafInbBexAF1hs0QLNqX1yc60O7Jzb0d4M3s7flBHnC52eccJg65AFrSJt0o8iadvHdfVdjNxhYIUKN6UMimY3X6yKUiy\/+Ra+KIW5pDl55AY19IcZFEtzwEJpmMScLEwh2llDokxHZ+DLCbYFAMSTFdYQplEKsXITi4AY3xXLkAtyqsWYAnWq7UnB3VIr0nDYpzXpoEW5XVpUILxehRotYQk6\/zcgF1LUM4KsgBuxA9qYunOITdVuhFL3c74FcTNShvFaokCI6jjjIfPksr6ovSsy0ELWYtJUUbqLUCytu0CLGf3jSSfD1su3LC0hniyFhPAsquaAI7ZlC4QVq9dHSuLwM4Z0TPHDwHX8QEBnwh3puPhsDyYWpUD0W6NfZMtBg6r6rdt0Vcz0Qb9Htpu1qe8cl+L3dYq3xIYxH7TnLe2webk+RFhQzojnTfecIwRpkm\/NB5i3HiZqVk23jn++Nv8Cbr8yVj7h8YXyXmX+OO3AVF7DniAP8EefzKKKZyNJzTYkbTpGW\/i1DkVbFdSYbM7NX6wI1mpowmBvS5n\/FSDoN6dTQcXjZfbv+MO8t7+HXfy8PfvuItHsH+nADP7dwowu3+nAHOt7hRdXx31+rTzzx0MemY7RcWK8a0rQ+GF7vCgTxvvQN2a24y\/Clsb3f2+8YLd7v5geIn6XiTmAwmhbBbtTAeTGblA6kLzoEuTg\/3+dLCzOjh3MGUuMIJc0MAgpwgACY9Yi8bTSWs3i03DSXeHVbDQluALNoxoPc17RHWcn30EglWRBhlgGgOal3CKpjHxkH8ViHTrUncSIf3zJixYda49Hltxxm9V8FuF9ADAVpIT94EYvCSzgBjsGslcCn8r5nuaLNwL\/uJlYNCRUHpCZTKTk9Sqsgh0bXphfx9Ug50z\/cG5vdlCJSK9MqSkShW\/ZLCzUGWOp4Q5F44Y8d6Y\/nTZoBvYV2zFsIH7vY4is8PwmrKz+jF0i+ipdYVqtTobK4ua0JvdIpH8Xr+5\/UyWhtVjAWHEJLZpJKN2BEuS2QTiNdjX0Z5xFb82jq1N+GRVAZzmrydqy0UnXLDfx4HTHXK1352pwP2918Jbp8iU7mrZodpZ8UutUOCBzA5PnTCeWRfuzxHCE28j32yXha6lwmpbypfLDdXmxxobdaFvBedIQt7HMTiENyfK9nmFeE08TxKNkOeVhYI6aleV7PNqPFV5XhPa\/LXtTQ33XCeajef14RmN+t5QCs\/I80aEVeA3lUoaa785tAbvw9aJefO8xVmKtzbbDaHvNplcng\/HQBA5eES5o\/GIR67WCjKOR9XX2jKLjw5Zezxvx\/OT\/h+zin\/C87Hr9vm4ddvv4zs2\/4R77fOJLft8knizPJ9cWy1K\/luaLX1+a7ujz29r2fZ3tE43hE931tC\/PO\/iKXTe3e7UJH8PT8k\/pVBsb\/J8aqG4Kfmn8RS6n75p8TxjE4J4fnuxdkbm5zt4Sr3v5Cn1vqtwel3G8d2lU+qlf09pVRXD95Zami+UNtpSr4itJPkSu4M8y6sWf4XwrtCzyvMunms87+a5TrfSX5Wn4D+1bsdDb2tCT229eUrkBldADbxGFUuMZ\/NU62lP59k61Xq64Ln3VOsZd\/Bsn2rdcQ\/PsHaqLu06HKtI\/Q3MApmXTbEOeZ7hKXTcVz9dF\/jZRk3t2vsbG6c7PP8JO6jQ9X08Q57\/dBOG8\/z+VtgR+BZPgf9A+3Rb8t12a12e2+2Nosz7ToirwbPXsXT0Ow11H3eZJpm\/c5sES3nubdrywaYd9zM3T6u8nN9sd9o8hzzv4rkfhuxExox4Sn7M826eE5738PxBnk\/hOeX5VJ4Rz6fxnPEUPh3wfAbPC2HIHmbMAzwF30Wegu8ST8H3LJ6C75\/xFHz\/nKfg+xc8Bd+\/5Cn4\/hVPwfdsLwzvEoQ\/5JU2lcLnSEJQ\/rAkBOdzJSFIf0QSgvV5khC0PyoJwft8SQjiH5OEYH4BCSX1xyUhmF8oCcH8E5IQzC+ShGD+SUkI5hdLQjD\/lCQE80skIZh\/WhKC+aUklOafkYRgfpkkBPPPSkIwv1wSgvnnJCGYXyEJwfzzkhDMr5SEYP4FSQjmV5G4WzD\/oiQE86slIZh\/SRKC+TWSEMz\/WhKC+bWSEMy\/LAnB\/DpJCOZfkYRgfj2JewTzr0pCML9BEoL530hCML9REoL51yQhmN8kCcH8byUhmN8sCcH865IQzG8h8RTB\/BuSEMxvlYRg\/k1JCOa3SUIw\/5YkBPPbJSGYf1sSgvkdkhDMvyMJwfxOEk8VzL8rCcH8LkkI5t+ThGB+tyQE8+9LQjC\/RxKC+Q8kIZjfKwnB\/O8kIZjfR+JpgvkPJSGY3y8JwfxHkhDMH5CEYP5jSQjmD0pCMP+JJATzhyQhmP9UEoL5wySeLpj\/TBKC+SOSEMx\/LgnB\/FFJCOa\/kIRg\/pgkBPNfSkIwf1wSgvmvJCGYP0FCVdRfS0Iwf1ISgvlvJCGYPyUJwfzvJSGYH5SEYP5bSQjmT0tCMP+dJATzZ7zDoTtMzRnbtXmq8WKT0xejvN6dTMTo8\/zd6XhfzNTZmL9+cTgm7W1fmvUjE3g2Zmj8gBP9PcmPxELFHu11Z12tmzfB5qDXHxvfj+tEd29Mh1Kp1Y1m\/XB8MN0BhR9NsVIxtMSsne40xOKgQ0AEF0pihRd6zzyIoHhpJoRjG0d73d74gYikv4f5RTxlD1sZ67vXn3UHQ1KZPuONxBDBCr9AvKVPwJB0btbf11CzLcpfGGzj4EPGMs6z8MV26y6wGP\/Y\/79d7mBlTmEG6eXtqeAc0TO5Y0qM8R+jk3Slse4Ifok\/Fqt8Jl5OcGEQDbZhnGcyPNxx4RUmG+HNROaZXg7co2h3PN03I5Mf6Iy91DNLmurs4XKMhHRAy90RQDy3qhQJ5EoLwUzGimdq8+Yq8ulTsKvNMQvZGx8MeyWhr94dAYCe66djbFkaQ+ZKJE1IHN9V3mpNN6Wv8MyJiYx0VYvQl+aK\/v74mQMxXlscHsDjvHfyggrSyzxzNYH+c4MRbqL0fGbQm+1B2TUL0HVrkefNtTvSE0a\/uHDXDaTMZR6uHJLM0LthJoxY70Z7Rc7KUDQr5sYEhNTeFKmcilhWxW27OZIJYIUsm4dNbBg6dJBd8xgH6SDPHZm513jmlgvufKGA0Iz2cQRR5+bWPYi2ZxYL8NsG0skjusOZxKMh5pGj8SCyyF7tmUf1+hKOkul\/tBZojHPX3N6QjNbCQ+VkotpxJjsHRU2X9sobcZIluEgo52eE9zg7cO5cyusnWq6H5GrdJP7\/AjRGNx8KQQFOyzuUYeiJn0HCsxE39a3qLJsyusL42fP9S4bVvQu0NhjF88dCE0h5cK6PoAQ4v+SsR\/ZsBF5yzvfKcipHjukcWJnzg+7FQdTpnkMIPEk2RILRO7Gm07Mf2\/s1O3tdcVP704gaXpLTnqplET8\/knSTaSQK3e90WWvmFRA0hNjIfCHjHR\/qwcQmOKT7vFna7Q6H20R8ha7IzLxj+4M44psM7yrbyk1gZhvpsxjf4nnZc8NLk72IfdbL9frxsWnELuvlt4f4ZT94MBZF\/HbPu3IXvAk3X+d5y3vM5xRU54vji9R5k+etzJJzDXzMqYtEZM0JB+\/3EqquGI7PibBqlc64FPOjubsb9WfsDmbZOykzDC6L\/82ed3UPd\/9Cv1dT+v8h411TtoA5nx2P3Gi9hdH689GiThdGi2JbGG328Ghzl48270YFjoXRLjl4arTL\/4jRHjs82pWeHVxN6We0x9dTNBg\/t02cvxeZPYI4dr9zEZ9gZx+pnJ7rz8yLEdoxLnN11Og\/gEgZz8xHgnuXJRCedMsamaOMZsmQCJSh9eN0MECjDemI1bFv255mZeVNtuiYbfwldigb+2AOHlD1yTqTsrMkVKIT3mQkV4h2QEUuz8IeT\/u11LE8+9fuYBrNEq5JXxCUzufWZGqNv7wz3t\/vMoSitQ3mwa9dY9cXg2YMMr0qI\/R\/OfJu74LbOXOX7xJ5BVVFzYdw+DM5s5TahZbLiWBhckyJisBND27GXYuF4yQNBXLB6ewiewRMV3C9O2WC3TykibYRSZVIaSmZRn\/2wJjqbrSwbp+5eRahUf4kY75cp8iCQZfuhTLLEIpWsyoL9Th9oDuV2VU7TSoZ3xPJisy254WX9rfHQ0dDpBmIQ65sOu4pkl58Youg2w8ZYH8V7mJZMPsxWsReTUDfR5jAMAGGXW78spX74rTfPT8RttvuvHEauV7TXOuPxOKB2bZKsFjlIOqvIlxrYonCkksj3T49rMfB7m5zNLzUZi4vdIdaO3DdVvf3D2bCKDVILF5\/ES8Zp4H9U9FFW+UQdQ7ZQxUXoqg\/q\/ZgAUVI\/nRAwYe9pKAC6BL9diUry4s9Q9PVHka\/8QuSbveZYP+8LQW90oQa0EIq+nmZNmFtVyBS\/SO0jRBWeDI+mFR7+AsmUBkh\/XFWtJ1GMp\/wsC5lq4MTZD+J4oizoWJ\/0OPkII3Kj\/XPYnehw\/5QxXGHD1G+6TpFyv4vNZqwQDhc7f3faoYMoPxQlTA6D+iu91DlHPdP2DWY3RA0D1mts9ff\/yZEi0qpDbDQp5eqvW9WCYv1mxAjNUrjfQjqE\/h\/6Grd0YVuJCumSp0grhPFvGeyLxcLVfjt7kgsbSmdbwdIrN0OKhd3hgfCCoDQMhx2t1X5XeiLgmlOGD9NcTWQTNK03EGxoWU1c1QLayT6nH5i\/2HEmXKlVulUSBDCPlQ7ZNlMJv1ec9I+GMl1VLGjfKvPGcOXPONND0a1\/ugcioXuJvZ4pBdR5AXT\/jb7Va85gkwLyvzfe6iNd9glZ0LklwW9cueLcE9T1kUp9quMEGbCo3YfoYxgoAl22HLoviiebXVUPNjdZbOhacYR0hYMAsheRoZ2z646sINaGId1ryEmmMYIMpr6ZsRkHTFoi5zrPsWHvAO1BY0gXFqgqDVEnQpZ8HpvgIszvdScRMIdaf8VlNgiVHj2VQh1UOHp6FzJEuDYgPbd2ZPeos64AMNHPfO1I+ejP2TbQ5iYhBHSLEK8O+gPezK9kRamyA52YNSsMFud0hmjzsxAsQkLBAHjzM6XcocSVVSqIqjt5zGlzzjLxfYhmltseyqgQ1bBqZvs63ImiIE19hln2ADOJGBx0aex+0ZJollb3Wn33LQ72UsV5kbsO8xMfnXYnbgFkW1xcswiMHq\/myen\/6VKy14C9TnkWWvIHWQygdyM3ygKPBNipvVVEbWmY1x1f2kmmZgFsms4OkJVZQ8iyLOYEzKZH2ed4OEAYirU7z7A47gUOk4beDqIiuNpz7nbR1TIRgfbcnC4jZUunTuVlIt2yHVjUvIYfpHbzfs9Jmy\/3I8wBUGwNB\/F4nb5fB9zJF1WoUA2zZnkGc5nWSuatqN\/rs9ug5knloDoPSjps5Cw8\/zlXbTsabuRRlqIgtpmsi156qJz7Cl6s9VNLJeICCGegyxoJDg7tOpczJvOOHSjppoAiAZ7uZ1YUdue8gej3aH4s3LdJ41yaRBtxEXKw2VLdiluX+8S14oNwZ0YarF6k4Pt4SDaA5l0LOR2xp1+d782J0868Q93gr5HycOOeB8NZzLsuU0lqJq74QNQKtok0spisKHUF0hYtJaOxrt51z8K81DO6sPUjMRNHGr6nSIwsg2uMoUVKwEQZPMIwefBcrgaKyGRopf4nlccHkyTrWd+ehqfcnJaSc5r9yccOrpanPfaSxiGUxR7iOptcJTuipPbwaZdqel5J0mHoSnLhTqrzfaZQlsWM5UId4Rax17oLhBNYC3fB8S++nTfFqd8W5L0bQ3j3z6Tvq413li9SKx9toDe4EDiepl5zC7LI4nZ5aIJVnWPGvlob\/wAckW0sdhHWnoNqcFyszg2cUjQRfhTLGuXOWYbu9zKRZc4fsklTujmzlq+YqoD7Qh9L\/fNya6M5lW+ufIg5tArfHPVWPnwSt9cvT3n\/8t8cw3zP50140FdC\/VJ5hYtayuJDOI6JU\/ClVF\/ZzzqId8lB7lxJJEq1dC75vqoj4znza07w8GExSnvrzDWG+ZRrpu0upLwas\/cPI9+Pmza3xXPEDWQdHtbNOnvHAy708LoHDxeJtDnAFXZ1RzKR2yz3w6VgmXzyJ09lBob2U5hGwkmgdZbNo8Cu6hKcmW2R5V7Qm5AXZ9phLd3pi7OymwO2JOmSq+E1NyVfZO6su+FpytnePqXtZJwszR8jZ+SHX8uMagUO4+YJul5zMbzmEvPYz6Zx6XofP+B+yB0WRJnSRzTvtUBr452JUY\/k1b3G693kPDARz3PxlJQ7l8Y7NhJmF8LkmNPvc7slTiI1qN5X2HEDN2VAlw3adiO3XBZxLZxqXRmS486vEOdYLtIxrweHkQyRXAA6YYXVYRiZvmEyqeVxfkG32SaKB\/iSy0XU+gIAowjKNG4o+k0W\/FNMk\/SSYkvufg+WVBsyoWxuGbGZZPKWQeI6+fsy0Sk8o6AIiG\/c1jqYoWzEVhJoZdk1HIxc6vZsHck5Z6aeznAuwyBHUPSkiPtankrfmHm8uoFNDQmi4ip728nYMXyFlg5B8Xr0G90OaRQHmotk20UNqtr9gKcaaL3avrGjxee0Wscvjy3COpqhcDdmdOrq5kKJx9yuARmpnMXTQ4wfv+KCiZsr+n1Go7+W6Ddat29tXkPAL9UPytn6u5meYg9xv7INnA8wgAdXGSmvYFEdJTEe4yPMolmEjaYcbJrgujCOdltG2KYYfOQrZZZTX3zTlYFuebBbIjpJ4YS5Wz0TAvRIgkxkM9TY3VMcD\/UlxXYvc9HgJcITxS2o\/HwYNZ38R62+p306N7um2M\/iEVl1\/8KDYqDnYPtwU7Y3Z8MkVDPHHdD2lxzJOE8rW41KhV3H65QO1M4G5LwahoZlSvOxj8xk4E+3WjY2vgLq390sB9alRQZ4oNOQ3DYFFloKMuF0Ni5A2yHqcvllW7me2kiJsV0ZL7dLKcwuS3imMXmciuRLRUcDnR8jtVBTqxhdSFuGmyH1FhloTjOUYJRELSwH6jwALsY06ov9i4ZjICFUCAurFi1ZZJBKMmOsEDuf1nRl3dKeHhhp908LRDfvWYZVFZXObMglancJ7fSSGXdrfdccXoQ7TWxJDhhkaHQ7Oh9XSvaLlO32U1Y0vfASHnlS6PuPlOrQhImIhrsTvs\/eICdKiJAMPWc3XL8aH88xroVDRoQYVOuHWqaPYfBvNCoOzon29SpgVQHMNdv2AwRTE9KsiDrz3b2eCzg9Mapwb6P6WCa1IVQZ6kl4Tp068SpSBARiXCxXR+zzSWDqH9OgsfVnogY+zHmrU5Ke26U2wmzJmUc3nKWeGzHSwWWExTL8oRXkUBck4hl0YrpoI2sKFsEv+QiKXYPugmpBaBqRpYJcnBfpbx1Zr2C+lyv1spbzdUtW1xtrG3pm7DUQkxQrWddiTT0C9OdhAqMFNhVcOYBxqYIZpz1ByMcncSaCKx9WyMiT9uD6QAKvd4gmgy7lxqicVbgnM2qgoH+1vCAg0jX20QziCPNCGYeaIPzdqAtLWv3h12OJPZsg8xEgbbBft+eQNPErReSwSAq48FhMaMPMvWD4Wwgvfenq+IHb9qpYILUTkBaiOukgzx+acwAJdxb78rxtNylc4vMvYQguyMP322Bgd3xSGXiTS+bbIc5abM1PyYElK\/YF0aXUm9GLCedVka9iRXDoO+SYttC2jbeUSwQ7Pf7lrpP+yZIGpNA4IctacUIU9WtqqQZVWxdmY2QlJQTN6yWyzV9yYPNS5WEmYPsiSQhLNe0ubtbAB2PCApSFx+L7Ig8vWKlpi9tLvZWH9jxMLQIoHT8OT+tEUml8H4+PTLkqx\/K8qC7Sq3YPGP3B3RRwfEcA6ttv5GQ6tVqrMQE0Xu1rAFSXmE0ctqD\/YozpdklW\/uRTpUKbqtKvTP4xKLv\/OQ9qKBebWzF4IxkkqJsvXBfUoT1c9+8KG9RJqVLpWZb3nkVJ2xDVuFyoqyPifpmLuy94xXNaaBkUZaOr5LaWi3Uq3rB9IRm3VXLKzRzJu78JBqgMqflSgKTiOiWvFCDagByFTOPvTUHXG0BrULZvdZ1jQW4l12utTmlypkw1zWlsV7YvD79tYEblJR4NDfK9iPfKthaU6PpJs1jtm3UGw50s4KkSqm5oSgephBXKQbeokCpVmiUYMxWtVGuiNt5qxa42ofKbtMyacRQGwAergBX2cEecbl4GN+biYR8CZmdl5YI+ZwjMNhS85sZbzBoEJhCSV7ArxarNcsQFsU6tqOapr7c87esCcrssrVmy3Ews3jdOHt5RyU1VczS2UrNLjLTbBfsZ0i8tpX\/VrWh9iK9McukMsXahlTIdioqNrm1tn19Kn8E\/gMCnfus0R3t6KuMdkdBJc1jfhHV7MuJbXB5Y5oNeqqpLDu+gnFmW5uvsZwvayAxDD8OVKF8vcGsvx+Zr\/ueP6+L0o+7BK9OhrT7MpUUTjQGYnYsRjmQ2DaZeet6vyv3jWS\/FkUaijlmMlaFm0R1e06Z+7EKT9GawkCwbSD4vV38YUFH2p+NXQpjx0K1k+cExGzH2Lo2SyxDd06r3WRTk7gwai+HXRuDVwcX2bYwSC3OUI\/y1EAknrSELWWt9BWz7AJi9fGFvnNOx8Pead03CbFjVKwmBoOfqruOny5Mgs00OXRrB6ND8qVDATF8zv5Q2K5E65H+eeZkZJvR3+68qyFlbtsPJL2hZ\/sZzCsO9Fui\/dlxfY56tS1dVnoDTmZkAJnZgP18hm9QjcZPf+odd9JQDkGnVBTMDEoq93sF8e6DHaI5cSYjBbG6XypX5JNIzKE5s17tVIpNa896+iaVqFmfNbclrx039ctEQUgtgWdKTfn2DaksewD+evIVhtxqda1e0N0gj8l23vYUFGqtdbltLG88iXol5aFFqg1UjmTccZyrHWuGEG3Kxhq\/l6gXkeKcH7JxIXMhood9NW9U3MCa4+mJXmVV25W+UNuyMRtpxrwsIAAJzzYmPfi0MRpc7MT8hWNqzXI8JK3hbpDwOcPKvRAmKLINZqqkpxvGf27G+Sx6om6vDj1lstflVCZnfE1Y4FMnGLjYx3LKZiYmSGVthafNhCXHWCA8LejpIys2WXla0DMGUcvGg2UZsILe5C2S\/S5\/OBdtHf7zAvPsNNDJu3l+4P2cMyt\/T23pgpwwyinBhzzzf6yxjo2VN3e6pKWgP4hWB8NhKDD6\/wVvEDmXwkF+CUgT\/YVfqiFiWZ5x2Vct2g5DNO\/1zb\/2NFteGMHvxb4B6X+j0r5K7G50bjOB\/mRwyBV4tz9+JnGp8IAVyfzj58gcqXFrPuqbvyKaeKE+Ho\/wu2uD4aWymM3AP0nMPBzvzpxtHAotEPlmBtAYj6yUODb\/ugfHj\/BQwPLGdNHc3fmIb37NG4z2+tMBOswxDH5um1fF4BTftOA1cUHCMgX\/Sgx2kYGk4PVJgUaQ5wW\/GhdIcGAOfkMMTtFDHMOSQflve5ECewClCsdF5oN2xhRmK8Ylf5IqEYIF9qEUzBIl0D9NQYUigX04FW1qdVGCBCI97\/e9IyksJlWh8j1Mj6xGe7bN3PwtZMfZlt0MiWDjNzUlkBmZz2S8f4jnSD2z+SS9wDfPAptCF9fVPyOVNEgf5vzzdMFcJv+lBScbRUpGXuibl7tTqEVJf7F3EJ\/YgD3dyWvl2s4OKuro4s\/Eh0KwSRTEx9w2VbOr\/LQu6h8PXCWd+7+U8IklzRZ\/HDaW7mKkfxUj6yee4Ir5hIQFcCpLi42+PscinC73dyPz1oz3An8BDH8j86aM9+P2cNUCQyLqkflsxvs7d81IefNuz\/zgPGs1jMwadoBjscDlbOhfjPpwlAApk83UtfsS3aiMZLrEq31BfPhEtNc21GH\/5CLBqDgOIcVsicxbMt4LCRFzkliY9osH2w7RrydHUqGca5kX+d5Xk8s+CsK4erHvfU01fmyIjOOMHcIkblATQ8Fkze\/7+\/N976WB+YaonuFYoot\/incuSVw0Zlog\/yV9ne26OG0xV9k47Amz7B1UXzbXHwLZiqcSaHwUvWxuOAyzVU\/PWL4FuYK7zqzby8XmieYRR4Btg05Ssslik\/tu5snmkZcBbeUNgZfYCM315lFx2hZtSjZ1we5G8+hFiK12BrMpPoafmsfPc7b4+4RDDbZIMzNPiNO26J8qOpGgN3jmiXHGln2\/E7OOg6LIzX\/Qu8ObVmpLxE\/Go5oEu7F1JZj7rxZKma6Ls4MugZ55jWezcJMq5QGrvS\/jYFGma\/1Qupbdj4Vf6SrPSVdBkck1dcA\/nAaHGDOs2vv70zFFz00XNQ7sm7T2Ld4L5keOKHQyYC6a5x1RuhofQzzL\/Gi6uNTl6P2fm+enYclW\/C\/Nj3nspWi+GPnU\/LKtmaiWD1Cjy3jsZdBbzHt8saXItwhpwU9F5Jk\/i8E1+EP+zwnvXKwx9RLE\/vc+XGJZH3XVI8Lc8X4pjqewYp3d9iBWQAqkttHLA\/N3\/gwEG5gZNY2nx4TmzR97UsKmOxxwdni49IXBbCxRWLlo01nF8IbRkXmh5\/2JFxfs7i6WfMhLruqaFzEITxSRYHtpFkNCuSRDEFDE5u49V0krDnqDebc\/q7DOFF5pRfPdnORhZq53e+1OrUMZvHqt3z98p\/VHg8herTiwb2+sIzpMxvNTL4PkXNIuj2\/nqP68asS8TVnwd0imjnVlXuCZtwTzc9Ull7TVvhM8ySH1cpKxhd8Voc6IvK3I04K+h8MZe6hpRuZ4krGF39uDWJQrYjUyy96JVNZWKOzjgEDplfK0oHIcCG\/qPkZvrw+ktBo17dkO1a9eANh2qwJTLf2SwPxuykhp2uEx0msuA9qma2gtvNkkDnxtOm+rrEdqQrkXEJbNzem8rdKwIFWk5lHm1lTWVrjXQliH5nZOruOMLWwn+RDesvr+K8FrgegXtR7LwXaSsw3CXSytuQH22HnWlt9vG1iQ1HhcGmDr\/JO+mnqRebXvPcmlbcnWnFVxrOSuQyBbcVf6XeuP9\/ty4eM9vnd3GmDrnLM9x0Cpdc8iyNbbm7EK5nvIKogstUL+zweLpeH5waTKevTMK7Vkgy1UVmif1RuxdKbmFxQ+b9HZG+ycRw1FlP3ioTLVQ+Zm8+ogEWHEXg+fI1al94eB3CBHr7HKxpNaf5dtZC4jCMRPeekKbRGLQzVeMq9RHM8IIx2B5acP1zkK0UvnleYlAzEh5L4emgme\/MzhOp0xhhWl8yov0wAUfgnDj9gUmRGYrYrjZz3OTQhyFCJsv1lbOGTenjO\/Iq71ZQelz\/G3x2L5Mex1teKA\/aKD2UEk4Fc7sIw8Af6SA+pQE+hrHBR5xNNitcq6f50D0pVdeXDjVxzMdpWAX+\/A0lUC\/FUH1K4S6BscNFSRtGB2mTSv\/o2\/N44tqYRVM\/MIc8tRcCvNrUg+AYUU9U3ZsBW6jC18puZlXGyU0HA+nbdVhgpqdXuy5VJlP523VegQUImZQKWqpjHr5qICTx3Yb3CdMpc0b0tXzYc9za4nZDuEdPBntogtS43AecFHbAGBL2zmhvlzm7WWHPmP2nwLqwBzCfUlrRrm7xfA2n+VUF0ESZ+1RWnCbdGq+Q+uSL795ZquTcfyeZfP2RJHlk4h0P+4ALVCAPjzFqxoFH\/YH+7CnC9YeGz30MS0zE\/g5gJsY\/JPo\/79MvUXmfSftGD9xlfb\/IHNOZrdTNHTe\/39wYhB92WF\/DuxdeLM+xZaKBXIiLoKHfOXvoRC+myuF8CjdNLvYAeDI+u9LDiHD9KW10+fmzG\/oTl07sE+5gWAtyqA4jUoWza\/qVlbbiFvUwgVCpw1ory3zW8pxNZJgG9XINUYjZgov615W8mB3pECRQwMWs3zM+YTCqZlCvbXCtORbDoR0jGbmvnkvGg9Eby48G\/EjRqxyte6+2gV+8rLx32WElaiTJKEhNQn\/HHRWPbuUIiC0liRFrxwXlCE4+fmmxT71k94c1RqO77ONz+XgnVoZe43r0iByvM7UT\/vETFnhFrr+8wrU7VaWIf96YV+qGfYEP2b+KyExdVW1fqb5m0pkHy0bcX81pxWgtFMuHmjb97uoTbi+0Mdisx95ndSXUm4c3wg8v7OdM16lwz\/VGn\/rkcmLkmN4F0SaOQQXPMYTRfYJrtyG+bdqQ5CvaMestxmBX0PWNTtn85Jrc5RR+arGe\/T3li\/NGMrx9A3BEkDnSD4pnFy8\/ys+Z+ePe1Wj+2TvvdBl5dAPDaxPRL\/lO\/9dcwxCVuBw3zGN1+awyqEkoD8tzmkxvjt9v0PvvnyHK6tsacwtv77HEp7C\/vKHFZCHplCJZVIh+\/973lZsf+sQf\/yGv+eIyVXo4MhkRwHf8E3\/2feuAMjzBd989\/9bnICg5cTeP\/V30escC\/EkWBNB96zg3mVEuzn+EcOhr7hm38XEKE69JXv4+a\/egrdQAKdIl42\/4OZVs\/4iDen3u+Zbzx08SaKj45xtQh\/jlhW7gY4MCk27\/PMF71nuleoPuCZ\/xQ4VKcc7IOe+QIGqyC1Aaf\/DIN6\/aI4HTXMkAMcGvPJjPlhAk4O3JEL4eZTGfPrerrCarow6D+g2F6RNS\/zdXzOX4ITnnlF7AeWmA3hW2Is\/LyvL4y3kOtt1r\/5bMCigpr9iaJ7edb8WtyWbrAOVQ98Lsf554Q4nVh7ofRGWGww0vVgvp4zPxc8oEc98roaQS3mBhELzE\/5c3DJfh42b17igGXLlvBge8YBlyv+QmB+2pWXujs4\/mhgliQlLwzMS11JdTQ5mCUXYT6cMb\/gCsRymw0m8PRVDrI+vsAOpCL\/+cD8ayJSZxQeonTPyxTAkl+Gf7Kk4ZEjI2rKaxRU0+ZU+ZxDV+\/Puj3h00cy5nkOVrkgDDYfyng\/6iAtjEXU+qV6f3RgN+tPZLwfc4VKvEhng9lVCf14xvxU8MzoojSLhG3\/MVDpYM+IN19WAnuZr2CUNTvMQslv2hIaWAGPzEsy5m0WaKufEYNEwb\/ls\/gQWKYYfSz+MjKyO9C7gtL5f7usvIVyIDrALmdjSFT6sk\/Q1r3n8RwfN3IQVfa3+8gYlohTa7Dts9YhDyd99qxpYyzCuWJ+hNrikkyYfCmm4iuCmYg4O9RnPfO\/\/EjAHYFoh2\/Pm\/+dghElhvmc+VhQf18EU0L2bj39mC0gxrPN5L0jb34nDQj7EwKEIlEr5v1BbyCxwv1Wl1g550JskP+JI0eJgrTHRC63zeddNuY3rb7gu1Y1LZGrex0Z7+szqFVX5BCqefSGjPkvMdw2aXUPIjaiN2bQeBx2seDLA1mWImpft\/wnFFYZHeyvohmRf\/Ngxvwvu2lRIEyJCz6dMT\/kd\/WLviM0FAiumOes6VuUhW43+koSSz55GdBWLvX1AAaZUL3RtLdBr7ocaqtX9gfQVBvwQKvexMPlbHF9hqB3EKbz7G9UeFg6b6s0WWGIV9opwFl4zOVQW\/2spSQkAAeKyLzD975lEWTrIRFEapUTkRiZ32m+dRFiq20PdULWsLkizhW9b0vlbY2dXaYNmYvOE+pURsGP6DKgrYwmU9zjVfjhGXatJGsrXNhGRS180\/vx5vbDMFv1PmKDPQ7i9GPWDMzcYZ58CGQr\/sAOsyjn4cc0YYHfHbGnV9lcpyFclCD7jYsQW63WdRcAP+6bP+BQUrZizb\/DM3fMs7ZyzwISOjfdVpg3v6oxAuJVeyGdzDC9zJsDOy1FJtvKWcwqGPOAHCWgDN7tey\/wmFsVa5Eqyl7kRWolzj+3+f3mFzEUxDUP91mVe4yc8bza1XNBjF3zOs\/22IGUQhRurkkChP\/WVUSUkKQdPAmIZIP6AfMW0CYwJgokv+HtymUMNcCn\/VG8LlfMWx2WZN\/5mA+TKENNpo5xaio\/MWey5r3eiOrEvMmqlngbZoqetQwPXcp\/k4\/t4ArE0hP9G1eAsD+My+YMrQrjIF4qvNnHbrmsRgEli7ZjD2X3MH+kFRBtVZTb5i90+F2MwinHysI6d+wtzn1hhFsgPBd74pPWFyyBky5hlUxBw\/zNHIEcTAuGh0DwKe98\/xLB8HPnYOYLs+ZB78IYg74ie2drb8ppCSz+O08old1eJKnY3x1PsTOItcsAt73\/5A4Ya5hAbKm+95+9GTMssXPhvPkcepYJgdC9JsePCDmEYriN0aIcJJCGkB\/xh9THZXM+6fMJI7NxKYKXZTkJ41hgr95HXSvoa1nOwZAD5llmGfKc8LAJ\/owfDdh7CB3EB3at7qg\/lOG+0u\/uMBINNa936jVZP+\/IMcUS+26z2s07c+bfaq4wm00H20SJIvPhnPn7VMOa3HKCLW9mj4jDbxf6VQl408Xnkxc4ldDX5cxb7FEkkBJK82AfHojfMzFfCsxvJGUSWCleCrFlKPlqYN6ZlAiMQsLyOe\/taSjb8oOe+e0E1O4T10LqVWy\/kUUHxyVCih5LR+YNOfM7CbyDPIwaqEyG86kEGu6MJ9R8U877W3nPmWKE63Laf1ftY5g\/6140Xw\/wKfSmU6jHwRw74xNM4IlS8+LA\/ATGtcifXl5fQ88g6e9ysFBeqTppPp3wTu2ilvgjsN\/3fi\/oHXmh\/QO+eXcQYV1D4KGiD\/rm9wX7EffOP+Sb98StlJoOS1EDppEZeZ8LthUmZL\/fN+8NtllhtNt0pIGm2hPG\/8\/4tBYLPi6k5JOe+fDhNoBfnTdfQ2Aw+9w7WpWL7Nk9KTWcygVTNGhc\/TRqYMU8J5BtZby7GyLZB5Fw\/WM58x99eEq7WAUJ+GUZ84cOXGed9ZhtAb8ywwD2B9g3UtFiMe\/KmT+CjtTdE7r\/gM\/KwizCpXhRYP4YD4fAAxbjLsabeW\/O\/IVv1y+rTJc64\/mEh6bdEXXctkdq833h\/Tm0wNRCram1Yv7a7413ON3jEC+N+3058zfg5qAakUvfaIs4Vfc+ba3LAmg5axMbszbYtsz5jFKskqpkfzxn\/jMO0j7GcPKB2+d45isJzH3R9rme+R+sb2tBw1P7jrFQiQYVVvw0VjALyR3wMdnAfjj2FYuMKvUZkfd65ssU7XYPhrOFNvBnG05iQ9r437wd2D5AiEGh8ybic2ibPwr2wTWoMLY1lqvCPoRAxs3r8xfJ\/zvx\/Lg9XfK\/le43Bqy2bbcb4n7nOPOPdE2W6AXWvYp1m3oXPpyXfd0z76TpcAyezlhA8HsKpdDxOULIAXqVvYRtmKJV5i\/C9zN\/Dj6bLaU\/DfEPnvkoHKiwkV9S2kvApRYs+BJNQCVXI5osXCZ9jX1xYqf2K0cXbrJjiXTlzf9IjccRaFt+9cgCfBvvhzPWBrHvg0u5UAKVn\/dg2A75ipY3UHYgelO8gEuUlGJqqP4Fz\/wag5Ko1UIRY\/oPioYwYOq7yM\/Dygl29ro4qPpqBMsv7\/2BQqQpEyhDsnXflzd\/H3QHJco6e0x4z3w0b76oSAUWY2BAEPgZhcedcX5k\/ngBUmUikHDw2iuZD0J0ifKikwvo\/bOgi9G9Op5iPjD3nvmLYK8bFft9VIpdFe3+CHbIoviYIi9BFQiFg2UMaEKfnvnLo0vmMvC3CA10V2EUdoz5RN78lTZpavBNtezz2SoyApM5ERODAX5cK8XklmW1vSownwp29iPi4LRkDG8mciCAQ1vTuwLzWgG3sRg6fXdALwXvDcwH4bAsrr6+olxCwZ6j1\/6w11AnVL7J9DOuiuqWmtvrXx7ol0DK0y5qU4j5Ys78bAp2ejCrDNFPTjF8OWdewwBAgE67gMuk0M8E5pcdNPaOFf7xvPmTYO9gW4ZfcGYHY4FY8zoOjuX7hFg34lho9Q8F5n345RAsh+mq\/V6UMx+BbLv+0K0ww7w4hzHkxFgGa6fjvwWsxP50MqZ3+lD+fypv\/mcwIz47xGKM9xVzwnwtON+\/pB7VptgO5q05879QDxJNXGdnkuX\/YJ6dP67VZGCK1XyayMBlGLWvz+TNN4KdIQefotr+T1IpifaeJHASA5vWhThhfigDtzQwppNpPps3z8mUGFQs78bPR7qKWHG5AVxIC39+wnJF9jiCjV9v2TU+CPEI1PzcNcGOss7lsuxIWMEtPI5hW8gCiXa3II9+VpYHwuENdiB8xWjYUUYpGgeMGgKV1ZrpTlLXKLKl8fj8gDC\/+HwioMa\/elsz66x67HAw2jye2c6wCzOmaCd2L5xXejlcxtKKywLmdbBzKZbajBitE3W8yGVh32j8AJ4eRpkF5ax0uVx+2tc1aXNLBIBF53C0bQHLCYA1nrpKeAwcw0tssZGruJIAFiseR+G5249x1RMp0GLlK9ghz+Ni4E3bqicTwGLFK6PuhWSdXsUyEV8mzl+d5nUYb5H+St\/GVlBguEqoJtHhMnNoDuNfLMi5jixm8\/rABPbgT7NvkJcIbA\/3zaFUyjro2TmUujkHLS108boAidR5stfxl2YywFcHZtlCa5g\/rI1jRJiJB1BhJT2IRVzGLxbkh\/oM\/9WbZX2dxOsc1Wu6Zkd\/gMazaFMDMYF778KUKvLiCwkvfgPDt7VTAzTf7KfH2kfaJv51s8FMx+T1+ulJ9DHHh1QRR4fd14h5rvnBKHES5a1SB+1eTEGzMXQwqumaji2kXFzQvbhYkB+i9+l1aZfVzNpd7+qFpOVovDPoui+yWtCxc+PxObRyLNC4XMzHNlNzPsSD39FrjxfpA0k6vnOAj6zGhSzkUCMuiPgiuMLpD9I9BxbHvUtx3ZOLYFv3SkclfW+bq1I0KuBqjo2Ll\/C8ohpyI07uNUwQHnq73zvALa6PlcWeXAmSCbRSxPZkrkvNkWMU\/crcVVbdu0xhqVCr8PRK9TDZdv0Mm2sJE5IsqFHkTOeufgy3NGVrxYcxb2EZEbBH6b4jkK+OEnlE82VAs5qqiA7ltBkHTSX0rUGMJuL41\/MPVR7g08RVjV8vdErrW\/a3HYzLNPTFLprFpNrmxhdrQHd5S+t4wrmxwcnZx7sdRATMdHtDfV7W1m5pDNp4lXs3CrWQHkyqVsgYGcQh\/FO0ePEStjSrRgZBSdPBjF+Qn7ouV\/UVPlOupHJCeokJSdky82\/LvDvwLi+vUHhJ+p9DtTf8W+MtECWElA7Xgo3VUN5\/oXOjLzWWCx15g0Z6usx8mtPyPkvLQo0KZUJKJJnSEHkkjG+8GeXlfrQjSx02fsCyZKGlrWyW1ysFYYR8Q9y49F0kPZe+m7Tv0veQDlxavieecWn5pHhWftF3rV1oyTuduZp9+S5frDVLp+\/daHYq5JZSJKSI85VapQmefZy9Yf1yo8z39yyQKsy1yzSsJeDXu7KfsvYTa81+K5iaO2gs0JP0UR9Ws2MNAkSXfpSNxaVD3Oz9rvkwm8oCttJCsfE272AkZqFKg\/Vr10dGZpNiU2o2SoVOpcE\/cl6rtmF\/j9Nv1QqlynrT\/XJxcBkeCJ8Jqo+4SRSYDuhjTOHOWI80OZBX11XhH0drcx4+7Q4T0CcZFYbbTn9vPET8E\/inD4+tk+7AT9489xYqleadFqLLqkfw0Fts0FJqOjIKk3O\/1GLsC1ye\/WEpf1U\/axPUre7INDvryo5F6iyehT59ogdEFXYxhYXOnfEIjwHxiHBRvEUpsK2FChZRxa0SkYlPwFklHcoPSQ5e2T5uIG0gKp5K1maFhye\/TsfTb2zUi0rt4uS15gxfIDlYJHl33sWDdG+zOF8oPdmQg5L6KSnvxUevyXXW7nBTiJaPZiGEIJ0fWvu5Li7lhCz7jYfrOOjWQEPG57heza0Aa\/2BEqI8HWtENhPJ1tfBjq3jfJlsf9RLMrm6YJDoD+vOHENiZZJMq7BhP4PRaa7Jm3sC34qBft2+wh9sNFwq46pJdiuBZsPT1Zb8RrD7vEZO88VC6bQD5BWgXxhYCisd7UWKt9p2GpYxJjg21pNoVRmMfpcge2vua0QMMr6tKoD0d\/AJQa0mtbGPhBXAwlQTC80OoqZtZvM522+ZDZGA1OIpPdoXAx1uYRnkRSr1WICkX5eokkxMf4oUMpeIgqryL8qiWSisUBKLKHJyQSabhB8HJ0UYqJbC8WVwHCqtUASSYIT4repeAz0XUnUkMJ4EnG2Nr6BANhcg5smp\/enw2\/leouflLXH3krw\/B8oL5g1ZOEHo3vOPX7bP2Ffl562yFtCyr9bHH1PKLUKtsZtfBMbW8dIiOLGDlzerYbWoNpT9hgCLuEBmJf7owPHkEwAn3MfsEVW6UiK2Do\/5isU62vtllU7OK1k6jsZ15WXVjkZ3VbHZZpPQDhMWXu2ArmUCv8bBtccEeq2D2g4S8HX6g50N1lZbXvTtVCvS3\/WWlfpRAdrMZ+mGenX+lYcb5VMOceYmKUkYebMUJbmH6ccOkm8y3KLZ+NsHt2pOyehUmw3p\/rb5RxMerqXu+w2PqB3+QsOjsC1Sn3C4vblZaberZaRuKzxbLzZrWyxDYx6zfpbBUVfskMdieWyFFfqrgbYMRzBc04LxuLDWlDlg7PStCB6vH0SQLyTYrzE8QfPuAwkW9MT7tlryW\/SMgdyTUIfz3JPbzY6OjvS3xOtLLP3ktGm+kr+WWsnpKhXKZTlfcGVAIe1BlHwMkdqAtueLmjoVOeJw+ojK7ClEbPS8CJypbr9BtwtlFQroL7naZN6Wk66cJuoI+rZsI3KFJg4v0SyF8jkZz3vIehUqCfpBD4Lnn3EBtXzRsuXyVEwhfB4ID5VWKHpoNHJXgYMlHEXcVGqncL3A4TpcpUL5HOEsLjEvzIAyXZc6+3pll\/3evCjDXqt3dl1uoS6w1YOR3UPdJ\/NeTAPLzOXL6nakgglWa\/pxDvsBI57e+oaI\/CHW00TITo3spYzsyDoVKsyHFgGUzgt6ZtUaW85RLYXq5aC6rLxC4RzNxBUIy23V6qy\/b4fgu1f4jVr+PB2y9AHZvLNXJZ2lyisUzjsToHk13F2sx7Y\/6qrxb79H8gpqYNKwRTeQaAR\/2wQzLJqpBmpfkzGZC+OZPbN6bcZk9w8izqYk97qMyVnUnaQ6Homka\/Fnpx2NmzEGbF+SJdnn56X1BCX2AEc50ABxi3aWX07fe0quSgnX1D42nXZFnp6r18I24QBEgh3Gi7+VtsB\/V9EidBepBB1IzFlV7CxxF5AiQi0v6uJijOCR3eshn5M0aEWFPGu8vz3or3IGIWZlw7IXXynVvJE0fDMslYP4+CwzWzq6nsnO9+JFZ\/chFLdfbeANVNk8qrWa3TJsQXC5jiY6nOq0gBHmgmR+Jh6VW3JvQz5QkZuawQgKhv1z3R1CqmrPiSNUFql6I\/bgAs6y8GvF8n1kOeLrTU9njwtijr8Wvk2Qmei0ueZVaWudurcja2me5W0YdtrvKS6iNhmzlKZyGUx0ijWJ7b47OGfemTHHes51tp0RpUyRa1v6GblDZdNsFjNGZzNv8OwX92yOJbI7HHddGXG+BVQdodgsFZv6E4k6dTw8NkD79Z5qA4uhUapsydceAQS6n6vpl0l8pGy1bn+RPieTxzO\/0Efr0PhZOSgGOcDX7IrnDdxdEvmysIN+IOP5rUN8QRtwMNOXA+6JA70\/YzDF0SXjoXkXsx9xNpHUfw+zNtRgNVzODOQSqit5N9ohYoZ2YsD7mLRD3fFX0ZpMubJa2NDfpDT6YRUZs1dttDYE5IeVGsYeqaCa6sEPDhAg6dhjN5En0biL8gzCNI1+4Iplm5EnzOlPJBGESqBc60EGfAQbxkiBZ8eEjNoaMSZib1I1Mu9F4TYOc4rIohsQfLqMprjTTDU1FYsTBwkzkZYP0tz6L\/5DV+5ITePLF1xQeiovBknCS5TfiRVJ8qyvVZHbUIiQ\/Zl193vtpiTfQ+XpiUBuVcooCiJ5APxCBwt2HetOv+snv0gfbpXWMbV1K8Ud2cC+lZ420nD3VR6doPicidpncGYoRSFvaCSHpP1GDRalZHzbrJ5sRxKEwU1H56D1bXqTkCpcV5C77txAjMgFZzQnc4Cfn9yMtqzJJx++MmFFHKuOLrj5yitjtzt2BArEtBVB01Lnd5PKQqpwyrmu6c6sdMjdRRELpm9sE5A+Q3PglpJ0Q1TOdFAhotMthT4ewBrOuehi+XaiMtIkRjVpN4XpPmWAxl+eOJDjRLq\/ATW0g4+yOiX0DjBjKYvMxzKeW5f9XlNhlKJNO\/bNa\/RcnuP7XYBLbGCYQQc2pD9kOj35tCBmNQHA+TsF5soOHkJYalf1t2VNqSUT7rmfXPVLoWyewanCJpFjVycjl9d4Zk+FOj85dXnvFVC+dbazrsClNdl8l0MFHwvPVNWrXTndlI8jkTre3ggFcqJY0B8PvoIQR5U9Tfl2MqFT792Ad7W6dqpQZ9PUX5w15XahtFHT\/dP9RBuTL1k\/yeIpVQAEMaBSaKu7lokBhF8qSkI2htScM5WrSuSCWFNlNL9szU5tP7oUF5YR+LgQU4mHbvUFkzVeKMfBenGk5SZaF73G4ZGziQMyTXZjFiVvYxx2Rwgn\/R1XL947bUVa+CKFtQFn\/xCA1hqSZHHR6\/YBxyI2qvZ5VP0AgwmXRoQk\/hoHhyEjd+WdXKY4b0D4UbxkK8MbjXnGS0IZ2FOwSFkWWBo4OVcajg1JKpovZgzGHgEpaM6aY0eQgFUot2SSC1uc\/cCIL2XMcm8R9GXEfxEknEcXfgWbqzd+YITFh9eWdJZlqUTwguNcjrRiaE7Yw3Qk32HPyg80rMrdiRpEN3drlLM0lspzG0gK7MC8RQKEJk9KdawE+0VmYYdx7IrZ4yUMjCG+OgLxEUAgJwa6S2bCo7hhAvlUKMWmpr9Y7LX1h7\/9w9V8W2xsMeZyuthxi02o3mK3qHaoYir3Jen5h8SlJk6YtMQqHqi0MVs0\/hpiZAsi8+ysF6TNtkzExOJdSfR3n8pOz8PgbIK5olj8\/GDeQwewuc9g0iQgudCkF4YFLWKbFCT3MohZsqN2CAFztCxXhfFjBodvCmdncpNSzU9xNfAEaJfblzDu+kC9D\/L5hDZdbjiLHfWXWG0M\/JPYiSN0j13Jw0E3Mi\/BCCjFEXYC8UqY2Ghdl4IvYmHZCmIizD8DX9Aqxn\/MnLIG2FmtcHgO61DV3I\/nlkDSA+93I2xBrfN9cgEgriMDsmPMzoGhvrR06D3EHOSNrGQomk2Tl8Dx8Mgr5cuXX00\/NsePERMtvLO5YslLvPxl7zgraNq1Fdya25UfToxRtMHAQZIUJ9165qZDFaqxFFzoJ7ayhOxvno\/Fvg+6hCodbUyH1VHyw4BXDzmMVmNVpuNRHEW6OX5x1jx6psl48nUqrliEbaqifXbOnFyEm69nzDWLINUS9HGtSllByTKfC8yVh0ZjTyrmo71K68v7Tp2xzCOTeF0CKl4q7KtTvWyuV2CLmdrGF23LdC6b22GBlbaIvr0bkuxcOr+R8W5cpDSEpRoHe9giPAmd3bIIp\/5ptWFv7aocgVbF4blZc9scok2qPZo\/PAG29mQ5PidrHpGAQtEU5nlZ80i9HN+vMT\/GM48pxBVsG1SV1abqN3hJqXY8\/5rqKrqTh\/2G49ZqmxCwRHwB+SmQhnuB4S8nMKLIQDIpiA0hA8wmvVlixRjUgw8YbpfqroQCWczJ6qbiVG6WtOR+KabvyNlyi57p\/MvLGLxOg5X1hhednq6cjT9JyaZ7uoE5OzcnRbV79xWb923Zgfut8B4eAcaU3Dggbk0uwyw5rNB8vn9JTCd5Bx6iFer6ekHW+OsQPR0K7\/3Mgd7+0U95MXv+whrB2lz4oU25mVDFKm2h6V0tRks\/VWkrR\/1SSmaFozzRnPaYWAFBnYXL6O0+xyBSvmKp2Tq7Vd6QHSn2LWxl2TEU9b7N93sbaJ2q4PMTUPFSAgx2OQU\/reKaiWxHL2EbSqrailVm6aRsCA4aI7DwfAWryL7y4Z9w3ImmOxua8uObQ\/Orj7Yg84C71ZPds9e+2XH6gqgDrynPJ\/Wrcmlm3V7sia\/+pGHiElxATcj56LH4sFOsEfIrTGlKpI5rD5t2v1UGnEAW3cu6+NU6KqASn0M+Q3csJyCcZyrOxw4oqCER6PXk7WF\/6UDH5sWDFjs0Ji1YJCVz5PiyR4wvt1jzjOPbYQbFXFzahBy5tYusuuuRrMe++2rKHs6l3I90ZCOjvubLEvHXNRvYRmtWvjP18QEKxs\/u2LPKb0VqtVyR1sY7XR3PLgthDg4xdVSfyi\/K7h3GaDGt6wsYbTZBmnOCXBoOds4TpKQOMcWJagawhoe2O72sCRb3+liyTfodJp5Fi3N3gaUqR9n6eT9Srl9vbzyLJuOZy\/oRkQWXjrVL0tjOZnZsc67WN0PAPFvVVo133\/HIlWVcsyJ744Tg1KzaM+\/yTDbpM5zvHQVtaHvPyEhX5UYTmxRmzHiyP8Yg3+HcWCQSemaqUeK2wBC4RZhiQvSmffuKUQyXvQvPCWf\/CCKk8P8LIaCyGuUQMYKX+pCzCKc+4AexizdZKuNQdpHSHm62Jd\/P2uoN25zuBpHs65BiPIzeOBOKgAMJkC8Jn4p1QMzcy3R1LPI1H7X8IlnHyFi2Irog\/Yq17U4lzHYUJes\/zx4CE0ELq4RA6m13I7HmhAtlqe2kBdMi6yGObHwqs4lvgQrHc3b3FEzqd0HgqPp4MhCxVuzgUeVjNgTt7M1Z4436DyQZ\/zKZKotMBaRi6QOC7A2idVuzOmr0Hzg0BISwlxD3Fjy+QRx0m8m8tORKP1jz1Tk4nhlmJZKc9uId7jYmL1zAA3VRjCcFzkz2YKR5J9uOKO2SageUcbSoRLwFJaKftGswUS6vbnUYt4B1UZymNWKwh6fxTdtLPozbtHWIu+hooFKrKTFVcbSQs+qua4NcMoxSfzjk1KwqkFwCIW6kkPzinLZ0qCaoNjjmZedWSShwzG6ThOjq9Srn1ZLxF5uypPS2PpyZKBYYJl9JOcecyre52Ghj2UaHhzI5nIXJ919ZwZESFnOcKG80i4XOYjdvzRr\/cnAIGnn5jPhHGn0GsUf5JviD7UU5jJdClSCG\/FisH2n9RFkH8dDsB5OZrsu7FoqOIDRMKHJIHRGReQ9e9gKRuodwCjffo7IS7rPYVoWXFiXrIEejhF+ReXfWy1NGdDaSl3dY6yIIaC4YzrbJjtixeX9TnOl5EFfcWfGx+r0SQUQkgCYFGDPEy4sFW3Y4wLMpO3cluc\/ux9VWB+da3SHVdjQAOXiWJZ4Wzkr21\/tYz9v97gwZQaFUJOytEWxTLJROJzkvHBBa22STD2Vw2MwciFUowHq0bkC5QFBRY39hpdOpNtY0Ysm5TKXdIZXZwNCBDcIi\/8mxLiwzn16k8hQmoBXz5GTkMhhHKmd\/Ej7toYfERLFuZ\/YCJKl98kpUzj7M7JtXEVuK4tVntr2l8TZ9y\/epUODLvT42UXxX8xgKCx2m5kJkXp31VqwcxCZCZF6T9Y7P4n2taSUxMq\/NeifoaqrUXqGCFddZt9qK5XpyAd6KN4aqyFFKv125UM2+EpV4QbHQP3aWVHA0lEVG2ByumpCbiz+nKlnv6p2UvL0va665sCBZ78+aa1FgZ+RKNQy+bg9jbxUPP2RqWQ6euT6lXGMlHZm3Zb0bZoiqk723Z82Nkg0TVr8ja25KZq6ge2YI7TfvjhG\/5qhDZdcW\/3cvEbwPZfF64+GF8628oFjLQvHrs96tFwZH7OdvzHq37QzlB6Tg5Yp5uHYFFjm6qvbg7iOOwizGQwr7G7LeI7tuxTgCP5A1j+ofuaW\/Kes9uktb2CWduG+rCNakHt3ebqvYwhQK+c37J9ky8RCTmIrS+piYCLdsP5g1j0PoOUZzr2kKB+fs\/oZnHo+Yppflh7PmCSPBy\/xXLu4on5CIvPfEROoc3ZVhXzywklZBqcM1K81edzQeXZKVtBGDrBFThsKA\/QGCI8sKTL4GJdL1QRRjspVxDrbl8qOU6DWElwcoBtYa4fjuZO\/eg\/70UuqAa8EbbXQI56JAtlr2tFYuLK9pSOIwBsPGjj0n3lWDXiEQr3\/CvsQusR1j\/zj7jZRaAqNkFfje9hDNsCqesttMUEZ2\/vEkYBU89j0WIsrGemIi0e5SxhKmor3gwA41A97G1dYt3d6tYLrxG4FrNpiREmbmTYaOimLQZvFV5F5GnuB4N5q10URMTi8E2qE2A9ufaON8BGhjg6q4rPX5xQ42oDkJNJDVTiU6lwak0JnfHDMWXTgbT3BEQZFtMbmIhNzR5ti1a8fvRyAmBTq4M4hKohY4rpAWiRXreIKVlao7mmP5TFZMa+iIlQONg5Iu2+J03O3tQCWn5gvNdxYn4lOgmEH81DzIfE7ijs1niZNM4tXVSoPttRrzafaFFvj7hQjOd6iFHLkgDyJl9KIAx7MkiXsoE43\/xJnWY28CQvdKkjjtLPMwAa2YJ6J3STDBMjx24VG0P9BiRviY0VzqzCsCT9dYnP9I1ssOhFQZ35Fr8qOE7gRDqIvIAT+WNber2JqXeF5OUsVuxJZid4nb5MpJd+g2t3x3ZwdaTcYsRXIQE+L22JLlON+RYX6vORbnSximUKDgolmZCN8YX9Yc16RbJsSRNbuahHuusB23upeGTCeAk9HCSpXrVZ\/IelfKeOxI5uvwk1lz1S6YNm0ghWFcrdirSDdLG9PnUvNgFgl\/RjtDNmbC3GJvweFrtKLEw1R\/Xot4EolnRxtipg03Rj3ZL3bOmy9kvesV1O6nQDdsx7IXmc9lvRunsXyG9vcR4xO6vLlJ+ykyvTt7eIYEtlYh2A79Zi2rEPodT5VvLw7Mwybi014a7RSYXNQl1W5JfuRA5VCsflGRt+IzzS7JO9PVERZHd1iDJEbw8J3hYLItX5FM9H27f46\/kfl8znsk1MFJp7ZQsDL9\/8CWhS3f7k\/YVGFSyc4lyB4ti6LD4olk5RNke2z3qI\/0fd33Hke31G33wTjt95I5ekXePF7HqcTrMD\/PVlM5ggzr4btJPqRcD5ckd9p8kWQLS2praNPWtrDIfDHrZeTOZEE+jJXqmkjOORiKCMTv9oKyPNjdLe0dSJh1ZY4Kted51ufJGb9nfwaxQTErFBNT3bqqYMrYtFsxWZurMkjWLKIOW3M7gj0q6AenYXhnD\/kTEF3kt7scgiLAcHN9wCqf7uxdogtvaXI5bPmoymsMSCTk2ORo+IqMT2fC+MV2oVFaZ8tEZZkGBrm7UhISstYbz5xJ7u7Gq9PPjxhvzA7695T7olFgiGNaZL6ECyTZohAn1TLbkmopOY1FDNnJUdCcNFcSv4xJLi9b1fucoyjE+IVGtS5e6xYP3efNJucBEkz3kqplET6fYDPpdRvA9KZxoeL5aha\/qWvNOqmtQHOdXBSr6M\/GmdVaU3\/L2gs7bcsiv1CrFtQ90QsrJDIcyLblt+H00kS2rtdtcumLgHl7D1wuAJJbkhsSW+7u4HK1sQlGqXVMmb9ardTKW4C0kxXC9knmOMcFra12RX7k6kQ88CvqhQYpuSskFCaV5fcB5Z7FlafCrfZGQ975ScqukitsekhRgS7t\/GroEXTXcJyhPyu61Wnjw9nCa2Mmtfs2ejdn1olvzqyER5Yr2TRXcgtcyae5shSPbtmN4tgRo1i5fBTHj6L+REx9YWSvcBj\/moe4VbjC4Qdi7nJEL7p6fsyRcgZbWn57XuA9k+1fnEzZHtGBFvTcHA6ku9dnnp\/D7HKfubGQT3icF6BSQ9kqLegFObMsHQsrLeQNnjk2YhGoJitIxxbO6fUK5zMpyMty7KlTvQJrAa\/ImRNqa9rsC3Py9rsc6vdCXJjRuVTb13AmOuS0wOZelDVXPjNqc1I52Jfv9Me1Xp4zV0Xz33WJx\/HqnLn6vAv\/dLA+zscFr82ZayoJT\/BCUGpsx+ZaeZ8luQO2UZRpcVmPNdOsbVbs2xP2doreS2up1gnKVVnSpDLJi7PZBhOuOTK5Gmtuq4OuIpNPMlvNdlJlaa1dQazbWkB+OZ1PVzxW0EDFisrqcXrhccJKcXVVqLmCVo2C\/pT9SejV38zcqjWbp\/Wa35WNivsN8auqUNHe6KxLzatjaSSd4g46qZ9kElY9J2fkM3cOXJieOxBzjhBuzt0qQoDrsYT5cpUCaXUXiji91j3sNED8rFR1fBCtEpnn5eZvZqwyqyqKIOKgREVEkHjdaFXEX9K+iALVhTihgnCMCFhLjuT7bGObgpbtYCBQ81KWkaY68VGQgPyuhiL6vaoUCSTXHeoNPGgPMBz0gEwL3aERbsUC2B4x5U3WYoKWVekfSD7pyfoP1nUsM35vFpfEViHLujAo6Sbcwlqa4C8EYk+7DHzsHsz2xvYszZ8k21FVN0t1AOeLkraYQnBRgpidsRRqpHFEQmuZl8K9gdgzzanMCENtxGWKwWpOf+HVNHeFVE6EW1sFCuyPsIrUy5vS2g7zCC3kLDqlVX9fU1P20FaTwUzwfx3f5tTCykYWhuPx+fgrSXJ3aK5BfJxfd0mtntYcgHyVLSnpigFHE\/MR5nahWmv+zihSVxnZ9x7O244uaA\/QGKY1Cl3GeBdQOVr9\/TSw2jOvRD4n8242BWlkXsXyOL2okWgbI14gWMWZeRONyyReEARyRcTrAeg4nvkswMUt7hu4jHHTsK9f0hP3WfGP6FUGhrOZvjYfWBFKtaraYyULFxQAiNvHNaSzTaGHgXvUUJP6jakVO69QoVR4uy9IyiCBvfM6slCTgYbyASJjbijI2wcc1FdEmvT6e7xrkiXSv\/i6nlyJ7azPX0sL7BtiGcFC3NYqYlVrmiWXC9cLrSRnN3KXWUKJNvV3Npdtais2Eo7Z30ZO8isuH1sMx+ev0bmfQXaGgv0d5OR9vJOade\/YXYm5kHqj7qrLXrm7Wm4h613XFPCaOTC5KHmtokXVczjCfiWDvo7NqxES55a7JtfHQjc3Krxd0Z02s2y8uIICVJKMHw\/WzK2+xXo6h\/E1+Dcjm5rS1m9hZktMOq7hrHuxNXQvtpngTKUIHsMW1m5alIOm0Ovby8Vd1KDckIZARYYH7sntX\/l0panHlxQL7U61pPz1QqaBIZP0G4VNHkEhdDvxunxbIbt+F39z63fzN79+D3+X1uUbCsvrT+XvsXWJ+4vErCQ3JI+vNpvMA6kT2APs+yHJK6TOyXWBXon9zOOqhQuWV+vbGtdsyN9r0YUbPK+rVfl7fVlgN5Q7\/L2xLCO+abW6tqE4biZVKrTcAB5WJxrI8xaMCR63im15W6XO34eLOOrsPyKsI9okHilUPQqZEzyPvpc\/t5dXpfVjCsWikPlYd6P6cXoo8fi2DOAJzmJ9opimPJ\/kjjSejOjw+JawUJdq33q6KHR+GyYQjztCZdCdMpi7BHC3DO6eur0Z\/ZRiWQqeWizLzDwttL9g\/XQl4Rln9PHtrWqpYwf8HWFzo63XpL+zWpfxfJeT0O+uFYoVGdf3xG9xfG9xo9NRvhTsNXtSRaHfXXBFRXTiySuTtjysyHouYDiRXm1udCyuNTYqrCmdyfU6dYSsqjovHOGQPlWrrNnXGU6LHSdDqclqao8xO8wPxHLXYNvjcU+h1dIrRLbP24rxp4ZKsjXWKsw\/NAjzy051VRurgqDiRrvqZnoNka1ijFk865xJ2VQ1rBTaJbk8fir9KsKJudw\/HM2zUW8kQvto4sqEkh2m28tVed25qTQ8ttwsbQhJpB8Xc+zJ0tIqlG+xM\/Gtjq93yBOxEjrvxG0VKu7CyJRen4Loh2CKKX5aWz+c83QeMeJnkBbcStW3d1y88bs7OF5FFbJCMq9eab1SOl1syquXvrzlW6qoaAfoRRGtDERvOEqycTrVJhfDZDcQ9uYTMViKJ9z2uRzXOBaW2s2aowSXjLmW1BVhq9pI6DoJ1Tyu4oE0q1ReLWJle72m065UpFfS1zLfxaaFXycj4Hm98M+CbhACed4oT9vnTUpJzKyb6UKqk3yYoOV5izwdqluFa7gYJIuFWkUX8ulaU2arVi+0793QFnX7bg0p5Kyu42lq7XK1YCu3ktS9VrAsecdDvddH6soFXfaIuUp6pJuSR5VZgg72mEq9tY6SlR4fv1rRQ\/cnoMjsCn8i66jSrpZIPskeidpW3xYvu7tFnnX\/IvPUMFZs34GyYXLsCx\/ficqptJPsd9FS2P09Mj6e3xs73G2RNKR4604yYZy5i0wnztxNZiPO3ENmM848hYyKqmSeSuY+ySiNZ5Mt4H7ZTOzU\/ZP5VvN9sn7d0ib7T2UaiURZXn0\/JsmaapWt+qGv0WK3Rr3SsN8d6c\/peomljRlKYR9rSWyp92BLpYsqwLGigthQ3BU4XoXePKjbXz0jenoolBuUJAiA3bxLBJcVFrbXRKxNuRq2avINEWGNV+YYUXy3xcoB+rBQEu1hXDNvoZlfOvJTuPgOVkMauR+71Wkml2I9TQhESgD4BdRrwX1pKGWXZBeCHRHl7rVELNVD4Y6BGK2SxnmwFQvTadchWvGyCz2IraKWicmmgkCIH7NPwouNHb+qUxrYkvhtisxluLB7ZoLugzln9pgPYPIsVIuYutSsfoRZvay8QiFT63djIMN0+D4EvvUukf3UJ5Hj6rEk7KXL9eRxPQ2hRYqAj0JAhei9WtrOD+3HeRrIxYBPUidyX5nkIAN\/pZLUcGBaqQloK4+Q09KeBEJXRSqt9EnoOdVQUENHpM9P0SgpQqiViw\/CRQ5\/+3L2qDTNTxiCClmtrJB0DBLvIMSarnRUmXobaBuefnKIGoRnQ6uoM+wFna1CS0yVbLOhV6CZXnI52dvDwmaFdL4g5UuhleYWzlWfyAMhAZBaXabKzkhH+gqkZr3Kwi+AIgRYBxUKMBfUbPAOHWyssuScW52sl1YbnabbtYeaaTbKNuMv0GLnLMPRylC835PGw6GeYFuLg3aSU0OXazA7MFI8f2j\/dM5kSg9xxsJ6s16eCJNMpYQQfNRI6vSpac8Zdg2OIuciVYmLy\/nNQx9WZXaTEX42h\/sl7z7F341VKPqlWdJYlqlVCenrWD3HC3+hPtJ23jrmM2n5BRbFvNwtxHMcwFk9Cx+oeZ5m\/7BQ8XTywdqOYJnzvbhRrYkkbOkOCMDTvZkINVu7jXIAPBKT7dyS9SXktwXrxckJ5YeJ0KQTfeHOZJxzKboGl5KEJ8YET99C6Mk6kXK9a46h6E71O4IfURavlUrYvdhfOI7SwiuUNzkPUWrnULkBN8cTU4IuqKAIRHtMHMh8BbJl1iU4FBEX8hablue\/ruRzEG0bOTyiUL7GUt5Ok\/lVmJ7EsxogBie8JlF01dgD5d298+ZVeeN1OY\/vTs3z2Mn2xhfYtJ7PrjVB1CPzAmJrKkXmhcTT3FUlonnDYfeieVHe5CyIIIp7T+IlBNnsQbp5ad4s7XenbIcEn\/NmeYf+zcvz3rGYCG3lxpXrc9TDiZaQ\/33Gs7kkzrnsPcQ7Ur0+h2kkMpcXE9CQwEZWq7hMrqBDnROgN3UQDrn4QWi2oIqks05Alj0W7VJtbG1W9WttfhNbpn0ZOMA6wpLdspa+NUsy8dtVqR05Y3Wje2\/Zd7tvoNsxicwiYcZfnjnansME9RI8z2WOxrO9\/rQm381CWwR9ImMMJB69eTYzprBQtQ5njJw7sN4XauQElFTIT4bdS1ETowWlsZRkHM+W10Um5pSlZkJQeVGMxm+JyPxjKq6KRP1jKoYqXbHAzVtkuhc5Ifx+qk76\/R7zTwTOsrwzlsN5xhFokRtDxiLqSD8ipjGmjmMya14EIIkB\/b8UgaORG39p5vC\/mFEtTNuhIQe7BJXDeNiZmVwZsOlsMh2MKZdkZFxeauLI3yUDXSrp2puTEGApRJPx7D6YFL8BcJa0v6MV16wBE9TtOp23yy7I3JzPWB4HHKOPxxN2QdFKff2ZnkVuH1XJlWVLaIF5N\/4O2fSdtC9gbe7E+Ra6rsDRhv2qSWTekvF8tlDS7cP3BfwMNmkPc4R9B97q98fjezM9gMLwNDA20ymE\/Qx1rBcxFEGmhmaMaVSNZHy5\/IlciJjw9NM16HsmlV4Jnw702hanAcggbEVVj6qjRv+BM4T2x\/K6SgY+aJy12msSjrbpJgtsyg4OMRLGs0AyHCFihNpsqs6nPOwgxq+fI96UcpmngiwJLzsjQgcPRmICQMn+QPWkfM0CLdnr78qvRmyqYbtsskdjscWoXIvqgmaZ+6R2aI+Bkk8QTcbRLNKXg8j5D9hTGXodzLrDwY6MOppN5SdRAGYvXNZVZF6b93IJ9lVxffSzhv24A8Yuk8ZU+bvd\/QEip2YVVHDKlPcyKZxAXpP3sgeRHlhJNHPH\/vQPZLg+FAMSJMg9n4MBCwGnvKWQZOx4Q+klXVkBFEvdOG2r2pYKi5IWuwpsSIY2kRTaMmL1WOfaMAbEtc0b8pj\/UtW8Ka6j1m0stcZjkfT6ekVcjHxvXgUsiLP8sL3yy4sYulTxI9eWZZT3AmGONkJ6I31rbzPhMY4tIzCvp9HUUfZmFknfon8rG4xeHuvQKvHBJM3i+axIrEMEW7Se9UXM\/D1OjffwFBPbbZm+hB2SXNBpEl\/cIiyyjpotE2kCmFkAzitnxa7B9YmvH3dkLbLfinNQJ\/RkVyzRS0IlHY6MU0BPAjupvG8dlRREjaYUcnT6QBSmNTffiTwiaPYIMJhxRFmCragnshm5AlWQw8msfOOjxA4WmXcj55Jr9yOWIRGGvJe39Z56D57DUtxbhzrSAv09c0ntQz8X0mBGSPvd6bnoVKSMTsjsUG6Rf9OmU61yuHF8fxeRGAGSYe7bYWOUIgyDqHNJ3jBgJQUiIvH97\/ezAhs0KIGjhO4GuwiA3cN8ucQ4dbKWRx4P9ve7mL9QsZrgoNaoq6Qh18pBucHmF6oWpUKwAhiU8\/ZBdEFUh\/kQU3BZtY7UMcGCh6qmPhInIWwMdb02Uy2HAC9vPw+D4MvNr3l4UV+8tn5PBivHvCuea1tnxLCprWFqFT3wzkWOtIoaTydipIKFpuy4O9M+rOgVZnpT1psKsg8zvB1LmPkAy3ZHdz+d0EyqvkpP1iJ0P+Pie\/sWc2Q+goIosRljJzrP1DLoSaWN0L4EbTosqw4LptXUOIsnoV8860YMEL+7U9DcVnjvBpF9gDA4AbaabU66qlI3Y8GgVn8ya7NqWudWC6UKcZ\/T1Fe8+QRQku+hbbXWra++lMArm\/h+thT4cgIvlMGR9HksDU8IXCGczKg05kB1DUYcj4eanBacWBjsvLVehprDU71duVhS4xQtJFgrja6aF7WbuJyVeT9XJ0Xu\/GBedM28qLyA7tp0QUIZJ1pzKIwBm3rx15\/lqGWjWNnqrG\/Ui41CVYA3xMCktxtjiM7JTcKQ0vq8+Oa1ZnMN6gjOEYbVGI2t+bC4oNDGWFbQLQ5UZ0kp4NYY0CzOB2+LbnNF4emzOE2Mz8EfXpIe1pvt6v3iPQvNhL4BpUb2SAIziMEGRrmezgJ6lPBeU492vSBmErARnLc7EDFgYdhjXHajxhQ62GMbchrdKawxicnMPi4Bpmfh8VaEORGoJZL4hPub8hmBQuqVJY7zTncQQSGM7JMW11xZd0q7cXyM9a2RqiqW7lS+dUrJQNOE81iuqUKUUKwbBwKVGzGYBHh4kzF4UbQdQUnI0X6nyBQr91eVRK+48Ks5fmZyp1iB3uTOSzz8yV2SCyZ3SS5zum9PlJuQrFhZ34T0QGNgQ63C02uurlqQ3xnY38ppEXCSyo6EQjHkPKxToYppV2qcT2lAT2Iy+sZQqDaNCZoES4CbWlM\/zOCxcjkxKWgk0P9\/AP0JAACFV2l0VFUSrndvd2eDgCGgqECDEEAUgaCDY149CHGJIC7h4FERDNhkAklAEmQxCahZWBIWQaMiOi7IIiiCGxAQGIUxKkZEUVBRQVDAqAMMAWSY+qpPun\/MzBnOSdd3Xu11q+peHMeQpWbLq2dUxTavpuXNq6jxj8QxhQWjMicVDh4walDqpJz0Ib0nje2TP4paUfIWr2a3rzVdQu2oo+Msy1hW7jNClpf7bJO2j\/xEXX2OQ8ZHjuMYv\/waceNYm5U7LRRMCWZNyB6dW5BDJBxrLHUnn88hMuRz\/BnjR0\/KDxUUUcCJnS4SzfAj\/8LEIQ2YOpLP+G\/LzgkFe\/9XwVb4bSHSBM9EnSCfWVAUmliQnRe8tSBvanBgdsGD2YUUoP+pPVdyCCcHG474bO4fmluUF6Kdxvkg5tVZDrUuJwoGhdUNKtT9lvEFRYWhiROzi4ID8tRbUaiQ0sfn3U9RVpRzpXIudzLzpSJFwSGhyYXUTLzGSy3iKIZixeZh48ykGQ4cGccpIepVdqa0wcykvo7NnfJziq+8IGlkjLCT\/RRIIJsgOTdJ+eRzUD6XzK1piJPqOaaM6i+KcpzA9Iw5zcAxppymbIhyTKB0zY3Z4FhTQcv7Rzk2wvEJJ\/mlKMcXKJ1b0xMcv3CebIxy\/IGSYQeWghMwldTYNsoJBEq21XUEJ0Y4w3tGOTGB0juqa8CJFc7KnCgnNlA6IWkgOHHCafN4lBMXKB1+\/1lw4oVT9HWUEx8oTdvfQjgBx4mexH8cEpnpo1r2s8kn9w\/J8s+\/ucva1O8GPlGV91jCgcc3SWM3xlOsEzddejU+gcpoQptyuml9BbXsX0HFL1YQNVbSqraV1LJnJY3IqaS6RZXU7WscqDSWM8NxlsrZ1Dl96EPHV2WdMkM1xqm0ElMs2ieh6ZzDzVhNL7TQfqyiKf+6GKCd6UApYs2UjgmFim\/OzCx++qmnwLD4keFxWjs+582YR6ZKItb6iBJlVHs6nzsb0lcfseuMBLLJyo80ymRy0u9byhVHL\/AMwPr2fjansw5EgYiRmby5gys0DJTV65vOYRkAVQcrAvqmpnqqHgHKggsA+sWQc6g+3Vu+PcGzcauGK1ixfZx3fncj212dHvLefW4vg\/Zcu4QNgLgn0zc1KwoK\/7KALUCLK9fyxszB3s3NtrH98PnrvScLdvHMNtcqtc1NDwWH6jt5Dm1h++5zF3sPJb\/KoA+4s9kAiFGS+H4MJwyg5gGgfCTldaU25uHHFaxvX85q7YspuQxroGoNQGyQ2VS0MFw1gJEb4jyz+5ZRHAE3vHWcbatHZ\/C984zXo\/IJNj1iPHtn4mpGMVq\/ukOp7fXNQQUzxv7BQw\/4PfvT2Thv9gDyjqRc4J0tPcL26afaInwvZ0yKpxKbilK1oE0Vpl1S7ojB4uQGBb8tC4iE8WyPyjbeXdee4IbiDl79qc\/Yvj6xm3x4g0FHbpgV\/vDBg6wS+YfPuqrSed9UFzZOnNudpkbHJ9laeAG1K39\/TAGqIX+uluW3ZTds1mpEQKQaEaBlufCruRojzIGSc9m+9Tx\/20nXTlr4pYI+scc4Yc9lLHudvH\/sugU1D0cLkDFnFUOiS2Arq0pb3xcMG6D2006LFZgelWGJqrwchgqo2gCAUUioF6jALWyAak37X91eXErgAOKWzPvB3xBIGLx9vMS1aBYUYvWlTyu1OWPGKJj6cwpr7bJ\/rHfnb5vkDv7TLFerK1wX5QbVaABwIJD4YdpuVpVxtScYNoTpqVEUCl5ApYI7FWTMOcYvXv9PNgCRWAHIefbXZZqL\/bbzdgWrL90bzhbHifRBNQIAFAgSWjGooISwAWolNgVnS8eGJe6dl64qoGoDAEYhoV6gArewAUqrpaY\/nV2BlGpt\/uGHFJR4V\/MlV32TZkPX7Xe7BB52uw+fJ9QJl6XfrAGQitap45q1DIlXfpdphUrf1OMMGxgzNYqywAuozPPnCsR\/WOKJgQkeVDquSZIN8ymbqrzD\/H5wDduKo59qhl9MWaHUYtwBOpSP436ztoYzxACDakAAH380WCU0ZaiIKxc2QLU9AOBFpoIN\/EoerIGMT3pUWuMkyxpK01CFU4vYQalOXiZlW+rCXfT16c28qahVWu6C1dqBslafUTG4BLVHUnor2LvzlJS8q2u\/u7XaPXb7Oy7oSxNcNgBde3fzDNopAjDkZsegt6Mgbf8nrKwIaCj2WJswbtWlvHfnZGnVOLYvLy7j3AW\/uCfOLVIqY7VMwfxtb7Lkx6YpfHJon2Tz+sSf+IXrr\/HsXdcmewDfdk6Rtd7Js6Nb9pOlneiB4iAMgKRJZm5NYhRcPvwTtgDXjDjD7e72ec\/+KksVo7Ly9yRPxkap3AmvKPjk1EIZcZG46ftpvGPQKQYdueEDNgBilIxUO7zFAfQ6k1kN32sAL01o56GQotXd+9vJ5VKSqzxJ\/D3Noykf+kE6e92S13jdkl9du779+wpwoIsu8qFwh+S6uYAR552JV7JZt6SFt7Xuedceu71RzwynCmplpygQq+GpkB+Zhv83FbgiJUoX7Sb36z7J5Lh0dS9pVePZG94q1CFI2POiUum9DxV0KD\/KjVmyX3CvYI10H97Cu6JSen9mm7YeWgF0Y2YVG7T5yA2ZbPtfPYKfeS8oE\/Gw3MrN2P4wbZGm25Q\/OfAjQeCyLleQfl+Isest+gibDu1YcXQB3hcHZZGv0lEWk1tlg3zM\/mE72c4YW6u6TcbomNR4Y2aeLjcD8ObfH2QL0Hnfaffg0ns8uYNcOftBMle2dmPmFUotjhAALxMZ0jSLPsfEvX38nHTpHFcaqkFC\/DFtdMsvxZ1IIBCoHKp\/QalF5gBde8fKfhAvKDbcgiIOnS2NDFMSASiSHP8Yxr7H2fZc245t2ZbZjJsAqYFKiJsUoDXveKc9W6wd1AoUNgyAWkVbRwBYchUneZDFUaly6LrwNd4n9gqlckH2UyBByINLAmh3d4Ze+KCwYQDUKsoJQHvkP0NgIWsLWQBkLDTN5i7Idz\/+6KM0ySBNOsPVy37ogS6s\/eoflojnmCR8zrUcfye\/duP3LpYFqEVbAYBCSj9cM+LPUtgV\/PLiDLYHly7mC78aIvolUoFhbMGdPeA+aYxE2S\/52DzvuRhhLFD\/sLlsZcrd0HXPYdolzc3hD3gYiA0XdyP6yW31KHm3VV\/I33YOeLLvb9chGDJqvlJJKvw2e8Ctk7dRrCfr7LD0hV+XTUPxeZa3737ZktvZ3nP\/Rm1K6IKKbr6C+lNZ8vdZOGSpkCaGdtIP42rf0IQwKvbcigf4TOlK5vgaefktZXt+9zuS5V8ly50sb362CXsOyM5fqG+me+c9wnZrneOdzhrNoHgb6AeJUl4PJ\/i26hpXn5MyxPKE2yGLd2iaPCdXSJVsbdNZEv0b(\/figma)--&gt;\"><\/span>Impact News<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1ff0208 e-con-full e-flex e-con e-child\" data-id=\"1ff0208\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3da513b e-con-full events-wrapper e-flex e-con e-child\" data-id=\"3da513b\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a04fdef e-con-full e-flex e-con e-child\" data-id=\"a04fdef\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-29a662e impact-news-tab elementor-widget elementor-widget-heading\" data-id=\"29a662e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">OSC Impact Stories<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20b8264 impact-news-tab elementor-widget elementor-widget-heading\" data-id=\"20b8264\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">|<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ab612e impact-news-tab elementor-widget elementor-widget-heading\" data-id=\"4ab612e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Latest Social Issues<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1fb5ee7 e-con-full filter_sort_wrapper e-flex e-con e-child\" data-id=\"1fb5ee7\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7d63ccb e-con-full elementor-hidden-desktop elementor-hidden-tablet e-flex e-con e-child\" data-id=\"7d63ccb\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-516eaa6 elementor-widget elementor-widget-image\" data-id=\"516eaa6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"28\" height=\"24\" src=\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/Vector-1.png\" class=\"attachment-full size-full wp-image-11601\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51d0cef selector-title elementor-widget elementor-widget-heading\" data-id=\"51d0cef\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Filters<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ad8c903 e-con-full filter_latest_bar e-flex e-con e-child\" data-id=\"ad8c903\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-6319451 e-con-full elementor-hidden-mobile social-issues-selector e-flex e-con e-child\" data-id=\"6319451\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0b0921f all-btn elementor-widget elementor-widget-button\" data-id=\"0b0921f\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">All<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9483012 e-con-full elementor-hidden-mobile social-issues-selector e-flex e-con e-child\" data-id=\"9483012\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37f1c75 all-btn elementor-widget elementor-widget-button\" data-id=\"37f1c75\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">OSC features<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ad2f554 e-con-full elementor-hidden-mobile social-issues-selector e-flex e-con e-child\" data-id=\"ad2f554\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f01accc social-issues-btn elementor-widget elementor-widget-button\" data-id=\"f01accc\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Social issues<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-862d0f0 e-con-full filter_osc_bar e-flex e-con e-child\" data-id=\"862d0f0\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-fe83145 e-con-full elementor-hidden-mobile social-issues-selector e-flex e-con e-child\" data-id=\"fe83145\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9be11dc selector-title elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"9be11dc\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Social Issues<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d755cd elementor-widget elementor-widget-image\" data-id=\"0d755cd\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"32\" height=\"32\" src=\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/icon_arrow3_24x24.png\" class=\"attachment-full size-full wp-image-11327\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1855ab1 e-con-full selector-wrapper e-flex e-con e-child\" data-id=\"1855ab1\" data-element_type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3933585 todo-list elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"3933585\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Education<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Health & Well-being<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Inclusivity<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Poverty<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Sustainability<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6b49329 e-con-full elementor-hidden-mobile social-issues-selector e-flex e-con e-child\" data-id=\"6b49329\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c803eb3 selector-title elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"c803eb3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Service Group<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f2c811 elementor-widget elementor-widget-image\" data-id=\"2f2c811\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"32\" height=\"32\" src=\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/icon_arrow3_24x24.png\" class=\"attachment-full size-full wp-image-11327\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d9a6c47 e-con-full selector-wrapper e-flex e-con e-child\" data-id=\"d9a6c47\" data-element_type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e0a77d todo-list elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"1e0a77d\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Adult<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Children & Youth<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">District Focus\/Community<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Elderly<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Persons with Disabilities & Mental Health Recovery<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-48eda2d e-con-full elementor-hidden-mobile date-selector e-flex e-con e-child\" data-id=\"48eda2d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb85ad1 selector-title elementor-widget elementor-widget-heading\" data-id=\"fb85ad1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Year<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59fbe9d elementor-widget elementor-widget-image\" data-id=\"59fbe9d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"32\" height=\"32\" src=\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/icon_arrow3_24x24.png\" class=\"attachment-full size-full wp-image-11327\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c4988ac e-con-full selector-wrapper e-flex e-con e-child\" data-id=\"c4988ac\" data-element_type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa82ba6 todo-list elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"aa82ba6\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">2025<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">2024<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-times\" viewBox=\"0 0 352 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">2023<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-dot-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">2022<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d54eb97 e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"d54eb97\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4b08b06 e-con-full e-flex e-con e-child\" data-id=\"4b08b06\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fc0e9c elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"7fc0e9c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Sort by:<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cdd189f e-con-full event-toggle e-flex e-con e-child\" data-id=\"cdd189f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-15c9af4 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"15c9af4\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Oldest<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df380e0 elementor-widget elementor-widget-image\" data-id=\"df380e0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"32\" height=\"32\" src=\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/icon_arrow3_24x24.png\" class=\"attachment-full size-full wp-image-11327\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8936148 e-con-full selector-wrapper e-flex e-con e-child\" data-id=\"8936148\" data-element_type=\"container\" data-settings=\"{&quot;position&quot;:&quot;absolute&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42970c2 todo-list elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"42970c2\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Newest<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-times\" viewBox=\"0 0 352 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Oldest<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90aa7a7 elementor-widget elementor-widget-shortcode\" data-id=\"90aa7a7\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><ul class=\"ecs-event-list\"><li class=\"ecs-event impact-stories-en_ecs_category social-inclusivity_ecs_category social-persons-with-disabilities-mental-health-recovery_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/mental-physical-disabilities-hong-kong-federation-of-handicapped-youth\/\" rel=\"bookmark\">Empower Mental &#038; Physical Disabilities<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">Replacement of Existing Rehabus. Physical handicapped people, especially the wheelchair users, who are difficult to walk and inconvenience to take the public transport, are the beneficiaries under the scheme from <strong>Hong Kong Federation of Handicapped Youth.<\/strong><br \/>\n<br \/>\n\u201cThanks for the fund by <strong>Operation Santa Claus<\/strong>, we can now provide rehabus pick up service for those physical handicapped people who take part in our programs. The participants would take the rehabus to and from the activity venues, which is an essential and importance service for those in needs\u201d says Donald Ng, Center Manager of <a href=\"https:\/\/e-cgo.org.hk\/rehabilitation\/en\/\" target=\"_blank\" rel=\"noopener\">Hong Kong Federation of Handicapped Youth<\/a>.<br \/>\n<br \/>\n\u201cMost of the public transports in Hong Kong are still inaccessible for the disabled. This situation affects the disabled to take part in social activities. The shuttle service of the rehabus provides an opportunity for the disabled to participant in indoor\/outdoor programs which would help them to expand their social network and integrate into community\u201d.<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2025\/09\/Frame-38-1.png\" alt=\"main image\" \/><\/p>\n<div class=\"date\">24 Oct 2013<\/div>\n<div class=\"title-zh\">\u5fa9\u5eb7\u5df4\u58eb\u63a5\u9001\u50b7\u5065\u4eba\u58eb<\/div>\n<div class=\"organization-summary-zh\">\u9999\u6e2f\u50b7\u6b98\u9752\u5e74\u5354\u6703\u63a8\u884c\u66f4\u63db\u73fe\u6709\u5fa9\u5eb7\u5df4\u58eb\u8a08\u5283\uff0c\u65e8\u5728\u670d\u52d9\u80a2\u9ad4\u6b98\u75be\u4eba\u58eb\uff0c\u5c24\u5176\u662f\u70ba\u884c\u52d5\u4e0d\u4fbf\u6216\u96e3\u4ee5\u4e58\u642d\u516c\u5171\u4ea4\u901a\u5de5\u5177\u7684\u8f2a\u6905\u4f7f\u7528\u8005\u63d0\u4f9b\u652f\u63f4\u3002<br \/>\n<br \/>\n\u9999\u6e2f\u50b7\u6b98\u9752\u5e74\u5354\u6703\u4e2d\u5fc3\u7d93\u7406\u5433\u6d69\u63da\u8868\u793a\uff1a\u300c\u8877\u5fc3\u611f\u8b1d<strong>\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5<\/strong>\u7684\u8cc7\u52a9\uff0c\u6211\u5011\u5f97\u4ee5\u63d0\u4f9b\u5fa9\u5eb7\u5df4\u58eb\u63a5\u8f09\u670d\u52d9\uff0c\u65b9\u4fbf\u80a2\u9ad4\u6b98\u75be\u4eba\u58eb\u4e58\u642d\u5fa9\u5eb7\u5df4\u58eb\u5f80\u8fd4\u6d3b\u52d5\u4e2d\u5fc3\uff0c\u9019\u5c0d\u6709\u9700\u8981\u4eba\u58eb\u800c\u8a00\u662f\u4e0d\u53ef\u6216\u7f3a\u7684\u95dc\u9375\u670d\u52d9\u3002\u300d<br \/>\n<br \/>\n\u300c\u9999\u6e2f\u5927\u90e8\u5206\u516c\u5171\u4ea4\u901a\u4ecd\u7f3a\u4e4f\u5b8c\u5584\u7684\u7121\u969c\u7919\u8a2d\u65bd\u3002\u9019\u56b4\u91cd\u9650\u5236\u4e86\u6b98\u75be\u4eba\u58eb\u53c3\u8207\u793e\u4ea4\u6d3b\u52d5\u7684\u6a5f\u6703\u3002\u5fa9\u5eb7\u5df4\u58eb\u7684\u63a5\u9001\u670d\u52d9\u70ba\u50b7\u5065\u4eba\u58eb\u5275\u9020\u4e86\u53c3\u8207\u5ba4\u5167\u5916\u6d3b\u52d5\u7684\u53ef\u80fd\u6027\uff0c\u6709\u52a9\u65bc\u4ed6\u5011\u64f4\u5c55\u793e\u4ea4\u5708\u5b50\uff0c\u4e26\u66f4\u6709\u6548\u5730\u878d\u5165\u793e\u5340\u3002\u300d<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-health-well-being_ecs_category social-persons-with-disabilities-mental-health-recovery_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/caring-for-cancer-patients\/\" rel=\"bookmark\">Caring for cancer patients<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">When he was 55, Tak-ming found out he had stage IV nasopharyngeal cancer. The diagnosis left him depressed and feeling extremely isolated; he also suffered from severe side-effects during treatment.<br \/>\n<br \/>\nLuckily, fellow hospital patients introduced Tak-ming to Maggie\u2019s Cancer Caring Centre. It was here that he learnt the importance of using dietary supplements and also joined group relaxation and meditation sessions. Tak-ming\u2019s sister Rebecca said the positive changes in her brother were obvious, describing him as more \u2018optimistic\u2019 and \u2018closer to his family\u2019.<br \/>\n<br \/>\nIn 2017, an OSC grant allowed Maggie\u2019s Cancer Caring Centre to provide emotional and psychosocial support for patients and their families on their journey to recovery. The Centre\u2019s invaluable work continues to help people in need and provides much needed advice and guidance.\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2025\/09\/Frame-37-1.png\" alt=\"main image\" \/><\/p>\n<div class=\"date\">6 Nov 2017<\/div>\n<p><iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/wYA4tQcExzc?si=Iobzb4vb0x6Ui-FK\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<div class=\"title-zh\">\u95dc\u9867\u764c\u75c7\u75c5\u60a3\u8005<\/div>\n<div class=\"organization-summary-zh\">\u5fb7\u660e\u5148\u751f\u572855\u6b72\u6642\u78ba\u8a3a\u60a3\u4e0a\u7b2c\u56db\u671f\u9f3b\u54bd\u764c\u3002\u6b64\u4e00\u8a3a\u65b7\u4ee4\u4ed6\u9677\u5165\u6291\u9b31\u8207\u6975\u5ea6\u5b64\u7acb\uff1b\u6cbb\u7642\u904e\u7a0b\u4e2d\uff0c\u4ed6\u4ea6\u627f\u53d7\u8457\u56b4\u91cd\u526f\u4f5c\u7528\u3002<br \/>\n<br \/>\n\u6176\u5e78\u7684\u662f\uff0c\u900f\u904e\u75c5\u53cb\u7684\u5f15\u85a6\uff0c\u5fb7\u660e\u8a8d\u8b58\u4e86\u9298\u742a\u764c\u75c7\u95dc\u9867\u4e2d\u5fc3\u3002\u5728\u4e2d\u5fc3\u7684\u5e6b\u52a9\u4e0b\uff0c\u4ed6\u958b\u59cb\u91cd\u8996\u81b3\u98df\u88dc\u5145\u54c1\uff0c\u4e26\u7a4d\u6975\u53c3\u8207\u4e86\u5718\u9ad4\u653e\u9b06\u548c\u51a5\u60f3\u8ab2\u7a0b\u3002\u5fb7\u660e\u7684\u59b9\u59b9Rebecca\u8868\u793a\uff0c\u54e5\u54e5\u7684\u8f49\u8b8a\u4ee4\u4eba\u6b23\u559c\uff0c\u4ed6\u8b8a\u5f97\u300c\u66f4\u6a02\u89c0\u300d\uff0c\u4e26\u4e14\u300c\u8207\u5bb6\u4eba\u95dc\u4fc2\u66f4\u70ba\u89aa\u5bc6\u300d\u3002<br \/>\n<br \/>\n<strong>\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5<\/strong>\u65bc2017\u5e74\u8cc7\u52a9\u4f7f\u9298\u742a\u764c\u75c7\u95dc\u9867\u4e2d\u5fc3\uff0c\u4f7f\u4e2d\u5fc3\u80fd\u6301\u7e8c\u70ba\u60a3\u8005\u53ca\u5176\u5bb6\u5c6c\u63d0\u4f9b\u60c5\u611f\u548c\u793e\u6703\u5fc3\u7406\u652f\u63f4\uff0c\u4e00\u8def\u652f\u6301\u4ed6\u5011\u9081\u5411\u5eb7\u5fa9\u3002\u8a72\u4e2d\u5fc3\u5177\u975e\u51e1\u50f9\u503c\u7684\u5de5\u4f5c\uff0c\u6301\u7e8c\u5730\u70ba\u6709\u9700\u8981\u4eba\u58eb\u63d0\u4f9b\u5e6b\u52a9\uff0c\u4e26\u9001\u4e0a\u6025\u5207\u6240\u9700\u7684\u5efa\u8b70\u8207\u6307\u5f15\u3002<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-health-well-being_ecs_category social-children-and-youth_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/helping-children-with-thalassaemia\/\" rel=\"bookmark\">Helping children with Thalassaemia<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">Five-and-a-half-year-old Hei-hei was born with Thalassaemia Major. When his father Samuel learned that Hei-hei would have to receive lifelong blood transfusions, the whole family became worried, anxious and uncertain about Hei-hei\u2019s future. Luckily, Samuel came across the Children\u2019s Thalassaemia Foundation.<br \/>\n<br \/>\nWith help from the Foundation, the family raised enough money to research potential blood marrow donations. Eventually, Hei-hei underwent a blood marrow transplant after successfully finding a matching donor.<br \/>\n<br \/>\nIn 2015, OSC provided the Foundation with medical funds to support, test and operate on child patients with transfusion-dependent thalassaemia. Without this funding, Hei-hei might not be with us today. The family would like to express their gratitude for all the support and help they received.<\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2025\/09\/Frame-36-1.png\" alt=\"main image\" \/><\/p>\n<div class=\"date\">29 Nov 2017<\/div>\n<p><iframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/opIZS26qOmM?si=hT3WV2Y7zTNcdxk9\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<div class=\"title-zh\">\u5e6b\u52a9\u5730\u4e2d\u6d77\u8ca7\u8840\u5152\u7ae5<\/div>\n<div class=\"organization-summary-zh\">\u5e74\u50c5\u4e94\u6b72\u534a\u7684\u5e0c\u5e0c\uff0c\u4e00\u51fa\u751f\u4fbf\u78ba\u8a3a\u60a3\u6709\u91cd\u578b\u5730\u4e2d\u6d77\u8ca7\u8840\u3002\u7576\u7236\u89aaSamuel\u5f97\u77e5\u5e0c\u5e0c\u9700\u8981\u7d42\u751f\u4f9d\u8cf4\u8f38\u8840\uff0c\u5168\u5bb6\u4e0a\u4e0b\u5c0d\u5e0c\u5e0c\u7684\u672a\u4f86\u7686\u611f\u5230\u64d4\u6182\u3001\u7126\u616e\u8207\u832b\u7136\u3002\u6240\u5e78\uff0cSamuel\u806f\u7d61\u4e0a\u4e86\u5730\u4e2d\u6d77\u8ca7\u8840\u5152\u7ae5\u57fa\u91d1\u3002<br \/>\n<br \/>\n\u5728\u57fa\u91d1\u7684\u5354\u52a9\u4e0b\uff0c\u5e0c\u5e0c\u4e00\u5bb6\u6210\u529f\u7c4c\u96c6\u4e86\u5145\u8db3\u8cc7\u91d1\uff0c\u9032\u884c\u6f5b\u5728\u9aa8\u9ad3\u6350\u8d08\u8005\u7684\u914d\u5c0d\u7814\u7a76\u3002\u6700\u7d42\uff0c\u5728\u6210\u529f\u914d\u5c0d\u6350\u8d08\u8005\u5f8c\uff0c\u5e0c\u5e0c\u5f97\u4ee5\u63a5\u53d7\u9aa8\u9ad3\u79fb\u690d\u624b\u8853\u3002<br \/>\n<br \/>\n<strong>\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5<\/strong>\u65bc2015\u5e74\u64a5\u6b3e\u63d0\u4f9b\u91ab\u7642\u8cc7\u91d1\u4e88\u57fa\u91d1\u6703\uff0c\u7528\u4ee5\u652f\u6301\u3001\u6aa2\u6e2c\u53ca\u70ba\u60a3\u6709\u8f38\u8840\u4f9d\u8cf4\u578b\u5730\u4e2d\u6d77\u8ca7\u8840\u7684\u5152\u7ae5\u9032\u884c\u95dc\u9375\u624b\u8853\u3002\u82e5\u7121\u6b64\u9805\u8cc7\u52a9\uff0c\u5e0c\u5e0c\u53ef\u80fd\u7121\u6cd5\u5ef6\u7e8c\u751f\u547d\u3002\u5e0c\u5e0c\u7684\u5bb6\u4eba\u5c0d\u6240\u6709\u652f\u6301\u548c\u63f4\u52a9\u8868\u9054\u6700\u8aa0\u646f\u7684\u8b1d\u610f\u3002<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-district-focus-community_ecs_category social-inclusivity_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/lasting-impact-delivered-by-osc-story-of-rainlily\/\" rel=\"bookmark\">Lasting Impact Delivered by OSC &#8211; Story of RainLily<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\nMs X was counselled at <a href=\"https:\/\/rainlily.org.hk\/\" target=\"_blank\" rel=\"noopener noreferrer\">RainLily<\/a> in April 2018. During her visit, she revealed she had been indecently assaulted by her doctor. She felt very uncomfortable talking about her experience; her doctor had touched her inappropriately during a recent examination and had neglected to ask a female member of staff to accompany him during the examination. Ms X didn\u2019t want to report her experience to the police because she was worried about testifying in court. However, she felt humiliated by what had happened and wanted to find out what legal action could be taken so that the doctor would be held responsible.<br \/>\n<br \/>\nThe counselor suggested that Ms X file a complaint through the Equal Opportunities Commission (E.O.C), with the help of the DLA Piper\u2019s legal representation. Ms X was relieved to find out that she qualified for pro-bono legal service and wouldn\u2019t have to face legal proceedings alone. The DLA Piper met with Ms X and suggested they send a letter on her behalf to the doctor, requesting for settlement in the form of an apology letter and monetary compensation. If the doctor refused, the lawyers would take the case to E.O.C.<br \/>\n<br \/>\nMs X agreed, so the lawyers wrote the letter and acted as a point of communication between the two parties throughout all of the settlement negotiations. The doctor accepted the terms of settlement and, fortunately, the case did not need to proceed to the E.O.C. Within a few months, the client received an apology letter and monetary compensation for all her previous medical appointments. DLA Piper\u2019s professional help alleviated Ms X from having to handle any legal documents or communicate directly with the doctor. She felt the lawyer, and RainLily, helped her achieve justice and restore her dignity.\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2025\/09\/Frame-34.png\" alt=\"main image\" \/><\/p>\n<div class=\"date\">20 Oct 2018<\/div>\n<div class=\"title-zh\">\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5\u7684\u6301\u4e45\u5f71\u97ff\uff1a<br \/>\u98a8\u96e8\u862d\u6545\u4e8b<\/div>\n<div class=\"organization-summary-zh\">X\u5973\u58eb\u65bc2018\u5e744\u6708\u524d\u5f80\u98a8\u96e8\u862d\u5c0b\u6c42\u8f14\u5c0e\u3002\u6703\u9762\u6642\uff0c\u5979\u62ab\u9732\u4e86\u66fe\u906d\u5230\u91ab\u751f\u975e\u79ae\u7684\u7d93\u6b77\u3002\u5979\u5c0d\u6b64\u4e8b\u6df1\u611f\u4e0d\u5b89\uff1a\u5176\u91ab\u751f\u5728\u4e00\u6b21\u6aa2\u67e5\u4e2d\u5c0d\u5979\u4f5c\u51fa\u4e0d\u7576\u7684\u89f8\u78b0\u884c\u70ba\uff0c\u4e14\u672a\u6309\u898f\u5b9a\u8981\u6c42\u5973\u8077\u54e1\u5728\u5834\u3002X\u5973\u58eb\u4e0d\u9858\u610f\u5831\u8b66\uff0c\u4e3b\u8981\u9867\u616e\u8981\u5728\u6cd5\u5ead\u4e0a\u51fa\u5ead\u4f5c\u8b49\u3002\u4f46\u5979\u5c0d\u6240\u906d\u53d7\u7684\u7f9e\u8fb1\u7121\u6cd5\u91cb\u61f7\uff0c\u5e0c\u671b\u80fd\u5c0b\u6c42\u6cd5\u5f8b\u9014\u5f91\uff0c\u8ffd\u7a76\u8a72\u91ab\u751f\u7684\u8cac\u4efb\u3002<br \/>\n<br \/>\n\u8f14\u5c0e\u54e1\u5efa\u8b70X\u5973\u58eb\u5728DLA Piper\u5f8b\u5e2b\u4e8b\u52d9\u6240\u7684\u6cd5\u5f8b\u4ee3\u8868\u5354\u52a9\u4e0b\uff0c\u900f\u904e\u5e73\u7b49\u6a5f\u6703\u59d4\u54e1\u6703\uff08EOC\uff09\u63d0\u51fa\u6295\u8a34\u3002X\u5973\u58eb\u5f97\u77e5\u5979\u7b26\u5408\u514d\u8cbb\u6cd5\u5f8b\u670d\u52d9\u7684\u8cc7\u683c\uff0c\u4e14\u6bcb\u9808\u7368\u81ea\u9762\u5c0d\u6cd5\u5f8b\u7a0b\u5e8f\u5f8c\u611f\u5230\u9b06\u4e00\u53e3\u6c23\u3002DLA Piper\u5f8b\u5e2b\u6703\u898b\u4e86X\u5973\u58eb\uff0c\u5efa\u8b70\u4ee5\u5979\u7684\u540d\u7fa9\u5411\u8a72\u91ab\u751f\u767c\u4fe1\uff0c\u8981\u6c42\u4ee5\u9053\u6b49\u4fe1\u548c\u91d1\u9322\u8ce0\u511f\u7684\u5f62\u5f0f\u9054\u6210\u548c\u89e3\u3002\u5982\u679c\u8a72\u91ab\u751f\u62d2\u7d55\uff0c\u5f8b\u5e2b\u5c07\u628a\u6848\u4ef6\u63d0\u4ea4\u7d66EOC\u3002<br \/>\n<br \/>\n\u5728X\u5973\u58eb\u540c\u610f\u5f8c\uff0c\u5f8b\u5e2b\u96a8\u5373\u767c\u51fd\uff0c\u4e26\u5728\u6574\u500b\u548c\u89e3\u8ac7\u5224\u904e\u7a0b\u4e2d\u5145\u7576\u96d9\u65b9\u7684\u4e3b\u8981\u806f\u7e6b\u9ede\u3002\u8a72\u91ab\u751f\u6700\u7d42\u63a5\u53d7\u4e86\u548c\u89e3\u689d\u4ef6\uff0c\u6240\u5e78\u6848\u4ef6\u6bcb\u9808\u63d0\u4ea4\u81f3\u5e73\u7b49\u6a5f\u6703\u59d4\u54e1\u6703\uff08EOC\uff09\u3002\u6578\u6708\u4e4b\u5167\uff0cX\u5973\u58eb\u4e0d\u50c5\u6536\u5230\u9053\u6b49\u4fe1\uff0c\u4ea6\u7372\u5f97\u4e86\u5979\u6240\u6709\u5148\u524d\u91ab\u7642\u8cbb\u7528\u7684\u8ce0\u511f\u91d1\u3002DLA Piper \u63d0\u4f9b\u7684\u5c08\u696d\u652f\u63f4\uff0c\u8b93X\u5973\u58eb\u7121\u9808\u89aa\u81ea\u8655\u7406\u4efb\u4f55\u6cd5\u5f8b\u6587\u4ef6\u6216\u8207\u91ab\u751f\u76f4\u63a5\u63a5\u89f8\u3002\u5979\u8a8d\u70ba\u5f8b\u5e2b\u548c\u98a8\u96e8\u862d\u7684\u4ecb\u5165\uff0c\u52a9\u5979\u4f38\u5f35\u4e86\u6b63\u7fa9\uff0c\u91cd\u62fe\u4e86\u5c0a\u56b4\u3002<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-health-well-being_ecs_category social-elderly_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/helping-children-with-thalassaemia-2\/\" rel=\"bookmark\">Bringing Clear Visions to Elderly People<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\n<p>Mr. Chan has a profound love for gardening that is his source of happiness and purpose in life. Unfortunately, he suffered from cataracts and optic disc edema for years causing blurry vision, which obstructed him from enjoying his favourite hobby. Despite the referral to a public hospital for further treatment, the waiting time is excessively long.<br \/>\n<br \/>\nSaint Barnabas&#8217; Society and Home became a blessing to provide eye surgery service under its project Regain Crystal Clear Vision to him. After undergoing surgery, he expressed that he regained his vision and found joy in life again, allowing him to continue finding pleasure in gardening activities, and that his self-care abilities have been improved too.<br \/>\n<br \/>\nAn <strong>Operation Santa Claus grant<\/strong> was a favourable support to Saint Barnabas&#8217; Society and Home in 2022. The poor and homeless in Hong Kong benefited from its services by providing free eye examinations and treatment, primarily elderly, and glasses when needed, so that they can restore clear eyesight and cope with daily living.<\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2025\/09\/Frame-36.png\" alt=\"main image\" \/><\/p>\n<div class=\"date\">18 Oct 2022<\/div>\n<div class=\"title-zh\">\u70ba\u9577\u8005\u5e36\u4f86\u6e05\u6670\u8996\u91ce<\/div>\n<div class=\"organization-summary-zh\">\u9673\u5148\u751f\u5c0d\u5712\u85dd\u6709\u8457\u6df1\u539a\u7684\u71b1\u611b\uff0c\u9019\u662f\u4ed6\u5feb\u6a02\u548c\u4eba\u751f\u610f\u7fa9\u7684\u4f86\u6e90\u3002\u7136\u800c\uff0c\u591a\u5e74\u4f86\u4ed6\u98fd\u53d7\u767d\u5167\u969c\u548c\u8996\u795e\u7d93\u4e73\u982d\u6c34\u816b\u4e4b\u82e6\uff0c\u5c0e\u81f4\u8996\u529b\u6a21\u7cca\uff0c\u4ee4\u4ed6\u7121\u6cd5\u76e1\u60c5\u4eab\u53d7\u9019\u4efd\u646f\u611b\u3002\u5118\u7ba1\u7372\u8f49\u4ecb\u81f3\u516c\u7acb\u91ab\u9662\u63a5\u53d7\u9032\u4e00\u6b65\u6cbb\u7642\uff0c\u537b\u9762\u81e8\u6f2b\u9577\u7684\u8f2a\u5019\u6642\u9593\u3002<br \/>\n<br \/>\n\u8056\u5df4\u62ff\u5df4\u6703\u4e4b\u5bb6\u900f\u904e\u5176\u300cRegain Crystal Clear Vision\u300d\u9805\u76ee\uff0c\u70ba\u4ed6\u63d0\u4f9b\u4e86\u773c\u79d1\u624b\u8853\u3002\u9673\u5148\u751f\u65bc\u8853\u5f8c\u8868\u793a\uff0c\u4ed6\u4e0d\u50c5\u91cd\u62fe\u4e86\u6e05\u6670\u8996\u529b\uff0c\u4ea6\u91cd\u7372\u4e86\u751f\u6d3b\u4e2d\u7684\u559c\u6085\uff0c\u5f97\u4ee5\u7e7c\u7e8c\u6295\u5165\u5712\u85dd\uff0c\u4e26\u4e14\u81ea\u6211\u7167\u9867\u80fd\u529b\u4e5f\u5f97\u5230\u63d0\u5347\u3002<br \/>\n<br \/>\n<strong>\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5<\/strong>\u65bc2022\u5e74\u64a5\u6b3e\u8cc7\u52a9\u4e86\u8056\u5df4\u62ff\u5df4\u6703\u4e4b\u5bb6\uff0c\u8b93\u6a5f\u69cb\u80fd\u70ba\u9999\u6e2f\u7684\u8ca7\u56f0\u4eba\u58eb\u548c\u7121\u5bb6\u8005\u63d0\u4f9b\u514d\u8cbb\u773c\u79d1\u6aa2\u67e5\u8207\u6cbb\u7642\u3002\u9019\u9805\u670d\u52d9\u4ee5\u9577\u8005\u70ba\u4e3b\u8981\u5c0d\u8c61\uff0c\u4e26\u5728\u6709\u9700\u8981\u6642\u63d0\u4f9b\u773c\u93e1\uff0c\u85c9\u6b64\u5354\u52a9\u4ed6\u5011\u91cd\u7372\u6e05\u6670\u8996\u529b\uff0c\u5f9e\u5bb9\u61c9\u5c0d\u65e5\u5e38\u751f\u6d3b\u3002<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-inclusivity_ecs_category social-persons-with-disabilities-mental-health-recovery_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/nature-within-reach\/\" rel=\"bookmark\">Nature within reach<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\n<p>For wheelchair users like Mrs Chu and her husband*, a weekend hike in Hong Kong&#8217;s beautiful countryside once felt completely out of reach. Without accessible trails and facilities, exploring nature was a massive physical struggle, a beginner-level hike ended up taking them eight times longer than the average walker.<\/p>\n<p>&nbsp;<\/p>\n<p>The couple joined outdoor workshops and guided tours in the \u201cEnhancing Wellness of the Disabled and Elderly communities through Nature and Technology\u201d programme led by local NGO <a href=\"https:\/\/www.parksandtrails.hk\/en\/\">Parks and Trails<\/a>. Together, they successfully completed routes at Tai Tam Reservoir, Hong Kong Wetland Park and Long Valley. By using the NGO\u2019s \u201cAccessible Trails Guidebook\u201d, which details 20 local routes, they have since gained the skills needed to navigate the outdoors with confidence.<\/p>\n<p>&nbsp;<\/p>\n<p>\u201cHearing the water flowing, smelling the greenery and hugging the trees, it\u2019s just wonderful. I am so delighted that we can explore more trails with family and friends,\u201d she said.<\/p>\n<p>&nbsp;<\/p>\n<p>Read more about the project <a href=\"https:\/\/oschk.org\/event\/parks-and-trails-limited\/\">here<\/a>. Follow their Instagram <a href=\"https:\/\/www.instagram.com\/parksandtrailshk\/\">@parksandtrailshk<\/a> to stay updated.<\/p>\n<p>&nbsp;<\/p>\n<p><em>*Full details of the interviewee have been withheld for privacy and consent reasons.<\/em><\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2026\/07\/Resized_Parks-and-Trails-OSC-Impact-Story.jpg\" \/><\/p>\n<div class=\"date\">6 Jul 2026<\/div>\n<div class=\"title-zh\">\u89f8\u624b\u53ef\u53ca\u7684\u5927\u81ea\u7136<\/div>\n<div class=\"organization-summary-zh\">\n<p>\u5c0d\u65bc\u8f2a\u6905\u4f7f\u7528\u8005\u6731\u592a\u548c\u5979\u7684\u4e08\u592b\u4f86*\u8aaa\uff0c\u5230\u9999\u6e2f\u7f8e\u9e97\u7684\u90ca\u91ce\u9032\u884c\u4e00\u5834\u9031\u672b\u9060\u8db3\u66fe\u7d93\u662f\u4ef6\u5b8c\u5168\u9059\u4e0d\u53ef\u53ca\u7684\u4e8b\u3002\u5728\u7f3a\u4e4f\u7121\u969c\u7919\u5c71\u5f91\u548c\u8a2d\u65bd\u7684\u60c5\u6cc1\u4e0b\uff0c\u63a2\u7d22\u5927\u81ea\u7136\u8b8a\u6210\u4e86\u4e00\u5834\u5de8\u5927\u7684\u9ad4\u80fd\u8003\u9a57\u3002\u904e\u5f80\u4e00\u6b21\u5165\u9580\u7d1a\u7684\u884c\u5c71\u65c5\u7a0b\uff0c\u4ed6\u5011\u6700\u7d42\u7528\u4e86\u6bd4\u666e\u901a\u884c\u5c71\u4eba\u58eb\u591a\u516b\u500d\u7684\u6642\u9593\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u9019\u5c0d\u592b\u5a66\u96a8\u5f8c\u53c3\u52a0\u4e86\u7531\u672c\u5730 <a href=\"https:\/\/www.parksandtrails.hk\/tc\/\">NGO Parks and Trails<\/a> \u6240\u8209\u8fa6\u7684\u300c\u6a02\u4eab\u5927\u81ea\u7136 \u2013 \u5171\u878d\u53ca\u79d1\u6280\u9805\u76ee\u300d\u6236\u5916\u5de5\u4f5c\u574a\u53ca\u5c0e\u8cde\u5718\u3002\u5728\u9805\u76ee\u7684\u5354\u52a9\u4e0b\uff0c\u4ed6\u5011\u6210\u529f\u5b8c\u6210\u4e86\u5927\u6f6d\u6c34\u5858\u3001\u9999\u6e2f\u6fd5\u5730\u516c\u5712\u548c\u5871\u539f\u7684\u8def\u7dda\u3002\u900f\u904e\u4f7f\u7528\u8a72\u6a5f\u69cb\u7de8\u88fd\u3001\u8a73\u7d30\u8a18\u9304\u4e86 20 \u689d\u672c\u5730\u8def\u7dda\u7684\u300a\u7121\u969c\u7919\u884c\u5c71\u6307\u5357\u300b\uff0c\u4ed6\u5011\u5f9e\u4e2d\u638c\u63e1\u4e86\u6240\u9700\u7684\u6280\u5de7\uff0c\u5982\u4eca\u5df2\u80fd\u6eff\u61f7\u4fe1\u5fc3\u5730\u898f\u5283\u884c\u5c71\u4e4b\u65c5\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u6731\u592a\u8868\u793a\uff1a\u300c\u807d\u5230\u6d41\u6c34\u8072\uff0c\u547c\u5438\u8349\u6728\u9999\u6c23\uff0c\u53c8\u53ef\u4ee5\u64c1\u62b1\u6a39\u6728\uff0c\u597d\u6b63\uff01\u6211\u5f88\u9ad8\u8208\u73fe\u5728\u80fd\u548c\u5bb6\u4eba\u53ca\u670b\u53cb\u4e00\u8d77\u63a2\u7d22\u66f4\u591a\u7684\u5c71\u5f91\u3002\u300d<\/p>\n<p>&nbsp;<\/p>\n<p>\u6b32\u4e86\u89e3\u66f4\u591a\u9805\u76ee\u8a73\u60c5\uff0c\u8acb\u700f\u89bd\u6211\u5011\u7684<a href=\"https:\/\/oschk.org\/zh\/event\/parks-and-trails-limited\/\">\u7db2\u7ad9<\/a>\u3002\u6b61\u8fce\u8ffd\u8e64Parks and Trails\u7684 Instagram \u5c08\u9801 <a href=\"https:\/\/www.instagram.com\/parksandtrailshk\/\">@parksandtrailshk<\/a> \u4ee5\u7372\u53d6\u6700\u65b0\u52d5\u614b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><em>*\u70ba\u4fdd\u969c\u79c1\u96b1\u4e26\u5c0a\u91cd\u7576\u4e8b\u4eba\u610f\u9858\uff0c\u53d7\u8a2a\u8005\u7684\u8a73\u7d30\u8cc7\u6599\u5df2\u4e88\u4ee5\u4fdd\u7559\u3002<\/em><\/p>\n<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-inclusivity_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/finding-the-place-to-shine\/\" rel=\"bookmark\">Finding the place to shine<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\n<p>Fleeing Sri Lanka for Hong Kong in 2016, Sanju* spent four difficult years in legal limbo, unable to work and feeling entirely invisible.<\/p>\n<p>&nbsp;<\/p>\n<p>After receiving official refugee status in 2020, Sanju joined \u201cThe Employability Programme\u201d led by local NGO <a href=\"http:\/\/www.cfr.org.hk\">Christian Action \u2013 Centre for Refugees<\/a>\u2019 to help refugees build skills and find jobs in Hong Kong. The training helped him master interview skills and navigate local workplace culture, leading to a housekeeping position at a 5-star hotel.<\/p>\n<p>&nbsp;<\/p>\n<p>Through hard work, Sanju earned the &#8220;Best Housekeeping Staff&#8221; award and a promotion to Guest Experience Host by 2024.<\/p>\n<p>&nbsp;<\/p>\n<p>\u201cI truly enjoy my work because it allows me to connect with people, provide meaningful support, and make each day feel rewarding. The variety of tasks keeps me engaged, and the satisfaction of helping others makes me proud of what I do,\u201d he said.<\/p>\n<p>&nbsp;<\/p>\n<p>Read more about the project <a href=\"https:\/\/oschk.org\/event\/christian-action-centre-for-refugees-3\/\">here<\/a>. Follow their Instagram <a href=\"https:\/\/www.instagram.com\/centreforrefugees\/\">@centreforrefugees<\/a> to stay updated.<\/p>\n<p>&nbsp;<\/p>\n<p><em>*Full details of the interviewee have been withheld for privacy and consent reasons.<\/em><\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2026\/07\/Resized_Christian-Action-Centre-for-Refugees-OSC-Impact-Story.jpg\" \/><\/p>\n<div class=\"date\">6 Jul 2026<\/div>\n<div class=\"title-zh\">\u5c0b\u7372\u767c\u5149\u767c\u4eae\u7684\u821e\u53f0<\/div>\n<div class=\"organization-summary-zh\">\n<p>Sanju* \u5728 2016 \u5e74\u9003\u96e2\u65af\u91cc\u862d\u5361\u4f86\u5230\u9999\u6e2f\uff0c \u96a8\u5f8c\u5ea6\u904e\u4e86\u56db\u5e74\u6c92\u6709\u5408\u6cd5\u8eab\u4efd\u7684\u72c0\u614b\u7684\u8271\u96e3\u6b72\u6708 \u3002\u671f\u9593\u4ed6\u7121\u6cd5\u5de5\u4f5c\uff0c\u611f\u5230\u81ea\u5df1\u5b8c\u5168\u88ab\u793e\u6703\u5ffd\u8996\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5728 2020 \u5e74\u6b63\u5f0f\u7372\u5f97\u96e3\u6c11\u8eab\u4efd\u5f8c\uff0cSanju \u52a0\u5165\u4e86\u672c\u5730\u975e\u653f\u5e9c\u7d44\u7e54<a href=\"http:\/\/www.cfr.org.hk\">\u57fa\u7763\u6559\u52f5\u884c\u6703\u96e3\u6c11\u670d\u52d9\u4e2d\u5fc3<\/a>\u8209\u8fa6\u7684\u300c\u5c31\u696d\u80fd\u529b\u8a08\u5283\u300d\uff0c\u8a72\u8a08\u5283\u65e8\u5728\u5e6b\u52a9\u96e3\u6c11\u63d0\u5347\u6280\u80fd\u4e26\u5728\u9999\u6e2f\u5c0b\u627e\u5de5\u4f5c\u3002\u9019\u9805\u57f9\u8a13\u5e6b\u52a9\u4ed6\u638c\u63e1\u4e86\u9762\u8a66\u6280\u5de7\uff0c\u4e26\u878d\u5165\u672c\u5730\u7684\u8077\u5834\u6587\u5316\uff0c\u8b93\u4ed6\u6210\u529f\u7372\u5f97\u4e86\u4e00\u5bb6\u4e94\u661f\u7d1a\u9152\u5e97\u7684\u623f\u52d9\u54e1\u8077\u4f4d\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u6191\u85c9\u4e0d\u61c8\u7684\u52aa\u529b\uff0cSanju \u5728 2024 \u5e74\u69ae\u7372\u300c\u6700\u4f73\u623f\u52d9\u54e1\u5de5\u300d\u734e\uff0c\u4e26\u7372\u6649\u5347\u70ba\u8cd3\u5ba2\u9ad4\u9a57\u5927\u4f7f\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4ed6\u8868\u793a\uff1a\u300c\u6211\u771f\u7684\u5f88\u4eab\u53d7\u6211\u7684\u5de5\u4f5c\uff0c\u56e0\u70ba\u5b83\u8b93\u6211\u80fd\u5920\u8207\u4eba\u5efa\u7acb\u806f\u7e6b\u3001\u63d0\u4f9b\u6709\u610f\u7fa9\u7684\u5354\u52a9\uff0c\u4e26\u8b93\u6bcf\u4e00\u5929\u90fd\u904e\u5f97\u5145\u5be6\u3002\u591a\u6a23\u5316\u7684\u5de5\u4f5c\u5167\u5bb9\u8b93\u6211\u4fdd\u6301\u6295\u5165\uff0c\u800c\u5e6b\u52a9\u4ed6\u4eba\u6240\u5e36\u4f86\u7684\u6eff\u8db3\u611f\u66f4\u8b93\u6211\u70ba\u81ea\u5df1\u7684\u5de5\u4f5c\u611f\u5230\u81ea\u8c6a\u3002\u300d<\/p>\n<p>&nbsp;<\/p>\n<p>\u6b32\u4e86\u89e3\u66f4\u591a\u9805\u76ee\u8a73\u60c5\uff0c\u8acb\u700f\u89bd\u6211\u5011\u7684<a href=\"https:\/\/oschk.org\/zh\/event\/christian-action-centre-for-refugees-3\/\">\u7db2\u7ad9<\/a>\u3002 \u6b61\u8fce\u8ffd\u8e64\u57fa\u7763\u6559\u52f5\u884c\u6703\u7684 Instagram \u5c08\u9801 <a href=\"https:\/\/www.instagram.com\/centreforrefugees\/\">@centreforrefugees<\/a> \u4ee5\u7372\u53d6\u6700\u65b0\u52d5\u614b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><em>*\u70ba\u4fdd\u969c\u79c1\u96b1\u4e26\u5c0a\u91cd\u7576\u4e8b\u4eba\u610f\u9858\uff0c\u53d7\u8a2a\u8005\u7684\u8a73\u7d30\u8cc7\u6599\u5df2\u4e88\u4ee5\u4fdd\u7559\u3002<\/em><\/p>\n<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-elderly_ecs_category social-inclusivity_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/the-family-tree-of-belonging\/\" rel=\"bookmark\">The family tree of belonging<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\n<p>Jan* is a Pakistani elder living in Hong Kong\u2019s Eastern District, a neighbourhood home to a vibrant South Asian community. Like many women of her generation, her life, for decades revolved around caring for her family while her children went out to work. Because of language barriers, she found it hard to integrate into the wider community and had little opportunity to communicate with her Chinese-speaking neighbours.<\/p>\n<p>&nbsp;<\/p>\n<p>Since joining the \u201cNarrating Life Stories \u2013 Supportive Project for Ethnic Minority Elders\u201d, organised by the <a href=\"https:\/\/www.mevcc.org.hk\/en\/\">Methodist Epworth Village Community Centre, Social Welfare<\/a>, Jan has begun to find a sense of belonging. Centred on the sharing of life stories, the project aims to promote social inclusion through the power of storytelling.<\/p>\n<p>&nbsp;<\/p>\n<p>As a member of the project\u2019s art therapy group, Jan has created several artworks under the theme \u201cThe Five Flavours of Life\u201d, using art to explore stories behind the different \u201ctastes\u201d of her life. Volunteers also visited her at home and, based on her sharing, crafted a \u201cfamily tree\u201d artwork symbolising intergenerational legacy, and placed it in her personal \u201clife story treasure box\u201d. These works were later showcased to the public at the Life Celebration Exhibition.<\/p>\n<p>&nbsp;<\/p>\n<p>\u201cThrough art, I found my place here. \u201d she said.<\/p>\n<p>&nbsp;<\/p>\n<p>Read more about the project <a href=\"https:\/\/oschk.org\/event\/methodist-epworth-village-community-centre-social-welfare\/\">here<\/a>. Follow their Instagram <a href=\"https:\/\/www.instagram.com\/mevcc.official\/\">@mevcc.official<\/a> to stay updated.<\/p>\n<p>&nbsp;<\/p>\n<p><em>*Full details of the interviewee have been withheld for privacy and consent reasons. The photo has been blurred at the interviewee\u2019s request.<\/em><\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2026\/07\/Resized-Blurred_Methodist-Epworth-OSC-Impact-Story.jpg\" \/><\/p>\n<div class=\"date\">6 Jul 2026<\/div>\n<div class=\"title-zh\">\u8c61\u5fb5\u6b78\u5c6c\u611f\u7684\u5bb6\u65cf\u6a39<\/div>\n<div class=\"organization-summary-zh\">\n<p>Jan* \u662f\u4e00\u4f4d\u5c45\u4f4f\u5728\u6e2f\u5cf6\u6771\u5340\u7684\u5df4\u57fa\u65af\u5766\u88d4\u9577\u8005\uff0c\u8a72\u5340\u662f\u5145\u6eff\u6d3b\u529b\u7684\u5357\u4e9e\u88d4\u793e\u7fa4\u805a\u5c45\u5730\u3002\u8207\u8a31\u591a\u540c\u4ee3\u5973\u6027\u4e00\u6a23\uff0c\u904e\u53bb\u6578\u5341\u5e74\uff0c\u5979\u96a8\u8457\u5b50\u5973\u5916\u51fa\u5de5\u4f5c\uff0c\u628a\u751f\u6d3b\u91cd\u5fc3\u5b8c\u5168\u653e\u5728\u7167\u9867\u5bb6\u5ead\u4e0a\u3002\u7531\u65bc\u8a9e\u8a00\u9694\u95a1\uff0c\u5979\u96e3\u4ee5\u878d\u5165\u793e\u5340\uff0c\u4ea6\u8f03\u5c11\u8207\u8aaa\u4e2d\u6587\u7684\u9130\u5c45\u4ea4\u6d41\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u81ea\u5f9e\u53c3\u8207\u7531\u672c\u5730\u975e\u653f\u5e9c\u7d44\u7e54\u300c<a href=\"https:\/\/www.mevcc.org.hk\/en\/\">\u5faa\u9053\u611b\u83ef\u6751\u670d\u52d9\u4e2d\u5fc3\u793e\u6703\u798f\u5229\u90e8<\/a>\u300d\u4e3b\u8fa6\u7684\u300c\u85dd\u8ff0\u50b3\u8006\u2500\u2500\u975e\u83ef\u88d4\u9577\u8005\u652f\u63f4\u8a08\u5283\u300d\u5f8c\uff0cJan \u958b\u59cb\u5728\u793e\u5340\u4e2d\u627e\u5230\u6b78\u5c6c\u611f\u3002\u9019\u500b\u9805\u76ee\u4ee5\u5206\u4eab\u751f\u547d\u6545\u4e8b\u70ba\u6838\u5fc3\uff0c\u5e0c\u671b\u900f\u904e\u300c\u8aaa\u6545\u4e8b\u7684\u529b\u91cf\u300d\u63a8\u52d5\u793e\u5340\u5171\u878d\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u4f5c\u70ba\u85dd\u8853\u6cbb\u7642\u5c0f\u7d44\u7684\u4e00\u54e1\uff0cJan \u89aa\u624b\u5275\u4f5c\u4e86\u591a\u4ef6\u4ee5\u300c\u4e94\u5473\u4eba\u751f\u300d\u70ba\u4e3b\u984c\u7684\u4f5c\u54c1\uff0c\u900f\u904e\u85dd\u8853\u7d30\u5473\u81ea\u5df1\u751f\u547d\u4e2d\u4e0d\u540c\u300c\u5473\u9053\u300d\u7684\u6545\u4e8b\u3002\u540c\u6642\uff0c\u63a2\u8a2a\u7fa9\u5de5\u4ea6\u6309\u5979\u7684\u5206\u4eab\uff0c\u70ba\u5979\u88fd\u4f5c\u4e86\u4e00\u68f5\u8c61\u5fb5\u5bb6\u65cf\u50b3\u627f\u7684\u300c\u5bb6\u5ead\u6a39\u300d\u624b\u5de5\u4f5c\u54c1\uff0c\u4e26\u6536\u5165\u5979\u7684\u300c\u751f\u547d\u6545\u4e8b\u5bf6\u76d2\u300d\u3002\u9019\u4e9b\u4f5c\u54c1\u5176\u5f8c\u5728\u300c\u751f\u547d\u6176\u5178\u5c55\u89bd\u300d\u4e2d\u5411\u516c\u773e\u5c55\u51fa\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5979\u8868\u793a\uff1a\u300c\u85dd\u8853\u8b93\u6211\u878d\u5165\u4e86\u9019\u88e1\u3002\u300d<\/p>\n<p>&nbsp;<\/p>\n<p>\u6b32\u4e86\u89e3\u66f4\u591a\u9805\u76ee\u8a73\u60c5\uff0c\u8acb\u700f\u89bd\u6211\u5011\u7684<a href=\"https:\/\/oschk.org\/zh\/event\/methodist-epworth-village-community-centre-social-welfare\/\">\u7db2\u7ad9<\/a>\u3002\u6b61\u8fce\u8ffd\u8e64\u4ed6\u5011\u7684 Instagram \u5c08\u9801 <a href=\"https:\/\/www.instagram.com\/mevcc.official\">@mevcc.official<\/a> \u4ee5\u7372\u53d6\u6700\u65b0\u52d5\u614b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><em>*\u70ba\u4fdd\u969c\u79c1\u96b1\u4e26\u5c0a\u91cd\u7576\u4e8b\u4eba\u610f\u9858\uff0c\u53d7\u8a2a\u8005\u7684\u8a73\u7d30\u8cc7\u6599\u5df2\u4e88\u4ee5\u4fdd\u7559\u3002\u7167\u7247\u4ea6\u61c9\u53d7\u8a2a\u8005\u8981\u6c42\u9032\u884c\u4e86\u6a21\u7cca\u8655\u7406\u3002<\/em><\/p>\n<\/div>\n<\/div><\/li><li class=\"ecs-event impact-stories-en_ecs_category social-inclusivity_ecs_category social-medical_ecs_category social-persons-with-disabilities-mental-health-recovery_ecs_category\"><h4 class=\"entry-title summary\"><a href=\"https:\/\/oschk.org\/zh\/event\/finding-the-circle-of-control\/\" rel=\"bookmark\">Finding the circle of control<\/a><\/h4><div class=\"ecs-excerpt\"><div class=\"organization-summary\">\n<p>Ms Wong* constantly worried about her 23-year-old autistic son, Isaac, who faced intense anxiety and emotional challenges transitioning out of special schooling without structured support.<\/p>\n<p>&nbsp;<\/p>\n<p>Through the \u201cSEED\u201d courses led by local NGOs <a href=\"https:\/\/www.bepriceless.org\/\">Be Priceless<\/a> for children with special education needs (SEN) and their families, Isaac learned &#8220;In-and-out Breathing&#8221; and the &#8220;Circle of Control&#8221; techniques to manage his anxiety. Guided by visual charts, he now independently completes his exercises at home. The programme also broke the family\u2019s isolation by offering a safe space for peer connection.<\/p>\n<p>&nbsp;<\/p>\n<p>&#8220;I am so delighted that classmates proactively chat with us. This is a wonderful opportunity for the children to practise their social skills,\u201d she said.<\/p>\n<p>&nbsp;<\/p>\n<p>Read more about the project <a href=\"https:\/\/oschk.org\/event\/be-priceless-limited\/\">here<\/a>. Follow their Instagram <a href=\"https:\/\/www.instagram.com\/bepricelesshk\/?hl=en\">@bepricelesshk<\/a> to stay updated.<\/p>\n<p>&nbsp;<\/p>\n<p><em>*Full details of the interviewee have been withheld for privacy and consent reasons.<\/em><\/p>\n<\/div>\n<p><img decoding=\"async\" class=\"main-image\" src=\"\/wp-content\/uploads\/2026\/07\/Resized_Be-Priceless-OSC-Impact-Story.jpg\" \/><\/p>\n<div class=\"date\">6 Jul 2026<\/div>\n<div class=\"title-zh\">\u5c0b\u7372\u300c\u638c\u63a7\u5708\u300d<\/div>\n<div class=\"organization-summary-zh\">\n<p>\u9ec3\u5973\u58eb* \u7d93\u5e38\u70ba\u5979 23 \u6b72\u60a3\u6709\u81ea\u9589\u75c7\u7684\u5152\u5b50 Isaac \u611f\u5230\u6182\u5fc3\u3002Isaac \u5728\u96e2\u958b\u7279\u6b8a\u5b78\u6821\u5f8c\uff0c\u7531\u65bc\u7f3a\u4e4f\u7cfb\u7d71\u6027\u7684\u652f\u63f4\uff0c\u5728\u9069\u61c9\u904e\u6e21\u671f\u4e2d\u9762\u81e8\u8457\u5de8\u5927\u7684\u7126\u616e\u548c\u60c5\u7dd2\u6311\u6230\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u900f\u904e\u672c\u5730\u975e\u653f\u5e9c\u7d44\u7e54 <a href=\"https:\/\/www.bepriceless.org\/\">Be Priceless<\/a> \u70ba\u7279\u6b8a\u6559\u80b2\u9700\u8981\uff08SEN\uff09\u5152\u7ae5\u53ca\u5176\u5bb6\u5ead\u8209\u8fa6\u7684\u300cSEED\u300d\u8ab2\u7a0b\uff0cIsaac \u5b78\u7fd2\u4e86\u300c\u547c\u6c23\u8207\u5438\u6c23\u300d\uff08In-and-out Breathing\uff09\u548c\u300c\u63a7\u5236\u5708\u300d\uff08Circle of Control\uff09\u7b49\u6280\u5de7\u4f86\u7ba1\u7406\u81ea\u5df1\u7684\u7126\u616e\u3002\u5728\u8996\u89ba\u5716\u8868\u7684\u5f15\u5c0e\u4e0b\uff0c\u4ed6\u73fe\u5728\u80fd\u5920\u5728\u5bb6\u4e2d\u7368\u7acb\u5b8c\u6210\u9019\u4e9b\u7df4\u7fd2\u3002\u8a72\u9805\u76ee\u9084\u63d0\u4f9b\u4e86\u4e00\u500b\u8b93\u540c\u8def\u4eba\u4e92\u76f8\u5efa\u7acb\u806f\u7e6b\u7684\u5b89\u5168\u7a7a\u9593\uff0c\u5f9e\u800c\u6253\u7834\u4e86\u9019\u500b\u5bb6\u5ead\u5f80\u65e5\u7684\u5b64\u7acb\u72c0\u614b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5979\u8868\u793a\uff1a\u300c\u6211\u5f88\u9ad8\u8208\u540c\u5b78\u5011\u6703\u4e3b\u52d5\u548c\u6211\u5011\u804a\u5929\u3002\u5c0d\u5b69\u5b50\u5011\u4f86\u8aaa\uff0c\u9019\u662f\u4e00\u500b\u7df4\u7fd2\u793e\u4ea4\u6280\u5de7\u7684\u7d55\u4f73\u6a5f\u6703\u3002\u300d<\/p>\n<p>&nbsp;<\/p>\n<p>\u6b32\u4e86\u89e3\u66f4\u591a\u9805\u76ee\u8a73\u60c5\uff0c\u8acb\u700f\u89bd\u6211\u5011\u7684<a href=\"https:\/\/oschk.org\/zh\/event\/be-priceless-limited\/\">\u7db2\u7ad9<\/a>\u3002\u6b61\u8fce\u8ffd\u8e64\u975e\u51e1\u73cd\u5bf6\u7684 Instagram \u5c08\u9801 <a href=\"https:\/\/www.instagram.com\/bepricelesshk\/?hl=en\">@bepricelesshk<\/a> \u4ee5\u7372\u53d6\u6700\u65b0\u52d5\u614b\u3002<\/p>\n<p>&nbsp;<\/p>\n<p><em>*\u70ba\u4fdd\u969c\u79c1\u96b1\u4e26\u5c0a\u91cd\u7576\u4e8b\u4eba\u610f\u9858\uff0c\u53d7\u8a2a\u8005\u7684\u8a73\u7d30\u8cc7\u6599\u5df2\u4e88\u4ee5\u4fdd\u7559\u3002<\/em><\/p>\n<\/div>\n<\/div><\/li><\/ul><script type=\"application\/ld+json\">\r\n[{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Empower Mental &#038; Physical Disabilities\",\"description\":\"&lt;p&gt;Replacement of Existing Rehabus. Physical handicapped people, especially the wheelchair users, who are difficult to walk and inconvenience to take the public transport, are the beneficiaries under the scheme from [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/mental-physical-disabilities-hong-kong-federation-of-handicapped-youth\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2013-10-24T00:00:00+00:00\",\"endDate\":\"2013-10-24T23:59:59+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Caring for cancer patients\",\"description\":\"&lt;p&gt;When he was 55, Tak-ming found out he had stage IV nasopharyngeal cancer. The diagnosis left him depressed and feeling extremely isolated; he also suffered from severe side-effects during treatment. [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/caring-for-cancer-patients\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2017-11-06T08:00:00+00:00\",\"endDate\":\"2017-11-06T17:00:00+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Helping children with Thalassaemia\",\"description\":\"&lt;p&gt;Five-and-a-half-year-old Hei-hei was born with Thalassaemia Major. When his father Samuel learned that Hei-hei would have to receive lifelong blood transfusions, the whole family became worried, anxious and uncertain about [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/helping-children-with-thalassaemia\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2017-11-29T00:00:00+00:00\",\"endDate\":\"2017-11-29T23:59:59+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Lasting Impact Delivered by OSC &#8211; Story of RainLily\",\"description\":\"&lt;p&gt;Ms X was counselled at RainLily in April 2018. During her visit, she revealed she had been indecently assaulted by her doctor. She felt very uncomfortable talking about her experience; [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/lasting-impact-delivered-by-osc-story-of-rainlily\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2018-10-20T00:00:00+00:00\",\"endDate\":\"2018-10-20T23:59:59+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Bringing Clear Visions to Elderly People\",\"description\":\"&lt;p&gt;Mr. Chan has a profound love for gardening that is his source of happiness and purpose in life. Unfortunately, he suffered from cataracts and optic disc edema for years causing [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/09\/Frame-34-1.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/helping-children-with-thalassaemia-2\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2024-09-11T00:00:00+00:00\",\"endDate\":\"2024-09-11T23:59:59+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Nature within reach\",\"description\":\"&lt;p&gt;For wheelchair users like Mrs Chu and her husband*, a weekend hike in Hong Kong\\\\'s beautiful countryside once felt completely out of reach. Without accessible trails and facilities, exploring nature [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/nature-within-reach\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2026-07-06T04:49:31+00:00\",\"endDate\":\"2026-07-06T04:49:31+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Finding the place to shine\",\"description\":\"&lt;p&gt;Fleeing Sri Lanka for Hong Kong in 2016, Sanju* spent four difficult years in legal limbo, unable to work and feeling entirely invisible. &nbsp; After receiving official refugee status in [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2026\/07\/Resized_Christian-Action-Centre-for-Refugees-OSC-Impact-Story.jpg\",\"url\":\"https:\/\/oschk.org\/zh\/event\/finding-the-place-to-shine\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2026-07-06T04:50:12+00:00\",\"endDate\":\"2026-07-06T04:50:12+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"The family tree of belonging\",\"description\":\"&lt;p&gt;Jan* is a Pakistani elder living in Hong Kong\\u2019s Eastern District, a neighbourhood home to a vibrant South Asian community. Like many women of her generation, her life, for decades [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/the-family-tree-of-belonging\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2026-07-06T07:48:36+00:00\",\"endDate\":\"2026-07-06T07:48:36+00:00\",\"performer\":\"Organization\"},{\"@context\":\"http:\/\/schema.org\",\"@type\":\"Event\",\"name\":\"Finding the circle of control\",\"description\":\"&lt;p&gt;Ms Wong* constantly worried about her 23-year-old autistic son, Isaac, who faced intense anxiety and emotional challenges transitioning out of special schooling without structured support. &nbsp; Through the \\u201cSEED\\u201d courses [&hellip;]&lt;\/p&gt;\\\\n\",\"image\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"url\":\"https:\/\/oschk.org\/zh\/event\/finding-the-circle-of-control\/\",\"eventAttendanceMode\":\"https:\/\/schema.org\/OfflineEventAttendanceMode\",\"eventStatus\":\"https:\/\/schema.org\/EventScheduled\",\"startDate\":\"2026-07-06T08:28:36+00:00\",\"endDate\":\"2026-07-06T08:28:36+00:00\",\"performer\":\"Organization\"}]\r\n<\/script><!--\n Event listing powered by The Events Calendar Shortcode\n https:\/\/eventcalendarnewsletter.com\/the-events-calendar-shortcode\/ \n--><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0772f4f elementor-widget elementor-widget-html\" data-id=\"0772f4f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<html>\n  <head>\n    <meta charset=\"UTF-8\" \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n    <title>WordPress Event Pagination<\/title>\n\n    <script>\n      document.documentElement.classList.add(\"js\");\n    <\/script>\n\n    <style>\n      \/* ===================== PAGINATION (DESKTOP BASE) ===================== *\/\n\n      .osc-pagination-wrapper {\n        width: 100%;\n        max-width: 1040px;\n        margin: 40px auto 0 auto;\n      }\n      .osc-pagination-controls {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 0;\n        user-select: none;\n      }\n\n      \/* Prev\/Next buttons *\/\n      .pagination-btn {\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        padding: 8px 12px;\n        background: transparent;\n        border: none;\n        font-family: Roboto Condensed, system-ui, -apple-system, Segoe UI, Arial;\n        font-weight: 600;\n        font-size: 16px;\n        line-height: 100%;\n        color: #b22933;\n        cursor: pointer;\n      }\n      .pagination-btn:hover,\n      .pagination-btn:focus {\n        background-color: transparent;\n        color: #b22933;\n      }\n      .pagination-btn:disabled {\n        opacity: 0.3;\n        cursor: not-allowed;\n      }\n      .pagination-btn img {\n        width: 5.83px;\n        height: 10.08px;\n      }\n\n      \/* Numbers strip (desktop) *\/\n      .pagination-numbers {\n        display: flex;\n        align-items: center;\n        gap: 24px;\n        margin: 0 24px;\n      }\n      .page-number {\n        width: 24px;\n        height: 24px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #fff;\n        border: 0;\n        color: #222;\n        cursor: pointer;\n        font-family: Roboto, system-ui, -apple-system, Segoe UI, Arial;\n        font-weight: 400;\n        font-size: 12px;\n        line-height: 100%;\n        letter-spacing: 2%;\n        text-align: center;\n        padding: 0;\n      }\n      .page-number.default {\n        background: transparent;\n      }\n      .page-number:hover:not(.active):not(.page-ellipsis) {\n        background: #e7e7e7 !important;\n        color: #222 !important;\n        font-weight: 700;\n        border-radius: 999px;\n      }\n      .page-number.active {\n        background: #de3340 !important;\n        color: #fff !important;\n        font-weight: 700;\n        border-radius: 999px;\n        cursor: default;\n      }\n      .page-ellipsis {\n        min-width: auto;\n        padding: 0 8px;\n        border: none;\n        background: transparent;\n        color: #999;\n        cursor: default;\n      }\n\n      \/* Hide list items that are not on the current page *\/\n      .ecs-event-list li.pagination-hidden,\n      .mc-event-list li.pagination-hidden {\n        display: none !important;\n      }\n\n      \/* No-flash: hide all items until JS marks the list ready *\/\n      .js .ecs-event-list:not(.pg-ready) > li,\n      .js .mc-event-list:not(.pg-ready) > li {\n        display: none !important;\n      }\n\n      \/* Hide pagination bar until JS finishes *\/\n      .js #pagination-wrapper:not(.pg-ready) {\n        display: none !important;\n      }\n      .js #pagination-wrapper.pg-ready:not(.is-hidden) {\n        display: block !important;\n      }\n      .js #pagination-wrapper.pg-ready.is-hidden {\n        display: none !important;\n      }\n\n      \/* ===================== RESPONSIVE ===================== *\/\n      @media (max-width: 1024px) {\n        .osc-pagination-wrapper {\n          margin: 32px auto 0;\n        }\n      }\n\n      \/* ---------- MOBILE RULES (\u2264767px) ---------- *\/\n      @media (max-width: 767px) {\n        .osc-pagination-wrapper {\n          margin: 24px auto 0;\n        }\n\n        .pagination-btn span {\n          display: inline !important;\n        }\n\n        .pagination-numbers {\n          margin: 0 12px;\n          min-width: 72px;\n          justify-content: center;\n        }\n\n        .pagination-numbers .page-number,\n        .pagination-numbers .page-ellipsis {\n          display: none !important;\n        }\n\n        .pagination-count {\n          display: inline-flex;\n          align-items: center;\n          margin: 0;\n          font-family: Roboto;\n          font-weight: 400;\n          font-size: 12px;\n          line-height: 100%;\n          text-align: center;\n          vertical-align: middle;\n          color: #222222;\n        }\n        .pagination-count .box {\n          width: 24px;\n          height: 24px;\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          font-size: 12px;\n          line-height: 1;\n          pointer-events: none;\n        }\n        .pagination-count .sep {\n          font-style: italic;\n        }\n      }\n    <\/style>\n  <\/head>\n\n  <body>\n    <div\n      class=\"osc-pagination-wrapper\"\n      id=\"pagination-wrapper\"\n      style=\"display: none\"\n    >\n      <div class=\"osc-pagination-controls\">\n        <button\n          class=\"pagination-btn pagination-prev\"\n          aria-label=\"Previous page\"\n        >\n          <img decoding=\"async\"\n            src=\"\/wp-content\/uploads\/2025\/09\/Vector-5.png\"\n            alt=\"prev arrow\"\n          \/>\n          <span>Prev<\/span>\n        <\/button>\n\n        <div class=\"pagination-numbers\"><\/div>\n\n        <button class=\"pagination-btn pagination-next\" aria-label=\"Next page\">\n          <span>Next<\/span>\n          <img decoding=\"async\"\n            src=\"\/wp-content\/uploads\/2025\/09\/Vector-6.png\"\n            alt=\"next arrow\"\n          \/>\n        <\/button>\n      <\/div>\n    <\/div>\n\n    <script>\n      (function () {\n        const ITEMS_PER_PAGE = 12;\n        const SCROLL_ON_PAGE_CHANGE = true;\n        const MOBILE_Q = \"(max-width: 767px)\";\n        const LIST_SELECTOR = \".ecs-event-list, .mc-event-list\";\n\n        let currentPage = 1;\n        let totalPages = 0;\n        let allEventItems = [];\n        let visibleEventItems = [];\n        let eventListContainer = null;\n\n        function isMobile() {\n          return window.matchMedia(MOBILE_Q).matches;\n        }\n\n        if (document.readyState === \"loading\") {\n          document.addEventListener(\"DOMContentLoaded\", initPagination);\n        } else {\n          setTimeout(initPagination, 100);\n        }\n\n        function initPagination() {\n          eventListContainer = document.querySelector(LIST_SELECTOR);\n          if (!eventListContainer) return;\n\n          eventListContainer.classList.remove(\"pg-ready\");\n\n          allEventItems = Array.from(\n            eventListContainer.querySelectorAll(\":scope > li\")\n          );\n          if (!allEventItems.length) return;\n\n          document.addEventListener(\"osc:filters-applied\", handleFilterChange);\n          document.addEventListener(\n            \"osc:year-filter-changed\",\n            handleFilterChange\n          );\n          document.addEventListener(\n            \"osc:type-filter-changed\",\n            handleFilterChange\n          );\n          document.addEventListener(\"osc:tab-changed\", handleFilterChange);\n          document.addEventListener(\"osc:sort-changed\", handleSortChange);\n          document.addEventListener(\n            \"osc:api-category-changed\",\n            handleFilterChange\n          );\n\n          updateVisibleItems();\n          showPage(1);\n          bindPaginationEvents();\n          window.addEventListener(\"resize\", updatePaginationControls);\n        }\n        function handleSortChange() {\n          setTimeout(function () {\n            \/\/ Re-sort all items before pagination\n            if (window.sortAll) {\n              var sortWrap = document.querySelector(\".event-toggle\");\n              var order = sortWrap ? sortWrap.dataset.order : \"desc\";\n              window.sortAll(order);\n            }\n            updateVisibleItems();\n            showPage(currentPage);\n          }, 100);\n        }\n        function updateVisibleItems() {\n          allEventItems = Array.from(\n            eventListContainer.querySelectorAll(\":scope > li\")\n          );\n\n          visibleEventItems = allEventItems.filter(function (item) {\n            return (\n              !item.classList.contains(\"is-hidden-by-filter\") &&\n              !item.classList.contains(\"is-hidden-by-year\") &&\n              !item.classList.contains(\"is-hidden-by-type\") &&\n              !item.classList.contains(\"is-hidden-by-tab\") &&\n              !item.classList.contains(\"is-hidden-by-api-category\")\n            );\n          });\n\n          totalPages = Math.ceil(visibleEventItems.length \/ ITEMS_PER_PAGE);\n\n          if (currentPage > totalPages && totalPages > 0) {\n            currentPage = 1;\n          }\n        }\n\n        function handleFilterChange() {\n          setTimeout(function () {\n            updateVisibleItems();\n            currentPage = 1; \/\/ Reset to first page after filtering\n            showPage(1);\n          }, 50); \/\/ Increase delay to ensure filters are applied first\n        }\n\n        function showPage(pageNum) {\n          if (totalPages === 0) {\n            allEventItems.forEach(function (item) {\n              item.classList.add(\"pagination-hidden\");\n            });\n            updatePaginationControls();\n            eventListContainer.classList.add(\"pg-ready\");\n            const wrap = document.getElementById(\"pagination-wrapper\");\n            if (wrap) {\n              wrap.classList.add(\"pg-ready\");\n              wrap.classList.add(\"is-hidden\");\n            }\n            return;\n          }\n\n          currentPage = Math.min(Math.max(1, pageNum), totalPages);\n\n          const start = (currentPage - 1) * ITEMS_PER_PAGE;\n          const end = start + ITEMS_PER_PAGE;\n\n          allEventItems.forEach(function (item) {\n            item.classList.remove(\"pagination-hidden\");\n          });\n\n          allEventItems.forEach(function (item) {\n            if (\n              item.classList.contains(\"is-hidden-by-filter\") ||\n              item.classList.contains(\"is-hidden-by-year\") ||\n              item.classList.contains(\"is-hidden-by-type\") ||\n              item.classList.contains(\"is-hidden-by-tab\") ||\n              item.classList.contains(\"is-hidden-by-api-category\")\n            ) {\n              item.classList.add(\"pagination-hidden\");\n            } else {\n              var indexInVisible = visibleEventItems.indexOf(item);\n              if (indexInVisible < start || indexInVisible >= end) {\n                item.classList.add(\"pagination-hidden\");\n              }\n            }\n          });\n\n          updatePaginationControls();\n\n        if (SCROLL_ON_PAGE_CHANGE) {\n          var doScrollTop = function () {\n        \n            try {\n              window.scrollTo({ top: 0, left: 0, behavior: \"smooth\" });\n            } catch (e) {\n              window.scrollTo(0, 0);\n            }\n          };\n          if (window.requestAnimationFrame) {\n        \n            requestAnimationFrame(function () {\n              requestAnimationFrame(doScrollTop);\n            });\n          } else {\n            setTimeout(doScrollTop, 0);\n          }\n        }\n\n\n          eventListContainer.classList.add(\"pg-ready\");\n          const wrap = document.getElementById(\"pagination-wrapper\");\n          if (wrap) {\n            wrap.classList.add(\"pg-ready\");\n            const hide = visibleEventItems.length === 0 || totalPages <= 1;\n            wrap.classList.toggle(\"is-hidden\", hide);\n            wrap.setAttribute(\"aria-hidden\", hide ? \"true\" : \"false\");\n          }\n        }\n        function updatePaginationControls() {\n          const prevBtn = document.querySelector(\".pagination-prev\");\n          const nextBtn = document.querySelector(\".pagination-next\");\n          const numbers = document.querySelector(\".pagination-numbers\");\n          if (!prevBtn || !nextBtn || !numbers) return;\n\n          prevBtn.disabled =\n            currentPage === 1 || visibleEventItems.length === 0;\n          nextBtn.disabled =\n            currentPage === totalPages || visibleEventItems.length === 0;\n\n          if (!isMobile()) {\n            numbers.innerHTML = generatePageNumbers();\n\n            numbers\n              .querySelectorAll(\".page-number:not(.page-ellipsis)\")\n              .forEach((btn) => {\n                if (!btn.classList.contains(\"active\")) {\n                  btn.addEventListener(\"click\", function () {\n                    const n = parseInt(this.getAttribute(\"data-page\"), 10);\n                    showPage(n);\n                  });\n                }\n              });\n          } else {\n            numbers.innerHTML = buildMobileCount();\n          }\n        }\n\n        function buildMobileCount() {\n          const displayCurrent = visibleEventItems.length > 0 ? currentPage : 0;\n          const displayTotal = visibleEventItems.length > 0 ? totalPages : 0;\n\n          return (\n            '<span class=\"pagination-count\" aria-live=\"polite\" aria-atomic=\"true\">' +\n            '<span class=\"box current\">' +\n            displayCurrent +\n            \"<\/span>\" +\n            '<span class=\"box sep\">\/<\/span>' +\n            '<span class=\"box total\">' +\n            displayTotal +\n            \"<\/span>\" +\n            \"<\/span>\"\n          );\n        }\n\n        function generatePageNumbers() {\n          let html = \"\";\n\n          if (totalPages === 0) {\n            return '<span class=\"no-results\">No results<\/span>';\n          }\n\n          if (totalPages <= 7) {\n            for (let i = 1; i <= totalPages; i++) html += pageBtn(i);\n          } else {\n            html += pageBtn(1);\n\n            if (currentPage > 3)\n              html += '<span class=\"page-number page-ellipsis\">...<\/span>';\n\n            let start = Math.max(2, currentPage - 1);\n            let end = Math.min(totalPages - 1, currentPage + 1);\n\n            if (currentPage <= 3) end = 4;\n            if (currentPage >= totalPages - 2) start = totalPages - 3;\n\n            for (let i = start; i <= end; i++) html += pageBtn(i);\n\n            if (currentPage < totalPages - 2)\n              html += '<span class=\"page-number page-ellipsis\">...<\/span>';\n\n            html += pageBtn(totalPages);\n          }\n          return html;\n        }\n\n        function pageBtn(n) {\n          const active = n === currentPage ? \"active\" : \"default\";\n          const aria =\n            n === currentPage ? `Current page, page ${n}` : `Go to page ${n}`;\n          return `<button class=\"page-number ${active}\" data-page=\"${n}\" aria-label=\"${aria}\">${n}<\/button>`;\n        }\n        \/\/ when API cards are appended, recompute pagination and reset to page 1\n        document.addEventListener(\"osc:api-cards-added\", function () {\n          \/\/ wait for DOM to settle (append -> classes -> tab filter)\n          setTimeout(function () {\n            updateVisibleItems();\n            currentPage = 1;\n            showPage(1);\n          }, 0);\n        });\n        function bindPaginationEvents() {\n          document.addEventListener(\"click\", function (e) {\n            if (e.target.closest(\".pagination-prev\") && currentPage > 1) {\n              showPage(currentPage - 1);\n            }\n            if (\n              e.target.closest(\".pagination-next\") &&\n              currentPage < totalPages\n            ) {\n              showPage(currentPage + 1);\n            }\n          });\n        }\n      })();\n    <\/script>\n  <\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e06c58 elementor-widget elementor-widget-html\" data-id=\"3e06c58\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .social-issues-btn .elementor-button,\n  .all-btn .elementor-button,\n  .osc-features .elementor-button {\n    padding: 12px 20px;\n  }\n  .social-issues-selector.active .elementor-button {\n    background-color: #de3340 !important;\n  }\n\n  .social-issues-selector.active .elementor-button-text {\n    color: #fff;\n    font-weight: 600 !important;\n  }\n  .social-issues-btn .elementor-button-text,\n  .all-btn .elementor-button-text,\n  .osc-features .elementor-button-text {\n    color: #222222;\n  }\n  .social-issues-selector,\n  .date-selector {\n    height: 43px;\n  }\n  \/* ----event ----*\/\n  .events-wrapper {\n    max-width: 1040px;\n  }\n  .mc-card-wrapper {\n    padding: 16px 0;\n  }\n\n  .mc-event-list-container .mc-event-list > li {\n    list-style: none;\n    height: 100%;\n  }\n\n  \/* Grid for ECS *\/\n  .ecs-event-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 32px 16px;\n  }\n  .ecs-event-list > li {\n    list-style: none;\n    height: 100%;\n  }\n\n  \/* Card *\/\n  .mc-event-list-container .mc-card,\n  .ecs-event-list .mc-card {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    height: 100%;\n    background: #fff;\n    border-radius: 16px;\n    overflow: hidden;\n    min-height: 325px;\n    padding: 16px;\n    height: 448px;\n  }\n\n  \/* Thumb \/ image *\/\n  .mc-event-list-container .mc-card__thumb,\n  .ecs-event-list .mc-card__thumb {\n    display: block;\n    line-height: 0;\n  }\n  .mc-event-list-container .mc-card__thumb img,\n  .ecs-event-list .mc-card__thumb img {\n    display: block;\n    border-radius: 8px;\n    object-fit: cover;\n    width: 100%;\n    height: auto;\n    object-position: top center;\n    aspect-ratio: 3\/2;\n  }\n\n  \/* \"category by\" line *\/\n  .mc-event-list-container .mc-card__category,\n  .ecs-event-list .mc-card__category {\n    color: #b22933;\n    font-family: Roboto Condensed;\n    font-weight: 400;\n    font-size: 12px;\n    line-height: 100%;\n    gap: 4px;\n    display: flex;\n    flex-wrap: wrap;\n  }\n  .mc-event-list-container .mc-card__category div,\n  .ecs-event-list .mc-card__category div {\n    background-color: #fcebec;\n    padding: 4px 6px;\n    border-radius: 4px;\n    width: fit-content;\n  }\n\n  \/* Title *\/\n  .mc-event-list-container .mc-card__title,\n  .ecs-event-list .mc-card__title {\n    font-family: Roboto;\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 120%;\n    color: #222222;\n    margin: 8px 0 16px 0;\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 3;\n    overflow: hidden;\n  }\n  .mc-event-list-container .mc-card__title a,\n  .ecs-event-list .mc-card__title a {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  \/* Meta block (Date \/ ProjectSummary) *\/\n  .mc-event-list-container .mc-card__meta .mc-card__row,\n  .ecs-event-list .mc-card__meta .mc-card__row {\n    display: flex;\n    gap: 24px;\n  }\n  .mc-event-list-container .mc-card__meta dt,\n  .ecs-event-list .mc-card__meta dt {\n    min-width: 48px;\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    color: #999999;\n    font-size: 14px;\n    line-height: 140%;\n  }\n  .mc-event-list-container .mc-card__meta dd,\n  .ecs-event-list .mc-card__meta dd {\n    font-family: Roboto;\n    font-weight: 400;\n    font-style: Regular;\n    font-size: 14px;\n    line-height: 140%;\n    color: #222222;\n    max-width: 216px;\n  }\n\n  \/* CTA pinned to bottom *\/\n  .mc-event-list-container .mc-card__cta,\n  .ecs-event-list .mc-card__cta {\n    margin-top: auto;\n  }\n  .mc-event-list-container .mc-card__cta .mc-btn,\n  .ecs-event-list .mc-card__cta .mc-btn {\n    display: flex;\n    width: 100%;\n    text-align: center;\n    padding: 12px 0;\n    background: #de3340;\n    color: #fff;\n    text-decoration: none;\n    font-weight: 700;\n    border-radius: 4px;\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 16px;\n    line-height: 100%;\n    color: #ffffff;\n    justify-content: center;\n    gap: 8px;\n    height: 43px;\n  }\n  .mc-event-list-container .mc-card__cta .mc-btn:hover,\n  .ecs-event-list .mc-card__cta .mc-btn:hover {\n    background: #b22933;\n  }\n  .mc-event-list-container .mc-card__cta .mc-btn:active,\n  .ecs-event-list .mc-card__cta .mc-btn:active {\n    transform: translateY(1px);\n  }\n\n  .metaslider .caption-wrap .caption .slider-text:hover {\n    text-decoration: underline;\n    cursor: pointer;\n  }\n\n  \/* toggle list cosmetics *\/\n  .event-toggle .todo-list .elementor-icon-list-icon {\n    display: none !important;\n  }\n  .event-toggle\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item::before {\n    content: none !important;\n    display: none !important;\n  }\n  .event-toggle\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item {\n    gap: 12px;\n    height: 38px;\n    padding: 8px 12px !important;\n    border-radius: 8px;\n    background: transparent;\n    cursor: pointer;\n  }\n  .event-toggle\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:hover,\n  .event-toggle\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:focus,\n  .event-toggle\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item.is-checked {\n    background: #fcebec !important;\n  }\n  .event-toggle .selector-wrapper,\n  .event-toggle .elementor-widget-container {\n    padding: 0px !important;\n  }\n  .elementor-icon-list-item {\n    border-radius: 0px !important;\n  }\n  .elementor-icon-list-item:first-child {\n    border-radius: 8px 8px 0px 0px !important;\n  }\n  .elementor-icon-list-item:last-child {\n    border-radius: 0px 0px 8px 8px !important;\n  }\n\n  \/* Row 1 layout *\/\n  .events-wrapper > .e-flex.e-con:has(.date-selector, .event-toggle) {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 0 !important;\n    flex-wrap: nowrap;\n  }\n  .events-wrapper\n    > .e-flex.e-con:has(.date-selector, .event-toggle)\n    > .elementor-element {\n    flex: 0 1 auto !important;\n    width: auto !important;\n  }\n  .events-wrapper\n    > .e-flex.e-con:has(.date-selector, .event-toggle)\n    > .date-selector {\n    flex: 0 0 auto !important;\n  }\n  .events-wrapper\n    > .e-flex.e-con:has(.date-selector, .event-toggle)\n    > .social-issues-selector {\n    flex: 1 1 0% !important;\n    min-width: 0 !important;\n    position: relative !important;\n  }\n  .events-wrapper\n    > .e-flex.e-con:has(.date-selector, .event-toggle)\n    > :has(.event-toggle) {\n    margin-left: auto !important;\n    flex: 0 0 auto !important;\n  }\n\n  \/* Left trigger *\/\n  .date-selector {\n    position: relative;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-right: 20px;\n    cursor: pointer;\n    text-align: left !important;\n  }\n  .date-selector .selector-title .elementor-widget-container {\n    text-align: left !important;\n  }\n  .date-selector .elementor-widget-image {\n    flex: 0 0 auto;\n  }\n\n  \/* Right trigger *\/\n  .event-toggle {\n    display: flex;\n    align-items: center;\n    justify-content: flex-end;\n    gap: 8px;\n    margin-left: auto;\n    min-width: max-content;\n    cursor: pointer;\n  }\n  .event-toggle .elementor-widget-heading .elementor-widget-container {\n    text-align: right !important;\n  }\n\n  \/* Dropdown panels *\/\n  .date-selector .selector-wrapper,\n  .social-issues-selector .selector-wrapper,\n  .event-toggle .selector-wrapper {\n    position: absolute;\n    left: 0;\n    top: 100%;\n    z-index: 1000;\n    min-width: 160px;\n    background: #fff;\n    border: 1px solid #e6e6e6;\n    border-radius: 8px;\n    padding: 6px;\n    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);\n    visibility: hidden;\n    opacity: 0;\n    pointer-events: none;\n    transform: translateY(4px);\n    transition: opacity 0.18s ease, transform 0.18s ease,\n      visibility 0s linear 0.18s;\n    width: max-content;\n  }\n  .social-issues-selector:hover .selector-wrapper,\n  .social-issues-selector .selector-wrapper:hover,\n  .date-selector:hover .selector-wrapper,\n  .date-selector .selector-wrapper:hover,\n  .event-toggle:hover .selector-wrapper,\n  .event-toggle .selector-wrapper:hover {\n    visibility: visible;\n    opacity: 1;\n    pointer-events: auto;\n    transform: translateY(0);\n    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;\n  }\n\n  \/* Checklist look *\/\n  .todo-list {\n    --cb-unchecked: url(\"\/wp-content\/uploads\/2025\/09\/Checkbox.png\");\n    --cb-checked: url(\"\/wp-content\/uploads\/2025\/09\/Checkbox-1.png\");\n    --cb-size: 16px;\n    --cb-hover-bg: #fcebec;\n  }\n  .todo-list .elementor-icon-list-icon {\n    display: none;\n  }\n  .todo-list .elementor-icon-list-items .elementor-icon-list-item {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    cursor: pointer;\n    line-height: 140%;\n    border-radius: 8px;\n    background: transparent;\n    height: 36px;\n    padding: 6px 8px !important;\n    white-space: nowrap;\n  }\n\n  .todo-list .elementor-icon-list-items .elementor-icon-list-item:hover,\n  .todo-list .elementor-icon-list-items .elementor-icon-list-item:focus {\n    background: var(--cb-hover-bg);\n    outline: none;\n  }\n  .todo-list .elementor-icon-list-items .elementor-icon-list-item::before {\n    content: \"\";\n    display: block;\n    width: var(--cb-size);\n    height: var(--cb-size);\n    flex: 0 0 var(--cb-size);\n    background-image: var(--cb-unchecked);\n    background-size: 100% 100%;\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item.is-checked::before {\n    background-image: var(--cb-checked);\n  }\n  .todo-list .elementor-icon-list-items .elementor-icon-list-text {\n    font-size: 16px;\n    font-family: Roboto;\n    font-weight: 400;\n    line-height: 140%;\n    color: #222;\n    margin: 0;\n  }\n  .elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text {\n    padding-inline-start: 0;\n  }\n\n  \/* Special handling for literal id=\"#sort_by\" *\/\n  [id=\"#sort_by\"]\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item::before,\n  [id=\"#sort_by\"]\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item.is-checked::before {\n    content: none !important;\n    display: none !important;\n  }\n  [id=\"#sort_by\"]\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item {\n    gap: 0 !important;\n    padding: 8px 24px 8px 12px !important;\n  }\n  [id=\"#sort_by\"] .elementor-widget-container {\n    padding: 0 !important;\n  }\n  #sort_by\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:first-child {\n    border-bottom-left-radius: 0 !important;\n    border-bottom-right-radius: 0 !important;\n  }\n  #sort_by\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:nth-child(2) {\n    border-top-left-radius: 0 !important;\n    border-top-right-radius: 0 !important;\n  }\n\n  \/* Card media *\/\n  .mc-card__thumb {\n    position: relative;\n    display: block;\n    border-radius: 12px;\n    background: #f2f2f2;\n    width: 100%;\n    max-width: 100%;\n  }\n  .mc-card__thumb img {\n    width: 100%;\n    height: auto;\n    max-width: 100%;\n    object-fit: cover;\n    object-position: top center;\n    aspect-ratio: 3\/2;\n  }\n\n  .space {\n    margin-top: 20px;\n  }\n\n  \/* Visibility helpers *\/\n  .is-hidden-by-year {\n    display: none !important;\n  }\n  .is-hidden-by-type {\n    display: none !important;\n  }\n  .is-hidden-by-filter {\n    display: none !important;\n  }\n  \/* Tab visibility helper *\/\n  .is-hidden-by-tab {\n    display: none !important;\n  }\n\n  \/* optional: visual active state for the two tabs *\/\n  [data-id=\"a04fdef\"] .impact-news-tab .elementor-heading-title {\n    cursor: pointer;\n  }\n  [data-id=\"a04fdef\"] .impact-news-tab .elementor-heading-title.is-active {\n    text-decoration: underline;\n    text-underline-offset: 8px;\n    color: #b22933;\n  }\n\n  \/* Event-type item anchor layout *\/\n  .social-issues-selector .elementor-icon-list-items .elementor-icon-list-item {\n    position: relative;\n  }\n  .social-issues-selector\n    .elementor-icon-list-items\n    .elementor-icon-list-item\n    > a {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    width: 100%;\n  }\n  .selector-wrapper {\n    padding: 0px !important;\n  }\n\n  .social-issues-selector [data-slug=\"charitybazaars\"],\n  #osc-filter-modal .type-list [data-slug=\"charitybazaars\"],\n  .social-issues-selector [data-slug=\"specialevents\"],\n  #osc-filter-modal .type-list [data-slug=\"specialevents\"] {\n    display: none !important;\n  }\n\n  .date-selector .selector-title .elementor-heading-title,\n  .social-issues-selector .selector-title .elementor-heading-title,\n  .event-toggle .elementor-heading-title {\n    white-space: nowrap;\n  }\n\n  .date-selector,\n  .social-issues-selector,\n  .event-toggle {\n    min-width: max-content;\n  }\n  \/* =========================\n   Mobile filter modal (de-duped, same visuals)\n   ========================= *\/\n\n  #osc-filter-modal {\n    position: fixed;\n    inset: 0;\n    display: none;\n    z-index: 99999;\n    background: rgba(0, 0, 0, 0.5);\n  }\n  #osc-filter-modal.is-open {\n    display: block;\n  }\n\n  #osc-filter-modal .box {\n    position: absolute;\n    box-sizing: border-box;\n    width: 100vw;\n    max-height: calc(100vh - 80px);\n    overflow: hidden;\n    background: #fff;\n    border-radius: 16px 16px 0 0;\n    padding: 24px 32px 83px;\n    top: 100px !important;\n    bottom: 0 !important;\n    left: 50% !important;\n    transform: translateX(-50%) !important;\n    height: auto !important;\n    max-height: none !important;\n    max-width: 767px;\n  }\n  \/* Header *\/\n  #osc-filter-modal .header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  #osc-filter-modal .title {\n    font-family: Roboto;\n    font-weight: 600;\n    font-size: 20px;\n    line-height: 150%;\n    color: #000;\n  }\n\n  \/* Close button *\/\n  #osc-filter-modal .filter-popup-close,\n  #osc-filter-modal .filter-popup-close:focus,\n  #osc-filter-modal .filter-popup-close:active {\n    outline: none !important;\n    box-shadow: none !important;\n    border: 0 !important;\n    background: transparent !important;\n  }\n  #osc-filter-modal .filter-popup-close {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    padding: 0;\n  }\n\n  #osc-filter-modal .content {\n    scrollbar-width: thin;\n    scrollbar-color: #e7e7e7 transparent;\n    margin-right: -42px;\n    padding-right: 42px;\n    overflow: auto;\n    max-height: calc(100% - 52px);\n  }\n\n  #osc-filter-modal .content::-webkit-scrollbar {\n    width: 8px;\n  }\n  #osc-filter-modal .content::-webkit-scrollbar-track {\n    background: transparent;\n  }\n  #osc-filter-modal .content::-webkit-scrollbar-thumb {\n    background-color: #e7e7e7;\n    border-radius: 8px;\n    border: 2px solid transparent;\n    background-clip: content-box;\n  }\n  #osc-filter-modal .content::-webkit-scrollbar-thumb:hover {\n    background-color: #c4c4c4;\n  }\n  #osc-filter-modal .section-title {\n    font-family: Roboto;\n    font-weight: 600;\n    font-size: 14px;\n    line-height: 150%;\n    color: #000;\n    text-transform: none;\n  }\n  \/* Accordion header variant *\/\n  #osc-filter-modal .section-title.accordion-toggle {\n    width: 100%;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 16px 0 8px 0;\n    background: transparent;\n    border: 0;\n    cursor: pointer;\n    font-size: 14px;\n    text-align: left;\n  }\n  #osc-filter-modal .accordion-icon {\n    width: 16px;\n    height: 16px;\n    background-image: url(\"\/wp-content\/uploads\/2025\/10\/icon_arrow3_24x24-1.png\");\n    background-size: contain;\n    background-repeat: no-repeat;\n  }\n  #osc-filter-modal .accordion-toggle[aria-expanded=\"true\"] .accordion-icon {\n    background-image: url(\"\/wp-content\/uploads\/2025\/10\/icon_arrow3_24x24.png\");\n  }\n\n  \/* Lists *\/\n  #osc-filter-modal .elementor-icon-list-items .elementor-icon-list-item {\n    white-space: normal !important; \/* allow wrapping *\/\n  }\n  #osc-filter-modal .year-list .elementor-icon-list-items,\n  #osc-filter-modal .type-list .elementor-icon-list-items {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n  }\n  #osc-filter-modal,\n  #osc-filter-modal:focus,\n  #osc-filter-modal:focus-visible {\n    outline: none !important;\n    box-shadow: none !important;\n  }\n\n  #osc-filter-modal .box:focus,\n  #osc-filter-modal .box:focus-visible,\n  #osc-filter-modal .box:focus-within {\n    outline: none !important;\n    box-shadow: none !important;\n    border: 0 !important;\n  }\n\n  \/* Compact item height for modal list *\/\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item,\n  #osc-filter-modal .radio {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    justify-content: space-between;\n    padding: 0 0 0 12px !important;\n    height: 17px;\n  }\n  #osc-filter-modal .radio {\n    flex-direction: row-reverse;\n  }\n  \/* Neutralize desktop hover bg in modal *\/\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:hover,\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item:focus {\n    background: transparent;\n  }\n\n  \/* Text sizing inside modal list *\/\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-text {\n    font-size: 12px;\n  }\n\n  \/* Replace checkbox bullets with custom image on the right (modal only) *\/\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item::before {\n    content: none !important;\n  }\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item::after {\n    content: \"\";\n    width: var(--cb-size);\n    height: var(--cb-size);\n    flex: 0 0 var(--cb-size);\n    background-image: var(--cb-unchecked);\n    background-size: 100% 100%;\n    background-repeat: no-repeat;\n    background-position: center;\n    margin-left: auto;\n  }\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item.is-checked::after,\n  #osc-filter-modal\n    .todo-list\n    .elementor-icon-list-items\n    .elementor-icon-list-item[aria-checked=\"true\"]::after {\n    background-image: var(--cb-checked);\n  }\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    )::before {\n    content: none !important;\n    display: none !important;\n  }\n\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    )::after {\n    content: \"\";\n    width: 16px;\n    height: 16px;\n    flex: 0 0 16px;\n    border: 1px solid #b7b7b7;\n    border-radius: 50%;\n    background: #fff;\n    margin-left: auto;\n    position: relative;\n    background-image: none !important;\n  }\n\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    ).is-checked::after,\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    )[aria-checked=\"true\"]::after {\n    border-color: #de3340;\n    background: radial-gradient(\n      circle,\n      #de3340 0%,\n      #de3340 50%,\n      transparent 50%\n    );\n  }\n\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    )::after {\n    content: \"\";\n    width: 16px;\n    height: 16px;\n    flex: 0 0 16px;\n    border: 1px solid #b7b7b7;\n    border-radius: 50%;\n    background-color: #fff;\n    margin-left: auto;\n    position: relative;\n    background-image: none !important;\n  }\n\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    ).is-checked::after,\n  #osc-filter-modal\n    .type-list-issues.todo-list[role=\"radiogroup\"][aria-label=\"Category\"]\n    .elementor-icon-list-items\n    > li.elementor-icon-list-item[role=\"radio\"]:is(\n      [data-slug=\"all\"],\n      [data-slug=\"osc-features\"],\n      [data-slug=\"social-issues\"]\n    )[aria-checked=\"true\"]::after {\n    border-color: #de3340;\n    background-color: #fff;\n    background-image: radial-gradient(\n      circle,\n      #de3340 0 50%,\n      transparent 51%\n    ) !important;\n  }\n  \/* Radio group *\/\n  #osc-filter-modal .sort-group {\n    display: grid;\n    gap: 8px;\n  }\n  #osc-filter-modal .radio input {\n    appearance: none;\n    width: 16px;\n    height: 16px;\n    border: 1px solid #b7b7b7;\n    border-radius: 50%;\n    display: inline-block;\n    position: relative;\n    cursor: pointer;\n  }\n  #osc-filter-modal .radio input:checked {\n    border-color: #de3340;\n  }\n  #osc-filter-modal .radio input:checked::after {\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    top: 50%;\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    transform: translate(-50%, -50%);\n    background: #de3340;\n  }\n  #osc-filter-modal .radio span {\n    font-family: Roboto;\n    font-weight: 400;\n    font-size: 12px;\n    line-height: 140%;\n    color: #222;\n  }\n\n  \/* Year quick buttons *\/\n  #osc-filter-modal .year-buttons {\n    display: grid;\n    grid-template-columns: repeat(5, 1fr);\n    gap: 4px;\n  }\n  #osc-filter-modal .year-btn {\n    padding: 8px 18px;\n    border: 1px solid #bab4b4;\n    border-radius: 4px;\n    background: #fff;\n    font-weight: 400;\n    font-size: 10px;\n    color: #222;\n    cursor: pointer;\n    font-family: Roboto Condensed;\n    line-height: 100%;\n  }\n  #osc-filter-modal .year-btn.is-active {\n    background: #de3340;\n    color: #fff;\n    border-color: #de3340;\n  }\n\n  \/* Footer actions *\/\n  #osc-filter-modal .actions {\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    display: flex;\n    justify-content: center;\n    gap: 8px;\n    padding: 16px 0 24px;\n    background: #fff;\n    border-top: 1px solid #e7e7e7;\n    margin: 0 30px;\n    width: auto;\n  }\n  #osc-filter-modal .btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    height: 43px;\n    border-radius: 4px;\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 16px;\n    line-height: 100%;\n    cursor: pointer;\n    border: 0;\n    text-decoration: none;\n    padding: 12px 0 !important;\n    width: 100%;\n  }\n  #osc-filter-modal .btn-clear {\n    background: #fff;\n    color: #b22933 !important;\n    border: #b22933 1px solid;\n  }\n  #osc-filter-modal .btn-apply {\n    background: #de3340;\n    color: #fff;\n  }\n\n  \/* Active filters bar (outside modal, kept as-is) *\/\n  #osc-active-filters {\n    display: none;\n    align-items: center;\n    gap: 8px;\n    margin-top: 12px;\n  }\n  #osc-active-filters.has-items {\n    display: flex;\n  }\n  #osc-active-filters .chips {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n  }\n  #osc-active-filters .chip {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    border-radius: 4px;\n    background: #fff;\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 14px;\n    line-height: 140%;\n    color: #b22933;\n    border: 0;\n    height: 28px;\n    padding: 4px 6px;\n  }\n  #osc-active-filters .chip .x {\n    display: inline-block;\n    line-height: 1;\n    cursor: pointer;\n    font-weight: 700;\n    width: 8px;\n  }\n  #osc-active-filters .chip--reset {\n    background: transparent;\n    border: 0;\n    color: #666;\n    text-decoration: underline;\n    cursor: pointer;\n    font-family: Roboto Condensed;\n    font-weight: 400;\n    font-size: 12px;\n    line-height: 140%;\n    height: auto;\n    padding: 0;\n  }\n  #osc-active-filters .chip--reset:hover {\n    text-decoration: none;\n  }\n\n  \/* Year label displayed under the card title *\/\n  .mc-event-list-container .mc-card__year,\n  .ecs-event-list .mc-card__year {\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 14px;\n    line-height: 140%;\n    color: #b22933;\n  }\n  \/* --- Guard: hide the ECS list until cards are hydrated --- *\/\n  .osc-list-mount:not(.is-ready) .ecs-event-list {\n    visibility: hidden; \/* prevent flicker but keep layout space *\/\n  }\n  \/* Optional: add a minimum height so layout doesn't jump *\/\n  .osc-list-mount:not(.is-ready) .ecs-event-list {\n    min-height: 200px;\n  }\n  \/* Fade-in once ready *\/\n  .osc-list-mount.is-ready .ecs-event-list {\n    visibility: visible;\n    animation: oscFadeIn 160ms ease-out;\n  }\n  @keyframes oscFadeIn {\n    from {\n      opacity: 0;\n    }\n    to {\n      opacity: 1;\n    }\n  }\n  \/* Make the entire card clickable via a full-cover anchor overlay *\/\n  .mc-card {\n    position: relative;\n  }\n\n  .mc-card__cover-link {\n    position: absolute;\n    inset: 0;\n    z-index: 9;\n    text-indent: -9999px;\n    overflow: hidden;\n  }\n\n  .mc-event-list-container .mc-card__year,\n  .ecs-event-list .mc-card__year,\n  .mc-event-list-container .mc-card__date,\n  .ecs-event-list .mc-card__date {\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 14px;\n    line-height: 140%;\n    color: #b22933;\n  }\n  \/* Read CTA in bottom-right *\/\n  .mc-card__cta-read {\n    \/* position: absolute; *\/\n    right: 16px;\n    bottom: 16px;\n    z-index: 10; \/* above the full-cover link *\/\n    display: grid;\n    justify-items: end;\n  }\n\n  .mc-card__cta-read .mc-read {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    font-family: Roboto Condensed;\n    font-weight: 600;\n    font-size: 16px;\n    line-height: 100%;\n    letter-spacing: 0%;\n    text-align: right;\n    border-bottom: 1px solid #b22933;\n    color: #b22933;\n    text-decoration: none;\n    padding-bottom: 6px;\n  }\n\n  .mc-card__cta-read .mc-read img {\n    display: block;\n    width: 16px;\n    height: 16px;\n  }\n\n  \/* ensure the full-cover overlay sits below the CTA *\/\n  .mc-card__cover-link {\n    z-index: 5;\n  }\n\n  \/* Responsive *\/\n  @media (max-width: 1024px) {\n    .mc-event-list-container .mc-card__year,\n    .ecs-event-list .mc-card__year,\n    .mc-event-list-container .mc-card__date,\n    .ecs-event-list .mc-card__date {\n      font-size: 12px;\n    }\n    .mc-event-list-container .mc-event-list,\n    .ecs-event-list {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n    .mc-event-list-container .mc-card,\n    .ecs-event-list .mc-card {\n      min-height: auto;\n    }\n    .mc-card-wrapper {\n      padding: 12px 0;\n    }\n    .mc-event-list-container .mc-card__title,\n    .ecs-event-list .mc-card__title {\n      font-size: 18px;\n      margin: 6px 0 12px 0;\n    }\n    .mc-event-list-container .mc-card__meta dt,\n    .mc-event-list-container .mc-card__meta dd,\n    .ecs-event-list .mc-card__meta dt,\n    .ecs-event-list .mc-card__meta dd {\n      font-size: 12px;\n    }\n    .event-toggle {\n      gap: 20px !important;\n    }\n    .mc-event-list-container .mc-card__year,\n    .ecs-event-list .mc-card__year {\n      font-size: 12px;\n    }\n    .mc-event-list-container .mc-card,\n    .ecs-event-list .mc-card {\n      height: 444px;\n    }\n  }\n  @media (max-width: 767px) {\n    .mc-card__cta-read {\n      right: 12px;\n      bottom: 12px;\n    }\n    .mc-card__cta-read .mc-read {\n      font-size: 16px;\n    }\n    .mc-event-list-container .mc-event-list,\n    .ecs-event-list {\n      grid-template-columns: 1fr;\n    }\n    .mc-card-wrapper {\n      padding: 8px 0 12px 0;\n    }\n    .mc-event-list-container .mc-card,\n    .ecs-event-list .mc-card {\n      min-height: auto;\n      max-width: 767px;\n    }\n    .mc-event-list-container .mc-card__thumb img,\n    .ecs-event-list .mc-card__thumb img {\n      width: 100%;\n    }\n\n    .mc-event-list-container .mc-card__title,\n    .ecs-event-list .mc-card__title {\n      font-size: 16px;\n      margin: 4px 0 8px 0;\n    }\n    .mc-event-list-container .mc-event-list > li {\n      margin: 0 auto;\n    }\n    .elementor-element-91c8262 > .e-con-inner {\n      overflow: visible !important;\n    }\n    .elementor-element-36a8232,\n    .elementor-element-0924bf3,\n    .elementor-element-bac377b {\n      overflow: visible !important;\n    }\n    .e-con.e-flex {\n      --flex-wrap: none;\n    }\n    .events-wrapper .elementor-hidden-desktop.elementor-hidden-tablet {\n      cursor: pointer;\n    }\n    .space {\n      margin-top: 14px;\n    }\n    .mc-event-list-container .mc-card,\n    .ecs-event-list .mc-card {\n      height: auto;\n      overflow: visible;\n    }\n    .mc-event-list-container .mc-event-list,\n    .ecs-event-list {\n      grid-template-columns: 1fr;\n      justify-items: stretch;\n      gap: 32px;\n    }\n    .mc-event-list-container .mc-event-list > li,\n    .ecs-event-list > li {\n      margin: 0;\n      width: 100%;\n      justify-self: stretch;\n      height: auto;\n    }\n    .mc-event-list-container .mc-card,\n    .ecs-event-list .mc-card {\n      height: auto;\n      max-height: 597.34px;\n    }\n  }\n  .filter_latest_bar {\n    display: none;\n  }\n<\/style>\n\n<script>\n  (function () {\n    \/* =========================\n       CONSTANTS & SELECTORS\n       ========================= *\/\n    var ICON_OPEN = \"\/wp-content\/uploads\/2025\/09\/icon_arrow3_24x24-1.png\";\n    var DEFAULT_THUMB =\n      \"https:\/\/pre-dev-osc.scmp.work\/wp-content\/uploads\/2025\/07\/default-featured.png\";\n    var READ_ICON_ARROW = \"\/wp-content\/uploads\/2025\/09\/Arrow-right-1.png\";\n    var READ_ICON_EXTERNAL = \"\/wp-content\/uploads\/2025\/09\/External-link-2.png\";\n    var SEL = {\n      row: \".events-wrapper > .e-flex.e-con:has(.date-selector, .event-toggle)\",\n      yearList: \".date-selector .todo-list .elementor-icon-list-items\",\n      typeList: \".social-issues-selector .todo-list .elementor-icon-list-items\",\n      sortWrap: \".event-toggle\",\n      sortText:\n        \".event-toggle .elementor-widget-heading .elementor-heading-title\",\n      sortIcon: \".event-toggle .elementor-widget-image img\",\n      sortMenu:\n        '.event-toggle .selector-wrapper, .event-toggle [id=\"#sort_by\"], .event-toggle #sort_by',\n      sortMenuItem: \".todo-list .elementor-icon-list-item\",\n      cards: \".mc-card\",\n      filtersStories: \".filter_osc_bar\",\n      filtersIssues: \".filter_latest_bar\",\n      cardContainerLi: 'li[class*=\"mc-event-\"], .ecs-event-list > li',\n      mobileTrigger:\n        \"#filter-mobile, [data-osc-filter-trigger], \" +\n        \".events-wrapper .elementor-hidden-desktop.elementor-hidden-tablet .selector-title, \" +\n        \".events-wrapper .elementor-hidden-desktop.elementor-hidden-tablet:has(.selector-title)\",\n    };\n\n    var isSorting = false;\n    function isCurrentPageZH() {\n      return (\n        (document.documentElement.getAttribute(\"lang\") || \"\")\n          .toLowerCase()\n          .indexOf(\"zh\") === 0 || \/\\\/zh(\\\/|$)\/i.test(window.location.pathname)\n      );\n    }\n    function getTranslatedLabel(text) {\n      if (!isCurrentPageZH()) return text;\n\n      var map = {\n        \"children & youth\": \"\u5152\u7ae5\u8207\u9752\u5c11\u5e74\",\n        \"persons with disabilities & mental health recovery\":\n          \"\u6b98\u75be\u53ca\u7cbe\u795e\u5065\u5eb7\u5eb7\u5fa9\u4eba\u58eb\",\n        \"health & well-being\": \"\u5065\u5eb7\u8207\u798f\u7949\",\n        \"art & music\": \"\u85dd\u8853\u8207\u97f3\u6a02\",\n        \"district focus\/community\": \"\u5730\u5340\u91cd\u9ede \/ \u793e\u5340\",\n        elderly: \"\u9577\u8005\",\n        adult: \"\u6210\u4eba\",\n        education: \"\u6559\u80b2\",\n        poverty: \"\u812b\u8ca7\",\n        inclusivity: \"\u5171\u878d\",\n        sustainability: \"\u6c38\u7e8c\u767c\u5c55\",\n        special: \"\u7279\u5225\u9805\u76ee\",\n\n        \"social issues\": \"\u793e\u6703\u8b70\u984c\",\n        \"hong kong society\": \"\u9999\u6e2f\u793e\u6703\",\n        \"mental health\": \"\u7cbe\u795e\u5065\u5eb7\",\n        \"social welfare\": \"\u793e\u6703\u798f\u5229\",\n        welfare: \"\u793e\u6703\u798f\u5229\",\n        \"osc features\": \"\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5\u7cbe\u9078\u5167\u5bb9\",\n        \"operation santa claus\": \"\u611b\u5fc3\u8056\u8a95\u5927\u884c\u52d5\",\n      };\n\n      var lower = String(text).toLowerCase().trim();\n      return map[lower] || text;\n    }\n\n    \/* =========================\n         UTILS\n         ========================= *\/\n    function syncFilterUIs() {\n      const stories = qs(SEL.filtersStories);\n      const issues = qs(SEL.filtersIssues);\n\n      if (currentTabMode === \"issues\") {\n        if (stories) stories.style.display = \"none\";\n        if (issues) issues.style.display = \"flex\";\n      } else {\n        if (stories) stories.style.display = \"flex\";\n        if (issues) issues.style.display = \"none\";\n      }\n    }\n    function qs(s, r) {\n      return (r || document).querySelector(s);\n    }\n    function qsa(s, r) {\n      return Array.from((r || document).querySelectorAll(s));\n    }\n    function cleanText(s) {\n      return String(s || \"\")\n        .replace(\/\\u00a0\/g, \" \")\n        .replace(\/\\s+\/g, \" \")\n        .trim();\n    }\n    function hasContent(s) {\n      return !!String(s || \"\").replace(\/&nbsp;|\\s+\/g, \"\").length;\n    }\n    function esc(s) {\n      return (s || \"\").replace(\/[&<>\"']\/g, function (m) {\n        return {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#39;\",\n        }[m];\n      });\n    }\n    function createMcCard(opts) {\n      var href = (opts.articleHref || opts.href || \"#\").trim();\n      var title = (opts.title || \"\").trim();\n      var cats = Array.isArray(opts.categories) ? opts.categories.slice() : [];\n      function toSlug(x) {\n        return slugifyType(x);\n      }\n      var catSlugs = cats.map(toSlug).filter(Boolean);\n      var catHTML = catSlugs\n        .map(function (s) {\n          return (\n            \"<div data-slug='\" +\n            esc(s) +\n            \"'>\" +\n            esc(labelFromSlug(s)) +\n            \"<\/div>\"\n          );\n        })\n        .join(\"\");\n      var card = document.createElement(\"div\");\n      card.className = \"mc-card notranslate trp-notranslate\";\n      card.setAttribute(\"data-no-translation\", \"true\");\n      if (catSlugs.length)\n        card.setAttribute(\"data-event-types\", catSlugs.join(\"|\"));\n      if (opts.startIso) card.setAttribute(\"data-dtstart\", opts.startIso);\n      if (opts.endIso) card.setAttribute(\"data-dtend\", opts.endIso);\n      if (opts.source === \"api\") {\n        card.classList.add(\"latest-social-issue\");\n        card.setAttribute(\"data-latest-social-issue\", \"1\");\n        card.setAttribute(\"data-source\", \"api\");\n      } else {\n        card.setAttribute(\"data-source\", \"ecs\");\n      }\n      var dateBlockHTML = opts.displayDate\n        ? '<div class=\"mc-card__date\">' + esc(opts.displayDate) + \"<\/div>\"\n        : \"\";\n      var imgSrc = opts.mainImageSrc || DEFAULT_THUMB;\n      var readIcon =\n        opts.source === \"api\" ? READ_ICON_EXTERNAL : READ_ICON_ARROW;\n\n      var tgt =\n        opts.source === \"api\"\n          ? ' target=\"_blank\" rel=\"noopener noreferrer\"'\n          : \"\";\n\n      \/\/ Determine the text based on current language\n      var readText = isCurrentPageZH() ? \"\u95b1\u8b80\u5168\u6587\" : \"Read\";\n\n      card.innerHTML =\n        '<a class=\"mc-card__thumb\" href=\"' +\n        href +\n        '\"' +\n        tgt +\n        \">\" +\n        '   <img decoding=\"async\" src=\"' +\n        imgSrc +\n        '\" alt=\"\">' +\n        \"<\/a>\" +\n        '<div class=\"mc-card-wrapper\">' +\n        (opts.displayDate\n          ? '<div class=\"mc-card__date\">' + esc(opts.displayDate) + \"<\/div>\"\n          : \"\") +\n        '   <h3 class=\"mc-card__title\"><a href=\"' +\n        href +\n        '\"' +\n        tgt +\n        \">\" +\n        esc(title) +\n        \"<\/a><\/h3>\" +\n        '   <div class=\"mc-card__category\">' +\n        catHTML +\n        \"<\/div>\" +\n        (opts.rawDescHtml\n          ? '<div class=\"mc-desc\" data-raw=\"' +\n            esc(opts.rawDescHtml) +\n            '\"><\/div>'\n          : \"\") +\n        \"<\/div>\" +\n        '<div class=\"mc-card__cta mc-card__cta-read\">' +\n        '  <a class=\"mc-read\" href=\"' +\n        href +\n        '\"' +\n        tgt +\n        \">\" +\n        \"     \" +\n        readText +\n        ' <img decoding=\"async\" src=\"' +\n        readIcon +\n        '\" alt=\"\">' +\n        \"  <\/a>\" +\n        \"<\/div>\";\n      return card;\n    }\n    function existsCardWithHref(href) {\n      href = String(href || \"\").trim();\n      if (!href) return false;\n      var links = document.querySelectorAll(\n        \".mc-card__thumb[href], .mc-card__title a[href]\"\n      );\n      for (var i = 0; i < links.length; i++) {\n        if (links[i].getAttribute(\"href\") === href) return true;\n      }\n      return false;\n    }\n    \/* =========================\n         ECS -> mc-card adapter\n         ========================= *\/\n    function labelFromSlug(slug) {\n      var low = String(slug || \"\").toLowerCase();\n\n      var specialCases = {\n        childrenandyouth: \"Children & Youth\",\n        personswithdisabilitiesmentalhealthrecovery:\n          \"Persons with Disabilities & Mental Health Recovery\",\n        healthwellbeing: \"Health & Well-being\",\n        artampmusic: \"Art & Music\",\n        artandmusic: \"Art & Music\",\n        oscfeatures: \"OSC features\",\n        issues: \"Social Issues\",\n        operationsantaclaus: \"Operation Santa Claus\",\n        socialissues: \"Social Issues\",\n        hksociety: \"Hong Kong Society\",\n        hongkongsociety: \"Hong Kong Society\",\n        mentalhealth: \"Mental Health\",\n        poverty: \"Poverty\",\n        socialwelfare: \"Social Welfare\",\n        districtfocuscommunity: \"District Focus\/Community\",\n      };\n\n      var cleanSlug = low.replace(\/-\/g, \"\");\n      var enLabel = \"\";\n\n      if (specialCases[cleanSlug]) {\n        enLabel = specialCases[cleanSlug];\n      } else if (\n        low.includes(\"district\") &&\n        low.includes(\"focus\") &&\n        low.includes(\"community\")\n      ) {\n        enLabel = \"District Focus\/Community\";\n      } else if (\n        low.includes(\"disabilities\") &&\n        low.includes(\"mental\") &&\n        low.includes(\"health\")\n      ) {\n        enLabel = \"Persons with Disabilities & Mental Health Recovery\";\n      } else if (low.includes(\"health\") && low.includes(\"well\")) {\n        enLabel = \"Health & Well-being\";\n      } else {\n        enLabel = String(slug || \"\")\n          .replace(\/-\/g, \" \")\n          .replace(\/\\b(?:and|amp)\\b\/gi, \"&\")\n          .replace(\/\\b([a-z])\/g, function (m, c) {\n            return c.toUpperCase();\n          });\n      }\n      return getTranslatedLabel(enLabel);\n    }\n\n    async function getFullDescHTML(li, href) {\n      var descRoot =\n        qs(\n          \".ecs-excerpt, .tribe-events-list-event-description, .tribe-events-content, .entry-summary, .entry-content, .desc, .description\",\n          li\n        ) || null;\n\n      var raw = descRoot ? descRoot.innerHTML : \"\";\n\n      var isRich =\n        \/class\\s*=\\s*[\"'][^\"']*(projectName|projectSummary|beneficiaries|year|main-image|logo)[^\"']*[\"']\/.test(\n          raw\n        ) ||\n        (raw && raw.length > 300);\n\n      if (isRich) return raw;\n      if (!href || href === \"#\") return raw;\n\n      try {\n        var res = await fetch(href, {\n          credentials: \"same-origin\",\n          headers: { \"X-Requested-With\": \"XMLHttpRequest\" },\n        });\n        var html = await res.text();\n        var doc = new DOMParser().parseFromString(html, \"text\/html\");\n        var src =\n          doc.querySelector(\".entry-content\") ||\n          doc.querySelector(\".tribe-events-single-event-description\") ||\n          doc.querySelector(\".tribe-events-content\") ||\n          doc.querySelector(\"article .entry-content\");\n        return src ? src.innerHTML : raw;\n      } catch (e) {\n        return raw;\n      }\n    }\n    function bootstrapECSIntoMcCards() {\n      var items = qsa(\".ecs-event-list > li\");\n\n      items.forEach(function (li) {\n        if (li.querySelector(\".mc-card\")) return;\n\n        var a =\n          qs(\"h4.entry-title a, .entry-title a, a.url, a.summary\", li) ||\n          qs(\"a\", li);\n        var href = a ? a.href : \"#\";\n        var title = a ? cleanText(a.textContent) : \"\";\n\n        var liDateBits = extractDisplayDateFromLi(li);\n        var displayDate =\n          liDateBits && liDateBits.display ? liDateBits.display : \"\";\n\n        var cats = [];\n        (li.className || \"\").split(\/\\s+\/).forEach(function (cls) {\n          var m1 = cls.match(\/^tribe-events-category-(.+)$\/i);\n          var m2 = cls.match(\/^(.+)_ecs_category$\/i);\n          if (m1 && m1[1]) cats.push(m1[1].toLowerCase());\n          if (m2 && m2[1]) cats.push(m2[1].toLowerCase());\n        });\n        cats = Array.from(new Set(cats));\n\n        var excerptEl = qs(\".ecs-excerpt\", li);\n        var rawDescHtml = excerptEl ? excerptEl.innerHTML : \"\";\n\n        var year = NaN;\n        var logoSrc = \"\";\n        var mainImageSrc = \"\";\n\n        if (rawDescHtml) {\n          var tempDiv = document.createElement(\"div\");\n          tempDiv.innerHTML = rawDescHtml;\n\n          \/\/ Extract Chinese title if current language is Chinese\n          if (isCurrentPageZH()) {\n            var titleZhEl = tempDiv.querySelector(\".title-zh\");\n            if (titleZhEl && hasContent(titleZhEl.textContent)) {\n              title = cleanText(titleZhEl.textContent);\n            }\n          }\n\n          var dateEl =\n            tempDiv.querySelector(\".date\") || tempDiv.querySelector(\".time\");\n          if (dateEl) {\n            var dateText = cleanText(dateEl.textContent);\n            var range = buildRangeFromText(dateText, \"\");\n            if (isFinite(range.primaryYear)) year = range.primaryYear;\n            if (!displayDate && dateText) displayDate = dateText;\n          }\n\n          if (!isFinite(year)) {\n            var yearEl = tempDiv.querySelector(\".year\");\n            if (yearEl) {\n              var yearText = cleanText(yearEl.textContent);\n              var yearMatch = yearText.match(\/\\b(19|20)\\d{2}\\b\/);\n              if (yearMatch) year = parseInt(yearMatch[0], 10);\n            }\n          }\n\n          if (!isFinite(year)) {\n            var textWithoutFounded = rawDescHtml.replace(\n              \/Founded\\s+in\\s+\\d{4}\/gi,\n              \"\"\n            );\n            var fallbackMatch = textWithoutFounded.match(\/\\b(20\\d{2})\\b\/);\n            if (fallbackMatch) year = parseInt(fallbackMatch[1], 10);\n          }\n\n          var logoEl = tempDiv.querySelector(\"img.logo\");\n          if (logoEl)\n            logoSrc = toAbsURL(logoEl.getAttribute(\"src\") || logoEl.src || \"\");\n          var mainImageEl = tempDiv.querySelector(\"img.main-image\");\n          if (mainImageEl)\n            mainImageSrc = toAbsURL(\n              mainImageEl.getAttribute(\"src\") || mainImageEl.src || \"\"\n            );\n        }\n\n        if (!displayDate && isFinite(year)) {\n          displayDate = String(year);\n        }\n\n        var card = createMcCard({\n          href: href,\n          title: title,\n          categories: cats,\n          displayDate: displayDate || \"\",\n          startIso: (liDateBits && liDateBits.startIso) || \"\",\n          endIso: (liDateBits && liDateBits.endIso) || \"\",\n          mainImageSrc: mainImageSrc || \"\",\n          rawDescHtml: rawDescHtml || \"\",\n          source: \"ecs\",\n        });\n\n        li.innerHTML = \"\";\n        li.appendChild(card);\n      });\n    }\n    setTimeout(bootstrapECSIntoMcCards, 500);\n\n    var FEEDS = [\n      {\n        key: \"osc\",\n        label: \"OSC features\",\n        url: \"https:\/\/widgets.scmp.com\/RSSSyndicationFeed\/output\/osc\/topic_osc.json\",\n        categories: [\"OSC features\", \"Operation Santa Claus\"],\n        groupClass: \"category-osc-features\",\n      },\n      {\n        key: \"hk_society\",\n        label: \"Hong Kong Society\",\n        url: \"https:\/\/widgets.scmp.com\/RSSSyndicationFeed\/output\/osc\/topic_hk_society.json\",\n        categories: [\"Social Issues\", \"Hong Kong Society\"],\n        groupClass: \"category-social-issues\",\n      },\n      {\n        key: \"mental_health\",\n        label: \"Mental Health\",\n        url: \"https:\/\/widgets.scmp.com\/RSSSyndicationFeed\/output\/osc\/topic_mental_health.json\",\n        categories: [\"Social Issues\", \"Mental Health\"],\n        groupClass: \"category-social-issues\",\n      },\n      {\n        key: \"poverty\",\n        label: \"Poverty\",\n        url: \"https:\/\/widgets.scmp.com\/RSSSyndicationFeed\/output\/osc\/topic_poverty.json\",\n        categories: [\"Social Issues\", \"Poverty\"],\n        groupClass: \"category-social-issues\",\n      },\n      {\n        key: \"social_welfare\",\n        label: \"Social Welfare\",\n        url: \"https:\/\/widgets.scmp.com\/RSSSyndicationFeed\/output\/osc\/topic_social_welfare.json\",\n        categories: [\"Social Issues\", \"Social Welfare\"],\n        groupClass: \"category-social-issues\",\n      },\n    ];\n    async function fetchJSON(upstreamUrl, opts = {}) {\n      const flush = opts.flush ? \"&flush=1\" : \"\";\n      const proxied =\n        \"\/wp-json\/osc\/v1\/proxy?u=\" + encodeURIComponent(upstreamUrl) + flush;\n\n      const res = await fetch(proxied, { credentials: \"same-origin\" });\n      if (!res.ok) throw new Error(\"Proxy HTTP \" + res.status);\n      return await res.json();\n    }\n\n    \/\/ 3) Try to locate the array of items inside an unknown JSON shape\n    function pickItemsArray(json) {\n      if (!json) return [];\n      if (Array.isArray(json)) return json;\n      if (Array.isArray(json.items)) return json.items;\n      if (Array.isArray(json.data)) return json.data;\n      if (json.data && Array.isArray(json.data.items)) return json.data.items;\n      \/\/ fallback: find the first array field\n      for (var k in json) {\n        if (Array.isArray(json[k])) return json[k];\n      }\n      return [];\n    }\n\n    \/\/ 4) Lenient getters for common field names\n    function firstOf(o, list, fallback) {\n      for (var i = 0; i < list.length; i++) {\n        var k = list[i];\n        if (o && o[k] != null && String(o[k]).trim() !== \"\") return o[k];\n      }\n      return fallback;\n    }\n    function toIsoGuess(v) {\n      if (!v) return \"\";\n      var s = String(v);\n      var d = new Date(s);\n      if (!isNaN(+d)) return d.toISOString();\n      \/\/ try seconds timestamp\n      if (\/^\\d{10}$\/.test(s))\n        return new Date(parseInt(s, 10) * 1000).toISOString();\n      \/\/ try ms timestamp\n      if (\/^\\d{13}$\/.test(s)) return new Date(parseInt(s, 10)).toISOString();\n      return \"\";\n    }\n\n    \/\/ 5) Format a readable date like \"2 Nov 2025\"\n    var MONTH_ABBR = [\n      \"Jan\",\n      \"Feb\",\n      \"Mar\",\n      \"Apr\",\n      \"May\",\n      \"Jun\",\n      \"Jul\",\n      \"Aug\",\n      \"Sep\",\n      \"Oct\",\n      \"Nov\",\n      \"Dec\",\n    ];\n    function formatDMY(d) {\n      var day = String(d.getDate()).padStart(2, \"0\");\n      return day + \" \" + MONTH_ABBR[d.getMonth()] + \" \" + d.getFullYear();\n    }\n    function normalizeDisplayDate(raw) {\n      if (!raw) return \"\";\n      var d = new Date(raw);\n      if (isNaN(+d)) return String(raw);\n      return formatDMY(d);\n    }\n\n    \/\/ 6) Map a single raw record into the card data shape your UI expects\n    function normalizeRecord(rec, feedMeta) {\n      var title = firstOf(\n        rec,\n        [\"title\", \"headline\", \"name\", \"title_en\", \"Title\"],\n        \"\"\n      );\n      var articleUrl = firstOf(\n        rec,\n        [\"article_url\", \"link\", \"url\", \"permalink\", \"href\"],\n        \"\"\n      );\n\n      var img = \"\";\n      if (rec && Array.isArray(rec.images) && rec.images.length > 0) {\n        var firstImage = rec.images[0] || {};\n        if (firstImage.style_750x420) {\n          img = firstImage.style_750x420;\n        }\n      }\n      if (!img) {\n        img = firstOf(\n          rec,\n          [\n            \"main_image\",\n            \"image\",\n            \"thumbnail\",\n            \"image_url\",\n            \"img\",\n            \"featured_image\",\n          ],\n          \"\"\n        );\n        if (!img && rec && rec.image && rec.image.url) img = rec.image.url;\n      }\n\n      var publishedRaw = firstOf(\n        rec,\n        [\n          \"published\",\n          \"published_at\",\n          \"publish_date\",\n          \"pubDate\",\n          \"date\",\n          \"created_at\",\n          \"updated_at\",\n        ],\n        \"\"\n      );\n\n      var startIso = toIsoGuess(publishedRaw);\n\n      var displayDate = \"\";\n      var ymdd = String(publishedRaw || \"\").match(\/^(\\d{4})-(\\d{2})-(\\d{2})\/);\n      if (ymdd) {\n        var day = String(parseInt(ymdd[3], 10)).padStart(2, \"0\");\n        var monIdx = parseInt(ymdd[2], 10) - 1;\n        var year = ymdd[1];\n        displayDate = day + \" \" + MONTH_ABBR[monIdx] + \" \" + year;\n      } else if (startIso) {\n        displayDate = formatDMY(new Date(startIso));\n      } else {\n        displayDate = normalizeDisplayDate(publishedRaw);\n      }\n\n      var cats = [];\n      if (feedMeta && Array.isArray(feedMeta.categories)) {\n        cats = feedMeta.categories.slice();\n      }\n\n      var id =\n        firstOf(rec, [\"id\", \"guid\", \"uuid\"], \"\") ||\n        (articleUrl ? \"u:\" + articleUrl : \"\");\n\n      return {\n        id: String(id || \"\"),\n        title: String(title || \"\"),\n        article_url: String(articleUrl || \"\"),\n        main_image: String(img || \"\"),\n        start_iso: startIso,\n        end_iso: \"\",\n        display_date: displayDate,\n        categories: cats,\n        feed_key: feedMeta?.key || \"\",\n        group_class:\n          feedMeta?.groupClass ||\n          (feedMeta?.key === \"osc\"\n            ? \"category-osc-features\"\n            : \"category-social-issues\"),\n      };\n    } \/\/ 7) Fetch all feeds, log raw + normalized, and return a unified list\n    async function fetchAllTopics() {\n      const settled = await Promise.allSettled(\n        FEEDS.map(async (f) => {\n          const json = await fetchJSON(f.url);\n\n          const items = pickItemsArray(json);\n          const normalized = items.map((rec) => normalizeRecord(rec, f));\n\n          return normalized;\n        })\n      );\n\n      settled.forEach((r, i) => {\n        if (r.status !== \"fulfilled\") {\n          console.warn(\"[OSC API error]\", FEEDS[i]?.key, r.reason);\n        }\n      });\n\n      \/\/ merge + de-dupe by article_url or id\n      const seen = new Set();\n      let events = [];\n      settled.forEach((r) => {\n        if (r.status !== \"fulfilled\") return;\n        r.value.forEach((x) => {\n          const key = x.article_url || x.id;\n          if (!key || seen.has(key)) return;\n          seen.add(key);\n          events.push(x);\n        });\n      });\n\n      \/\/ sort newest first by start_iso if available\n      events.sort((a, b) => {\n        const ta = a.start_iso ? +new Date(a.start_iso) : 0;\n        const tb = b.start_iso ? +new Date(b.start_iso) : 0;\n        return tb - ta;\n      });\n\n      return { events };\n    }\n    \/\/ 8) Inject cards into the existing .ecs-event-list (same as your mock, but real data)\n    function injectApiCards() {\n      var list = document.querySelector(\".ecs-event-list\");\n      if (!list) return Promise.resolve();\n\n      var existingIds = new Set();\n      var existingKeys = new Set();\n      list.querySelectorAll(\"[data-lsi-id]\").forEach(function (el) {\n        var v = el.getAttribute(\"data-lsi-id\");\n        if (v) existingIds.add(v);\n      });\n      list.querySelectorAll(\"[data-key]\").forEach(function (el) {\n        var v = el.getAttribute(\"data-key\");\n        if (v) existingKeys.add(v);\n      });\n\n      return fetchAllTopics()\n        .then(function (data) {\n          var items = (data && data.events) || [];\n          items.forEach(function (rec) {\n            var id = rec && rec.id ? String(rec.id) : \"\";\n            var articleUrl = String((rec && rec.article_url) || \"\");\n            var dateKey = String(\n              (rec && rec.start_iso) || (rec && rec.display_date) || \"\"\n            );\n            var compositeKey = articleUrl + \"|\" + dateKey;\n\n            if (id && existingIds.has(id)) return;\n            if (!id && existingKeys.has(compositeKey)) return;\n            if (id) existingIds.add(id);\n            existingKeys.add(compositeKey);\n\n            var li = document.createElement(\"li\");\n            li.className = \"latest-social-issue\";\n            li.setAttribute(\"data-latest-social-issue\", \"1\");\n            if (id) li.setAttribute(\"data-lsi-id\", id);\n            li.setAttribute(\"data-key\", compositeKey);\n            var groupClass =\n              (rec && rec.group_class) ||\n              (rec && rec.feed_key === \"osc\"\n                ? \"category-osc-features\"\n                : \"category-social-issues\");\n            if (groupClass) li.classList.add(groupClass);\n\n            var card = createMcCard({\n              href: articleUrl,\n              articleHref: articleUrl,\n              title: (rec && rec.title) || \"\",\n              categories: (rec && rec.categories) || [],\n              displayDate: (rec && rec.display_date) || \"\",\n              startIso: (rec && rec.start_iso) || \"\",\n              endIso: (rec && rec.end_iso) || \"\",\n              mainImageSrc: (rec && rec.main_image) || \"\",\n              rawDescHtml: \"\",\n              source: \"api\",\n            });\n            if (groupClass) card.classList.add(groupClass);\n            li.appendChild(card);\n            list.appendChild(li);\n          });\n\n          hydrateAll();\n          document.querySelectorAll(\".mc-card\").forEach(getCategoriesFromCard);\n          document.querySelectorAll(\".mc-card\").forEach(renderCardCategories);\n          normalizeAllDayDisplays();\n          localizeCardDates();\n          pruneEmptyTypeFilters();\n          applyTypeFilter();\n          applyYearFilter();\n          sortAll((window.oscFilters && oscFilters.get().order) || \"desc\");\n          applyTabFilter();\n          pruneEmptyYearFilters();\n          document.dispatchEvent(new CustomEvent(\"osc:api-cards-added\"));\n          document.querySelector(\".osc-list-mount\")?.classList.add(\"is-ready\");\n\n          if (currentTabMode === \"issues\") {\n            bindApiCategoryButtons();\n          }\n        })\n        .catch(function (err) {});\n    }\n    function enhanceClickableCards() {\n      document.querySelectorAll(\".mc-card\").forEach(function (card) {\n        if (card.querySelector(\".mc-card__cover-link\")) return;\n\n        var thumbLink = card.querySelector(\".mc-card__thumb[href]\");\n        var titleLink = card.querySelector(\".mc-card__title a[href]\");\n        var href =\n          (thumbLink && thumbLink.getAttribute(\"href\")) ||\n          (titleLink && titleLink.getAttribute(\"href\")) ||\n          \"#\";\n\n        var cover = document.createElement(\"a\");\n        cover.className = \"mc-card__cover-link\";\n        cover.href = href;\n\n        var isApi =\n          card.getAttribute(\"data-source\") === \"api\" ||\n          card.classList.contains(\"latest-social-issue\") ||\n          (card.closest(\"li\") &&\n            card.closest(\"li\").hasAttribute(\"data-latest-social-issue\"));\n        if (isApi) {\n          cover.setAttribute(\"target\", \"_blank\");\n          cover.setAttribute(\"rel\", \"noopener noreferrer\");\n        }\n\n        var titleText =\n          (titleLink && titleLink.textContent.trim()) || \"Open details\";\n        cover.setAttribute(\"aria-label\", titleText + \" - open\");\n\n        card.appendChild(cover);\n      });\n    }\n    function enableCardFocusDelegation() {\n      document.addEventListener(\"focusin\", function (e) {\n        var card = e.target.closest(\".mc-card\");\n        if (!card) return;\n        var cover = card.querySelector(\".mc-card__cover-link\");\n\n        if (cover && e.target === card) {\n          cover.focus();\n        }\n      });\n    }\n\n    (function hookClickable() {\n      enhanceClickableCards();\n      enableCardFocusDelegation();\n\n      var list = document.querySelector(\".ecs-event-list\");\n      if (!list) return;\n\n      list.classList.add(\"trp-notranslate\");\n      list.setAttribute(\"data-no-translation\", \"true\");\n\n      var mo = new MutationObserver(function (muts) {\n        if (isSorting) return;\n        var need = false;\n        muts.forEach(function (m) {\n          if (m.addedNodes && m.addedNodes.length) need = true;\n          if (m.type === \"childList\" || m.type === \"subtree\") need = true;\n        });\n        if (need) enhanceClickableCards();\n      });\n      mo.observe(list, { childList: true, subtree: true });\n    })();\n\n    \/* =========================\n         CARD DATA EXTRACTION & HYDRATION\n         ========================= *\/\n    function findDdByLabel(card, label) {\n      label = String(label || \"\").toLowerCase();\n      var row = Array.from(card.querySelectorAll(\".mc-card__row\")).find(\n        function (r) {\n          var dt = (r.querySelector(\"dt\")?.textContent || \"\")\n            .trim()\n            .toLowerCase();\n          return dt === label;\n        }\n      );\n      return row ? row.querySelector(\"dd\") : null;\n    }\n    function hydrateCard(card) {\n      var projectSummaryDD = findDdByLabel(card, \"projectsummary\");\n      var needProjectSummary =\n        projectSummaryDD && !hasContent(projectSummaryDD.textContent);\n      if (needProjectSummary) {\n        var v = cleanText(card?.dataset?.location || \"\");\n        if (!v) {\n          var desc = card.querySelector(\".mc-desc\");\n          var raw = desc ? desc.dataset?.raw || desc.innerHTML : \"\";\n          if (hasContent(raw)) {\n            var tmp = document.createElement(\"div\");\n            tmp.innerHTML = raw;\n\n            \/\/ Choose selector based on current language\n            var targetSelector = isCurrentPageZH()\n              ? \".projectSummary-zh\"\n              : \".projectSummary\";\n            var projectSummaryEl = tmp.querySelector(targetSelector);\n\n            if (projectSummaryEl && hasContent(projectSummaryEl.textContent))\n              v = cleanText(projectSummaryEl.textContent);\n          }\n        }\n        if (v) projectSummaryDD.textContent = v;\n      }\n    }\n    function hydrateAll() {\n      qsa(SEL.cards).forEach(hydrateCard);\n    }\n    function extractDisplayDateFromLi(li) {\n      var times = Array.from(li.querySelectorAll(\"time[datetime]\"));\n      var startIso = times[0]?.getAttribute(\"datetime\") || \"\";\n      var endIso = times[1]?.getAttribute(\"datetime\") || \"\";\n      if (startIso) {\n        var s = new Date(startIso);\n        var e = endIso ? new Date(endIso) : null;\n        var display = formatDMY(s);\n        if (e && !sameDay(s, e)) display += \" - \" + formatDMY(e);\n        return { display, startIso, endIso };\n      }\n\n      var holder = li.querySelector(\n        \".ecs-event-date, .ecs-date, .ecs-time, .tribe-events-schedule\"\n      );\n      if (holder) {\n        var t = cleanText(holder.textContent);\n        if (t) return { display: t, startIso: \"\", endIso: \"\" };\n      }\n      \/\/ 3) \u6700\u5f8c\u4e00\u5c64\u4fdd\u96aa\n      var dt = li.querySelector(\".date, .time\");\n      if (dt) {\n        var t2 = cleanText(dt.textContent);\n        if (t2) return { display: t2, startIso: \"\", endIso: \"\" };\n      }\n      return null;\n    }\n    \/* =========================\n         DATE PARSING & NORMALIZATION\n         ========================= *\/\n    var MONTHS = {\n      jan: 0,\n      january: 0,\n      feb: 1,\n      february: 1,\n      mar: 2,\n      march: 2,\n      apr: 3,\n      april: 3,\n      may: 4,\n      jun: 5,\n      june: 5,\n      jul: 6,\n      july: 6,\n      aug: 7,\n      august: 7,\n      sep: 8,\n      sept: 8,\n      september: 8,\n      oct: 9,\n      october: 9,\n      nov: 10,\n      november: 10,\n      dec: 11,\n      december: 11,\n    };\n    var MONTH_ABBR = [\n      \"Jan\",\n      \"Feb\",\n      \"Mar\",\n      \"Apr\",\n      \"May\",\n      \"Jun\",\n      \"Jul\",\n      \"Aug\",\n      \"Sep\",\n      \"Oct\",\n      \"Nov\",\n      \"Dec\",\n    ];\n    function toDMYString(input) {\n      if (!input) return \"\";\n      var parts = String(input).split(\/\\s*[-\u2013]\\s*\/);\n      var out = parts.map(function (seg) {\n        var m = seg.match(\n          \/([A-Za-z]{3,9})\\s+(\\d{1,2})(?:st|nd|rd|th)?(?:,)?\\s+(\\d{4})\/i\n        );\n        if (m) {\n          var monIdx = MONTHS[(m[1] || \"\").toLowerCase()];\n          if (monIdx != null) {\n            var d = parseInt(m[2], 10);\n            var y = parseInt(m[3], 10);\n            return d + \" \" + MONTH_ABBR[monIdx] + \" \" + y;\n          }\n        }\n\n        var dt = new Date(seg.replace(\/,\\s*\/g, \" \"));\n        if (!isNaN(+dt)) return formatDMY(dt);\n        return seg;\n      });\n      return out.join(\" - \");\n    }\n    function sameDay(a, b) {\n      return (\n        a.getFullYear() === b.getFullYear() &&\n        a.getMonth() === b.getMonth() &&\n        a.getDate() === b.getDate()\n      );\n    }\n    function pruneEmptyTypeFilters() {\n      var presentMap = collectTypeMapFromDisplay();\n      var presentSlugs = new Set(Array.from(presentMap.keys()));\n\n      function canon(s) {\n        return String(s || \"\")\n          .toLowerCase()\n          .replace(\/&\/g, \"and\")\n          .replace(\/\\s+\/g, \" \")\n          .trim();\n      }\n\n      qsa(SEL.typeList).forEach(function (root) {\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            var label = cleanText(\n              li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n                li.textContent ||\n                \"\"\n            );\n            if (!label) return;\n\n            var slug = null;\n            for (var pair of presentMap.entries()) {\n              if (canon(pair[1]) === canon(label)) {\n                slug = pair[0];\n                break;\n              }\n            }\n            if (!slug) {\n              var sAnd = slugifyType(label);\n              var sAmp = slugifyType(String(label).replace(\/&\/g, \"amp\"));\n              var sNo = sAnd.replace(\/-\/g, \"\");\n              if (presentMap.has(sAnd)) slug = sAnd;\n              else if (presentMap.has(sAmp)) slug = sAmp;\n              else if (presentMap.has(sNo)) slug = sNo;\n            }\n\n            var exists = slug && presentSlugs.has(slug);\n            if (!exists) {\n              li.style.display = \"none\";\n              li.setAttribute(\"aria-hidden\", \"true\");\n              li.classList.remove(\"is-checked\");\n              li.setAttribute(\"aria-checked\", \"false\");\n            } else {\n              li.style.display = \"\";\n              li.removeAttribute(\"aria-hidden\");\n            }\n          });\n      });\n\n      if (window.oscFilters && typeof window.oscFilters.set === \"function\") {\n        var selected = (oscFilters.get().types || []).slice();\n        var kept = selected.filter(function (s) {\n          return presentSlugs.has(s);\n        });\n        if (kept.length !== selected.length) {\n          oscFilters.set({ types: kept });\n        }\n      }\n    }\n    function collectYearsFromCurrentTab() {\n      var years = new Set();\n      document.querySelectorAll(\".mc-card\").forEach(function (card) {\n        var item =\n          card.closest('li[class*=\"mc-event-\"], .ecs-event-list > li') || card;\n        if (item.classList.contains(\"is-hidden-by-tab\")) return;\n\n        var dd = card.querySelector(\".mc-card__date\");\n        var txt = dd ? cleanText(dd.textContent || \"\") : \"\";\n        var matched = false;\n        if (txt) {\n          var m = txt.match(\/\\b(19|20)\\d{2}\\b\/g);\n          if (m) {\n            m.forEach(function (y) {\n              years.add(parseInt(y, 10));\n            });\n            matched = true;\n          }\n        }\n        if (!matched) {\n          var iso = isoMetricsFromCard(card);\n          yearsBetween(iso.startMs, iso.endMs).forEach(function (y) {\n            years.add(y);\n          });\n        }\n      });\n      return years;\n    }\n\n    function pruneEmptyYearFilters() {\n      var present = collectYearsFromCurrentTab();\n      var root = document.querySelector(\n        \".date-selector .todo-list .elementor-icon-list-items\"\n      );\n      if (!root) return;\n\n      root.querySelectorAll(\".elementor-icon-list-item\").forEach(function (li) {\n        var label = cleanText(\n          li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n            li.textContent ||\n            \"\"\n        );\n        var m = label.match(\/\\b(19|20)\\d{2}\\b\/);\n        var y = m ? parseInt(m[0], 10) : NaN;\n        var exists = isFinite(y) && present.has(y);\n        li.style.display = exists ? \"\" : \"none\";\n        li.setAttribute(\"aria-hidden\", exists ? \"false\" : \"true\");\n        if (!exists) {\n          li.classList.remove(\"is-checked\");\n          li.setAttribute(\"aria-checked\", \"false\");\n        }\n      });\n\n      if (window.oscFilters && typeof window.oscFilters.set === \"function\") {\n        var selected = getCheckedYears();\n        var kept = selected.filter(function (y) {\n          return present.has(y);\n        });\n        if (kept.length !== selected.length) {\n          oscFilters.set({ years: kept });\n        }\n      }\n    }\n    function parseDMY(s) {\n      var m = s && s.match(\/(\\d{1,2})\\s+([A-Za-z]{3,9})\\s+(\\d{4})\/);\n      if (!m) return null;\n      var d = +m[1],\n        mon = MONTHS[(m[2] || \"\").toLowerCase()],\n        y = +m[3];\n      if (!isFinite(d) || mon == null || !isFinite(y)) return null;\n      return new Date(y, mon, d);\n    }\n    function extractTokens(s) {\n      if (!s) return [];\n      s = s.replace(\/\u2013|\u2014\/g, \"-\");\n      var re =\n          \/(?:(\\d{1,2}):(\\d{2})\\s*(am|pm)\\s*,\\s*)?(\\d{1,2})\\s+([A-Za-z]{3,9})(?:\\s+(\\d{4}))?\/gi,\n        out = [],\n        m;\n      while ((m = re.exec(s)) !== null) {\n        var mon = MONTHS[(m[5] || \"\").toLowerCase()];\n        if (mon == null) continue;\n        out.push({\n          h: m[1] != null ? +m[1] : null,\n          mi: m[2] != null ? +m[2] : null,\n          ap: m[3] ? m[3].toLowerCase() : null,\n          d: +m[4],\n          mon: mon,\n          y: m[6] != null ? +m[6] : null,\n        });\n      }\n      return out;\n    }\n    function tokenToMs(tok, inferredY) {\n      if (!tok) return NaN;\n      var hh = tok.h == null ? 0 : tok.h,\n        mm = tok.mi == null ? 0 : tok.mi;\n      if (tok.ap) {\n        if (tok.ap === \"pm\" && hh < 12) hh += 12;\n        if (tok.ap === \"am\" && hh === 12) hh = 0;\n      }\n      var y = tok.y != null ? tok.y : inferredY;\n      if (!isFinite(y)) return NaN;\n      return new Date(y, tok.mon, tok.d, hh, mm).getTime();\n    }\n    function buildRangeFromText(txt, isoFallback) {\n      txt = cleanText(txt || \"\");\n      var toks = extractTokens(txt);\n      var startTok = toks[0] || null,\n        endTok = toks[1] || null;\n      var startY = startTok && startTok.y != null ? startTok.y : null;\n      if (startTok && startY == null && endTok && endTok.y != null)\n        startY = endTok.mon < startTok.mon ? endTok.y - 1 : endTok.y;\n      if (startTok && startY == null && isoFallback) {\n        var d = new Date(isoFallback);\n        if (isFinite(d)) startY = d.getFullYear();\n      }\n      var endY = endTok && endTok.y != null ? endTok.y : null;\n      if (endTok && endY == null && startY != null)\n        endY = endTok.mon < (startTok ? startTok.mon : 0) ? startY + 1 : startY;\n      var startMs = startTok ? tokenToMs(startTok, startY) : NaN;\n      var endMs = endTok ? tokenToMs(endTok, endY) : NaN;\n      var startYear = isFinite(startMs) ? new Date(startMs).getFullYear() : NaN;\n      var endYear = isFinite(endMs) ? new Date(endMs).getFullYear() : NaN;\n      var primaryYear = isFinite(endYear) ? endYear : startYear;\n      var primaryMs = NaN;\n      if (isFinite(endMs) && isFinite(endYear) && endYear === primaryYear)\n        primaryMs = endMs;\n      else if (\n        isFinite(startMs) &&\n        isFinite(startYear) &&\n        startYear === primaryYear\n      )\n        primaryMs = startMs;\n      else primaryMs = isFinite(endMs) ? endMs : startMs;\n      return { startMs, endMs, primaryYear, primaryMs };\n    }\n    function readISO(card, key) {\n      return (\n        card.getAttribute(key) ||\n        card.dataset?.[key.replace(\/^data-\/, \"\")] ||\n        \"\"\n      );\n    }\n    function isoMetricsFromCard(card) {\n      var startIso =\n        readISO(card, \"data-dtstart\") || readISO(card, \"data-start\") || \"\";\n      var endIso =\n        readISO(card, \"data-dtend\") || readISO(card, \"data-end\") || \"\";\n      var startMs =\n        startIso && !isNaN(new Date(startIso)) ? +new Date(startIso) : NaN;\n      var endMs = endIso && !isNaN(new Date(endIso)) ? +new Date(endIso) : NaN;\n      var primaryMs = isFinite(endMs) ? endMs : startMs;\n      var primaryYear = isFinite(primaryMs)\n        ? new Date(primaryMs).getFullYear()\n        : NaN;\n      return { startMs, endMs, primaryMs, primaryYear };\n    }\n    function metricsValid(m) {\n      return (\n        m &&\n        (isFinite(m.primaryYear) || isFinite(m.startMs) || isFinite(m.endMs))\n      );\n    }\n    function metricsFromCard(card) {\n      var dateText = cleanText(\n        card.querySelector(\".mc-card__date\")?.textContent || \"\"\n      );\n      var iso = isoMetricsFromCard(card);\n      if (hasContent(dateText)) {\n        var m1 = buildRangeFromText(\n          dateText,\n          isFinite(iso.startMs) ? new Date(iso.startMs).toISOString() : \"\"\n        );\n        if (metricsValid(m1)) return m1;\n      }\n      if (metricsValid(iso)) return iso;\n\n      var desc = card.querySelector(\".mc-desc\");\n      var raw = desc ? desc.dataset?.raw || desc.innerHTML : \"\";\n      if (hasContent(raw)) {\n        var tmp = document.createElement(\"div\");\n        tmp.innerHTML = raw;\n        var src = tmp.querySelector(\".date\") || tmp.querySelector(\".time\");\n        if (src) {\n          var m2 = buildRangeFromText(\n            src.textContent,\n            isFinite(iso.startMs) ? new Date(iso.startMs).toISOString() : \"\"\n          );\n          if (metricsValid(m2)) return m2;\n        }\n      }\n      return { startMs: NaN, endMs: NaN, primaryYear: NaN, primaryMs: NaN };\n    }\n    function yearsBetween(sMs, eMs) {\n      var out = new Set();\n      if (isFinite(sMs) || isFinite(eMs)) {\n        var s = isFinite(sMs)\n          ? new Date(sMs).getFullYear()\n          : new Date(eMs).getFullYear();\n        var e = isFinite(eMs)\n          ? new Date(eMs).getFullYear()\n          : new Date(sMs).getFullYear();\n        if (isFinite(s) && isFinite(e)) {\n          if (e < s) {\n            var t = s;\n            s = e;\n            e = t;\n          }\n          for (var y = s; y <= e; y++) out.add(y);\n        }\n      }\n      return Array.from(out);\n    }\n    function yearsFromCard(card) {\n      var set = new Set();\n      qsa(\".mc-desc .year\", card).forEach(function (el) {\n        var txt = cleanText(el.textContent || \"\");\n        (txt.match(\/\\b(19|20)\\d{2}\\b\/g) || []).forEach(function (y) {\n          set.add(parseInt(y, 10));\n        });\n        var dy = el.getAttribute(\"data-year\");\n        if (dy && \/^\\d{4}$\/.test(dy)) set.add(parseInt(dy, 10));\n      });\n      if (set.size) return Array.from(set);\n\n      var txt = cleanText(\n        card.querySelector(\".mc-card__date\")?.textContent || \"\"\n      );\n      if (txt) {\n        (txt.match(\/\\b(20\\d{2})\\b\/g) || []).forEach(function (y) {\n          set.add(parseInt(y, 10));\n        });\n        if (set.size) return Array.from(set);\n      }\n\n      var iso = isoMetricsFromCard(card);\n      yearsBetween(iso.startMs, iso.endMs).forEach(function (y) {\n        set.add(y);\n      });\n      if (set.size) return Array.from(set);\n\n      var desc = card.querySelector(\".mc-desc\");\n      var raw = desc ? desc.dataset?.raw || desc.innerHTML : \"\";\n      if (hasContent(raw)) {\n        var tmp = document.createElement(\"div\");\n        tmp.innerHTML = raw;\n        var src = tmp.querySelector(\".date\") || tmp.querySelector(\".time\");\n        if (src) {\n          var m = buildRangeFromText(src.textContent, \"\");\n          yearsBetween(m.startMs, m.endMs).forEach(function (y) {\n            set.add(y);\n          });\n          if (!set.size && isFinite(m.primaryYear)) set.add(m.primaryYear);\n        }\n      }\n      return Array.from(set);\n    }\n    function toAbsURL(u) {\n      u = String(u || \"\");\n      if (!u) return \"\";\n      if (\/^https?:\\\/\\\/\/i.test(u)) return u;\n      if (u.startsWith(\"\/\/\")) return location.protocol + u;\n      if (u.startsWith(\"\/\")) return location.origin + u;\n      return u;\n    }\n    function normalizeAllDayDisplays() {\n      qsa(SEL.cards).forEach(function (card) {\n        var dd = card.querySelector(\".mc-card__date\");\n        if (!dd) return;\n        var txt = cleanText(dd.textContent);\n        if (!txt) return;\n        var times = txt.match(\/\\b(\\d{1,2}):(\\d{2})\\s*(am|pm)\\b\/gi) || [];\n        var isAllDayByDisplay =\n          times.length >= 2 &&\n          times.every(function (t) {\n            return \/^12:00\\s*am$\/i.test(cleanText(t));\n          });\n        if (!isAllDayByDisplay) return;\n        var datePieces = txt.match(\/(\\d{1,2}\\s+[A-Za-z]{3,9}\\s+\\d{4})\/g) || [];\n        if (!datePieces.length) return;\n        var startDate = parseDMY(datePieces[0]);\n        var endDate = datePieces[1] ? parseDMY(datePieces[1]) : null;\n        if (!startDate) return;\n        if (endDate) {\n          endDate.setDate(endDate.getDate() - 1);\n        }\n        function fmt(d) {\n          return (\n            d.getDate() + \" \" + MONTH_ABBR[d.getMonth()] + \" \" + d.getFullYear()\n          );\n        }\n        var out = fmt(startDate);\n        if (endDate && !sameDay(startDate, endDate))\n          out += \" - \" + fmt(endDate);\n        dd.textContent = out;\n      });\n    }\n    function slugifyType(s) {\n      s = String(s || \"\").toLowerCase();\n      if (s.normalize) s = s.normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g, \"\");\n      s = s.replace(\/&\/g, \"and\");\n      return s\n        .replace(\/[^a-z0-9\\u4e00-\\u9fa5]+\/gi, \"-\")\n        .replace(\/^-+|-+$\/g, \"\")\n        .replace(\/-+\/g, \"-\");\n    }\n    function getCardTypeSlugsFromCategoryBadges(card) {\n      var typesAttr = card.getAttribute(\"data-event-types\");\n      if (typesAttr) {\n        return typesAttr.split(\"|\").filter(Boolean);\n      }\n\n      var labels = Array.from(\n        card.querySelectorAll(\".mc-card__category > div\")\n      );\n      return labels\n        .map(function (el) {\n          return (\n            el.getAttribute(\"data-slug\") ||\n            slugifyType(cleanText(el.textContent || \"\"))\n          );\n        })\n        .filter(Boolean);\n    }\n    function collectTypeMapFromDisplay() {\n      var map = new Map();\n      qsa(\".mc-card\").forEach(function (card) {\n        var item =\n          card.closest('li[class*=\"mc-event-\"], .ecs-event-list > li') || card;\n        if (item.classList.contains(\"is-hidden-by-tab\")) return;\n\n        Array.from(card.querySelectorAll(\".mc-card__category > div\")).forEach(\n          function (el) {\n            var label = cleanText(el.textContent || \"\");\n            var slug = el.getAttribute(\"data-slug\") || slugifyType(label);\n\n            if (slug && label) {\n              if (!map.has(slug)) map.set(slug, label);\n            }\n          }\n        );\n      });\n      return map;\n    }\n    function collectTypesFromClasses(el) {\n      var out = [];\n      (el.className || \"\").split(\/\\s+\/).forEach(function (c) {\n        var m =\n          c.match(\/^mc_(?:primary_|rel_)?([a-z0-9-]+)$\/i) ||\n          c.match(\/^mcat_([a-z0-9-]+)$\/i) ||\n          c.match(\/^tribe-events-category-(.+)$\/i) ||\n          c.match(\/^(.+)_ecs_category$\/i);\n        if (!m || !m[1]) return;\n        var slug = m[1].toLowerCase();\n        if (\n          \/^(?:no-location|start|events?|event|upcoming|future|multidate|nonrecurring|ungrouped|on-now)$\/i.test(\n            slug\n          )\n        )\n          return;\n        if (\/\\d\/.test(slug)) return;\n        if (slug === \"artampmusic\" || slug === \"art-music\")\n          slug = \"art-amp-music\";\n        out.push(slug);\n      });\n      return out;\n    }\n    function splitTypeList(s) {\n      s = cleanText(s || \"\");\n      if (!s) return [];\n\n      const PREFIX = \/^(?:past\\s*beneficiaries|social)\\s*[-\u2013]\\s*\/i;\n      if (PREFIX.test(s)) {\n        let tail = s.replace(PREFIX, \"\");\n\n        tail = tail.replace(\/^(en|zh|tc|sc)(?=[A-Z])\/i, \"\");\n\n        const known = extractKnownLabels(tail);\n        if (known.length) return known;\n\n        return tail\n          .split(\/\\s*,\\s*|\\s+\\band\\b\\s+\/i)\n          .map(cleanText)\n          .filter(Boolean);\n      }\n\n      const quick = s.replace(\/[|\u00b7\u2022;]+\/g, \",\").replace(\/\\s*&\\s*\/g, \" & \");\n      return quick\n        .split(\/\\s*,\\s*|\\s+\\band\\b\\s+\/i)\n        .map(cleanText)\n        .filter(Boolean);\n    }\n\n    var KNOWN_LABELS = [\n      \"Health & Well-being\",\n      \"Persons with Disabilities & Mental Health Recovery\",\n      \"Children & Youth\",\n      \"District Focus\/Community\",\n      \"Elderly\",\n      \"Adult\",\n      \"Education\",\n      \"Poverty\",\n      \"Inclusivity\",\n      \"Sustainability\",\n      \"Special\",\n    ];\n\n    function escapeRegExp(str) {\n      return String(str).replace(\/[.*+?^${}()|[\\]\\\\]\/g, \"\\\\$&\");\n    }\n\n    function extractKnownLabels(text) {\n      text = String(text || \"\");\n      if (!text) return [];\n\n      text = text.replace(\/^(en|zh|tc|sc)(?=[A-Z])\/i, \"\");\n\n      var pattern = KNOWN_LABELS.map(escapeRegExp)\n        .sort(function (a, b) {\n          return b.length - a.length;\n        })\n        .join(\"|\");\n\n      if (!pattern) return [];\n      var re = new RegExp(pattern, \"gi\");\n\n      var out = [];\n      var m;\n      while ((m = re.exec(text)) !== null) {\n        var label = cleanText(m[0]);\n        if (label && out.indexOf(label) === -1) out.push(label);\n      }\n      return out;\n    }\n\n    function readTypesFromDataset(card) {\n      var ds = card.dataset || {};\n      var raw =\n        ds.types ||\n        ds.type ||\n        ds.categories ||\n        ds.category ||\n        card.getAttribute(\"data-types\") ||\n        card.getAttribute(\"data-category\") ||\n        \"\";\n      return splitTypeList(raw);\n    }\n    function readTypesFromRows(card) {\n      var labels = [\"event type\", \"type\", \"category\", \"categories\"];\n      for (var i = 0; i < labels.length; i++) {\n        var dd = findDdByLabel(card, labels[i]);\n        if (dd && hasContent(dd.textContent))\n          return splitTypeList(dd.textContent);\n      }\n      return [];\n    }\n    function readTypesFromDesc(card) {\n      var desc = card.querySelector(\".mc-desc\");\n      var raw = desc ? desc.dataset?.types || desc.dataset?.category || \"\" : \"\";\n      if (!raw) {\n        var html = desc\n          ? desc.dataset && desc.dataset.raw\n            ? desc.dataset.raw\n            : desc.innerHTML\n          : \"\";\n        if (hasContent(html)) {\n          var tmp = document.createElement(\"div\");\n          tmp.innerHTML = html;\n          var src = tmp.querySelector(\n            \".event-type, .event-types, .category, .categories, .type\"\n          );\n          if (src && hasContent(src.textContent))\n            return splitTypeList(src.textContent);\n        }\n      }\n      return splitTypeList(raw);\n    }\n    function normalizeTypeSlug(raw) {\n      var slug = slugifyType(raw);\n      if (!slug) return \"\";\n\n      if (\/^(en|zh|tc|sc)$\/.test(slug)) return \"\";\n\n      if (\/^(?:impact-stories|impactstories|social)-(en|zh|tc|sc)$\/i.test(slug))\n        return \"\";\n      if (\/^impactstories(en|zh|tc|sc)$\/i.test(slug)) return \"\";\n\n      slug = slug.replace(\/^(?:impactstories|impact-stories|social)-\/i, \"\");\n\n      if (\/^(en|zh|tc|sc)$\/.test(slug)) return \"\";\n\n      return slug;\n    }\n    function getCategoriesFromCard(card) {\n      var set = new Map();\n      function collectOne(raw) {\n        var norm = normalizeTypeSlug(raw);\n        if (!norm) return;\n        if (!set.has(norm)) set.set(norm, labelFromSlug(norm));\n      }\n\n      \/\/ Safeguard: Read existing attributes first to prevent data loss on re-runs\n      var currentAttr = card.getAttribute(\"data-event-types\");\n      if (currentAttr) {\n        currentAttr.split(\"|\").forEach(collectOne);\n      }\n\n      []\n        .concat(\n          collectTypesFromClasses(card.closest(\"li\") || { className: \"\" })\n        )\n        .concat(\n          collectTypesFromClasses(\n            (card.closest(\"li\") || {}).querySelector(\n              'div[id^=\"mc_\"].vevent'\n            ) || { className: \"\" }\n          )\n        )\n        .concat(readTypesFromDataset(card))\n        .concat(readTypesFromRows(card))\n        .concat(readTypesFromDesc(card))\n        .forEach(collectOne);\n\n      var slugs = Array.from(set.keys());\n      if (slugs.length) {\n        card.setAttribute(\"data-event-types\", slugs.join(\"|\"));\n      } else {\n        card.removeAttribute(\"data-event-types\");\n      }\n      return Array.from(set, function (e) {\n        return { slug: e[0], label: e[1] };\n      });\n    }\n    function renderCardCategories(card) {\n      var catEl = card.querySelector(\".mc-card__category\");\n      if (!catEl) return;\n\n      if (!card.dataset.category) {\n        var original = Array.from(catEl.querySelectorAll(\":scope > div\"))\n          .map(function (el) {\n            return cleanText(el.textContent || \"\");\n          })\n          .filter(Boolean)\n          .join(\", \");\n        if (!original) original = cleanText(catEl.textContent || \"\");\n        if (original) card.dataset.category = original;\n      }\n\n      var li = card.closest(\"li\");\n      var hadSpecial =\n        (li &&\n          \/\\b(?:past[-_\\s]?beneficiaries|social)[-_\\s]?spec(?:ial|ial)\\b(?:_ecs_category|\\b)\/i.test(\n            li.className\n          )) ||\n        \/(?:past\\s*beneficiaries|social)\\s*special\/i.test(\n          card.dataset.category || \"\"\n        );\n\n      var rawCats = getCategoriesFromCard(card);\n      var cats = splitPBAndClean(rawCats);\n      var seenLabels = new Set();\n      cats = cats.filter(function (o) {\n        var finalLabel = getTranslatedLabel(o.label);\n\n        if (isCurrentPageZH() && \/^[a-zA-Z\\s&\/|-]+$\/.test(finalLabel)) {\n          return false;\n        }\n\n        var norm = finalLabel.replace(\/[^a-zA-Z0-9\\u4e00-\\u9fa5]\/g, \"\").trim();\n        if (seenLabels.has(norm)) {\n          return false;\n        }\n        seenLabels.add(norm);\n        return true;\n      });\n\n      if (cats.length) {\n        var slugs = cats\n          .map(function (o) {\n            return o.slug;\n          })\n          .join(\"|\");\n        card.setAttribute(\"data-event-types\", slugs);\n\n        catEl.innerHTML = cats\n          .map(function (o) {\n            var isSpecialSlug = \/^(special|speical)$\/i.test(o.slug);\n            var cls = hadSpecial && isSpecialSlug ? ' class=\"special\"' : \"\";\n\n            var finalLabel = getTranslatedLabel(o.label);\n\n            return (\n              \"<div\" +\n              cls +\n              \" data-slug='\" +\n              esc(o.slug) +\n              \"'>\" +\n              esc(finalLabel) +\n              \"<\/div>\"\n            );\n          })\n          .join(\"\");\n      } else {\n        card.removeAttribute(\"data-event-types\");\n        catEl.innerHTML = \"\";\n      }\n    }\n    function splitPBAndClean(cats) {\n      var OUT = [];\n      var SEP_LABEL = \/(?:past\\s*beneficiaries|social)\\s*[-\u2013]\\s*\/i;\n      var SEP_SLUG = \/(?:past[-_\\s]*beneficiaries|social)[-_ \\s]*\/i;\n\n      cats.forEach(function (o) {\n        var label = String(o.label || \"\");\n        var slug = String(o.slug || \"\");\n\n        var need = SEP_LABEL.test(label) || SEP_SLUG.test(slug);\n\n        if (!need) {\n          OUT.push(o);\n          return;\n        }\n\n        var labelMatch = label.match(\n          \/(?:past\\s*beneficiaries|social)\\s*[-\u2013]\\s*(.+)\/i\n        );\n        if (labelMatch && labelMatch[1]) {\n          var cleanedLabel = cleanText(labelMatch[1]);\n          var normSlug = normalizeTypeSlug(cleanedLabel);\n          if (normSlug) OUT.push({ slug: normSlug, label: cleanedLabel });\n          return;\n        }\n\n        var labelParts = label.split(SEP_LABEL).map(cleanText).filter(Boolean);\n        var slugParts = slug.split(SEP_SLUG).map(cleanText).filter(Boolean);\n\n        var n = Math.max(labelParts.length, slugParts.length);\n        for (var i = 0; i < n; i++) {\n          var rawLabel = labelParts[i] || \"\";\n          var norm = normalizeTypeSlug(slugParts[i] || rawLabel);\n          if (!norm) continue;\n\n          var outLabel = rawLabel || labelFromSlug(norm);\n\n          if (\/^(en|zh|tc|sc)$\/i.test(outLabel.trim())) continue;\n          if (\/^(en|zh|tc|sc)(?:[-_].*)?$\/i.test(norm)) continue;\n\n          OUT.push({ slug: norm, label: outLabel });\n        }\n      });\n\n      \/\/ Deduplicate\n      var uniq = new Map();\n      OUT.forEach(function (x) {\n        if (!uniq.has(x.slug)) uniq.set(x.slug, x.label);\n      });\n\n      return Array.from(uniq, function (e) {\n        return { slug: e[0], label: e[1] };\n      });\n    }\n\n    \/* =========================\n         SORTING\n         ========================= *\/\n    function sortAll(order) {\n      isSorting = true;\n      var groups = new Map();\n      var index = 0;\n\n      qsa(SEL.cards).forEach(function (card) {\n        var item = card.closest(SEL.cardContainerLi) || card;\n        var parent = item.parentElement;\n        if (!parent) return;\n        if (!groups.has(parent)) groups.set(parent, []);\n\n        if (item.dataset.sortTs === undefined) {\n          var m = metricsFromCard(card);\n          var ts = isFinite(m.primaryMs) ? m.primaryMs : NaN;\n          item.dataset.sortTs = isFinite(ts) ? ts : \"NaN\";\n        }\n        if (item.dataset.sortTitle === undefined) {\n          var title = cleanText(\n            card.querySelector(\".mc-card__title a\")?.textContent ||\n              card.querySelector(\".mc-card__title\")?.textContent ||\n              \"\"\n          );\n          item.dataset.sortTitle = title;\n        }\n\n        var ts =\n          item.dataset.sortTs === \"NaN\" ? NaN : parseFloat(item.dataset.sortTs);\n        var title = item.dataset.sortTitle;\n\n        groups.get(parent).push({ item, ts, title, idx: index++ });\n      });\n\n      groups.forEach(function (arr, parent) {\n        if (order === \"name-asc\" || order === \"name-desc\") {\n          arr.sort(function (a, b) {\n            var A = a.title.toUpperCase(),\n              B = b.title.toUpperCase();\n            if (A < B) return order === \"name-asc\" ? -1 : 1;\n            if (A > B) return order === \"name-asc\" ? 1 : -1;\n            return a.idx - b.idx;\n          });\n        } else {\n          var dir = order === \"asc\" ? 1 : -1;\n          arr.sort(function (a, b) {\n            var aBad = !isFinite(a.ts),\n              bBad = !isFinite(b.ts);\n            if (aBad && bBad) return a.idx - b.idx;\n            if (aBad) return 1;\n            if (bBad) return -1;\n            if (a.ts !== b.ts) return dir * (a.ts - b.ts);\n            return a.idx - b.idx;\n          });\n        }\n\n        var frag = document.createDocumentFragment();\n        arr.forEach(function (o) {\n          frag.appendChild(o.item);\n        });\n        parent.appendChild(frag);\n      });\n      isSorting = false;\n    }\n    window.sortAll = sortAll;\n\n    function applyOrder(order) {\n      var wrap = qs(SEL.sortWrap);\n      var text = qs(SEL.sortText);\n      if (wrap) wrap.dataset.order = order;\n\n      if (text) {\n        var isZh = isCurrentPageZH();\n        var targetText = isZh\n          ? order === \"asc\"\n            ? \"\u6700\u820a\"\n            : \"\u6700\u65b0\"\n          : order === \"asc\"\n          ? \"Oldest\"\n          : \"Newest\";\n\n        if (text.textContent !== targetText) {\n          text.classList.add(\"data-no-translation\");\n          text.textContent = targetText;\n        }\n      }\n      sortAll(order);\n\n      document.dispatchEvent(\n        new CustomEvent(\"osc:sort-changed\", { detail: { order: order } })\n      );\n    }\n\n    var currentTabMode = \"issues\";\n\n    function getImpactTabs() {\n      var root = qs('[data-id=\"a04fdef\"]');\n      if (!root) return null;\n      var titles = root.querySelectorAll(\n        \".impact-news-tab .elementor-heading-title\"\n      );\n      if (!titles || titles.length < 2) return null;\n      var stories = titles[0];\n      var issues = titles[titles.length - 1];\n      return { root: root, stories: stories, issues: issues };\n    }\n\n    function applyTabFilter() {\n      var showApi = currentTabMode === \"issues\";\n      qsa(\".mc-card\").forEach(function (card) {\n        var item = card.closest(SEL.cardContainerLi) || card;\n\n        var isApi =\n          card.classList.contains(\"latest-social-issue\") ||\n          item.classList.contains(\"latest-social-issue\") ||\n          card.getAttribute(\"data-source\") === \"api\" ||\n          item.getAttribute(\"data-latest-social-issue\") === \"1\";\n        var visible = showApi ? isApi : !isApi;\n        item.classList.toggle(\"is-hidden-by-tab\", !visible);\n      });\n    }\n    if (window.oscFilters && typeof window.oscFilters.set === \"function\") {\n      oscFilters.set({ years: [], types: [], order: \"desc\" });\n    }\n\n    function updateTabUI() {\n      var tabs = getImpactTabs();\n      if (!tabs) return;\n      var all = [tabs.stories, tabs.issues];\n      all.forEach(function (el) {\n        if (!el) return;\n        el.classList.remove(\"is-active\");\n        el.setAttribute(\"aria-selected\", \"false\");\n        el.setAttribute(\"tabindex\", \"0\");\n      });\n      var activeEl = currentTabMode === \"issues\" ? tabs.issues : tabs.stories;\n      if (activeEl) {\n        activeEl.classList.add(\"is-active\");\n        activeEl.setAttribute(\"aria-selected\", \"true\");\n      }\n    }\n\n    function setActiveTab(mode) {\n      currentTabMode = mode === \"issues\" ? \"issues\" : \"stories\";\n      updateTabUI();\n      applyTabFilter();\n\n      syncFilterUIs();\n\n      if (window.oscFilters && typeof window.oscFilters.set === \"function\") {\n        oscFilters.set({ years: [], types: [], order: \"desc\" });\n      }\n\n      pruneEmptyTypeFilters();\n      pruneEmptyYearFilters();\n\n      var existingModal = document.getElementById(\"osc-filter-modal\");\n      if (existingModal) existingModal.remove();\n\n      if (mode === \"issues\") {\n        bindApiCategoryButtons();\n        applyApiCategoryFilter(\"all\");\n      }\n\n      document.dispatchEvent(\n        new CustomEvent(\"osc:tab-changed\", { detail: { mode: currentTabMode } })\n      );\n    }\n\n    function bindImpactTabs() {\n      var tabs = getImpactTabs();\n      if (!tabs) return;\n\n      tabs.root.setAttribute(\"role\", \"tablist\");\n      tabs.stories.setAttribute(\"role\", \"tab\");\n      tabs.issues.setAttribute(\"role\", \"tab\");\n\n      \/\/ Initial state\n      setActiveTab(\"issues\");\n      setCurrentIssuesCategory(\"osc-features\");\n      applyApiCategoryFilter(\"osc-features\");\n\n      tabs.stories.addEventListener(\"click\", function (e) {\n        e.preventDefault();\n        setActiveTab(\"stories\");\n      });\n      tabs.issues.addEventListener(\"click\", function (e) {\n        e.preventDefault();\n        setActiveTab(\"issues\");\n      });\n\n      [tabs.stories, tabs.issues].forEach(function (el) {\n        el.addEventListener(\"keydown\", function (e) {\n          if (e.key === \"Enter\" || e.key === \" \") {\n            e.preventDefault();\n            setActiveTab(el === tabs.issues ? \"issues\" : \"stories\");\n          }\n        });\n      });\n    }\n    function bindSortUI() {\n      var menu = qs(SEL.sortMenu);\n      if (menu) {\n        menu.addEventListener(\"click\", function (e) {\n          var li = e.target.closest(SEL.sortMenuItem);\n          if (!li || !menu.contains(li)) return;\n          e.preventDefault();\n          var label = cleanText(\n            li.querySelector(\".elementor-icon-list-text\")?.textContent || \"\"\n          ).toLowerCase();\n          var order;\n          if (label.indexOf(\"oldest\") > -1 || label.indexOf(\"\u6700\u820a\") > -1)\n            order = \"asc\";\n          else if (label.indexOf(\"newest\") > -1 || label.indexOf(\"\u6700\u65b0\") > -1)\n            order = \"desc\";\n          else order = \"desc\";\n\n          applyOrder(order);\n\n          qsa(SEL.sortMenuItem, menu).forEach(function (x) {\n            var xLabel = cleanText(x.textContent).toLowerCase();\n            var checked = false;\n            if (\n              order === \"asc\" &&\n              (xLabel.indexOf(\"oldest\") > -1 || xLabel.indexOf(\"\u6700\u820a\") > -1)\n            )\n              checked = true;\n            else if (\n              order === \"desc\" &&\n              (xLabel.indexOf(\"newest\") > -1 || xLabel.indexOf(\"\u6700\u65b0\") > -1)\n            )\n              checked = true;\n\n            x.classList.toggle(\"is-checked\", checked);\n            x.setAttribute(\"aria-checked\", checked ? \"true\" : \"false\");\n          });\n        });\n\n        var img = qs(SEL.sortIcon);\n        var closed = img ? img.getAttribute(\"src\") || \"\" : \"\";\n        var wrap = qs(SEL.sortWrap);\n        if (wrap && img) {\n          wrap.addEventListener(\"mouseenter\", function () {\n            img.setAttribute(\"src\", ICON_OPEN);\n          });\n          wrap.addEventListener(\"mouseleave\", function () {\n            if (qs(SEL.sortMenu)?.matches(\":hover\")) return;\n            img.setAttribute(\"src\", closed);\n          });\n          qs(SEL.sortMenu)?.addEventListener(\"mouseleave\", function () {\n            if (wrap.matches(\":hover\")) return;\n            img.setAttribute(\"src\", closed);\n          });\n        }\n      }\n    }\n\n    \/* =========================\n         FILTER STATE + Active chips\n         ========================= *\/\n    var oscFilters = (function () {\n      function isOn(li) {\n        return (\n          li.classList.contains(\"is-checked\") ||\n          String(li.getAttribute(\"aria-checked\") || \"\").toLowerCase() === \"true\"\n        );\n      }\n      function extractYearFromNode(li) {\n        var txt = cleanText(\n          li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n            li.textContent ||\n            \"\"\n        );\n        var m = txt.match(\/\\b(20\\d{2})\\b\/);\n        return m ? parseInt(m[1], 10) : NaN;\n      }\n      function getAvailableYearsFromDesktop() {\n        var root = qs(SEL.yearList),\n          out = [];\n        if (root) {\n          root\n            .querySelectorAll(\".elementor-icon-list-item\")\n            .forEach(function (li) {\n              var y = extractYearFromNode(li);\n              if (isFinite(y) && out.indexOf(y) === -1) out.push(y);\n            });\n        }\n        return out.length ? out : [2025, 2024, 2023, 2022];\n      }\n      function getAvailableTypesMap() {\n        \/\/ Build from what users actually see on the cards\n        return collectTypeMapFromDisplay();\n      }\n      function readDesktopYears() {\n        var years = [],\n          root = qs(SEL.yearList);\n        if (!root) return years;\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            if (!isOn(li)) return;\n            var y = extractYearFromNode(li);\n            if (isFinite(y)) years.push(y);\n          });\n        return years;\n      }\n      function writeDesktopYears(selectedYears) {\n        var root = qs(SEL.yearList);\n        if (!root) return;\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            var y = extractYearFromNode(li);\n            var on = isFinite(y) && selectedYears.indexOf(y) !== -1;\n            li.classList.toggle(\"is-checked\", on);\n            li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n          });\n        applyYearFilter();\n      }\n      function buildTypesMapFromCards() {\n        \/\/ Keep a single source of truth: the visible badges on each card\n        return collectTypeMapFromDisplay();\n      }\n      function readDesktopTypes() {\n        var out = [],\n          map = buildTypesMapFromCards();\n        function canon(s) {\n          return String(s || \"\")\n            .toLowerCase()\n            .replace(\/&\/g, \"and\")\n            .replace(\/\\s+\/g, \" \")\n            .trim();\n        }\n        qsa(SEL.typeList).forEach(function (root) {\n          root\n            .querySelectorAll(\".elementor-icon-list-item\")\n            .forEach(function (li) {\n              var on =\n                li.classList.contains(\"is-checked\") ||\n                String(li.getAttribute(\"aria-checked\") || \"\").toLowerCase() ===\n                  \"true\";\n              if (!on) return;\n              var label = cleanText(\n                li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n                  li.textContent ||\n                  \"\"\n              );\n              var slug = null;\n              for (var pair of map.entries()) {\n                if (canon(pair[1]) === canon(label)) {\n                  slug = pair[0];\n                  break;\n                }\n              }\n              if (!slug) {\n                var sAnd = slugifyType(label),\n                  sAmp = slugifyType(String(label).replace(\/&\/g, \"amp\")),\n                  sNo = sAnd.replace(\/-\/g, \"\");\n                if (map.has(sAnd)) slug = sAnd;\n                else if (map.has(sAmp)) slug = sAmp;\n                else if (map.has(sNo)) slug = sNo;\n              }\n              if (slug && !out.includes(slug)) out.push(slug);\n            });\n        });\n        return out;\n      }\n      function writeDesktopTypes(selectedSlugs) {\n        var map = buildTypesMapFromCards();\n        function canon(s) {\n          return String(s || \"\")\n            .toLowerCase()\n            .replace(\/&\/g, \"and\")\n            .replace(\/\\s+\/g, \" \")\n            .trim();\n        }\n        qsa(SEL.typeList).forEach(function (root) {\n          root\n            .querySelectorAll(\".elementor-icon-list-item\")\n            .forEach(function (li) {\n              var label = cleanText(\n                li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n                  li.textContent ||\n                  \"\"\n              );\n              var slug = null;\n              for (var pair of map.entries()) {\n                if (canon(pair[1]) === canon(label)) {\n                  slug = pair[0];\n                  break;\n                }\n              }\n              if (!slug) {\n                var sAnd = slugifyType(label),\n                  sAmp = slugifyType(String(label).replace(\/&\/g, \"amp\")),\n                  sNo = sAnd.replace(\/-\/g, \"\");\n                if (map.has(sAnd)) slug = sAnd;\n                else if (map.has(sAmp)) slug = sAmp;\n                else if (map.has(sNo)) slug = sNo;\n              }\n              var on = slug && selectedSlugs.indexOf(slug) !== -1;\n              li.classList.toggle(\"is-checked\", on);\n              li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n            });\n        });\n        applyTypeFilter();\n      }\n      function readDesktopSort() {\n        var wrap = qs(SEL.sortWrap);\n        var order = String(wrap?.dataset?.order || \"\").toLowerCase();\n        if ([\"asc\", \"desc\", \"name-asc\", \"name-desc\"].includes(order))\n          return order;\n        var label = cleanText(\n          qs(SEL.sortText)?.textContent || \"\"\n        ).toLowerCase();\n        if (label.indexOf(\"oldest\") > -1) return \"asc\";\n        if (label.indexOf(\"newest\") > -1) return \"desc\";\n        return \"asc\";\n      }\n      function writeDesktopSort(order) {\n        order = order === \"desc\" ? \"desc\" : \"asc\";\n        applyOrder(order);\n      }\n\n      var state = { years: [], types: [], order: \"desc\" };\n      function clone(s) {\n        return {\n          years: (s.years || []).slice(),\n          types: (s.types || []).slice(),\n          order: s.order,\n        };\n      }\n      function equalSet(a, b) {\n        return (\n          JSON.stringify(a.slice().sort()) === JSON.stringify(b.slice().sort())\n        );\n      }\n\n      function ensureActiveFiltersBar() {\n        if (document.getElementById(\"osc-active-filters\")) return;\n        var row = qs(SEL.row);\n        if (!row) return;\n        var bar = document.createElement(\"div\");\n        bar.id = \"osc-active-filters\";\n        row.parentNode.insertBefore(bar, row.nextSibling);\n        document.querySelectorAll(\".filter_osc_bar\").forEach(function (el) {\n          el.style.marginBottom = \"0px\";\n        });\n\n        bar.addEventListener(\"click\", function (e) {\n          if (\n            e.target.closest(\".chip--reset\") ||\n            e.target.closest(\".clear-all\")\n          ) {\n            e.preventDefault();\n            var keep = readDesktopSort();\n            set({ years: [], types: [], order: keep });\n            return;\n          }\n\n          var chip = e.target.closest(\".chip:not(.chip--reset)\");\n          if (chip && bar.contains(chip)) {\n            e.preventDefault();\n            var t = chip.getAttribute(\"data-type\");\n            var v = chip.getAttribute(\"data-value\");\n            var keepOrder = readDesktopSort();\n\n            if (t === \"year\") {\n              set({\n                years: (state.years || []).filter(function (y) {\n                  return String(y) !== String(v);\n                }),\n                order: keepOrder,\n              });\n            } else if (t === \"type\") {\n              set({\n                types: (state.types || []).filter(function (s) {\n                  return s !== v;\n                }),\n                order: keepOrder,\n              });\n            }\n            return;\n          }\n        });\n      }\n      function renderActiveFiltersBar() {\n        ensureActiveFiltersBar();\n        var host = document.getElementById(\"osc-active-filters\");\n        if (!host) return;\n        var yearChips = (state.years || [])\n          .slice()\n          .sort(function (a, b) {\n            return b - a;\n          })\n          .map(function (y) {\n            return (\n              '<button class=\"chip\" data-type=\"year\" data-value=\"' +\n              y +\n              '\" aria-label=\"Remove ' +\n              y +\n              '\">' +\n              y +\n              ' <span class=\"x\" aria-hidden=\"true\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/09\/icon_close_24x24-1.png\" alt=\"\"><\/span><\/button>'\n            );\n          })\n          .join(\"\");\n        var typeChips = (state.types || [])\n          .slice()\n          .map(function (slug) {\n            var label = labelFromSlug(slug);\n            return (\n              '<button class=\"chip\" data-type=\"type\" data-value=\"' +\n              slug +\n              '\" aria-label=\"Remove ' +\n              label +\n              '\">' +\n              label +\n              ' <span class=\"x\" aria-hidden=\"true\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/09\/icon_close_24x24-1.png\" alt=\"\"><\/span><\/button>'\n            );\n          })\n          .join(\"\");\n        var has = !!yearChips || !!typeChips;\n        host.classList.toggle(\"has-items\", has);\n        host.innerHTML = has\n          ? '<div class=\"chips\" role=\"list\">' +\n            yearChips +\n            typeChips +\n            '<button type=\"button\" class=\"chip chip--reset\" aria-label=\"Clear all filters\">Reset<\/button>' +\n            \"<\/div>\"\n          : \"\";\n      }\n      function applyToDesktop() {\n        writeDesktopTypes(state.types);\n        writeDesktopYears(state.years);\n        writeDesktopSort(state.order);\n      }\n      function set(next, opts) {\n        opts = opts || {};\n        var changed = false;\n        if (\"years\" in next) {\n          var a = next.years || [],\n            b = state.years || [];\n          if (!equalSet(a, b)) {\n            state.years = a.slice();\n            changed = true;\n          }\n        }\n        if (\"types\" in next) {\n          var aT = next.types || [],\n            bT = state.types || [];\n          if (!equalSet(aT, bT)) {\n            state.types = aT.slice();\n            changed = true;\n          }\n        }\n        if (\"order\" in next && next.order && next.order !== state.order) {\n          state.order = next.order;\n          changed = true;\n        }\n        if (!changed) return clone(state);\n        if (opts.source !== \"desktop\") applyToDesktop();\n        renderActiveFiltersBar();\n        document.dispatchEvent(\n          new CustomEvent(\"osc:filters-applied\", { detail: clone(state) })\n        );\n        return clone(state);\n      }\n      state.years = readDesktopYears();\n      state.types = readDesktopTypes();\n      state.order = readDesktopSort();\n\n      return {\n        get: function () {\n          return clone(state);\n        },\n        set,\n        resetYears: function (o) {\n          set({ years: [] }, o);\n        },\n        resetTypes: function (o) {\n          set({ types: [] }, o);\n        },\n        getAvailableYearsFromDesktop,\n        getAvailableTypesMap,\n      };\n    })();\n    window.oscFilters = oscFilters;\n\n    \/* =========================\n         Year \/ Type filter apply\n         ========================= *\/\n    function getCheckedYears() {\n      var years = new Set();\n      qsa(\".date-selector .todo-list .elementor-icon-list-item\").forEach(\n        function (li) {\n          var checked =\n            li.classList.contains(\"is-checked\") ||\n            String(li.getAttribute(\"aria-checked\") || \"\").toLowerCase() ===\n              \"true\";\n          if (!checked) return;\n          var txt = cleanText(\n            li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n              li.textContent ||\n              \"\"\n          );\n          var m = txt.match(\/\\b(20\\d{2})\\b\/g);\n          if (m) {\n            m.forEach(function (y) {\n              years.add(parseInt(y, 10));\n            });\n          }\n        }\n      );\n      return Array.from(years);\n    }\n    function applyYearFilter() {\n      var selected = getCheckedYears();\n      var hasFilter = selected.length > 0;\n      qsa(SEL.cards).forEach(function (card) {\n        var item = card.closest(SEL.cardContainerLi) || card;\n        if (!hasFilter) {\n          item.classList.remove(\"is-hidden-by-year\", \"is-hidden-by-filter\");\n          return;\n        }\n        var years = yearsFromCard(card);\n        var show = years.some(function (y) {\n          return selected.indexOf(y) !== -1;\n        });\n        if (show) {\n          item.classList.remove(\"is-hidden-by-year\", \"is-hidden-by-filter\");\n        } else {\n          item.classList.add(\"is-hidden-by-year\", \"is-hidden-by-filter\");\n        }\n      });\n    }\n    \/\/ Replace the original getSelectedTypeSlugs()\n    \/\/ Now we map UI-checked labels -> slugs based on the visible badges map\n    function getSelectedTypeSlugs() {\n      \/\/ Map<slug,label> collected from the cards' visible badges\n      var map = collectTypeMapFromDisplay();\n\n      \/\/ Canonicalize label text for matching\n      function canon(s) {\n        return String(s || \"\")\n          .toLowerCase()\n          .replace(\/&\/g, \"and\")\n          .replace(\/\\s+\/g, \" \")\n          .trim();\n      }\n\n      var out = [];\n      qsa(\n        \".social-issues-selector .todo-list .elementor-icon-list-items\"\n      ).forEach(function (root) {\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            var on =\n              li.classList.contains(\"is-checked\") ||\n              String(li.getAttribute(\"aria-checked\") || \"\").toLowerCase() ===\n                \"true\";\n            if (!on) return;\n\n            \/\/ UI label the user clicked\n            var label = cleanText(\n              li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n                li.textContent ||\n                \"\"\n            );\n\n            \/\/ Try matching UI label to a slug via our display map\n            var target = canon(label);\n            var slug = null;\n            for (var pair of map.entries()) {\n              if (canon(pair[1]) === target) {\n                slug = pair[0];\n                break;\n              }\n            }\n\n            \/\/ Fallback: slugify the label if not in map (defensive)\n            if (!slug) slug = slugifyType(label);\n\n            if (slug && !out.includes(slug)) out.push(slug);\n          });\n      });\n      return out;\n    }\n    \/\/ Replace original applyTypeFilter()\n    \/\/ Now compare selected slugs against slugs derived from .mc-card__category badges\n    function applyTypeFilter() {\n      var selected = getSelectedTypeSlugs();\n      var hasFilter = selected.length > 0;\n\n      qsa(\".mc-card\").forEach(function (card) {\n        var item =\n          card.closest('li[class*=\"mc-event-\"], .ecs-event-list > li') || card;\n\n        if (!hasFilter) {\n          item.classList.remove(\"is-hidden-by-type\", \"is-hidden-by-filter\");\n          return;\n        }\n\n        \/\/ Slugs from the card's visible category badges\n        var cardSlugs = getCardTypeSlugsFromCategoryBadges(card);\n\n        \/\/ OR logic: show if any selected slug exists on the card\n        var match = cardSlugs.some(function (s) {\n          return selected.includes(s);\n        });\n\n        if (match) {\n          item.classList.remove(\"is-hidden-by-type\", \"is-hidden-by-filter\");\n        } else {\n          item.classList.add(\"is-hidden-by-type\", \"is-hidden-by-filter\");\n        }\n      });\n    }\n    window.applyTypeFilter = function () {\n      try {\n        applyTypeFilter();\n      } catch (e) {}\n    };\n    window.applyYearFilter = function () {\n      try {\n        applyYearFilter();\n      } catch (e) {}\n    };\n    (function () {\n      var YEAR_LIST_SEL =\n        \".date-selector .todo-list .elementor-icon-list-items\";\n      var TAB_ROOT_SEL = '[data-id=\"a04fdef\"]';\n      var TAB_TITLE_SEL = \".impact-news-tab .elementor-heading-title\";\n\n      function clean(s) {\n        return String(s || \"\").replace(\/\\u00a0\/g, \" \");\n      }\n      function yearsFromText(t) {\n        var out = new Set(),\n          m,\n          re = \/\\b(20\\d{2})\\b\/g;\n        t = clean(t || \"\");\n        while ((m = re.exec(t)) !== null) {\n          out.add(parseInt(m[1], 10));\n        }\n        return out;\n      }\n      function yearFromISO(iso) {\n        if (!iso) return NaN;\n        var d = new Date(iso);\n        return isNaN(d) ? NaN : d.getFullYear();\n      }\n      function yearsFromYearNodes(card) {\n        var set = new Set();\n        var nodes = card.querySelectorAll(\".mc-desc .year\");\n        nodes.forEach(function (el) {\n          yearsFromText(el.textContent).forEach(function (y) {\n            set.add(y);\n          });\n          var dy = el.getAttribute(\"data-year\");\n          if (dy && \/^\\d{4}$\/.test(dy)) set.add(parseInt(dy, 10));\n        });\n        return set;\n      }\n      function getActiveTabMode() {\n        var root = document.querySelector(TAB_ROOT_SEL);\n        if (!root) return \"stories\";\n        var titles = root.querySelectorAll(TAB_TITLE_SEL);\n        if (!titles.length) return \"stories\";\n        var activeIdx = -1;\n        for (var i = 0; i < titles.length; i++) {\n          var el = titles[i];\n          var sel =\n            el.classList.contains(\"is-active\") ||\n            String(el.getAttribute(\"aria-selected\") || \"\").toLowerCase() ===\n              \"true\";\n          if (sel) {\n            activeIdx = i;\n            break;\n          }\n        }\n        if (activeIdx === -1) activeIdx = 0;\n        return activeIdx === titles.length - 1 ? \"issues\" : \"stories\";\n      }\n      function isApiItem(card) {\n        var item =\n          card.closest('li[class*=\"mc-event-\"], .ecs-event-list > li') || card;\n        return (\n          card.classList.contains(\"latest-social-issue\") ||\n          item.classList.contains(\"latest-social-issue\") ||\n          String(card.getAttribute(\"data-source\") || \"\").toLowerCase() ===\n            \"api\" ||\n          String(item.getAttribute(\"data-latest-social-issue\") || \"\") === \"1\"\n        );\n      }\n      function collectYearsActiveTab() {\n        var mode = getActiveTabMode();\n        var set = new Set();\n        var cards = document.querySelectorAll(\".mc-card\");\n        cards.forEach(function (card) {\n          var item =\n            card.closest('li[class*=\"mc-event-\"], .ecs-event-list > li') ||\n            card;\n          if (item.classList.contains(\"is-hidden-by-tab\")) return;\n          var api = isApiItem(card);\n          if (mode === \"issues\" && !api) return;\n          if (mode === \"stories\" && api) return;\n\n          var dd = card.querySelector(\".mc-card__date\");\n          if (dd) {\n            yearsFromText(dd.textContent).forEach(function (y) {\n              set.add(y);\n            });\n          }\n\n          var s =\n            card.getAttribute(\"data-dtstart\") ||\n            card.getAttribute(\"data-start\") ||\n            \"\";\n          var e =\n            card.getAttribute(\"data-dtend\") ||\n            card.getAttribute(\"data-end\") ||\n            \"\";\n          var ys = yearFromISO(s),\n            ye = yearFromISO(e);\n          if (isFinite(ys) && isFinite(ye)) {\n            var a = Math.min(ys, ye),\n              b = Math.max(ys, ye);\n            for (var y = a; y <= b; y++) set.add(y);\n          } else if (isFinite(ys)) {\n            set.add(ys);\n          } else if (isFinite(ye)) {\n            set.add(ye);\n          }\n\n          yearsFromYearNodes(card).forEach(function (y) {\n            set.add(y);\n          });\n        });\n        return Array.from(set)\n          .filter(function (y) {\n            return isFinite(y);\n          })\n          .sort(function (a, b) {\n            return b - a;\n          });\n      }\n      function currentSelectedYears(root) {\n        var sel = [];\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            var on =\n              li.classList.contains(\"is-checked\") ||\n              String(li.getAttribute(\"aria-checked\") || \"\").toLowerCase() ===\n                \"true\";\n            if (!on) return;\n            var m = clean(li.textContent).match(\/\\b(20\\d{2})\\b\/);\n            if (m) sel.push(parseInt(m[1], 10));\n          });\n        return sel;\n      }\n      function rebuildYearList() {\n        var root = document.querySelector(YEAR_LIST_SEL);\n        if (!root) return;\n\n        var years = collectYearsActiveTab();\n        if (!years.length) return;\n\n        var prevSel = currentSelectedYears(root);\n\n        while (root.firstChild) root.removeChild(root.firstChild);\n\n        years.forEach(function (y) {\n          var li = document.createElement(\"li\");\n          li.className = \"elementor-icon-list-item\";\n          li.setAttribute(\"role\", \"checkbox\");\n          li.setAttribute(\"tabindex\", \"0\");\n\n          var checked = prevSel.indexOf(y) !== -1;\n          if (checked) li.classList.add(\"is-checked\");\n          li.setAttribute(\"aria-checked\", checked ? \"true\" : \"false\");\n\n          var span = document.createElement(\"span\");\n          span.className = \"elementor-icon-list-text\";\n          span.textContent = String(y);\n          li.appendChild(span);\n          root.appendChild(li);\n        });\n\n        var validSel = prevSel.filter(function (y) {\n          return years.indexOf(y) !== -1;\n        });\n        if (window.oscFilters && typeof window.oscFilters.set === \"function\") {\n          window.oscFilters.set({ years: validSel }, { source: \"desktop\" });\n        } else {\n          document.dispatchEvent(\n            new CustomEvent(\"osc:year-filter-changed\", {\n              detail: { years: validSel },\n            })\n          );\n        }\n      }\n      function bindTabRebuild() {\n        var root = document.querySelector(TAB_ROOT_SEL);\n        if (!root) return;\n\n        var titles = root.querySelectorAll(TAB_TITLE_SEL);\n        titles.forEach(function (el) {\n          el.addEventListener(\"click\", function () {\n            setTimeout(rebuildYearList, 0);\n          });\n          el.addEventListener(\"keydown\", function (e) {\n            if (e.key === \"Enter\" || e.key === \" \")\n              setTimeout(rebuildYearList, 0);\n          });\n        });\n\n        var mo = new MutationObserver(function (muts) {\n          for (var i = 0; i < muts.length; i++) {\n            var m = muts[i];\n            if (\n              m.type === \"attributes\" &&\n              (m.attributeName === \"class\" ||\n                m.attributeName === \"aria-selected\")\n            ) {\n              rebuildYearList();\n              break;\n            }\n          }\n        });\n        titles.forEach(function (el) {\n          mo.observe(el, {\n            attributes: true,\n            attributeFilter: [\"class\", \"aria-selected\"],\n          });\n        });\n\n        document.addEventListener(\"osc:tab-changed\", rebuildYearList);\n      }\n      function bindDataUpdates() {\n        document.addEventListener(\"osc:api-cards-added\", rebuildYearList);\n      }\n\n      if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", function () {\n          rebuildYearList();\n          bindTabRebuild();\n          bindDataUpdates();\n        });\n      } else {\n        rebuildYearList();\n        bindTabRebuild();\n        bindDataUpdates();\n      }\n    })();\n    \/* =========================\n         Desktop bindings\n         ========================= *\/\n    function bindYearCheckboxes() {\n      var root = qs(SEL.yearList);\n      if (!root) return;\n      root.querySelectorAll(\".elementor-icon-list-item\").forEach(function (li) {\n        if (!li.hasAttribute(\"role\")) li.setAttribute(\"role\", \"checkbox\");\n        if (!li.hasAttribute(\"tabindex\")) li.setAttribute(\"tabindex\", \"0\");\n        li.setAttribute(\n          \"aria-checked\",\n          li.classList.contains(\"is-checked\") ? \"true\" : \"false\"\n        );\n        li.addEventListener(\"keydown\", function (e) {\n          if (e.key === \" \" || e.key === \"Enter\") {\n            e.preventDefault();\n            var on = !(\n              li.classList.contains(\"is-checked\") ||\n              String(li.getAttribute(\"aria-checked\") || \"\") === \"true\"\n            );\n            li.classList.toggle(\"is-checked\", on);\n            li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n            oscFilters.set({ years: getCheckedYears() }, { source: \"desktop\" });\n            document.dispatchEvent(\n              new CustomEvent(\"osc:year-filter-changed\", {\n                detail: { years: getCheckedYears() },\n              })\n            );\n          }\n        });\n      });\n      root.addEventListener(\"click\", function (e) {\n        var li = e.target.closest(\".elementor-icon-list-item\");\n        if (!li || !root.contains(li)) return;\n        e.preventDefault();\n        var on = !(\n          li.classList.contains(\"is-checked\") ||\n          String(li.getAttribute(\"aria-checked\") || \"\") === \"true\"\n        );\n        li.classList.toggle(\"is-checked\", on);\n        li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n        oscFilters.set({ years: getCheckedYears() }, { source: \"desktop\" });\n        document.dispatchEvent(\n          new CustomEvent(\"osc:year-filter-changed\", {\n            detail: { years: getCheckedYears() },\n          })\n        );\n      });\n    }\n    function bindTypeCheckboxes() {\n      qsa(SEL.typeList).forEach(function (root) {\n        root\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            if (!li.hasAttribute(\"role\")) li.setAttribute(\"role\", \"checkbox\");\n            if (!li.hasAttribute(\"tabindex\")) li.setAttribute(\"tabindex\", \"0\");\n            li.setAttribute(\n              \"aria-checked\",\n              li.classList.contains(\"is-checked\") ? \"true\" : \"false\"\n            );\n          });\n        root.addEventListener(\"click\", function (e) {\n          var li = e.target.closest(\".elementor-icon-list-item\");\n          if (!li || !root.contains(li)) return;\n          var a = e.target.closest(\"a\");\n          if (a) e.preventDefault();\n          var on = !(\n            li.classList.contains(\"is-checked\") ||\n            String(li.getAttribute(\"aria-checked\") || \"\") === \"true\"\n          );\n          li.classList.toggle(\"is-checked\", on);\n          li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n          oscFilters.set(\n            { types: getSelectedTypeSlugs() },\n            { source: \"desktop\" }\n          );\n          document.dispatchEvent(\n            new CustomEvent(\"osc:type-filter-changed\", {\n              detail: { types: getSelectedTypeSlugs() },\n            })\n          );\n        });\n        root.addEventListener(\"keydown\", function (e) {\n          if (e.key === \" \" || e.key === \"Enter\") {\n            var li =\n              document.activeElement &&\n              document.activeElement.closest(\".elementor-icon-list-item\");\n            if (!li || !root.contains(li)) return;\n            e.preventDefault();\n            var on = !(\n              li.classList.contains(\"is-checked\") ||\n              String(li.getAttribute(\"aria-checked\") || \"\") === \"true\"\n            );\n            li.classList.toggle(\"is-checked\", on);\n            li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n            oscFilters.set(\n              { types: getSelectedTypeSlugs() },\n              { source: \"desktop\" }\n            );\n            document.dispatchEvent(\n              new CustomEvent(\"osc:type-filter-changed\", {\n                detail: { types: getSelectedTypeSlugs() },\n              })\n            );\n          }\n        });\n      });\n    }\n\n    \/* =========================\n         Mobile filter modal\n         ========================= *\/\n    function ensureFilterModal() {\n      var modal = document.getElementById(\"osc-filter-modal\");\n      var applied = oscFilters.get();\n      var liveOrder = (function () {\n        var o = String(qs(SEL.sortWrap)?.dataset?.order || \"\").toLowerCase();\n        if (o === \"name-asc\" || o === \"name-desc\") return o;\n        return o === \"asc\" || o === \"desc\" ? o : \"desc\";\n      })();\n\n      if (currentTabMode === \"issues\") {\n        var CATS = [\n          { label: \"All\", slug: \"all\" },\n          { label: \"OSC features\", slug: \"osc-features\" },\n          { label: \"Social issues\", slug: \"social-issues\" },\n        ];\n\n        function listHTML(items, currentSlug) {\n          return items\n            .map(function (t) {\n              var on = t.slug === currentSlug;\n              return (\n                '<li class=\"elementor-icon-list-item' +\n                (on ? \" is-checked\" : \"\") +\n                '\" data-slug=\"' +\n                esc(t.slug) +\n                '\" role=\"radio\" aria-checked=\"' +\n                (on ? \"true\" : \"false\") +\n                '\"><span class=\"elementor-icon-list-text\">' +\n                esc(t.label) +\n                \"<\/span><\/li>\"\n              );\n            })\n            .join(\"\");\n        }\n\n        var currentSlug = \"all\";\n        if (typeof window.getCurrentIssuesCategory === \"function\") {\n          try {\n            currentSlug = window.getCurrentIssuesCategory() || \"all\";\n          } catch (e) {}\n        }\n\n        if (!modal) {\n          modal = document.createElement(\"div\");\n          modal.id = \"osc-filter-modal\";\n\n          var typesHTML = listHTML(CATS, currentSlug);\n\n          modal.innerHTML =\n            '<div class=\"box\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"osc-filter-title\" tabindex=\"-1\">' +\n            '<div class=\"header\"><h3 id=\"osc-filter-title\" class=\"title\">Filter<\/h3><button type=\"button\" class=\"filter-popup-close\" aria-label=\"Close\"><img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/09\/icon_close_24x24.png\" alt=\"\" width=\"20\" height=\"20\"><\/button><\/div>' +\n            '<div class=\"content\">' +\n            '<div class=\"section accordion-section\">' +\n            '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"true\">Category<span class=\"accordion-icon\"><\/span><\/button>' +\n            '<div class=\"accordion-content\" style=\"display:block;\"><div class=\"type-list type-list-issues todo-list\" role=\"radiogroup\" aria-label=\"Category\"><ul class=\"elementor-icon-list-items\">' +\n            typesHTML +\n            \"<\/ul><\/div><\/div><\/div>\" +\n            '<div class=\"section accordion-section\">' +\n            '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"false\">Sort by<span class=\"accordion-icon\"><\/span><\/button>' +\n            '<div class=\"accordion-content\" style=\"display:none;\">' +\n            '<div class=\"sort-group\" role=\"radiogroup\" aria-label=\"Sort by\">' +\n            '<label class=\"radio\"><input type=\"radio\" name=\"osc-sort\" value=\"desc\"' +\n            (liveOrder === \"desc\" ? \" checked\" : \"\") +\n            \"><span>Newest<\/span><\/label>\" +\n            '<label class=\"radio\"><input type=\"radio\" name=\"osc-sort\" value=\"asc\"' +\n            (liveOrder === \"asc\" ? \" checked\" : \"\") +\n            \"><span>Oldest<\/span><\/label>\" +\n            \"<\/div><\/div><\/div>\" +\n            \"<\/div>\" +\n            '<div class=\"actions\"><button type=\"button\" class=\"btn btn-clear\" data-action=\"clear\">Clear all<\/button><button type=\"button\" class=\"btn btn-apply\" data-action=\"apply\">Apply<\/button><\/div>' +\n            \"<\/div>\";\n\n          document.body.appendChild(modal);\n\n          modal.querySelectorAll(\".accordion-toggle\").forEach(function (btn) {\n            btn.addEventListener(\"click\", function () {\n              var content = btn.nextElementSibling;\n              var isOpen = btn.getAttribute(\"aria-expanded\") === \"true\";\n              btn.setAttribute(\"aria-expanded\", !isOpen);\n              content.style.display = isOpen ? \"none\" : \"block\";\n            });\n          });\n\n          var catRoot = modal.querySelector(\".type-list-issues\");\n          if (catRoot) {\n            catRoot.addEventListener(\"click\", function (e) {\n              var li = e.target.closest(\".elementor-icon-list-item\");\n              if (!li || !catRoot.contains(li)) return;\n              catRoot\n                .querySelectorAll(\".elementor-icon-list-item\")\n                .forEach(function (x) {\n                  x.classList.remove(\"is-checked\");\n                  x.setAttribute(\"aria-checked\", \"false\");\n                });\n              li.classList.add(\"is-checked\");\n              li.setAttribute(\"aria-checked\", \"true\");\n            });\n          }\n\n          modal.addEventListener(\"click\", function (e) {\n            if (e.target === modal || e.target.closest(\".filter-popup-close\"))\n              closeFilterModal();\n            var btn = e.target.closest(\"button[data-action]\");\n            if (btn) {\n              var action = btn.getAttribute(\"data-action\");\n              if (action === \"clear\") clearAllInModal(modal);\n              if (action === \"apply\") applyFromModal(modal);\n            }\n          });\n          document.addEventListener(\"keydown\", function (e) {\n            if (e.key === \"Escape\") closeFilterModal();\n          });\n\n          modal.dataset.bound = \"1\";\n        } else {\n          syncModalFromApplied(modal);\n        }\n        return modal;\n      }\n\n      var typesMap = oscFilters.getAvailableTypesMap();\n      var typesArr = Array.from(typesMap, function (e) {\n        return { slug: e[0], label: e[1] };\n      }).sort(function (a, b) {\n        return a.label.localeCompare(b.label);\n      });\n\n      var ISSUE_SET = new Set([\n        \"education\",\n        \"health-and-well-being\",\n        \"poverty\",\n        \"inclusivity\",\n        \"sustainability\",\n      ]);\n      var GROUP_SET = new Set([\n        \"children-and-youth\",\n        \"elderly\",\n        \"adult\",\n        \"district-focus-community\",\n        \"persons-with-disabilities-and-mental-health-recovery\",\n        \"persons-with-disabilities-mental-health-recovery\",\n        \"persons-with-disabilities-and-mental-health\",\n        \"persons-with-disabilities-mental-health\",\n      ]);\n\n      var issues = [],\n        groups = [];\n      typesArr.forEach(function (t) {\n        var s = t.slug;\n        if (GROUP_SET.has(s)) groups.push(t);\n        else if (ISSUE_SET.has(s)) issues.push(t);\n        else issues.push(t);\n      });\n\n      var yearsArr = [];\n      var desktopYearRoot = qs(SEL.yearList);\n      if (desktopYearRoot) {\n        desktopYearRoot\n          .querySelectorAll(\".elementor-icon-list-item\")\n          .forEach(function (li) {\n            var isHidden =\n              li.getAttribute(\"aria-hidden\") === \"true\" ||\n              li.style.display === \"none\";\n            if (isHidden) return;\n\n            var label = cleanText(\n              li.querySelector(\".elementor-icon-list-text\")?.textContent ||\n                li.textContent ||\n                \"\"\n            );\n            var m = label.match(\/\\b(19|20)\\d{2}\\b\/);\n            if (m) yearsArr.push(parseInt(m[0], 10));\n          });\n      }\n\n      if (\n        (!yearsArr || !yearsArr.length) &&\n        window.oscFilters &&\n        typeof oscFilters.getAvailableYearsFromDesktop === \"function\"\n      ) {\n        yearsArr = (oscFilters.getAvailableYearsFromDesktop() || []).slice();\n      }\n\n      yearsArr = Array.from(new Set(yearsArr)).sort(function (a, b) {\n        return b - a;\n      });\n\n      function yearButtonsHTML(years) {\n        return years\n          .map(function (y) {\n            var on = applied.years.indexOf(y) !== -1;\n            return (\n              '<button type=\"button\" class=\"year-btn' +\n              (on ? \" is-active\" : \"\") +\n              '\" data-year=\"' +\n              y +\n              '\">' +\n              y +\n              \"<\/button>\"\n            );\n          })\n          .join(\"\");\n      }\n\n      function listHTML(items) {\n        return items\n          .map(function (t) {\n            var on = applied.types.indexOf(t.slug) !== -1;\n            return (\n              '<li class=\"elementor-icon-list-item' +\n              (on ? \" is-checked\" : \"\") +\n              '\" data-slug=\"' +\n              esc(t.slug) +\n              '\" aria-checked=\"' +\n              (on ? \"true\" : \"false\") +\n              '\"><span class=\"elementor-icon-list-text\">' +\n              esc(t.label) +\n              \"<\/span><\/li>\"\n            );\n          })\n          .join(\"\");\n      }\n\n      if (!modal) {\n        modal = document.createElement(\"div\");\n        modal.id = \"osc-filter-modal\";\n\n        var typesIssuesHTML = listHTML(issues);\n        var typesGroupsHTML = listHTML(groups);\n        var yearsHTML = yearButtonsHTML(yearsArr);\n\n        modal.innerHTML =\n          '<div class=\"box\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"osc-filter-title\" tabindex=\"-1\">' +\n          '<div class=\"header\"><h3 id=\"osc-filter-title\" class=\"title\">Filter<\/h3><button type=\"button\" class=\"filter-popup-close\" aria-label=\"Close\"><img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/09\/icon_close_24x24.png\" alt=\"\" width=\"20\" height=\"20\"><\/button><\/div>' +\n          '<div class=\"content\">' +\n          '<div class=\"section accordion-section\">' +\n          '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"false\">Social Issues<span class=\"accordion-icon\"><\/span><\/button>' +\n          '<div class=\"accordion-content\" style=\"display:none;\"><div class=\"type-list type-list-issues todo-list\"><ul class=\"elementor-icon-list-items\">' +\n          typesIssuesHTML +\n          \"<\/ul><\/div><\/div><\/div>\" +\n          '<div class=\"section accordion-section\">' +\n          '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"false\">Social Groups<span class=\"accordion-icon\"><\/span><\/button>' +\n          '<div class=\"accordion-content\" style=\"display:none;\"><div class=\"type-list type-list-groups todo-list\"><ul class=\"elementor-icon-list-items\">' +\n          typesGroupsHTML +\n          \"<\/ul><\/div><\/div><\/div>\" +\n          '<div class=\"section accordion-section\">' +\n          '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"false\">Year<span class=\"accordion-icon\"><\/span><\/button>' +\n          '<div class=\"accordion-content\" style=\"display:none;\"><div class=\"year-buttons\">' +\n          yearsHTML +\n          \"<\/div><\/div><\/div>\" +\n          '<div class=\"section accordion-section\">' +\n          '<button type=\"button\" class=\"section-title accordion-toggle\" aria-expanded=\"false\">Sort by<span class=\"accordion-icon\"><\/span><\/button>' +\n          '<div class=\"accordion-content\" style=\"display:none;\"><div class=\"sort-group\" role=\"radiogroup\" aria-label=\"Sort by\">' +\n          '<label class=\"radio\"><input type=\"radio\" name=\"osc-sort\" value=\"desc\"' +\n          (liveOrder === \"desc\" ? \" checked\" : \"\") +\n          \"><span>Newest<\/span><\/label>\" +\n          '<label class=\"radio\"><input type=\"radio\" name=\"osc-sort\" value=\"asc\"' +\n          (liveOrder === \"asc\" ? \" checked\" : \"\") +\n          \"><span>Oldest<\/span><\/label>\" +\n          \"<\/div><\/div><\/div>\" +\n          \"<\/div>\" +\n          '<div class=\"actions\"><button type=\"button\" class=\"btn btn-clear\" data-action=\"clear\">Clear all<\/button><button type=\"button\" class=\"btn btn-apply\" data-action=\"apply\">Apply<\/button><\/div>' +\n          \"<\/div>\";\n\n        document.body.appendChild(modal);\n\n        modal.querySelectorAll(\".accordion-toggle\").forEach(function (btn) {\n          btn.addEventListener(\"click\", function () {\n            var content = btn.nextElementSibling;\n            var isOpen = btn.getAttribute(\"aria-expanded\") === \"true\";\n            btn.setAttribute(\"aria-expanded\", !isOpen);\n            content.style.display = isOpen ? \"none\" : \"block\";\n          });\n        });\n\n        modal.addEventListener(\"click\", function (e) {\n          if (e.target === modal || e.target.closest(\".filter-popup-close\"))\n            closeFilterModal();\n          var btn = e.target.closest(\"button[data-action]\");\n          if (btn) {\n            var action = btn.getAttribute(\"data-action\");\n            if (action === \"clear\") clearAllInModal(modal);\n            if (action === \"apply\") applyFromModal(modal);\n          }\n        });\n        document.addEventListener(\"keydown\", function (e) {\n          if (e.key === \"Escape\") closeFilterModal();\n        });\n\n        var yearBtns = modal.querySelector(\".year-buttons\");\n        if (yearBtns) {\n          yearBtns.addEventListener(\"click\", function (e) {\n            var btn = e.target.closest(\".year-btn\");\n            if (!btn || !yearBtns.contains(btn)) return;\n            btn.classList.toggle(\"is-active\");\n          });\n        }\n\n        [\"type-list-issues\", \"type-list-groups\"].forEach(function (cls) {\n          var root = modal.querySelector(\".\" + cls);\n          if (!root) return;\n          root.addEventListener(\"click\", function (e) {\n            var li = e.target.closest(\".elementor-icon-list-item\");\n            if (!li || !root.contains(li)) return;\n            li.classList.toggle(\"is-checked\");\n            li.setAttribute(\n              \"aria-checked\",\n              li.classList.contains(\"is-checked\") ? \"true\" : \"false\"\n            );\n          });\n        });\n\n        modal.dataset.bound = \"1\";\n      } else {\n        syncModalFromApplied(modal);\n      }\n      return modal;\n    }\n\n    function resetIssuesTabDefaults() {\n      qsa(\".social-issues-selector\").forEach(function (el) {\n        el.classList.remove(\"active\");\n      });\n      var allBtnBox = document.querySelector(\n        \".social-issues-selector .all-btn\"\n      );\n      if (allBtnBox) {\n        var allContainer = allBtnBox.closest(\".social-issues-selector\");\n        if (allContainer) allContainer.classList.add(\"active\");\n      }\n\n      if (window.oscFilters && typeof oscFilters.set === \"function\") {\n        oscFilters.set({ years: [], types: [], order: \"desc\" }); \/\/ desc = Newest\n      }\n\n      var menu = qs(SEL.sortMenu);\n      if (menu) {\n        qsa(SEL.sortMenuItem, menu).forEach(function (li) {\n          var t = cleanText(li.textContent).toLowerCase();\n          var checked = t.indexOf(\"newest\") > -1;\n          li.classList.toggle(\"is-checked\", checked);\n          li.setAttribute(\"aria-checked\", checked ? \"true\" : \"false\");\n        });\n      }\n\n      applyTabFilter();\n      applyTypeFilter();\n      applyYearFilter();\n      applyOrder(\"desc\");\n\n      if (typeof applyApiCategoryFilter === \"function\") {\n        applyApiCategoryFilter(\"all\");\n      }\n\n      syncFilterUIs();\n    }\n\n    (function patchImpactTabReset() {\n      var tabs = getImpactTabs && getImpactTabs();\n      if (!tabs) return;\n\n      tabs.issues.replaceWith(tabs.issues.cloneNode(true));\n      tabs = getImpactTabs();\n\n      tabs.issues.addEventListener(\"click\", function (e) {\n        e.preventDefault();\n        setActiveTab(\"issues\");\n        resetIssuesTabDefaults();\n      });\n      tabs.issues.addEventListener(\"keydown\", function (e) {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          e.preventDefault();\n          setActiveTab(\"issues\");\n          resetIssuesTabDefaults();\n        }\n      });\n    })();\n    function syncModalFromApplied(modal) {\n      if (currentTabMode === \"issues\") {\n        var currentSlug = \"all\";\n        if (typeof window.getCurrentIssuesCategory === \"function\") {\n          try {\n            currentSlug = window.getCurrentIssuesCategory() || \"all\";\n          } catch (e) {}\n        }\n        modal\n          .querySelectorAll(\".type-list-issues .elementor-icon-list-item\")\n          .forEach(function (li) {\n            var slug = li.getAttribute(\"data-slug\") || \"\";\n            var on = slug === currentSlug;\n            li.classList.toggle(\"is-checked\", on);\n            li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n          });\n\n        modal.querySelectorAll('input[name=\"osc-sort\"]').forEach(function (r) {\n          var liveOrder = (function () {\n            var o = String(\n              qs(SEL.sortWrap)?.dataset?.order || \"\"\n            ).toLowerCase();\n            if (o === \"name-asc\" || o === \"name-desc\") return o;\n            return o === \"asc\" || o === \"desc\" ? o : \"desc\";\n          })();\n          r.checked = r.value === liveOrder;\n        });\n        return;\n      }\n\n      var applied = oscFilters.get();\n      var liveOrder = (function () {\n        var o = String(qs(SEL.sortWrap)?.dataset?.order || \"\").toLowerCase();\n        if (o === \"name-asc\" || o === \"name-desc\") return o;\n        return o === \"asc\" || o === \"desc\" ? o : \"desc\";\n      })();\n\n      modal.querySelectorAll(\".year-btn\").forEach(function (btn) {\n        var y = parseInt(btn.getAttribute(\"data-year\") || \"0\", 10);\n        var on = Number.isFinite(y) && applied.years.indexOf(y) !== -1;\n        btn.classList.toggle(\"is-active\", on);\n      });\n\n      [\".type-list-issues\", \".type-list-groups\"].forEach(function (sel) {\n        modal\n          .querySelectorAll(sel + \" .elementor-icon-list-item\")\n          .forEach(function (li) {\n            var slug = li.getAttribute(\"data-slug\") || \"\";\n            var on = slug && applied.types.indexOf(slug) !== -1;\n            li.classList.toggle(\"is-checked\", on);\n            li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n          });\n      });\n\n      modal.querySelectorAll('input[name=\"osc-sort\"]').forEach(function (r) {\n        r.checked = r.value === liveOrder;\n      });\n    }\n\n    function clearAllInModal(modal) {\n      if (currentTabMode === \"issues\") {\n        var root = modal.querySelector(\".type-list-issues\");\n        if (root) {\n          root\n            .querySelectorAll(\".elementor-icon-list-item\")\n            .forEach(function (li) {\n              var on = li.getAttribute(\"data-slug\") === \"all\";\n              li.classList.toggle(\"is-checked\", on);\n              li.setAttribute(\"aria-checked\", on ? \"true\" : \"false\");\n            });\n        }\n        var newest = modal.querySelector(\n          'input[name=\"osc-sort\"][value=\"desc\"]'\n        );\n        if (newest) newest.checked = true;\n\n        modal.querySelectorAll(\".accordion-section\").forEach(function (sec) {\n          var btn = sec.querySelector(\".accordion-toggle\");\n          var content = sec.querySelector(\".accordion-content\");\n          if (!btn || !content) return;\n          btn.setAttribute(\"aria-expanded\", \"false\");\n          content.style.display = \"none\";\n        });\n        var firstSec = modal.querySelector(\".accordion-section\");\n        if (firstSec) {\n          var firstBtn = firstSec.querySelector(\".accordion-toggle\");\n          var firstContent = firstSec.querySelector(\".accordion-content\");\n          if (firstBtn && firstContent) {\n            firstBtn.setAttribute(\"aria-expanded\", \"true\");\n            firstContent.style.display = \"block\";\n          }\n        }\n        return;\n      }\n\n      modal.querySelectorAll(\".year-btn\").forEach(function (btn) {\n        btn.classList.remove(\"is-active\");\n      });\n\n      modal\n        .querySelectorAll(\n          \".type-list-issues .elementor-icon-list-item, .type-list-groups .elementor-icon-list-item\"\n        )\n        .forEach(function (li) {\n          li.classList.remove(\"is-checked\");\n          li.setAttribute(\"aria-checked\", \"false\");\n        });\n\n      var newest = modal.querySelector('input[name=\"osc-sort\"][value=\"desc\"]');\n      if (newest) newest.checked = true;\n\n      modal.querySelectorAll(\".accordion-section\").forEach(function (sec) {\n        var btn = sec.querySelector(\".accordion-toggle\");\n        var content = sec.querySelector(\".accordion-content\");\n        if (!btn || !content) return;\n        btn.setAttribute(\"aria-expanded\", \"false\");\n        content.style.display = \"none\";\n      });\n\n      var firstSec = modal.querySelector(\".accordion-section\");\n      if (firstSec) {\n        var firstBtn = firstSec.querySelector(\".accordion-toggle\");\n        var firstContent = firstSec.querySelector(\".accordion-content\");\n        if (firstBtn && firstContent) {\n          firstBtn.setAttribute(\"aria-expanded\", \"true\");\n          firstContent.style.display = \"block\";\n        }\n      }\n\n      var sortSec = Array.from(\n        modal.querySelectorAll(\".accordion-section\")\n      ).find(function (sec) {\n        var t = (sec.querySelector(\".section-title\") || {}).textContent || \"\";\n        return \/sort by\/i.test(t);\n      });\n      if (sortSec) {\n        var sBtn = sortSec.querySelector(\".accordion-toggle\");\n        var sContent = sortSec.querySelector(\".accordion-content\");\n        if (sBtn && sContent) {\n          sBtn.setAttribute(\"aria-expanded\", \"false\");\n          sContent.style.display = \"none\";\n        }\n      }\n    }\n    function applyFromModal(modal) {\n      if (currentTabMode === \"issues\") {\n        var picked =\n          modal.querySelector(\n            \".type-list-issues .elementor-icon-list-item.is-checked\"\n          ) ||\n          modal.querySelector(\n            '.type-list-issues .elementor-icon-list-item[data-slug=\"all\"]'\n          );\n        var slug = picked ? picked.getAttribute(\"data-slug\") : \"all\";\n\n        var order =\n          modal.querySelector('input[name=\"osc-sort\"]:checked')?.value ||\n          \"desc\";\n        applyOrder(order);\n\n        setCurrentIssuesCategory(slug);\n\n        if (typeof window.applyApiCategoryFilter === \"function\") {\n          try {\n            window.applyApiCategoryFilter(slug);\n          } catch (e) {}\n        }\n\n        closeFilterModal();\n        return;\n      }\n\n      var years = [];\n      modal.querySelectorAll(\".year-btn.is-active\").forEach(function (btn) {\n        var year = parseInt(btn.getAttribute(\"data-year\") || \"0\", 10);\n        if (year && years.indexOf(year) === -1) years.push(year);\n      });\n\n      var types = [];\n      [\".type-list-issues\", \".type-list-groups\"].forEach(function (sel) {\n        modal\n          .querySelectorAll(sel + \" .elementor-icon-list-item.is-checked\")\n          .forEach(function (li) {\n            var slug = li.getAttribute(\"data-slug\") || \"\";\n            if (slug && types.indexOf(slug) === -1) types.push(slug);\n          });\n      });\n\n      var order =\n        modal.querySelector('input[name=\"osc-sort\"]:checked')?.value || \"desc\";\n\n      oscFilters.set({ years: years, types: types, order: order });\n      closeFilterModal();\n    }\n    function openFilterModal() {\n      var modal = ensureFilterModal();\n      syncModalFromApplied(modal);\n\n      var applied = oscFilters.get();\n      var nothingSelected =\n        (!applied.years || applied.years.length === 0) &&\n        (!applied.types || applied.types.length === 0);\n\n      if (nothingSelected) {\n        modal.querySelectorAll(\".accordion-section\").forEach(function (sec) {\n          var btn = sec.querySelector(\".accordion-toggle\");\n          var content = sec.querySelector(\".accordion-content\");\n          if (btn && content) {\n            btn.setAttribute(\"aria-expanded\", \"false\");\n            content.style.display = \"none\";\n          }\n        });\n\n        var firstSec = modal.querySelector(\".accordion-section\");\n        if (firstSec) {\n          var firstBtn = firstSec.querySelector(\".accordion-toggle\");\n          var firstContent = firstSec.querySelector(\".accordion-content\");\n          if (firstBtn && firstContent) {\n            firstBtn.setAttribute(\"aria-expanded\", \"true\");\n            firstContent.style.display = \"block\";\n          }\n        }\n\n        var sortSec = Array.from(\n          modal.querySelectorAll(\".accordion-section\")\n        ).find(function (sec) {\n          var t = (sec.querySelector(\".section-title\") || {}).textContent || \"\";\n          return \/sort by\/i.test(t);\n        });\n        if (sortSec) {\n          var sBtn = sortSec.querySelector(\".accordion-toggle\");\n          var sContent = sortSec.querySelector(\".accordion-content\");\n          if (sBtn && sContent) {\n            sBtn.setAttribute(\"aria-expanded\", \"false\");\n            sContent.style.display = \"none\";\n          }\n        }\n      } else {\n        expandSelectedSections(modal);\n      }\n\n      modal.classList.add(\"is-open\");\n      setTimeout(function () {\n        modal.querySelector(\".box\")?.focus();\n      }, 0);\n    }\n    function setAccordionOpen(btn, open) {\n      if (!btn) return;\n      btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n      var content = btn.nextElementSibling;\n      if (content) content.style.display = open ? \"block\" : \"none\";\n    }\n\n    function expandSelectedSections(modal) {\n      if (!modal) return;\n\n      var issuesSec = modal.querySelector(\".type-list-issues\");\n      var issuesBtn =\n        issuesSec &&\n        issuesSec\n          .closest(\".accordion-section\")\n          ?.querySelector(\".accordion-toggle\");\n      var hasIssuesChecked = !!modal.querySelector(\n        \".type-list-issues .elementor-icon-list-item.is-checked\"\n      );\n      setAccordionOpen(issuesBtn, hasIssuesChecked);\n\n      var groupsSec = modal.querySelector(\".type-list-groups\");\n      var groupsBtn =\n        groupsSec &&\n        groupsSec\n          .closest(\".accordion-section\")\n          ?.querySelector(\".accordion-toggle\");\n      var hasGroupsChecked = !!modal.querySelector(\n        \".type-list-groups .elementor-icon-list-item.is-checked\"\n      );\n      setAccordionOpen(groupsBtn, hasGroupsChecked);\n\n      var yearsSec = modal.querySelector(\".year-buttons\");\n      var yearsBtn =\n        yearsSec &&\n        yearsSec\n          .closest(\".accordion-section\")\n          ?.querySelector(\".accordion-toggle\");\n      var hasYearsChecked = !!modal.querySelector(\n        \".year-buttons .year-btn.is-active\"\n      );\n      setAccordionOpen(yearsBtn, hasYearsChecked);\n    }\n    function closeFilterModal() {\n      var modal = document.getElementById(\"osc-filter-modal\");\n      if (modal) modal.classList.remove(\"is-open\");\n    }\n    var currentIssuesCategory = \"osc-features\";\n\n    function getCurrentIssuesCategory() {\n      return currentIssuesCategory;\n    }\n\n    function setCurrentIssuesCategory(cat) {\n      currentIssuesCategory = cat || \"all\";\n      syncExternalButtonsActive(cat);\n    }\n\n    window.getCurrentIssuesCategory = getCurrentIssuesCategory;\n    window.setCurrentIssuesCategory = setCurrentIssuesCategory;\n\n    function syncExternalButtonsActive(category) {\n      var buttons = [\n        {\n          container: document.querySelector('[data-id=\"6319451\"]'),\n          slug: \"all\",\n        },\n        {\n          container: document.querySelector('[data-id=\"9483012\"]'),\n          slug: \"osc-features\",\n        },\n        {\n          container: document.querySelector('[data-id=\"ad2f554\"]'),\n          slug: \"social-issues\",\n        },\n      ];\n\n      buttons.forEach(function (item) {\n        if (!item.container) return;\n        if (item.slug === category) {\n          item.container.classList.add(\"active\");\n        } else {\n          item.container.classList.remove(\"active\");\n        }\n      });\n    }\n    function applyApiCategoryFilter(category) {\n      var allApiCards = document.querySelectorAll(\".latest-social-issue\");\n\n      allApiCards.forEach(function (li) {\n        if (!category || category === \"all\") {\n          li.classList.remove(\"is-hidden-by-api-category\");\n          li.style.display = \"\";\n        } else if (category === \"osc-features\") {\n          if (li.classList.contains(\"category-osc-features\")) {\n            li.classList.remove(\"is-hidden-by-api-category\");\n            li.style.display = \"\";\n          } else {\n            li.classList.add(\"is-hidden-by-api-category\");\n            li.style.display = \"none\";\n          }\n        } else if (category === \"social-issues\") {\n          if (li.classList.contains(\"category-social-issues\")) {\n            li.classList.remove(\"is-hidden-by-api-category\");\n            li.style.display = \"\";\n          } else {\n            li.classList.add(\"is-hidden-by-api-category\");\n            li.style.display = \"none\";\n          }\n        }\n      });\n\n      document.dispatchEvent(\n        new CustomEvent(\"osc:api-category-changed\", {\n          detail: { category: category },\n        })\n      );\n    }\n    function bindApiCategoryButtons() {\n      var allBtn = document.querySelector(\n        '[data-id=\"0b0921f\"] .elementor-button'\n      );\n      var oscBtn = document.querySelector(\n        '[data-id=\"37f1c75\"] .elementor-button'\n      );\n      var socialBtn = document.querySelector(\n        '[data-id=\"f01accc\"] .elementor-button'\n      );\n\n      var buttons = [\n        {\n          btn: allBtn,\n          category: \"all\",\n          container: document.querySelector('[data-id=\"6319451\"]'),\n        },\n        {\n          btn: oscBtn,\n          category: \"osc-features\",\n          container: document.querySelector('[data-id=\"9483012\"]'),\n        },\n        {\n          btn: socialBtn,\n          category: \"social-issues\",\n          container: document.querySelector('[data-id=\"ad2f554\"]'),\n        },\n      ];\n\n      buttons.forEach(function (item) {\n        if (!item.btn || !item.container) return;\n\n        item.btn.addEventListener(\"click\", function (e) {\n          e.preventDefault();\n\n          buttons.forEach(function (b) {\n            if (b.container) b.container.classList.remove(\"active\");\n          });\n\n          item.container.classList.add(\"active\");\n\n          setCurrentIssuesCategory(item.category);\n\n          applyApiCategoryFilter(item.category);\n        });\n      });\n\n      var currentCat = getCurrentIssuesCategory();\n      syncExternalButtonsActive(currentCat);\n      applyApiCategoryFilter(currentCat);\n    }\n    function localizeCardDates() {\n      if (!isCurrentPageZH()) return;\n      qsa(SEL.cards).forEach(function (card) {\n        var dd = card.querySelector(\".mc-card__date\");\n        if (!dd) return;\n\n        \/\/ Prioritize high-accuracy conversion using existing ISO attributes\n        var startIso =\n          card.getAttribute(\"data-dtstart\") || card.getAttribute(\"data-start\");\n        var endIso =\n          card.getAttribute(\"data-dtend\") || card.getAttribute(\"data-end\");\n\n        if (startIso) {\n          var sObj = new Date(startIso);\n          if (!isNaN(sObj.getTime())) {\n            var out =\n              sObj.getFullYear() +\n              \"\u5e74\" +\n              (sObj.getMonth() + 1) +\n              \"\u6708\" +\n              sObj.getDate() +\n              \"\u65e5\";\n            if (endIso) {\n              var eObj = new Date(endIso);\n              if (!isNaN(eObj.getTime()) && !sameDay(sObj, eObj)) {\n                out +=\n                  \" - \" +\n                  eObj.getFullYear() +\n                  \"\u5e74\" +\n                  (eObj.getMonth() + 1) +\n                  \"\u6708\" +\n                  eObj.getDate() +\n                  \"\u65e5\";\n              }\n            }\n            dd.textContent = out;\n            return;\n          }\n        }\n\n        var txt = cleanText(dd.textContent);\n        if (txt && !txt.includes(\"\u5e74\")) {\n          var parts = txt.split(\/\\s*[-\u2013]\\s*\/);\n          var outParts = parts.map(function (seg) {\n            var tokens = extractTokens(seg);\n            if (tokens && tokens[0]) {\n              var tok = tokens[0];\n              var y = tok.y || new Date().getFullYear();\n              return y + \"\u5e74\" + (tok.mon + 1) + \"\u6708\" + tok.d + \"\u65e5\";\n            }\n            return seg;\n          });\n          dd.textContent = outParts.join(\" - \");\n        }\n      });\n    }\n    \/*\n      INIT\n         ========================= *\/\n    function init() {\n      var list = document.querySelector(\".ecs-event-list\");\n      if (list) {\n        list.classList.add(\"trp-notranslate\");\n        list.setAttribute(\"data-no-translation\", \"true\");\n      }\n      bootstrapECSIntoMcCards();\n\n      hydrateAll();\n      qsa(SEL.cards).forEach(getCategoriesFromCard);\n      qsa(SEL.cards).forEach(renderCardCategories);\n      normalizeAllDayDisplays();\n      localizeCardDates();\n\n      var wrap = qs(SEL.sortWrap);\n      var initial = \"desc\";\n      var dataOrder = String(wrap?.dataset?.order || \"\").toLowerCase();\n      if ([\"asc\", \"desc\", \"name-asc\", \"name-desc\"].includes(dataOrder)) {\n        initial = dataOrder;\n      }\n      var headerTxt = cleanText(qs(SEL.sortText)?.textContent || \"\");\n\n      if (\/^oldest$\/i.test(headerTxt) || headerTxt.indexOf(\"\u6700\u820a\") > -1)\n        initial = \"asc\";\n      if (\/^newest$\/i.test(headerTxt) || headerTxt.indexOf(\"\u6700\u65b0\") > -1)\n        initial = \"desc\";\n      if (\/^name \\(a-z\\)$\/i.test(headerTxt)) initial = \"name-asc\";\n      if (\/^name \\(z-a\\)$\/i.test(headerTxt)) initial = \"name-desc\";\n\n      applyOrder(initial);\n      bindSortUI();\n\n      pruneEmptyTypeFilters();\n      bindYearCheckboxes();\n      bindTypeCheckboxes();\n\n      document.addEventListener(\"osc:type-filter-changed\", function () {\n        try {\n          applyTypeFilter();\n        } catch (e) {}\n      });\n      document.addEventListener(\"osc:year-filter-changed\", function () {\n        try {\n          applyYearFilter();\n        } catch (e) {}\n      });\n\n      qsa(SEL.mobileTrigger).forEach(function (el) {\n        if (el.dataset.oscBound === \"1\") return;\n        el.dataset.oscBound = \"1\";\n        el.addEventListener(\"click\", function (e) {\n          e.preventDefault();\n          openFilterModal();\n        });\n      });\n\n      bindImpactTabs();\n      syncFilterUIs();\n      pruneEmptyYearFilters();\n\n      injectApiCards();\n    }\n    if (document.readyState === \"loading\")\n      document.addEventListener(\"DOMContentLoaded\", init);\n    else init();\n  })();\n\n  (function () {\n    var ecsList = document.querySelector(\".ecs-event-list\");\n    if (!ecsList) return;\n\n    var mount =\n      ecsList.closest(\".osc-list-mount\") ||\n      ecsList.closest(\".elementor-widget-shortcode\") ||\n      ecsList.parentElement;\n\n    if (!mount) return;\n\n    mount.classList.add(\"osc-list-mount\");\n    mount.setAttribute(\"aria-busy\", \"true\");\n\n    function isHydrated() {\n      var cards = mount.querySelectorAll(\".mc-card\");\n      if (cards.length > 0) return true;\n\n      var lis = ecsList.querySelectorAll(\":scope > li\");\n      if (!lis.length) return false;\n      for (var i = 0; i < lis.length; i++) {\n        if (!lis[i].querySelector(\".mc-card\")) return false;\n      }\n      return true;\n    }\n\n    function markReady() {\n      mount.classList.add(\"is-ready\");\n      mount.removeAttribute(\"aria-busy\");\n      if (observer) observer.disconnect();\n    }\n\n    if (isHydrated()) {\n      markReady();\n      return;\n    }\n\n    var observer = new MutationObserver(function () {\n      if (isHydrated()) markReady();\n    });\n    observer.observe(ecsList, { childList: true, subtree: true });\n\n    setTimeout(function () {\n      if (!mount.classList.contains(\"is-ready\")) markReady();\n    }, 3000);\n  })();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Impact News OSC Impact Stories | Latest Social Issues Filters All OSC features Social issues Social Issues Education Health &#038; Well-being Inclusivity Poverty Sustainability Service Group Adult Children &#038; Youth [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2153,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"_mc_calendar":[],"footnotes":"","_tec_slr_enabled":"","_tec_slr_layout":""},"class_list":["post-22020","page","type-page","status-publish","has-post-thumbnail","hentry","cat_impact-stories-en","cat_social-inclusivity","cat_social-medical","cat_social-persons-with-disabilities-mental-health-recovery"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oschk.org\/zh\/impact-news\/\" \/>\n<meta property=\"og:locale\" content=\"zh_HK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK\" \/>\n<meta property=\"og:description\" content=\"Impact News OSC Impact Stories | Latest Social Issues Filters All OSC features Social issues Social Issues Education Health &#038; Well-being Inclusivity Poverty Sustainability Service Group Adult Children &#038; Youth [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oschk.org\/zh\/impact-news\/\" \/>\n<meta property=\"og:site_name\" content=\"Operation Santa Claus | Jointly organised by SCMP and RTHK\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-13T02:53:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1651\" \/>\n\t<meta property=\"og:image:height\" content=\"1247\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/\",\"url\":\"https:\/\/oschk.org\/zh\/impact-news\/\",\"name\":\"Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK\",\"isPartOf\":{\"@id\":\"https:\/\/oschk.org\/zh\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"datePublished\":\"2025-10-02T06:46:07+00:00\",\"dateModified\":\"2026-07-13T02:53:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/#breadcrumb\"},\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oschk.org\/zh\/impact-news\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage\",\"url\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"contentUrl\":\"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png\",\"width\":600,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oschk.org\/zh\/impact-news\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/oschk.org\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Impact News\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/oschk.org\/zh\/#website\",\"url\":\"https:\/\/oschk.org\/zh\/\",\"name\":\"Operation Santa Claus | Jointly organised by SCMP and RTHK\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/oschk.org\/zh\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/oschk.org\/zh\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-HK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/oschk.org\/zh\/#organization\",\"name\":\"Operation Santa Claus | Jointly organised by SCMP and RTHK\",\"url\":\"https:\/\/oschk.org\/zh\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\/\/oschk.org\/zh\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png\",\"contentUrl\":\"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png\",\"width\":1651,\"height\":1247,\"caption\":\"Operation Santa Claus | Jointly organised by SCMP and RTHK\"},\"image\":{\"@id\":\"https:\/\/oschk.org\/zh\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/oschk.org\/zh\/impact-news\/","og_locale":"zh_HK","og_type":"article","og_title":"Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK","og_description":"Impact News OSC Impact Stories | Latest Social Issues Filters All OSC features Social issues Social Issues Education Health &#038; Well-being Inclusivity Poverty Sustainability Service Group Adult Children &#038; Youth [&hellip;]","og_url":"https:\/\/oschk.org\/zh\/impact-news\/","og_site_name":"Operation Santa Claus | Jointly organised by SCMP and RTHK","article_modified_time":"2026-07-13T02:53:37+00:00","og_image":[{"width":1651,"height":1247,"url":"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/oschk.org\/zh\/impact-news\/","url":"https:\/\/oschk.org\/zh\/impact-news\/","name":"Impact News - Operation Santa Claus | Jointly organised by SCMP and RTHK","isPartOf":{"@id":"https:\/\/oschk.org\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage"},"image":{"@id":"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage"},"thumbnailUrl":"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png","datePublished":"2025-10-02T06:46:07+00:00","dateModified":"2026-07-13T02:53:37+00:00","breadcrumb":{"@id":"https:\/\/oschk.org\/zh\/impact-news\/#breadcrumb"},"inLanguage":"zh-HK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oschk.org\/zh\/impact-news\/"]}]},{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/oschk.org\/zh\/impact-news\/#primaryimage","url":"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png","contentUrl":"https:\/\/oschk.org\/wp-content\/uploads\/2025\/07\/default-featured.png","width":600,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/oschk.org\/zh\/impact-news\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oschk.org\/"},{"@type":"ListItem","position":2,"name":"Impact News"}]},{"@type":"WebSite","@id":"https:\/\/oschk.org\/zh\/#website","url":"https:\/\/oschk.org\/zh\/","name":"Operation Santa Claus | Jointly organised by SCMP and RTHK","description":"","publisher":{"@id":"https:\/\/oschk.org\/zh\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oschk.org\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-HK"},{"@type":"Organization","@id":"https:\/\/oschk.org\/zh\/#organization","name":"Operation Santa Claus | Jointly organised by SCMP and RTHK","url":"https:\/\/oschk.org\/zh\/","logo":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/oschk.org\/zh\/#\/schema\/logo\/image\/","url":"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png","contentUrl":"https:\/\/oschk.org\/wp-content\/uploads\/2026\/05\/OSC-primary-lockup-full-color-CMYK.png","width":1651,"height":1247,"caption":"Operation Santa Claus | Jointly organised by SCMP and RTHK"},"image":{"@id":"https:\/\/oschk.org\/zh\/#\/schema\/logo\/image\/"}}]}},"ticketed":false,"_links":{"self":[{"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/pages\/22020","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/comments?post=22020"}],"version-history":[{"count":457,"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/pages\/22020\/revisions"}],"predecessor-version":[{"id":30421,"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/pages\/22020\/revisions\/30421"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/media\/2153"}],"wp:attachment":[{"href":"https:\/\/oschk.org\/zh\/wp-json\/wp\/v2\/media?parent=22020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}