<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;padding-left:1.5rem;max-width:60rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{line-height:2.25rem;font-size:1.5rem;font-weight:500}@media (width <= 720px){.h2{line-height:1.5rem;font-size:1.25rem}}#challenge-error-text{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+");background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme: dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="360"></head><body><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt = {cvId: '3',cZone: 'sourceforge.net',cType: 'managed',cRay: '960a54b213c4cdc7',cH: 'N0e3RtEaJsrpM1XSpAQDZdIU2odPpze_jl5ubi8Y3JE-1752761510-1.2.1.1-lVEoGxIWQRWFfJH3LNxso.eq3ETClhrjLvi.jmh0YdFFfiGJ4mLhtTqAf3ku17NR',cUPMDTk:"\/p\/xsb\/src\/3247\/tree\/\/trunk\/XSB\/docs\/userman\/hooks.tex?__cf_chl_tk=4xzOUa5etbR_IG0qlh7SYZiWVapnCiRvDPuuyzSuyP4-1752761510-1.0.1.1-H5GB6nslrgu3WlYp_Sc6FjAu601yECZZLuz4beDf1C0",cFPWv: 'b',cITimeS: '1752761510',cTplC:0,cTplV:5,cTplB: 'cf',fa:"\/p\/xsb\/src\/3247\/tree\/\/trunk\/XSB\/docs\/userman\/hooks.tex?__cf_chl_f_tk=4xzOUa5etbR_IG0qlh7SYZiWVapnCiRvDPuuyzSuyP4-1752761510-1.0.1.1-H5GB6nslrgu3WlYp_Sc6FjAu601yECZZLuz4beDf1C0",md: '3rLC8zlKWnbl.qN.jhg4T3qM1lDct401NmsGH33wU8s-1752761510-1.2.1.1-VUOb5ImohZUuJ.vW0WsniQjVlDNMGlTJ4CMMTnfslkek9.PF4nS7l1wpCDHPuKEiFn9JPTikOtKW1YJ_1XvEbdselnl7IjMl9mFcgWfDkDyySq6AJxVR3lOI.WT0Oy6xmMduNSjmq0KCUFy4ZvLYEu4F4X2laRVJuJFXhAXdSOLhLd5JDoX83fVCD0BI.pgx90liauqillkvg9d7tPcivjTGTvR1GN4AaY9_zYHQSOj2ipVJUP8mZyx1emruoOmpGGTS90rDx9bIlOC4eBdHsjtTBCLYwEROOqb1XFeFyPDJJG7DfrAWN4C6TwW5mSvHx4Hkd2dau5FrLtf9bCadh4O.pF1ZReIBLkTs2_WYoyv8V38AnvCWMx0F719LTxfwodEyR_LLVkVftytVL7IsV5G_KNiIIL7QTY4WRaDYxfvPD80DYpzqd8a51jYzFfyEUClPXQsyy7vSO8qd7x2kQQ4nsux7EYcg9zU5mDcU9DqTUqpsBzGkBIxncsbdBuh_0VOzG_HN63iaFXm3pJVgwDu6iN2Xhb3gYyxaE9It0e4hOFeN0NFhYNNe9HgSxbRjTOdyLlPUdQk3a4Tm0kGcI2Zr4mTWjrXeL7PNe1brOpv5gwkP4Tm3EPVPjnVG9DuCxmPiG5uacCXZwoXvM_lw5O4dburBNiaOSO4WnVWeszG76g1spzorshuWZMxKOTtNNF1TJuPZINCn1.OIYiGRR2PHtkcI5dK2viUEv63ZrHKTdscDrAeovE2ITDX4WXdsCT7D5dCdeidVyM0ks_TctcNW047d2.ilM4k4c_Jtr9Wo0_7s1RxmSVf1dLmCR5VWhAcQy4dGxyrWV4xnPlyZFpDzwN.zTF906hs7JY4n8buueUaDVGfnFKUh3jhBBOgSEgrDEQ0ZUtoyKzMrrEP5P8I1pAZ119UAEy1vH2bF52x9YqCirib2DJUvb1reebHj6dmU.k8u0KNSzP6y8Q1K6rdHKtivEiYV.6EmdWz6HCQ',mdrd: 'XYoaEGnIqdZGRliPvnqpA2Y.UGn3omTFo_hlI0vIBy8-1752761510-1.2.1.1-YaE9YTEJHb1yXumQrs4ZXWnQdsMpCyWUKzSX3ubv5fdF8kMIrYwuFy2foo.p9JQNXk0vUyJ_Q7FPFcLyiGyz_F6pbn05sZx1uYAsE4tLZKm2m6ira439XwS0EAmaeIWafaHe.eGYP73be4J9UaytSK..QgAsEt8vdL9eMRYkm9dsIg85bXOmgpca3sOIlEBdPAazEG31TRRVCQMxN0cPdnR5SeYs1vbCsaad8WEzQ_t8saMY_8pbs5ZZ0nST_Oem1Z_mKgB9_wE.ezvYuzJyGlyw0SzLTkIYlkWtxo.5HzA0OGHHBPb.kVd.YOUkzW4HI4cQXgfltfcOdjgfiVVquUfK3S1wGfH8HmCA7UtA2driycgdTBCX59Ksvn04t7cVMug7vFqQRigbDMmP3PjQdDmU.E6M55iQEgq0U052VWG8sTPxxVY1VAaM4p8aIXXv.gwNBF7Lxnx6OBNy1l2C03TDK2fcxUH0hHT5gD4tgqGEe9VYkH1davd5nq2bTFDg1Ef2alY_aFlWTXasUOhuIFiqS0xOQg8J8h2jrMtySZ9vMCnSHPXi97INQVmVf03LRJHEpN4syQOCU6dDF2ZmEpL_ixJ3OVHa9kUhZypYvEjgZ93fXUGdXwg19WF6QWTDdHFgqgImD6JCzn6xyEKGP66NrTVWPwMKXbl_fMiwE5y3O8Fu.jmtvobrgtFwbVGZdDd9rhRAjZRdguF6bBlpQqQRe7VNYHYCGe3O70WnZ2FhKcV1VieRnGdnl5dp.Fgt_I_EaF8SVe4gOvZisHoJ.Oz4wMSc6GpJRBWQKirVvFbIUO_TXsuP3P6iAmYGjXq.5fbLOJ9EhnsfydRduxnayGJ9W6ppyuBvkxogiJw7LaGTQ7kC3_VsWOsQJ.AqZOzeW2bVvvtydZvOdNGAIbrwmUsNa1mzONHDmqD6Ctny56ScoIu3IsWFLBrQ_XG90qQ.pGqsEsyIZIsvHI9W0Gst4JPtsmSIltB4ZTSNUTFaOs3cFk6pgJuyJL4.SLUsZxzMTE2KUxxdkziVCqf3eMnnsmNkJUlp5uD8oN6PHLb7dGCW5imCtGaflBsArXRYS8_nsrTL8FroGrlDBHNxYAVKScMIk1Ey8sAlQrt_kWvD8kHa9_IeSVen.iWT1lwcE6W5kSGNG3jmuGtEdfNrzAmvtOMYhJtROq6dLseiOURWotUVNaGXKcRcDwTuDq2B4M7bUbygRUG5QKheQVrT_pVrhoXyposrAY6V36NoTMcj4Fz8vOSRIZ2.Oni5DiCBPbWJy28j4TZheCIKOJDh5BBgw_VtPR7RQZqvy6ZuJUdBXOzLI07zVabnELPLlbZUTcEl8CttmtKypWZiZEVdie.4f1MCNZxk1FFKjDx09pw.bgh4_xQtBidNx7itFcDZQbNTlaVAFMjZ84EfhEHUxqJARrw15ysV4QU0SF6dH1_RAtQV90CEgTHk_A3kcHXQiBlGGNS3p.oQTgPycJ_PehBDgbzRalP7aZrFOXNJ.g0aybSoKyyD.EtxAUMOG8FPqBmyJk6bgH3b2gFasC4U_Tw5oz9b.lGmsYfFr1d7SYWT5yT8YQFFQyODwQlqetevbGb3VxJbCR.TM2k_mVu0fcO.OUbRhuGxDSlS_wlvvZGCIsRfVqwer0KFJjCdAOdPkJ33PFsPMitZHdr9RmY_oRRh685kNuKAwd4XohwXXbLfCUpWamIxgRs4r3sWDKEvrxBNT_2CB5RrTIZH93re1Xyb5_3SAwE449Md2SaMJLOC4ndcswcqFjZH68eJJzsnl1oTvifH5lqZ_.4ftZ96Ek6B6AdKRLn5Q5HuUb6zBRj_QmRZcLOXwGvUsLcqLSexoxTjZ7XWgHPyzLAufICP9cUL8uuRwnCRvbZmnvtZL3wwRIRp_a9sAhltpWt6VJsoY8c6EJ2U9g5pWDijLMUXyajizlhzmxLYM1KIh7.VCXadHsHJTs05JsoZfwED7qBOJSU3frHa2wrO9zgtpJZIGWCUJe0j2vdHTqxDWSKqSws0TLkdkf6qY2ASyz.QiMGykwmSIVhSGzxXklX_s2eTbJfR1a8V99J2udaUaw21yRIEoavhNJ5eLAcq.JrimtjsQ8_onXrNV49SThVjcslNFK4pPlUkukIpTPWDx00aPV8HlGbHKN1CbqMihied1fDh3AKUfQ1OXFb1YrfdUTSaSNEquj7kswadH.2eL9CjtoLFQq5GMmp_9OZ5VFbWO94ctDSuaCjES_PUZADE.GiMQ3Xo9Sa2ha4FxJ2Rr8IlowI.RPdd1o0QO_mZXWKE88f_ngM60sckoIlFG5UzCpInWscMh8uWPSbuvySgUUWnsruF.Mv0CYqhgY1eJ6I0OxtsOw6XFhBb86khPunWFfWn7sp2vOA5CJw4vWKhU6IPkRCV4FptjDbZSo29xMPHK_5Nv_6eJj.XtrU40pQ.a__WG5H.FtFmXv7Vt5kPwDT6r_qVpZhey8jAtiEPdKNxljUY6qX26U4gmX4S5tpHxrfD9U1evWuiVOIUfVeQI_Vey5k.QzusZax270TIfx7eJAkJuIqPN2JaUUL9n8yIk3TLS_z2bsy2qQ36x__hbqgAVj18Gl04qYP1UurINH5aORejytr4SpiUvMwJC1y2x9Cd.2X7Xg',};var a = document.createElement('script');a.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=960a54b213c4cdc7';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null,"\/p\/xsb\/src\/3247\/tree\/\/trunk\/XSB\/docs\/userman\/hooks.tex?__cf_chl_rt_tk=4xzOUa5etbR_IG0qlh7SYZiWVapnCiRvDPuuyzSuyP4-1752761510-1.0.1.1-H5GB6nslrgu3WlYp_Sc6FjAu601yECZZLuz4beDf1C0"+ window._cf_chl_opt.cOgUHash);a.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(a);}());</script></body></html>