diff --git a/docs/Next/assets/navigation.js b/docs/Next/assets/navigation.js index 7f79ea80557..72a75ef3614 100644 --- a/docs/Next/assets/navigation.js +++ b/docs/Next/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/Next/assets/search.js b/docs/Next/assets/search.js index 595e76ee520..886f3291c05 100644 --- a/docs/Next/assets/search.js +++ b/docs/Next/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAA8ydWXPkOJLnv8pYxTxOqbuyu3p65k0pKas1pWsUmVW7MzYmo4JQiC0GGU0ydPTafvc1xkkC7o6/A4jqfaosBRz+w+WOwwH+n++a+q397t//+/9891JU+Xf//scf/u2Pf/j9H//luypbmO/+/bvPRZU1H9/9y3erpvzu379b1PmqNO3Jc7coJ/vfZmXWtqb97t+/++7//gub0/T25t7ML96XTG7D3+Ecpx+Lx7rkc9z/Duf49WNp+Py2v0K5ndU5k9P2FyiX88/35onOZvcTlo+ZFYus/OHTn5nMhr9jOdarx5Ip4f43KKfLqvvDJzqj3U9QPld1Naez2f4C5XKdvf9smD6//w3Lqaj4nHa/QTndPv7VzLrLnM5r8CuU29diYdouWzBDcfgzlN+3b5fndFbbX8hcPv3+3/71hx8/7XM5rT4+r8qXX5uiM7dL02RdUVf7bLuPpWl/R6ZZq2K1/Pinw/g+iPZy7T7zoupM85TNTPs7O42Y+Q+//3SohcePZda25/VstTBV90tWFvm4CD4tEyGHgfp/+W6ZNabqqAIxaHWTm8bkOMlBIE7xU93MzNQ0r6ZxurAXghaOAypNhwNsEscpbEyWn9XVzDSKjjAWOgB0bf590X5fVM+ml8lDgGZ1WSr75VAkLcwie++tzfUUhxmKpK6ZRT/uNPWyE0gL0piu+VgnxE3UZCyUFih/vOn/AbPs06fFyFbdc/6IY+zTp8Wo6nvTLuuqVdTISCYtTmvaVjWcDwJpQd6Ksrzf90Kcx5FLPZqy/K4xT6Yx1UyB5cilxeqKhalXncb0DUUS11H2pqiYdeK0AKbKHkvzrXv6c8jEiZFO3L37NGpXbkklrrX3ZZkVmoraC8SDfPrzYaFTV/N6n/aiaepmz7RV9DsijTi3/vGHTwPPXLVds5p1inwnYyF6FkeBs2akXZUdrn6fPlrz2z5Fi6sfC0UzmEZR85vEITo//enTD38ceNrhrMOrtrLnHMF6i6o1TWfys3pVKZrcFktAssi62bMaxJJKwVHnxVOhB7HEEpDkpjT6prGkEnCslkF9xBZL2Fsvc4V9GAuFUPzpxx//cNhbeXjohjunGv0ng39//8PJJqfvP2mwTpjs/M2nqrSx0G9faQP9J4N/HyrtD6pKY7ITfEDdOEsfxBuMxLCZh8I3zerc3Kg8xUAiOc1wwqebCU0o0eR8pmkuq6da1X5bgeQs9QuOsU6bgsAyBOvueZU9mlJhCMZCR+nRut58DIquXtZlPf/4xTSjDQYvkCt4hBqqKjPr1yQ/mco+K0CWBpR0espspbGUu+TH6eWLdq7q4Jv0SVh+/8fDWvE5ay/2owcHssWSc2V5HsJliyXpQ4Ol9VlZmKq7qGbNx5Ls5HYC+TRs3CvK4nHRk6xluWFOKpgwovTkwymEfplPUyBrfEH5qAPMGpN15jzrsuGhrUe/JRNH0Ji3JlteZ9WHjoKSiyPZLJdwgmH6OM1z0/1sPlxXTOs9pE6hVaU0kc7PH6dlR85eJeVDqTiKLM9/NkoGWya21y/qV6OGIMRSjP9tun6BXpabOYLKFtDycWRmkwLkOKROovXifdlYJ0yQ/pFcrDXSlP+QWq116HgvNlvl/cHC2appCZfkpMBjRc6ubqcXYIaTXWJsauFyc+1rHR54KKijgyC9jWnr8tVs03/dnGnZETkeGE8eTk0tm7ozM0VNQfs0AXAn0o/I5perM1id52TytyzuyUHn0Yu9Vfr/UWPvSu/fxUtfDfuah4+p/xEVckIfff82VeN2GPEQ9reon63O7//0jxkw4/iTYl5l7oqZKf4+NW+j/ynYvVnnIjkKVeRp3Kt7etkusxlsS4YCyWmYMBhvbw0KglFy2VEVAJQ2pEJBZAdU+Xq0MpxKQTIr69bAvXifOjnHS1GWOMc+dXKOss7yz1mZVTOcxpJJPIl+XD31Y4M5BWaQbKHETP3w+LxVsQsmV8ysaeHEjG3XmGwBD7Fd6sQUz1l7Y97hdjskT8xRKSCqoxB0zYemJg7JE3M81c1FNntGOQ7JE3OsbanK8H7/wxFapT5tmszdl+RaZZ88MUeW55sEX8rMPURiaGyhxEyLbImSbJIm1v9WdM/3QXMqUvJIdMqZlSuWvNXsCx/ettNe98B9dx8lNy3+DjfcUCC5z37r/wg76W3q9Fav0li9Kk1NjJaT/521H9XsvGiXdWv+B4V5GEo9JKGK2RUa45zshdG1ulUJTHNtUl12fQRD3SjraieWprJsd3FVtF0fWqFwFgORxDz4Wi7VMm6sHXcN9VGcweaoTNskjlTqenl6gqvl6elYtXJalrsiKtZIhGRiulILVR6Ppcne9HU0lkl9drUo4LXKNu2R2ke18LeFEjMtG7M0ldr2umLH4bqtZmojRIum7k2vplrHEMC9eySRmGZuuuvsXT3gXLHUWzZhXK5Yggmjfffs9O5SiLXe/ZruvtkoR/ym2R4z4MbTWKX/rpNflzfyeawyOOaZIAGjne1q1sY5+zRDEc5jiKjYZn9NoFHNTgeMjGf2kvGRzBaKPoYZ6qls9LLTSdVxy5R+ZcTyGCIiVtnHAkQpj1ki4pOpPuEY3l+nkuHd/prQ8A5zVBjeHWaI4R2pBAyvV5ff8I5UhhtelwQ1vFY1qw2vRzNmeEcQcYbXWxOw4bU7YKzh9ZEJhneMEmB4kZ7KG167k+oNL6Ffa3hHEDGG18OCGN4RS4zhJfqEY3j/vmqklxYOvyc0vuM8Feb3ABtigC21gAkG9PmNsKU23AxTNKghdqpcbYq92jFjbIHEmWOgRmCD7HbKWJPspxOMso0TYJax3ssbZrfj6k0zyaA1zhZIjHn28iAG2uKJMdFkH3GexOkPDO/NxbuZrfp+KN0Hp5KmM9189op3csjShDzewsP4bbuSwn+9m4cJv+XtYUQve0uNpr7zrWHCrn7zeHE3wHW1B18EF4dA7H1wFbNwLVyADLgdrh4r/CVxcZjo74r7yLRXxnm8mJvjGkrkAjlPGXOP3Nf3bLd09pxVczNdB1UKLslJls4d0VnjrsgtQYAbYiD8Lkih3et+GIhg1yOxgW6HbRyty4FZIHfDYEW5GkVtoW6G79qRLgZn5d0LB6d3LboxwLoVvvurXYpIpHQnDFaEK4HpADfC0EW4ELFvOe5jfYF6/3rJ5nRW8iNs+oQORdah8Cx84UJcjAcL8DUBPH6n48EK9z4ILeqGvE2q9kdqOswxeUDjPFRAjcKuyj9oYn2Wnl5wXj7cAC8WNrp4d+YfWHq/BjFqHZwHNMbTqXkRl+fhjfF9UB/1OEHc/R3X8SVweeLwdJ6oxDzMAIvMISVdBFZqnmXWdEVW3gtPh/NEtnA4U+h0JWaiItYL8JIsjxLxnqyGUX5VVhp2IW/LRo3B6CF4PFbxtVmxjfVvzmq4uJdneSTt+7O6Mamdsh9hsp5mmp5ygp58an6kSflxpuPHnIgnmoInnXynm3annXAnnmofZZKdeHp9lIm1ekoNnJqLIsebZMecosulTDBpCzpVD6RSu62Up+woc6AjS3LqHsQY5NpSn8IH1m6oszvKqXxYGXD3l+aUPnzswQ4x0ak9TBrpItOe4gdRBzjNtKf6cN+l3ejZ+jEwr+scJEvtLu2stS5yWIJgt+hAoK4Q0g66Pwci0uXRbCo3RzROmGsDWBTuzMFK4MKg2tK5LaprJ3FVCKvPPblwoS4JHQMeN0R1/0DXwxAFuRsHK9rFAHSwW3Hool0J07cc91EvlllXPBZl0X1I/sNJl9CB0HkrPIhbiBAXwmAAPkSh3+9EGIxwLyLRoW6EbSK1H4FpMEfCgMV5EkWNwa6E7+SxvgSnFZwJhxfgTXSjgXcn/EDQ+xORSetQGLAYjwLzIS6F4YvxKWIfc5zK5lD9/TlbtZ28LCFSJnQsXO4K10IVJcS5sCiAe1Ex+B0MixLuYmRC1MkIzaV2MwoizNGwcHGuRlVzsLOROn6su9EQCw6HRwxwOdoRwjsdaXDo3Y6HS+t4WLgY16NgRJwPyxjjfjx9jnZAl9W3VgzVslKldjxWzlqnM8APdjg2AupsEN2go7ERIp0MSaZyMG6zhDkXP4nCsdhQCZwKUlM6h0J06CTOBCD1ORIHLdSJgD3f40CITh/oPGieIMdhQ0U7DT8b7DBstmhnQfcp21Gcm1m92H25UHAVbrp0zoLJG3cXRCECHAaH4XcZGv1ep8FhBLsNkQ50HHwTaV0HTgM5Dw4syn1oagx1IEInj3QhClreibB4ejeiHA2sIxEGgtqVyExKZ8KBRbgTnA9wKBxfhEuR+5jjVJri1UhXJAcJEroRK1OF/xjwhjgOWzHgMRCNfldhKw73ESQP6hzcild7Bb9+zB3YKHF+AKkV2AEQ3TPW8gN8gsl3gAJsPdiPeSNPdGG9dacptGbdRomx534ixJDbRDEWnO4rtukWjHZicx1iqGMNJmAqvTpBoyiZQ50OyPCBJk9bOtS4acyakoE3YKLp0vYd3r2rHHuEKZSNoF+T0txBhk6nFTBpkDHz9xDHbL0vi8bkU+8+BpEwoUljMlcYOKIcIV2WAwE6sIbAb3A5kOCZqsyHGme+obQzVwUPZsg5tKiZrKrWYKMvdPfIma2GV3AQLKB+pqsdF7yZF4aEeubrodK6BA4tYiasIETcB0cYMTP29DXb1fx0dif4l92v6ZzKKEfck+wxA9zHWKXfZ/h1eR3FWGWwdyBIQJdgV7PWD/g0Q8Z/DBFl8f01gZp5pwNG2nYvGW/QLRS9FYd6Kmu6nU6qtteUfqWRHkNEWGYfC2COxywRNpjqE47hbYr8y/TseVW9SAbYSpXQEFM5KwyyjR9imEkEwEDDuv2GmkQIN9g8GWq4mWZRG3CQBDPkJFScQYdrCjbsXIeONfAoqWDoabQAg6/p+bzh5zq93gEIPFpHQELFOASQDXEMJFuMgxD6FO0ovO99O8lSu4rw977dEgQ7i4D3vhXaQXeR7r1viU3lMBK89w2zKFxG2ve+FbWlcxpHeO8bZ/W5jRTvfevGgMdxJHnvWyQKch0p3/uG6WDnkfK9b7Fv2e7jsnrNyiI/bearhak6wYNQKdM5ETZ33I+QRQlwJTyK35voGLwOhUcJ9ikeQtCtSM2l9SwaIsi58HBR/kVXc6iLETt+pJdREfOORkDU+xr1CGHdjTg41B7Hx6V0OjxchN/RMAKuh2eM8D6+Pmc7oJ9N82iauhU8zyhJOpfjZov7mjF1gJMhlPu9C6jV61YI5cH+hGMCHQnZCFoPAjFAroPAifIZYO2gzoLuspFeAmPk3QMFpfcLeN9mHQLdrdWegCVRugACJ8L2Q1SA0SeoIqw923dsM39dtG1Rzc8ak5uqf/peMvhM4nSmX1KAOwGuTAHuQATyOwY1iddFiEDBzsLPCboNTwNqHYiSC3IlImKUU1HXIupefMMi0tFouXmXI4PqnU/I+GHdkG/oqB0SQKd0TSJihJNSkgLuSiSNcFxAX2Rc2LlZmio31Ux6QI9Om9yBUfmr/ZddIGY45vtk/JdTJCxHPhmZ31DQ9eQPo/dyaB08CQL7d5gDde8kTqx3R1vN59yZzh3o20EqjWsnAVN4drgGlY6dMxdp/Lqmd/qcJ9cxQ32nwBbmOknAeM8JcuKOk+SM95tCD7Xd5o3p3upGimIbpkjnIp1cccc4Qg4w9q5qv4nHdHoNu6s62JwzRKARp6pfa7oRAshguzBRZhqrGdQ4kx010iRDhPy0iUDSL6rgHs06A7Izq10Ax6E0/C5MhLlHmAAj7zJFmHauzzAG/WuxMPVKihggEiY3707mais/Kke4sXdBYJuPEaCm3wWJ9QAMn84RUA0V6A8QHo1bcNFSeAes1pROguzuaXwFxOt1GQRgsOeAx4XPgZBDItSPcFRh7sRFi/cqCCHuXFzCeB/D9TXH1dTd2aZ/i++KO8kSuhkya4WTcUoQ4mJoCMDB4Nr97oWGCHcuAhvqWrjGUTsWlAVzKzRWnFPBawt2KWzXjnUoMKvgThi4AGeiGgO8K2G7v96RSERaN0JjxTgRlA5xITRdjAOR+pbtPm4vz88Et7H/OZ27GGeJu4kDaYB7sJT63QKgzesOLKXBboBiAc2/U9las+/VDZl7CyPKzAO1gZp3tytGmnU/G2/ObRi9Gcf6LGu+3e6qNtskgdJcWxgRZtpLA5hniybCLJN9wzHHy22/828dkUkTmmk2e4XJJksTYr55GMCU6yj8Zp2HCTfxHkbU3EuNpjb9GibMDfB4cS5BV3uwexCHQKyrUDELbkOADHAh6rHCuxNxmOhdi49M62Z4vBiXo6FE3A9PGeOKfH3Pdkt3WSN+OOjwezoHZOWJe50BbICrsdX6/Quiz+tUbLXBnoSkAd2HW+Van+HXDjkKGyTKOyA1groEolNG+gGAjjf+Do7e4oO9lzXzRMdV23aaQWnQbZAIK+7nAUy3zRNhr+k+Yhvp+1XVFQvJTA9TpDPUTq64qR4hBxhrV7XfXGM6vQbbVR1sshki0GhT1a812wgBZLhdmCjTjdUMarzJjhppviFC3oATSHoTDvdo1oiTnVltxjkOpSF3YSJMOcIEGHOXKcKcc33GNuhT07ya5qysW/Fo10mWzrTTWeP23S1BgJFnIPyWXqHda+4ZiGCbL7GBhp9tHK31h1kgF8BgRfkBRW2hzoDv2pEeAWfl3QIHp/cNujHAOgi++6u9hEikdBUMVoS/gOkAp8HQRXgOsW/R7sPrOI7iMsKdhThk1ub23rTLupKHjm2iBzJxBL115S/3EYXfJ4/T+9Z3iLO6mplG+pyJA0DJRbfBZfVU47W/TR2ntX4BFa4TqnUpJyMB05A0E5B0U4+oSUeC6UaqiUbaKUbSycURphVxE4oUU4noSUSS6UOaiUPKKUOayULKaQI4QZiactMzvW5lnDL1lIHIXTt3sIoSbN4pFNTOswyjodqYrJWNB8Wwl1L3BbRmQDdEwUX6I6zefI6J7kRhHgojUrgqCi6Bz0JrTue8mOGYxIuBxD53RiKG+jXFCPE4OGZwBHo6nivI5VFw0b4PY4SdIMUY7Q35Pue4xS4rzV1TLLJGer/GSZbQIZJZK7yhU4IQV0hDAH4Q1+53NzREuK8R2FBHwzWO2sugLJiLobHi/AteW7BzYbt2rGeBWQW3wsAF+BTVGOAdCtv99d5EItK6Ehorxo+gdIgToeliPIjUtxz38dF2RvrOzCBBQpdhZapwFgPekNWKrZhYpIA6cddk6wScEqLR745sxeGOyF/rggtyG1vtfPz6Mbdjo8Q5HKRWYFdDDIlYJwPwCe7FAQpwLGA/5l0K0YX1zoSm0LoRGyXGgfiJENdhE8U4Dbqv2O7ia1aU2WNpzlZNW0undUTCdO6Dyxx3I1Q5Akw7C+I38SoCr6lnQYJNvswHmn6hobQuQMEDuQIWLcolqGoNdQ1Sd490ERpe3lXwgHqXoR0XrOuQhoTahXiolK6ERYtwKQpCwLWwhBEuxtPXHFezHYfeiEIiYUJXw2SucDVEOUJcDQcCuBoNgd/VcCDhrkbkQ10N31BqV4PzYK6GQ4tzNZpag12N0N1jXY2CV3A1LGCAq1GOC97VCENC72pkKq2r4dBiXA1OiLgajjDG1ch9zXE1TVa1mS+swE6V0MlQOSs8jI0f4l5IBMC3wLr9joVECPcqPBnqUphmUfsTkARzJiRUnCeBawp2I1yHjvUhKKngQGi0AO+h6fm86+A6vd5vCDxap0FCxXgMkA1xFyRbjK8Q+pTtKL5V5n25fqpsc0y/C9QWvIYoks6F+NXg/kQuZYBzAeD8niaQyut2ALhgH4Qygw4JamStdwpihFwVgBvltwJrF3Vi2JCK9GhhZeDdGwKt93XhY491fNiwU3tBmFTpEgHcCP8YRA04S4A6wnPCfdd2o79i14OcZOncJZ017iLdErDBCO2q7FQQe5FA/bBbZvT7XTFceuAGHAPB34PzdkuYTr4dx3YR4o5cOibw5hwDJ9+fS0cp3qrjW9S5W5eOiLtxx8BY9+6iOLQTTqnHh0wyVf1d3dePxAJNIBmsqEmjorbQiSLvTCInhzgrPyHk4PSTQN0YYCd+fPdXT/ZEIuUEj8GKmNTBdMBEjqGLmLyJdD/+aQ/npLsfz2iKqjPNUzYz7e+YpOKsDXR+oBbFBXKuXAe0P/344x8O9fDw0H0sTTzQyT4jFdeJWzLEysdinvS5ff9DPO2u2PyEYmgworEJa3IMbGcGmaS+xScYEtb4aAqXosrFtxNSgQ9meiiz8MqC3wzEDy5nGhUBQM0uUQ5uhqk0i6Mp0lMxXzXm4n1ZFrOiuzdtvWpm5jqrsrlZ9FnuIJ9W1Xou1P4OkJJdxmA74fSx7Zps1m1iihzfOf4Zd0RnV7fTCyS3yS4lXZsWHqOtLeZV5jp+St0+qePpl03drfdiIP3WfK3IIe3rZMqSErsR7TKbubNVSuEwdZzexmT5XWOeTGMqULkjEk+wHViw+kP6ON2taclVFtnF9mnjdM7WsReQyn3SOI0vRVmCGvdJ4zSWdZZ/zsqsmoF6LQGt9uGq4XH11HfN/KxeVe4GI6XclojR3vfOz9v8zuvZqrfa7n4H168pyRiatmtMtsC69y5pjL7nrL0x71itH9LGaKxQdVW8rq75gEt3SBuj8aluLrLZM6TxkDZG49rk4MZJWAKBdVqfNk32gdXpPm2MxizPNwm+lJm7FUPptSVitC+yJaRzky5G01vRPd/rvTsploJD4+Ndmbg6f+8/kXE9BWv+kDrKD2Xd7Hla/B2r9mHqOP/z1v8RczjbpJH2ooLtRRVQutGK4L+z9qOanRftsm7N/0BqH4YiD3r94m4Xrti3vWXlYBWUqfxNqsuu30SvG0197GQCKsQ2pldF2/X7+KgpHaTHtmUxEnAWrzhqQPWChrW2TWm87sYs6lejagBHJGldPD1hVbFOl74mTstyVzJ0zk2IpeQqVTjlkSia7E1ZL2OBlCxmUWAz6G3CY7QGvjS0JVLSLBuzNJXOfroyRyC6rWY6o0LLJe01r6bq+v1/rP+OkqfkmJvuOnvXDSZXJiVRG0DkykQSjbae80VB+OL+r+JG83haWS8WGTWP3WczOSRhJjBrDnaTqChzMlRnoGGYKEBHuw7+8ykZpQrWMu2ybkU0vq1nny5A07KoiPXyQcP294CcN274W0uZm0P+o1QBWl6zssiz/hSn3D4iKGkjUwdo7T3IedZlj1lLGa+DQjthUD0uy6npfjKdvz8QaTGNo7E+nzdmvo7g4U6a7BTRh01khsR5k2jIHG6GYVksTVlQK1waY5CeqU1BM7KwptV61taoTnJzitYo7k+h+sz7sswoZ0HrPCSP1Jvl+bTL5nD1DtJHap439Qqu413iSJ1lQU65aZ27xNE9qaO2rbm+1En71qjOegWXcpM0Ut+yqf9qZrDOQ/LY9qzrF7wT7VNHam1MnuGF3aeO1Nq+FHBJt2ljNdYNXMpt2kiNq4resqV17lPHWiJT35gMddiTQ/LoftTW5es6xiUrdp+uvl2uQ2Dw3iXm4cwB9jEg/xQ6KcB2gfW0J9KP3/+w3TX+/hNe72KO4o9sSPom1W9Z3JODzqMX2w2r+0c39q70uz/84Teshn3Ny52BOkv7DSvkZIjxW1eNL4BUN6lNUj9bnd//+I8ZMFDUHuNC/YF7wUYbCOajoax4vkT6hRA/GoOO8ktE4wv843orGxmQkIsNFeChqEiBRERskCDTo4k4wUQkXOgguylgRw8m4uACCmkOIqYwEYccZsith5hIw2AmRfAhjcTHHyZhAkMS+bElRyUmYeQCFZkh5sYqJqFgwxdpDCqCMQkHHdTIOImjELChjjQEFe2YhIMNgKQ5qBjIJBxMWKRgeK3IyDStwgVLMq1CxEsm4fCEULKbqCOhxExIuCMN5ol4TEqnnNlIcZBJuITQSG6vloqOTOM7+YBJxm+SMZOJfKZmT46IpExy+uQLd6RphIjHf8T2lzIO0skkUSikBEdHQ6YylXwoDWso9VE08CEJbHtSLWH8wZKc/mMYYl/IJDfAw6Im4XqhAieZatHETupqRQ6flGomLIISP8BUQgXEUcI1JYZSMnUUFE0JH6IrTnd1MZXa9lEtegMjK/HDWU9wJXdIGxhfqeSSQyxFtrAoS7g3CYGWTJ8KiLXEDyk9wY3cYWVgfCO8XRHGFRx3KU0YB+FYZ/2uVlmuE36tX4zr650UYjgW+nQgnSv0aqCLHDCRYvSHTKRgHmIixWAoJlIK7cREitWvmEjBBJ6JFMMSOJHC64WYSHHVophIKWtFnEiJNRM0kYLp+IkUA6WfSOE1JU2kuDoKmUjBROREiiFRTaTU7UNPpDxtpJtIwUy+iRRDFTqR0nKJEymZLWgihfcmfiLF9Sn9RAqm8U2kGKTQiRTM5ZtIMVyhEymJazSRes6quZnSh1LDH/Fo9vuL6d3tDRHQ7mQ3GSRlJk1DPEbf9e09omubLFzP5c3lV0DPNlm4Hvo2gKtIfngK0vSX05ufIFW7hOG6Lm7OAUWbVBFa7u9v7xE923Thmu4vpt+uLx6+3v58cfOwqR+kgIxYOAd7b8PV7b2ygeirmQBWV11NhKmqS7dJDJRtlzBcFx+15KqjA5a0GsnDBVeZeIyA6NlEEXChx65CO71KsxPl1K4WhlmjO5rHqXV6kfgGV6PvcSZEGxnFQHSaWD1crALRZTyPMmFtx0Rhueo8z7chZaPjDhhVwmNMiC4mBocbCFFjz3Oy6eoEn3FhdEPnlz6lvqPLkXyaU0sOyf98C9Lg4paaozloNw2goDbSXK+p2EODdEL+TLdzBuj1bZoRlj9svwypA2qrzK0CzS4ZXAPyBhlTC2F7YwCTsC3moATsiCG1Im6GufURtA8GcNBbYI5+3e6XogWYjS+2FZR7XgCJd7vLnWOH7nThNPImF0cUtr+F9BJha8vtKwG7WgCDd0PLAQney0KmTmqa4B0sZnI13LwqC1N1U+bWwuhXfPuq/95HlVPTXie/ySAtMzkZETIaZ+tE7PLMVWsLROhuV8tl3RBR8oTaQVqdRmxSyiv0Xw4dC+9BuQrPVm1WntVVu+6VMzfOGIE5obLR4Pk+LVGu2s40fRAq1imGySO6RL3cfqoI1WwLROg22w8CIGoHaSM05uYpW5Xd4BvAioEoCUcwdYf8EIpx8hhjUGXL9rnuLqrskbr2RI0KRySm3OyVW6rU3ouxnE7/bUlCnfDlA1DP9l0q2FtNbIEo7eINMkI59E49WsPtXVFVmN5BWqXO0cStyhUVPUodoTXLX/v6utUaUEYunuRM50JIqZhW+NsqI76BSLXALmWEtqKaNetvxwzM8c1q8UitJIh+J0lHUX3VWXNbIEJ322VNp1RPyEQQ9E8XFloESihmLDzW6logZCIIuvrz9PYGcmq7lBHa+qtUyuK6IhFe3Lfj7apHt7wTLy+Um96jDLBdb3HfmbK/AZsrSJfAeoFm6xnTSu09U3o1m8+IZt/us8sQuv0M1QO1/0xUg2YDGq8FeQeaq4mwLWiEStiDJmahx2GQd6GJOgnahoamSOQ+NDFBUm1Ea9qB2Ynm20K5FY2wePeiXZrgzWgFj7wbzTKFbUdDvUXYjyb6TMCGNELh3ZF2UYK3pKFprp4neFOamwANd6X5V5cPP+H70fmjL5vJOgkzaznAsMvz/HH0BVtei/hZWkTTbJ8G0ugkD9csBHdZSoHQLkCf9LiTrRH5ziOqU3gUglILfPsK0fzYCtumltpx2nCdw68Ge5VaicO1PheUs7S0bROFaxE2Qi1VwC4oqW+8RdGaprulYkgtbcOUcdqus4o4dSHVbZOG6ntclS/rbxr7e+YgZai21bJ/Sh+py2HKUG390/bZDFI3ShpXOqjtRklD9eWmNFhtDlPGaYNKN0oa3noV4gX3yYLL1dTu09JOiTaJQnU8Ff2811+YQ7oYTZCaCB1skLulxhvi7reG7Vm2XFJHI7YtPCQM1TVrTNaZyyo37/6p1yhtAo3UkoXXKXwXBOvvWCmHKaO1ASUcpw3V2C/EUY3jtOE+OzfvF+9FSwWKOE57mDZKY/+toGaRIUupCSEQqtu0XbHIusMzkMwWiUXAigWPnl6ef8fSXS1ZyYN7dNF2RUV8AsHpzoeEUe0M9OMiug9vPc9plZ+vnTfqqoYC8brvN9MwhfKDRLz2b+tJmUL5XiBUd7Z90MOvdJgyVNsb+TEWZzEofoUF6bNFV2Rl8XfzraqbvH8w9vOqfLn1T7IkyXia20AWWy7KXmFmKtL7TU3WzJ41PtCWiJvRDHIDZzVjiWTa4VlVqvL3MxhN6d30cWtPjW5KQqF9uKd77m7Cnj/ie7jT/z39enH9cHN6fTG9Oz27eDi7vbq6OPt6SUQFbPOdyDJ0Oc4fPQSXN+cX/0uhnUgfqPnu/vbL5ZWm5KREoPZv04t7hWo3eaDes9vr69Obc4VqUiJQ+39MFYrtxIBO9NWsnSbkmSy+UJuodz7z3c9AvvYByPZjlOShxC5/K5FeC7epsFPg20yQ8m7NrK7yrPm4fWHzH6fR65CONHY6kKMMnw7hCGOoBji6kDRJRxY7NchRhaRDPKLYKYGOJiQt/NHWToX/SEvKnz+M2OXvP4QY5+9OaYQz0/34dhOqdTHfWj7YJ/lDy3zO/DJnl7d/eSPkTn5oep/z9ld9bfjrPKa22y4jdi321mj7qzbXfjJ/6AR8/m46rabNvjvQM4mEWl39NBnQ5CQL0bP79LKoZZAovF/xrTOLahlpI3tsLuRpv9T27He6D63u/Ui3MDZMd9fUT0VZVPMr82rcr4gdvLabUqttialykmn1eDdtd5rgzVpeF73Vs3eq4haP0O6r7buzZx5XQSRE5rODJeWXotp+JsRRcvgJX2LSr4ZZOSk/Hj5A5EYi+e1uW6v80W6/Fupr3bYO6TPdQDnIrSunHOLWlV8L98FEW4/v899+TU9F2RG2y1a0TxaqhwyHsbWI4TBA6wM1Js2AkP7l+hG3f/F+xK+hMd2qqX42bmSBrWeYMlRb+1y/3ZtZ3eSXrgWzFVqJQ3Vmef6fK9N8XNd58VQAfY8QCB+9iwW1NeCO3126iJ5y+pYVHfMpIaLTjJNH6MVVRmvjvvdu6/J96B3oqdQ3yJ0eKn18HOiZZVm/nRftyzdizuv0ynHi8B65fXsV6JOHlKHayoK6RWBr2qUKbivqC/VOW0mfpkfspOKb6a7pPMbH0klo6MqZhi/68+gDZb/Zd9GPUUDvB9FTFDTwS+jHLK//E+gJCx7+7fPfpAqAj54foTICv3Z+lBrxf+b8OMMA+b65Y/IjP2xOewXvGx02huJT5ohGflfdVkzvrsfq95yEuL0u6LOeKAl3iEFhaD/hiTBwXyZ3+qLyk+SIbuYVXGKTQ/MRckQz8/VxW7Pys+OIZvG1GGdiGfKhcf9cUP7CuA0R9mlxZEaKfFOcGgfhHxMH5uL0C8bOcNB9PhzY72He1Xa2fJQfDPdrJt/YdkxxWp3ce9u2Wu1HwYH9O+Zr4M4GnvIz4NCOLrBM1n74G6hr5ovfTl0rP/UN7VxtEpDf+Ca2rUapU1EAX/W2USI+543zoJ4/9APegB9gv5bt+AD1Z7IR+09+H9s1+KoPY5N6Na/o2PoDP4WdbnND95jOQDrN+/E0jv5z15C5YN+EIIyF+iEIPwEwD46eAnvf8XE1JjU/nhd83OEX9HwPUHbi7R6n6IqHe9CSi6/20KUPerIH2VxGMfSP9QC1Ib3U49RDyDM9wLEtsruueqAHr3Vs8RP2NA9yECS/y+MeCIU9ygOTiC/yMDRBz/EAvYJ/i8fpG/qHePz6fa/w2BChT/AAi1ElSejjO/SkaRBS81NT5F+mn1ezF+OOmeGPeFjN+gKEP6/JLh093RmB6ePnXXVIJD2j1Lrobqpvy34Dh/kEpKuaEEmn/9eieyZiFvwUe8E4lvP6rVLXhiMUzpDTV1Ndvbl8JRXRRT6k4GoSn1IIq9fPH+RNC6R296LhPMyzG652z8MbUHtST28QrSk9voHokRYlrrqQZQnU0u7ChGhTfGmC6SQWJ5RWxfIE60XiAoXqTUFLFKgOiEUKUQWKZQpeA+JChauFoKUKwsQvVlwU/XIFqhVpwULUR8iSBeEgFy2uftWyRdMC9MKFbwXd0gUh8S1eXJbQ5YuCRlzAsERBSxiol/CLGKKv6JcxCINvIeOChC5lEBrfYsalCV3OMDTcgqbfXAempYdk+CKnv2atyXSyFfDPVwbQ/C0xIgRUUr6TSKHdeKbAtm4DzoX9mtdfGFDp3kkEauf61frFQ6BjDdLhPevRvxa3853sZfwFHbIzBLPnVfUiD2OHYC+ThOCpKD3m1QHYiSTT713xkAjw8geg4G6/ixC+K/FKhpy6rCQC5NLFJaV2IoZN1C18cSpkDPTnop8/Om1XdGSTED2unr7W065ulO0xkktCUppq3rmBFiLFXiYJgbxodpTzFwWUepe1sitsBJLo7m9/K5t+JxKqHzrV9hP4Tra5HDb4bHX0aS48kxER6GSYRwCaJxa4XnVtl1V5Uc3vzd9WhnoJEmelc0tPbZqmbogIRpx0m4MV6pSKbz2li+I75JCeTny+RESE3jRRmoz5OvmXolSO2pFcKIly6u5A4HN3piYGk/er8csW2xMxG4dMFXudnM9UebOcLoP+ZEwAQo7IfBhjf7mRUiDsJRJoZ250C9o9l7tV2rnZu6DeN3f36QfeGZBaX3xyQFV25hqMoDz2Roy3aryXYwQ4xT0ZJQd/ZUbA0d+eUVJ5LtIIaIF3agL4OCfrgdPG2irJuEs3Us9X3r9REjFXcWQ7oLmVo+RhLugIPMq7Okoe8dqOQBV0g0dlwOXLPAJa2L0eFRt2xcczFsNv+6hYmYs/0pDU3QFS0XDXgQQc7c0gFQ95SUhyPkcj4a4OCTDaW0QqHu5CkTR/VN4t0k7oiGtGPkOuuHGkay3m8pHUWsp7SCoe+UqSQBV2O0nFRj3GJRDZ73Il4wAuTAlYEXengigDZnihN6qUrck9LCS2KfXGULq5AnvhS5onqO9+KecI5DUwcVKguhGmWpJ6LocJVIH3xHx00OY6jOXbY6czSnORzAupv1OmNf1sfJBs+NUBQiou3Tow5RLQG+0pchzLsHviP0XDEBQIqqsnIiJUqiZFaGhALYkxot6aCgoWVVHyUaPSmvm4TGIcqVRnIQGlKjIyslQgUoWYBrWbelMhLOhUxeaLPpWODQLDUEP4xHhUP2NQYKqut/ERqlKf04eqqqh8MasCWmjwqm6bKJwvNJzVO4G1jjC336ISji9HKVIcXboZBhxbjrnDjiwJEPS4klOPHlUSqoFjSkirdEhIqEUOCDm94OEgVc/eg0GorMKhIKE0xYEgWxXQYSABpTwIBPXLh4AERtgBIEgDHP4RSBEHfwouaUuIgQrZCgKJpMM+qkcHHPSBJMIhHz2etQd8IIdwuEdwBBzsgRzeQz2CJvhADzK4/sM8Ain8IA9iwg/xmLEVd4AHMQqHd9QQ0x/cQRTSoR2BEXJgB3Gwh3WUkzgKgXRIR0CEHNBBHNLhHMERcjCHTqSYQznO8CoP5LBWEQ7jqFYJOIiDOPyHcARN+AEcxMQdvhEk2oM3SD946EbgRB64qeiUM6uYgzaw1aRDNrLtQg7YMN8tHq5RfjvoYA302eyhGumk1Qdq0FIOOEwjaCIO0jgq+BDNi4McoI0zSXd4xsKFHZyhplrcxKQNddDGJcSDr6NSLaGgQzJS/zEMMXA4Rg7w4IMxrF6YQzGqWpQHYopa8R6GsTUTfBAG0cmHYNQa83gs3sMvqo5CD74gIvbQiyBRH3ip2ke16A4/6IKYkEMuasM54oBLw+U93OLZgg+2sN4kH2pRfSrsQAuiQQ6zCKSYgyxsuySMK+YAi50wDg6vrutqXp+VBXXCMvhNPLCyPhZXVdTn9uzMJtuEwlfAhmz6oylKofdQilYJHQw5+nxHQrSu8VRw2Q/fa9NledZlfpVOepVmew+9eTXN6bLwqx0mjdC4qKui23+EGKhhVyBCu3SK4Wjmzi/UWsVryY5a6CoyXFph34MsMLPbodb92NYV9xlER/E4cYRW/jNwjk7/F9uAsfu4Kl/W95+BMg6SBuvTGt4oXeTeqqtpmyxYT/7oV7JOE6xh/f7WlDkudA3dOHWw1n6TDlY6Thyuk/zGvKtN/Ng84B89O1COQmHvya8Z2mXyqPTtLw3FsZ0laQfH9dkBezdAcyM9S7FfA2lEHIlqjwbQ6tmdIRxZ0L4MUn5iR8YtvmIvBi69uAvD1EDQ/gtAxO+8OCD6PRekRqTdFrcuQvZZAApyh8XRrtpbUdQ9vavC1r9uPwXg8O2kOCSheyg4i7h7wvEE7ZsgvYPfMXH7iH6vBCDw7ZI4GKH7I8gUTMsSuifCTF4GuyG3Td5HzXxelS+3y/6Ah5qgUYnw/ZEsz7/We7m2LwWuYUJL0/MWsjDMpK1ot6kVLEMZrAE0RPUuAfEFDZ5pLJWEatR6RdUa4rksoZJ2AulZyE9e8CTOpy9ScTTZmwJjkzoNhRVaSD9+yaMQL1+mo5E2OXgkbrcjHZe44cSDsTtPCWusX3kSLlGorb1E+l5t3s1sRWze8DQHiTTWcOCX7lfVdpOTuWFiJ4i9YELmp7xf4kAzBLNNIpDhkJr2eqjWfkJTN4YborRyR0jNAG1YIMq3uxbC8YmTi0UvNAd1GqSCOjnkEgTnecxzkb2fvmVFxwSi6VCdzI5BzEeq6WDpALYoTnsyfqbqACMB9XAgFgKqNrVEovV/VjaTJRKnn776xZhB8eYXqtEXY0rrlkJMQyjk2GSagQ9NDiHgY1pp7XRIa4hmrV3YpxcecUZdIHPtj+npkbf+pArxXvqjkRR3/nDt/JU/GkJ/4w9n8RzS0kCB9/10VDqDEXLbD+fhLvtxFlt31w/nYK76sfZbc9MPp2Au+tEUynt+OIV4zY9mCbrlB5tZ8ZIfY2qD7vihRNgVP348hd/wg6dD9AU/Zljp7vehDNz1PhpCe7sPpSAv9zHu4Bj6uat9NIL2Zh9KwV3soym09/oUk2Qi9EQwsopbfXB7MJf6mPZQ3unDJ63u9TluuorfntMuHdTzk4i7c7htJa9iccZUdRMLnVx7wmBolsB7WMfZb9JFyTh5pLmEJaHp72ApVqTsYTG7HlWfFKM08Nw20bTWG9TDaT/KUBbDe7ghHRTjA9cJEejDVIki2kdXI2LIj1QrQXE/KBsf/MPM+Y9GIoYBMfUTEguE8pABQTSHKipI2zKaBVBYfBBK5AsSoplCI4WUVGK4kEgWFDME9yI+cIjpS/roIZTFF0LEn2uExO7ozhC0VKERRdJkcHB8+62qkcAiOlna0CJBhyq4iCmSOrxI4tEHGOmopBAjiSskyMhLhoQZiZWlCzTS8ZChRhKNKthIx0KFG0komoAjPwkUciThKIOOtERS2JGEFRJ4pGUTQ48kuKDgI3XNMeFHYq0pA5B0PZ0LQZKItEFIXqI/HG7brk+6vw43EF6zpsgeS9P+bv/b9z94HNa//esPP0p59rsMg/zE3AZwp6uuvqhmzce6E1/V87lprsyrKQlYNq0S3q9zUxg2HVq4n6bT07vLs6yqq2KWlcXf1630S1auqLYQUisLiOjdFFFIqWjB52sze86qol3QrXb4Xd9SRN771jn8hsKe1YtlY9phLN6B9PCjEpPIdcN4+AEG/HY/vb1/+HJ1+tOUQhz8DGe5nuN+3V6OrXOq7zlptDXA6thWhP07Cr8O/r/oP4B9lT2SVsFKoQTn8t9gW7+i0BfvyzIrql9M81i3RfdBUNtJlNishg23/TMKPt29CPCLaUaH8wdwO4kSnNWwAbd/VnWT3kL3kP2oq6thLJzVW5yEIZ2G1zboO04ivCVee6//wfnC0e/qNqDy3jXA4DcU9t50q6baHWkTtOMESlwm9w3v+EcU+K6pn4qyqOZc9Y4TKIGZ3DfA4x/xGt6H4nDIdhJ1LTMadvU8/lkDfjgyZLyPmygAntFywB8n0JlEZvp8+DHIDBIT6MMPKODXelmX9fyDQRz+rIQkc95gDn/Szeh+nZ41JjdVV2TlXVO/FrmxZ01kGlGLeFzqy3TiOSKlkQdF/PFPdPEOi9Ki6kzzlM1sjha/8JHNZqZtfzYfg10vOdvJWAQoHHu5oDWzxnSnu/xQAFcsDmIdAvi1fjEVTjCSiVFv3peFtQPsUT6S0KoeXiOSIjcPv+E7zk9NvWBv0FgZTsaJmSiCASG7U3N9+h+395df/7df5SBlhL7TX04vr04/XxHXpGyFw6QRGq8uby5O7y//C1NqpY7QO705vZv+5farX+cgpUYf+nibow95vI1WORp75WhGwmrbJVNV5ThC7D+mtzd+Rft0qhJZQ1oKwRr9jDuJu/vL69N7eoRZ+U22aaULCWNIWefD3f3Fl4v7+4tzjfaRVAzF9OLs9uYcLfs+dXTp9zkpy0/LxZD0xuRiStsAW/s2bXTpl02xyBoiopLQeUibQOMmIXUyKageCsUwtGZWVzla7mHqJFp1ZSfFYjgqkzWGOKKmlB/SKjU605Vp1xQVccuMUDpKHqtXmiZRipGZkl9z12RVW2bEIRKld5g6RmvR/pKV1DUuQuc2rXSPmdOpmUzYatH5hL8bL4abBJLKbcIYXV02x3rQNmGMrmeTz7GC7VJG1WL2Pu2y0lSmbadrS4MVlJaLIimqX4vG2NvKIoQtoh0841n4UjWfm4yS/8bDNlLj3qfcvuh80Dp9jGbzt9VwX0VSuk8aZYj5BYEzdv1rAroXD5YFv0qhFsMfFdFly2XpTlScvCa7dDT9CCzAXbr6EGfJaEUdiKsUcR+M0pGxcUOZXF1vURr+Wq8a6pa3q+eQMqI8/CvLRMH87yxrdCo0xtUoUpdRGp762y1I19+m02kamIlt8OqXrChNfvFKvfrhJlFsNed5H7SA5jk5pKdLROAymrdvXNOxnZx6SyiWYfMq/lkICSkay9OYv61M2ykwhhKx2vMVE/XMKR8IxPeGdco+Dl7RGYYysQRPWVGuGlz7IX2KXljMjLLz7SSiWz3rssesNaqqt4QCGKwJ9XPWTtXVYAmF1IRraaf9A/IeUztMg9vabX+9fXTdE5fvZCQjFnDEHWpfXADYwCD6kb7mImg6G0IB2Bq2IRIzqPWn0O3x+a5u0Olj5fb7WqrwuJtFKHC/77LoHT9KJBo/GgQyfYz+AAvsQmhMMFcPhA1ezWbG5D4rPEqVbM5LZAuPgDF3zBggIFSjACJRjAOCJ2AkQFR+L0XA4H4KYvDNhSkEdDqM9hK/lyI7Ce6nwNagNpXElpB2l9T9UzZITLfE7BHWE5A5C9UbNLMWjiTERhMsKivN1srITu8G/dmzmb2Y/LLiTDWdUDNrFq2TkD1qMJmicAc8BdkPJI6tyEG/dN1Ly8N7MwmJcmixVFL/uF11YAfZpTxWDxnlH9hF9qXxeA9ij9XDM5JMRIP12DFHXJf1EcF9dgwV3WkpLr7X3q46edtVSI333sZkLTnP8OU+2UtC/cQqTXTPpYj0vRejQnowxRPTizEysCdTcJG9mecTe7Rne0tKjvdpsL3c5WRkg8Xtfvjx4psMWgPvhdYv0Hqb6pAqvc+08lb7y0EJgu2fzYDbPb92aYXBAiArDAWDb7TY6kMHiZ8EGBs2TMSQoHnokdCYDLFag2Tpx4KduXowDAsR2BcchtDOALAAvcHBiegODBHZH+7qujwr+4hTb5+wk+L9Yn3lp1ktu8vqW2sOOUo1QmqbSDn5eo1T1LCeQ4MF9h6Uyd+DaKzwXiSRCT0J8bNWymSzISrfuIZJYOdJqNhmwe39Oj1m8+2keLvUTACbJ+9J7QllE4oR0UNSWX6UCewjCT2ARMb2kuu6Krq6vwGAdBQrddIxTOXtNhJfdLskUe1CwvhPsUAetjX6yNcPpCEOCZO2gZVtzBgZFCWqJWykuPFBU5HtAbVFSDuA82W74MrZsr/+ob0qm0K1ReVn8PTJRP0xRV9M1w+9fXDzsIU0q3JSKKzA9jkKou/RuU5GEnSTu8TKemZU+yyuqNep0XPTzppiudlPyqq5XLtM6oQ1LWnAa50rVVALiEhYayh5lo15LepVOxALYaOzSchZmbdIRCeHlHTU6TrCJJ2uwyTOSPuLyZru0WTiARCfNJEv9SjAPKpQIG3si4/HGwCjZ+Gisn0ovuhsPUnWf4CWuIjtIznIxZDwPVQ80BHSHqePBsZuSmWKaw/iEEfXIMCJjS0hRy+KqY/UKqHRhHLJIu1HUAxdEBEdwwbgyLFsQSxov6WiUJU9F4nk2sjcLk3FbqG4SRLOIZ1s8YnjCDpotugqx6aInOZBve5ezZNWQUSaJDXL5YtULcUtlxBdlXjSJy157MrEV7aItQCEqFkNBLJ61gMQJrgiUBAS/Uu0TVSipD0pyD6R6IOo3sErkp+ntzdT0xT9g+zGvlI/eHSQSqcIMht8kQPJ1Pkkx7B0JDKj2FT906Tfuqc/rx+jYN9U5EmYHILQ/vjDv/3xD78/0DkPDS/qfFWarebBr2QN27nlpt2ppjMcJ4Dy9OTozW/U1Vbly/rG+f4jEuvnzsnmoJNqzs5z867NebKTYhqX4WcnyINXf1CCmfQCkBLANM2inasR9mKpIC6rpzqEYiuXBKNeqgnqZYzygSPZp7437ap0fYj1u6aT9x904j5ZTmU7sUU85dsSM/oX62/baNRbEnHa67x4KnTqLZEo/bkpja7yLYko7auluu1tkST6L4lXuETtl8LzW7xu6CPFPr3bDxQLT1HaOQyhPYMQroixwG9XEQO9vi812/JDZPZyWO0+0EVy1PzDXHyx7e9Kfts3zCnY+12hWIb77O3etMu6Ir42zyGMZaIInrN2nWrtesC+58jE1sEhN4UhIuXSkSh6hCWUjgFsD0cmCcH2Rafx7BrisCSjaLqaeUiVJBikjtJatMRDgbQ9bIUnAgVtgxXN+dqhX2fVR/+Zj5KaYlpJ8MndU1F2hlwcUVlO9snp8tik7JqlLNk1Mql3KBGl+rkYmA+f1m1irUK37W4r42m6XYp0LTfKEWu4PWZ4u421os3mUyy32lgn0GiEumGbXa7nIVKbjVPgbZbbOzFynpOc3JsZlMdCpctzb5ZlNhM7oZUkRS+ksvR1Q5tUOOjKZoarSVLzWCZKvTgMSOX+cQCq5gYCqVUcCaDCzdIEVrlPHqW0rRUqt4m1CocD5NsyzzwO1kqSYoBQWfoGiE3Ktlo+fGrdp3SfPEpp1jTZx5c1P7m3T6q2hKIAxHFJavePS1A1Ny5JreK4hFuYG5dMC4vjklfqDhPJjYxTpBskKidiYQYOEduuASPEpxIbIGPFivER5bYo3ejoCHValE5gbIS7LLplgZER6rAohaK/4tUxb6rTq28nhTgUQ14fHx0m6Z4gtw8xrA2+GfUZC1a1cI6l0GmdYXm0eo6udHpHx1Z+xeJplagZ+AgAo9bzHQCFVmarhtXr2ayRNDsDRhgpiYdIyNjwnW56NW3SKDTAw0413jxaxgfmnBr5gBzRIw1o5UiOGcLasSsOn7np9gfBXnVW4lCdkqFQWghbD3TERCs62fzn+x98J0wD8ZEkFEyhYzjpZYWPR3EouyJAESZKpLVweiZwcDFQG+n0VIPYCyWREIKBsyg8ndrFiWEffayDexTR/zWJRzvkBDmzDQ7XRE0xL6qs/C/T1Jdkxx5ooxIH6Jytmj6ZV52VLqJ06ywMcTTnlu2QNEDfY//jV/Jg/qBpmCikTDsfIhdnmCpASzuM/CPyb53QP03Onz86uTWGiUAdVtzV3tV+zphT+lEKRexVe9vkhvoyJp3pZCjAnzmOeX1tT8QNM9rHInr94zPWarSO9xW8EtfxsNangvheAaNzmzZS4zBq2aNQjFeW9I3nrKWp5h3hNGil+9TReh/buuK+p8YoH4tEE7wNVowogiUTXwvr6ES8BvbJI/uZeTezFfEBVkbvIXmk3izPv9b7lO1VQXxql2GgRQPs2sBefymqfJOOip8Z/Yrb6cehciDTiS1Al2nMytSvtZMtKPXsYiu03VYKhZvEETqb/SkeonSUOkJrvosVQJQOE0frxBXGtiXpYcmGFL0rpM09fxAU+s8eIJ3kkYugFjpugTSPDj0EjeKBB6tpcCrnbIKeZ11GHUaQCXETx1004bNVbs+vudWXTAT12n16DwB3wUQm0G3YWwjDdt7cJZx2jckWZ3VZXte5c7FrQCUkx9t8P58fLTMVWiZ2DnQ9SGVj0B4G34fWAD1Y34oWH4PSY83KVduZ5uvwwSwN3lj+aJjde3WzWjzSZ+5eyKH00RDLNrCFt4JHA2uXZWF95kODNxI/Xj+sy3Lz7sW3b5fnYV3RzuJosG9ZWQaPmIFwSkDW9K6f7oQt7yj1sQyvqyTE7o4LxoBVbSjRXjIVCuIBCI5gBwBBaew/ARdt/iFI3PoTiJHGHwKEbD/BFm76ISyF5SfgYg0/1v90dp/qggnMPoQKW30CMs7oc3iyzV8f1ugM/0jkqNbf1RTsAsbljDW+BFicBYbw1GaYwExjiyFcpUEmYFNYZQgVN80EZaR9hgC1RprATGKpsX4aYK6prprKZkPQe8NCvawUbKW4J5aOUACd5yGgE7gfDpTzQZuba6j7Gac+kuchlAQ4Hatg7LojhEb6fIUa4WlVlrs0n81T3ZhNHiFgQl6pcAEPTZGFOmcMSuGXKbhYl4xBwt6YQoxzxBgg4oMptmD3i2HhnpeCi3S6GOLuQu3P5iOEcSyeEFIMhg0D9MXGClkNi5nWurh8Jw9FLjyVg1F6QkN1syzS8MRPsLAOik5NKMioWQmL9+n3//avP/z4iZ6U2NORvhUsUGQOwk56tsJnugYkpTQnnYm0Sd2GbQe6yJq6Wiz88/FxarxukHHvZu3MKvylXxciwSyCgOFmEXFQ+KyBQKJnDXFA0CyBYHFmCXEYilkBAcPMCtRIvlGDTAgG/gYeL5oJh5U/O9vwFX7stoOmFgKKal4xEEs0qfCTnWiNjUVH3O3wdJ7bgA0RSTZgvZ5Ss39PxlejZIXg9fkrOgmy0uP1Bk+zKA30RMtXJ/tCAfXQ1Ms+Eugxa/EdH0LmWPs+nKqQ3R+qqOF7QCwZuhMk4wTZUoFJZUupfPgnyfPHBGAn61yC2TzLMsTcs4zB+1SKDqeZZ7Kg0XtWCmB8DsriRu5fKWCh+SnLGb6XpUBUzF1Z0Nh9LQUu7NVY2LgtBBlV9HYaL/cbeLcUXi2NNwv2YgmOBxz9UUY3sbFNb2STGtfURjWVMU1oRNMaz+RGM+nRO9HlEmwJA5gqm57YlutsuCo+yhE4ojVPEhvlljDOsCaMi4LRlCb2CDFRMKrK2CaPh4IxUbObMhYKhtMZ4PRxUHi/VJvi48RAwcBB224eSxQb/wTDazxK6tgnCVI6aFx3wsOE2T1m3CQQnYi4eSPmOFFs02xJ2ZvM7WphvtYvZvdtQBXBCSmPQnkeLSqqQjrIJWi2Eon0L+pG1x4nW4lE+hv7Kytoi8jfWVFzmErZKYzwCole++iZREy/+B0PNcFsLaBD2MukYui/C6tE2IpEEDCT680j/+jMepz6SNNqQknAnNoqGBB3GcJlyafC8u/fUDDgDg6GACw1KIbQdQYGpVhkUHCxKwwMEl5eUIhxawsMEFlYUGzBqwoMC19SUHCR6wkMURFxQTHGhniykCFnhx5AzfGhlVWaaAyMTxHiyVMmDfEkDU/8+hHroOj6i4KMWnyxePzE43XzMWo4CsGVONoEhFQUNAlxChkzIGiscJeLwqncLg0Z73pRWIX7pVFjXTAKirlhmjHCFaN4GndMQ0a7ZBQVt3o0aKTlEzA563eTLcx0mc28yPuEirBQb3TOONMJGIhzYBb8pFL1ViRMOVe59jOgDMo2GV6xmsXiMHP9KnFXgsS3BVko9TVBD+Aiez99y4quH1TXUxWWIxoNs9nXPH1ivgLFkozlojHaLms6PcVILBHEIYYWsZoEjpNBNNj6Jdrp8K1uhGYoFV83z/Xbxfsyq3KTW2cCUM1Q4vGdd/CAM9RprVecUS/mwTBV9liab93Tn3/ZODvgUGrExWSQHLQ1batlO8gkx5mtmrbWDfi9SPpGfF+WWaFst71McpxF9h7mHwjXkAipKxamXnVKpKFUcqTGZLn9qDjmvYZyR8G6a8yTaUzln8U6ZCPR9KNO+hohP/DIZ4GTIS3U08aDzBGar2s+1i/E6pzcWC45Vv7Yz/NVRHuR5DDZqnv2r6VGMHuR5DBVfW8fISNAI7HkUG9FWd7ve4QKzBFNDsd9GZRFcl7LTgRSGh3HJn1yjMePZda2uxVf4DROyCT9+CvL+u28aF++KTu9JZgcrF7pGnSTPgUGt+Nxb56Kyhyu9U+fsyb/2XyguxU++SNttENqA7bdvdURvgmPIYduyYeCKzbosQLEbteHFgTevMeKEbeVH1oIZGMf4w/e5g9Fxzf9sQJEHgEEjwfViS04JOLPcEOLExISrLStsRHCiqLxTqz/I+6yhqmP5qAcJUHuaFQwzvSRHwDx0XT8B0AghJDIEZpDEzBi5dDV4WdZIgx6x9zhASJC4sDggy8tmv/ciwIDQwexngxNo1yG8EkTAqWaIrlw8RMiyAbg0x+ic0VOdhBAbGrjskVMZBAszbTFhYuepED9TzklIbpgigkIgoqGU1CQUaEULB4/ZVh/jg+fM4ySH23S4GoJmjWMy5YgKIEkUwcngGCIIyJwYE+krh1NpIS3ptQREyAw5DsJtnDnCWGpvCeBF+8+IUyF/yQgYx0ohIh5UIIuwoVCYBofSuBFO1EIUhGAT1LGRuDzmGELKRlRt6Qa55UmCB8kVEThC5yelQ0+LSGYI+clXKvzE5O23wA57IfgLpoRPNpkRdIXNG3hSh7TC0XIcN+nRFV5QRE53h8q0RWeUQSP9ZFKbMxbisQRflMJq/GgInK0L9X2a+XaVO7aKZapygKEbZBjli9+Z9xfGM6NTMOcCCN2JBciaQtwIFyZw92HCBjqPJSYCtch4sY6DiU27DZE6DinoURGXIZIG+wwlKC4uxBxI52Fth+rXIXcleMdhRI+xE1g1i3WSSgLgi6FRPioJZEfmPVpeLffp1Tc0WqyOeQix3lPBnKAizoUgetpT1qAtUSgaq6qvy0196vHqY80WSCUBMwRrIIl2BqnuNQ74xjWapMKN0EUG5VJKkD/zj1FBG7c65tOs2/va0b1tj2GC0xCKbLQuScGpZhyUnCxM00MEp5gUohx80oMEJlOUmzBs0gMC588UnCRc0YMUbFXTzHGbtWzkCE79R5AzUa9lVWafXqMT7FNz1MmfSyHNDzx6wKsg6KzaAoyavLM4tnPlNL3tDdPBo5+E2drw+nh/fpSu/BCwigBPglEL5a72euulI/5Qy6TEwT+a+SQWv+rB4Ru8L0DCEC890jopm88qtX674ISuoVboAEA4gsPpHb/2w6QavlVB7a3xyv2LW4I1dB6hlNum6b7w2vBlmEa/AKbpW/ImshJhJunzXIp/1KYMifNHp33xJaj68ylZzvqon4NwLDlIjG6ZlXN+nKdNk32oQFxJSNR8qLNFo/FfNVnepd1zxoaUlgPNOyIp6uuvqhmzcc6keAnyYR4h3wxH79kq7I7KwtmAPMKJo4wXWa6LB6g/jZ1y71MBTAN5VNgLdq7pn4tctMom2FiiSaAmTUmN1VXZGUoE51DArR29mwW2XW2VAIN5RJgmE3CnanS85AZJADbXFweiyjRmCySwf3nyjQfp1VWfrSFtl/ROaQxCxfvy2IzM6cntbJRsKQTINUhRnlykApDQHcN/AjbBbSwEKfzqOVqKev5nJ6FKpBO9rkEkLk7A0eotC3h7v8/RaHuiss+mNQ1WdAcYGKJ/sP63JDDt0tFZzMqCbfyrat5vRbMv91fxiOeOBmGEnt2qwZ6Pq9N6HSZvWkdg6cA44yPX5C1pn42nLYYw2x/o0KcNvOYcccVYpvtkQqxFu2Px01+VTwmagcy09+kAPfmb6uiMeQOdFQhBhkfqSDLpn7/CDPflmiCWUtXtmEoI8EwEHvvZpz+gvJym60cPiG8s3P66/SQw89GbA86Kb6obsycm9YLWU/2YkztMiXgZ8xqghfrjCtCvanyZc08fSUyDARDQUbt/vdVY+CW5xKrNlS4t+Pk3CcHSabcbEk8WykXUlN4mewsEsKZhnsjFcDaC4cDjeKV1ntYB4GzxvQbdVmX/Ww+dpskQtfRyOO9aZH1sQ/cybVW5WSYHXP2qqkGvmlPtxtwabDHGR4V/DrrTFNk9KsaIeCDDJOCS313+y9Fbx1L4P0zK+d1U3TPi0Alk2EGWP1YheOb8pKOVgCgdsKJgbZ9OILqkENKtFlddf1mcF19yWYd80w0AEjkkxLzb/2uIhvbCfANM0gJ1vQRFXGDbWLlkRKvM++RpmAyziISTrJcCs7goy7xZEnSojhb4soVfAoHcXnO4bRQniMvGQk59FICgcdeIpfm4EuJ51vmi1zQQl8JJC/1RRxgsa/v4r4DHF8fh45wtHUkvrQvVhH52r4ORTKF9+atyZbXWfURvgjx5YEbz+VWMJnWySBHrPq8FZJiDYWx69dRCnhVp+iDnErIYzCieBd4XJUv61fS0+icuPkFVuVWnq7BbRqKdvsTXgNMAPQwH+cuxbAkOxYm+1d+P2Sk4tWz9eFR41mej1QhK2+/OmlRbavzrpc96mb98rm/CZjRXwIY6bMSBync3oBC1I2SBilru6xb+ZttnyxIiWgwR3r8dtBVNRycP53doVuzTFKVB/urmXX0roCU+2QoSZeSKwcbIjFjw6NFkoFgEpAX83FfVHM1x0EuFQa3MeLDELdD9BjClrSPxLchrYSRzk9EFO/5iR9kOER/vr6ExyiXVrVGpweomLVnw44tQkDVyxzeutei5KY086yjj71llqFoMMzoyo5nm2v4u+KEg/4QnJPZZFEI10OGaPytGFDROmG4onaZNW3Rkd7T1TZIHa6ya4oFv3frKh2lD1e7bMys4Oylq3WYXKV02Au/mvduHV8q9EQ7Dd4bZ1lrpqZqi654Jf0RmfXEFqNL56CzdxGyWVN0xSyAhJSNw1k25qkgxw6NsE+vVovGGUp6fcGFjuwWl51wN9fZ+1rgylRzOogK4DmhMlIReoKM+vyLKhGonVFS0NWTqjvt0//G3Wmj1x/f60hvgdN3KIvI7VJ6yuN1Kgp2lFV62NVj2zXMcoaDPIj85t1rq9ofhk9Uxw5b7GT6JrORTqyMtHxA9woeCwzrsIeFVOkxRwSJPB4UiZA//XlPfN1HHZ/1k/x1SNTP19M+4tW03UXTDOaLW6W/k5OLM6kffziEds7qqu2a1WhKqlAxGcvTNeIpGbeNXecfQUhbwUiWT3/69MMfB28cDfc9NDSVtPERSmP6n6+yR1O2QVBjeexBirBWnNV5WL1tBY/J1tXLuqznzmaSBtPN47i1WVWbp05+MtX2+YvQYUtldFT2bNUGdoWtZGI6d0wt2nnocNqIpib8/R8P/uE5ay/2wzYI087hmLRZnkfS2jmk7puk6x0Fdfocr5s4sdtlFCidLlEm7DZ2AJmbQxSdzglzUKAL1pBgDpitpSj3i7enx/ny3SvI9eJcuOPlEOPdrqYWVU5XGLQpXK6C2+NwWdBAd6scP7KzFYZOmKuV6UIcLYcY62ZxUtTJcqSxLlbui4KDvdi5icOL0Jiz5QSP4nhFZUFOmC13IocsE4c6Z4A6xFHLsCqnrSfUOHBPrSZw5tp+ATl2X/eNcPJaXq3Dl9FTOX99rQdMBLxGJN2kQF0eaILgKUDUZCFo3CITB++QjZlEINThEwoZPc3kQlsC3URDLkGaSQfS18kJiG+ecYzpRPCsIc7N6r1pEqeZzDfGuMB4T5fIoSX1WyndU3ovFOVsEviUWNeRwkMkcQQJ7X0Ss57QemNG+rJ6zcoiP23m68eHfTabSp7YhLMqlBadLFmogeehQHuvo8HMPw8V5w08rBrnIDVmkK/QsOGug8eM9yS62lQ5FnGopPAzKnaP2xFgA72QekzJTkkcTmE+ykcY4rJ4zFgPpqFFHRpPG+vffH2TdHeHU8ob073VzcvXzZ1ln98T5RI7QL8upSeUCx3qEgFM0DcG8mFOEsCM85YovcZtQl0gyH8G0eKOFACP96iBNa5yrdggTOFjw0rjcbYIfqDXDR+tsvvFBmqYH4aZQxwyAB7rmYP4URcN8Mf6aph//Dzpz9fT3aMQZ3X1VMxXDXtLWEiOX3bKZjPTtj9zVy59OiZjedrvSeXiQqzNrDHd6S7zIDQ3j4R4bW/Jx18c0rGNMogBcx7U3camyf1o+6aulFbsRLZW+4EO64UTS68ntax5+DQK+BqUm0wxQt5UeU426ekWpXj5Ov3p7A5sRyElXJf9TWCN+ZHS47Xru2ctDyPorjUyhkb1MBU70/D36F7kZCZ2nxGa8K4E+ciKq2qXNFzZy6IgP6rj6tqmDFeV9aYKrMJt0nBl8xlYrE1ClaJhX7vqW0Az6EQB1RMLYbmLr4PLpcF9x7SevRjnuUrac4zSRnmsr+5LebTKQ0KdvumXq4ufr6e8HieBmL949VDMceL7QrBLClg1ROWJ6BxdUfke3nCUQtql0arWPrJ9kHrRBqr1jw09BCAbfDXB2CRj7S+aZoTA+kDi87WZPWdV0S7umnppmq6gXzRjkuImc3px/8vl2cXDX26nX7UKJpYwM91nSuMBujm9vggG2gonBbq/OL26DibaSSdBOju9ub25PDu9uvyvTeWH1RabTRLI01+nD9OL6fTy9ubh6+3PFzdqPiqHJGi3l+dnD2enV1efT89+VmPZ0umQ/vLt+vQmEszJIwnexc0vl/e3N9cXN3orMZZN07eurm5/vThfd1rug4lCv7KkkyCtO+jD/cX09tv9mX4sOuLJxuDZ/cX5xc3Xy9Orh7v7218uzy/ug0YinU8wpnuqt9tDYA+B9gk8E9TB1unCNHN2e32c32SXVjzlOkAGnwxaahVHgJTy8YOdrWmk0z5L9SB5nN7+63tvdZODegfJ4/S29aqZoaXdJ47Tudj1a7hbHdIn0kzMCUGGkaSaZjS0zN9W8Fid7BPH6WxMW5evZmReQAJGNI5nHbgwfB5XZhgk1+sdLBDsZMJ7cUxSfIHgmBQwc71x8b3VZtsYFERtbXyPII6NDoqhND++h/Qe1QBrkSTKXROIMuiNIYoir5MxqADrKL/oeJnfXVZPNUW0/QkfiEXbruiPFAyzmuyT0fw7Ii4cYb0pSB+ajtQMEgYpajanyNNZvaRbbKTNTo2qtNpiappX09ybdllXLTmCnUTaI2f27JTOeTKWYstlkXOnTv1XREx7WU3NrK5yrl4pDkI0EqYxT41pn7UVYonpIewN6n5VfJaV5WM2e/myqmbEOSOVJHaTms3Tt01N8tJdepj0LmuyBdnibqo03p/J1+/4CWwuXm0TXXLWf33tnTxM5SAcyVgU4QsWHIPvYxa48iJfcn6EU34QiVXuG8gcATSSFX2hz+d0lRemomdfbFewBANA7EEnuZDh78m8h5Mp5DhGqBE+w9UOuwsEAelgAU6CUf2Hg2u4uvjp9Orh69ndw/T27OeLrw+3d18vb28OO4qvWVNkj2V/hswkFVvYVXU1hVU5SVXHstOuMdnC8kmbP+qOd/exsRevpuqcc1Hr5+ijXSo/78Guzcis1mf1YpFV+bTLmuFnB/yaTxxJDIQ45qN4VrOZMXkY0UA2JdOXrCiDgPaCaWjKVf8Vnj7I9N7MTPGqZCLFE5HVrabznuwEkmhfFlWlq4q9RBL9q0pPMJAJZhjGSO5TSx8NtBMpltv0J5bJDCfCh9FcTi7sw73N4Fc8py8sBAE81213mueNaRV1ORlLRSK060Xd6bJQAAxlItUv6qro6uZsY8o0teBKRqLMBpvAOMZYKhZhk/Cr+BlRhsMVjYTpVPXQpSh/VZ+bMqM/rUmrPUjEjoN1+F9IzbuSsb0gq2amLNc2hp2hc92AkI0doqbL8qzLNGPzIBI9IhbL3tDVTDw+NxiGUtiNGxiprOfFLCun24sX23YvqlVHb6syjJ5skkNn+ees7HuHxstaYomh1p+p/kvd0l9/pYmGMsfAuasbNc5W5hg434TdQAnpG7UjmLCWhJNBsaaog8FQrOHc9M7zufTh7/iMVOygTpZM3xwWZ4QZ0g0ZpU4PDFIqdTZGMdnPwkosdCmu1L5jZkb5+JvYdSt9h3D4O95xnmrmvNrJbrJLyjjKIR6yZ3RX16Vn3+iQBL8eNxKGln+DhHi9LbL3Xm5a/N1j8ezcJ2NJ36xjWAoOpahCUUaSKVCy9116+ntUcr2MZNPgXOal6acsvokyhTOSTYDzlhX9p4xWBpy8O0xkBgnA8DmXg8TOu4Jh4NWtw8KtcDG3DaDBuyAOGrcTkgwtfK5PNGnS+T4Ar1rSOrzSsjYZom7Dw+2a0qZHMkjVHpVr8YR9qmSI0MaJg0ZtnqTrfdjGotvvyM3FZFjeXS0HyN7ZStf5dfs8bu8X93rSdX9o/8ft99QeUELDAe4LETYjZm8IQAN3NRywmJ0NFMu/u0FjBe5woFjYLgeNFrHTAdcatNvB1Fz4jgeNN1689iGh19IAHaXAF2J5U7zSoa9EjpN9am4RO8IEwxMgnf7v3VqyW1TOj3Kd0A9w0stqOTz3ooUIOITIFw0XglQzuyQuTS0cCB2jQ9S74+vv/4CWuOanCWGKT+SoGVu7p641vXEIse6Jikrw3c5vZs9FZ2Yd826KD8eSTwOlHBpDnq0oPla9MMsy657qhrycQdEM0isHyLhhlsuymPEBDITmschvODoHik98wWVj8SFygoHigpyIG9g8jadTmOoVZdok/Q1bw1Svu/HwCS15D5mg/oeqN5ZKQ+Cp820M+kNrZkE8Y/lEUAuzqJuPhwV5f8yLNJROBNSYucJkjGj2oolQeoIQjo1cOAQ/ixbPgoiE2jk1d6uAz3wyEkTK7K4awowFQ6Ez4LtMBqWIMiMylMaYu2SpJh0eRt3EXI2JT0c8nMp5iho0Wy5v9G1+kAobC8OHMDbx+eemnTXFsqPetXZSiAMefZiCzhV6mcJF5mrXOlPx6M48IaWw3pFt8SgV7QiscVFUvxaN4d5YZ3Q7UrEU2XsIhS0VT/G5ravbx7+aWTc6vfaDOILxLNembbO56fP7/NERz2fwNIRoghbqN9w+Z93sWVk3jmAkC7WD7bUO9NZ1pH69+njt0MGqhwc+UQ0kJE7vvUTAsT1M8PBQ1bn5a/uwqGcvD5tzsYcHlIWVjqT6e1k8nm17QlFXV+aVeCGfYWJkI4k2ZTvsm1/C7UVKRtI8m7KsUYBdYr1O65Ge9VUr546sR7srFsmxzJrWTO1KPUd5ePEArsECz0knrPG4tPgyz3M0KSoIM/GJg1hkwjRWNzJ0yocYYoaRKMtd44xWLbv4yuGPisjK3ZeBxahKKxHeGxuT5Wd1NTMNE15A5TwZS3HhZza5gHDXmCfTcO8ICBQjwUiQTg4zIhk6ICYQrYfsTVP4dWr0zBhEMFV/4f1b9/TnXzYPo7F3H0kmRjwx5Fsvqu+zllg81HiYrqruvJ6tv5cnvf5GJsSHa/tCfweBz3ayFeE6J8XNWd1iUTDhIaz2nUwC9VlZ1m/nRfvyjX7mQ6CwRNG2V8A9OktGjOyRXDGmw/ro39rbpfYNap6Sz+YI0LNVM1x2Yoh7oSMALbJ3KZqdZRrKHQfrtA9OD2UbCx+jIett+KG2LQdyR8B6Zj4DJBA929/+SQZTGrVJNUdCqVdalI3EEVDM+7LMCm2/OUgdAYmdnrE4uimapnbgaRpfVXFTNQXs9gt02lnLXuoISP4ZJMsVOItUwHlWISwZvRJJ1/19C0V+GDCLxaRovgWkSMcsIhP6wUWfTO0Fd1JHqbOu+VifWSiXKZOx5BHQ8kf20Jen2gsdAShbdc/0687SkmMndASgqpaeOxSgRoLHMKxFWd7v+4fWtNrCaQDHz7TnxdPHvWlXJTkah7/ji/LXrFwxr49b2U12Senl8AiPmy9m7ebbvpuDWEytKxQOUL9gOtfpVGoGjzNe3978dPtwdnV5cfP14eKXi5uv1LuMRCp5Y9X+gu1j2zXZrDtbrx3Ja/FUElEH8KQim6fvWUWSlzlroZ7D8yn2PIlHisvfTRtJCNtiZELFthg/x+RzJueYfHmjJyECCbiTrQYSJmweGt/uvgpF3BwTQOjNsWAMcRtHwKC3cWIwPNs2Mgu3bRMMJExPBRJqehqM0GVF2dt0JcNALAFE1lfsOXNTTqAYyiXAqOpNsu3ZqRLGlU7RPNKaVGof7+lYEEadqzvKSDKFdaV3gySrqtgNUqGgu0ECW9RukA/WOSZfp/tSZnNrenL4AT8eX4tszuqlUzc3mWeiOJhJdU1WtWy8NJPzZCjFHH4R7Mw0aj5vzHzdKv6ZFJM2zWRKyly9Z8cWK3yKJfIFbvWEYEoTLy+jdrNMCyhPx0Q8/XGlFk6epIlw+uO2ADjf1M1HGHLopsWUJnQin3bLUQsmTvNEMnKmlxJNnvyJbPT8LyUcMiUUEaVZYdIGFieKcgurzy9C4bjpI4RnzyCTeg5mUil7DM28UgkETy1FwrjZpXYce6KEPEM5JFBI7X8VQTkedxwbl6P2LGxojsex6KJz9A5PCDTxuTxtrIkWjgs3kblUESdaJCboRCbSxJ1ogYKc2jEdmRCA4jF2yhgULZgvdkGmCwpf0C+AxLNl3wJIf7ysBeRPmGU25SGz2nWx58wep6U7atZPPqXTZt+8U33grB4Q3jNnz5AIO3ZGMAcXya+Ktpua/qmjyyo376Y9G3vS3dUnJh2+e3N2dTu9UGU72YlgBedKwj02UCxNWVTupTMRaSCViso+HdUi7USOwrPIljqajcBRWGzXB/Fo3Z6SKcv7T/3NlU02kDoK1bypV8p224kchWd8QQPice9nJO3V3exZ2683IkfhGc4yIRrNDFPJsmzqUfwOZhb3QsfpP3X9ou3Qe5mjEDUmz7SVtJc5CtHoBhbE41zASkkzfLAXo9E81aukWVVv/R9VPHuZ41hoU9+YTDfNmhyEjtSn27p8NRcbj7ndkbVP9MCeLubk0C+bun9n0+T/FFccMcYtmvxE+vH7H/wPE3Kag5V6NpR/+6KfdJ7ojuRV4Mb5/f/RCXY14X/b91hVsm8L+EjkH1c5J/6AnGNXk+9V1JDFR5K62mr+/sd/5KAaB2IU8ypzH8+R3ftO5mjG/9OfPv3wxwNkofT3RVJfP2bp/9Mus5nSDg3FjkTGhK6AvTsobCWI0d5YhgG1e8pqOjsqCRsNyogkNdU6YF45AvYyR2J6KcpSy7SXORKT+FqaZ30Z8IlZ5Yz8cfXUj658fZVIh2eLHmnFkOWft4r2N530Y5TK4jir0nVMo3Ko7mSOQvSctTfmXdm2B6GjMFVqoOqINF3zoa+hg9BRmJ7q5iLT7iAehI51ckC8oOc3+NbnJFK2XH3aNIOPu2Ettxc61n79JsEozBvdtB+JHoXvreie7yPmZKT8UUmDZmau8JH2+e2YXXCvXxuvq/Xr7Du+sk9XBzmr/bl+n3Qvc5RT2v/O2o9qdl60y7o1/6MjexjKPiQkjN9hGqP5vkvAZWVVDtOom1SXnWmyrm6C6nAnnLISbbPcS5jKKLfEx4LHOZxT2ra0y7oxidYd1Ed0AI1Z1K8mrNkc2ePU19OTsrrWAkesrdOy3BVavU4i5I90WB8EWB6bq8neQutuLHmc4BR1hIM5YoDDrjECNg5s0SMFGZilqQJtvit8TMbbahZo5OgMjtP7+jcv+hhQ5cgYyR3poLu7zt4DB64rfJxtoRhGVzgd4/h+siNhn81vbitzyVQv0NyvttGj2++/06qYVPAt6fNH4cLw/kc8xrQPOJ7Wq4a+hDvOcDJKTE+8D3yMwqe6mW1f/t+8YDT4hgOvmZYKRPBfPra0g2+6eBUvX75k/QefPgCdw7QR5RSuFxCF9D0VA6gU7ws4KukLAiqV4j1FS6H/zNxfQvpin10yxU0+r0r06p7FEHVXzwvlu7xiwQTdVqEgnIe/qo/1c2j2+1jbP8OGdZ2a+jrcoEx2GtzMLjYfuIIznRwE6H7q4HJ9p2kW7RzXu08fp/afTUNeLaSVPmxSR5e0bq6yR1OSpoct7kAoGoD74ierXPzSp6B4/BJiNa9vTPdWNy+blwH5GQKXFu/Jj+apbsxfsipvn7MX5q1EQcnEzYAuPVss7uJotqKvNck4O7FgiJER2YQGMTPAYYegEuKN8Gqax7otOnIiwec9GcoxfY4sQcgDHwKG/xU2HwZR6f7aVlezcHOUyJK8OEMUyu/Ttgl/2bXWVTEYaBv/RiWBfd1PTZF/mX5ezV5M158peR9dEgUUzxENQ9xV2bux7sOKlcvDwTDfX0FgpO+whMF0WXjVbGUT4piKXJQBMKbiF2ZBKOL0HgDyT/lRLHgE/bo+qn0tuKe3YGF8ZDXJ1E0GWQXU16jsKc2AC6q6/hIPHWIuCGjNDaJ46CCzQlA7Juao2CHmx4W2TdFRkcPNlAuufz4pBN81Z18K+jmvw6+4QXoohCbcZzV5KHzuYg3Fvn1SzbtnRM8+Zaiq2fOqeuEe2rO1DROHKnwqSlMxT1vY+gZpQ9UtTJflzJNptrpB2lB1q2UfDHye0a882ApHqYNbsK46U3Vfh5EnUhuOkocqzcoia+m9UFvhIalCmb1yGBoC8hF8N4E4poEn8JkcfQ/gE6TMWVPRn8molJ7sRFDV8tP3w/TgIkm/rbIW496y4bKejMT8pfVtoezs1ucPZgOfBXFEo2H8pzQsDHheo4CB3XvE2iNyw52lCNp6l8G40bE+y1HtJrgS+JjRdVdGU0jPJYrJIEqzIBnLOzHSovg9vAwEen0tFuSWPS0Iu2otnNd9y2CYS9dCwbaIw9KZJRxMY6E4tmhjJeK6duusH/087PrnRKueQ17AsmfDJawNWlTXIHGwQqE5B5p8W0aiCtk0DbQANshWNHqAf0WvGPu/4w29ak3Drc72OU0GqWjcNQwXLJK17VvdkI18UDFIBakYxRI1xathzywPv+LVwlWJlddErJQBFn/8xW122poOSUOVLcus4z4ZYWsbpFWosxdx60PHs7IwFb2Gc36HD34Gkr5D4lEqzUb0sixm2ZR+lZbJeTKSEk5ix+gh/pEj8PtEBQAdgcCqFmIPcKVtW2qUbpInKOmZabriqZhlnfnZfHBbiELZyQyOAnYnWFQV4J3P6OpAT0Nq7TRhTd1fhRDspRIgnPaPtV9Wr32g2qC+teNIyCYx5F/qtqtG0eN6wmEeCfAuq9bMVo22HQdisRCzuqrMrPsaYoAJ2WiTWPcLgiAaVzS+bhbLxrRt3ai6zFgsFuLvZfF4ts2xqKsr82pUXoORj26o5vU6e++Hg6puxmIJIPoA82JmuF1YgWMsGYuyyN7v6rrkjps4jrFYNERRBUGMxBLUxNnGMBQVGcUq1MVIMAHIZV4aPtxNABkJxoL0Hyj6z5VZmSC7RkrHInnuGfCTfv+FgyAItVkjZFPgyKcXEgxweKHqutMuK01l2nZqZnWVq6wsLZ62fr5mcxUTKR2LlDE7QxzENn0KtfwNLEm55yqWDuHazJ6zqmjJfQ6JYiiYFOSuqZf9HF43x+aziIUr61lWfn1uTPtcl7nO7hKy0fOV9W24qSl7H1dXYdNcPo9YvGeTNd2jybovjfnbylSzDx0aI59gVvOXSDI+i+juv1xq554HkXiL3DUfffCY0hIPpJIg8LcHRQbPNUIcIi8aM+t2k0d6l5kjIWTjrQ7x3CJkcZjHFgOnnapZZgqFQdu4byn3cf9ar5rhq72A/oNIdPk9h6lsDXAHqGEYVX1uyoy8Z8QRHERilYN3xTkQzaVxHEq8xM2h+G9zK1xYXRXd/gEB3VzeEU0zCzldFvppx0YowZSxvqhmzcdSa6wdyWjPIZ6nsj5jKBXdOZv6/aPfEVN1zoFQEoA75oKHCHAn3fBSAnwTjudFiG++E3ttTQQcOdmCaYbo9WboF9Wc+2iyPFod+QRmbF7nj1f1/C7TLbwdyXQo/eZ2XZmqm5rXPs5Iufj0ZZQO9Dp73739fMXegvBjUtlEz+LpFzLY2bviqQwcAn0zg6OKejxDxHTiMXyRGOoYDN8yUr+A9K31xZOb8bLef1rjP6cRHZx9NON3bL6Tu8bkpuqKTAjrGJ/ZjQTCFYN7yMG7xwm29cM29FMseQMXu6kW/xHL/ugZdchcOsHpdNi5dIplbuAC19fW7KejiRZ2PxetVSfF37sKvdH2iErz3pkqN/m1SjUhFY6Q5XnRJ8hKOdqUcEy0ZDiKf20UsiqKXg+FrISSrIFCVz9J1j2hK56Ua53IVY4HRYoCHWn2xn/6FXlCCG11SPAgoNQTNuhoRQIGAbV4wKlDoAw19cF4d6jHANjWdMTqKm5dleBwBjqWiQVBw/rGw1sI6IsFUoTkjGcycjBOLBa4M4ruicbiwMGh1jxTCAuNRQI2bJGt2lgMzTGH6oAjFkx7WK4+Jo8FVAUZ6MILYtHgaBFrISvEiUQ3JxRMOW5ENowyAQwQUGnDMKGUCWC8sa42ChnlmmDEKUGYcNtoEPCQET5ejAXyHUR7j6BjAfznvsCJb/wkzHu9zpqDkRfrkswF5VghdyroRglFzwS1IXDEis8T/BaNCFxtsHesyUsNCUCQ6w02C3exIRYn5M6XvZyDbnslBvXf+5Io6RtfCRC9d79sKvLWVyyI6nrRiMh7sSgAbXjQdicZ7/2P8j3q0adDG5N15o58OWKc3WSQlF71H9ho9ql0ILD/ET8eFG7Pj3PzXp4/kHFGp2uKGemqLE37hIGKcrNszGx9Srt+ppscnpZOSgZXb1/an66Wy7rpTH5T5+ZwFGQf7m5u8MuJPd2Q0TutqffJLH2jRGF6vl5N4eJRaYO1QgW006m09S9lTjcW6Cwry8ds9mLpIVKIGoD387gsfQ/oUbC0AbmqydXeVT3HjQY5iHc5TPiR2+vmNoTELGchWZLDfp8lP8CFLIUvd+wz9n2sY5y91TREpJD3hQ5ADG/a2Wa5FqNncsiDrQFvObmeVy/rsp6TnhvmG2SSHNBaR0Rxunklx52JwQ2KFvdGO8RArhPFAe6ySA6Xm6dsVcbRHfJIgefElJ1/vqrn/dlLH8XGTsFHqfDJ7zoCQ5HpZCcgnHqNgXkXffpYN+NCbb/3tPt7rDseZ+RzwgcczjgU8+EVEkHHyT6pRxXxWK1VSf0GXF2Rb0cNf1LNjTYi1Aeyth8ksX9X5f5T/yXIYuZ8NXT72u/419gmprLzPldsAQ6a+9NhZPRPUObrmrhYFF1HfP7USYEPO+mL33S27Le+hyVzmRn9xFe9GbWCT1BoI77czeoTQh1hjZ6vczO6he9yh5Wb+AI3V2zr29sRpRa/si2WnP2+dhAN/yVtBoL+hnZYTUhfy+bqgPtOdhAB+UVsRrPzLeyo+qa/eu2pc/d710EMvi9bMxTSN61jOMSvV8ss7Herw3oD/4Vqrk/Q36YO0u77CjWDIH1/OojD96VphkP6xjTOYc09ZzOz7Ez+pTBlbk+sxj+qJj+nef61nvZbVqbJuuHm5TZr+/foOS6ZoXeu62Ayc95/NtnsWaPy5GErASr2z4BPy64PZe2KV/OVKP/4V11jNU32cVGaxXB9us128JM+z13pqEx3v0U3vJOZt9FHaJoG51T5Gnsk5zT0WG9bFjO4jCcPu+QJNC/7ry66qyBB+UAiRcmHIeX+gksR5R69dmf9XHRvRWu+FGXnLNRGv6mGwOfp7U0/Fk/7J/PtXIe/qXI9q6ucaqb933VL4Op5fcPodjhN265+Bz+p8iSrMaD+NiKbViTOR+yf5bwHu0lDQeZYzUqCbzz/s/kbmt/kYZ2W7sA2I6duTm7Z0erm/HjB1ZGbZJw+3jChCukv1dL6hM/UouroHVBanbDTiatTVGeZoDorhb4qgTpN81UJ2q+qFQ24SRyn0LwXTBgUM+R36ePUdsynZWil4mwIL+my0ZRzyS8XUZV/betqOns2C/KWH614JBOnflGTB4i03k3iOIWNmQ++CudVuUsep7Tmj2RptQeBSF9i6steV2tmmhFki2khxCWFTvuJZ6FhZ2EVWaiYRR9cGkd18jDIJ4TPN12fm7qP19CY+KFIrCPLFNZomzpe5XT5bOiIRF7xXibSGmXv50XbZcyzCYxVGgnFAWQlGfhIK94kjvQ4pVlcZ92MfAeGcTsDkTjlLXNdgdbbSk+Doyofi66PrD0rVX3bkkqCwMTiiwDSh25U6quPkBo4SCVB0NfATiZyCsBELTEzACk+iVfpLLTLrOuMvaGw/atqyX5ZPZnmMif2Jwe/KHPszNw0ZI77X3Q59m1l59X/TZXLf9SFXWH9n1R5/Gw+2tunU6Jsg18Ccrztnskas35V5by2qn0Gp1X+S1aujL0d4yZQ5X9j2s7k/eNndsaDX0JzvH0iasP5XZd7Xe3up14VL2b34pitg06l1NSJpzTO77rcV4s+CISqn8MvqhxvK3PbXNeNnd/+78rcyo9NschGtH/W5b3cPMYyuJu8zXX/Q1B+36rStO29+duqaEzO5m4nU+naPgP/QdTJ8CddnquyPC1L5tTG+lWds5BtYJ7tM5vn4SdVnvdmfvG+vG2mXTO8T7zJdfwjvN18X9cdsOVMJFNsOzPTBi7TyYM0c6CI+R03cqbGK94IxCvW6k2ktjPv5MyQV7yVCFGN7lXIyn3bFJT0ppzs4shkDb0sg0hOHvYZKIl8exJlVs1XzNUGEG2QRWK4Wdaaqan6I9PXGEI7n8SYeZHN+tDsWQpWMrPEwG/cngzP+CZuyWjsQX9LhAnr59UfhEIAnAtl6+3ua7N4dE5dhz/pLqmZjpxs7v+uy219FZI8Fx7+FJCnd1nCJQvQ9W2ZZx0dJOAmUOUv5BycZ7/R6kw9N39U51OvOjKr9d/hidDpfN6YedYZ4RaYnQafAmX9nfTzon351tKfMKdynlhSTDSJDc4gPPa9jHvnhNY/FIlU/tF/N323wpRfiGZY+Bzi0GarpqWnazTIPn2c2kX2zj/FQ2seikQrP+0fQwsgGMtFVn1dlspuMBSJU/5c0I6R1rtNHaeypPdtaY2lsGGLKqxXCoWbxHEKzfuyzOhDN1rpQSBOMfNKI61U81IjXHLw/XumGmJev0cR283ldZzqIJAWxPcGNU3DvkOdAkl8WpTmoZ8XTQHjeQie6dTMY/CpgOSH8Xkm5nH8FFjC8obzHu7SJk39iE+1cpWjf64VBeKfWqdZiOfWU2D03wbNHxUT3l36tBhVfW/aZV1p5t4jmcTmryjL+33jKwygLReN5dyL6A+q+xvvn1fly1pL/yq3c5uaTgUvtSzh9VtAVC1Q6fAl14x5iZzNdTKTXiAnobnpNf+ECa/d96aJB8CJxPe3Y8pGFFbNdEq8IesmNw39YRIh68lBDKrPhAtYiUq9jNVhMisMiUhaZ+iUv5rmsW7NvWlXJR00KXE40imQPDMpiSdkPqWDE5e/Ehq9CE4HJu5NSGD0DkXKGmMnfHJ96aZ92j4mTv7kPqafAurg+ImgxKWcDuqQ+EmhhKScGuqQ5AmihBUwTdShCYt2iUu7dNdB+WewElvgPFZv+eUlq8/4ByxcdYjinoNEp995UNYdvZkmVphiS00Hg26sSXRR22vKoeHZ2xIHRsgOl7I2+Q1asQKJbdooKGEpsZkBAoSbhIpDuNlLVb+VJp9Dq4lB9hNLFJqabsvBwBRVa/r3U8cPwWA0tmwCnNUyHMeWTYCz6E8ew2gs0RQwdV48FYE0lmwCnNyUJrClLNFk3Rhf8rndWLng83XjPiAhDMeWTdZUYTi2bBiOa2fP1/leZ9XHeE/IobIS4na2ElccVLaTyl5uuGW0uRnlT+M4FUz9XigBALCqJxn8J9sqDO54WyAQz7hVyvv/tMtMmnez3WAnp5lo8Fhc/7+tDNT9d+nS9v5Rrnjn30NH9f2xckXX96mHe/6YQNfxfRBIvx/rh7u9TzXc693mD+/0BBTX530T62EqvL9j0xEnb81cZIQvlfNyPaPwj+1xulRjm8gVGdsWNFfN9h0uSP1AKh4B6N9cFYT0bxZKaHdfF7cS4i2/W3LRX4rkM5+MBKE2APr5vVmW2QxwYlbCVD2dyhbp6jZ3oB8j1UOODARoNsnk8UZSjCUToABOlQRBvSqIIbtVkgDwq6DyzQaDUv1eKAFAy3xPXlAvvgCoUg6YXXY8hthdHss1RJsLAMBi0kqYyhBR2SKGyOYONESkesgQgQCbPQklwF4oAUDWv1W5ueAhbGCQGJZoAhjAFpIkqC0EMWRbSBIAthDuEbItZHoEYAtBAMAcsaMyxBzxWJw58k+LxunSGiP1pMiCjjJFAVMiTD1miGwPDNshn3qNGRpDqK1QggkZxaGzQXHTMUo/bIFiJ2N0T4DtT9xUjFIOzMQw1bDlSzMPY6E4u+db/A5T4TYPO4pz8tacw43w4w7hCA7FCRwCsjvtlHYCXIqRVCxCXuTfoFE42m8bCAUAuJ2OiCt2MMDAYu0ws7JlhphbtgEyU7KdlZbima00eMnKepbRX4cj85zs0zNlsmE5j5W1hv00NK15KBKv/EvRtHRfZZXvROKUt11jqnlHPgZC6x5IxKmuNg9U3fZR6MPXerwErmAcSLb99oai3w1F4pQvsvdf/h9td9flyG2lifq/qM5ldg4BbHz1nS3Zyz4zHntc6u4LrV5eVBZVYisrs5yZpY85f/4sApFVjDfejQCC7DupyEDsJDcjgP0AiP3TUXsoIj/9/KDLAjg9pfeX/dO7/l/ym/NDLsyBx6cP+/vj/9W7izwD4LDhIOZXtPKg2M9PImhe2Ohb+69va7PtG+2r0+3nfzL/Wzb11FvBdHTWx0Jpz6hvhbK+6H/4U9Hn0Lc/k/a2MINhrM2ab+cKnzZ/QTiNefKtSMhE+QuCaMyMbwVBpsZfEMTKXPhWIMpk+AuCac1+b0UyPP19LKyO+e+t6LZOgB/9ha3OgF+7IG+ZAj8WZHsOfCu+DZPgBz8/ZRZ880MbmQY/Fk73PPhWfJdNhB/8kazNhG/+RDZNhR/8RBtz4Zsf4uhk+NWw5h22T1+eOE5D+zR/tHlX1+z5p+PHrtbeTO/ULt+fVp/Wfn88f1xX81yvb91+spWOFZ6wpze1flK1+ro4X7vq2nGq1S41nnHTstWOQFY60xjGhiWqXUE0+q7LEAZXfXZ9HSu91uXXsWGFZ0cgrf4qxjC6mrPj9K2eKp5+dOVmx+nX+qgYwpZVmh1hNHuni+vqcJd0PYCefijGsbnz2XexWutxsuvVpm7mejgrfUuMZEuHsuMz0XqRiw9iqOu4fuL+/iJGcmEnsSNtV3uGi6Td1h3s+JRafcDFBzPc8aMBzCnl0/PLaZ+SUznvcLdWoVPffY05DM2212YyqH+GEsZPB/oIsbUo6mHXCuLTw/GfnzZ9Gp+PvCCUWR48HfanDO9JAv7W/gy423/8qKyAbTT95vNhyp+s/AV6D+Lxzw/vDr8qjtqKZH7sVcLRnqjVjKP5YK3BAD7s6cMVm+evx1zl9D/c798PZ9ub16Ou8xW8PD7t3x/+8PD+yJ8E2/4u4OirhPRzvf8p25O1wjk/8pqhHB8fdMrtCOjs+CuH9bs7tYfRF9fnBq4S2PF0fajv+ebww15dgNuKjbdxnc/tePjlrxs+rdfDrhLEx+PHw/2WH9vZgdcJ5Kc/7u9eHvlTRduRnB15lVBOo4Dnw9NRGeC3YpkdepVg7l67EeVuN37HxsOvEtTh14/Hp8Pvfng5PL093D0+KLbeCow2cZ3gHu6efiNPI+uObHH8db7IH/cP7w9vX54O+w9/ezr87uHd3x6fX/78Yf9+Q56tNLY14N7n+WyObe1RP1rDzb+3Ofrd0Mldj//2S9vX+ztWHiOjVRFaf8pQQWH0V9ZZW2j/1C4pMwz2LRuVumavcrRoNxbWaiGkFdu2msjwtV4tj6xc4McqJcODpYb6rAyZRneoHO8/6EXHte7DYP1xLLQ1S2peTLaw0nh4K9XjtQi3FJIHb+RNBmveWcZFbDQ0HcfagQ062ejX2iaz9ne6Qc/GwmtAWiuyUVMbLo5pvLZSFxuStrGgVtCtFdgWfxu8k65LWPNeuhHFVoM8r/Gebjxvy/iwq87beHt/rfd0UylDmS1neHN+NO/rtv4m7eZ9eNlvD+n86KuF9P5p//Dpfv90fKEViNWg5sdfLazvP939dHj5y/7Xtx/3D42x9mp8SkNXDvTvj58e3h0f3l8e6bKlS0I9/w1Omybpv7rZG/p/Z42HFCxbXH02wTzKLV0RctL1Se1dp9UmP5EzNmc/dZ1MeZ4BOVfrMQZdp1rpHZNTbukTd4XSHN6QQMYHNZ0JpnYoaXqNdSM7v5Rm55F+KeNdxq5Q9I4iiWKwe9gVgN4pJAEMdgW7Amh3AEkQG7p9XYE0qjkkitEaTlcI6/1NEsnGXmb35as9elauYBvGzF0BNQshJJbx8kff58Irp+zDGKiXdp26t0pKYrmoNtqXwCulR5a+WwqOfZ+UXmZkH85gcVELYdkv1HdQ2LY35tqO88tdMbs2mlf2w5zfrla25dy4IWfHVpz1LW9f9i/qBnrwlv4P9J+9rb3558qf8CW+0WUM9HTtlQydp+zo0cNpe/v0q6du9+rhrB39enZCfETdN8fnl+PD3WKxS306HbzazJFZ+j09fuyqr9A39qdihzTrZ+h2Zv7XDN7r9DCG7nkjoXTf+1of0SX3wJFgW/1JPb7hfuVISKu3Zz2ubbfpoS+3cbtufJ+jt+2RkNpDZj2oDUPnkbDanWA9rA2d4aELxUqto3HB2FLzGA1tZRzTjm7LeGYkwPZNWo9t3P8Gw9KLNa2gBos2Y19lu3jT+h43FHFGQmsUc/SoRos6IwE1ijt6QKNFnpGAVoo9elBbij5Dd8b1ykvj3rixArMS4KJn+/T48Zv9y/77/fPCGqbe7fId3T3cPzy/HD/sXw7vXh8jvLZkvHlAf4+3eY9dP0fH4uv2X7btZtYR2Jab2qZQm/eOjkDH7yEbw1TvJV1Bjt1TNn7pzXtL15c+fo/ZFKp+r+mIcvCesylA/d7TEeDgPWhTgO17UUeQG+5JmwJtDCQ7ohwdUG4Kcf322RHpxtvo5st7e0DQeYXfMDDYFHBzzNcR6/jYb9vnyotFPR/mQNFoU2i9xaOOWC8qIm37ga1Ubnp+XlsqONs+ab2S0/PhDlZ0ekM87+z+8fjw7q8PrRk783f0d2e/P21Q/VZZ90safXN+AO+/QrCjssBO2oaFvhM+PH796en58enbemXpPfXysEuC0DZuZ2debNneyqq+0398evyvg7pElQUxO+KaoWh7cdFPAnfjuvz0GvWw0y+k5/LTv4wl4QtJvisEsT/ea5sS0yi+vP+aYex/2R9fTmWA3jjOD7hmIE+Hl09PD/+T78nBAjk/4JqBfOA3IxbCh4E7T+fJ+R4M9OSw9cJVTq5XV5QQBumiO5DfndJsOJr5UdcMqVk3YdGMF0o6f7D394+/fHN8/unf+FiU/mbnx1z1TnJ8eH9/+P2pX9J9Q5kdcvXP5m/7p5fj/r7xyHP1I1ocetVP6sfHX/5+uHt8Up7bQT+q+THXDEeZ10w7gIdr3/weP94/vi9P+eu+3M8PuWYwjREIC2R0yNF5++NjYXrjGxj8dn4CnaNd+nFcMrzt/OXoNS36oxksYg11GvtvR+NFlN6OUhMbeFdpXBf6g2mXxrR4NtTCeu/UKh3w+/SYFXT3Zls4oPRnhzWgLxi9/M/iGKz3d96Z1QI/vRmPVfR7SxCtEj6vPgzX7PtCWa+As3A2lrzVkBY1rpUC12h1q11kGqwwXVDZaZZ1Bk/UUcPpKOCM/nWtak2zVDN4omZdplmUGTzRWgVmrfwyerq1WstqoWXwhOtVlfWSyuAp12vJGwrJl5Zs1us1g6dsFWdalZnR0zTKMK0azPhpVkoc69WW8VP2lFY66yqDJ+9VgM0EcGkNZ72AM3oh6KnWdJVqRu8ZHXWZnqLMlr+3swIzUn4Z/et7ai1dhZbBE7eqKq2SyuBpeuonPcWTwdOuVUrWyiSj95dGTeSigsgVqyHXLYVcVge5uAhyaQXkCuWPy2sfVyl8XKXqca2Sx2X1jouLHZdXOq5S5rioxnFpgeOi6salpY2L6xrXKGpcpaJxrXLGei3j4bS56epWO8pb+2scKzMZaMMdo2cS/SWTSngYvcWJ/mBWJtjwMNZLMv0BtFGLn3+1K9Z/+uPD3f2nd9Pa9L8cXvbv2hMreEBaK1cJsU8PeGAXMEJveD3MzoPb7O29ofXMjuChbZ4m0f+prZGH9pltso/+XOtBEC3XNmtIb3irLMIj2+YjvUGtQgkPapuY9AbVRSc8sO2G0n3TWdVh5b6zjYl7w+o2Hh7dZdgzcjfo4lv9hrDdcXuD7JF3Ht9mgu/+/JqzNpQPbXz6Rm84g/M4eHzXmNDR/SNZWanQ/olsWaMw+omuzg1SPsRtk4QaYfERTqnp3fUNcebvHVil8NvH/fPz64KJ3swiZ3vTaGmtcwt/6ObhGAurczzWF0LvgIwFMjQi6wunqtvrRz4e0uL464S1PlJkwXQOFftC+PTx+bAliM/HXSeM1SEri6FvzNoXwIZBKwtp66i1N407h608hy8Zt/YF2DlwZeFdMnLtC65z6MqCu2Ts2vvJdQxe+ee2dfTafensG74q180Lxq99AfYMYFlsm0ewfWH1DGFZWJvHsH1h9Q5iWWgXjWI774g9w1h6U9w8ju0LbGQgy+K7eCTbf4foHcpqN4mLxrJ9YXYOZlmEl4xmOz/DteEs/eA2jWf7Ahof0LIIrzSi7fy5dA9p6Y/lsjFt56faM6ilH+TmUa0aGB/W/tvHd/tOuJu9tX9Qu3962v/2x+P9y+Fp+ARv4OC1Lu78r7nqKJsEd8EguyvQ9TE2CapziN0VQO8Im4QxNMDuCmZkfE0CGh5edwW1PromoXQOrrsC6BlbkxC6h9ZdQayOrEkEfQPrrtNvGFeTgLYOqzuTt3NUTTP3kkF1V3idY2oS3CVD6q7QOkfUJLRLBtSdn1rHeJp+ZluH070Xyr7RNL9KXjCY7gqvZyxNIts8lO4KqmckzbonWwfSXUH1jqNJYBcNo/vufD2jaHbz2zyI7gprZAxNort4CN19N+gdQSs3hIsG0F1Bdo6fSXyXDJ/7Pr+10TP70DYNnrvCGR87k/iuNHTu+5F0j5zZT+SygXPfJ9ozbmYf4uZhsxbW+aj5zw/vDr/++eGHx6cP5etpjJqVt/aPmn/4dH8/2vCb6SDeY9WiH7++N2MYvb4PhrV+6WxGt/HSuSHIxs9rNcLRX9dgeM0FrM3g+GLWK4bW7O03Qxvv7Y+HtrKecy2+LXtmDQbZGJI0oxsdkgyG1VoW3oxreC++wcCay8ebkY3vzjcYWscS3maAreW81/xqW93E9nc73E3cGNrjuw2JNzv2v+cuwXux7bvDQC92MJzeXmwzvot6sesBn/fGvn467F8O5ZjDc6Mrxt43MCVvf/fT+6fTI8qH2n4zO453yOgfoJV5H47//ESzWA/h8zGXn/5BqdjoJ3/AYs3WU3+sS9WrAf3h149Per9Uj0Zv5PIAnz/un3iFRo/n8zGXn/7w68fj0+F3P7wcnt4e7h4f+NMJ9VDo8Vf4VF4en/bvD394eH98GP1w4NDLgzn1bo4v/+fT49OnD2OxwJGXh/Lz4Wk8fb8cdHkAvxyO73/ke0XoAXw56PIA3h1+2H+6f/nH/f7h/af9+8HkIEdfHtJrY/94/Pnw9HTk3QU9Jnb45UG9HH59Ke/89y0pQ46+PCT77vnjj4enw/awlBYuD+3742hOT0dcfmplpyT9zK0tk4ZOzPdOapy4sYnS0If96e6nw4tWQWh85OfHXeFSdrx/d7d/eve35jSFxlWNHX95WD8e3707DIby+ZjLT68MK/Rzj4wphnomnQOKRt/kktHEUG9lS6dytNI52KvTCuDNrtxQ9XvwWqMXvppXnMGC19AtslV7aNwbhwsPQ7+/dvG38TvcUPkdDaxdOm/HtqFuPtZJb8xBafXQRyegjI4clHpqe9AwUkwd+xKbkzta3+D4zI6hbr06raPRmR+b0zESjj6hQw9ncDbHUAGlOZWjUUYZn8cx2INamS3R7D1tmSqxEh57uq5S4/vycN2B4t7Cc785PN89HT82q51n7+mvHDavZ7TZjo0wFyEPFuz4eZvFut5T/sR3p+Vn/KmxOW3vCfV+Nj8n6WOvVqM7wlCGfzyGkecYdQfAh4FKAAPPMuoNoF0j53Eo9fFrhKPXynkopE5+jTAGCtc8rp6i9TUC1QvYPC5SvL5GGH2FbB7SShH7Kp/SWkFb+bDUYvY1gmpUk3k4rJJ8jUAaVWUeCKsoXyOQnuoyj6hZWb5GaF1VZh5bu8J8jeB6qs08tmal+Rqh9VadeXirFeer3AGV6rNy78PK81VCaNZklUB4PfYqF4Su2qxybWjXZTeGhyMLfOvXjx8+7u9eYHihvKs9xlg502mKw8ppTm/ZcI7jE3zW562/vjje7tuPh7vjD8e7vdb27A1D7f+v4/NLc3y3fMPA+O60yO0v+4ff6qIunoHz9wysa7376eHxl/vDu/cHpd9LWn4DR2kjIAhcXfh2et/hXXm0dn8MeNh1gviz1mFrhfDnxnSDRgDBe/fle/7HP06psunkt5+P7Yvh9jzwVta1H2OO7xmYjzSweJmeZXzV8uIP0qasPz7dHd4enn4+PP31+9OFmz8RgkfFD74soNVp2CyQbfOv+wJaKQmxcMbL273BrEy1ZsFsmWPd+8k05i3zz2V0wnJvzjTr61rOjNfWewPS6+o8lsGaem8Yej2dhzFYS+8No11H56FsqKH3htNcJMNiGV8d0xfIeiGfx7OxiD9yBV5braNdhDct0+kLa2XOOotoy2T1zs9ImwZOP5ih+d99AfRP/GYRXTjjuzO9VxYsKsm9ZaVi96emz9BQPqjB2RmNQGh3c22M8/kt1x7izBseGeF8iXp1bNF9+tkhoyefrS94vL+vA+bZeP3cRmfv6P9Y1dn0y/ZW5tHPQ9SudsrgiJ2uORjqO92jPuxhZ/zy9ktOeuz/it5M7x08Xe+QUzvj2kgTjjs2/tjT3fGvD/eUW1dOf3t2bHccr6Fr3vbpyBfHrIQyHXetMI7vSpmoO5LPbx9MhPNrxKk49eWNrVVI/J1j1wztO2+0/ebsOP53Kn9CYxjw+HT8v6fi0edjRmPSGrlGgM21za2g1p/TOxaI0q1rhTDSuRsLpreL14ruoo7eWLiNYVUrwtHB1eBnqHf4mh/bYLdvLKhmEacV1ngpZyyw5hCrFdj4QGvwd9kuCjZ/nxtKg+PBtcfLa/FtGDWPhdisYbaiG69kjgamlhDbYY0VEke/0GY5sf1tjhcVx4LTS4utuAYLjOP9C15mXOtQDBQbx0Jqlxybfa/xwuNYaOtVv1Z4G2t/g7fy4/uHPd3JqHknfz3qSiFhn/20b8f3++fmvgHsff399R/KrL2hdt98Pkbvfy4C3zhc4AF0DRZ6Q/jSy/98xFg0vIHLA2v0zHkgo/3y3kBGeuU8sov75L2hrvTIeXRb+uO9Aa1VhPWoNlWFh77W9kBB+SY3DBN6A1odJPCQtg0ReoNaHSDwoLYND7ovDeuDA+USsXFoMBLY+sBAj23jsKA3vNVBAY9s25CgP6jmgEALaXw40P8lrg4GtG9w21CgN7D2QIDHtGEYMNJz0AcBemdhcAjQ3ZdaHQAovalt3f/uO2BX51+5B27v+jfCU3vZOk2St/X3sd919yvPgfD8qI7OZBsoXx5f9vetcjMN4fyo64Xwl/WfDA3iL99fI4zHn4bOXt6+5aQ4gfhP5w9JqVOGT//UPUn4rx8PT2u7+eJ7+lO00W+mjdI+8/mHswh389WBn79xZdgSxnq/hYfR6LNsCaPZ2eQR8I7mps+AjzeVP3xgrNkbQO84k0d00RizESL+kP/29PjD8f748P5/HX4+3OOvsf6y6XuG1hv8/fDh8efDvz0fnvgZFq93X0j+fijlE/0qMnvDwF3u6fHjt/un9/wZO8tG38wO4Kk7j1Xr9xx++cfd56pa58kXB10QgPLDIWcd+dV0nbr3J0Niuej30hVc46ZC4hmtwnSFsFZ+IXFsqrv0fVl6wYV9P4OVlq4QmiUWEsR4baUrjOZ9joQxXk3p++G2yyjsB7yhftIdSrsDokSzoWLSFVCzVEJiGa+RdIahFkdoEGNVkc6vplkOod/LeB2kKxS9AMLur2OVj64A9JIHCWCw1tF3s28WOdiNfry60XdnWR24sHvLtnqGFtCi0/jptO73w/7hndJpxNe7O41vD/unux97NiLi77x80nGj3fbkYyV0fV+G48Nxwx/3ZnbkNULRZu62gmhO3V09PebT28NLz2hHe1t3dn3z/duX/UsLuefvGKhr3O350zxIg29e38w/PQhybCzATjcyGOg7ee9ogEVz0XCgL7zGeIB+HYMDgr4g1kYELJJNQ4LOr0wfE9BvaXBQ0BdEc1TAwhgfFvQF0hwXsEDGBwadP+P2yID+nDcMDfqDaY8NtHg2DA76QmqODlg048OD3kDU8QEPY2yA0PsFNUcI/NsZHyL0BaOPEVgcg4OEvhD0UQILYXCY0BdCe5zAwtgwUOi846yOFOg9Z9tQQQ1pXgL+eL+/a9eAz9/R398a2faDnGN80w/4U7YVM5ZxrO9w2nfiH49a7WJ5zum9l5zu08fTitHeE35+9yWnvNfq/cvz3Tcr/T0ne37s/+um915yutX64PKs2wqEPcGslG6XoWyp3fb9mBolOfZTGq3J9X01K0U59tVsqcr1BNMqyy3jGK7L9YTQKswtQxiuzPWEsFaaW4axqTbXdZ1oyRO5VAzTU08QPRXCZSybS4S9F7Q1ZeDXtE3M0BPSCgUto9liQV2fjaa45AMZYtyek/c77jKaCyG3K5VXGZUk8jZH7fq0WpBKPqBhSVWCOO9Dzx/ETiJZPva9qwe9f3ra/1b30u5s9g0cwns8Xc+zH+m+k0CGe+9dQTU77ySK9b5712m1rjs5Y7Pn3nUyveNOTrfSb+86odJtJ2dr9dq7TrXSiyan3NKJ7gql2YcmgYx3oTszWu1B03we60B3finN/jP9Usa7z12h6L1nEsVg57krAL3vzC62Y13nrgDaPWcSxIaOc1cgjX4ziWK029wVwnqvmUSysdPcfflq95mVK9iGLnNXQM0eM4llvMPc97nw/jL7MAa6y12n7u0tk1gu6iz3JfBKX5ml75auct8npfeU2Ycz2FHWQlj2k/WVNeevD/SSV3b8W7Tat93fLFi1D/Fy92NjL/PlqeGIC079+O74w3Hs3HDI9pPXXufQyfGQy0/ON1jUz9zYXVE57TJ3T6ByaPfXPr+lP4P/2dvam3+u/Alf4tM+vO5Tfbr4VCvjGDxfz0hm9aQfPt2/HLvP+frui07ZMSaF0/aOSldP3VcggLMPlAhWA2gPjOHEHUPj1RNq6kNP2GQf/YTnP/upZ3D4slVLo8yjvnkATZvPpWufQHtA3flfrf89Y127lUhGunnDIfV2+VZivKj7Nxx0Yzi1Eufo0Go4tLVe6kp8m3qs41+63ntd+54He7LDoTUrSSvBjVeVhsNrjhFXwhsfL45fYNolwbULzYby4KYQ28P+jig3lACGA212RVZiHJ+VtyE8tda5GtxY3XPDV9ysga5+v+P10OEQ9droSnSDddLhwPSa6Upgg/XT4cDatdSV4DbUVcfvvKsFzrV777ZiZ0+gy1Xon6+0/+v405dgX9egz17tXu7xp1MRptGlPn+9vxddu3a0C71o8M2XN/Mu8yxEbRLl+fX9j0+PH5rzKZU3Dyxlac1pabW+uleH/pd03Ru/3b/f8De/oY1cKcAfT1/fhphej/tv+Zwu/owGJjAMBvph/+vbl/394eHw/Nx4qPVKtLyV64XMrk5fjlEuUPM3dF+jlod2/7rP3tz/6x5NFTxJ7040+t91zdRYRHe91OgIufPXvwhy+eu/NCw9o7qzaTiTNn1hQ1+W/ilc54vZfElufwG/e/7t4e6b4/PHx+fTzZ/FAW9pXy12kj63/d3+y5GH/+xt+s0/zg/7h/pXYuT87/v6/tPzy+HpVFpgAZy93J9Md2Ntvpm/n/8153FqfZ3Tvtovn576Tnr+7pFTdj8qST3h6sOSzo78EqX269g//7jp9LfTkQMxrDyj6KfDb1za1mN5PfSiYPBO/5fHh+PL49Mffj48vODq89lr3ff36ajGZXj+joGfzOPDw+Hu5dtWBY60/YYcxz9DCF291u6fXr4/7F/++HT456fDw91v/aEox14Szofjw58uiEg//JKgnstznKf3Hh/e/+XxHb0AsIiUYy8J5+7p8O7w8HLc3/cm5Jv5IX0dl75g7h/fH+/292/r2PE1K48Pn5RqGYtupY1rhvv8ePfTYfxHtzzsmkF9qO+a9lzp/tiWh10zqIfHbw73e/rEBRbMl7df9esqv57ffaRsr//c6gHXDOSl/7f2cvXf2N3+4e4wVeC/ffzpQIs79GdPDrxq4h5e9qf9h7sz9sv7r/r5PH74+HR4fn7kMx34XfT8kOteEPfvfr+/P33ytGvEL4CzY64Zzsenx19/+9PjM5UVFsv5AVcP5G/KFA01kL/hNI0rBXLaEfVBIRM1mLODrv/J7J+ff3l86k4ZPOjCgNz5bk6N3s7P+6fjaWx52s1p+bZ/MStDYdw3qnGm1z2jlm/ZcA46Ijh/qd1vtwnaY5ubTYf+j8U7Bqarvnt3uih1Nvnmy9t5d3IZq3Z3Ox/Rrpx0ZeuwzjP++Pj80v13vr75wnOeFp0dfz50n/bs/Reeef/0/XE2D2/ti/3y/ku/2XN0WftmW7bSfcbD09PjU+8pX9986V/5+PHx/vH9b/9+eHru/0m+WR52YRwfjg//cXw6DIaxOOrSKPa/bokCj7owijLX8Nun48dZUXAlCDzo8u/j71vCIMddGMn9/vmlziodiWNx1BWiKLMBvtm/DAVxftCl30n/t3CFs318On7YP/3Wfcn//PYLz/t8eJnNyFk575e3X37ewd/97IhLr/2vj5h/130DOD/i0uzuKUWtJXtvKWrrlfkvh+fn/fvD6UE1v/9tIDB+6BXuFKdf9u8XT5nvuFnggZfH8vvnx4e/fv9fh7uXwVgWB14Yy/H57um3jy/dWXz2/gvP/P8wSVs5+z96NK0VgQ3WyLxv/ruxkcj8kIsj2N/f/2lkgHD2/ovPfXw+YfFMfle//bMjrnD+08Oifn/Yn4a7/SHMD7pCFKff99incHbEVXJwJPmucc6P58WptY5Ca/lQ85zn0wEO//x0jjhr98rXd28567wq8u3+/duznT1qPaT+Y7Na0aTwRStvVth7ioLL67fKmO6sLgZv6a+zfHx6vDs8P3O7Zq2+OT9C+WMgXrVW/elBeZI2PfGX94+edjbno6Jxg7Hn77jmhDTScu8sNAib/21vSx+yZn/jDyRvu+ZfqTXf+6eyv6KJYm9fu85NzFTDajRyhQDVKciNeNqTjwdO//j6kDZtTYQaBB55cSgfnw4/Hx8/Pdc3D8WyOHRTMIvK9df7j/vvj/fHl6M69jh/S/Mn4o09u649PL88fbp7UYt/i2bfzI9p3dVmUV9S9loGMVT36oqjpwhI4hipAipxYCdq//y79++fDu9LTn/96el54MtRDr5KVP9Rl4XCdIeOiPDAq0Tz7eHXl/rMk5FQZkdd57v69PLjlg8FjrtKLKeH1n5ZAfQ8NT8SldrC1eIrT6g5bI1tcfTlcT1/+ngaFzy/fdh/fP7x8eU0LOz/JrWjL4/rbkqOb/c/Hf6DLehev1CrDVw3uq8Xi1RHQvt6de+Mdlw4SJq61hSP5y928/HrYS1AJu+5ym1Ya7frPswCH9Fk9eTtEWL/WbWKu3ritZr7wLlPKyH0wrsaAR52jTj+oJfgW3H8Yb0OP/RdnH5my0tf47t4PeDyc7/sSdFKP/NL62FeA+c9zSjbvxxZxazxwzs75moRnK5sv/2BMvxqJLNjL45oSGTU2DaZzECUzSnwq9ENTYIf+uzu9vff/vh0eP7x8f7dSETkyGvk1ofH5rimlVqLQ7fEA90GPs9EjaI902TozD/un//nw+MvD29Hr3LLA68TzVntf0tM9PBNkZ3Xtl8e/9+3f/3fA/2A1/dvOjMpHJ+9s1EW1N/dXx3sXUOzcq6LLyWrM5OVK8pAiJdcW9ZXan99fzw8vEwXetrtJu+4FCy0Jtf0ggWrOc/Du7PJ4F2nvX09pvvkZHncbNXn2QEtByDvG1jUtv/0vL//+vHh+fj8ckrgoVO8YYd3/P1r5ehpQD0Wy9lRl4fw7vDD/tP9y7dP+4fn/dpWgXpMrWauF2TLE9ZjW4WElZDOk/YPD+/WM3bxpv50/eHxiWsOb/PN6/v5H7aMtnXar+8PeyoCrXO/HnRhAM1t35Tz8+3euk+/gIi3gETzQs/0av9XedQKgOctvTmuFfpeo2pN43zW5kTMTvXlrRec7+XXh//96cP3B61sPzvj+ZsvOOfx+Zvj04s2ZXL+cX5+69j5ZjfHUy39+OHw7q+ftNkXs3PO3z56XrY4ZHrfn/EODa9e2s9gza31MTDA9eRfPddt72/gz+/WF9z/x/Hlx7O70df7+/vTRrMQjfKuSz/QVrNrH6wWeCNXzmcHTZ/y41N7ugxr45vjUy21kcY+v7a91T8+Pn39YZEOy3cMn0FtuKO9WQX8y6e+HBx+ea3/yv8IXQOtsTePK32l88jU4fbT4e7x58PTb/N1uOo58e0XnPn4/Lfjw8OB1HXxpGfvvOh8b1/2Ty9sFiI549l7Lzrn7+5ejj+TEuryjJ/fedH5Tv53fHnp+1jP3zx01vPyRNcYYPmusclKjV1zlabV7XKVP29t+8qVjaO1KNQdo7eFsT5xq/VxdMzb6g/lw/7Xmj/6htBaLMtDL/5c+Nbt6ocxsGd7fxC9m7VrUV20S3t/mI3pbFpko/uyD3xm+l7n6sc0uMn5UEpvSubBbc37A2pucq0FNL679UhA6rbWejhj+1mPXAybG1nrV8LxHaz7g9K3rtbiGdyzuj8UfbNqLZTBXar7Q2lvT62Fs2Ff6oE7+uqG1Oo9fdtO1M3QFnTAh57XGmsODS47RpOlZP+H0pl8Oo1Fy7Nm4Jz0PZf+IXqja38VD5kP8v7UWEJ29trKIPSsSPTD0+OHty90SRS292b2Xv63nMfXOOPpbX9jq4LoOc/efdFZ3z79/PfD3fleMO0/9eztI+ftnTa2OGnPdDF+ysUWIOsnay7u6jgLXdS1OEtzOVfHWer+cH/bvyynEC/ONXvv5jMen//8t5/D+tk+v29zSh4fnj8e7jo+xC9v3Hyul8feH/nZOy84W/8PfPbekTM2r8kdp7v98p//YtY2kj1vhzZx2Y+xHdXtqZF/MduDW9lttu+nvBLjx/J/V43x7L73l8eH94/f/P7LvPdTT/X54/5u+ZXrb73KXXGl+Z6bZOOPGb+LrMXTc1PpCmgxHoRqe39AZ4deK56z0UVvHAPDi654+q63a1HRy+91Y/vleFrWsvn7Wxx+xTjJT371h/7f8vPe/KO+wk95+w/4gp9J+8ex5Vzrl4jNF4aLf349P7ot5+37afX/oLpjAD1G0G3/NM4Q5XwRUkNRyNv6GWVNMLTG+wiD/QXrf+vbw8sJ2Vb/2Nf3Dfy1Q02++aXrD/scrnbS5kSkxtnXJyONhPFfj5+eHvb3YzF8OegKAQye+qof/raP/ioh/HB6YMnY+V8PGTn5f958dTyt9vzqX/+/r36e1iD861f21t3mr26++uF4uH/3/NW/flejujmr2b97vPtU/vM/p7f9++F0fzu9ub77f+y+uvludxPjbYrxP//z5rvXg8sL5R9e2/jyL+VA89XNd4YdaBYHmtmB9qub7yw70C4OtLMD3Vc33zl2oFsc6GYHylc338mNmFuf8uxAWRwoswP9VzffeXZGvzjQzw4MX918F9iBYXFgmB0Yv7r5LrID4+LAODswfXXzXWIHpsWBaXZg/urmu8wOzIsD8zwBTvlgaO6YZfIYyJ6SPjx/SALNM8ic8sLQHDLLJDLzLDKn3DA0j8wykcw8k8wpP4zcRHsbQ5ofvEwmM88mc8oRQ/PJLBPKzDPKnPLE0Jwyy6Qy86wyp1wx8cbHW7+DsJeJZeaZZU75YtJNyLeyk/nBy+Qy8+wyp5wx+SbIbUpw8DLBzDzD7Cln7O7G+1sz/+HaZYLZeYLZU8pYcyPuNvr5ie0ywSxcoso1yt6I3Fr4ky25Ss0TzJ5Sxrob8bdi/fzgZYLZeYLZU8pYuZF4a/BvXiaYnSeYPaWM9aeDF3/zMsHsPMHsKWVsuJF0u0twYV4mmJ0nmD2ljI2ngyNcY+0ywew8wewpZWyiBy8TzM4TzJ5SxubTV5XNPLXtMsHsPMHcKWfc7nRmcXZ+T1lmmJtnmDvljDM3Ym+ddfODlxnm5hnmTjnj7Ck9nZ1/VW6ZYQ5uhOVOSDPMkXvhPMPcKWec3Ei49Rb+5mWGuXmGuVPOOH86c0jzT9stM8zNM8ydcsaF08HZw8HLDHPzDHOnnHH01uiWGebmGeZOOePSjcu3ycyPXSaYmyeYO6WMy+yS75YJ5uYJJqeUkR07WJYJJvMEk1PKiGEXXlkmmMwTTE4pI/ZGdrfGzP9mWSaYzBNMTikj7iaEW+wxLfNLoLNVelvCrvhC+lvz/JJTxoinBy/zS+b5JaeMkUAPXuaXzPNLThkjkf3Jy/SSeXrJKWOE3iFlmV8yzy85ZYzkU25aBwcv80vm+eVPGeNpfvllfvl5fnmjntkv88vP88ufMsYb8nn5ZXr5eXr5U8Z4y74ov8wvP88vf8oY726Cu7Vmftn1y/zy0KEvPXq58elWDHTpSZ9+nl/+lDHe34TdrXfzn5Rf5pef55c/pYwPp7tFNvPLrl8mmJ8nmE/aCMYv88vP88ufMsZHeuJlfvl5foWSX4ndpsIyv8I8v8IpY3w+HWxMmB+8zK8wz69wSpmwO/3NWeZ/c1gmWJgnWDilTDA07GWChXmChVPKBHprDssEC/MEC6eUCXR0EZYJFmDUWIaNQg8mA8d5goWo3ePCMr/CPL/CKWUCHZmEZYKFeYKFU8oEPtpdJliYJ1g8pUzgI95lgsV5gsVTygQ66o3LBIvzBIslwejINy4TLM4TLJ5SJtKxb1wmWJwnWDylTKRj37hMsDhPsHhKmUjHvnGZYHGeYPGUMpFmZ1wmWITSRKlN0OyMpDoxz7B4yplIMywuMyzOMyyecibSDIvLDIvzDEunnIk0w9Iyw9I8w9IpZ2K68bvbmOeXsLTMsDTPsGTV/m5aZliaZ1gqGZbJ/TUtEyzNEyyJemNPywRL8wRLp5RJO3Z/TcsES/MES0E/8zLB0jzBUlTHRGmZYAnqX0n/sEkJbJ5g6ZQyybBuQVomWJonWD6lTLKkSpGX+ZXn+ZVPGZPcjbeLEXte5lee51e26gA0L/Mrz/MrO7U+kpcJlucJlkUddOdlguV5guWSYHLj863gwcsEy/MEy6eUSbQPlpcJlucJlk8pk8KNd7cpw5mXCZbnCZZLhTXSMy8TLEORtSRYogeTOisWWkuGZZae9bX54Wf/Nh1/ypu8Y594fQ2Ph3Lr7pQ62fDjScF1BxXX3Sl7suXHk5rrDoquu1MCZcc+vfoaHg91151Xr+L1NTweSq+7Uxpl4ecnxdcdVF93p0zKNGnra3g8FGB3p2TKgR9PSrA7qMHuSo2fpm59DY+H/Cu1+0yz17BS/6LWb9SKqKHVfsi/UsHP+XSVtBaxgOQfVvxryX+3438ASUCs+tey/87wBkgGYuW/lv539saH2xChDs6K/1j9N/qN1bD6PwJAFYCdo79BZgCIAFUBdkJuc4YxADpAhYCdp8eTHAQKMLZqU2DHEw0wwAGmVPjNLtLjSQ6CCJhS5De7RI9n6AQ5aGsOZno8SUFwAVNK/cYwDDFEBgzQgCnVfmMMPZ4kIOiAKQV/Y1g3xxAfMAAEptT8jXH0eJJ/YASmlP2NoflHlMAAE5hS+TeG5h+BAgNSYErx3xiaf8QKDGCBcRU8af4RLjDgBaYQgDE0/4gYGCADUxTAGDreNUQNDLCBqW7A6guGuIEBODDFAng92hA6MGAHpnAAr58ZogcG+MAUEaAlNEP8wAAgmIICvIpmiCEYQARTXIAX0gxhBAOOYAoN8FqaIZJggBJM0QFeTjMEEwxogilAwCtqhniCAVAwBQl4Uc0QUzCACqY4gbF8tgFxBQOwYIoV8PQlsmCAFky1BZ6+BBcM6IIRvfxrCDAYEAYjagXYEGIwYAxG9CKwIcpggBmM1+vAhkCDAWkwXi8FG2INBrDBeL0abIg3GAAH4/WCsCHkYMAcjNdrwoaogwF2MEUSjOXzXYg8GKAHUzSBpy+xBwP4YIonKOlL+MGAP5hiCkr6EoIwYBCmsAJPX4IQBhTCVIbg6UscwgBEmCoRPH0JRRiwCFN4QUlfohEGOMJUj+DpS0DCgEiYShI8fYlJGEAJU1WCpy9hCQMuYQo1GMtnXBGaMGATRscJQ3TCAE+YIg5K+hKgMCAUpqCDkr7EKAwghSnuwNOXKIUBpjBFHpT0JVBhQCpMwQclfYlVGMAKU/xBSV/CFQa8whSCUNKXiIUBsjBFIZT0JWhhQC1MgQglfYlbGIALUyzCWD7nj9iFAbwwUZ0/YoheGOALU0RCSV8CGAYEwxSUUNKXGIYBxDDFJXj6EsUwwBimyISSvgQyDEiGKTqhpC/BDAOaYQpQKOlLPMMAaJhiFEr6EtIwYBqmMIWSvkQ1DLCGKVKhpC+BDQOyYQpWGEvlzRDcMKAbpoAFT1/CGwZ8wxSzUNKXEIcB4zCFLZT0JcphgDlMkQuevsQ5DECHKXahpC+hDgPWYQpfKOlLtMMAd5giGEr6EvAwIB6mIIaSvsQ8DKCHKY6hpC9hDwPuYQplKOlL5MMAfZiiGcbyec9EPwzwhy2cQdPXEv2woB+2aIaxlI8t4Q8L/GELZ/BJfJbwhwX+sIUzjKUEbYl/WPAPWzyD/wAt8Q8L/mGLZ9C5WpbwhwX+sIUz+HQtS/jDAn/Ywhl8xpYl/GGBP2zhDD5pyxL+sMAftnAGn7dlCX9Y4A9r9NuvJfxhgT+sUW+/luiHBf2wRr/9WqIfFvTDGv32awl+WMAPa/TbryX2YcE+rNFvv5bQhwX6sEa//VpCHxbowxr99muJfFiQD1vlw9JpRpbQhwX6sEa9/VoiHxYXQVj99mvZOghcCGH1269lSyEWayHU26+liyEg/ax++7VsPQQuiLD67deyJRG4JsLqt1/LVkXgsgir334tWxiBKyOsfvu1bG0ELo6w+u3XsuURuD6iwoelhX/LlkiAfFin334JfFiAD1sgQ0lfAh8W4MMWyFDSl8CHBfiwxTF4+hL2sMAetjiGkr7EPSy4hy2OoaQvcQ8L7mGre/D0Je5hwT1sgQwlfQl8WIAPWyBDSV8CHxbgwxbIUNKXwIcF+LAFMoyjhX9L5MOCfNgiGTx9CXxYgA/bWEdhCXxYgA9bIENJXwIfFuDDirp41RL2sMAetjiGkr7EPSy4hy2OoaQvcQ8L7mGre/D0Je5hwT1sgQwlfQl8WIAPWyBDSV8CHxbgwxbIUNKXwIcF+LAFMoyjhX9L5MOCfNgiGTx9CXxYgA9bIENJXwIfFuDD1tUWPH0JfFiAD1scg6cvYQ8L7GHrkguevsQ9LLiHrasuePoS97DgHra6B09f4h4W3MMWyFDSl8CHBfiwBTKU9CXwYQE+bIEMJX0JfFiAD1sgwzi+XJ/IhwX5sEUyePoS+LAAHzY0Rr4EPizAhy2QoaQvgQ8L8GGLY/D0JexhgT1scQwlfYl7WHAPWxxDSV/iHhbcw1b34OlL3MOCe9i6OoOnL4EPC/Bh6wINnr4EPizAh61rNHj6EviwAB821rX+tPBviXxYkA8b1UkvlsCHBfiwUZ/0Ygl8WIAPG/VJL5bAhwX4sFGd9GIJe1hgDxv1SS+WuIcF97BRn/RiiXtYcA+b9EkvlriHBfewSZ/0Ygl8WIAPm/RJL5bAhwX4sEmf9GIJfFiAD1sgwzha+LdEPizIh03qpBdL4MMCfNikT3qxBD4swIdN+qQXS+DDAnzYpE56sYQ9LLCHTfqkF0vcw4J72KxPerHEPSy4h836pBdL3MOCe9isT3qxBD4swIfN+qQXS+DDAnzYrE96sQQ+LMCHLZBhHC38WyIfFuTDZnXSiyXwYQE+bG6kH4EPC/Bhs55+xD0suIfNjfQj7GGBPdxOTz9H3MOBe7idnn6OsIcD9nA7feTrCHs4YA+30ye9OKIeDtTD7fRJL46ohwP1cDt90osj7OGAPVxhDOOoGzniHg7cw+3USS+OsIcD9nA7fdKLI+zhgD3cTp/04gh7OGAPZ9RJL46ohwP1cEaf9OIIezhgD2f0SS+OsIcD9nBGn/TiCHs4YA9n9EkvjrCHA/ZwRp/04gh7OGAPZ/RJL46whwP2cHXFh7JjCnEPB+7hjL5pClEPB+rhjD7pxRH2cMAezurq5gh7OGAPZ1V1c0Q9HKiHs7q6OcIeDtjDWV3dHGEPB+zhrK5ujrCHA/ZwVlc3R9jDAXs4q6ubI+zhgD2c1dXNEfZwwB6urvdwVN0ccQ8H7uGsqm6OqIfDnaGcrm6O7Q2Fm0M5Xd0c2x4K94dyqro5tkHUYocoXd0c3SMK0s/p6ubYNlG4T5TT1c2xnaJwqyinq5tjm0XhblFOVzfH9ovCDaOcrm6O7RmFm0YVxjCOqptj+0aBezhR1c0R9XCgHk50dXOEPRywhxNd3RxhDwfs4URVN0fUw4F6ONHVzRH2cMAeTnR1c4Q9HLCHE13dHGEPB+zhRFc3R9jDAXs40dXNEfZwwB5OdHVzhD0csIcrjGGEqpsj7uHAPZxX1c0R9XCgHs43xh6EPRywh/O6ujnCHg7Yw3lV3RxRDwfq4byubo6whwP2cF5XN0fYwwF7OK+rmyPs4YA9nNfVzRH2cMAezuvq5gh7OGAPF3R1c4Q9HLCHK4xhhKqbI+7hwD1cUNXNEfVwoB4u6OrmCHs4YA8XdHVzhD0csIcLqro5oh4O1MMFXd0cYQ8H7OGCrm6OsIcD9nBBVzdH2MMBe7igq5sj7OGAPVzU1c0R9nDAHi7q6uYIezhgD1cYwwhVN0fcw4F7uKiqmyPq4UA9XNTVzRH2cMAeLurq5gh7OGAPF1V1c0Q9HKiHi7q6OcIeDtjDRV3dHGEPB+zhoq5ujrCHA/ZwSVc3R9jDAXu4pKubI+zhgD1c0tXNEfZwwB6uMIYRvlU7cQ8H7uGSqm6OqIcD9XCFMU4PSafnJ/kH7uFSo/dH3MOBe7ikr7Z0xD0cuIdL+mpLR+DDAXy4pK62dMQ9HLiHy/pqS0fcw4F7uKyvtnTEPRy4h2u4hyPu4cA9XMM9HHEPB+7hGu7hiHs4cA9X3UOoezjiHg7cw+nu4Yh7OHAPlxvpR9zDgXu43Eg/Ah8O4MNlPf2IezhwD9np6SfEPQTcQ3Z6+glxDwH3kJ2+2FeIewi4hzTcQ4h7CLiHNNxDiHsIuIc03EOIewi4h1T3EOoeQtxDwD1Edw8h7iHgHtJwDyHuIeAe0nAPIe4h4B6iu4cQ9xBwD2m4hxD3EHAPabiHEPcQcA9puIcQ9xBwD2m4hxD3EHAPabiHEPcQcA9puIcQ9xBwD6nuIdQ9hLiHgHuI7h5C3EPAPaThHkLcQ8A9pOEeQtxDwD1Edw8h7iHgHtJwDyHuIeAe0nAPIe4h4B7ScA8h7iHgHtJwDyHuIeAe0nAPIe4h4B7ScA8h7iHgHlLdQ6h7CHEPAfcQ3T2EuIeAe0jDPYS4h4B7SMM9hLiHgHuI7h5C3EPAPaThHkLcQ8A9pOEeQtxDwD2k4R5C3EPAPaThHkLcQ8A9pOEeQtxDwD2k4R5C3EPAPaS6h1D3EOIegg/M0N1D2BMz8JEZDfcQ9tAMfGpGwz2EPTcDH5yhu4ewR2csnp2hu4fQp2dA+jXcQ9gDNPAJGg33EPYMDXyIRsM9hD1HAx+k0XAPYY/SwGdpNNxD2NM0wD2kuoen7iHEPQTcQ3T3EOIeAu4hDfcQ4h4C7iEN9xDiHgLuIbp7CHEPAfeQhnsIcQ8B95CGewhxDwH3kIZ7CHEPAfeQhnsIcQ8B95CGewhxDwH3kIZ7CHEPAfeQ6h6euocQ9xBwD9HdQ4h7CLiHNNxDiHsIuIc03EOIewi4h+juIcQ9BNxDGu4hxD0E3EMa7iHEPQTcQxruIcQ9BNxDGu4hxD0E3EMa7iHEPQTcQxruIcQ9BNxDqnt46h5C3EPAPUR3DyHuIeAe0nAPIe4h4B7ScA8h7iHgHqK7hxD3EHAPabiHEPcQcA9puIcQ9xBwD2m4hxD3EHAPabiHEPcQcA9puIcQ9xBwD2m4hxD3EHAPqe7hqXsIcQ8B9xDdPYS4h4B7SFK3eRGiHgLqIUnf5kWIegiohyR9mxch6iGgHpL0bV6EqIeAekjSt3kRwh4C7CGNba6EsIcAe0hjmysh7CHAHqJvcyVEPQTUQxrbXAlRDwH1kMY2V0LUQ0A9pLHNlRD0EEAPaWxzJUQ9BNRDGttcCVEPAfWQxjZXQtRDQD2kbnPlqToKcQ8B9/D6NleesIcH9vA7feTrCXt4YA+/qzdfz57oR9jDA3v4nT708IQ9PLCH36lDD0/Uw4N6+J0+9PBEPTyoh9/pQw9P0MMDevidPvTwRD08qIff6UMPT9TDg3r4nT708EQ9PKiHN/rQwxP28MAevj7Q21M18sQ9PLiHN+rQwxP28MAe3uhDD0/YwwN7eKMPPTxhDw/s4Y069PBEPTyohzf60MMT9fCgHt7oQw9P0MMDenijDz08UQ8P6uGNPvTwRD08qIe3+tDDE/XwoB7e6kMPT9jDA3v4+ngPT9XIE/fw4B7eqkMPT9jDA3v4+ngPfvUl7OGBPbzVV5p7wh4e2MNbfaW5J+zhgT28VVeae6IeHtTDW32luSfo4QE9vNVXmnuiHh7Uwzt9pbkn6uFBPbzTV5p7oh4e1MM7faW5J+zhgT2801eae8IeHtjDu5p+VJ08cQ8P7uGdutLcE/bwwB7e6SvNPWEPD+zhnb7U1xP28MAe3qlLfT1RDw/q4Z2+1NcT9PCAHl70pb6eqIcH9fCiL/X1RD08qIcXfcaVJ+rhQT286DOuPGEPD+zhRZ9x5Ql7eGAPXxjDeKpOnriHB/fwos648oQ9PLCHF33GlSfs4YE9vOgzrjxhDw/s4UWdceWJenh8iLjXZ1x59hhxfI6412dcefYkcXyUuNdnXHn2NHF8nLjXZ1x59kBxfKK412dcefZM8cVDxfUZV54+VhyyrzCGCVSdPHu0OD5b3Kszrjx7uDg+XdzrM648e8A4PmHc6zOuPHvGOLCHD+qMK0/Uw4N6+KDPuPIEPTyghw/6jCtP1MODevigz7jyRD08qIcP+owrT9TDg3r4oM+48oQ9PLCHD/qMK0/YwwN7+MIYJlB18sQ9PLiHD+qMK0/YwwN7+KDPuPKEPTywh4/6jCtP2MMDe/iozrjyRD08qIeP+owrT9DDA3r4qM+48kQ9PKiHj/qMK0/Uw4N6+KjPuPJEPTyoh4/6jCtP2MMDe/ioz7jyhD08sIcvjGECVSdP3MODe/iozrjyhD08sIcvjHFaKbzcXt4T9vDAHj41Cn+EPTywh6+P92Bs4Il6eFAPX5/uQdnAE/TwgB6+Pt2DsoEn6uFBPXxVD8oGnrCHB/bwlT0oG3jCHh7Ywzc2ufKEPTywh9c3ufJEPTyoh29scuWJenhQD9/Y5MoT9fCgHr6xyZUn6uFBPXxjsYcn7OGBPXxjsYcn7OGBPXxjsYcn7OGBPXxd7BEo+nniHh7cwxfHUPKfuIcH9/B1tQd9MrAn7uHBPby+y5Un7OGBPXxuFP6IenhQj1BXe9DLRyDsEYA9Ql3tQX/+gbBHAPYIdbUH/fkHwh4B2CPs1Al/gahHAPUIO73sHAh7BGCPsKvpR9UpEPcI4B6hrvYIdLFSIPARAD5CgQz+cPVA4CMAfIQCGcnwL3CZgAHgIxTISOy5xIG4RwD3CMUxkjs9Wzx6yD/iHgHcIxTGcOb0BTrr4HiSf8AeoTiGLdev5flJ/oF7hOIYNt+I3GZ4rncg7hHAPUJxjCTsueCBuEcA9wgFMhL//RD4CAAfoUBGCjfe3aaM5yfpB/ARCmQk+mz7QOAjAHyEAhmJPts+EPgIAB+hQEbKNH0JfASAj1AgI+/o50/gIwB8hAIZ2fDjSf4BfITiGNny40n+gXuEAhnZ0c+PwEcA+AgFMpTLB4GPAPARCmRk4ecn+QfwEQpkZJ6/BD4CwEcokpEDP57kH8hHKJKRef4S+QggH6FIRub5S+QjgHyEIhnW3Yi/FevnxxP5CCAfoUhGzqfrp7WQ/0Q+AshHqM813+3oH0DoIwB9hPpg853hDZAMBPsI1T529saH2xDhEkzsI4B9hPpoc9oDCwQ/AuBHKJhhdo7+Bol+BNCPUDTD7ITdA4l+BNCPUDjD7Dw9nuQg8Eeoiz52gR5PchD4I9RnfOwiO57wRwD+CIUzzC7R40kOAn8EqTmY6fEkBYE/QuEMY3b0eJKBwB+hPtzcGHo8SUDgj1D5w9A+ENGPAPoRCmcY4+jxJP+AP0LhDGNo/hH+CMAfoXCGMTT/CH8E4I9QPMMYmn/EPwL4R6irPgzNP+IfAfwj1Id8GJp/xD8C+EconmFCYCWgQAAkAICEAhomRDqKIgISQEBCEQ0TqP8GQiABCCTUB5wHKnCBGEgAAwnVQCI1kEAMJICBhIIaJtIqdCAKEkBBQlENEy3/FkgaAoOEwhom0lJAIA4SwEFCgQ0T+WCOSEgACQl1/UfkgzlCIQEoJNTnfUQ6iysQCwlgIaHYhtKdIxYSwEJCsQ0TI6lGBmIhASwkFNvQegMEQwJgSCi4ofTnCIYEwJBQn3QeTv2p7CGJiIUEsJAQahYmmoVEQwJoSAg1C2k9ORAOCcAhofCGSbxHRjwkgIeEAhwmGRoBEZEAIhLqOpBkWU0sEBIJQCKhPvcjuZuQb2UH10NiIgFMJBTjMEn4n0DyEFAkFOQwyfMGSB6CioSiHOY0MCadQsIiAVgk1Ieep0grG8RFArhIqC6SeCYSFwngIqFAh0k8E4mMBJCRUKQjZnYtIDASAEZChRHeLycwEgBGQpGO0++AZCGRkQAyEop0aOcnSQgyEupyEFqaDkRGAshIqE//4JciIiMBZCQU6VAqc0RGAshIKNLBK3MERgLASCjSoVTmiIwEkJFQn3rOK3NERgLISCjSoVTmiIwEkJFQpEOpzBEZCSAjoUiHUpkjMhJARkKRDqUyR2QkgIyEIh1KZY7ISAAZCQU6lMocgZEAMBIKdCiVOQIjAWAkFOhQKnMERgLASCjSoVTmiIwEkJFQpEOpzBEZCSAjsUgHr8xFIiMRZCQW6eCVuUhkJIKMxCIdvCsXiYxEkJFYqINX5iKhkQg0Egt18MpcJDQSgUZikQ5eWYtERiLISCzQwStrkcBIBBiJBTp4ZS0SGIkAI7FAB6+sRQIjEWAk7rJeWYuERiLQSDQ7vTAWiY1EsJFo9BtwJDYSwUaisXphLBIciYAj0Ti1MBYJjkTAkWhELYxFgiMRcCQarxbGIsGRCDgSTVALY5HgSAQciXUvLFoYiwRHIuBIrI8+p4WxSHAkAo5Ek9XCWCQ4EgFHot2phbFIcCQCjkRr1MJYJDgSAUdiXRVCC2OR4EgEHInWqYWxSHAkAo7EuiqEFsYiwZEIOBKtVwtjkeBIBByJNqiFsUhwJAKORBvVwlgkOBIBR2LdDCvvyAggEhyJgCNR3wsrEhuJYCPR7fTLB7GRCDYSndEvH8RGIthInGyEfn2ERiLQSJxohH59REYiyEicZIR+fQRGIsBIdF6/fBAYiQAjscIIv3wQF4ngIrG6CL98EBeJ4CKxugi/fBAXieAisboIv3wQF4ngIrG6CL98EBeJ4CKxugi/fBAXieAisboIv3wQF4ngInFyEZp/xEUiuEicXITmH3GRCC4Sq4tkWhKOBEYiwEisMJJpSTgSGYkgI7HKSHa8AZKCQCOx0kimhahIbCSCjcRiHUovnthIBBuJ1UYyLWRFgiMRcCRWHDlVVJc2EYmORNCRWHUks5JwJDgSAUdixZFMbSMSHImAI9HrNelIbCSCjcRqI6eePOlHExuJYCOxUIc99eSX5cxIbCSCjcRCHbyUEgmNRKCRWKTD8qp6JDQSgUZikQ67o3OsI6GRCDQSi3TYHf8hERqJQCOxSAcfzUciIxFkJBbo4KP5SGAkAozEAh3KaJ7ASAQYiUGfpxUJjESAkVicQ7kOEBeJ4CKxOAevpkTiIhFcJNZFIspgksBIBBiJxTmUwSRxkQguEquLKINJ4iIRXCTGRm+QsEgEFomx0RskKhJBRWJs9AYJikRAkRgbvUFiIhFMJMZGb5CQSAQSibHRGyQiEkFEYmz0BgmIRACRGBu9QeIhETwkxkZvkHBIBA6JsdEbJBoSQUNiavQGCYdE4JCYGr1BwiEROCSmRm+QcEgEDomp0RskHBKBQ2Jq9AYJh0TgkFh4w+6orkfiIRE8JKZ6G6a6HgmIRACRWITD7qiuR0IiEUgkpnofprtURGIiEUwk1ieD8IsoMZEIJhKrieyoCUaCIhFQJFYUOV0EzG3EqiZRkQgqEnOdL73jEZA0BBaJhTms4YMC4iIRXCQW57CGDwoIjESAkVigwxrelyEyEkFGYpEOa3gmExqJQCOxUAeXxUhoJAKNxEIdVPYikZEIMhKLdFjDxxSERiLQSCrUwWkqERpJQCOpUIc1dMJVIjaSwEbSrmYh/SEmgiMJcCTtahbSQUkiOpJAR9KuZiGdcJUIjyTgkVS4w1pWW0uERxLwSCrcYS39HSXiIwl8JFUfsXRMkAiQJACSVMDDWjrfKhEhSSAkqYCHtfR3lIiQJBCSVMDDWnpHSERIEghJKuJhLb0jJEIkCYgk1eUjliciIZIERJImIqH98kSMJIGRpGIe/JaSiJEkMJI0GQnr1iRiJAmMJE1Gwro1iRhJAiNJk5Gwbk0iRpLASNJkJKxbk4iRJDCSVI2EdqsTMZIERpKqkdBudSJGksBI0mQkrFudiJEkMJI0GQnrVidiJAmMJE1Gwm4miRhJAiNJk5GwbnUiRpLASNJkJDT/iJEkMJI0GQnNP2IkCYwkTUZC848YSQIjSdVIaLc6ESNJYCTJZrVbnQiSJECSVBeQ2MTuIwRJEiBJcvUSmNm4PBElSaAkqaiHDTeSbncJroBESRIoSSrqYR2deZwIkyRgklTYg1fXEmGSBEySnFcnGiXCJAmYJBX24BOdEmGSBEySXJ2oYNhEt0ScJIGTpOIezp9mOoSE3yBJQXCSVNzDnvqj7CskOQhQkupDQ2h/NhEoSQAlqcCHdbwnQaQkgZSkIh/W8Z4EoZIEVJKkJiHtEidiJQmsJBX7sI53aQmWJMCSVOzDusgbIGkIWJKKfVjHu7QESxJgSZKah3S+aCJYkgBLUrEPy59angiWJMCSVPDDCp25nIiWJNCSVPDDCh0bJqIlCbQkFfyw/NmpiWhJAi1JRT+sCOOWRLgkAZekiUuoViTCJQm4JBX+sPzxl4l4SQIvSYU/rPBUJl6SwEtS9RL+CLhEvCSBl6TiH5Y/hCsRMEkAJqmCCX8MUiJgkgBMUgUT/iCaRMAkAZikCib8USCJgEkCMEkFQKznqUzEJIGYpCIglm+HnwiZJCCTVAjE8h21EzGTBGaSioFYzzORoEkCNEkFQSzf1DgRNUmgJqkoiOXbyibCJgnYJBUFsXxjzkTYJAGbpMIglm+NmIibJHCTVBjEBlpwS8RNErhJKg5ig2F6mQicJICTVCDE8g2aEpGTBHKSYu0h8kwkdJKATlKhEBuowidiJwnsJBULsXyXjUTwJAGepIIhNvBMJHqSQE9S0RAbeCYSPknAJ6lwiOVLBBPxkwR+koqHWL5EMBFASQAoKebGSIEISgJBSUVELF9jmAihJCCUVEjE8jWGiRhKAkNJxURs5KlMECUBoqSCIpavMUxEURIoSioqYvkaw0QYJQGjpMoofI1hIoySgFFSUvdaTQRREiBKqogSee+AIEoCREkVUeh0jkQMJYGhpGIiWgeJIEoCREkVUfgSv0QQJQGipIoofMBIDCWBoaRCIsqAkRBKAkJJlVCUASMhlASEkoqIKANGIigJBCXVpSV8xE0AJQGgpPqAdT5eJH6SwE9SrjnIL2UEUBIASspJX7CdCKEkIJSUW3dlQigJCCUXElHWnGdiKBkMJVdDoXWfTAglA6HkSiiJXowzIZQMhJIroSR6Mc6EUDIQSq6EkujFOBNCyUAouRJKohfjTAwlg6HkaiiJXowzMZQMhpKroSR6Mc7EUDIYSq6GwsdamRhKBkPJdZUJXzWfiaFkMJRcDSXRnk0mhpLBUHI1lNNCs2X/MhNDyWAouRoKH+lkYigZDCXXPbh4DzcTQ8lgKNnUTKR9q0wQJQOiZFMzkV6QMlGUDIqSi4rw6WGZKEoGRcmTotAZgpkwSgZGyYVF+Lr7TBglA6Nkk/UueiaOksFRcnERvlo2E0fJ4CjZ1uWezFEycZQMjpKt1YugmUBKBkjJtu4ER+/KmUhKBknJRUZstjfB3MZkoQGShUApudCIzXTZfSaWksFScrERe1ozyBogaQiYkguO2Myvh0RTMmhKtvV6eCPx1iy+RZKGoCm56IjN4cbHW7/DNCJpCJySG/txZcIpGTgl1zUniX8HhFMycEqui074vgGZeEoGT8nVU07ztUkaEU/J4Cm5+Ii1p4XTdvEXkDQET8l12QnfwCITUMkAKtk19l7IRFQyiEouQEI3LsjEUzJ4Snb6VNdMPCWDp+TCI3zjgkw4JQOn5MIjyvkJp2TglFx0hHevM9GUDJqSC44ol2KCKRkwJRcb4RsXZGIpGSwlFxqh05sykZQMkpJFH51kAikZICWL7nmZOEoGR8nVUejwMBNGycAouTIK3bggE0XJoCi5oAifqp4JomRAlFxMhG9ckImhZDCUXEiEzw7LhFAyEEouIsI3LshEUDIISi4gwjcuyARQMgBKLh7Cp9pn4icZ/CQXDuFLHTLhkwx8kouG8KUOmehJBj3JBUP4UodM8CQDnuRiIXzjgkzsJIOdZK8vecqETjLQSS4SwjcuyEROMshJrktNeP4SOMkAJ7kuNeH5R9wkg5vkutSE5x9hkwxskouC8I0HMlGTDGqSpz24+P2XqEkGNckh6HPSMlGTDGqSg74neiZokgFNct2Ei68VyQRNMqBJnhabsElFmZhJBjPJ01oTNqkoEzLJQCZ5WmvCJhVlIiYZxCRPa03YpKJMwCQDmORprQmbVJSJl2TwkjytNWGT2jLhkgxckutaEzqpLRMtyaAleVprwia1ZYIlGbAkT2tNaBeCWEkGK8nTWhM2qS0TKslAJXlaa0Lzj0hJBinJ01oTmn8ESjJASZ7WmtD8I06SwUnytNaE5h9hkgxMkqe1JjT/iJJkUJJclYSvGc1ESTIoSa5KkjMr8GaiJBmUJOtKkomSZFCSXNDD7Xh1lShJBiXJRT3cjldXCZNkYJJct9/iSz4zYZIMTJKLeji+5DMTJsnAJLkyCZ8Kk4mTZHCSXJ2ErxjKBEoyQEmuUMLnE2UCJRmgJNe1Jnw+USZSkkFKctZnV2ciJRmkJGd9dnUmUpJBSnLWZ1dnAiUZoCRnfXZ1Jk6SwUly1mdXZ8IkGZjE7Hb69OrpxXkL5//42oQ+w3p6cdGEwSb0SdbTi4smLDahz7OeXlw04bAJfar19OKiCcEm9NnW04uLJjw2oU+4nl5cNBGwCX3O9fTioomITejTrqcXF00kbEKfeT29uGgCs9PUayStd06vYhsG07M+wYSvSpxeXbSB+Vkf3r6jBjO9umgDE7SuROEbRUyvLtrADC0u4vj6xOnVRRuYooVG3I5ayvTqog3MUVNLOPT2O726aAOTtAiJ4wsVp1cXbWCWFiVxht6Ep1cXbWCamrqPJr0PT68u2sA8rYtU+JyJ6VVsw2Ke2vqkHXo3nl5dtIF5WsyEVvam1xYtYJbW57wbzzOdMMv5P762UbLUKL84Ii3n//jaRslSQ2cQTK8u2sAstTVLlV8L8Zbzf3xto2ap8msh5HL+j69tlCy1yq+FsMv5P762oa9snl5cNIFJ6uoqAuUHR/Dl/B9f26ilb+UHR/zl/B9f2ygXU76ucXp10QamaTEVx5c2Tq8u2sA0dfosnenFRROYpfWx8JYua5heXbSBWVqXt2jXdMIx5//42kZd8Kz84ojJnP/jaxtJLStOLy6awCR16n5002uLFjBHZadvBTS9im0I5qjoUj29uGgCU7TuDKZdz4nRnP/jaxuNB/dMry7awBStUkOlZ3px0QSmaNUafksgWnP+j68tBNV7phcXTWB+SlTJZ3px0QSmZ1Ubqj7Ti4smMD3r8hcKP9OLiyYwP6vdUPuZXsQmPKZn5RtaPp9eXDSB6VkFhwrQ9OKiCczOiji0CD+9uGgCk7M6Dq3DTy8umsDkLDTDKWh6cdEEZmfVHKpB04uLJjA7K+hQEJpeXDSB2VlNh5rQ9OKiCczOwjSchaYXF01gdhap0S7hhHbO//G1CaPi0PTiognMzuo7SoIT4Dn/x9cmnDpbanpx0QRmZ1UeJcEJ85z/42sTXoWm6cVFE5iddYEMne4yvbhoArOz4A3nqunFRROYnZP3ULGaXl20gek5kQ9Fq+nVRRuYn1GfeDG9iE1EzM9JfihdTa8u2sAEnfSHF2kI/5z/42sTTq0bTi8umsAEnQyIF2kIAp3/42sTXq0eTi8umsAErRJEC4jTi4smMEErBiklRKJB5//42kRqlBAJCJ3/42sTuVFCJCZ0/o9TE5MK8b4SYaHzf3xtwjRKiESGzv/xtQnbKCESHDr/x9cmXKOESHzo/B9fm5BGCZEI0fk/vjbhGyVEYkTn//jaRGiUEIkTnf/jaxN1aEQXhk2vLtrA9EytoRHBovN/fG2iMTQiWnT+j1MLuTk0ImB0/o+vbZjWuIaY0fk/vrZhW+Mawkbn//jahj6DbXpx0QQmaFYnsU2vLVrA/GysspleXDSB+Zn1qWzTi4smMD+zPpttenHRBKZn1ie0TS8umsD0zPqctunFRROQn2anT2ubXoQmDEqS2ekz26YXF00YbEKf3Da9uGjCYhP6/LbpxUUTDpvQp7hNLy6aEGxCn+U2vbhowmMT+kS36cVFEwGb0Oe6TS8umojYhD7dbXpx0UTCJvQZb9OLiyYwO40+6W16EZtASDJGn/c2vbhoArOzoJAyrjGMkQwykikmpIxrDFMkg4pkCgkp4xrDEMkgIpm6IIePawwzJIOGZAoIKeMawwjJICGZaVUOH9cYRkgGCclM+5vxcY1hhGSQkIxpFOcNEySDgmSmbc74uMYwQTIoSKZudcbHNYYBkkFAMnW3Mz6uMUyQDAqSqRue8XGNYYBkEJBM3fOMj2sM8yODfmTqtmd8XGMYHxnkI1N3PuPjGsP0yKAemWnzMzquMQyPDOKRmfY/o+Maw+zIoB2ZaQs02lcyzI4M2pGpj4rh4xrD6MggHZm6coePawyTI4NyZOraHT6uMQyODMKRqc+M4eMaw9zIoBuZ+tgYPq4xzI0MupGpS3j4uMYwNjLIRqaykaVT+KZXF21gek5sRHekml5dtIH5WTdHowMbw9TIoBoZ19hwYHp10QbmZ90hjW9yN72KbaAbmbqs57Tsf7mwa3p10QZmaF3a4+ijfadXF21gita90viIwDA3MuhGRhq0aZgbGXQjI14f2hgGRwbhyEw7ptEVm9OrizYwRUXfynl6cdEEZmiVI7733PTqog3M0QJB6i+F2ZFBOzK+UZ03zI4M2pHxjc0kp1cXbWCK+pqinN8N0yODemSKBTm+H+D06qINzNG6jxpfVT69umgDk7Q+ekbrvDFAMghIpnCQ1nljgGQQkIyPjY4XAySDgGR8anS8GCAZBCTjc6PjxQDJICCZsGt0vBggGQQkE0yj48UAySAgmWAbHS8GSAYByQTX6HgxQDIISCZIo+PFAMkgIJm6UkjpeDFAMghIpq4VUjpeDJAMApKpj6ZROl4MkAwCkqmApHS8mB8Z9CNT/UjpeDE+MshHpq4aUjpejI8M8pGpfKR0vJgeGdQjE+v1k89JNYyPDPKRifX6Gfi1j/mRQT8yRYOc43NSDQMkg4BkCgc5l5Q2WIaiIJniQc5lpQ2WokhIpm6+xpcyTK8u2sAcLSLklJIEMySDhmRibkw6NAyRDCKSqZuwaZ0epkgGFckUE9K6b0yRDCqSKSbkhGuBYYxkkJFMQSEnyh2aOZJBRzJFhZzwCYOGQZJBSDJJf7bX9OKiCUzSCkl8Q6rp1UUbmKRVkvjetdOrizYwSZO+9cH04qIJTNKU1S08phcXTWCOVkriu3hMr2IbSEmmuJBWvmOSZFCSTF1/JEovkkmSQUkyueaocjVmlGSQkkzdrk347EnDMMkgJplpIRJXMcM0yaAmmWJDWl2WaZJBTTLFhrQaNdMkg5pkqiYp11GmSQY1yRQbUnODpShqkq2axIXQMk2yqEm2ahLtfFmGSRYxyVZM4kJoGSZZxCS7c/ow2jJMsohJdnoUDq0HWIZJFjHJ1p3cuBBahkkWMckWGlKE0DJMsohJttCQIoSWYZJFTLKFhhQhtAyTLGKSLTSkCKFlmGQRk2yhIUUILcMki5hkCw0pQmgZJlnEJFsxiQuhZZhkEZNsxSQuhJZhkkVMshWTuBBahkkWMckWGlKE0DJMsohJtrG/2/TiognMziJDihBaZkkWLck2NnmbXlw0gdlZYEjhPcsoySIl2YmSuIpZRkkWKclOlMQLK5ZZkkVLskWGlL6OZZZk0ZLsZElcxSzDJIuYZCdMosNfyzDJIibZCZPo8NcyTLKISXbCJDr8tQyTLGKSrZjEizOWYZJFTLIVk3hxxjJMsohJtmISL85YhkkWMclOmESLM5ZhkkVMshMm0eKMZZhkEZPshEm8f8AwySIm2QmTaHHGMkyyiEl2wiSenQyTLGKSnTCJZyfDJIuYZOuOcLw4Y5klWbQk66JenLGMkixSknVJL85YZkkWLcnWFUj80RjTq4s2MD0nS+LFGcssyaIl2cmSeHHGMkuyaEl2siRenLHMkixakhXXKM5YhkkWMcnWR+8oxRnLNMmiJtmqSXxQYZkmWdQkO20bx4fwlmmSRU2y0ngU1PTqog3MUtGfBjW9uGgCs7RqklKcsUyTLGqSLTakFWcs4ySLnGSLDTlRMoxxkkVOspWT1DZYliIn2cpJwnXNMk6yyEnWS7MNlqXISbbYkPN01/Hp1UUbmKYFh/Q2WJqiJ9miQ85r3y1LUwQl61OzDZanKEq2+JDzVmmD5SmSki1ApLbBTMmiKdlQ66G88mYZKllEJVuIyHm6gfL06qINzNNiRHobLE+RlWyoNM812jJXsuhKNvhmGyxPEZZsqHlKd0afXl20gXkaYrMNlqdISzbUPKXPZZteXbSBeRpysw2Wp4hLNtY85cuwLdMli7pko2m2wfIUeclWXvLKdYzxkkVespWX1DZYniIv2cpLgT0/eXpx0QSmadUlrQmWpYhLtj7Wh29+P726aAOztOKS2gbLUsQlW3FJmaxgmS5Z1CVbdUltg2Up6pJNdRd3umHW9Cq2gbpkqy6pbbAsRV6ylZcC3zTFMl6yyEu28pLaBstS5CVbeYlviz+9umgD0zT5ZhssT9GXbN3Ojj8Aa3p10QbmadJ39ZxeXDSBaVp3teOP0ZpeXbSBaVpXKgXlYsqAySIw2bq3XVAuhAyYLAKTzTVNlYsYEyaLwmSrMPEnYk2vLtrANM2N6XiWAZNFYLIVmKLyy2fAZBGYbNEixx+tNb26aAOztC5X4k/Xml5dtIFZWrzI8QdsTa8u2sA0LWDkotJ/YcZk0Zhs1hfUWUZMFonJFTBykf9YHDMmh8bkChm5yAeljimTQ2VyO/1xVdOLiyYsNlEupZEPwhxjJofM5HY1SflOR445k0NnckWNXOKDH8egySE0uV3dGZRvU+SYNDmUJlfcyCV+i3OMmhxSk9ul5mdKktShNbldTVL+g3MMmxxik6t74GmfKdMmh9rk6h54/EFM06uLNjBN6x542mfKvMmhN7miR+5EgMseoWPe5NCbnGldSx0DJ4fg5OoWePyZTNOrizYwTesWeInfJh0jJ4fk5OoWePQa5pg4ORQnVzfA409Wml5dtIFJWjfAS/xG65g5OTQnV58ulGlX3zFyckhOru5/d3q+D7uUMnJySE6uAJI7PeKHhcFSFMnJ1Q3wsvKTZeTkkJxc3QBPyw1mTg7NydWHDfGnKE6vLtrAHK3PG7LKt8JSFNHJ1f3vtBscUyeH6uRso2LqmDo5VCdXDMll5QLG2MkhO7m6/5125WDu5NCdXN3/jv9iGTs5ZCdXd7/L/BLI2MkhO7m6+V3mQOGYOzl0J1c3v8t8UOwYPDmEJ1d3v8tKijJ5cihPri5jysrFh9GTQ3pyBZJkp9whmT05tCdXn0nE9wOfXl20gUlaJElOaG5uI857cgyfHOKTq88mOok3mZrnGD45xCdXJEl2QlOM2ZNDe3IFkmTHtwF1zJ4c2pMrkCS7wMNgWYr05IojibLvrmP05JCeXIEkUfZXdMyeHNqTK5AkO/bEq+nFRROYpJWe6GN5pxcXTWCOFkcSw9nIMXpySE+uOJIou+46Rk8O6ckVRxJl113H6MkhPTlvWgnG6MkhPbniSNpHyuTJoTw571oJxuTJoTy5wkja3GLH5MmhPDnvW5cOJk8O5cnVhUzapYPJk0N5cj42Lh0MnhzCk/Op8Vth7uTQnZzPrURn7uTQnVyoSar045g7OXQnF0zrW2Hu5NCdXLCtb4W5k0N3csE1vhXGTg7ZyQVp/d4YOzlkJxd844LO1MmhOrkQWr83pk4O1cnVpx8ZXq91TJ0cqpMLrSRl6OQQnVwRJO3qw8zJoTm5uh+elufMnByakyuAJIZXnh0zJ4fm5GIzR5k5OTQnVwBJTlOIyIxBx8zJoTm5KK3fG0Mnh+jkCiGJ4TOAHFMnh+rkYvNKytTJoTq5WLNUKR8xdXKoTi6m5mfK0hTVycVmp5Spk0N1cqnmqVIaZOrkUJ1c3RnP83EPQyeH6OSKIKkfKUMnh+jkUjNNGTo5RCeXmmnK0MkhOrkiSKLsCe8YOjlEJ1cESf9bWJoiOrmKTurfwtIU1cnVRU3KxvKOqZNDdXIpt35yTJ0cqpMrhKSlGEMnh+jksmncF5g5OTQnl23rW2Hm5NCcXHatb4Whk0N0ckWQRNmq3zF0cohOLvvWt8LQySE6udzMUoZODtHJ5WaWMnRyiE4u1yxVOoQMnRyikyuGJMpjBxxjJ4fsJLtd4/MQxk6C7CS7VsdUGDsJspMURBLLOw7C3EnQnWTXupoKcydBd5Jd62oqzJ0E3Ul29WrKC/rC3EnQnaQ+d0nZhkaYOwm6k+xi8/MgeSroTrJLzc+D5KmgO8mu5invBAlzJ0F3EtPMU+ZOgu4kppmnzJ0E3UlMzVNOHMLcSdCdxDTzlMGTIDyJaeYpgydBeBJT85R3pITBkyA8iWl1ToXBkyA8iWl1ToXRkyA9iWl1ToXRkyA9iWl1ToXRkyA9SYEkUbZ+EmZPgvYkBZJEmRcuzJ4E7Unqciftb2H4JIhPUiRJHL9nC8MnQXySIkn638LyFPFJbKscJQyfBPFJCiWJ49O7hOmToD5JoSRxfKgvTJ8E9Ulsve/fyO7WGINNsDRFfZL68CVlyw9h+iSoT+JahX1h+iSoT+KMXoARxk+C/CTONqrhwvxJ0J/E1Szl/iTMnwT9SVzNUuUOxfxJ0J/EtXqnwvxJ0J/EhebfwrIU/UmqPznlDsX8SdCfZPIn7W9haYr+JJM/KenBshT5SSo/KbU1YfwkyE9S+Un7SJk/CfqTVH9yyo2S+ZOgP0n1J+1CyABKEKBEmjd9BlCCACUVoES5QTGAEgQoqQCl/i0sTVGgpHiSCB+mCyMoQYKSSlBqHCxNkaCkEpR2Y2AEJUhQUglKuzEwghIkKKkEpWxNI4ygBAlKvG19HsygBA1KqkEp+8oIMyhBg5K6+omvrxNGUIIEJXXxk9xIuPXWYhMsS1GgpArUaaUg++UzgRIUKKkCpWzoIoygBAlKKkEpG7oIMyhBg5JqUMpKUmEGJWhQEnb6U9KnV7ENNCipBnUj5tYvrulMoAQFSgonhd2piSyLJliKIkBJ4SQvdLcKYQAlCFBSAUqUjgcDKEGAkgpQyho/YQIlKFBSBcrReyTzJ0F/kupPfDmsMH4S5Cep/OSVJlh+Ij9JwSThTxMWxk+C/CSVnyhgCcMnQXySIknKWkdh9iRoTxIbu0QIoydBepJKT8pglsmToDxJlSctCpacCE9SFMnz3W2EuZOgO0l1J6/0FJg7CbqTVHfyyl2euZOgO0l1J6/cGZk7CbqTVHdS1mwKcydBd5LqTp6XW4W5k6A7SVEk8cr9hMGTIDxJhSev3E8YPAnCk1R48pH3FBg8CcKTVHjyykCDwZMgPEmFJ6/0rBk8CcKTFEVSnrAqzJ0E3UkKIll72pHKLn6zjJ0E2UlS3ajM3ki63aXFX8KyFNlJKjsF5RfH2EmQnWTaTY9/GoydBNlJsml8GoydBNlJiiGpnwZjJ0F2kspOQbl2MHYSZCep7KT1ARk7CbKTVHYKyvWHsZMgO0lu5ShTJ0F1kqpOygJFYeokqE5Sd9PTvlmWo4hOUgRJ/2ZZjiI6+YpOQWix1jN08ohOvgiSSZFuh+cZOnlEJ1/RSVkn6Rk6eUQnXwRJ+WY9MyeP5uSrOQXee/LMnDyak6/mFPhWXZ6Zk0dz8rugZ4dn5OSRnPwuNrLDM3LySE6+kpOaHSRLPZKTr+QU+L3JM3LySE7eNK6knomTR3HyVZy0b5aJk0dx8lWctG+WiZNHcfKFj7RvloGTR3DyRY/Ub5aBk0dw8hWctG+WgZNHcPJFj9TfPQMnj+Dkix55Rzs/nnmTR2/yRn/QiGfa5FGbfNUmOpT2zJo8WpMvcKQMpT2jJo/U5IsbKUNpz6TJozT5uspJWZPjmTR5lCZvW91Rz6TJozT5Kk2BdyU9kyaP0uSt179V5kwenclXZ+KrejxjJo/M5Csz8cRgyOQRmXwhI63S45kyeVQmX8hITS6Wn4hMvoiRllzMmDwak6/GpCyZ9wyZPCKTd80EZcjkEZl8RSY+IvfMmDwak6/GxL9WJkwehck73/pamTB5FCZfuEj7WhkweQQmX4FJqZ15Bkxn//jaRmr94BkweQQmX4Ep8vGBZ8LkUZh83V2P/+CZL3n0JV99SdkJwTNf8uhLvvqSshOCZ77k0Zd89SVlJwTPfMmjL/n6oCalduWZL3n0JV99KSp9auZLHn3JV1+K3Ow88yWPvuSrL0VeMffMlzz6kq++FJVeJPMlj77k6+56yt6LnvmSR1/ydXc9Ze9Fz3zJoy/5uruesveiZ77k0Zd8XeKkFJs98yWPvuSnhzVRG/KMlzzykq+8pOy96JkvefQlX7RI23vRM2DyCEx+2lyPriT2zJc8+pKve+spey965ksefcnXvfW0PgfzJY++5OveeoqSe+ZLHn3J1zVOypYdnvmSR1/y1ZeScr9nwuRRmHxd46QNuhgxeSQmX8DIOr6XnGfG5NGYfKgjJr7u3jNj8mhMPtQ05cbkmTF5NCZf99bb8cKRZ8rkUZl8VSZt5MaYySMz+dAoPnnGTB6ZyU/MpIyFmTN5dCYfd62BLJMmj9Lk6zInZVcYz6jJIzX5Sk28P8ikyaM0+eJGWl+OSZNHafLFjbQuOpMmj9Lk6xKnpHSAGDV5pCZfqen0bAu59bjrkGfU5JGafKWmJDeSb7PgnYVRk0dq8sWN7Gk7cTLBxjNq8khNvlJT8qenQrjd4mthOYrU5Cs1KU+W8IyaPFKTr9R0KpTQNliOIjX5Sk2p7IGdF79ZRk0eqclXakp0i3bPpMmjNPkqTVm5KzBp8ihNvkqTlmJMmjxKk69LnLLys2fU5JGafGqmKbMmj9bkUzNNmTV5tCafmmnKrMmjNfncTFOGTR6xyedmmjJt8qhNPjfTlGmTR23yuZWmDJs8YpOv2JSVKyHDJo/Y5HMzTRk2ecQmX9c4aSnGtMmjNvlCR2qKMW3yqE2+rnHSUoxxk0du8nWNk5piLE2Rm0LlJiXFAuOmgNwU6honJcUC46aA3BQqN2Vedw6MmwJyU9g10jQwbgrITaFyk7J7UWDcFJCbwq6VpoFxU0BuCrt6NfX0CdeBeVNAbwp1iVOmk4wD46aA3BQqNym/lsC4KSA3hWJH2q8lMG4KyE2hrnBSfi2BeVNAbwrVm5RfS2DeFNCbQvUm7dfCvCmgN4W6winzEXpg4BQQnIJpTIIKzJsCelOo3qR9tcybAnpTqAuctB8+86aA3hTqAiflR8u8KaA3hbq+KfNSVGDiFFCcQhWnzAfogZlTQHMKdX2T9nEwdAqITqGi04535wJTp4DqFOr6Ju2rZeoUUJ1CIST1V8vUKaA6hapO2q+WqVNAdQp1fZP2q2XuFNCdQnUn7VfL4CkgPIXiSF7ZdSwwegpIT6Gub9J++YyeAtJTqAuclF8+o6eA9BTq+iYtPZg9BbSn4Gqa8u5cYPYU0J6Ca97ymT0FtKdQJMnvuA4Ehk8B8SlUfFKuQEyfAupTKJTkd0q3gelTQH0KrjXOD4yfAvJTqPykdRsYPwXkp1D5Sckwpk8B9SkUSrI204fBBaZPAfUpSDNLmT8F9KdQMEm9iDF/CuhPofqTdhFj/hTQn0L1J+0ixvwpoD+Fur5Ju4gxfwroT6H6k5LpjJ8C8lMoluR3nLAC46eA/BQqP2mZzvgpID+Fyk9apjN+CshPoS5vUlOMpSnyUyiWpKYY46eA/BTq8iYtxRg/BeSnUJc3aSnG+CkgP4W6vElLMeZPAf0peGn1gZg/BfSn4FtpyvgpID8FX9OUzwMPzJ8C+lPwzTRl/hTQn4JvDqCYPwX0p+CbAyjmTwH9KYTmAIr5U0B/CqE5gGL+FNCfQmgOoJg/BfSnUPfY01KM+VNAfwp1jZPW92D+FNCfQmilKeOngPwUQk1TDvGB8VNAfgqh8TCSwPQpoD6FYkl+pwygGD8F5KdQLMlkvs4zMH4KyE+hWJLJXOMC46eA/BSKJZnMN78PjJ8C8lMommQyV9LAACogQIXCSSbTNVuBAVRAgPr/Obu75UhuGG3Q9+Jjh6P4AwKYO9hr+GLDoe6Wba3lVq+ktsczMfe+USQzlfXmC071HllRdEOlKiSTyYcEW+ek5PzwjcYEqqFAtc5JwXHLjQFUQ4BqOpI0eDRmANUQoJou+1IGUA0BqnVNkmsNRvqtsCxFgGoDoKJhAwOohgDVbDkyZQDVEKCaLUemDKAaAlSz5ciUAVRDgGq2HJkygWooUM2WI1MmUA0Fqg2Bih6NmUA1FKg2BYp3hAygGgJUWwJUYwDVEKDaqLEX3Z4YQDUEqDYBit9amD819KfWMUmC8tGN+VNDf2rTn4KrlvlTQ39qvpyMYv7U0J+aLyejGEA1BKjmy8koBlANAar5cjKKAVRDgGq+nIxiANUQoJqv5kyZPzX0p+ajMw0mcJg/NfSn5svHfOZPDf1JLyNN+S1fmT8p+pN2TJLEZ1+U+ZOiP2nHpOjmosyfFP1Jhz9xcFHmT4r+pB2TsjdaXEaZPyn6k3ZMksSHDcr8SdGftGOSJL7GS5k/KfqTdk2SxNd4KQMoRYDSrknXSn/5l4wXvjJ/UvQn7ZgkiQ9ulfmToj/pONmJL8xUxk+K/KTjYCdetEOZPinqk3ZKyn5dJOZ4uSnDJ0V80i5JkmjVVGX2pGhPOo51atfPwuX0LliGoj1pGiv3go+TJSjSk45DnfL1rL+S8XJl8qQoT9odKTguUJk8KcqTjp1O/EA4ZfCkCE+aPF75p8ydFN1JOyLl+nPVXxLeDpSxkyI7aTekLNcQ58+CqZOiOmknpNzo0kFl6KSITjrQSa8h9JSdzJwUzUk7IGULQrDsRHLSsdHpcg1RC16pTJwUxUnHcU7BOkpl4qQoTprHKhN2j1fmTYrepB2PkvJ7CeMmRW7Sjkf5Oi4nz0vKvEnRm7TjUbJM51qUeZOiN+nwpqAItzJvUvQmHd4UjGaVeZOiN+nY6xSMZpV5k6I3adejaDSrDJwUwUlHQb1gNKsMnBTBSSc48dGsMnBSBCcd4BSMZpWBkyI4aVk9MCkTJ0Vx0rHfKZjPUyZOiuKknY8kKI6uTJwUxUnr6olJmTgpipN2PpKgHLgycVIUJ62LPXnKwEkRnLTrUTS6VwZOiuCkVVajeyZOiuKkdbUUSpk4KYqT1tVzvTJxUhQnrauFpcrESVGctK4WlioTJ0VxUlktLFUmToripLJaWKpMnBTFSWW1sFSZOCmKk8pixZ4ycFIEJ+16JEGxeGXgpAhOKqsVe8rESVGcdIhT9ADJxElRnFRWfK9MnBTFSYc4BQ+hDJwUwUll5aLKwEkRnLStXFQZOCmCk7aViyoDJ0Vw0rZyUWXgpAhO2lYuqgycFMFJJzjxCU5l4KQITjrAKejUGTgpgpO21fJnZeCkCE7aFrNPysBJEZx0gFNwOoMycFIEJx37naKLloGTIjiprqbylYGTIjiprqbylYGTIjiprqbylYGTIjiprqbylYmTojiprqbylYmTojjp3PMU3BcYOSmSk449T9FwjpGTIjlp9yMJTs1QRk6K5KSjvF6UY4ycFMlJddmbMnJSJCe1ZW/KyEmRnNSWvSkjJ0VyUlv2poycFMlJbdmbMnJSJCe11SoTZeSkSE46ySnIMUZOiuSkg5yCrpCRkyI5qY005StVlJGTIjmpje6ULyNQRk6K5KQdkCQ4vEOZOSmakw5zCg7NUGZOiuakS3NSZk6K5qS+nMxn5qRoTtoBSQqvmKrMnBTNSeemp2A8x8xJ0Zx0mFMwnmPkpEhOutzzpIycFMlJl3uelJmTojnpcs+TMnNSNCdd7nlSZk6K5mTLPU/GzMnQnGzseQrGc8bMydCc7LIoqGuMnAzJyS6r+Shj5mRoTnZZdabGzMnQnOyyWAtljJwMyclGhb3ELzhj5GRITjbIqfApHGPkZEhOdrEFWxkzJ0Nzsg5IAVsZIydDcrJZYY9LoDFzMjQnS4tipcbMydCcrAtSIBzGzMnQnGyaE/dIY+hkiE7WCSnySGPqZKhOlmRxVzDGTobsZB2RclAvwpg7GbqTzQp7QaIzeDKEJ+uMJMHxQ8bkyVCerDuSFD5zYoyeDOnJOiRJ4Q9yxuzJ0J5sbHkKzuwxhk+G+GSdkqTwUZQxfTLUJ8vjjh9c+IyfDPnJOiZJ4fW/jPmToT9Z1yQJqhEZAyhDgLKuSRLUzjEGUIYAZWPLU3AKiTGCMiQo66AkwckdxgzK0KCsg5IEp24YMyhDg7JZbi/IU2ZQhgZlw6Bq0I8xgzI0KCt5cXShMYMyNChb1dszRlCGBGVllDYJLhdGUIYEZWUxG2VMoAwFysrIUv7cYkygDAXKymL5szGAMgQoKyNJ+aOPMYAyBCgrI0n5o48xgDIEKBsAFRwqYAygDAHKuiZJcKiAMYAyBCgbABUcKmAMoAwByjonSXCogDGBMhQo65wkwguUGxMoQ4GyIVASXLRMoAwFysaep+BQAWMCZShQ1jlJJEh1JlCGAmWdk0SCmwsTKEOBss5JInQBkDGAMgQo65ok7UJDMH8y9CfrmCRB+Xpj/mToT9YxSRpf6G/Mnwz9ybomSQuylAGUIUDZAKjGNz4YAyhDgLKuSRIUWzcGUIYAZQOgGi9TZwygDAHKuiZJC4ZADKAMAco6J0kLspQJlKFAWeckCeoVGxMoQ4GyzkkSlMc1JlCGAmWdk0R5+UBjAmUoUNY5SYIiqMYEylCgbJzqFBRBNSZQhgJlnZMkKIJqTKAMBcq6J4kGvSkjKEOCsrHnSYPelBGUIUFZByUJCpgaMyhDg7JhUNFQnRmUoUFZ89UjAzMoQ4MyvayG+8ygDA3KxulO0XCfGZShQZnm1d2WGZShQZmW1d2WGZShQdksuxfFYHmKBmUdlILVocYIypCgbOx6CurbGiMoQ4KyQVBB1U9jBGVIUDZ2PUXdOiMoQ4Ky7kkSVA41RlCGBGVj11NwopsxgjIkKOueJEFpSGMEZUhQZqv9JMYIypCgrHuSWKZLm4wRlCFBmdXVrZIRlCFBmcnqVskIypCgrIOSWHBrYAZlaFA2DMqCWwMzKEODsmFQFgxhmEEZGpQNg4pynRmUoUHZMCgLbi/MoAwNynzkaXB7YQZlaFA2DMqC/oMZlKFB2TAoC/oPZlCGBmVeV8NkZlCGBmUuqyEuQyhDhDJvi6cGZlCGBmUdlCQodWnMoAwNysa+p2hExwzK0KDMffWnsCxFgvKx7SmolumMoBwJyse2p2Aw5oygHAnKL2NLCS/17cygHA3K5ylPmSqnM4NyNCjvoCRBeUhnBuVoUD72PTnvCZ0hlCNC+dj3FNT/c4ZQjgjlA6Gc94TOEMoRoXwglHPvcIZQjgjlY+OT8zuUM4VyVChPI095L+ZMoRwVykfhPT5D50yhHBXKuymJ8zGyM4ZyZChPoyI0HyM7YyhHhvJuSi2oAuaMoRwZytNi3tSZQjkqlKe2/DhYlqJCeSel+ONgWYoK5Z2UWlAFzJlCOSqUp0VBM2cI5YhQPs96Ci58hlCOCOUDoaKPlCGUI0J5F6XwI2UI5YhQnkeWBh0QQyhHhPIuSvzgFmcE5UhQ3j2pBVWenBGUI0H5qLqXf66XX1I6vQ2WoyhQPgSqXfHZE95YGEA5ApSPmnu0krwzfnLkJx/8pMGbYAmK+uRDn4w+jjrDJ0d88oFPfg2RUsMQLD3RnrzkuCS+M3pypCfvkNRS8Iew5ER68u5IjT+aO5MnR3nyMrKTD/Gd0ZMjPXl3pOAaYfDkCE9eRgdKC7w4gydHePKx8ym4RJg7ObqTD3cKLhHGTo7s5KPSHr9EGDo5opMPdAouEWZOjubkw5yCS4SRkyM5+SCn4BJh4uQoTl7r4hJh4OQITt71KLpEmDc5epN3PIouEcZNjtzkdSRnMG5j3OTITd7tKLhEGDY5YpNXX1wiDJscscnHbqfgEmHY5IhNPrGJZyezJkdrconPI3EmTY7S5EOagkuEQZMjNPmApuASYc7k6Ew+nCm4RBgzOTKTy+KQPGfK5KhM3skoukQYMjkik3cxii4RZkyOxuQykpNPrjgzJkdj8hYfkedMmByFyccepyC/GTA5ApMPYArym/mSoy/52OHE85vpkqMu+dSl4E2w5ERc8oFLQX4zW3K0JR+2FOQ3oyVHWvKmi/xmsuQoS96ZKMpvBkuOsORdiaL8Zq7k6ErekaglPlvmzJUcXck7EgX5zVTJUZV87GwK8puhkiMq+UClIL+ZKTmako99TTy/mSg5ipKrLPKbiZKjKPkQpSC/GSg5gpIPUArym3mSoye52iK/GSc5cpJ3G4rym2mSoyZ5p6EovxkmOWKSdxlqQYEzZ5jkiEneZSjIb0ZJjpTkYzdTkN9Mkhwlyack8dRikOQIST72MvH8ZozkyEg+GCnIb6ZIjorkU5GC75QlJyKSD0QK8psZkqMhufkivxkhORKS+2WR30yQHAXJOwdF+c0AyRGQvGtQCyq0OQMkR0DyrkElQEpngOQISO6j3hNHSmeA5AhI3jWoNI7HzgDJEZC8c1BLwSwfEyRHQXIfI89gdo0JkqMg+RCkYK2FM0FyFCT30YNKEINlKRBSvlxGltJZkNl6G+P44hZj9KEUOmfrKUbCGDnUsNl4CpExRImXwMzWU4yCMWr8kc7WU4yKMcazO0312XqKIRhjpClN9dl6itEwRk/TTHeIzNZTDMUY4wkpBTHOaXp8cYsxRqG0C5qtpxiYpkOQ6ILT2YghEmZpGp0pvfJn6ykGZmnnoMYrDszWUwxM0yFIfEf5bD3FwDRdnNw0G08hMEuTrDKdCNLxxS1GW2UHEaTji1sMXWU6EaTji1sMW11xRJCOL24xfHW1EEI6vjhjDELK1FtnK8bImKZ5pGnQmRJCOr64xRhpSuftZuspBqbpICS+C3u2nmJgmnYRaoU+PM7WUwzM04FIfDPmbD3FwDztJNT4PrfZeoqBedpNqPF9brP1FAPztKtQ4/vcZuspBuZpZ6HG97nN1lMMzNPuQo3vc5utGKNgnnYYaiXIU2JJxxe3GD1PS5CnBJOOL24xep6WIE+JJh1f3GKE1DnbThEwSwcmVT58IZZ0fHEL0ZOUHzI/W08xMEmHJlW6TGu2nmJgknYcapVuTp2tpxiYpF2HWqVLvWbrKQYmafehnPlHSkTp+OIWoudoDa4VQkrHF7cYPUf5JrfZeoqBOdqFqPEdarP1FANzdKBSkGEElY4vbiFklWFElY4vbjHaKsMIKx1f3GJoXBNwtp5iYJbWZZYSWDq+uMVYZimRpeOLM0Z3olaDoQehpeOLW4yRpkEXRmzp+OIWo6cp3/U3W08xME27FTW+62+2nmJgmnYsanzX32w9xcA87VrUJPhuCTAdX9xi9DyV4LslwnR8cYvRe1MJhsiEmI4vbjF6nvJdf7P1FAPzVOLFTbPxFALTtItR4xsHZyvGaJimLS16IIJMxxe3ECNLgxs+Uabji1uMxbL72XqKgVna6uqqJdB0fHGLIavsINJ0fHGLMbI0uPIJNR1f3GL0LG3BlU+s6fjiFsNWVxzBpuOLWwxfXXFEm44vzhhDm6LPlGjT8cUtRk9Tvit0tp5iYJ52PWot6MUIOB1f3GJck+5ay8Z+qekUgqWpYpp2P2p8Y+lsPcXANNV4oehsPIXALO2A1Frw2ELM6fjiFmNkaTAUI+h0fHGL0bO0BX0pUafji1uMnqUt6AgJOx1fnDE6IvHTsGYjhjBM0sFOLegICTsdX9xijCQNOg8CT8cXtxj9ls+3t87WUwzM0u5I1/74VLRptp0iYI52R2oaXLKEno4vbjF6kmqmdydCT8cXtxDaz+dIbAvCbD3FwBztklQKLVM/W08xMEcHPmnhfwpLUcMUHfiklVUpmq0YwzFHhz6pBDFYjjrm6OAnpWfgzdZTDMxRHzlKi6TN1lMMzFEfh+DxsQvRp+OLW4iRpMa/WaJPxxe3GCNJnWcY0afji1uM3pPaJYjBstQxSzsl8fJ3s/EUApN04JPRPT+z9RQDsjQNfOJnOsxWiJEQn9LAJ6MFOGfrKUbCGD1LrQYxSJYm1Kc09IlvfJ6tpxgFY9TFZ5qYPiXUpzT0KfxMSZom1Kc09Cn8TEmaJtSnNPQp/ExJmibUpzT0ie8Gna2nGIYxRp7yOfnE9CmhPqU08pQPGhLjp4T8lAY/8Z2cs/UUA/N08JNx4UyMnxLyUxr85BSeZ+spBubp2MDkfCIpMX9K6E9p+NN1vx+NwfIU/SkNf7oW36UxWJ6iP6WOSUFXmBg/JeSnNPiJ368T06eE+pSGPvHRS2L4lBCf0sCn4L6QGD4lxKc08Cm41SaGTwnxKQ18CoYeieFTQnxKXZKiUVRi+JQQn9LAp2DokRg+JcSnNA5xCkaEieFTQnxKA5+CYVRi+JQQn1KXpGD4kpg9JbSnNOwpGL4kZk8J7SkNewqGL4nZU0J7SsOeonscs6eE9pSGPUX3OGZPCe0pDXuK7nHMnhLaUxr2FN3jmD0ltKc0djLxvcKz9RQD03ToE98rPFtPMTBNxzlOfJ4gMX1KqE9pFNGjqxhn4ykEZukoohdM7iWGTwnxKQ18cj5NkBg+JcSnNHYzBZ8Gw6eE+JTqONEh/dwuv0jBj4PhU0J8SjVe9zwbTyEwR4c9eTB2YfaU0J7SKKEXfSsMnxLiUxr45Mbv1QyfEuJTGvjkfMYjMXxKiE+pxpUeZ+MpBCZpjTfczcZTCMzR7kh64fMuidFTQnpKsspRJk8J5SlJvG9kNp5CYIp2RVK+mX22nmJgjnZFUr4DfLaeYmCOjn1NvKzhbD3FwBztiqR8C/hsPcXAHO2KpHzr9Ww9xcAc7YqkF6G3e+ZOCd0pzQOcguRgOYrslAY7RcnBUhTZKY3qeVHHwdgpITulwU5Rx8HcKaE7pTaSlJYEmq2nGJikbSRp0JEyd0roTqnFC00SU6eE6pTG6U2XzE5QmK2nGJiira3uTEydEqpT6oRUnD+wMHRKiE6pC5Jeoi+W5SiiU2qjH+WrBxNDp4TolLogKT8yYLZiDESn1AVJE18JmRg6JUSnNNApGl0zdEqITqkTUpHgqZqpU0J1SkOdogdJpk4J1Sl1Q4qeqpk6JVSn1AlJ+c6F2XqKgVnaCUlTMEHA1CmhOqVxetOl0kxn6JQQnVIXJOUbBmbrKQZm6UCnFIzxmTolVKdkI0uDkTFTp4TqlDohabDYPzF1SqhOaapTkOlMnRKqU7JlljJ3SuhOyVZZytgpITslG1kaTOsxd0roTslGlgbDWuZOCd0pdUTix5DPxlMIzNKOSPyQjtl4CoFJ2g2JV8ycjRgC1Sl1Qir0VPfZeAqBKdoFqdSfa/tFMmYGM6eE5pTGlie5votmmBmMnBKSU+qApPyw6dl6ioEJ2gEpXTOUjZ+YOSU0p9QBKV0vFHa3Z+aU0JzSOLeJH+A9W08xMEO7IPHTbGbjKQRmaAckfhT5bDyFgAzNo2ReohtJMhOnjOKUOx9lnqGZgVNGcMqzYB49lme2nmJkjFHCY3lm4ylEwRA1PmB+tp5iVIwh0QHzs+0UQTBCi092n62nGA1j9OFou34nLqfPk+RnRmzKF4s7nsysKaM15Q5HQceTGTVlpKY8D2y6fquOF3xm0pRRmnJno6DvygyaMkJTHuc18X48M2fK6Ey5o1FwQ8qMmTIyU+5mFNyQMlOmjMqUOxnl+nPVX9IpPRkyZUSmPA5rkmsI8oew7ERjyl2McuOXGTOmjMaUuxhlvYbQU7/FjCmjMeUuRtmCECw70ZhyB6NyuYaoBROcEVNGYsrdizTz+aLMiCkjMeXuRRrsKMyMmDISU+5epMF2wMyIKSMx5XFOk9A7a2bClFGYcuciDXYUZiZMGYUpdy7SYEdhZsKUUZhyXkyLZiZMGYUpdy4KlsVlBkwZgSl3LVJ+jOlsPcXAHC2rHpT5UkZfyh2Loo6H8VJGXsrdiqLuj+lSRl3KnYqCAVNmuJQRl3Kpi6EKs6WMtpQ7FIVDFWZLGW0pdymKemFmSxltKXcp0sxlOjNcyohLuUuRZgtisAxFXMplZKgHMViGIi7lunhKygyXMuJS7lKkha/iyAyXMuJS7lQUDXgYLmXEpdylKBrwMFvKaEu5Q5EG+zszs6WMtpQ7FGmwvzMzW8poS7lDkQb7OzOzpYy2lLsUabC/MzNcyohLuVNR1H0xXMqIS7kuHuQzs6WMtpS7FEXdF7OljLaUuxRF3RezpYy2lDsURd0Xo6WMtJSlrLovRksZaSl3J4q6LyZLGWUpD1mKui8mSxllKQ9ZirovJksZZSkPWYq6L0ZLGWkpdyiKui9GSxlpKXcoCrsvZksZbSmPqnlBcjBaykhLuTtR1H0xWcooS7nlxcxIZrKUUZZyZ6JgWiMzWMoIS3kUzgumNZgsZZSl3Jkomk9gsJQRlvKApWg+gcFSRljKnYmC+QTmShldKXckCucTmCtldKXckSiaT2CslJGVcjei6DGcqVJGVcqdiKJHT4ZKGVEpdyGKHj2ZKWU0pdyBKHr0ZKSUkZRy96Ho0ZOJUkZRyuMwpuDRk4lSRlHKQ5SC0gmZiVJGUcpDlIKHHAZKGUEpdx5KyurZzsZTCEzPrkMpENzMQCkjKOWuQ954COZJGT0pdxyKrhLGSRk5KXcbSsqXbWTGSRk5KdvoPzkCZ8ZJGTkpdxuKZskz46SMnJRtzNZzBM7MkzJ6UrblZCjzpIyelDsOJePqmZknZfSkbKMT5bs5MwOljKCUOw8lo0fLzNZTDMzS7kORgGRGShlJKXcgSqbXoei5H2WmlNGUcheiZEGeMlTKiEq5E1GyIE+ZKmVUpTxUid/nmSllNKXsiw2hmZFSRlLK3Yeu1wrLUSZKGUUp+2q+iYFSRlDKvhqHMlDKCErZV7d5BkoZQal0HrJEt/kWBkoFQal0HuIbKAvzpIKeVDoOWaEJXhgnFeSk0nEoeGgsjJMKclIZnMQfGgvTpIKaVIYm8affwjipICeVbkNWaYdRmCYV1KTSbcj4vG5hmlRQk8plscOuME0qqEml25Bp8C5IchbUpNJtyIyHYJpUUJNKt6FgG3thmlRQk0q3Ib/wb4RpUkFNKt2GPAUhWHaiJpVuQ86XIhamSQU1qXQbum43oh8ny07UpNJtKBg/FqZJBTWpdBvyGrwLlp2oSaXbkAcJzjSpoCaVbkMeZCfTpIKaVLoNeZCdTJMKalLJC4svDJMKYlLpMhTMUxVmSQUtqXQYShc+eCzMkgpaUukylK4LO9svTbH3ZJhUEJNKXtzaC7OkgpZUOgylS+GXCbOkgpZUxm6lS6U3NGZJBS2pdBlKF+EhWIKiJZU8npEaD8ESFCmpdBhKF6UhGCUVpKTSYShdjIdgCYqUVDoMpYvzECxBkZJKh6GU6KxKYZRUkJJKh6GUEg/B0hMpqXQXSokPdJgkFZSk0l0opcJDsOxESSqdhVLi2ckgqSAkla5CKfHsZI5U0JFKR6GUeHYyRirISKWjUEo8OxkjFWSk0k0oJZ6dTJEKKlLpJqRBLcnCGKkgI5WOQhrUkizMkQo6UpmOxBdiFuZIBR2pTEfiD2iFOVJBRyodhRKfYC+MkQoyUukmFA3FmSIVVKTSTUivtbro22ApioxUOgpFw3nGSAUZqQxG4hOYhTFSQUYqHYWCp7zCGKkgIxVZQGdhjFSQkYosoLMwRSqoSKWbUDAfXJgiFVSkMhSpcistTJEKKlIZilS5lRamSAUVqQxFqnyCqTBFKqhIReITRGbjKQQm6NigxKsQFIZIBRGpjA1K9NSM2YghEJFKJyGp/AGJIVJBRCpje1LlblwYIhVEpDK2JwW1TgtTpIKKVIYi0YMzZuMpBKZoGyka3A4YIxVkpNJGiga3A8ZIBRmpDEYKrnnmSAUdqYz9STW4ozBHKuhIZeVIhTlSQUcqY3tSUB20MEgqCEllbE8KqoMWJkkFJaloXsyiFkZJBSmpaFnM5hZmSQUtqXQZKtfjANllzzCpICaVTkPJeW2IwjSpoCaVTkPRjYlhUkFMKgOTgoKrhWlSQU0q3YY0KLhaGCcV5KQyOCn8almaIicVW03UF+ZJBT2pDE+KvloGSgVBqQxQir5aBkoFQal0HYq+WuZJBT2pdBwqmdtHYZ5U0JPKOI/J6s/Vf/GKnRjzpIKeVDoOlcQXnhTmSQU9qYz9ScKXRhXmSQU9qYy6eIlXGC3Mkwp6Upl18XgJk8I8qaAnlY5DKsGtlnlSQU8qPnrT4LtlnlTQk0rHIRVelqowTyroSaXjkAZFfQvzpIKeVHxxkkhhoFQQlIqPOfvgkYeJUkFRKt2HNCgMXBgpFSSl4iNNgxslM6WCplSGKQWnohSGSgVRqfhi+V1hqFQQleplsUK0MlSqiEr1stgFUpkqVVSl2o1Ig8rClbFSRVaqk5X4B1qZK1V0pXqJC4xWxkoVWaleVrUbK3Oliq5UL21x1VcGSxVhqV50cdVXJksVZaleFuxZmSxVlKU69ilFuUEytKIs1e5EGlRZroyWKtJS7VAU3d8qs6WKtlTTyFE+/KkMlyriUk0jR7ntV6ZLFXWpdivSoFRzZbxUkZdqxyJtfM1FZb5U0ZfqKInHi7RX5ksVfamOE5mC5+rKgKkiMNVkcQWTyoCpIjDVtCg/UhkwVQSmmlflRyoTporCVPOq/EhlxFSRmOrYrxQUv67MmCoaUx37lYLi15UZU0VjqnkkKT3IcbaeYmCSjpJ4QffDjKmiMdVlRbzKjKmiMdUuRhoU0K4MmSoiUx0blvh5krP1FAOzdOxYCgpoV8ZMFZmpdjRS5evGKnOmis5Uuxqp8nNZKoOmitBUOxup8jF6ZdJUUZpqdyPVoA9j1FSRmmqHI9XgTsusqaI11VESL6hCWRk2VcSmOk5kCqphVqZNFbWpjhOZglIXlXFTRW6qY99SUMWkMm+q6E117FvSYOTBwKkiONU68jToPpg4VRSnOo5kCkrYVkZOFcmpjiOZghK2lZFTRXKqsyxecJNj5FSRnOo4kikoYVsZOVUkpzrL4gXfLSOniuRUOyAFUFMZOVUkpzrIqUUfB0tTNKdaLX7uqYycKpJTHTuXrt8Ku+KYOVU0pyojS4PRHEOniuhUOyGFIzGmThXVqY7CeAEmVsZOFdmpDnaS4Gth7lTRneo4kSk4lLIyeKoIT3XAE192Wpk7VXSnOtzJgouWuVNFd6rDnSxID+ZOFd2pytilHFy0DJ4qwlMd25eCcnKVyVNFeaptHCIS3GwZPVWkp9oW+0Mqo6eK9FQHPQXrvCujp4r0VLsjBWsdK5OnivJUR2E8588LTJ4qylPtjFScTx5XJk8V5al2RioefLFMnirKUx2V8YKHayZPFeWpjuOYgtLVlclTRXmq3ZGCdQiVyVNFeapTnvgigsrkqaI8VU2LSt6VyVNFeaqaF1W4K5OnivJUOyNpsBehMnmqKE+1M1L0UMvgqSI8VZVF9evK4KkiPNVxHFOwRaQyeaooT3Ucx2S8+nVl8lRRnuo4jimofl2ZPFWUpzoq41mQ6UyeKspTnccx8WnwyuSpojzVURkvOJ2hMnmqKE91VMYzPv9cmTxVlKc65ImzdWXyVFGe6pAnvlSlMniqCE+1K5J68FDL4KkiPNVRGC+6RzJ4qghPdcCTBw/GDJ4qwlPtiqQeTBAyeKoIT3V1IFNl7lTRneqojBcMjhk7VWSn2g0pGuYzdaqoTrUTUnSnZuhUEZ3qQKdowMDQqSI61U5IYYfO1KmiOtV5HFPwYM3UqaI61U5I0a2aoVNFdKq+KO1UmTlVNKfqq5MZKjOniuZUuyCpB9PPDJ0qopN0QtLgJAJh6iSoTjJPY+L3N2HsJMhOMk9j4vc3YewkyE5yKYv7mzB2EmQnmacx8fubMHgShCfpihTd34TBkyA8yWU1XSoMngThSQY8BVOMwuBJEJ6kM1I0xShMngTlSbojRVOuwuhJkJ4kLXBUmDwJypOkRZFRYfAkCE/SFSl49hLmToLuJGl1sJ0wdxJ0J5lHMfH5I2HuJOhOMtwpGBsLcydBd5LhTsF8qzB4EoQnSYuy98LcSdCdpCtS8NQjzJ0E3UmSLyYIhMGTIDxJviwmKoTBkyA8ySiUx+dchLmToDvJOIopmOQU5k6C7iS5LCY5hbmToDvJOIopmPQV5k6C7iRZFpO+wuBJEJ6kK1L0MCoMngThSbIuns2FwZMgPElerc4XBk+C8CQDngLLEwZPgvAkZTUHJQyeBOFJBjwF83rC4EkQnmTCE5+iFAZPgvAkE56Cz4PBkyA8yYSn6PNgeYrwJEUWACYMngThSboiRQAmDJ4E4UnKqvS9MHgShCcpyzxl8HR4cYsxRqbcvoXBkyA8ySiYFzwvCIMnQXiSrkjRWgBh8CQITzL2OgUnSwmDJ0F4krHXKTiPSRg8CcKTjL1OzmcrhMGTIDzJ2OsUnKUkDJ4E4UnqqAPB5wmEyZOgPElnJAvODxImT4LyJN2RLDg/SBg9CdKTdEcKFkIKkydBeZLOSBYcHyRMngTlSTojWXB8kDB5EpQn6Yxkl+CSY/IkKE/SGckuQaozeRKUJ+mMFG0TEiZPgvIk3ZEsOHVHGD0J0pN0R0otGGczehKkJ5GRpsElx+hJkJ5ERpoGlxyjJ0F6ku5IloJLjtGTID1Jd6Qc3W4ZPQnSk3RIshRctsyeBO1JOiRZcMKLMHsStCcZ9pSCa47hkyA+SackC45nEaZPgvokbbH1Xhg+CeKTdEkKKskIsydBe5IuSRYcEiMMnwTxSbokWXBIjDB8EsQnaSNLg6uW6ZOgPokujrcThk+C+CQ6kjS4aBk+CeKTjG1PvJiBMHsStCcZu554MQNh9CRIT6I1LmYgjJ4E6UnGnidezECYPAnKk2iLixkIgydBeBLVuJiBMHcSdCcZ9fN4MQNh7CTITjI2PPFiBsLUSVCdZOx34sUMhKGTIDqJpbiYgTBzEjQnGbudeDEDYeQkSE4yqufxYgbCyEmQnGQUz+PFDISRkyA5yaidx4sZCBMnQXGSUTqPFzMQBk6C4CQ2+s/gDs3ASRCcpOuRBef+CAMnQXASWw1GGTgJgpN0PrIczPgycRIUJ/FRmCy4QTNyEiQnGeQUnLMgzJwEzUk6IFlwSIIwcxI0J1ltdBJGToLkJN2P4o+UJSmSk4zSecFZDcLMSdCcpAuSBackCEMnQXQSt8WWT2HoJIhO0gXJcnCXZ+gkiE5tlM/L/BbdGDo1RKc26+fxq7YxdGqITm1W0ONXbWPo1BCd2jiRyemNqTFzamhObWx1CqrhN2ZODc2pdUCyoBp+Y+bU0JzaKKIXVMNvzJwamlMbVfSCaviNmVNDc2qjjF5Qsrcxc2poTm3U0Qsq1DRmTg3NqY1CekGFmsbQqSE6tVFJL6hQ05g6NVSnlkaaBqnO2KkhO7VuSFaDVGfs1JCdWjckCyqRNMZODdmpdUOyoBJJY+zUkJ3aOJwpKITcGDs1ZKfWEclqkOvMnRq6U+uKZEEFj8bgqSE8ta5IFlTwaAyeGsJT64pkQfmNxuCpITy1zkjpWhGPVKJrTJ4aylPrjGRBCY/G5KmhPLXOSMEduzF4aghPLY80DS45Bk8N4anlkabBJcfgqSE8ta5IFtTfaAyeGsJTy6MoaXDJMXhqCE+tK5IFxSIag6eG8NS6IllQDaAxeGoIT60rkgW78BuDp4bw1LoiVeULzBqDp4bw1LoimQSXHIOnhvDUuiKZBJccg6eG8NS6Ilmwk78xeGoIT60rkgVb6BuDp4bw1MrI0yDXGTw1hKfWFcmCXeONwVNDeGplVM8Ncp3BU0N4al2RLNgZ3Bg8NYSn1hXJgl29jcFTQ3hqXZGsBbnO4KkhPLU61u0FecrgqSE8tTpW6Qd5yuCpITy1rkjWgjxl8NQQnlpXJAt2bjYGTw3hqQ14akGeMnhqCE9twFOwc7MxeGoIT23AkwZ5yuCpITy1Oso8B3nK5KmhPLUhTxrkKZOnhvLUhjxpkKdMnhrKUxvypEGeMnlqKE9tyJMGecrkqaE8tc5IpkGeMnlqKE9tyJMGecrkqaE8tc5IpkGeMnlqKE9tyJMFecrkqaE8tSFPFuQpk6eG8tSGPFmQp0yeGspTa6MeeZCnTJ4aylMb8mRBnjJ5aihPbciTBXnK5KmhPLUhTxbkKZOnhvLU2mJSqjF4aghPrTOSBbsfGpOnhvLUhjwFux8ao6eG9NS6I4lzVGyMnhrSU+uOJM7X8DRGTw3pqQ16CnZhNEZPDempdUgKDnxrjJ4a0lMb9BRsoWiMnhrSU+uQZB5ctcyeGtpT65JkwfaHxvCpIT61TkkWLC5vTJ8a6lPrlmTB4vLG+KkhP7WOSRYsJWrMnxr6U+uaZMESnsYAqiFAtc5JFizhaUygGgpU655kwRKexgiqIUG1DkrR2XONGVRDg2pdlILq940ZVEODavMIJ3p8XWMG1dCgWhel4Pi6xgyqoUG1LkpBwc/GDKqhQTWTxVmRjSFUQ4RqnZSCU/QaQ6iGCNVMF6foNYZQDRGqdVHip+g1RlANCarNw5v4WtnGDKqhQbWx6YlXP22MoBoSVPPFSv3GBKqhQLXOScGGuMYAqiFANS/xsTSN+VNDf2q+KP/cmD819Kfmi9I7jfFTQ35qvigV0Zg+NdSn5ovq5I3hU0N8al2Sovsrs6eG9tQ6JAXbLxqjp4b0pN2Rgq1byuRJUZ60M1JwNKIyeFKEJ+2KFByNqMydFN1JR409fjSiMndSdCcd7hSsBlXmTorupB2RPFgNqsydFN1JOyLVa1FwOX8YJD0V1Ukvq9rkytRJUZ20E5IHa1KVqZOiOmknJA/WpCpTJ0V10jRq6vI/haGTIjppF6Tg5qzMnBTNScdOJ3ovUSZOiuKk4/SmYGGsMnFSFCdNi8PFlIGTIjhp16Pg3qzMmxS9SYc38duRMm5S5CbtdhR0fsq0SVGbtNNR0PkpwyZFbNIuR1Hnx6xJ0Zo0XxadH6MmRWrScXxT0PkxaVKUJu1sFNyalUGTIjRpXvWfDJoUoUm7GgU3RWXOpOhMuiqsp4yZFJlJ5/4mnp1MmRSVSTsZBYMlZcikiEzaxSgY6SgzJkVj0rwom6+MmBSJSbsXebCQXhkxKRKTdi/yC995q4yYFIlJuxdVWjpAGTApApN2Lar0uGBlvKTIS9qtqPK9mcp0SVGXtFNRjT4Jlp2IS9qlqPKNc8psSdGWtEORB7sSlNmSoi1pGTd3/vSuzJYUbUnLuLnzp3dltqRoS1pHggZDLmZLirakHYqCGqnKaEmRlrTmeNGSMllSlCXtTBTdVxksKcKS1rp45lUGS4qwpAOW+CGoylxJ0ZW0I5EHuyuUuZKiK2lHovA7YSmKrKTdiMLvhGUoqpKOw5ui74QlKKKSjsObou+EoZIiKulApeA7YaakaEragciDnSbKTEnRlLQDUdT1MFJSJCXtPuTBZhVlpKRIStp9KEoNJkqKoqSdh+q1L2fPBEyUFEVJhyhFXwrLUAQl7TrkwbYbZaCkCEradcgT3ymrDJQUQUm7Dnmw4UUZKCmCkrZVJ8o8SdGTtK06UcZJipykbaQo33usjJMUOUk7DkUXPeMkRU7SbkPhRc84SZGTtI0bfaULyJRxkiInabehaH2yMk5S5CQdO5mCPGeapKhJ2kaOBgMOpkmKmqRjI1OQX0yTFDVJOw1F+cUwSRGTtMtQbUEfyDBJEZNUR47yQ3+VYZIiJqmucpRZkqIlqS5zlFmSoiWpLnOUWZKiJamu+lFGSYqUpDr60WAwyihJkZJUF4XylUmSoiTplCSeXwySFCFJOwuF+cUkSVGS1PIqvxglKVKS2mowyihJkZLUloNRZkmKlqTj7KYov5glKVqSjg1NUR/IMEkRk9RWOcosSdGS1EaOBg87TJMUNUnHhqbgCZRhkiImaaeh6AmUYZIiJmmnIU+8+pQyTVLUJO025MH2LmWcpMhJ2nHIczCkZZ6k6EnqdfHFMk9S9CTtOuTB9i5loKQIStp5yIPtXcpESVGUtPuQB9u7lJGSIilpByIP9lUpMyVFU9IuRB7sq1KGSoqoZJ2IPNgTZUyVDFXJuhF5sCfKGCsZspJdRpry2QVjrmToStaVyIM9UcZgyRCWrCuRBxuajMGSISzZgKVgQ5MxWDKEJbss4NOYLBnKknUmCu4sxmDJEJasK1HAB8ZcydCVrCNRwAfGWMmQlawjUcAHxljJkJWsI1HAB8ZYyZCVbLAS5wNjrmToStaRKOADY6xkyEo2WInzgTFWMmQl60gU8IExVjJkJetIFPCBMVYyZCXrSBTwgTFWMmQl60gU8IExVjJkJetIFPCBMVYyZCXrSBTwgTFWMmQl60gU8IExVjJkJetI5MEGSGOuZOhK1pUoOhLVGCwZwpJ1JkrX8mpkSGxMlgxlybIseh0mS4ayZLkthsTGaMmQlqxDUdQFM1oypCXrUBR1wYyWDGnJ8qr/ZLRkSEtWVv0nkyVDWbKy6j8ZLBnCkpVV/8lkyVCWrKz6T0ZLhrRkZdV/MloypCUrq/6T0ZIhLVlZ9Z+Mlgxpycqq/2SyZChLVlb9J4MlQ1iysuo/mSsZupLVVf/JWMmQlayu+k/GSoasZHX0n3xMb8yVDF3JuhIFExvGXMnQlawjkQhdWGqMlQxZyeoYffITTI25kqEr2XClYAu6MVcydCXrSuTBFnRjsGQIS9aZyIMt6MZkyVCWbBTKC/ZdGqMlQ1qyQUvXorJk5bIxWjKkJetQ5MFWeGO2ZGhLNmyp8uKlxmzJ0JasS5EHW+GN4ZIhLtnApWArvDFcMsQl61TkwTZ2Y7pkqEvWqciDbezGdMlQl6xbkQfb2I3xkiEvWbeipHTNgzFdMtQlG2c0BbVLjemSoS7Z0KVgN70xXTLUJetW5MFOeGO8ZMhL1kaa8oWAxnzJ0JesY1G78I+U8ZIhL1kbWRpcccyXDH3JVnXyjPGSIS9ZtyK/bqYns3jGeMmQl2wc0hTcqpkuGeqSdSuKbtVMlwx1yToVRYMnhkuGuGS6utszXDLEJdPV3Z7hkiEuWZei6AmD2ZKhLVmHomj8xWjJkJZMF0tEjdGSIS1Zd6JoIMlkyVCWTBc7QIzBkiEsmS6WiBqDJUNYMl0sETXmSoauZLpYImrMlQxdyWyxRNSYKxm6ktliiagxVjJkJetGFD1gMFUyVCXrRuRB8Q1jrGTIStaNyIPiG8ZYyZCVrBuRB8U3jLGSISuZjf4zuMkzVjJkJetI5EHhDGOuZOhKNlwpKJxhzJUMXcm6EnlQOMMYLBnCkvlilb0xWDKEJRtHMwXXPHMlQ1cyz6sZFuZKhq5kY5sSVVxjqmSoSuarLpSpkqEqma9mmxgqGaKSjV1KQf/HTMnQlGycyxT0f4yUDEnJxi6loP9jomQoSjZ2KQX9HwMlQ1DysUuJ93/OPMnRk3zsUuLDDGec5MhJfll0oc40yVGTfOxS4rdWZ5jkiEneZSgYIzizJEdL8g5DwcDPGSU5UpJ3GAoGfs4oyZGSvMNQMGpzRkmOlOQdhoJRmzNKcqQkH1uUgopBzizJ0ZI8XRZL5J1hkiMmeUrx6kxnmOSISd5pyIPCRc40yVGTfOxSavy5whknOXKSp9V0vTNPcvQkX21TcuZJjp7kaTVd7wyUHEHJOw95UIPJmSg5ipJ3H/KgBpMzUnIkJe9AFDy4OiMlR1LyQUrBRc9IyZGUfJBScNEzUnIkJV/tVHImSo6i5GOnUtBvMFByBCUfO5WCfoN5kqMn+cqTnHmSoyf52KkU9OSMkxw5yVec5IyTHDnJx06l4JbEOMmRkzwv1tk74yRHTvKyqDbijJMcOckHJ/HRjjNOcuQkH5zERzvOOMmRk3xwEh/tOOMkR07ywUnBaIdxkiMn+YqTnHGSIyd5xyEPyr458yRHT/KxVSko++YMlBxByctiuYgzUHIEJe88FF0lDJQcQck7D0UpzkDJEZS881CU4gyUHEHJxz6lIMWZJzl6ko99SkGKM09y9CQf+5SCFGee5OhJ3nEoSnHGSY6c5N2GojsJ0yRHTfJOQ9FVwjDJEZO8rnpPZkmOluQdhqLbAKMkR0pyWd3bmSQ5SpLL6t7OIMkRkryrUHRjZo7k6EjeUSi6MTNGcmQkH4wUlIl0xkiOjOSDkXhBIGeK5KhIPs5bigbBTJEcFck7CWnmJ3k6UyRHRXJZ1bh3xkiOjORjk1KwrN0ZIzkykrfLYh2QM0ZyZCTvJhSO6BkjOTKSj6p3F1rRx5kiOSqSdxPSzI/ScsZIjozk3YQ0WxCDZSkyko9tSsGxt84cydGRvI1elJ9V7cyRHB3JuwpFkO0MkhwhydvqLs8gyRGSfEISr1zlTJIcJcl1dZtnkuQoST63KfGCZM4oyZGSvMOQB+eaOrMkR0tyHU/yFsRgWYqY5AOTnG+0dKZJjprkY6MSnY91hkmOmOQ6RqJ8x4IzTXLUJO82FN1YmCY5apLrYmWTM01y1CTXxcomZ5rkqEk+dynxYQ/TJEdN8m5D0YCDaZKjJnm3oWhEzTTJUZPcVlOhDJMcMcnHHqVgRM0sydGSfJS7C0bUjJIcKclHtbtgRM0kyVGSfFS7C0bUDJIcIclHsbtgRM0cydGRvKNQNBxmjOTISN5RyIN60s4cydGRvKtQOHJikOQISd5VKBz1MEhyhCQfG5SiUQ+jJEdKcq+rUQ+zJEdLcl/t9HSGSY6Y5OPEpWDUwzDJEZPcdTXqYZrkqEnebSgc9TBOcuQkHxuUgrE54yQHTiqXwUl84DRbb2McX9xipHjgNFtPMRLGyPHAabaeYmSMUcKB02w8hSgYosYDp9l6ilExhsSPKrP1FEMwRrxoZDaeQjQMofHga7aeYijGsHjwNVtPMQxjeDz4mq2nGJilY4cSH3zNVoyRMEvHFiU2+JptpwiYowOV+OBrtp5iYI6m+Kl+Np5CYI52IOKDr9l4CoEpOrYo0cHXbDyFwAxN8ZzTbDyFwAxdbFGajacQmKCj8h0dfM3GUwjMz7FFiQ6+ZuMpBKZnjmfsZyOGyJidOZ6xn42nEJieOZ6xn42nEJidOZ6xn42nEJidOZ6xn42nEJidOZ6xn42nEJidXYecH8QxW08xMD3zou7ybD3FwPzMFg+cZuspBiZo9ngAN1tPMTBDhynxzo+Q0vHFLUJft6yZd8HElI4vbjHiR6XZeAqBGVricg6z8RQCM7TElcFn4ykEZmgXouiCJ6Z0fHEL0RYXPCGl44tbCF1c8ESUji9uIWxxwRNROr64hfDFBU9E6fjiDFHjB/nZiCEqpufYohT0GUSUji9uIfLiRkBE6fjiFiJetDwbTyEwO+vq7k5E6fjiFmJ1dyeidHxxC9FCv5iNpxCYnTWeZpqNpxCYnWN7Ej/GaLaeYmB6diDiBY9n4ykEpueq8N1sxRiC+Tl2J0U3AoJKxxe3GD1B24WsfJmNpxCYoFJW9xKiSscXtxg1LmUzW08xMEUlnAmdbacImKFja1J0PyKodHxxixEvGZmNpxCYohLvQJ6NpxCYod2HovsREaXjizNEWw1ACSgdX9xCrAagxJOOL24hVgNQ4knHF7cQqwEo4aTji1uI1QCUaNLxxS2ELO5HBJOOL24h2uJ+RCzp+OIWIj5YYTaeQmB2jj1Jwf2IUNLxxS2EL+5HRJKOL84QY09ScD8iknR8cQuRFvcjAknHF7cQeXE/Io50fHEL0adB+ZF4s/UUA9NTa1zTbLaeYmB+dhaK7mkEko4vbiEWK0Jn6ykGJqjq6p5GJOn44hbDFvc0IknHF7cQy+cjQknHF2eMDkPhPY1Y0vHFLcZigolQ0vHFLUJe3dOIJR1f3GKUxT2NWNLxxS1EXJJxNp5CYIZavCR0Np5CYIZavOljNp5CYIJavOljNp5CYH5avOljNp5CYH5avOljNp5CYHp6vOljNmIIx+z0eNPHbDyFwPT0eNPHbDyFwOz0WDpn4ykEZqfHmz5m4ykEZqfHmz5m4ykEZqfHmz5m4ykEZqfHmz5m4ykEZqfHmz5m4ykEZucwJH5E62w9xYD0TKPIHT+idbZCjISIlBabkmbjKUTCEIsH+MQIKSEhpcui90yMkBISUhoV7ijKzcZTiIohFr1nYoCUEJDSAKQAshITpISClC7xtuPZeAqhGMJiKZ2tpxiGMTyW0tl6ioEZ2jUoMrnEACkhIKUUrxWZjacQmKGdg7TQ+iKz9RQDU3QIUpAcTJASClIagsQ7r8QEKaEgpe5Bzk9Unq2nGJijaTzC0522s/UUA3N07Eri1Xhm6ykGJmknIV5XaDaeQmCOptGLchpMTJESKlLqJuRG95vNVoyBjJRyiiuDzNZTDEzSvCiCM1tPMTBJOws5P2B6tp5iYJZ2FxLLbMHIbD3FwDTtMOTXQ6rpZ8rSFC0pDUsyWol/tp5iYJp2GHKjZxvM1lMMTNNhSddDqmkMlqdoSanDkBs9lXm2nmJgno6TlIwvCkhMkxJqUiqrJSOJaVJCTUpltWQkMU5KyEmpjDzlixMS86SEnpS6DrkF1z4DpYSglMpYZR9c+0yUEopSKvFpX7PxFALTtMSnfc3GUwjM0iFKwTiOiVJCUUolPu1rNp5CYI4OUQo+CyZKCUUp1dXtnolSQlFKdeGdiYlSQlFKdfHAlJgoJRSlVBeP84mJUkJRSnXhnYmJUkJRSnXhnYmJUkJRSnXhnYmJUkJRSnXhnYmBUkJQSnXhnYmBUkJQSmOPEn+QTsyTEnpSGp7Ez4KfracYmJ6j2h0/C362nmJgfsrC4xPzpISelIYnBcMvxkkJOSl1HeJlHWfjKQTm5/CkqAdmnpTQk9LwpOiuxkApISilAUrRXY2JUkJRSmOTUjSwZqSUkJTSqHUXDayZKSU0pTRq3UWjYoZKCVEpjVp30aiYqVJCVUqtrEbFjJUSslKaxe6CUTFzpYSulLoShSNaBksJYSmNanfRiJbJUkJZSk1XI1pGSwlpKTVbjWiZLSW0pTROU4pGtAyXEuJS0stqRMt0KaEupW5F4YiW8VJCXkpjn1I0kmS+lNCX0vClaCTJfCmhLyUd0098zURivpTQl5KO0Sh3rsSAKSEwpbFTyfm8YmLAlBCY0gAmD+YVGTAlBKY0TlTyYKKCCVNCYUo61tnTwjiz9RQD89QWhXFmK8ZAYUrjTCV2duxsO0XALB0nKgUdIQOmhMCUOhfxip2z8RQCc3RUvuOny8/WUwzMUVsYaGLClFCY0jhPKZgTZMKUUJiSLVaQJCZMCYUp2WIFSWLClFCYki1WkCQmTAmFKfliBUliwpRQmJIvVpAkJkwJhSn5YgVJYsKUUJiSL1aQJCZMCYUp+WIFSWLClFCYki9WkCQmTAmFKfliBUliwpRQmJIvVpAkJkwJhSn5YgVJYsKUUJiSL1aQJAZMCYEpXxYrSDLzpYy+lC+LFSSZ+VJGX8qXxQqSzHwpoy/lrkXpcqG7AmfzKUjBIHVxK8mMmDISUx5nKPHDVmfrKYZgjDb+GP4QmhkyZUSm3MkoePrLDJkyIlMepyhdEl1SkxkyZUSm3MUoXdmOLADJDJkyIlPuYpQuF/5AnZkyZVSmPIrf8dtrZsqUUZlyJ6N0ufAxYGbMlJGZckejKD8YM2VkpjyK310ufByZGTRlhKbc1ShdLnwgmZk0ZZSmnGam8qeEzKgpIzXl7kbpwk+Kn82nIJirowIe1+HMrCmjNeW06E8zo6aM1JTzqj9l0pRRmnJeeH1m0JQRmnJe9afMmTI6U86LLZ+ZMVNGZsp5sZ4kM2XKqEx5FMDjo8DMkCkjMuUcn1gzG08hMD9zfB7dbDyFwOwc5ynxUWBmwpRRmPIogMdHgZkBU0ZgymOzEh8FZuZLGX0pD1/io8DMeCkjL+XBS3wUmJkuZdSl3KkoGMJlhksZcSl3KbL0s9gvNZ0+C5adaEu5zB6UP75mhksZcSmP7Ur0RODZeAqB+Vl02QkzXsrIS7ljUbpc+LNjZsCUEZhyWfWgDJgyAlOuqx6UAVNGYMp11YMyYMoITLnGZcZm4ykE5mhdbEjODJgyAlOuiw11mQFTRmDKY8tS0AkzYMoITHkAU9AJM2DKCEy5Lp6XMgOmjMCU6+JpPjNgyghMucYn0s3GUwjMTolPpJuNGAKBKUt8It1sPIXA7JT4RLrZeAqB2SnxiXSz8RQCs7NjUdQJM17KyEtZRg+agqc2BkwZgSmPKniXFDwtMWHKKExZRh+agkcMRkwZiSmPOniXFDwfMGPKaEy5g5EIf+ZixJSRmHJb7avLjJgyElPuXpQuKXjGYMaU0Zhyiysxz8ZTCEzUtrrVM2HKKEy5c1HU+zBgyghMua26UeZLGX0pt8Uqksx4KSMv5bZYRZKZLmXUpdxmigZPfYyXMvJS7laULon7QWa+lNGXso6H+hQ89TFgyghMWWeWBkMwJkwZhSnreKxPwdCHEVNGYsq6WD2amTBlFKasi9WjmQFTRmDKupgezcyXMvpS1sUO5cx4KSMv5UUhvNl4CoF5qnGtxtl4CoFZqnHN29l4CoE5OgrhBUMfRksZaSmPQnhB58NsKaMt5VEILxj6MFvKaEt5bF4Khj7MljLaUh6bl4KhD6OljLSUx+alYOjDaCkjLeWxeSkY+jBaykhLedBSMPRhtJSRlnKHouimxGgpIy1lG31oDoY+DJcy4lIeJypdcjD0YbyUkZdyx6JoopjxUkZeyqMU3iUHoycGTBmBKc9DlYLZZiZMGYUpj1p4lxyMwJgxZTSm7GNUmoOhD1OmjMqUfYxKc3CjZc6U0ZnycKagF2TOlNGZ8nCm4KbCnCmjM+VxuFJwU2HOlNGZynAmflMpzJkKOlMZzsRvKoU5U0FnKqMWHv84C3Omgs5ULotCJIUpU0FlKpf46K/ZeApRMYTEN5XCjKmgMZVVIbzChKmgMJXVNqbChKmgMJUhTPymUhgwFQSm0rUouKkU5ksFfamMKnj8plKYLhXUpTKK4PGbSmG6VFCXSlrsAi3MlgraUhm2dMl8YF6YLhXUpTJ0iS8AKcyWCtpSWZysNBtPITA/VycrzdZTDEzQjkTR5vPCXKmgK5VRCI9OzxbGSgVZqaTVNvrCXKmgK5W8GIgW5koFXakMVwo6P+ZKBV2pjEJ4wQXPXKmgK5XhSsEFz1ypoCuVUQgvuOCZKxV0pTJcKbjgmSsVdKXSlSi64JkrFXSlMlyJ31cLc6WCrlTyYiBamCsVdKWSF2UaC3Olgq5UuhJFN0XmSgVdqXQlCkY6hblSQVcqXYmCkU5hrlTQlUqJj/2ajacQmJ0lPvZrNp5CYHZOV8p8ZqQwVyroSqUrUVQOpTBYKghLZcBScCdgrFSQlUpZTNsXhkoFUamMOnjRnYCpUkFVKnVVhqQwVirISqXGZUgKU6WCqlRW25YKU6WCqlTqwuULU6WCqlRqXNF+Np5CYIbWuKL9bDyFwPyscUX72XgKgelZ44r2s/EUAtOzxhXtZ+MpBKZnXTwdFaZKBVWprLYtFaZKBVWpyGKaqTBVKqhKZVTBC3pxpkoFVanIYhK0MFUqqEpFFpOghalSQVUqXYiiXpyZUkFTKt2Hol6ciVJBUSpTlDKfmi5MlAqKUuk6FK1ILAyUCoJS6TxUaxCCJSiCUuk6VIN3wTypoCeVbkOVHS46204RMD/HhqXEN3EUpkkFNam0+YDEp/oL86SCnlTGjiV+fu1sPcXAHG3jHl/49F9hpFSQlEprq7saM6WCplTaSNPCpxALU6WCqlTa6i7PTKmgKZXuQ+F4hZFSQVIqunLPwkSpoCiVIUrR0xoDpYKgVCYoFT4dWhgoFQSlMmvi8S0lhYlSQVEquqh5W5goFRSloouat4WJUkFRKrqoaF+YKBUUpaKLkk6FiVJBUSq6KOlUmCgVFKWii+0ghYlSQVEqtnpUYqJUUJTKKIcXjCKZKBUUpWKLgk6FiVJBUSq22J9cmCgVFKWyOFppNp5CYHYujlaajacQmJ2Lo5Vm4ykEZufiaKXZeAqB2bk4Wmk2nkJgdi6OVpqNpxCYndOTCueTwjypoCeVcbbSpXA+KUyUCopS6TrkEtxjGSgVBKXi42ZfOMEUJkoFRamMPUtB58U8qaAnlW5DqnwHa2GcVJCTyti05LScZ2GYVBCTymrTUmGYVBCTysCk6z58NhBkmlRQk4oP+CzBHDXzpIKeVC8zUfkUSWWiVFGU6mXxzFSZKFUUpTp2LgUfSGWkVJGU6iAl/tVWRkoVSaleBnsW/qxRGSpVRKU6UCn8W0iaVlSlelmkaWWqVFGV6mUOSPkQvTJXquhK9TKWOWU6Mq4MlirCUh2wdPGfJf2iuKWkMlmqKEt1yFIUg9FSRVqqafSnlT8qVIZLFXGpdioKdj9VhksVcalOXKr8SaEyXKqIS7VTkWiio9rKdKmiLtW5c6ny4XVlvlTRl+rcuVT5ra4yYKoITLVrUVP+bF0ZMFUEptq9SC247BgxVSSm2r1Ijdc3royYKhJT7WCkxotOV2ZMFY2pdjFqSjfSV2ZMFY2pdjFq12MESZmWypCpIjLVTkZNeXHMypSpojLVsXupZFpypjJmqshMtaNR0+gjZXmKzlTH/qWSgs+DpSlCU80jTfn8TWXSVFGaanejFPTsTJoqSlPtbtSuT7T0I2VZitRUOxw1df5xMGuqaE21y9H1vMzyi7lhCJalaE21jCzlBYkqw6aK2FQ7HTULMoxpU0Vtqt2OmpUgBstS5Kba6ahZDWKwLEVtqp2Ows6DaVNFbardjuIYLEuRm+rcxVT5s0dl4FQRnGoZI9TKnxsqE6eK4lSHOF1HIOzOz8SpojjVKU58RVxl5lTRnGoXJL3WMyMPH5WhU0V0qnXe+fmQvTJ2qshOtY4xag2G7AyeKsJTHduZgkI+lclTRXmqdVQnoVPRlclTRXmq3ZFEr08OnrATYvJUUZ5qHY9Smb8LlqcoT7U7kl74DGFl9FSRnqqMB6kaPDkwfKqIT1XmCDUYsjN+qshPVcakqQTDXAZQFQGqjmOYLhKMURlBVSSoKiNTJRhfMoSqiFB1IFQwfVuZQlVUqDp3NgmvJ1aZQ1V0qDodSoIukTlURYeqc2eTBF0ig6iKEFU7K4VDOyZRFSWqdlfSxOeFKqOoihRVuyxpCrpEhlEVMap2WdJL0BExjKqIUXVilATdKsOoihhVx6lM0RMmw6iKGFXbGKfyvohRVEWKqm2matC7M4uqaFF1WpQEnRGzqIoWVecOJwk6I6ZRFTWqzh1OLeiMGEdV5Kg6dzi14GGXeVRFj6pzh1MLnu0YSFUEqapjBwkfvDOOqshRVUeytuB5mXlURY+q44ymYBaCeVRFj6pdl6JbL/Ooih5VdeRqC3pEJlIVRarqyNUW9IjMpCqaVNWRqy3oAZhKVVSpqosFfJWpVEWVqjYzNbh6mUtVdKm62ulUmUtVdKnalUmN1wKtDKYqwlQdMMUn7CuDqYowVW0MAFrQDzGaqkhTddTRu7SgH2I4VRGn6qikd9GgH2I8VZGnasemYterzvAhgulURZ2q3ZrCkSbjqYo8VQdPBQNexlMVeapOngpOn66MpyryVJ08pcHojvFURZ6qc8NTcIJqZT5V0afq9Kng2LvKfKqiT9W54yk4Z6gyoaooVHXueAoOGqqMqCoSVZ07noKjSypDqopIVX10qxpceoypKjJV9dGtanDpMaeq6FR1OpUFlx5zqopOJdOpgvM6hDmVoFPJcCp6/QpjKkGmkrHxKZhIEMZUgkwls8Je8DAiDKoEoUomVBm/+IRBlSBUyWVkq/GLT5hUCUqVzBp7xi8+YVYlaFUyrcr4xSfMqgStSqZVGb/4hGGVIFbJZWYrv/iEaZWgVkmnp+gBTZhWCWqVdHmKOEMYVglilYzTnJRWnReGVYJYJROrjPcjwrBKEKtk7ITiM0XCrErQqmRalfGuSJhVCVqVTKty3hUJsypBq5IOTyVAEWFWJWhVkkaqBqcjCMMqQaySiVVRhrBMRaySgVVBhjCrErQqyWMcEJzSIEyrBLVK8oJVhWGVIFZJHpkaFBYXplWCWiV59KtBZXFhXCXIVTJ2RV34OhVhXCXIVTK4SnnleWFcJchVMvZFJV6JXxhXCXKV5JmpQc/MwEoQrCSPTjWoky5MrA4vziBDrII6+sLESlCspMxcDXp3ZlaCZiVlsb5fGFkJkpV0f8op+HYZWQmSlYzCe5ltoxEGVoJgJXN/VFA2XphYCYqVjP1RJlcFLJfTG2GJimIls/BeUG9dGFkJkpUMskpB5WJhZCVIVjLIKgUVg4WRlSBZySCroDNjYiUoVtL5KfhymVcJepV0fEopqPUrDKwEwUrqopS+MK4S5CoZXBWsAxemVYJaJZ2eUgrqBQvjKkGuksFVKSj2KwysBMFKOj+lFBT7FUZWgmQlY7NUCh4AmFkJmpXUVTloYWYlaFYyzCpdgm6ZmZWgWckow5eCbpmRlSBZicxcDbplRlaCZCWDrFJQRVQYWQmSlQyySkH1TmFkJUhWMqrxpaAanzCzEjQrkUW1SGFiJShWIovF/sK8StCrpNtTMBcpTKsEtUpkdKlBWUFhXCXIVdLtKdiAIUyrBLVKOj0FGzCEYZUgVsmqDJ8wqxK0KmmLaqbCpEpQqqQtqpkKgypBqJK2qCshDKoEoUo6OgWbDoQxlSBTSSenYNOBMKQSRCoZG6b4pgNhRCVIVNK5Kdh0IAyoBIFKxn4pvulAGE8J8pR0ago2HQjDKUGckrFbKgWlN4XxlCBPia7u+AynBHFKdPShQfVOYTwlyFPSsSl8HyxDkaekU1OgscJwShCnZGyXMuEhWIYiTcmgqRTU/xRGU4I0JTr70GDYwXBKEKdkbJni059MpgRlSiytIFaYTQnalFheQawwnBLEKbFxsw8qZwrjKUGeEpuJGgw7GE8J8pTYvNkHww7GU4I8JZ2aqihdOihMpwR1SmwMTYPqm8KAShCopGtTdNkxnxL0KZkF+cIkYbmKQiVTqKIkYUIlKFQyhCoFpQGFCZWgUEnXpqgLYD4l6FPSrSm48BhOCeKUjM1T2fibYHmKNCXjwKfs9GhHYTIlKFPiyzRlMCUIUzJgKmW+akgYTAnClAyYSkGdRGEwJQhTMo59ir5ZlqbIUu0Sd6mNmVRDk2qdmKKvpTGVaqhSbagUz47GUKohSrUOTNE325hJNTSpNkwq+mYbM6mGJtXm5in6pTQmUg1Fqg2RSkHtysZEqqFItcvi2akxj2roUe0yk5Tf+RvzqIYe1S6++jxIkjbUqNZpqVz1hXSljWlUQ41qnZaKtyAGS1PUqDbq8jlf6tcYRzXkqJbGHj8+td6YRjXUqNZtqV740sfGOGp78f/++aenr38/vr4/fvm/vn55/M+f/uP//J+f8pe3b388vj4+XV/5+/H17enl608///dPvz6N/+V69Gv/1T/9x3//VFL2n/7jv//n55/6Ka//8d//8z8/b798vL791t52fRu//vr15cvj//P2618vn//89e3x9e/H119/Pf4GTfnjN+TrKaX3xX3/99vjMU71jzB1vk1J479W53/b+G9K84dr59x/aEXmD5a2H8r4QdN8RZvNH2zGtzQDe5lNXi/zhzYjX+uMbD/pZfv9aXvtesz1/MlmjHQ9iGn+ZFuU61q87af5S9N1Wn381LY3ktr+29r2nlLb30vbPwGt27/VNv/0ZJftd9ge2creWrYovn0iyZPsP83fmy/be8kX2V/T+f/lVNr20/ZR5etB8vMn2V+T+e7z9Ryl+ZPL/tP22rUm3/zJt98r2/efZfvbsmyffRbbW/d/0XLZfmrba7b9237E6vgpb3953xk5f9q+j85686ftb+tzyvMn/fhpiyzjO//f0/3py02uW/1I9nR9bJsJsafLdegyv/LLngb7l9X2BGtlS8lWP37aU0j2f2t76/47mm9RdE8X3b7KpNuXn7TtSbdfAKp76/5O7bInneXtS7XtC6zjo/9fP6qHTy+v78cPq1zs8GHt2XndfH5/wIdPzze9jaXDN5BlJM19oR5vvsqSj1/lZXyQ9wV6f334+vbw+R267JzlI6Kl+/rph09v768Pn98/f399e3k9hkvtEO461PjxcI9/P359f7vp9I/vMV8PW/vxqC/frn85hG03Yf2+sJ8/P357f/zy29Pj85e322/Zj9/yyPy74r29/fn47+1FW5oevum89ULJ/c7vvId9f/nz8ebrblIO7/Ei2/Vyafd1LQ+f//z68s/z45ffbxPzWm/sI66W2fFlT1vXlrY+oR+AOn4qcudv/fJlfIu/PT/8fvNr5Xg5bHfnPPsI3X6Rt+0WdGlbL5T221L6uD2ku9/P4+vry+vzw6fH55uP9zA62W4Nab93yn7b3bpW3Xuz/W653cjSfh/bXin7nWi7OW1/Vt5u93m79+TtZnWt4j2/gLZ9/rp9/LbdlLaBWtu+I93uXFvfut8v6xawbgHrFrBuAesWsG4B6xawbgHr9pfKliLXpTLjh+0GceXR8cOWqLLdHfbb2H5bTl72n+r2ufp+T/K2X0L73cn9zrvEly9P1+7j4fnL69Pfj69PX397uelJ/KZ/v9zZi3758ufjvw/P7/1f3gxyP6LpnfeKL1+en97eH78+3nbHl+P9Is3Pom1jM03bqHW7se/3XNtu//vn5tt46roQert08n4RyZbB1yM5Z8LuYzEZ/+KeP+P//f74+u9fL1+efnu6/Vvy8WL3fGfv+uXL6+PbTTd93WD78ZmU7apKZcuxVPbuouyj57IPQYrtr+1XbfGy/7SPwS9p/2nvCvbhVd27n7qPMeo+zq/7kKtuI9ZUt4sh7/1H3/9758fw9v7w+02WJT2MdFrbB9B291f1/vLy7fH1od9Yr9l3c/8q7Zh522g25X3gKHLnDff6i94e38fvenm9vefmy809997++6+nr7fDlsO7bTI/fL/7Qv774evnx8/P39/eH1/fn26v5nwcFtjl3uu5h9w/33NQOwa9c0zw+++vj78/vN9GaodP0LaL3fzOL2cLScZX5of3mJv+WMSnl69keKnH76ndmakYkY0Fy7EHz/XO3uX595fXp/c//jqGEj18oMnanTn0/PTw9nj7nuQ4Pi3b81Oul3vf3c3YxG6Gfu3e4e7z8x8vb7fj8b5n82Oep7Y7B+TPzy//fHl6+/P7220G+iGafzwcbnMT+WOAlrfhW94fMbPvY5XL/R/Myz+PX349/WGtHEexl/s/opd/vj28vj89PL8+vn1/vg3q7XgZ+P5cf7ncG/798fUrXLWej0Htcuc4ZoZ6+vsRJ8QsHyfW5N6B0debpwCzmxS7N/W//vvp+/Of/7w+vX90eDf5dhzly70xPz8/PX593yP/9fLldqxufnxc03s75q//9qH/zYVa0/FClTvf4rdvj1+//PX4/vDl4f3h9t557EHSvff4b9+enz6fPrx282emeue1+u3b87837+k4xE3l3kvj27fT4PZy7NXSfkHXffqv2p3v8fXT0/vjK3RN9aZrqnd+q6+f/3h6f/z8/v318fbD05sP78777Ovrw7+Pz4/9xZtrrNxcY3fevq7Rfnt6xj+13swQyPZYlmSba0yy3c2zbr1O1v2B7rLPRJZtlrXXR777PW0Dsts/8eZJ6N7Jird/v37+8vT27eUNp856Vb/DF3pvF/8REcIdB//bM07bnhx1exbVbRLctkck3+clL/uT5P5EldL+8JC3R6JctgehMof9973ra07jx3pdD3wcTW9ve5vo2L5y3R/WtvH8devr9h7zZX+PZX+Pd15r39//uLmK2/F7rmmfd5U7bxzf3//48ulmFHC80vZp4f2N5rQ/oHzk8uVj/mMbDVj6mArZf9rHCnNYex01lI+Zku25yrfnuXLJ+116nyS5tP21bTaupLq1Jt9n/bfJr36E9vzJ9itsnxDbLaKfMTF/2t+B3Hslfn//46/Hz388fH16uxmGFjnclFL+eDzfqeRaxeaHf8W31+tl//50O1RtN1Opl/3bqHJn//v9/Y+X16f/evzy+eX5+fHzaXyeLpdjvz5nx34g7vUe+wlH2OlyOXYuudx5mX5//+Pt5fvr59sb27GjytfTS7bP4M5+/vv7y+PXz6//fsNbuNpxWFr3/Jd7B0M3kR//8/31gTwCyfFxI9m9A4Wb2M8vv//++Pr8+PftUKscuTVl2ScD7k+Pwy9h7/1mtsHy/Z94D3A79e7lZmxd70yKvx+envHuVfTYb2e/8zP95+HpHQeFejPiz2XvDjcSzr5jpPveLd37kHH9lbdT+vXmM637c1nd7jrpWjnuvuC3ncXNeN73LvmyTZPly72J/c/br59fH788fr0+e/367fXl76cvt7OGrRzvK5dy9zv+9e3x7bq+4dezoZR009nd/V4/3ip7p+VIZynfOwg+hn27jddu4t2Zxv+8fVxpfz7+SzsKveko7uyK/3n786+37Q///PL1t6ffv5+f9dpxgUfye8fI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"; \ No newline at end of file diff --git a/docs/Next/classes/AbstractCursor.html b/docs/Next/classes/AbstractCursor.html index ee1387bec32..eee81cb00a8 100644 --- a/docs/Next/classes/AbstractCursor.html +++ b/docs/Next/classes/AbstractCursor.html @@ -58,7 +58,7 @@
signal: undefined | AbortSignal
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CLOSE: "close" = ...
defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -86,7 +86,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -100,7 +100,7 @@

Parameters

Returns this

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns CursorEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns CursorEvents[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -348,7 +348,7 @@

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends string | number | symbol

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/Admin.html b/docs/Next/classes/Admin.html index 6e5dcb824b2..a78dddf7f80 100644 --- a/docs/Next/classes/Admin.html +++ b/docs/Next/classes/Admin.html @@ -4,7 +4,7 @@
    import { MongoClient } from 'mongodb';

    const client = new MongoClient('mongodb://localhost:27017');
    const admin = client.db().admin();
    const dbInfo = await admin.listDatabases();
    for (const db of dbInfo.databases) {
    console.log(db.name);
    }
    -

Methods

Methods

  • Execute a command

    +

Returns Promise<Document>

  • Execute a command

    The driver will ensure the following fields are attached to the command sent to the server:

    • lsid - sourced from an implicit session or options.session
    • @@ -36,20 +36,20 @@

      Attaching any of the above fields to the command will have no effect as the driver will overwrite the value.

    Parameters

    Returns Promise<Document>

Returns Promise<Document>

  • Ping the MongoDB server and retrieve results

    +

Returns Promise<ListDatabasesResult>

  • Remove a user from a database

    +

Returns Promise<Document>

  • Remove a user from a database

    Parameters

    • username: string

      The username to remove

      -
    • Optionaloptions: CommandOperationOptions

      Optional settings for the command

      -

    Returns Promise<boolean>

  • Get ReplicaSet status

    +
  • Optionaloptions: RemoveUserOptions

    Optional settings for the command

    +

Returns Promise<boolean>

  • Retrieve the server build information

    +

Returns Promise<Document>

  • Retrieve this db's server status.

    +

Returns Promise<Document>

  • Validate an existing collection

    +

Returns Promise<Document>

  • Validate an existing collection

    Parameters

    • collectionName: string

      The name of the collection to validate.

    • options: ValidateCollectionOptions = {}

      Optional settings for the command

      -

    Returns Promise<Document>

+

Returns Promise<Document>

diff --git a/docs/Next/classes/AggregationCursor.html b/docs/Next/classes/AggregationCursor.html index e5baa976d92..38d92adf5c8 100644 --- a/docs/Next/classes/AggregationCursor.html +++ b/docs/Next/classes/AggregationCursor.html @@ -77,7 +77,7 @@
pipeline: Document[]
signal: undefined | AbortSignal
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CLOSE: "close" = ...
defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -105,7 +105,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

@@ -119,7 +119,7 @@

Parameters

  • flag:
        | "tailable"
        | "oplogReplay"
        | "noCursorTimeout"
        | "awaitData"
        | "exhaust"
        | "partial"

    The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

  • value: boolean

    The flag boolean value.

Returns this

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -161,19 +161,19 @@
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns number

    v3.2.0

    -
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns AbstractCursorEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "close"

    Parameters

    Returns AbstractCursorEvents[EventKey][]

    v9.4.0

  • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

    Returns void

  • By default EventEmitters will print a warning if more than 10 listeners are diff --git a/docs/Next/classes/BSON.Long.html b/docs/Next/classes/BSON.Long.html index 31d835f0cda..8f0a4ec75f2 100644 --- a/docs/Next/classes/BSON.Long.html +++ b/docs/Next/classes/BSON.Long.html @@ -124,29 +124,29 @@

ZERO: Long

Signed zero

Accessors

  • get __isLong__(): boolean
  • An indicator used to reliably determine if an object is a Long or not.

    Returns boolean

  • get _bsontype(): "Long"
  • Returns "Long"

Methods

  • Returns the sum of this and the specified Long.

    -

    Parameters

    • addend:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns the sum of this and the specified Long.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

    Sum

    +

    Parameters

    • addend:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • Returns the sum of this and the specified Long.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

    Sum

  • This is an alias of Long.compare

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns -1 | 0 | 1

  • Compares this Long's value with the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns -1 | 0 | 1

    0 if they are the same, 1 if the this is greater and -1 if the given one is greater

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns -1 | 0 | 1

  • Compares this Long's value with the specified's.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns -1 | 0 | 1

    0 if they are the same, 1 if the this is greater and -1 if the given one is greater

  • This is an alias of Long.divide

    -

    Parameters

    • divisor:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

    -

    Parameters

    • divisor:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

    Quotient

    +

    Parameters

    • divisor:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

    +

    Parameters

    • divisor:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

    Quotient

  • This is an alias of Long.equals

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Tests if this Long's value equals the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

      Other value

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

  • Tests if this Long's value equals the specified's.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

      Other value

    Returns boolean

  • This is an alias of Long.isZero

    Returns boolean

  • This is an alias of Long.greaterThanOrEqual

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Gets the high 32 bits as a signed integer.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Gets the high 32 bits as a signed integer.

    Returns number

  • Gets the high 32 bits as an unsigned integer.

    Returns number

  • Gets the low 32 bits as a signed integer.

    Returns number

  • Gets the low 32 bits as an unsigned integer.

    Returns number

  • Gets the number of bits needed to represent the absolute value of this Long.

    Returns number

  • Tests if this Long's value is greater than the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Tests if this Long's value is greater than or equal the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long.greaterThan

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long.greaterThanOrEqual

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Prints a human-readable string of BSON value information +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Tests if this Long's value is greater than or equal the specified's.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long.greaterThan

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long.greaterThanOrEqual

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Prints a human-readable string of BSON value information If invoked manually without node.js.inspect function, this will default to a modified JSON.stringify

    Parameters

    • Optionaldepth: number
    • Optionaloptions: unknown
    • Optionalinspect: InspectFn

    Returns string

  • Tests if this Long's value is even.

    Returns boolean

  • Tests if this Long's value is negative.

    @@ -154,25 +154,25 @@

    Returns boolean

  • Tests if this Long's value is positive.

    Returns boolean

  • Tests if this Long's value equals zero.

    Returns boolean

  • This is an alias of Long.lessThanOrEqual

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Tests if this Long's value is less than the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Tests if this Long's value is less than or equal the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long#lessThan.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long.lessThanOrEqual

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long.modulo

    -

    Parameters

    • divisor:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns this Long modulo the specified.

    -

    Parameters

    • divisor:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • This is an alias of Long.multiply

    -

    Parameters

    • multiplier:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns the product of this and the specified Long.

    -

    Parameters

    • multiplier:
          | string
          | number
          | Long
          | Timestamp

      Multiplier

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

  • Tests if this Long's value is less than the specified's.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Tests if this Long's value is less than or equal the specified's.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long#lessThan.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long.lessThanOrEqual

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long.modulo

    +

    Parameters

    • divisor:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • Returns this Long modulo the specified.

    +

    Parameters

    • divisor:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • This is an alias of Long.multiply

    +

    Parameters

    • multiplier:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • Returns the product of this and the specified Long.

    +

    Parameters

    • multiplier:
          | string
          | number
          | Timestamp
          | Long

      Multiplier

    Returns Long

    Product

  • This is an alias of Long.notEquals

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • This is an alias of Long.negate

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • This is an alias of Long.negate

    Returns Long

  • Returns the Negation of this Long's value.

    Returns Long

  • This is an alias of Long.notEquals

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Returns the bitwise NOT of this Long.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Returns the bitwise NOT of this Long.

    Returns Long

  • Tests if this Long's value differs from the specified's.

    -

    Parameters

    • other:
          | string
          | number
          | Long
          | Timestamp

    Returns boolean

  • Returns the bitwise OR of this Long and the specified.

    +

    Parameters

    • other:
          | string
          | number
          | Timestamp
          | Long

    Returns boolean

  • Returns the bitwise OR of this Long and the specified.

    Parameters

    • other: string | number | Long

    Returns Long

  • This is an alias of Long.modulo

    -

    Parameters

    • divisor:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns this Long with bits shifted to the left by the given amount.

    +

    Parameters

    • divisor:
          | string
          | number
          | Timestamp
          | Long

    Returns Long

  • Returns this Long with bits shifted to the left by the given amount.

    Parameters

    • numBits: number | Long

      Number of bits

    Returns Long

    Shifted Long

  • Returns this Long with bits arithmetically shifted to the right by the given amount.

    @@ -186,8 +186,8 @@

    Parameters

    • numBits: number | Long

    Returns Long

  • This is an alias of Long.subtract

    -

    Parameters

    • subtrahend:
          | string
          | number
          | Long
          | Timestamp

    Returns Long

  • Returns the difference of this and the specified Long.

    -

    Parameters

    • subtrahend:
          | string
          | number
          | Long
          | Timestamp

      Subtrahend

      +

      Parameters

      • subtrahend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

  • Returns the difference of this and the specified Long.

    +

    Parameters

    • subtrahend:
          | string
          | number
          | Timestamp
          | Long

      Subtrahend

    Returns Long

    Difference

  • Converts the Long to a BigInt (arbitrary precision).

    Returns bigint

  • Converts this Long to its byte representation.

    diff --git a/docs/Next/classes/BSON.Timestamp.html b/docs/Next/classes/BSON.Timestamp.html index 46f17d417b1..72b345746db 100644 --- a/docs/Next/classes/BSON.Timestamp.html +++ b/docs/Next/classes/BSON.Timestamp.html @@ -76,54 +76,54 @@

Constructors

  • Parameters

    • int: bigint

      A 64-bit bigint representing the Timestamp.

    Returns Timestamp

  • Parameters

    • long: Long

      A 64-bit Long representing the Timestamp.

    Returns Timestamp

  • Parameters

    • value: {
          i: number;
          t: number;
      }

      A pair of two values indicating timestamp and increment.

      -
      • i: number
      • t: number

    Returns Timestamp

Properties

__isLong__: boolean
add: ((addend:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (addend): Long
    • Returns the sum of this and the specified Long.

      -

      Parameters

      • addend:
            | string
            | number
            | Long
            | Timestamp

      Returns Long

and: ((other:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (other): Long
    • Returns the sum of this and the specified Long.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns Long

      Sum

      -
comp: ((other:
    | string
    | number
    | Long
    | Timestamp) => -1 | 0 | 1)

Type declaration

    • (other): -1 | 0 | 1
    • This is an alias of Long.compare

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns -1 | 0 | 1

compare: ((other:
    | string
    | number
    | Long
    | Timestamp) => -1 | 0 | 1)

Type declaration

    • (other): -1 | 0 | 1
    • Compares this Long's value with the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns -1 | 0 | 1

      0 if they are the same, 1 if the this is greater and -1 if the given one is greater

      -
div: ((divisor:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

divide: ((divisor:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (divisor): Long
    • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

      -

      Parameters

      • divisor:
            | string
            | number
            | Long
            | Timestamp

      Returns Long

      Quotient

      -
eq: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.equals

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

equals: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value equals the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

        Other value

        +
        • i: number
        • t: number

      Returns Timestamp

Properties

__isLong__: boolean
add: ((addend:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (addend): Long
    • Returns the sum of this and the specified Long.

      +

      Parameters

      • addend:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

and: ((other:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (other): Long
    • Returns the sum of this and the specified Long.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

      Sum

      +
comp: ((other:
    | string
    | number
    | Timestamp
    | Long) => -1 | 0 | 1)

Type declaration

    • (other): -1 | 0 | 1
    • This is an alias of Long.compare

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns -1 | 0 | 1

compare: ((other:
    | string
    | number
    | Timestamp
    | Long) => -1 | 0 | 1)

Type declaration

    • (other): -1 | 0 | 1
    • Compares this Long's value with the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns -1 | 0 | 1

      0 if they are the same, 1 if the this is greater and -1 if the given one is greater

      +
div: ((divisor:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

divide: ((divisor:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (divisor): Long
    • Returns this Long divided by the specified. The result is signed if this Long is signed or unsigned if this Long is unsigned.

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

      Quotient

      +
eq: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.equals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

equals: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value equals the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

        Other value

      Returns boolean

eqz: (() => boolean)

Type declaration

    • (): boolean
    • This is an alias of Long.isZero

      -

      Returns boolean

ge: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

getHighBits: (() => number)

Type declaration

    • (): number
    • Gets the high 32 bits as a signed integer.

      +

      Returns boolean

ge: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

getHighBits: (() => number)

Type declaration

    • (): number
    • Gets the high 32 bits as a signed integer.

      Returns number

getHighBitsUnsigned: (() => number)

Type declaration

    • (): number
    • Gets the high 32 bits as an unsigned integer.

      Returns number

getLowBits: (() => number)

Type declaration

    • (): number
    • Gets the low 32 bits as a signed integer.

      Returns number

getLowBitsUnsigned: (() => number)

Type declaration

    • (): number
    • Gets the low 32 bits as an unsigned integer.

      Returns number

getNumBitsAbs: (() => number)

Type declaration

    • (): number
    • Gets the number of bits needed to represent the absolute value of this Long.

      -

      Returns number

greaterThan: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is greater than the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

greaterThanOrEqual: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is greater than or equal the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

gt: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.greaterThan

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

gte: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

high: number
isEven: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value is even.

      +

      Returns number

greaterThan: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is greater than the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

greaterThanOrEqual: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is greater than or equal the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

gt: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.greaterThan

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

gte: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

high: number
isEven: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value is even.

      Returns boolean

isNegative: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value is negative.

      Returns boolean

isOdd: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value is odd.

      Returns boolean

isPositive: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value is positive.

      Returns boolean

isZero: (() => boolean)

Type declaration

    • (): boolean
    • Tests if this Long's value equals zero.

      -

      Returns boolean

le: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

lessThan: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is less than the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

lessThanOrEqual: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is less than or equal the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

low: number
lt: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long#lessThan.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

lte: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

mod: ((divisor:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

modulo: ((divisor:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (divisor): Long
    • Returns this Long modulo the specified.

      -

      Parameters

      • divisor:
            | string
            | number
            | Long
            | Timestamp

      Returns Long

mul: ((multiplier:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

multiply: ((multiplier:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (multiplier): Long
    • Returns the product of this and the specified Long.

      -

      Parameters

      • multiplier:
            | string
            | number
            | Long
            | Timestamp

        Multiplier

        +

        Returns boolean

le: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

lessThan: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is less than the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

lessThanOrEqual: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value is less than or equal the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

low: number
lt: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long#lessThan.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

lte: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

mod: ((divisor:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

modulo: ((divisor:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (divisor): Long
    • Returns this Long modulo the specified.

      +

      Parameters

      • divisor:
            | string
            | number
            | Timestamp
            | Long

      Returns Long

mul: ((multiplier:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

multiply: ((multiplier:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (multiplier): Long
    • Returns the product of this and the specified Long.

      +

      Parameters

      • multiplier:
            | string
            | number
            | Timestamp
            | Long

        Multiplier

      Returns Long

      Product

      -
ne: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.notEquals

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

neg: (() => Long)

Type declaration

ne: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.notEquals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

neg: (() => Long)

Type declaration

negate: (() => Long)

Type declaration

    • (): Long
    • Returns the Negation of this Long's value.

      -

      Returns Long

neq: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.notEquals

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

not: (() => Long)

Type declaration

    • (): Long
    • Returns the bitwise NOT of this Long.

      -

      Returns Long

notEquals: ((other:
    | string
    | number
    | Long
    | Timestamp) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value differs from the specified's.

      -

      Parameters

      • other:
            | string
            | number
            | Long
            | Timestamp

      Returns boolean

or: ((other: string | number | Long) => Long)

Type declaration

    • (other): Long
    • Returns the bitwise OR of this Long and the specified.

      -

      Parameters

      • other: string | number | Long

      Returns Long

rem: ((divisor:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

shiftLeft: ((numBits: number | Long) => Long)

Type declaration

    • (numBits): Long
    • Returns this Long with bits shifted to the left by the given amount.

      +

      Returns Long

neq: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • This is an alias of Long.notEquals

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

not: (() => Long)

Type declaration

    • (): Long
    • Returns the bitwise NOT of this Long.

      +

      Returns Long

notEquals: ((other:
    | string
    | number
    | Timestamp
    | Long) => boolean)

Type declaration

    • (other): boolean
    • Tests if this Long's value differs from the specified's.

      +

      Parameters

      • other:
            | string
            | number
            | Timestamp
            | Long

      Returns boolean

or: ((other: string | number | Long) => Long)

Type declaration

    • (other): Long
    • Returns the bitwise OR of this Long and the specified.

      +

      Parameters

      • other: string | number | Long

      Returns Long

rem: ((divisor:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

shiftLeft: ((numBits: number | Long) => Long)

Type declaration

    • (numBits): Long
    • Returns this Long with bits shifted to the left by the given amount.

      Parameters

      • numBits: number | Long

        Number of bits

      Returns Long

      Shifted Long

shiftRight: ((numBits: number | Long) => Long)

Type declaration

    • (numBits): Long
    • Returns this Long with bits arithmetically shifted to the right by the given amount.

      @@ -136,9 +136,9 @@

      Parameters

      • numBits: number | Long

      Returns Long

shr: ((numBits: number | Long) => Long)

Type declaration

shr_u: ((numBits: number | Long) => Long)

Type declaration

shru: ((numBits: number | Long) => Long)

Type declaration

sub: ((subtrahend:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

subtract: ((subtrahend:
    | string
    | number
    | Long
    | Timestamp) => Long)

Type declaration

    • (subtrahend): Long
    • Returns the difference of this and the specified Long.

      -

      Parameters

      • subtrahend:
            | string
            | number
            | Long
            | Timestamp

        Subtrahend

        +

        Parameters

        • numBits: number | Long

        Returns Long

sub: ((subtrahend:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

subtract: ((subtrahend:
    | string
    | number
    | Timestamp
    | Long) => Long)

Type declaration

    • (subtrahend): Long
    • Returns the difference of this and the specified Long.

      +

      Parameters

      • subtrahend:
            | string
            | number
            | Timestamp
            | Long

        Subtrahend

      Returns Long

      Difference

toBigInt: (() => bigint)

Type declaration

    • (): bigint
    • Converts the Long to a BigInt (arbitrary precision).

      Returns bigint

toBytes: ((le?: boolean) => number[])

Type declaration

Constructors

Properties

batchType: BatchType
currentIndex: number
operations: T[]
originalIndexes: number[]
originalZeroIndex: number
size: number
sizeBytes: number
diff --git a/docs/Next/classes/BulkOperationBase.html b/docs/Next/classes/BulkOperationBase.html index 4d3ac890011..83ff329b0d8 100644 --- a/docs/Next/classes/BulkOperationBase.html +++ b/docs/Next/classes/BulkOperationBase.html @@ -1,4 +1,4 @@ -BulkOperationBase | mongodb

Class BulkOperationBaseAbstract

Hierarchy (view full)

Properties

isOrdered +BulkOperationBase | mongodb

Class BulkOperationBaseAbstract

Hierarchy (view full)

Properties

Accessors

batches bsonOptions @@ -9,14 +9,14 @@ find insert raw -

Properties

isOrdered: boolean
operationId?: number

Accessors

Methods

  • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

Properties

isOrdered: boolean
operationId?: number

Accessors

Methods

  • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

    Parameters

    Returns FindOperators

    const bulkOp = collection.initializeOrderedBulkOp();

    // Add an updateOne to the bulkOp
    bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

    // Add an updateMany to the bulkOp
    bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

    // Add an upsert
    bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

    // Add a deletion
    bulkOp.find({ g: 7 }).deleteOne();

    // Add a multi deletion
    bulkOp.find({ h: 8 }).delete();

    // Add a replaceOne
    bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

    // Update using a pipeline (requires Mongodb 4.2 or higher)
    bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
    { $set: { total: { $sum: [ '$y', '$z' ] } } }
    ]);

    // All of the ops will now be executed
    await bulkOp.execute();
    -
  • Add a single insert document to the bulk operation

    Parameters

    Returns BulkOperationBase

    const bulkOp = collection.initializeOrderedBulkOp();

    // Adds three inserts to the bulkOp.
    bulkOp
    .insert({ a: 1 })
    .insert({ b: 2 })
    .insert({ c: 3 });
    await bulkOp.execute();
    -
+
diff --git a/docs/Next/classes/BulkWriteResult.html b/docs/Next/classes/BulkWriteResult.html index bdb78feb8ad..61ee40576c8 100644 --- a/docs/Next/classes/BulkWriteResult.html +++ b/docs/Next/classes/BulkWriteResult.html @@ -1,5 +1,5 @@ BulkWriteResult | mongodb

Class BulkWriteResult

The result of a bulk write.

-

Properties

Properties

deletedCount: number

Number of documents deleted.

-
insertedCount: number

Number of documents inserted.

-
insertedIds: {
    [key: number]: any;
}

Inserted document generated Id's, hash key is the index of the originating operation

-
matchedCount: number

Number of documents matched for update.

-
modifiedCount: number

Number of documents modified.

-
upsertedCount: number

Number of documents upserted.

-
upsertedIds: {
    [key: number]: any;
}

Upserted document generated Id's, hash key is the index of the originating operation

-

Accessors

  • get ok(): number
  • Evaluates to true if the bulk operation correctly executes

    -

    Returns number

Methods

  • Returns the number of write errors from the bulk operation

    -

    Returns number

  • Returns true if the bulk operation contains a write error

    -

    Returns boolean

+
insertedCount: number

Number of documents inserted.

+
insertedIds: {
    [key: number]: any;
}

Inserted document generated Id's, hash key is the index of the originating operation

+
matchedCount: number

Number of documents matched for update.

+
modifiedCount: number

Number of documents modified.

+
upsertedCount: number

Number of documents upserted.

+
upsertedIds: {
    [key: number]: any;
}

Upserted document generated Id's, hash key is the index of the originating operation

+

Accessors

  • get ok(): number
  • Evaluates to true if the bulk operation correctly executes

    +

    Returns number

Methods

  • Returns the number of write errors from the bulk operation

    +

    Returns number

  • Returns true if the bulk operation contains a write error

    +

    Returns boolean

diff --git a/docs/Next/classes/CancellationToken.html b/docs/Next/classes/CancellationToken.html index 4d5dfe77a8d..859734b1a50 100644 --- a/docs/Next/classes/CancellationToken.html +++ b/docs/Next/classes/CancellationToken.html @@ -30,7 +30,7 @@

Constructors

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

defaultMaxListeners: number

By default, a maximum of 10 listeners can be registered for any single @@ -58,12 +58,12 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

Methods

  • Type Parameters

    • K

    Parameters

    • error: Error
    • event: string | symbol
    • Rest...args: AnyRest

    Returns void

  • Alias for emitter.on(eventName, listener).

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

  • Alias for emitter.on(eventName, listener).

    Parameters

    Returns this

    v0.1.26

  • Alias for emitter.on(eventName, listener).

    @@ -74,7 +74,7 @@
    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: symbol | EventKey
    • Rest...args: Parameters<{
          cancel(): void;
      }[EventKey]>

    Returns boolean

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: symbol | EventKey
    • Rest...args: Parameters<{
          cancel(): void;
      }[EventKey]>

    Returns boolean

    v0.1.26

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -82,19 +82,19 @@

    Returns string[]

    v6.0.0

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns number

    v3.2.0

    -
  • Returns a copy of the array of listeners for the event named eventName.

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ]
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v0.1.26

  • Alias for emitter.removeListener().

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v10.0.0

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    @@ -112,7 +112,7 @@
    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • event: EventKey
    • listener: {
          cancel(): void;
      }[EventKey]

      The callback function

      +

      Type Parameters

      • EventKey extends "cancel"

      Parameters

      • event: EventKey
      • listener: {
            cancel(): void;
        }[EventKey]

        The callback function

      Returns this

      v0.1.101

    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -155,7 +155,7 @@

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "cancel"

      Parameters

      • event: EventKey
      • listener: {
            cancel(): void;
        }[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends "cancel"

        Parameters

        • event: EventKey
        • listener: {
              cancel(): void;
          }[EventKey]

          The callback function

        Returns this

        v0.3.0

      • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

        @@ -191,7 +191,7 @@

        Returns a reference to the EventEmitter, so that calls can be chained.

        -

        Type Parameters

        • EventKey extends "cancel"

        Parameters

        • event: EventKey
        • listener: {
              cancel(): void;
          }[EventKey]

          The callback function

          +

          Type Parameters

          • EventKey extends "cancel"

          Parameters

          • event: EventKey
          • listener: {
                cancel(): void;
            }[EventKey]

            The callback function

          Returns this

          v6.0.0

        • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -219,7 +219,7 @@

          Returns a reference to the EventEmitter, so that calls can be chained.

          -

          Type Parameters

          • EventKey extends "cancel"

          Parameters

          • event: EventKey
          • listener: {
                cancel(): void;
            }[EventKey]

            The callback function

            +

            Type Parameters

            • EventKey extends "cancel"

            Parameters

            • event: EventKey
            • listener: {
                  cancel(): void;
              }[EventKey]

              The callback function

            Returns this

            v6.0.0

          • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

            @@ -237,18 +237,18 @@

            Returns a reference to the EventEmitter, so that calls can be chained.

            Parameters

            Returns this

            v6.0.0

            -
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns {
        cancel(): void;
    }[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -275,7 +275,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "cancel"

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    diff --git a/docs/Next/classes/ChangeStream.html b/docs/Next/classes/ChangeStream.html index 18341dee9dd..e4c1d304b0f 100644 --- a/docs/Next/classes/ChangeStream.html +++ b/docs/Next/classes/ChangeStream.html @@ -58,7 +58,7 @@
pipeline: Document[]
streamOptions?: CursorStreamOptions
type: symbol
captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

-
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

+
captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

See how to write a custom rejection handler.

v13.4.0, v12.16.0

CHANGE: "change" = CHANGE

Fired for each new matching change in the specified namespace. Attaching a change @@ -89,27 +89,27 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

v0.11.2

-
END: "end" = END
ERROR: "error" = ERROR
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

+
END: "end" = END
ERROR: "error" = ERROR
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

INIT: "init" = INIT
MORE: "more" = MORE
RESPONSE: "response" = RESPONSE
RESUME_TOKEN_CHANGED: "resumeTokenChanged" = RESUME_TOKEN_CHANGED

Emitted each time the change stream stores a new resume token.

Accessors

  • get resumeToken(): unknown
  • The cached resume token that is used to resume after the most recently returned change.

    -

    Returns unknown

Methods

  • Type Parameters

    • K

    Parameters

    • error: Error
    • event: string | symbol
    • Rest...args: AnyRest

    Returns void

  • get resumeToken(): unknown
  • The cached resume token that is used to resume after the most recently returned change.

    +

    Returns unknown

Methods

  • Type Parameters

    • K

    Parameters

    • error: Error
    • event: string | symbol
    • Rest...args: AnyRest

    Returns void

  • Frees the internal resources used by the change stream.

    -

    Returns Promise<void>

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

    Returns Promise<void>

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener
    -

    Type Parameters

    Parameters

    Returns boolean

    v0.1.26

    +

    Type Parameters

    Parameters

    Returns boolean

    v0.1.26

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -117,21 +117,21 @@

    Returns string[]

    v6.0.0

  • Check if there is any document still available in the Change Stream

    Returns Promise<boolean>

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    Parameters

    Returns ChangeStreamEvents<TSchema, TChange>[EventKey][]

    v9.4.0

    +

    Type Parameters

    Parameters

    Returns ChangeStreamEvents<TSchema, TChange>[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -312,7 +312,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -377,7 +377,7 @@

    NOTE: When using a Stream to process change stream events, the stream will NOT automatically resume in the case a resumable error is encountered.

    Parameters

    Returns Readable & AsyncIterable<TChange, any, any>

    MongoChangeStreamError if the underlying cursor or the change stream is closed

    -
  • Try to get the next available document from the Change Stream's cursor or null if an empty batch is returned

    +
  • Try to get the next available document from the Change Stream's cursor or null if an empty batch is returned

    Returns Promise<null | TChange>

  • Advances the clusterTime for a ClientSession to the provided clusterTime of another ClientSession

    Parameters

    • clusterTime: ClusterTime

      the $clusterTime returned by the server from another session in the form of a document containing the BSON.Timestamp clusterTime and signature

      -

    Returns void

  • Advances the operationTime for a ClientSession.

    +

Returns void

  • Advances the operationTime for a ClientSession.

    Parameters

    • operationTime: Timestamp

      the BSON.Timestamp of the operation type it is desired to advance to

      -

    Returns void

  • Commits the currently active transaction in this session.

    +

Returns void

  • Commits the currently active transaction in this session.

    Parameters

    • Optionaloptions: {
          timeoutMS?: number;
      }

      Optional options, can be used to override defaultTimeoutMS.

      -
      • OptionaltimeoutMS?: number

    Returns Promise<void>

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

    • OptionaltimeoutMS?: number

Returns Promise<void>

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns boolean

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns boolean

    v0.1.26

  • Frees any client-side resources held by the current session. If a session is in a transaction, the transaction is aborted.

    Does not end the session on the server.

    Parameters

    • Optionaloptions: EndSessionOptions

      Optional settings. Currently reserved for future use

      -

    Returns Promise<void>

  • Used to determine if this session equals another

    +

Returns Promise<void>

  • Used to determine if this session equals another

    Parameters

    Returns boolean

  • Returns an array listing the events for which the emitter has registered +

Returns boolean

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]

    Returns string[]

    v6.0.0

  • Increment the transaction number on the internal ServerSession

    -

    Returns void

  • Returns boolean

    whether this session is currently in a transaction or not

    -
  • Returns the number of listeners listening for the event named eventName. +

    Returns void

  • Returns boolean

    whether this session is currently in a transaction or not

    +
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns number

    v3.2.0

    -
  • Alias for emitter.removeListener().

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v10.0.0

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    Parameters

    Returns this

    v10.0.0

  • Alias for emitter.removeListener().

    @@ -160,7 +160,7 @@
    import { EventEmitter } from 'node:events';
    const myEE = new EventEmitter();
    myEE.on('foo', () => console.log('a'));
    myEE.prependListener('foo', () => console.log('b'));
    myEE.emit('foo');
    // Prints:
    // b
    // a
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • event: EventKey
    • listener: ClientSessionEvents[EventKey]

      The callback function

      +

      Type Parameters

      • EventKey extends "ended"

      Parameters

      Returns this

      v0.1.101

    • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -203,7 +203,7 @@

      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.once('foo', () => console.log('a'));
      myEE.prependOnceListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "ended"

      Parameters

  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

    import { EventEmitter } from 'node:events';
    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function `onceWrapper` which has a property
    // `listener` which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the `once` event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by `.on()` above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns ClientSessionEvents[EventKey][]

    v9.4.0

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns ClientSessionEvents[EventKey][]

    v9.4.0

  • Removes all listeners, or those of the specified eventName.

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    • Optionalevent: string | symbol | EventKey

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -323,7 +323,7 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    -

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

    +

    Type Parameters

    • EventKey extends "ended"

    Parameters

    Returns this

    v0.1.26

  • Removes the specified listener from the listener array for the event named eventName.

    const callback = (stream) => {
    console.log('someone connected!');
    };
    server.on('connection', callback);
    // ...
    server.removeListener('connection', callback);
    @@ -389,8 +389,8 @@

Returns void

IMPORTANT: Running operations in parallel is not supported during a transaction. The use of Promise.all, Promise.allSettled, Promise.race, etc to parallelize operations inside a transaction is undefined behaviour.

-
  • This is here to ensure that ClientSession is never serialized to BSON.

    -

    Returns never

  • Starts a transaction and runs a provided function, ensuring the commitTransaction is always attempted when all operations run in the function have completed.

    +
  • This is here to ensure that ClientSession is never serialized to BSON.

    +

    Returns never

  • Experimental

    Listens once to the abort event on the provided signal.

    +
  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change diff --git a/docs/Next/classes/Collection.html b/docs/Next/classes/Collection.html index 92831164bc5..fabce67e654 100644 --- a/docs/Next/classes/Collection.html +++ b/docs/Next/classes/Collection.html @@ -4,7 +4,8 @@

    import { MongoClient } from 'mongodb';

    interface Pet {
    name: string;
    kind: 'dog' | 'cat' | 'fish';
    }

    const client = new MongoClient('mongodb://localhost:27017');
    const pets = client.db().collection<Pet>('pets');

    const petCursor = pets.find();

    for await (const pet of petCursor) {
    console.log(`${pet.name} is a ${pet.kind}!`);
    }
    -

Type Parameters

Accessors

Type Parameters

Properties

db +

Accessors

Accessors

  • get dbName(): string
  • The name of the database this collection belongs to

    -

    Returns string

  • get namespace(): string
  • The namespace of this collection, in the format ${this.dbName}.${this.collectionName}

    -

    Returns string

  • get readConcern(): undefined | ReadConcern
  • The current readConcern of the collection. If not explicitly defined for +

Properties

db: Db

Get the database object for the collection.

+

Accessors

  • get dbName(): string
  • The name of the database this collection belongs to

    +

    Returns string

  • get namespace(): string
  • The namespace of this collection, in the format ${this.dbName}.${this.collectionName}

    +

    Returns string

  • get readConcern(): undefined | ReadConcern
  • The current readConcern of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | ReadConcern

  • get readPreference(): undefined | ReadPreference
  • The current readPreference of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | ReadPreference

  • get writeConcern(): undefined | WriteConcern
  • The current writeConcern of the collection. If not explicitly defined for this collection, will be inherited from the parent DB

    -

    Returns undefined | WriteConcern

Methods

Methods

  • Perform a bulkWrite operation without a fluent API

    +

Returns AggregationCursor<T>

  • An estimated count of matching documents in the db to a filter.

    +
  • An estimated count of matching documents in the db to a filter.

    NOTE: This method has been deprecated, since it does not provide an accurate count of the documents in a collection. To obtain an accurate count of documents in the collection, use Collection#countDocuments| countDocuments. To obtain an estimated count of all documents in the collection, use Collection#estimatedDocumentCount| estimatedDocumentCount.

    Parameters

    Returns Promise<number>

    use Collection#countDocuments| countDocuments or Collection#estimatedDocumentCount| estimatedDocumentCount instead

    -
  • Gets the number of documents matching the filter. +

-
  • Creates an index on the db and collection collection.

    +
  • Creates an index on the db and collection collection.

    Parameters

    Returns Promise<string>

    const collection = client.db('foo').collection('bar');

    await collection.createIndex({ a: 1, b: -1 });

    // Alternate syntax for { c: 1, d: -1 } that ensures order of indexes
    await collection.createIndex([ [c, 1], [d, -1] ]);

    // Equivalent to { e: 1 }
    await collection.createIndex('e');

    // Equivalent to { f: 1, g: 1 }
    await collection.createIndex(['f', 'g'])

    // Equivalent to { h: 1, i: -1 }
    await collection.createIndex([ { h: 1 }, { i: -1 } ]);

    // Equivalent to { j: 1, k: -1, l: 2d }
    await collection.createIndex(['j', ['k', -1], { l: '2d' }])
    -
  • Creates multiple indexes in the collection, this method is only supported for +

  • Creates multiple indexes in the collection, this method is only supported for MongoDB 2.6 or higher. Earlier version of MongoDB will throw a command not supported error.

    Note: Unlike Collection#createIndex| createIndex, this function takes in raw index specifications. @@ -138,33 +140,33 @@

Returns Promise<string[]>

const collection = client.db('foo').collection('bar');
await collection.createIndexes([
// Simple index on field fizz
{
key: { fizz: 1 },
}
// wildcard index
{
key: { '$**': 1 }
},
// named index on darmok and jalad
{
key: { darmok: 1, jalad: -1 }
name: 'tanagra'
}
]);
-
  • Creates a single search index for the collection.

    +
  • Creates a single search index for the collection.

    Parameters

    Returns Promise<string>

    A promise that resolves to the name of the new search index.

    Only available when used against a 7.0+ Atlas cluster.

    -
  • Creates multiple search indexes for the current collection.

    +
  • Creates multiple search indexes for the current collection.

    Parameters

    Returns Promise<string[]>

    A promise that resolves to an array of the newly created search index names.

    Only available when used against a 7.0+ Atlas cluster.

    -
  • Delete a document from a collection

    +

Returns Promise<DeleteResult>

  • The distinct command returns a list of distinct values for the given key across a collection.

    +

Returns Promise<DeleteResult>

  • Drop the collection from the database, removing it permanently. New accesses will create a new collection.

    +

Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Type Parameters

    • Key extends string | number | symbol

    Parameters

    Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Type Parameters

    • Key extends string | number | symbol

    Parameters

    Returns Promise<Flatten<WithId<TSchema>[Key]>[]>

  • Type Parameters

    • Key extends string | number | symbol

    Parameters

    Returns Promise<Document>

  • Parameters

    • key: string

    Returns Promise<any[]>

  • Parameters

    Returns Promise<any[]>

  • Parameters

    Returns Promise<any[]>

    • Drop the collection from the database, removing it permanently. New accesses will create a new collection.

      Parameters

      Returns Promise<boolean>

    • Drops an index from this collection.

      +

    Returns Promise<boolean>

    • Drops all indexes from this collection.

      +

    Returns Promise<Document>

    • Drops all indexes from this collection.

      Parameters

      Returns Promise<boolean>

    • Deletes a search index by index name.

      +

    Returns Promise<boolean>

    • Deletes a search index by index name.

      Parameters

      • name: string

        The name of the search index to be deleted.

      Returns Promise<void>

      Only available when used against a 7.0+ Atlas cluster.

      -
    • Gets an estimate of the count of documents in a collection using collection metadata. +

    • Gets an estimate of the count of documents in a collection using collection metadata. This will always run a count command on all server versions.

      due to an oversight in versions 5.0.0-5.0.8 of MongoDB, the count command, which estimatedDocumentCount uses in its implementation, was not included in v1 of @@ -173,16 +175,16 @@ encountering errors.

      Parameters

      Returns Promise<number>

    • Find a document and delete it in one atomic operation. Requires a write lock for the duration of the operation.

      +
    • Find a document and replace it in one atomic operation. Requires a write lock for the duration of the operation.

      +

    Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

    • Find a document and update it in one atomic operation. Requires a write lock for the duration of the operation.

      +

    Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Returns Promise<ModifyResult<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

  • Parameters

    Returns Promise<null | WithId<TSchema>>

    • Checks if one or more indexes exist on the collection, fails on first non-existing index

      +

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionInfo[]>

    • Checks if one or more indexes exist on the collection, fails on first non-existing index

      Parameters

      • indexes: string | string[]

        One or more index names to check.

      • Optionaloptions: ListIndexesOptions

        Optional settings for the command

        -

      Returns Promise<boolean>

    Returns Promise<boolean>

    • Initiate an In order bulk write operation. Operations will be serially executed in the order they are added, creating a new operation for each switch in types.

      +

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Returns Promise<IndexDescriptionCompact>

    • Initiate an In order bulk write operation. Operations will be serially executed in the order they are added, creating a new operation for each switch in types.

      Parameters

      Returns OrderedBulkOperation

      MongoNotConnectedError

      NOTE: MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation. However, collection.bulkWrite() provides an equivalent API that does not require prior connecting.

      -
    • Initiate an Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.

      +
    • Initiate an Out of order batch write operation. All operations will be buffered into insert/update/remove commands executed out of order.

      Parameters

      Returns UnorderedBulkOperation

      MongoNotConnectedError

      NOTE: MongoClient must be connected prior to calling this method due to a known limitation in this legacy implementation. However, collection.bulkWrite() provides an equivalent API that does not require prior connecting.

      -
    • Inserts a single document into MongoDB. If documents passed in do not contain the _id field, +

    Returns Promise<InsertManyResult<TSchema>>

    • Returns if the collection is a capped collection

      +

    Returns Promise<InsertOneResult<TSchema>>

    • Returns if the collection is a capped collection

      Parameters

      Returns Promise<boolean>

    • Get the list of all indexes information for the collection.

      +

    Returns Promise<boolean>

    Returns ListIndexesCursor

    Returns Promise<Document>

    • Update multiple documents in a collection

      +

    Returns Promise<UpdateResult<TSchema>>

    • Update a single document in a collection

      +

    Returns Promise<UpdateResult<TSchema>>

    • Updates a search index by replacing the existing index definition with the provided definition.

      +

    Returns Promise<UpdateResult<TSchema>>

    • Updates a search index by replacing the existing index definition with the provided definition.

      Parameters

      • name: string

        The name of the search index to update.

      • definition: Document

        The new search index definition.

      Returns Promise<void>

      Only available when used against a 7.0+ Atlas cluster.

      -
    +
    diff --git a/docs/Next/classes/ConnectionPoolCreatedEvent.html b/docs/Next/classes/ConnectionPoolCreatedEvent.html index 16a49ace926..d4f07d65232 100644 --- a/docs/Next/classes/ConnectionPoolCreatedEvent.html +++ b/docs/Next/classes/ConnectionPoolCreatedEvent.html @@ -3,6 +3,6 @@ options time

    Properties

    address: string

    The address (host/port pair) of the pool

    -
    options: Pick<ConnectionPoolOptions,
        | "maxConnecting"
        | "maxIdleTimeMS"
        | "maxPoolSize"
        | "minPoolSize"
        | "waitQueueTimeoutMS">

    The options used to create this connection pool

    +
    options: Pick<ConnectionPoolOptions,
        | "waitQueueTimeoutMS"
        | "maxConnecting"
        | "maxIdleTimeMS"
        | "maxPoolSize"
        | "minPoolSize">

    The options used to create this connection pool

    time: Date

    A timestamp when the event was created

    diff --git a/docs/Next/classes/Db.html b/docs/Next/classes/Db.html index 82de9b44ad1..3aa8e6ad9a6 100644 --- a/docs/Next/classes/Db.html +++ b/docs/Next/classes/Db.html @@ -2,8 +2,9 @@
    import { MongoClient } from 'mongodb';

    interface Pet {
    name: string;
    kind: 'dog' | 'cat' | 'fish';
    }

    const client = new MongoClient('mongodb://localhost:27017');
    const db = client.db();

    // Create a collection that validates our union
    await db.createCollection<Pet>('pets', {
    validator: { $expr: { $in: ['$kind', ['dog', 'cat', 'fish']] } }
    })
    -

    Constructors

    Properties

    Constructors

    Properties

    Parameters

    • client: MongoClient

      The MongoClient for the database.

    • databaseName: string

      The name of the database this instance represents.

    • Optionaloptions: DbOptions

      Optional settings for Db construction.

      -

    Returns Db

    Properties

    SYSTEM_COMMAND_COLLECTION: string = CONSTANTS.SYSTEM_COMMAND_COLLECTION
    SYSTEM_INDEX_COLLECTION: string = CONSTANTS.SYSTEM_INDEX_COLLECTION
    SYSTEM_JS_COLLECTION: string = CONSTANTS.SYSTEM_JS_COLLECTION
    SYSTEM_NAMESPACE_COLLECTION: string = CONSTANTS.SYSTEM_NAMESPACE_COLLECTION
    SYSTEM_PROFILE_COLLECTION: string = CONSTANTS.SYSTEM_PROFILE_COLLECTION
    SYSTEM_USER_COLLECTION: string = CONSTANTS.SYSTEM_USER_COLLECTION

    Accessors

    • get readPreference(): ReadPreference
    • The current readPreference of the Db. If not explicitly defined for +

    Returns Db

    Properties

    client: MongoClient

    Gets the MongoClient associated with the Db.

    +
    SYSTEM_COMMAND_COLLECTION: string = CONSTANTS.SYSTEM_COMMAND_COLLECTION
    SYSTEM_INDEX_COLLECTION: string = CONSTANTS.SYSTEM_INDEX_COLLECTION
    SYSTEM_JS_COLLECTION: string = CONSTANTS.SYSTEM_JS_COLLECTION
    SYSTEM_NAMESPACE_COLLECTION: string = CONSTANTS.SYSTEM_NAMESPACE_COLLECTION
    SYSTEM_PROFILE_COLLECTION: string = CONSTANTS.SYSTEM_PROFILE_COLLECTION
    SYSTEM_USER_COLLECTION: string = CONSTANTS.SYSTEM_USER_COLLECTION

    Accessors

    • get readPreference(): ReadPreference
    • The current readPreference of the Db. If not explicitly defined for this Db, will be inherited from the parent MongoClient

      -

      Returns ReadPreference

    • get secondaryOk(): boolean
    • Check if a secondary can be used (because the read preference is not set to primary)

      -

      Returns boolean

    • get timeoutMS(): undefined | number
    • Returns undefined | number

    Methods

    • get secondaryOk(): boolean
    • Check if a secondary can be used (because the read preference is not set to primary)

      +

      Returns boolean

    • get timeoutMS(): undefined | number
    • Returns undefined | number

    Methods

    • Returns a reference to a MongoDB Collection. If it does not exist it will be created implicitly.

      +

    Returns AggregationCursor<T>

    • Returns a reference to a MongoDB Collection. If it does not exist it will be created implicitly.

      Collection namespace validation is performed server-side.

      Type Parameters

      Parameters

      Returns Collection<TSchema>

      return the new Collection instance

      -
    • Execute a command

      +

    Returns Promise<Collection<Document>[]>

    • Execute a command

      Parameters

      Returns Promise<Document>

      This command does not inherit options from the MongoClient.

      @@ -76,37 +78,37 @@
    • writeConcern - sourced from writeConcern set on the TransactionOptions

    Attaching any of the above fields to the command will have no effect as the driver will overwrite the value.

    -
    • Create a new collection on a server with the specified options. Use this to create capped collections. +

    • Creates an index on the db and collection.

      +

    Returns Promise<Collection<TSchema>>

    • Creates an index on the db and collection.

      Parameters

      • name: string

        Name of the collection to create the index on.

      • indexSpec: IndexSpecification

        Specify the field to index, or an index specification

      • Optionaloptions: CreateIndexesOptions

        Optional settings for the command

      Returns Promise<string>

    • Drop a collection from the database, removing it permanently. New accesses will create a new collection.

      Parameters

      • name: string

        Name of collection to drop

      • Optionaloptions: DropCollectionOptions

        Optional settings for the command

        -

      Returns Promise<boolean>

    • Drop a database, removing it permanently from the server.

      +

    Returns Promise<boolean>

    • Drop a database, removing it permanently from the server.

      Parameters

      Returns Promise<boolean>

    • Retrieves this collections index info.

      +

    Returns Promise<boolean>

    Returns Promise<IndexDescriptionInfo[]>

  • Parameters

    Returns Promise<IndexDescriptionCompact>

  • Parameters

    Returns Promise<IndexDescriptionCompact | IndexDescriptionInfo[]>

  • Parameters

    • name: string

    Returns Promise<IndexDescriptionCompact>

    • Retrieve the current profiling Level for MongoDB

      +

      Parameters

      Returns Promise<string>

    • Remove a user from a database

      Parameters

      Returns Promise<boolean>

    • Rename a collection.

      Type Parameters

      Parameters

      • fromCollection: string

        Name of current collection to rename

      • toCollection: string

        New name of of the collection

      • Optionaloptions: RenameOptions

        Optional settings for the command

      Returns Promise<Collection<TSchema>>

      This operation does not inherit options from the MongoClient.

      -
    • A low level cursor API providing basic driver functionality:

      • ClientSession management
      • ReadPreference for server selection
      • @@ -116,10 +118,10 @@
    • Optionaloptions: RunCursorCommandOptions

      Configurations for running the command, bson options will apply to getMores

    Returns RunCommandCursor

    Returns Promise<Document>

    +
    diff --git a/docs/Next/classes/ExplainableCursor.html b/docs/Next/classes/ExplainableCursor.html index bd61d68f84d..750b25608a2 100644 --- a/docs/Next/classes/ExplainableCursor.html +++ b/docs/Next/classes/ExplainableCursor.html @@ -1,5 +1,5 @@ ExplainableCursor | mongodb

    Class ExplainableCursor<TSchema>Abstract

    A base class for any cursors that have explain() methods.

    -

    Type Parameters

    • TSchema

    Hierarchy (view full)

    Properties

    Type Parameters

    • TSchema

    Hierarchy (view full)

    Properties

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -103,7 +103,7 @@

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

    • value: boolean

      The flag boolean value.

    Returns this

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -119,7 +119,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -127,29 +127,29 @@

      Returns string[]

      v6.0.0

    • Iterates over all the documents for this cursor using the iterator, callback pattern.

      If the iterator returns false, iteration will stop.

      Parameters

      • iterator: ((doc: TSchema) => boolean | void)

        The iteration callback.

          • (doc): boolean | void
          • Parameters

            Returns boolean | void

      Returns Promise<void>

      • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

      Returns void

    • By default EventEmitters will print a warning if more than 10 listeners are diff --git a/docs/Next/classes/FindCursor.html b/docs/Next/classes/FindCursor.html index 5771d7af3b2..dc916e3bc70 100644 --- a/docs/Next/classes/FindCursor.html +++ b/docs/Next/classes/FindCursor.html @@ -76,7 +76,7 @@

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -104,7 +104,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -118,7 +118,7 @@

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

    • value: boolean

      The flag boolean value.

    Returns this

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -145,7 +145,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -164,7 +164,7 @@
    • Will be removed in a future release. Use for await...of instead.
    • Set the cursor hint

      Parameters

      • hint: Hint

        If specified, then the query system will only consider plans using the hinted index.

        @@ -173,12 +173,12 @@

      Returns this

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      @@ -210,7 +210,7 @@

      Returns this

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    Properties

    bulkOperation: BulkOperationBase

    Methods

    • Specifies arrayFilters for UpdateOne or UpdateMany bulk operations.

      +

      Parameters

      Returns this

    • Upsert modifier for update bulk operation, noting that this operation is an upsert.

      +

      Returns this

    diff --git a/docs/Next/classes/GridFSBucket.html b/docs/Next/classes/GridFSBucket.html index 02a74af7cf8..8651aaaefd1 100644 --- a/docs/Next/classes/GridFSBucket.html +++ b/docs/Next/classes/GridFSBucket.html @@ -39,7 +39,7 @@

    Constructors

    Properties

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -67,7 +67,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -77,7 +77,7 @@ no index creation is necessary, 2) when it successfully creates the necessary indexes.

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -91,7 +91,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -100,19 +100,19 @@

      Returns string[]

      v6.0.0

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns number

      v3.2.0

      -
    • Alias for emitter.removeListener().

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v10.0.0

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      @@ -130,7 +130,7 @@
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      • event: EventKey
      • listener: GridFSBucketEvents[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends "index"

        Parameters

        Returns this

        v0.1.101

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -173,7 +173,7 @@

        import { EventEmitter } from 'node:events';
        const myEE = new EventEmitter();
        myEE.once('foo', () => console.log('a'));
        myEE.prependOnceListener('foo', () => console.log('b'));
        myEE.emit('foo');
        // Prints:
        // b
        // a
        -

        Type Parameters

        • EventKey extends "index"

        Parameters

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns GridFSBucketEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns GridFSBucketEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -307,7 +307,7 @@

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "index"

      Parameters

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      diff --git a/docs/Next/classes/GridFSBucketReadStream.html b/docs/Next/classes/GridFSBucketReadStream.html index b585d740213..e3442cc58a2 100644 --- a/docs/Next/classes/GridFSBucketReadStream.html +++ b/docs/Next/classes/GridFSBucketReadStream.html @@ -107,7 +107,7 @@
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -135,7 +135,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -291,7 +291,7 @@
      • (data, options?): void | Promise<void>
      • Parameters

        • data: any
        • Optionaloptions: Pick<ArrayOptions, "signal">

        Returns void | Promise<void>

  • Optionaloptions: ArrayOptions
  • Returns Promise<void>

    a promise for when the stream has finished.

    v17.5.0

    • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      +set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      Returns number

      v1.0.0

    • The readable.isPaused() method returns the current operating state of the Readable. This is used primarily by the mechanism that underlies the readable.pipe() method. diff --git a/docs/Next/classes/GridFSBucketWriteStream.html b/docs/Next/classes/GridFSBucketWriteStream.html index 6a642f475d1..763c20e6ea4 100644 --- a/docs/Next/classes/GridFSBucketWriteStream.html +++ b/docs/Next/classes/GridFSBucketWriteStream.html @@ -119,7 +119,7 @@

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -147,7 +147,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -262,7 +262,7 @@

    Returns (string | symbol)[]

    v6.0.0

    • Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      +set by emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.

      Returns number

      v1.0.0

    Constructors

    Properties

    [asyncDispose]: (() => Promise<void>)

    An alias for AbstractCursor.close|AbstractCursor.close().

    +

    Constructors

    Properties

    [asyncDispose]: (() => Promise<void>)

    An alias for AbstractCursor.close|AbstractCursor.close().

    filter: Document
    parent: Db
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -90,7 +90,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -104,7 +104,7 @@

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

    • value: boolean

      The flag boolean value.

    Returns this

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -120,7 +120,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -134,22 +134,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: T) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: T

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: T) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: T

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -170,7 +170,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -89,7 +89,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -103,7 +103,7 @@

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

    • value: boolean

      The flag boolean value.

    Returns this

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -119,7 +119,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -133,22 +133,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -169,7 +169,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    pipeline: Document[]
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -101,7 +101,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -115,7 +115,7 @@

    Parameters

    • flag:
          | "tailable"
          | "oplogReplay"
          | "noCursorTimeout"
          | "awaitData"
          | "exhaust"
          | "partial"

      The flag to set, must be one of following ['tailable', 'oplogReplay', 'noCursorTimeout', 'awaitData', 'partial' -.

    • value: boolean

      The flag boolean value.

    Returns this

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -157,19 +157,19 @@
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Get the next available document from the cursor, returns null if no more documents are available.

      Returns Promise<null | {
          name: string;
      }>

    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Rewind this cursor to its uninitialized state. Any options that are present on the cursor will remain in effect. Iterating this cursor will cause new queries to be sent to the server, even if the resultant data has already been retrieved by this cursor.

      Returns void

    • By default EventEmitters will print a warning if more than 10 listeners are diff --git a/docs/Next/classes/MongoBulkWriteError.html b/docs/Next/classes/MongoBulkWriteError.html index b5871296ce2..0010fb06f9f 100644 --- a/docs/Next/classes/MongoBulkWriteError.html +++ b/docs/Next/classes/MongoBulkWriteError.html @@ -1,5 +1,5 @@ MongoBulkWriteError | mongodb

      Class MongoBulkWriteError

      An error indicating an unsuccessful Bulk Write

      -

      Hierarchy (view full)

      Constructors

      Hierarchy (view full)

      Constructors

      Properties

      cause? code? codeName? @@ -33,19 +33,19 @@

      Meant for internal use only.

      Parameters

      Returns MongoBulkWriteError

      This class is only meant to be constructed within the driver. This constructor is not subject to semantic versioning compatibility guarantees and may change at any time.

      -

    Properties

    cause?: Error
    code?: string | number

    This is a number in MongoServerError and a string in MongoDriverError

    -
    codeName?: string
    connectionGeneration?: number
    errInfo?: Document
    errorResponse: ErrorDescription

    Raw error result document returned by server.

    -
    message: string
    ok?: number
    stack?: string
    topologyVersion?: TopologyVersion
    writeConcernError?: Document
    writeErrors: OneOrMore<WriteError> = []
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

    Optional override for formatting stack traces

    +

    Properties

    cause?: Error
    code?: string | number

    This is a number in MongoServerError and a string in MongoDriverError

    +
    codeName?: string
    connectionGeneration?: number
    errInfo?: Document
    errorResponse: ErrorDescription

    Raw error result document returned by server.

    +
    message: string
    ok?: number
    stack?: string
    topologyVersion?: TopologyVersion
    writeConcernError?: Document
    writeErrors: OneOrMore<WriteError> = []
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

    Optional override for formatting stack traces

    stackTraceLimit: number

    Accessors

    • get errmsg(): string
    • Legacy name for server error responses

      Returns string

    • get errorLabels(): string[]
    • Returns string[]

    • get insertedIds(): {
          [key: number]: any;
      }
    • Inserted document generated Id's, hash key is the index of the originating operation

      -

      Returns {
          [key: number]: any;
      }

      • [key: number]: any
    • get matchedCount(): number
    • Number of documents matched for update.

      -

      Returns number

    • get upsertedIds(): {
          [key: number]: any;
      }
    • Upserted document generated Id's, hash key is the index of the originating operation

      -

      Returns {
          [key: number]: any;
      }

      • [key: number]: any

    Methods

    • Checks the error to see if it has an error label

      +

      Returns number

    • get insertedIds(): {
          [key: number]: any;
      }
    • Inserted document generated Id's, hash key is the index of the originating operation

      +

      Returns {
          [key: number]: any;
      }

      • [key: number]: any
    • get matchedCount(): number
    • Number of documents matched for update.

      +

      Returns number

    • get upsertedIds(): {
          [key: number]: any;
      }
    • Upserted document generated Id's, hash key is the index of the originating operation

      +

      Returns {
          [key: number]: any;
      }

      • [key: number]: any

    Methods

    • Checks the error to see if it has an error label

      Parameters

      • label: string

        The error label to check for

      Returns boolean

      returns true if the error has the provided error label

    • Create .stack property on a target object

      diff --git a/docs/Next/classes/MongoClient.html b/docs/Next/classes/MongoClient.html index 212e3b2217e..72b9e4d18e8 100644 --- a/docs/Next/classes/MongoClient.html +++ b/docs/Next/classes/MongoClient.html @@ -17,7 +17,7 @@
      import { MongoClient } from 'mongodb';
      // Enable command monitoring for debugging
      const client = new MongoClient('mongodb://localhost:27017?appName=mflix', { monitorCommands: true });
      -

    Hierarchy (view full)

    Implements

    Constructors

    Hierarchy (view full)

    Implements

    Constructors

    Properties

    Constructors

    Properties

    [asyncDispose]: (() => Promise<void>)

    An alias for MongoClient.close().

    -
    options: Readonly<Omit<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "additionalDriverInfo"
        | "monitorCommands"
        | "metadata"
        | "extendedMetadata">> & Pick<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "additionalDriverInfo"
        | "monitorCommands"
        | "metadata"
        | "extendedMetadata">

    The consolidate, parsed, transformed and merged options.

    -
    captureRejections: boolean

    Value: boolean

    +

    Constructors

    Properties

    [asyncDispose]: (() => Promise<void>)

    An alias for MongoClient.close().

    +
    options: Readonly<Omit<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands"
        | "metadata"
        | "extendedMetadata"
        | "additionalDriverInfo">> & Pick<MongoOptions,
        | "ca"
        | "cert"
        | "crl"
        | "key"
        | "driverInfo"
        | "monitorCommands"
        | "metadata"
        | "extendedMetadata"
        | "additionalDriverInfo">

    The consolidate, parsed, transformed and merged options.

    +
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -96,23 +96,23 @@

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    -

    Accessors

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v0.1.26

      +

    Accessors

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Append metadata to the client metadata after instantiation.

      Parameters

      • driverInfo: DriverInfo

        Information about the application or library.

        -

      Returns void

    Returns void

    • Cleans up resources managed by the MongoClient.

      The close method clears and closes all resources whose lifetimes are managed by the MongoClient. Please refer to the MongoClient class documentation for a high level overview of the client's key features and responsibilities.

      However, the close method does not handle the cleanup of resources explicitly created by the user. @@ -172,23 +172,23 @@

      Parameters

      • _force: boolean = false

        currently an unused flag that has no effect. Defaults to false.

        -

      Returns Promise<void>

    • Connect to MongoDB using a url

      +

    Returns Promise<void>

    • Connect to MongoDB using a url

      Returns Promise<MongoClient>

      Calling connect is optional since the first operation you perform will call connect if it's needed. timeoutMS will bound the time any operation can take before throwing a timeout error. However, when the operation being run is automatically connecting your MongoClient the timeoutMS will not apply to the time taken to connect the MongoClient. This means the time to setup the MongoClient does not count against timeoutMS. If you are using timeoutMS we recommend connecting your client explicitly in advance of any operation to avoid this inconsistent execution time.

      docs.mongodb.org/manual/reference/connection-string/

      -
    • Create a new Db instance sharing the current socket connections.

      +
    • Create a new Db instance sharing the current socket connections.

      Parameters

      • OptionaldbName: string

        The name of the database we want to use. If not provided, use database name from connection string.

      • Optionaloptions: DbOptions

        Optional settings for Db construction

        -

      Returns Db

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

    Returns Db

    • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

      Returns true if the event had listeners, false otherwise.

      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -196,19 +196,19 @@
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns number

      v3.2.0

      -
    • Returns a copy of the array of listeners for the event named eventName.

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns number

      v3.2.0

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns MongoClientEvents[EventKey][]

      v0.1.26

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns MongoClientEvents[EventKey][]

      v0.1.26

    • Alias for emitter.removeListener().

      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v10.0.0

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      • event: EventKey
      • listener: MongoClientEvents[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends
              | "error"
              | "timeout"
              | "close"
              | "open"
              | "serverOpening"
              | "serverClosed"
              | "serverDescriptionChanged"
              | "topologyOpening"
              | "topologyClosed"
              | "topologyDescriptionChanged"
              | "connectionPoolCreated"
              | "connectionPoolClosed"
              | "connectionPoolCleared"
              | "connectionPoolReady"
              | "connectionCreated"
              | "connectionReady"
              | "connectionClosed"
              | "connectionCheckOutStarted"
              | "connectionCheckOutFailed"
              | "connectionCheckedOut"
              | "connectionCheckedIn"
              | "commandStarted"
              | "commandSucceeded"
              | "commandFailed"
              | "serverHeartbeatStarted"
              | "serverHeartbeatSucceeded"
              | "serverHeartbeatFailed"

        Parameters

        Returns this

        v0.1.101

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -269,7 +269,7 @@

        Type Parameters

        • EventKey extends
              | "error"
              | "timeout"
              | "close"
              | "open"
              | "serverOpening"
              | "serverClosed"
              | "serverDescriptionChanged"
              | "topologyOpening"
              | "topologyClosed"
              | "topologyDescriptionChanged"
              | "connectionPoolCreated"
              | "connectionPoolClosed"
              | "connectionPoolCleared"
              | "connectionPoolReady"
              | "connectionCreated"
              | "connectionReady"
              | "connectionClosed"
              | "connectionCheckOutStarted"
              | "connectionCheckOutFailed"
              | "connectionCheckedOut"
              | "connectionCheckedIn"
              | "commandStarted"
              | "commandSucceeded"
              | "commandFailed"
              | "serverHeartbeatStarted"
              | "serverHeartbeatSucceeded"
              | "serverHeartbeatFailed"

        Parameters

        • event: EventKey
        • listener: MongoClientEvents[EventKey]

          The callback function

          +

          Type Parameters

          • EventKey extends
                | "error"
                | "timeout"
                | "close"
                | "open"
                | "serverOpening"
                | "serverClosed"
                | "serverDescriptionChanged"
                | "topologyOpening"
                | "topologyClosed"
                | "topologyDescriptionChanged"
                | "connectionPoolCreated"
                | "connectionPoolClosed"
                | "connectionPoolCleared"
                | "connectionPoolReady"
                | "connectionCreated"
                | "connectionReady"
                | "connectionClosed"
                | "connectionCheckOutStarted"
                | "connectionCheckOutFailed"
                | "connectionCheckedOut"
                | "connectionCheckedIn"
                | "commandStarted"
                | "commandSucceeded"
                | "commandFailed"
                | "serverHeartbeatStarted"
                | "serverHeartbeatSucceeded"
                | "serverHeartbeatFailed"

          Parameters

          Returns this

          v0.3.0

        • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

          @@ -305,7 +305,7 @@

          Type Parameters

          • EventKey extends
                | "error"
                | "timeout"
                | "close"
                | "open"
                | "serverOpening"
                | "serverClosed"
                | "serverDescriptionChanged"
                | "topologyOpening"
                | "topologyClosed"
                | "topologyDescriptionChanged"
                | "connectionPoolCreated"
                | "connectionPoolClosed"
                | "connectionPoolCleared"
                | "connectionPoolReady"
                | "connectionCreated"
                | "connectionReady"
                | "connectionClosed"
                | "connectionCheckOutStarted"
                | "connectionCheckOutFailed"
                | "connectionCheckedOut"
                | "connectionCheckedIn"
                | "commandStarted"
                | "commandSucceeded"
                | "commandFailed"
                | "serverHeartbeatStarted"
                | "serverHeartbeatSucceeded"
                | "serverHeartbeatFailed"

          Parameters

          • event: EventKey
          • listener: MongoClientEvents[EventKey]

            The callback function

            +

            Type Parameters

            • EventKey extends
                  | "error"
                  | "timeout"
                  | "close"
                  | "open"
                  | "serverOpening"
                  | "serverClosed"
                  | "serverDescriptionChanged"
                  | "topologyOpening"
                  | "topologyClosed"
                  | "topologyDescriptionChanged"
                  | "connectionPoolCreated"
                  | "connectionPoolClosed"
                  | "connectionPoolCleared"
                  | "connectionPoolReady"
                  | "connectionCreated"
                  | "connectionReady"
                  | "connectionClosed"
                  | "connectionCheckOutStarted"
                  | "connectionCheckOutFailed"
                  | "connectionCheckedOut"
                  | "connectionCheckedIn"
                  | "commandStarted"
                  | "commandSucceeded"
                  | "commandFailed"
                  | "serverHeartbeatStarted"
                  | "serverHeartbeatSucceeded"
                  | "serverHeartbeatFailed"

            Parameters

            Returns this

            v6.0.0

          • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -333,7 +333,7 @@

            Type Parameters

            • EventKey extends
                  | "error"
                  | "timeout"
                  | "close"
                  | "open"
                  | "serverOpening"
                  | "serverClosed"
                  | "serverDescriptionChanged"
                  | "topologyOpening"
                  | "topologyClosed"
                  | "topologyDescriptionChanged"
                  | "connectionPoolCreated"
                  | "connectionPoolClosed"
                  | "connectionPoolCleared"
                  | "connectionPoolReady"
                  | "connectionCreated"
                  | "connectionReady"
                  | "connectionClosed"
                  | "connectionCheckOutStarted"
                  | "connectionCheckOutFailed"
                  | "connectionCheckedOut"
                  | "connectionCheckedIn"
                  | "commandStarted"
                  | "commandSucceeded"
                  | "commandFailed"
                  | "serverHeartbeatStarted"
                  | "serverHeartbeatSucceeded"
                  | "serverHeartbeatFailed"

            Parameters

            • event: EventKey
            • listener: MongoClientEvents[EventKey]

              The callback function

              +

              Type Parameters

              • EventKey extends
                    | "error"
                    | "timeout"
                    | "close"
                    | "open"
                    | "serverOpening"
                    | "serverClosed"
                    | "serverDescriptionChanged"
                    | "topologyOpening"
                    | "topologyClosed"
                    | "topologyDescriptionChanged"
                    | "connectionPoolCreated"
                    | "connectionPoolClosed"
                    | "connectionPoolCleared"
                    | "connectionPoolReady"
                    | "connectionCreated"
                    | "connectionReady"
                    | "connectionClosed"
                    | "connectionCheckOutStarted"
                    | "connectionCheckOutFailed"
                    | "connectionCheckedOut"
                    | "connectionCheckedIn"
                    | "commandStarted"
                    | "commandSucceeded"
                    | "commandFailed"
                    | "serverHeartbeatStarted"
                    | "serverHeartbeatSucceeded"
                    | "serverHeartbeatFailed"

              Parameters

              Returns this

              v6.0.0

            • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

              @@ -351,18 +351,18 @@

              Returns this

              v6.0.0

              -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns MongoClientEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns MongoClientEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -389,7 +389,7 @@

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends
            | "error"
            | "timeout"
            | "close"
            | "open"
            | "serverOpening"
            | "serverClosed"
            | "serverDescriptionChanged"
            | "topologyOpening"
            | "topologyClosed"
            | "topologyDescriptionChanged"
            | "connectionPoolCreated"
            | "connectionPoolClosed"
            | "connectionPoolCleared"
            | "connectionPoolReady"
            | "connectionCreated"
            | "connectionReady"
            | "connectionClosed"
            | "connectionCheckOutStarted"
            | "connectionCheckOutFailed"
            | "connectionCheckedOut"
            | "connectionCheckedIn"
            | "commandStarted"
            | "commandSucceeded"
            | "commandFailed"
            | "serverHeartbeatStarted"
            | "serverHeartbeatSucceeded"
            | "serverHeartbeatFailed"

      Parameters

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -454,7 +454,7 @@

      Returns ClientSession

      A ClientSession instance may only be passed to operations being performed on the same MongoClient it was started from.

      -
    • Returns a copy of the array of listeners for the event named eventName.

      +

    Constructors

    Properties

    collection: string
    db: string

    Methods

    diff --git a/docs/Next/classes/MongoDBNamespace.html b/docs/Next/classes/MongoDBNamespace.html index 547076b7b0f..db342a1e2c2 100644 --- a/docs/Next/classes/MongoDBNamespace.html +++ b/docs/Next/classes/MongoDBNamespace.html @@ -1,4 +1,4 @@ -MongoDBNamespace | mongodb

    Class MongoDBNamespace

    Hierarchy (view full)

    Constructors

    constructor +MongoDBNamespace | mongodb

    Class MongoDBNamespace

    Hierarchy (view full)

    Constructors

    Properties

    Methods

    toString @@ -7,4 +7,4 @@

    Constructors

    Properties

    collection?: string
    db: string

    Methods

    +

    Returns MongoDBNamespace

    Properties

    collection?: string
    db: string

    Methods

    diff --git a/docs/Next/classes/OrderedBulkOperation.html b/docs/Next/classes/OrderedBulkOperation.html index e02d9e8ef96..90ae787cb82 100644 --- a/docs/Next/classes/OrderedBulkOperation.html +++ b/docs/Next/classes/OrderedBulkOperation.html @@ -9,14 +9,14 @@ find insert raw -

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

      Parameters

      Returns FindOperators

      const bulkOp = collection.initializeOrderedBulkOp();

      // Add an updateOne to the bulkOp
      bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

      // Add an updateMany to the bulkOp
      bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

      // Add an upsert
      bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

      // Add a deletion
      bulkOp.find({ g: 7 }).deleteOne();

      // Add a multi deletion
      bulkOp.find({ h: 8 }).delete();

      // Add a replaceOne
      bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

      // Update using a pipeline (requires Mongodb 4.2 or higher)
      bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
      { $set: { total: { $sum: [ '$y', '$z' ] } } }
      ]);

      // All of the ops will now be executed
      await bulkOp.execute();
      -
    +
    diff --git a/docs/Next/classes/ReadPreference.html b/docs/Next/classes/ReadPreference.html index bfa91933866..d2d4ff9a7e3 100644 --- a/docs/Next/classes/ReadPreference.html +++ b/docs/Next/classes/ReadPreference.html @@ -4,7 +4,7 @@

    Constructors

    Properties

    hedge?: HedgeOptions
    maxStalenessSeconds?: number
    minWireVersion?: number
    tags?: TagSet[]
    nearest: ReadPreference = ...
    NEAREST: "nearest" = ReadPreferenceMode.nearest
    primary: ReadPreference = ...
    PRIMARY: "primary" = ReadPreferenceMode.primary
    PRIMARY_PREFERRED: "primaryPreferred" = ReadPreferenceMode.primaryPreferred
    primaryPreferred: ReadPreference = ...
    secondary: ReadPreference = ...
    SECONDARY: "secondary" = ReadPreferenceMode.secondary
    SECONDARY_PREFERRED: "secondaryPreferred" = ReadPreferenceMode.secondaryPreferred
    secondaryPreferred: ReadPreference = ...

    Accessors

    Methods

    • Check if the two ReadPreferences are equivalent

      +

    Returns ReadPreference

    Properties

    hedge?: HedgeOptions
    maxStalenessSeconds?: number
    minWireVersion?: number

    This will be removed as dead code in the next major version.

    +
    tags?: TagSet[]
    nearest: ReadPreference = ...
    NEAREST: "nearest" = ReadPreferenceMode.nearest
    primary: ReadPreference = ...
    PRIMARY: "primary" = ReadPreferenceMode.primary
    PRIMARY_PREFERRED: "primaryPreferred" = ReadPreferenceMode.primaryPreferred
    primaryPreferred: ReadPreference = ...
    secondary: ReadPreference = ...
    SECONDARY: "secondary" = ReadPreferenceMode.secondary
    SECONDARY_PREFERRED: "secondaryPreferred" = ReadPreferenceMode.secondaryPreferred
    secondaryPreferred: ReadPreference = ...

    Accessors

    Methods

    • Check if the two ReadPreferences are equivalent

      Parameters

      • readPreference: ReadPreference

        The read preference with which to check equality

        -

      Returns boolean

    • Validate if a mode is legal

      +

    Returns boolean

    • Validate if a mode is legal

      Parameters

      • Optionalmode: string

        The string representing the read preference mode.

        -

      Returns boolean

    • Indicates that this readPreference needs the "SecondaryOk" bit when sent over the wire

      +

    Returns boolean

    • Validate if a mode is legal

      +

    Returns undefined | ReadPreference

    • Validate if a mode is legal

      Parameters

      • mode: string

        The string representing the read preference mode.

        -

      Returns boolean

    +

    Returns boolean

    diff --git a/docs/Next/classes/RunCommandCursor.html b/docs/Next/classes/RunCommandCursor.html index fa6af44a16c..2711450927c 100644 --- a/docs/Next/classes/RunCommandCursor.html +++ b/docs/Next/classes/RunCommandCursor.html @@ -63,7 +63,7 @@
    command: Readonly<Record<string, any>>
    getMoreOptions: {
        batchSize?: number;
        comment?: any;
        maxAwaitTimeMS?: number;
    } = {}
    signal: undefined | AbortSignal
    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    CLOSE: "close" = ...
    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -91,7 +91,7 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    @@ -103,7 +103,7 @@ This is performed if the cursor id is non zero.

    Returns boolean

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -118,7 +118,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -132,22 +132,22 @@
    • Will be removed in a future release. Use for await...of instead.
    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns number

      v3.2.0

      -
    • Map all documents using the provided function If there is a transform set on the cursor, that will be called first and the result passed to this function's transform.

      -

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        -
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping +

      Type Parameters

      • T = any

      Parameters

      • transform: ((doc: any) => T)

        The mapping transformation method.

        +
          • (doc): T
          • Parameters

            • doc: any

            Returns T

      Returns AbstractCursor<T, AbstractCursorEvents>

      Note Cursors use null internally to indicate that there are no more documents in the cursor. Providing a mapping function that maps values to null will result in the cursor closing itself before it has finished iterating all documents. This will not result in a memory leak, just surprising behavior. For example:

      const cursor = collection.find({});
      cursor.map(() => null);

      const documents = await cursor.toArray();
      // documents is always [], regardless of how many documents are in the collection. @@ -167,7 +167,7 @@
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      Returns AbstractCursorEvents[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends "close"

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    Returns boolean

    diff --git a/docs/Next/classes/TypedEventEmitter.html b/docs/Next/classes/TypedEventEmitter.html index 5aa5bf66b52..e125ae50ed3 100644 --- a/docs/Next/classes/TypedEventEmitter.html +++ b/docs/Next/classes/TypedEventEmitter.html @@ -30,7 +30,7 @@

    Constructors

    Properties

    captureRejections: boolean

    Value: boolean

    Change the default captureRejections option on all new EventEmitter objects.

    v13.4.0, v12.16.0

    -
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    +
    captureRejectionSymbol: typeof captureRejectionSymbol

    Value: Symbol.for('nodejs.rejection')

    See how to write a custom rejection handler.

    v13.4.0, v12.16.0

    defaultMaxListeners: number

    By default, a maximum of 10 listeners can be registered for any single @@ -58,12 +58,12 @@ listeners, respectively. Its name property is set to 'MaxListenersExceededWarning'.

    v0.11.2

    -
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    +
    errorMonitor: typeof errorMonitor

    This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

    Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

    v13.6.0, v12.17.0

    Methods

    • Type Parameters

      • K

      Parameters

      • error: Error
      • event: string | symbol
      • Rest...args: AnyRest

      Returns void

    • Alias for emitter.on(eventName, listener).

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      Parameters

      Returns this

      v0.1.26

    • Alias for emitter.on(eventName, listener).

      @@ -74,7 +74,7 @@
      import { EventEmitter } from 'node:events';
      const myEmitter = new EventEmitter();

      // First listener
      myEmitter.on('event', function firstListener() {
      console.log('Helloooo! first listener');
      });
      // Second listener
      myEmitter.on('event', function secondListener(arg1, arg2) {
      console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
      });
      // Third listener
      myEmitter.on('event', function thirdListener(...args) {
      const parameters = args.join(', ');
      console.log(`event with parameters ${parameters} in third listener`);
      });

      console.log(myEmitter.listeners('event'));

      myEmitter.emit('event', 1, 2, 3, 4, 5);

      // Prints:
      // [
      // [Function: firstListener],
      // [Function: secondListener],
      // [Function: thirdListener]
      // ]
      // Helloooo! first listener
      // event with parameters 1, 2 in second listener
      // event with parameters 1, 2, 3, 4, 5 in third listener
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns boolean

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns boolean

      v0.1.26

    • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] @@ -82,19 +82,19 @@

      Returns string[]

      v6.0.0

    • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns number

      v3.2.0

      -
    • Returns a copy of the array of listeners for the event named eventName.

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns number

      v3.2.0

      +
    • Returns a copy of the array of listeners for the event named eventName.

      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ]
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v0.1.26

    • Alias for emitter.removeListener().

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v10.0.0

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      Parameters

      Returns this

      v10.0.0

    • Alias for emitter.removeListener().

      @@ -112,7 +112,7 @@
      import { EventEmitter } from 'node:events';
      const myEE = new EventEmitter();
      myEE.on('foo', () => console.log('a'));
      myEE.prependListener('foo', () => console.log('b'));
      myEE.emit('foo');
      // Prints:
      // b
      // a
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • event: EventKey
      • listener: Events[EventKey]

        The callback function

        +

        Type Parameters

        • EventKey extends string | number | symbol

        Parameters

        Returns this

        v0.1.101

      • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -155,7 +155,7 @@

        import { EventEmitter } from 'node:events';
        const myEE = new EventEmitter();
        myEE.once('foo', () => console.log('a'));
        myEE.prependOnceListener('foo', () => console.log('b'));
        myEE.emit('foo');
        // Prints:
        // b
        // a
        -

        Type Parameters

        • EventKey extends string | number | symbol

        Parameters

        • event: EventKey
        • listener: Events[EventKey]

          The callback function

          +

          Type Parameters

          • EventKey extends string | number | symbol

          Parameters

          Returns this

          v0.3.0

        • Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

          @@ -191,7 +191,7 @@

          Returns a reference to the EventEmitter, so that calls can be chained.

          -

          Type Parameters

          • EventKey extends string | number | symbol

          Parameters

          • event: EventKey
          • listener: Events[EventKey]

            The callback function

            +

            Type Parameters

            • EventKey extends string | number | symbol

            Parameters

            Returns this

            v6.0.0

          • Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has @@ -219,7 +219,7 @@

            Returns a reference to the EventEmitter, so that calls can be chained.

            -

            Type Parameters

            • EventKey extends string | number | symbol

            Parameters

            • event: EventKey
            • listener: Events[EventKey]

              The callback function

              +

              Type Parameters

              • EventKey extends string | number | symbol

              Parameters

              Returns this

              v6.0.0

            • Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

              @@ -237,18 +237,18 @@

              Returns a reference to the EventEmitter, so that calls can be chained.

              Parameters

              Returns this

              v6.0.0

              -
    • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

      import { EventEmitter } from 'node:events';
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log');
      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v9.4.0

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns Events[EventKey][]

      v9.4.0

    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      • Optionalevent: string | symbol | EventKey

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      @@ -275,7 +275,7 @@

      Returns a reference to the EventEmitter, so that calls can be chained.

      -

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

      +

      Type Parameters

      • EventKey extends string | number | symbol

      Parameters

      Returns this

      v0.1.26

    • Removes the specified listener from the listener array for the event named eventName.

      const callback = (stream) => {
      console.log('someone connected!');
      };
      server.on('connection', callback);
      // ...
      server.removeListener('connection', callback);
      diff --git a/docs/Next/classes/UnorderedBulkOperation.html b/docs/Next/classes/UnorderedBulkOperation.html index bd3a400186a..c4f69314344 100644 --- a/docs/Next/classes/UnorderedBulkOperation.html +++ b/docs/Next/classes/UnorderedBulkOperation.html @@ -9,14 +9,14 @@ find insert raw -

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. +

    Properties

    isOrdered: boolean
    operationId?: number

    Accessors

    Methods

    • Builds a find operation for an update/updateOne/delete/deleteOne/replaceOne. Returns a builder object used to complete the definition of the operation.

      Parameters

      Returns FindOperators

      const bulkOp = collection.initializeOrderedBulkOp();

      // Add an updateOne to the bulkOp
      bulkOp.find({ a: 1 }).updateOne({ $set: { b: 2 } });

      // Add an updateMany to the bulkOp
      bulkOp.find({ c: 3 }).update({ $set: { d: 4 } });

      // Add an upsert
      bulkOp.find({ e: 5 }).upsert().updateOne({ $set: { f: 6 } });

      // Add a deletion
      bulkOp.find({ g: 7 }).deleteOne();

      // Add a multi deletion
      bulkOp.find({ h: 8 }).delete();

      // Add a replaceOne
      bulkOp.find({ i: 9 }).replaceOne({writeConcern: { j: 10 }});

      // Update using a pipeline (requires Mongodb 4.2 or higher)
      bulk.find({ k: 11, y: { $exists: true }, z: { $exists: true } }).updateOne([
      { $set: { total: { $sum: [ '$y', '$z' ] } } }
      ]);

      // All of the ops will now be executed
      await bulkOp.execute();
      -
    +
    diff --git a/docs/Next/classes/WriteConcern.html b/docs/Next/classes/WriteConcern.html index 5fb2e7573a5..9a3c475c23d 100644 --- a/docs/Next/classes/WriteConcern.html +++ b/docs/Next/classes/WriteConcern.html @@ -27,4 +27,4 @@
    wtimeoutMS?: number

    Specify a time limit to prevent write operations from blocking indefinitely.

    Methods

    +

    Parameters

    Returns undefined | WriteConcern

    diff --git a/docs/Next/classes/WriteConcernError.html b/docs/Next/classes/WriteConcernError.html index 017748d80f0..6501193bd75 100644 --- a/docs/Next/classes/WriteConcernError.html +++ b/docs/Next/classes/WriteConcernError.html @@ -1,11 +1,11 @@ WriteConcernError | mongodb

    Class WriteConcernError

    An error representing a failure by the server to apply the requested write concern to the bulk operation.

    -

    Constructors

    Constructors

    Accessors

    Methods

    Constructors

    Accessors

    • get code(): undefined | number
    • Write concern error code.

      -

      Returns undefined | number

    • get errmsg(): undefined | string
    • Write concern error message.

      -

      Returns undefined | string

    Methods

    +

    Constructors

    Accessors

    • get code(): undefined | number
    • Write concern error code.

      +

      Returns undefined | number

    • get errmsg(): undefined | string
    • Write concern error message.

      +

      Returns undefined | string

    Methods

    diff --git a/docs/Next/classes/WriteError.html b/docs/Next/classes/WriteError.html index ad9c0cad503..7582ca27081 100644 --- a/docs/Next/classes/WriteError.html +++ b/docs/Next/classes/WriteError.html @@ -1,5 +1,5 @@ WriteError | mongodb

    Class WriteError

    An error that occurred during a BulkWrite on the server.

    -

    Constructors

    Constructors

    Properties

    Accessors

    code errInfo @@ -8,9 +8,9 @@

    Methods

    Constructors

    Properties

    Accessors

    • get errmsg(): undefined | string
    • WriteError message.

      -

      Returns undefined | string

    Methods

    • Returns {
          code: number;
          errmsg?: string;
          index: number;
          op: Document;
      }

      • code: number
      • Optionalerrmsg?: string
      • index: number
      • op: Document
    +

    Constructors

    Properties

    Accessors

    • get errmsg(): undefined | string
    • WriteError message.

      +

      Returns undefined | string

    Methods

    • Returns {
          code: number;
          errmsg?: string;
          index: number;
          op: Document;
      }

      • code: number
      • Optionalerrmsg?: string
      • index: number
      • op: Document
    diff --git a/docs/Next/hierarchy.html b/docs/Next/hierarchy.html index 25bcbb88efa..0e4a98c0134 100644 --- a/docs/Next/hierarchy.html +++ b/docs/Next/hierarchy.html @@ -1 +1 @@ -mongodb

    mongodb

    Class Hierarchy

    +mongodb

    mongodb

    Class Hierarchy

    diff --git a/docs/Next/interfaces/AWSEncryptionKeyOptions.html b/docs/Next/interfaces/AWSEncryptionKeyOptions.html index 787311bedc3..19c889b3342 100644 --- a/docs/Next/interfaces/AWSEncryptionKeyOptions.html +++ b/docs/Next/interfaces/AWSEncryptionKeyOptions.html @@ -1,8 +1,8 @@ AWSEncryptionKeyOptions | mongodb

    Interface AWSEncryptionKeyOptions

    Configuration options for making an AWS encryption key

    -
    interface AWSEncryptionKeyOptions {
        endpoint?: string;
        key: string;
        region: string;
    }

    Properties

    interface AWSEncryptionKeyOptions {
        endpoint?: string;
        key: string;
        region: string;
    }

    Properties

    Properties

    endpoint?: string

    An alternate host to send KMS requests to. May include port number.

    -
    key: string

    The Amazon Resource Name (ARN) to the AWS customer master key (CMK)

    -
    region: string

    The AWS region of the KMS

    -
    +
    key: string

    The Amazon Resource Name (ARN) to the AWS customer master key (CMK)

    +
    region: string

    The AWS region of the KMS

    +
    diff --git a/docs/Next/interfaces/AggregateOptions.html b/docs/Next/interfaces/AggregateOptions.html index f5705230602..efd55fc9528 100644 --- a/docs/Next/interfaces/AggregateOptions.html +++ b/docs/Next/interfaces/AggregateOptions.html @@ -1,4 +1,4 @@ -AggregateOptions | mongodb

    Interface AggregateOptions

    interface AggregateOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +AggregateOptions | mongodb

    Interface AggregateOptions

    interface AggregateOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

    allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

    -
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specify collation.

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    cursor?: Document

    Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Hint

    Add an index selection hint to an aggregation command

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.

    -
    maxTimeMS?: number

    Specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.

    +
    maxTimeMS?: number

    Specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/AggregationCursorOptions.html b/docs/Next/interfaces/AggregationCursorOptions.html index 465d2f6fed3..a7eae544b5c 100644 --- a/docs/Next/interfaces/AggregationCursorOptions.html +++ b/docs/Next/interfaces/AggregationCursorOptions.html @@ -1,4 +1,4 @@ -AggregationCursorOptions | mongodb

    Interface AggregationCursorOptions

    interface AggregationCursorOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +AggregationCursorOptions | mongodb

    Interface AggregationCursorOptions

    interface AggregationCursorOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

    allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

    -
    authdb?: string
    awaitData?: boolean

    If awaitData is set to true, when the cursor reaches the end of the capped collection, +

    authdb?: string
    awaitData?: boolean

    If awaitData is set to true, when the cursor reaches the end of the capped collection, MongoDB blocks the query thread for a period of time waiting for new data to arrive. When new data is inserted into the capped collection, the blocked thread is signaled to wake up and return the next batch to the client.

    @@ -45,30 +44,31 @@
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specify collation.

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    cursor?: Document

    Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Hint

    Add an index selection hint to an aggregation command

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    maxAwaitTimeMS?: number

    When applicable maxAwaitTimeMS controls the amount of time subsequent getMores +

    maxAwaitTimeMS?: number

    When applicable maxAwaitTimeMS controls the amount of time subsequent getMores that a cursor uses to fetch more data should take. (ex. cursor.next())

    maxTimeMS?: number

    When applicable maxTimeMS controls the amount of time the initial command that constructs a cursor should take. (ex. find, aggregate, listCollections)

    -
    noCursorTimeout?: boolean
    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noCursorTimeout?: boolean
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    tailable?: boolean

    By default, MongoDB will automatically close a cursor when the @@ -112,5 +113,5 @@

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error. See AbstractCursorOptions.timeoutMode for more details on how this option applies to cursors.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/Auth.html b/docs/Next/interfaces/Auth.html index c8636941842..9dee3940cc7 100644 --- a/docs/Next/interfaces/Auth.html +++ b/docs/Next/interfaces/Auth.html @@ -1,5 +1,5 @@ -Auth | mongodb

    Interface Auth

    interface Auth {
        password?: string;
        username?: string;
    }

    Properties

    password? +Auth | mongodb

    Interface Auth

    interface Auth {
        password?: string;
        username?: string;
    }

    Properties

    Properties

    password?: string

    The password for auth

    -
    username?: string

    The username for auth

    -
    +
    username?: string

    The username for auth

    +
    diff --git a/docs/Next/interfaces/AuthMechanismProperties.html b/docs/Next/interfaces/AuthMechanismProperties.html index 480659e8f8f..cd7283cc7e0 100644 --- a/docs/Next/interfaces/AuthMechanismProperties.html +++ b/docs/Next/interfaces/AuthMechanismProperties.html @@ -1,4 +1,4 @@ -AuthMechanismProperties | mongodb

    Interface AuthMechanismProperties

    interface AuthMechanismProperties {
        ALLOWED_HOSTS?: string[];
        AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
        AWS_SESSION_TOKEN?: string;
        CANONICALIZE_HOST_NAME?: GSSAPICanonicalizationValue;
        ENVIRONMENT?:
            | "test"
            | "azure"
            | "gcp"
            | "k8s";
        OIDC_CALLBACK?: OIDCCallbackFunction;
        OIDC_HUMAN_CALLBACK?: OIDCCallbackFunction;
        SERVICE_HOST?: string;
        SERVICE_NAME?: string;
        SERVICE_REALM?: string;
        TOKEN_RESOURCE?: string;
    }

    Hierarchy (view full)

    Properties

    ALLOWED_HOSTS? +AuthMechanismProperties | mongodb

    Interface AuthMechanismProperties

    interface AuthMechanismProperties {
        ALLOWED_HOSTS?: string[];
        AWS_CREDENTIAL_PROVIDER?: AWSCredentialProvider;
        AWS_SESSION_TOKEN?: string;
        CANONICALIZE_HOST_NAME?: GSSAPICanonicalizationValue;
        ENVIRONMENT?:
            | "azure"
            | "gcp"
            | "test"
            | "k8s";
        OIDC_CALLBACK?: OIDCCallbackFunction;
        OIDC_HUMAN_CALLBACK?: OIDCCallbackFunction;
        SERVICE_HOST?: string;
        SERVICE_NAME?: string;
        SERVICE_REALM?: string;
        TOKEN_RESOURCE?: string;
    }

    Hierarchy (view full)

    Properties

    ALLOWED_HOSTS? AWS_CREDENTIAL_PROVIDER? AWS_SESSION_TOKEN? CANONICALIZE_HOST_NAME? @@ -18,7 +18,7 @@
    const client = new MongoClient(process.env.MONGODB_URI, {
    authMechanismProperties: {
    AWS_CREDENTIAL_PROVIDER: async () => {
    return {
    accessKeyId: process.env.ACCESS_KEY_ID,
    secretAccessKey: process.env.SECRET_ACCESS_KEY
    }
    }
    }
    });
    -
    AWS_SESSION_TOKEN?: string
    CANONICALIZE_HOST_NAME?: GSSAPICanonicalizationValue
    ENVIRONMENT?:
        | "test"
        | "azure"
        | "gcp"
        | "k8s"

    The OIDC environment. Note that 'test' is for internal use only.

    +
    AWS_SESSION_TOKEN?: string
    CANONICALIZE_HOST_NAME?: GSSAPICanonicalizationValue
    ENVIRONMENT?:
        | "azure"
        | "gcp"
        | "test"
        | "k8s"

    The OIDC environment. Note that 'test' is for internal use only.

    OIDC_CALLBACK?: OIDCCallbackFunction

    A user provided OIDC machine callback function.

    OIDC_HUMAN_CALLBACK?: OIDCCallbackFunction

    A user provided OIDC human interacted callback function.

    SERVICE_HOST?: string
    SERVICE_NAME?: string
    SERVICE_REALM?: string
    TOKEN_RESOURCE?: string

    The resource token for OIDC auth in Azure and GCP.

    diff --git a/docs/Next/interfaces/AzureEncryptionKeyOptions.html b/docs/Next/interfaces/AzureEncryptionKeyOptions.html index c30053078d1..d5fd0c94d61 100644 --- a/docs/Next/interfaces/AzureEncryptionKeyOptions.html +++ b/docs/Next/interfaces/AzureEncryptionKeyOptions.html @@ -1,8 +1,8 @@ AzureEncryptionKeyOptions | mongodb

    Interface AzureEncryptionKeyOptions

    Configuration options for making an Azure encryption key

    -
    interface AzureEncryptionKeyOptions {
        keyName: string;
        keyVaultEndpoint: string;
        keyVersion?: string;
    }

    Properties

    interface AzureEncryptionKeyOptions {
        keyName: string;
        keyVaultEndpoint: string;
        keyVersion?: string;
    }

    Properties

    keyName: string

    Key name

    -
    keyVaultEndpoint: string

    Key vault URL, typically <name>.vault.azure.net

    -
    keyVersion?: string

    Key version

    -
    +
    keyVaultEndpoint: string

    Key vault URL, typically <name>.vault.azure.net

    +
    keyVersion?: string

    Key version

    +
    diff --git a/docs/Next/interfaces/BulkWriteOperationError.html b/docs/Next/interfaces/BulkWriteOperationError.html index 6f21a1775e6..4a47b40fee6 100644 --- a/docs/Next/interfaces/BulkWriteOperationError.html +++ b/docs/Next/interfaces/BulkWriteOperationError.html @@ -1,6 +1,6 @@ -BulkWriteOperationError | mongodb

    Interface BulkWriteOperationError

    interface BulkWriteOperationError {
        code: number;
        errInfo: Document;
        errmsg: string;
        index: number;
        op: Document | DeleteStatement | UpdateStatement;
    }

    Properties

    code +BulkWriteOperationError | mongodb

    Interface BulkWriteOperationError

    interface BulkWriteOperationError {
        code: number;
        errInfo: Document;
        errmsg: string;
        index: number;
        op: Document | DeleteStatement | UpdateStatement;
    }

    Properties

    Properties

    code: number
    errInfo: Document
    errmsg: string
    index: number
    +

    Properties

    code: number
    errInfo: Document
    errmsg: string
    index: number
    diff --git a/docs/Next/interfaces/BulkWriteOptions.html b/docs/Next/interfaces/BulkWriteOptions.html index 0586d9c43be..ee87aa96a15 100644 --- a/docs/Next/interfaces/BulkWriteOptions.html +++ b/docs/Next/interfaces/BulkWriteOptions.html @@ -1,4 +1,4 @@ -BulkWriteOptions | mongodb

    Interface BulkWriteOptions

    interface BulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +BulkWriteOptions | mongodb

    Interface BulkWriteOptions

    interface BulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    false - documents will be validated by default

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Collation

    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    false - the driver generates _id fields by default

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. +

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    true - inserts are ordered by default

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ChangeStreamOptions.html b/docs/Next/interfaces/ChangeStreamOptions.html index 3c3a2327423..835ec4a19f6 100644 --- a/docs/Next/interfaces/ChangeStreamOptions.html +++ b/docs/Next/interfaces/ChangeStreamOptions.html @@ -1,5 +1,5 @@ ChangeStreamOptions | mongodb

    Interface ChangeStreamOptions

    Options that can be passed to a ChangeStream. Note that startAfter, resumeAfter, and startAtOperationTime are all mutually exclusive, and the server will error if more than one is specified.

    -
    interface ChangeStreamOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        fullDocument?: string;
        fullDocumentBeforeChange?: string;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        resumeAfter?: unknown;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showExpandedEvents?: boolean;
        startAfter?: unknown;
        startAtOperationTime?: Timestamp;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy

    Properties

    interface ChangeStreamOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        fullDocument?: string;
        fullDocumentBeforeChange?: string;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        resumeAfter?: unknown;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showExpandedEvents?: boolean;
        startAfter?: unknown;
        startAtOperationTime?: Timestamp;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy

    Properties

    allowDiskUse?: boolean

    allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

    -
    authdb?: string
    batchSize?: number

    The number of documents to return per batch.

    +
    authdb?: string
    batchSize?: number

    The number of documents to return per batch.

    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specify collation.

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    cursor?: Document

    Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    fullDocument?: string

    Allowed values: 'updateLookup', 'whenAvailable', 'required'.

    When set to 'updateLookup', the change notification for partial updates @@ -76,13 +75,14 @@

    When set to 'required', the same behavior as 'whenAvailable' except that an error is raised if the pre-image is not available.

    hint?: Hint

    Add an index selection hint to an aggregation command

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a change stream query.

    +
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a change stream query.

    maxTimeMS?: number

    Specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    resumeAfter?: unknown

    Allows you to start a changeStream after a specified event.

    +
    resumeAfter?: unknown

    Allows you to start a changeStream after a specified event.

    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    showExpandedEvents?: boolean

    When enabled, configures the change stream to include extra change events.

    +
    showExpandedEvents?: boolean

    When enabled, configures the change stream to include extra change events.

    startAtOperationTime?: Timestamp

    Will start the changeStream after the specified operationTime.

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/ClientBulkWriteOptions.html b/docs/Next/interfaces/ClientBulkWriteOptions.html index 61617e0827b..f8770e572ac 100644 --- a/docs/Next/interfaces/ClientBulkWriteOptions.html +++ b/docs/Next/interfaces/ClientBulkWriteOptions.html @@ -1,4 +1,4 @@ -ClientBulkWriteOptions | mongodb

    Interface ClientBulkWriteOptions

    interface ClientBulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        verboseResults?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ClientBulkWriteOptions | mongodb

    Interface ClientBulkWriteOptions

    interface ClientBulkWriteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        verboseResults?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    false - documents will be validated by default

    @@ -39,16 +38,17 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. +

    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    true - inserts are ordered by default

    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    @@ -70,14 +70,15 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    verboseResults?: boolean

    Whether detailed results for each successful operation should be included in the returned BulkWriteResult.

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html b/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html index 20a280b033c..d55dfb88d19 100644 --- a/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html +++ b/docs/Next/interfaces/ClientEncryptionCreateDataKeyProviderOptions.html @@ -1,8 +1,8 @@ ClientEncryptionCreateDataKeyProviderOptions | mongodb

    Interface ClientEncryptionCreateDataKeyProviderOptions

    Options to provide when creating a new data key.

    -
    interface ClientEncryptionCreateDataKeyProviderOptions {
        keyAltNames?: string[];
        keyMaterial?: Buffer<ArrayBufferLike> | Binary;
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
    }

    Properties

    interface ClientEncryptionCreateDataKeyProviderOptions {
        keyAltNames?: string[];
        keyMaterial?: Buffer<ArrayBufferLike> | Binary;
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
    }

    Properties

    keyAltNames?: string[]

    An optional list of string alternate names used to reference a key. If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.

    -
    keyMaterial?: Buffer<ArrayBufferLike> | Binary

    Identifies a new KMS-specific key used to encrypt the new data key

    -
    +
    keyMaterial?: Buffer<ArrayBufferLike> | Binary

    Identifies a new KMS-specific key used to encrypt the new data key

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionEncryptOptions.html b/docs/Next/interfaces/ClientEncryptionEncryptOptions.html index d7dc67a273b..06b3863aa4a 100644 --- a/docs/Next/interfaces/ClientEncryptionEncryptOptions.html +++ b/docs/Next/interfaces/ClientEncryptionEncryptOptions.html @@ -1,14 +1,17 @@ ClientEncryptionEncryptOptions | mongodb

    Interface ClientEncryptionEncryptOptions

    Options to provide when encrypting data.

    -
    interface ClientEncryptionEncryptOptions {
        algorithm:
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
            | "Indexed"
            | "Unindexed"
            | "Range";
        contentionFactor?: number | bigint;
        keyAltName?: string;
        keyId?: Binary;
        queryType?: "equality" | "range";
        rangeOptions?: RangeOptions;
    }

    Properties

    interface ClientEncryptionEncryptOptions {
        algorithm:
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
            | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
            | "Indexed"
            | "Unindexed"
            | "Range"
            | "TextPreview";
        contentionFactor?: number | bigint;
        keyAltName?: string;
        keyId?: Binary;
        queryType?:
            | "equality"
            | "range"
            | "prefixPreview"
            | "suffixPreview"
            | "substringPreview";
        rangeOptions?: RangeOptions;
        textOptions?: TextQueryOptions;
    }

    Properties

    algorithm:
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
        | "Indexed"
        | "Unindexed"
        | "Range"

    The algorithm to use for encryption.

    -
    contentionFactor?: number | bigint

    The contention factor.

    -
    keyAltName?: string

    A unique string name corresponding to an already existing dataKey.

    -
    keyId?: Binary

    The id of the Binary dataKey to use for encryption

    -
    queryType?: "equality" | "range"

    The query type.

    -
    rangeOptions?: RangeOptions

    The index options for a Queryable Encryption field supporting "range" queries.

    -
    +textOptions? +

    Properties

    algorithm:
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
        | "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
        | "Indexed"
        | "Unindexed"
        | "Range"
        | "TextPreview"

    The algorithm to use for encryption.

    +
    contentionFactor?: number | bigint

    The contention factor.

    +
    keyAltName?: string

    A unique string name corresponding to an already existing dataKey.

    +
    keyId?: Binary

    The id of the Binary dataKey to use for encryption

    +
    queryType?:
        | "equality"
        | "range"
        | "prefixPreview"
        | "suffixPreview"
        | "substringPreview"

    The query type.

    +
    rangeOptions?: RangeOptions

    The index options for a Queryable Encryption field supporting "range" queries.

    +
    textOptions?: TextQueryOptions

    Options for a Queryable Encryption field supporting text queries. Only valid when algorithm is TextPreview.

    +

    Public Technical Preview: textPreview is an experimental feature and may break at any time.

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionOptions.html b/docs/Next/interfaces/ClientEncryptionOptions.html index c0c69bd14a1..822165f8d52 100644 --- a/docs/Next/interfaces/ClientEncryptionOptions.html +++ b/docs/Next/interfaces/ClientEncryptionOptions.html @@ -1,5 +1,5 @@ ClientEncryptionOptions | mongodb

    Interface ClientEncryptionOptions

    Additional settings to provide when creating a new ClientEncryption instance.

    -
    interface ClientEncryptionOptions {
        credentialProviders?: CredentialProviders;
        keyExpirationMS?: number;
        keyVaultClient?: MongoClient;
        keyVaultNamespace: string;
        kmsProviders?: KMSProviders;
        proxyOptions?: ProxyOptions;
        timeoutMS?: number;
        tlsOptions?: CSFLEKMSTlsOptions;
    }

    Properties

    interface ClientEncryptionOptions {
        credentialProviders?: CredentialProviders;
        keyExpirationMS?: number;
        keyVaultClient?: MongoClient;
        keyVaultNamespace: string;
        kmsProviders?: KMSProviders;
        proxyOptions?: ProxyOptions;
        timeoutMS?: number;
        tlsOptions?: CSFLEKMSTlsOptions;
    }

    Properties

    credentialProviders?: CredentialProviders

    Options for user provided custom credential providers.

    -
    keyExpirationMS?: number

    Sets the expiration time for the DEK in the cache in milliseconds. Defaults to 60000. 0 means no timeout.

    -
    keyVaultClient?: MongoClient

    A MongoClient used to fetch keys from a key vault. Defaults to client.

    -
    keyVaultNamespace: string

    The namespace of the key vault, used to store encryption keys

    -
    kmsProviders?: KMSProviders

    Options for specific KMS providers to use

    -
    proxyOptions?: ProxyOptions

    Options for specifying a Socks5 proxy to use for connecting to the KMS.

    -
    timeoutMS?: number

    The timeout setting to be used for all the operations on ClientEncryption.

    +
    keyExpirationMS?: number

    Sets the expiration time for the DEK in the cache in milliseconds. Defaults to 60000. 0 means no timeout.

    +
    keyVaultClient?: MongoClient

    A MongoClient used to fetch keys from a key vault. Defaults to client.

    +
    keyVaultNamespace: string

    The namespace of the key vault, used to store encryption keys

    +
    kmsProviders?: KMSProviders

    Options for specific KMS providers to use

    +
    proxyOptions?: ProxyOptions

    Options for specifying a Socks5 proxy to use for connecting to the KMS.

    +
    timeoutMS?: number

    The timeout setting to be used for all the operations on ClientEncryption.

    When provided, timeoutMS is used as the timeout for each operation executed on the ClientEncryption object. For example:

    const clientEncryption = new ClientEncryption(client, {
    timeoutMS: 1_000
    kmsProviders: { local: { key: '<KEY>' } }
    });

    // `1_000` is used as the timeout for createDataKey call
    await clientEncryption.createDataKey('local'); @@ -24,5 +24,5 @@
    const client = new MongoClient('<uri>', { timeoutMS: 2_000 });

    // timeoutMS is set to 1_000 on clientEncryption
    const clientEncryption = new ClientEncryption(client, {
    timeoutMS: 1_000
    kmsProviders: { local: { key: '<KEY>' } }
    });
    -
    tlsOptions?: CSFLEKMSTlsOptions

    TLS options for kms providers to use.

    -
    +
    tlsOptions?: CSFLEKMSTlsOptions

    TLS options for kms providers to use.

    +
    diff --git a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html index d2cf9ba15dc..ea488f4124d 100644 --- a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html +++ b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyProviderOptions.html @@ -1,3 +1,3 @@ -ClientEncryptionRewrapManyDataKeyProviderOptions | mongodb

    Interface ClientEncryptionRewrapManyDataKeyProviderOptionsExperimental

    interface ClientEncryptionRewrapManyDataKeyProviderOptions {
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
        provider: keyof KMSProviders;
    }

    Properties

    masterKey? +ClientEncryptionRewrapManyDataKeyProviderOptions | mongodb

    Interface ClientEncryptionRewrapManyDataKeyProviderOptionsExperimental

    interface ClientEncryptionRewrapManyDataKeyProviderOptions {
        masterKey?:
            | AWSEncryptionKeyOptions
            | AzureEncryptionKeyOptions
            | GCPEncryptionKeyOptions
            | KMIPEncryptionKeyOptions;
        provider: keyof KMSProviders;
    }

    Properties

    Properties

    provider: keyof KMSProviders
    +

    Properties

    provider: keyof KMSProviders
    diff --git a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html index 857ee997c3d..d6ca092d508 100644 --- a/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html +++ b/docs/Next/interfaces/ClientEncryptionRewrapManyDataKeyResult.html @@ -1,3 +1,3 @@ -ClientEncryptionRewrapManyDataKeyResult | mongodb

    Interface ClientEncryptionRewrapManyDataKeyResultExperimental

    interface ClientEncryptionRewrapManyDataKeyResult {
        bulkWriteResult?: BulkWriteResult;
    }

    Properties

    bulkWriteResult? +ClientEncryptionRewrapManyDataKeyResult | mongodb

    Interface ClientEncryptionRewrapManyDataKeyResultExperimental

    interface ClientEncryptionRewrapManyDataKeyResult {
        bulkWriteResult?: BulkWriteResult;
    }

    Properties

    Properties

    bulkWriteResult?: BulkWriteResult

    The result of rewrapping data keys. If unset, no keys matched the filter.

    -
    +
    diff --git a/docs/Next/interfaces/ClientMetadata.html b/docs/Next/interfaces/ClientMetadata.html index 7fae6aa5df7..c3c0ab47963 100644 --- a/docs/Next/interfaces/ClientMetadata.html +++ b/docs/Next/interfaces/ClientMetadata.html @@ -1,9 +1,9 @@ ClientMetadata | mongodb

    Interface ClientMetadata

    This interface will be made internal in the next major release.

    https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.md#hello-command

    -
    interface ClientMetadata {
        application?: {
            name: string;
        };
        driver: {
            name: string;
            version: string;
        };
        env?: {
            memory_mb?: Int32;
            name:
                | "aws.lambda"
                | "gcp.func"
                | "azure.func"
                | "vercel";
            region?: string;
            timeout_sec?: Int32;
            url?: string;
        };
        os: {
            architecture?: string;
            name?: Platform;
            type: string;
            version?: string;
        };
        platform: string;
    }

    Properties

    interface ClientMetadata {
        application?: {
            name: string;
        };
        driver: {
            name: string;
            version: string;
        };
        env?: {
            memory_mb?: Int32;
            name:
                | "aws.lambda"
                | "gcp.func"
                | "azure.func"
                | "vercel";
            region?: string;
            timeout_sec?: Int32;
            url?: string;
        };
        os: {
            architecture?: string;
            name?: Platform;
            type: string;
            version?: string;
        };
        platform: string;
    }

    Properties

    application?: {
        name: string;
    }
    driver: {
        name: string;
        version: string;
    }
    env?: {
        memory_mb?: Int32;
        name:
            | "aws.lambda"
            | "gcp.func"
            | "azure.func"
            | "vercel";
        region?: string;
        timeout_sec?: Int32;
        url?: string;
    }

    FaaS environment information

    -
    os: {
        architecture?: string;
        name?: Platform;
        type: string;
        version?: string;
    }
    platform: string
    +

    Properties

    application?: {
        name: string;
    }
    driver: {
        name: string;
        version: string;
    }
    env?: {
        memory_mb?: Int32;
        name:
            | "aws.lambda"
            | "gcp.func"
            | "azure.func"
            | "vercel";
        region?: string;
        timeout_sec?: Int32;
        url?: string;
    }

    FaaS environment information

    +
    os: {
        architecture?: string;
        name?: Platform;
        type: string;
        version?: string;
    }
    platform: string
    diff --git a/docs/Next/interfaces/ClientMetadataOptions.html b/docs/Next/interfaces/ClientMetadataOptions.html index c02bb682856..a8235d0d270 100644 --- a/docs/Next/interfaces/ClientMetadataOptions.html +++ b/docs/Next/interfaces/ClientMetadataOptions.html @@ -1,4 +1,4 @@ ClientMetadataOptions | mongodb

    Interface ClientMetadataOptions

    This interface will be made internal in the next major release.

    -
    interface ClientMetadataOptions {
        appName?: string;
        driverInfo?: {
            name?: string;
            platform?: string;
            version?: string;
        };
    }

    Properties

    interface ClientMetadataOptions {
        appName?: string;
        driverInfo?: {
            name?: string;
            platform?: string;
            version?: string;
        };
    }

    Properties

    Properties

    appName?: string
    driverInfo?: {
        name?: string;
        platform?: string;
        version?: string;
    }
    +

    Properties

    appName?: string
    driverInfo?: {
        name?: string;
        platform?: string;
        version?: string;
    }
    diff --git a/docs/Next/interfaces/ClientSessionOptions.html b/docs/Next/interfaces/ClientSessionOptions.html index e12439e4e70..6728456bfeb 100644 --- a/docs/Next/interfaces/ClientSessionOptions.html +++ b/docs/Next/interfaces/ClientSessionOptions.html @@ -1,10 +1,10 @@ -ClientSessionOptions | mongodb

    Interface ClientSessionOptions

    interface ClientSessionOptions {
        causalConsistency?: boolean;
        defaultTimeoutMS?: number;
        defaultTransactionOptions?: TransactionOptions;
        snapshot?: boolean;
    }

    Properties

    causalConsistency? +ClientSessionOptions | mongodb

    Interface ClientSessionOptions

    interface ClientSessionOptions {
        causalConsistency?: boolean;
        defaultTimeoutMS?: number;
        defaultTransactionOptions?: TransactionOptions;
        snapshot?: boolean;
    }

    Properties

    causalConsistency?: boolean

    Whether causal consistency should be enabled on this session

    -
    defaultTimeoutMS?: number

    An overriding timeoutMS value to use for a client-side timeout. +

    defaultTimeoutMS?: number

    An overriding timeoutMS value to use for a client-side timeout. If not provided the session uses the timeoutMS specified on the MongoClient.

    -
    defaultTransactionOptions?: TransactionOptions

    The default TransactionOptions to use for transactions started on this session.

    -
    snapshot?: boolean

    Whether all read operations should be read from the same snapshot for this session (NOTE: not compatible with causalConsistency=true)

    -
    +
    defaultTransactionOptions?: TransactionOptions

    The default TransactionOptions to use for transactions started on this session.

    +
    snapshot?: boolean

    Whether all read operations should be read from the same snapshot for this session (NOTE: not compatible with causalConsistency=true)

    +
    diff --git a/docs/Next/interfaces/ClusteredCollectionOptions.html b/docs/Next/interfaces/ClusteredCollectionOptions.html index 28ed506b02c..ae321a8d462 100644 --- a/docs/Next/interfaces/ClusteredCollectionOptions.html +++ b/docs/Next/interfaces/ClusteredCollectionOptions.html @@ -1,6 +1,6 @@ ClusteredCollectionOptions | mongodb

    Interface ClusteredCollectionOptions

    Configuration options for clustered collections

    interface ClusteredCollectionOptions {
        key: Document;
        name?: string;
        unique: boolean;
    }

    Hierarchy (view full)

    Properties

    key +
    interface ClusteredCollectionOptions {
        key: Document;
        name?: string;
        unique: boolean;
    }

    Hierarchy (view full)

    Properties

    Properties

    name?: string
    unique: boolean
    +

    Properties

    name?: string
    unique: boolean
    diff --git a/docs/Next/interfaces/CollectionInfo.html b/docs/Next/interfaces/CollectionInfo.html index 21ce2278a88..3da70e5d799 100644 --- a/docs/Next/interfaces/CollectionInfo.html +++ b/docs/Next/interfaces/CollectionInfo.html @@ -1,6 +1,6 @@ -CollectionInfo | mongodb

    Interface CollectionInfo

    interface CollectionInfo {
        idIndex?: Document;
        info?: {
            readOnly?: false;
            uuid?: Binary;
        };
        name: string;
        options?: Document;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    idIndex? +CollectionInfo | mongodb

    Interface CollectionInfo

    interface CollectionInfo {
        idIndex?: Document;
        info?: {
            readOnly?: false;
            uuid?: Binary;
        };
        name: string;
        options?: Document;
        type?: string;
    }

    Hierarchy (view full)

    Properties

    idIndex?: Document
    info?: {
        readOnly?: false;
        uuid?: Binary;
    }
    name: string
    options?: Document
    type?: string
    +

    Properties

    idIndex?: Document
    info?: {
        readOnly?: false;
        uuid?: Binary;
    }
    name: string
    options?: Document
    type?: string
    diff --git a/docs/Next/interfaces/CollectionOptions.html b/docs/Next/interfaces/CollectionOptions.html index 0755dd0bb1f..55e34fb9bc3 100644 --- a/docs/Next/interfaces/CollectionOptions.html +++ b/docs/Next/interfaces/CollectionOptions.html @@ -1,4 +1,4 @@ -CollectionOptions | mongodb

    Interface CollectionOptions

    interface CollectionOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp? +CollectionOptions | mongodb

    Interface CollectionOptions

    interface CollectionOptions {
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    bsonRegExp? checkKeys? enableUtf8Validation? fieldsAsRaw? @@ -41,11 +41,11 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    readConcern?: ReadConcernLike

    Specify a read concern for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    Write Concern as an object

    diff --git a/docs/Next/interfaces/CommandOperationOptions.html b/docs/Next/interfaces/CommandOperationOptions.html index 9c71480d74c..2d3df60a96d 100644 --- a/docs/Next/interfaces/CommandOperationOptions.html +++ b/docs/Next/interfaces/CommandOperationOptions.html @@ -1,4 +1,4 @@ -CommandOperationOptions | mongodb

    Interface CommandOperationOptions

    interface CommandOperationOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CommandOperationOptions | mongodb

    Interface CommandOperationOptions

    interface CommandOperationOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -33,15 +32,16 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ConnectOptions.html b/docs/Next/interfaces/ConnectOptions.html index 232a91e236f..8a4e16478f2 100644 --- a/docs/Next/interfaces/ConnectOptions.html +++ b/docs/Next/interfaces/ConnectOptions.html @@ -1,2 +1,2 @@ -ConnectOptions | mongodb

    Interface ConnectOptions

    interface ConnectOptions {
        readPreference?: ReadPreference;
    }

    Properties

    Properties

    readPreference?: ReadPreference
    +ConnectOptions | mongodb

    Interface ConnectOptions

    interface ConnectOptions {
        readPreference?: ReadPreference;
    }

    Properties

    Properties

    readPreference?: ReadPreference
    diff --git a/docs/Next/interfaces/ConnectionOptions.html b/docs/Next/interfaces/ConnectionOptions.html index b17204eba6a..afd8b60495b 100644 --- a/docs/Next/interfaces/ConnectionOptions.html +++ b/docs/Next/interfaces/ConnectionOptions.html @@ -1,4 +1,4 @@ -ConnectionOptions | mongodb

    Interface ConnectionOptions

    interface ConnectionOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cancellationToken?: CancellationToken;
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        ecdhCurve?: string;
        family?: number;
        generation: number;
        hints?: number;
        hostAddress: HostAddress;
        id: number | "<monitor>";
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        logicalSessionTimeoutMinutes?: number;
        lookup?: LookupFunction;
        metadata: ClientMetadata;
        minDHSize?: number;
        monitorCommands: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi?: ServerApi;
        servername?: string;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        tls: boolean;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain? +ConnectionOptions | mongodb

    Interface ConnectionOptions

    interface ConnectionOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cancellationToken?: CancellationToken;
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        ecdhCurve?: string;
        family?: number;
        generation: number;
        hints?: number;
        hostAddress: HostAddress;
        id: number | "<monitor>";
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        logicalSessionTimeoutMinutes?: number;
        lookup?: LookupFunction;
        metadata: ClientMetadata;
        minDHSize?: number;
        monitorCommands: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        rejectUnauthorized?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi?: ServerApi;
        servername?: string;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        tls: boolean;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    -
    cancellationToken?: CancellationToken
    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per +

    cancellationToken?: CancellationToken
    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not @@ -81,7 +81,7 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use @@ -89,8 +89,8 @@ recent releases, openssl ecparam -list_curves will also display the name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    -
    family?: number
    generation: number
    hints?: number
    hostAddress: HostAddress
    id: number | "<monitor>"
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    family?: number
    generation: number
    hints?: number
    hostAddress: HostAddress
    id: number | "<monitor>"
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -98,7 +98,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    lookup?: LookupFunction
    metadata: ClientMetadata
    minDHSize?: number
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    lookup?: LookupFunction
    metadata: ClientMetadata
    minDHSize?: number
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -107,7 +107,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
    @@ -123,5 +123,5 @@
     any TLS protocol version up to TLSv1.3. It is not recommended to use
     TLS versions less than 1.2, but it may be required for
     interoperability. Default: none, see minVersion.

    -
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    -
    socketTimeoutMS?: number
    tls: boolean
    +
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    socketTimeoutMS?: number
    tls: boolean
    diff --git a/docs/Next/interfaces/ConnectionPoolOptions.html b/docs/Next/interfaces/ConnectionPoolOptions.html index 8f59339173d..8c3b451a460 100644 --- a/docs/Next/interfaces/ConnectionPoolOptions.html +++ b/docs/Next/interfaces/ConnectionPoolOptions.html @@ -48,14 +48,14 @@

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    -
    cancellationToken?: CancellationToken
    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per +

    cancellationToken?: CancellationToken
    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not @@ -84,7 +84,7 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    compressors?: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS?: number
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use @@ -92,8 +92,8 @@ recent releases, openssl ecparam -list_curves will also display the name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    -
    family?: number
    hints?: number
    hostAddress: HostAddress
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    family?: number
    hints?: number
    hostAddress: HostAddress
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -105,8 +105,8 @@

    localAddress?: string
    localPort?: number
    logicalSessionTimeoutMinutes?: number
    lookup?: LookupFunction
    maxConnecting: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle.

    maxPoolSize: number

    The maximum number of connections that may be associated with a pool at a given time. This includes in use and available connections.

    -
    metadata: ClientMetadata
    minDHSize?: number
    minPoolSize: number

    The minimum number of connections that MUST exist at any moment in a single connection pool.

    -
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    metadata: ClientMetadata
    minDHSize?: number
    minPoolSize: number

    The minimum number of connections that MUST exist at any moment in a single connection pool.

    +
    monitorCommands: boolean
    noDelay?: boolean
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -115,7 +115,7 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
    @@ -131,6 +131,6 @@
     any TLS protocol version up to TLSv1.3. It is not recommended to use
     TLS versions less than 1.2, but it may be required for
     interoperability. Default: none, see minVersion.

    -
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    -
    socketTimeoutMS?: number
    tls: boolean
    waitQueueTimeoutMS: number

    The maximum amount of time operation execution should wait for a connection to become available. The default is 0 which means there is no limit.

    +
    serverApi?: ServerApi
    servername?: string
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    socketTimeoutMS?: number
    tls: boolean
    waitQueueTimeoutMS: number

    The maximum amount of time operation execution should wait for a connection to become available. The default is 0 which means there is no limit.

    diff --git a/docs/Next/interfaces/CountDocumentsOptions.html b/docs/Next/interfaces/CountDocumentsOptions.html index ffe7aee46f4..f0baa4f178b 100644 --- a/docs/Next/interfaces/CountDocumentsOptions.html +++ b/docs/Next/interfaces/CountDocumentsOptions.html @@ -1,4 +1,4 @@ -CountDocumentsOptions | mongodb

    Interface CountDocumentsOptions

    interface CountDocumentsOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse? +CountDocumentsOptions | mongodb

    Interface CountDocumentsOptions

    interface CountDocumentsOptions {
        allowDiskUse?: boolean;
        authdb?: string;
        batchSize?: number;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        cursor?: Document;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        out?: string;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

    allowDiskUse lets the server know if it can use disk to store temporary results for the aggregation (requires mongodb 2.6 >).

    -
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    authdb?: string
    batchSize?: number

    The number of documents to return per batch. See aggregation documentation.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specify collation.

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    cursor?: Document

    Return the query as cursor, on 2.6 > it returns as a real cursor on pre 2.6 it returns as an emulated cursor.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.aggregate().explain() or db.aggregate().explain().

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Hint

    Add an index selection hint to an aggregation command

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    limit?: number

    The maximum amount of documents to consider.

    -
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.

    -
    maxTimeMS?: number

    Specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    limit?: number

    The maximum amount of documents to consider.

    +
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query.

    +
    maxTimeMS?: number

    Specifies a cumulative time limit in milliseconds for processing operations on the cursor. MongoDB interrupts the operation at the earliest following interrupt point.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    out?: string
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    skip?: number

    The number of documents to skip.

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    skip?: number

    The number of documents to skip.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/CountOptions.html b/docs/Next/interfaces/CountOptions.html index 36dacd1503d..e04c23c5c0c 100644 --- a/docs/Next/interfaces/CountOptions.html +++ b/docs/Next/interfaces/CountOptions.html @@ -1,4 +1,4 @@ -CountOptions | mongodb

    Interface CountOptions

    interface CountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        limit?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CountOptions | mongodb

    Interface CountOptions

    interface CountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        limit?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        skip?: number;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -36,9 +35,9 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: string | Document

    An index name hint for the query.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -46,7 +45,8 @@

    true

    limit?: number

    The maximum amounts to count before aborting.

    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    skip?: number

    The number of documents to skip.

    +
    skip?: number

    The number of documents to skip.

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/CreateCollectionOptions.html b/docs/Next/interfaces/CreateCollectionOptions.html index bdf43b85890..345d770a8e2 100644 --- a/docs/Next/interfaces/CreateCollectionOptions.html +++ b/docs/Next/interfaces/CreateCollectionOptions.html @@ -1,4 +1,4 @@ -CreateCollectionOptions | mongodb

    Interface CreateCollectionOptions

    interface CreateCollectionOptions {
        authdb?: string;
        autoIndexId?: boolean;
        bsonRegExp?: boolean;
        capped?: boolean;
        changeStreamPreAndPostImages?: {
            enabled: boolean;
        };
        checkKeys?: boolean;
        clusteredIndex?: ClusteredCollectionOptions;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        flags?: number;
        ignoreUndefined?: boolean;
        indexOptionDefaults?: Document;
        max?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        pipeline?: Document[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        size?: number;
        storageEngine?: Document;
        timeoutMS?: number;
        timeseries?: TimeSeriesCollectionOptions;
        useBigInt64?: boolean;
        validationAction?: string;
        validationLevel?: string;
        validator?: Document;
        viewOn?: string;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +CreateCollectionOptions | mongodb

    Interface CreateCollectionOptions

    interface CreateCollectionOptions {
        authdb?: string;
        autoIndexId?: boolean;
        bsonRegExp?: boolean;
        capped?: boolean;
        changeStreamPreAndPostImages?: {
            enabled: boolean;
        };
        checkKeys?: boolean;
        clusteredIndex?: ClusteredCollectionOptions;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        flags?: number;
        ignoreUndefined?: boolean;
        indexOptionDefaults?: Document;
        max?: number;
        maxTimeMS?: number;
        noResponse?: boolean;
        pipeline?: Document[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        size?: number;
        storageEngine?: Document;
        timeoutMS?: number;
        timeseries?: TimeSeriesCollectionOptions;
        useBigInt64?: boolean;
        validationAction?: string;
        validationLevel?: string;
        validator?: Document;
        viewOn?: string;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy

    Properties

    authdb?: string
    autoIndexId?: boolean

    Create an index on the _id field of the document. This option is deprecated in MongoDB 3.2+ and will be removed once no longer supported by the server.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    autoIndexId?: boolean

    Create an index on the _id field of the document. This option is deprecated in MongoDB 3.2+ and will be removed once no longer supported by the server.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    capped?: boolean

    Create a capped collection

    -
    changeStreamPreAndPostImages?: {
        enabled: boolean;
    }

    If set, enables pre-update and post-update document events to be included for any +

    capped?: boolean

    Create a capped collection

    +
    changeStreamPreAndPostImages?: {
        enabled: boolean;
    }

    If set, enables pre-update and post-update document events to be included for any change streams that listen on this collection.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -

    A document specifying configuration options for clustered collections. For MongoDB 5.3 and above.

    -
    collation?: CollationOptions

    Collation

    -
    comment?: unknown

    Comment to apply to the operation.

    +

    A document specifying configuration options for clustered collections. For MongoDB 5.3 and above.

    +
    collation?: CollationOptions

    Collation

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    -
    encryptedFields?: Document
    expireAfterSeconds?: number

    The number of seconds after which a document in a timeseries or clustered collection expires.

    -

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    encryptedFields?: Document
    expireAfterSeconds?: number

    The number of seconds after which a document in a timeseries or clustered collection expires.

    +

    Specifies the verbosity mode for the explain output.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    -
    flags?: number

    Available for the MMAPv1 storage engine only to set the usePowerOf2Sizes and the noPadding flag

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    flags?: number

    Available for the MMAPv1 storage engine only to set the usePowerOf2Sizes and the noPadding flag

    +
    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    -
    indexOptionDefaults?: Document

    Allows users to specify a default configuration for indexes when creating a collection

    -
    max?: number

    The maximum number of documents in the capped collection

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    pipeline?: Document[]

    An array that consists of the aggregation pipeline stage. Creates the view by applying the specified pipeline to the viewOn collection or view

    -
    pkFactory?: PkFactory

    A primary key factory function for generation of custom _id keys.

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    indexOptionDefaults?: Document

    Allows users to specify a default configuration for indexes when creating a collection

    +
    max?: number

    The maximum number of documents in the capped collection

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    pipeline?: Document[]

    An array that consists of the aggregation pipeline stage. Creates the view by applying the specified pipeline to the viewOn collection or view

    +
    pkFactory?: PkFactory

    A primary key factory function for generation of custom _id keys.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    -
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    +
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    -
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    +
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    true

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    raw?: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -87,21 +87,22 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    -
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    -
    size?: number

    The size of the capped collection in bytes

    -
    storageEngine?: Document

    Allows users to specify configuration to the storage engine on a per-collection basis when creating a collection

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -

    A document specifying configuration options for timeseries collections.

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    size?: number

    The size of the capped collection in bytes

    +
    storageEngine?: Document

    Allows users to specify configuration to the storage engine on a per-collection basis when creating a collection

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +

    A document specifying configuration options for timeseries collections.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    validationAction?: string

    Determines whether to error on invalid documents or just warn about the violations but allow invalid documents to be inserted

    -
    validationLevel?: string

    Determines how strictly MongoDB applies the validation rules to existing documents during an update

    -
    validator?: Document

    Allows users to specify validation rules or expressions for the collection. For more information, see Document Validation

    -
    viewOn?: string

    The name of the source collection or view from which to create the view. The name is not the full namespace of the collection or view (i.e., does not include the database name and implies the same database as the view to create)

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    validationAction?: string

    Determines whether to error on invalid documents or just warn about the violations but allow invalid documents to be inserted

    +
    validationLevel?: string

    Determines how strictly MongoDB applies the validation rules to existing documents during an update

    +
    validator?: Document

    Allows users to specify validation rules or expressions for the collection. For more information, see Document Validation

    +
    viewOn?: string

    The name of the source collection or view from which to create the view. The name is not the full namespace of the collection or view (i.e., does not include the database name and implies the same database as the view to create)

    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/CreateIndexesOptions.html b/docs/Next/interfaces/CreateIndexesOptions.html index 6e2ee92f36e..f94ba99f0eb 100644 --- a/docs/Next/interfaces/CreateIndexesOptions.html +++ b/docs/Next/interfaces/CreateIndexesOptions.html @@ -1,4 +1,4 @@ -CreateIndexesOptions | mongodb

    Interface CreateIndexesOptions

    interface CreateIndexesOptions {
        2dsphereIndexVersion?: number;
        authdb?: string;
        background?: boolean;
        bits?: number;
        bsonRegExp?: boolean;
        bucketSize?: number;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        commitQuorum?: string | number;
        dbName?: string;
        default_language?: string;
        enableUtf8Validation?: boolean;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hidden?: boolean;
        ignoreUndefined?: boolean;
        language_override?: string;
        max?: number;
        maxTimeMS?: number;
        min?: number;
        name?: string;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        partialFilterExpression?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        timeoutMS?: number;
        unique?: boolean;
        useBigInt64?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
        willRetryWrite?: boolean;
    }

    Hierarchy

    Properties

    2dsphereIndexVersion? +CreateIndexesOptions | mongodb

    Interface CreateIndexesOptions

    interface CreateIndexesOptions {
        2dsphereIndexVersion?: number;
        authdb?: string;
        background?: boolean;
        bits?: number;
        bsonRegExp?: boolean;
        bucketSize?: number;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        commitQuorum?: string | number;
        dbName?: string;
        default_language?: string;
        enableUtf8Validation?: boolean;
        expireAfterSeconds?: number;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hidden?: boolean;
        ignoreUndefined?: boolean;
        language_override?: string;
        max?: number;
        maxTimeMS?: number;
        min?: number;
        name?: string;
        noResponse?: boolean;
        partialFilterExpression?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        timeoutMS?: number;
        unique?: boolean;
        useBigInt64?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
        willRetryWrite?: boolean;
    }

    Hierarchy

    Properties

    2dsphereIndexVersion?: number
    authdb?: string
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    -
    bits?: number
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    2dsphereIndexVersion?: number
    authdb?: string
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    +
    bits?: number
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    bucketSize?: number
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    bucketSize?: number
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Collation

    comment?: unknown

    Comment to apply to the operation.

    @@ -54,21 +53,22 @@ error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    commitQuorum?: string | number

    (MongoDB 4.4. or higher) Specifies how many data-bearing members of a replica set, including the primary, must complete the index builds successfully before the primary marks the indexes as ready. This option accepts the same values for the "w" field in a write concern plus "votingMembers", which indicates all voting data-bearing nodes.

    -
    dbName?: string
    default_language?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    default_language?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

    -

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +

    Specifies the verbosity mode for the explain output.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hidden?: boolean

    Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    -
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    min?: number

    For geospatial indexes set the lower bound for the co-ordinates.

    -
    name?: string

    Override the autogenerated index name (useful if the resulting name is larger than 128 bytes)

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    partialFilterExpression?: Document

    Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    name?: string

    Override the autogenerated index name (useful if the resulting name is larger than 128 bytes)

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    partialFilterExpression?: Document

    Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sparse?: boolean

    Creates a sparse index.

    -
    storageEngine?: Document

    Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

    -
    textIndexVersion?: number
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    unique?: boolean

    Creates an unique index.

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    sparse?: boolean

    Creates a sparse index.

    +
    storageEngine?: Document

    Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

    +
    textIndexVersion?: number
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    unique?: boolean

    Creates an unique index.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    version?: number

    Specifies the index version number, either 0 or 1.

    -
    weights?: Document
    wildcardProjection?: Document
    willRetryWrite?: boolean
    +
    weights?: Document
    wildcardProjection?: Document
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/DbOptions.html b/docs/Next/interfaces/DbOptions.html index f010636e612..9824536ac4b 100644 --- a/docs/Next/interfaces/DbOptions.html +++ b/docs/Next/interfaces/DbOptions.html @@ -1,4 +1,4 @@ -DbOptions | mongodb

    Interface DbOptions

    interface DbOptions {
        authSource?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcern;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authSource? +DbOptions | mongodb

    Interface DbOptions

    interface DbOptions {
        authSource?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcern;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authSource?: string

    If the database authentication is dependent on another databaseName.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -26,11 +26,11 @@
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    pkFactory?: PkFactory

    A primary key factory object for generation of custom _id keys.

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    @@ -48,12 +48,12 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    readConcern?: ReadConcern

    Specify a read concern for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).

    +
    retryWrites?: boolean

    Should retry failed writes

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    Write Concern as an object

    diff --git a/docs/Next/interfaces/DbStatsOptions.html b/docs/Next/interfaces/DbStatsOptions.html index fffd8f7a755..9d3a52b128b 100644 --- a/docs/Next/interfaces/DbStatsOptions.html +++ b/docs/Next/interfaces/DbStatsOptions.html @@ -1,4 +1,4 @@ -DbStatsOptions | mongodb

    Interface DbStatsOptions

    interface DbStatsOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        scale?: number;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DbStatsOptions | mongodb

    Interface DbStatsOptions

    interface DbStatsOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        scale?: number;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    collation?: CollationOptions

    Collation

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    -

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +

    Specifies the verbosity mode for the explain output.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    -
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    +
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    -
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    +
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    true

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    raw?: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -59,15 +59,16 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    -
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    scale?: number

    Divide the returned sizes by scale value.

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    scale?: number

    Divide the returned sizes by scale value.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/DeleteManyModel.html b/docs/Next/interfaces/DeleteManyModel.html index f8537b1e09c..506ec434a92 100644 --- a/docs/Next/interfaces/DeleteManyModel.html +++ b/docs/Next/interfaces/DeleteManyModel.html @@ -1,7 +1,7 @@ -DeleteManyModel | mongodb

    Interface DeleteManyModel<TSchema>

    interface DeleteManyModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation? +DeleteManyModel | mongodb

    Interface DeleteManyModel<TSchema>

    interface DeleteManyModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    +
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    diff --git a/docs/Next/interfaces/DeleteOneModel.html b/docs/Next/interfaces/DeleteOneModel.html index 608ff2fc252..cec811dd159 100644 --- a/docs/Next/interfaces/DeleteOneModel.html +++ b/docs/Next/interfaces/DeleteOneModel.html @@ -1,7 +1,7 @@ -DeleteOneModel | mongodb

    Interface DeleteOneModel<TSchema>

    interface DeleteOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation? +DeleteOneModel | mongodb

    Interface DeleteOneModel<TSchema>

    interface DeleteOneModel<TSchema> {
        collation?: CollationOptions;
        filter: Filter<TSchema>;
        hint?: Hint;
    }

    Type Parameters

    Properties

    collation?: CollationOptions

    Specifies a collation.

    -
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    -
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    -
    +
    filter: Filter<TSchema>

    The filter to limit the deleted documents.

    +
    hint?: Hint

    The index to use. If specified, then the query system will only consider plans using the hinted index.

    +
    diff --git a/docs/Next/interfaces/DeleteOptions.html b/docs/Next/interfaces/DeleteOptions.html index a12a4d07497..1ad7cc60c52 100644 --- a/docs/Next/interfaces/DeleteOptions.html +++ b/docs/Next/interfaces/DeleteOptions.html @@ -1,4 +1,4 @@ -DeleteOptions | mongodb

    Interface DeleteOptions

    interface DeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DeleteOptions | mongodb

    Interface DeleteOptions

    interface DeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: string | Document;
        ignoreUndefined?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        ordered?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specifies the collation to use for the operation

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: string | Document

    Specify that the update query should only consider plans using the hinted index

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    ordered?: boolean

    If true, when an insert fails, don't execute the remaining writes. If false, continue with remaining inserts when one fails.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/DeleteResult.html b/docs/Next/interfaces/DeleteResult.html index 225e0681c85..2186cd61800 100644 --- a/docs/Next/interfaces/DeleteResult.html +++ b/docs/Next/interfaces/DeleteResult.html @@ -1,5 +1,5 @@ -DeleteResult | mongodb

    Interface DeleteResult

    interface DeleteResult {
        acknowledged: boolean;
        deletedCount: number;
    }

    Properties

    acknowledged +DeleteResult | mongodb

    Interface DeleteResult

    interface DeleteResult {
        acknowledged: boolean;
        deletedCount: number;
    }

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined.

    -
    deletedCount: number

    The number of documents that were deleted

    -
    +
    deletedCount: number

    The number of documents that were deleted

    +
    diff --git a/docs/Next/interfaces/DeleteStatement.html b/docs/Next/interfaces/DeleteStatement.html index 0d7f2650b70..427f9d60551 100644 --- a/docs/Next/interfaces/DeleteStatement.html +++ b/docs/Next/interfaces/DeleteStatement.html @@ -1,9 +1,9 @@ -DeleteStatement | mongodb

    Interface DeleteStatement

    interface DeleteStatement {
        collation?: CollationOptions;
        hint?: Hint;
        limit: number;
        q: Document;
    }

    Properties

    collation? +DeleteStatement | mongodb

    Interface DeleteStatement

    interface DeleteStatement {
        collation?: CollationOptions;
        hint?: Hint;
        limit: number;
        q: Document;
    }

    Properties

    Properties

    collation?: CollationOptions

    Specifies the collation to use for the operation.

    -
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    -
    limit: number

    The number of matching documents to delete.

    -

    The query that matches documents to delete.

    -
    +
    hint?: Hint

    A document or string that specifies the index to use to support the query predicate.

    +
    limit: number

    The number of matching documents to delete.

    +

    The query that matches documents to delete.

    +
    diff --git a/docs/Next/interfaces/DriverInfo.html b/docs/Next/interfaces/DriverInfo.html index f08e8e5de90..bcb6229328f 100644 --- a/docs/Next/interfaces/DriverInfo.html +++ b/docs/Next/interfaces/DriverInfo.html @@ -1,4 +1,4 @@ -DriverInfo | mongodb

    Interface DriverInfo

    interface DriverInfo {
        name?: string;
        platform?: string;
        version?: string;
    }

    Properties

    name? +DriverInfo | mongodb

    Interface DriverInfo

    interface DriverInfo {
        name?: string;
        platform?: string;
        version?: string;
    }

    Properties

    name?: string
    platform?: string
    version?: string
    +

    Properties

    name?: string
    platform?: string
    version?: string
    diff --git a/docs/Next/interfaces/DropCollectionOptions.html b/docs/Next/interfaces/DropCollectionOptions.html index 25a773e1448..74594298651 100644 --- a/docs/Next/interfaces/DropCollectionOptions.html +++ b/docs/Next/interfaces/DropCollectionOptions.html @@ -1,4 +1,4 @@ -DropCollectionOptions | mongodb

    Interface DropCollectionOptions

    interface DropCollectionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +DropCollectionOptions | mongodb

    Interface DropCollectionOptions

    interface DropCollectionOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        encryptedFields?: Document;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    collation?: CollationOptions

    Collation

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    -
    encryptedFields?: Document

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    encryptedFields?: Document

    Specifies the verbosity mode for the explain output.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    -
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    +
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    -
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    +
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    true

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    raw?: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -59,14 +59,15 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    -
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/EndSessionOptions.html b/docs/Next/interfaces/EndSessionOptions.html index d0f6e678ecd..7ea19cd2d8a 100644 --- a/docs/Next/interfaces/EndSessionOptions.html +++ b/docs/Next/interfaces/EndSessionOptions.html @@ -1,5 +1,5 @@ -EndSessionOptions | mongodb

    Interface EndSessionOptions

    interface EndSessionOptions {
        force?: boolean;
        forceClear?: boolean;
        timeoutMS?: number;
    }

    Properties

    force? +EndSessionOptions | mongodb

    Interface EndSessionOptions

    interface EndSessionOptions {
        force?: boolean;
        forceClear?: boolean;
        timeoutMS?: number;
    }

    Properties

    force?: boolean
    forceClear?: boolean
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    +

    Properties

    force?: boolean
    forceClear?: boolean
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    diff --git a/docs/Next/interfaces/EstimatedDocumentCountOptions.html b/docs/Next/interfaces/EstimatedDocumentCountOptions.html index ca74c6575b1..e7759e880ac 100644 --- a/docs/Next/interfaces/EstimatedDocumentCountOptions.html +++ b/docs/Next/interfaces/EstimatedDocumentCountOptions.html @@ -1,4 +1,4 @@ -EstimatedDocumentCountOptions | mongodb

    Interface EstimatedDocumentCountOptions

    interface EstimatedDocumentCountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +EstimatedDocumentCountOptions | mongodb

    Interface EstimatedDocumentCountOptions

    interface EstimatedDocumentCountOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -33,16 +32,17 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    maxTimeMS?: number

    The maximum amount of time to allow the operation to run.

    This option is sent only if the caller explicitly provides a value. The default is to not send a value.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ExplainCommandOptions.html b/docs/Next/interfaces/ExplainCommandOptions.html index c31bac083b7..107e4885160 100644 --- a/docs/Next/interfaces/ExplainCommandOptions.html +++ b/docs/Next/interfaces/ExplainCommandOptions.html @@ -1,5 +1,5 @@ -ExplainCommandOptions | mongodb

    Interface ExplainCommandOptions

    interface ExplainCommandOptions {
        maxTimeMS?: number;
        verbosity: string;
    }

    Properties

    maxTimeMS? +ExplainCommandOptions | mongodb

    Interface ExplainCommandOptions

    interface ExplainCommandOptions {
        maxTimeMS?: number;
        verbosity: string;
    }

    Properties

    maxTimeMS?: number

    The maxTimeMS setting for the command.

    -
    verbosity: string

    The explain verbosity for the command.

    -
    +
    verbosity: string

    The explain verbosity for the command.

    +
    diff --git a/docs/Next/interfaces/ExplainOptions.html b/docs/Next/interfaces/ExplainOptions.html index 4b11f7e9fb4..da15a3498e4 100644 --- a/docs/Next/interfaces/ExplainOptions.html +++ b/docs/Next/interfaces/ExplainOptions.html @@ -10,6 +10,6 @@
    // limits the `explain` command to no more than 2 seconds
    collection.find({ name: 'john doe' }, {
    explain: {
    verbosity: 'queryPlanner',
    maxTimeMS: 2000
    }
    });
    -
    interface ExplainOptions {
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
    }

    Hierarchy (view full)

    Properties

    interface ExplainOptions {
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
    }

    Hierarchy (view full)

    Properties

    Properties

    Specifies the verbosity mode for the explain output.

    -
    +
    diff --git a/docs/Next/interfaces/FilterOperators.html b/docs/Next/interfaces/FilterOperators.html index 299d024bf23..0406d282125 100644 --- a/docs/Next/interfaces/FilterOperators.html +++ b/docs/Next/interfaces/FilterOperators.html @@ -1,4 +1,4 @@ -FilterOperators | mongodb

    Interface FilterOperators<TValue>

    interface FilterOperators<TValue> {
        __id?: undefined;
        $all?: readonly any[];
        $bitsAllClear?: BitwiseFilter;
        $bitsAllSet?: BitwiseFilter;
        $bitsAnyClear?: BitwiseFilter;
        $bitsAnySet?: BitwiseFilter;
        $elemMatch?: Document;
        $eq?: TValue;
        $exists?: boolean;
        $expr?: Record<string, any>;
        $geoIntersects?: {
            $geometry: Document;
        };
        $geoWithin?: Document;
        $gt?: TValue;
        $gte?: TValue;
        $in?: readonly TValue[];
        $jsonSchema?: Record<string, any>;
        $lt?: TValue;
        $lte?: TValue;
        $maxDistance?: number;
        $mod?: TValue extends number
            ? [number, number]
            : never;
        $ne?: TValue;
        $near?: Document;
        $nearSphere?: Document;
        $nin?: readonly TValue[];
        $not?: TValue extends string
            ? RegExp | FilterOperators<TValue<TValue>>
            : FilterOperators<TValue>;
        $options?: TValue extends string
            ? string
            : never;
        $rand?: Record<string, never>;
        $regex?: TValue extends string
            ? string | RegExp | BSONRegExp
            : never;
        $size?: TValue extends readonly any[]
            ? number
            : never;
        $type?:
            | "string"
            | "symbol"
            | "undefined"
            | "object"
            | "int"
            | "double"
            | "array"
            | "binData"
            | "objectId"
            | "bool"
            | "date"
            | "null"
            | "regex"
            | "dbPointer"
            | "javascript"
            | "javascriptWithScope"
            | "timestamp"
            | "long"
            | "decimal"
            | "minKey"
            | "maxKey"
            | BSON.BSONType;
        id?: undefined;
        toHexString?: any;
    }

    Type Parameters

    • TValue

    Hierarchy (view full)

    Properties

    __id? +FilterOperators | mongodb

    Interface FilterOperators<TValue>

    interface FilterOperators<TValue> {
        __id?: undefined;
        $all?: readonly any[];
        $bitsAllClear?: BitwiseFilter;
        $bitsAllSet?: BitwiseFilter;
        $bitsAnyClear?: BitwiseFilter;
        $bitsAnySet?: BitwiseFilter;
        $elemMatch?: Document;
        $eq?: TValue;
        $exists?: boolean;
        $expr?: Record<string, any>;
        $geoIntersects?: {
            $geometry: Document;
        };
        $geoWithin?: Document;
        $gt?: TValue;
        $gte?: TValue;
        $in?: readonly TValue[];
        $jsonSchema?: Record<string, any>;
        $lt?: TValue;
        $lte?: TValue;
        $maxDistance?: number;
        $mod?: TValue extends number
            ? [number, number]
            : never;
        $ne?: TValue;
        $near?: Document;
        $nearSphere?: Document;
        $nin?: readonly TValue[];
        $not?: TValue extends string
            ? RegExp | FilterOperators<TValue<TValue>>
            : FilterOperators<TValue>;
        $options?: TValue extends string
            ? string
            : never;
        $rand?: Record<string, never>;
        $regex?: TValue extends string
            ? string | RegExp | BSONRegExp
            : never;
        $size?: TValue extends readonly any[]
            ? number
            : never;
        $type?:
            | "string"
            | "symbol"
            | "undefined"
            | "object"
            | "double"
            | "array"
            | "binData"
            | "objectId"
            | "bool"
            | "date"
            | "null"
            | "regex"
            | "dbPointer"
            | "javascript"
            | "javascriptWithScope"
            | "int"
            | "timestamp"
            | "long"
            | "decimal"
            | "minKey"
            | "maxKey"
            | BSON.BSONType;
        id?: undefined;
        toHexString?: any;
    }

    Type Parameters

    • TValue

    Hierarchy (view full)

    Properties

    Methods

    Properties

    __id?: undefined
    $all?: readonly any[]
    $bitsAllClear?: BitwiseFilter
    $bitsAllSet?: BitwiseFilter
    $bitsAnyClear?: BitwiseFilter
    $bitsAnySet?: BitwiseFilter
    $elemMatch?: Document
    $eq?: TValue
    $exists?: boolean

    When true, $exists matches the documents that contain the field, including documents where the field value is null.

    -
    $expr?: Record<string, any>
    $geoIntersects?: {
        $geometry: Document;
    }
    $geoWithin?: Document
    $gt?: TValue
    $gte?: TValue
    $in?: readonly TValue[]
    $jsonSchema?: Record<string, any>
    $lt?: TValue
    $lte?: TValue
    $maxDistance?: number
    $mod?: TValue extends number
        ? [number, number]
        : never
    $ne?: TValue
    $near?: Document
    $nearSphere?: Document
    $nin?: readonly TValue[]
    $not?: TValue extends string
        ? RegExp | FilterOperators<TValue<TValue>>
        : FilterOperators<TValue>
    $options?: TValue extends string
        ? string
        : never
    $rand?: Record<string, never>
    $regex?: TValue extends string
        ? string | RegExp | BSONRegExp
        : never
    $size?: TValue extends readonly any[]
        ? number
        : never
    $type?:
        | "string"
        | "symbol"
        | "undefined"
        | "object"
        | "int"
        | "double"
        | "array"
        | "binData"
        | "objectId"
        | "bool"
        | "date"
        | "null"
        | "regex"
        | "dbPointer"
        | "javascript"
        | "javascriptWithScope"
        | "timestamp"
        | "long"
        | "decimal"
        | "minKey"
        | "maxKey"
        | BSON.BSONType
    id?: undefined

    Methods

    toHexString
    +
    $expr?: Record<string, any>
    $geoIntersects?: {
        $geometry: Document;
    }
    $geoWithin?: Document
    $gt?: TValue
    $gte?: TValue
    $in?: readonly TValue[]
    $jsonSchema?: Record<string, any>
    $lt?: TValue
    $lte?: TValue
    $maxDistance?: number
    $mod?: TValue extends number
        ? [number, number]
        : never
    $ne?: TValue
    $near?: Document
    $nearSphere?: Document
    $nin?: readonly TValue[]
    $not?: TValue extends string
        ? RegExp | FilterOperators<TValue<TValue>>
        : FilterOperators<TValue>
    $options?: TValue extends string
        ? string
        : never
    $rand?: Record<string, never>
    $regex?: TValue extends string
        ? string | RegExp | BSONRegExp
        : never
    $size?: TValue extends readonly any[]
        ? number
        : never
    $type?:
        | "string"
        | "symbol"
        | "undefined"
        | "object"
        | "double"
        | "array"
        | "binData"
        | "objectId"
        | "bool"
        | "date"
        | "null"
        | "regex"
        | "dbPointer"
        | "javascript"
        | "javascriptWithScope"
        | "int"
        | "timestamp"
        | "long"
        | "decimal"
        | "minKey"
        | "maxKey"
        | BSON.BSONType
    id?: undefined

    Methods

    toHexString
    diff --git a/docs/Next/interfaces/FindOneAndDeleteOptions.html b/docs/Next/interfaces/FindOneAndDeleteOptions.html index c4943681ffb..b89a50291a2 100644 --- a/docs/Next/interfaces/FindOneAndDeleteOptions.html +++ b/docs/Next/interfaces/FindOneAndDeleteOptions.html @@ -1,4 +1,4 @@ -FindOneAndDeleteOptions | mongodb

    Interface FindOneAndDeleteOptions

    interface FindOneAndDeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +FindOneAndDeleteOptions | mongodb

    Interface FindOneAndDeleteOptions

    interface FindOneAndDeleteOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -38,9 +37,9 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -49,7 +48,8 @@

    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    projection?: Document

    Limits the fields to return for all matching documents.

    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    @@ -69,13 +69,14 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    +
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/FindOneAndReplaceOptions.html b/docs/Next/interfaces/FindOneAndReplaceOptions.html index dcd9fb49ea4..10d6bc0ed70 100644 --- a/docs/Next/interfaces/FindOneAndReplaceOptions.html +++ b/docs/Next/interfaces/FindOneAndReplaceOptions.html @@ -1,4 +1,4 @@ -FindOneAndReplaceOptions | mongodb

    Interface FindOneAndReplaceOptions

    interface FindOneAndReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +FindOneAndReplaceOptions | mongodb

    Interface FindOneAndReplaceOptions

    interface FindOneAndReplaceOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    @@ -42,9 +41,9 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -53,7 +52,8 @@

    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    projection?: Document

    Limits the fields to return for all matching documents.

    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    @@ -73,15 +73,16 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    +
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    upsert?: boolean

    Upsert the document if it does not exist.

    +
    upsert?: boolean

    Upsert the document if it does not exist.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/FindOneAndUpdateOptions.html b/docs/Next/interfaces/FindOneAndUpdateOptions.html index a57c04ee369..89239517043 100644 --- a/docs/Next/interfaces/FindOneAndUpdateOptions.html +++ b/docs/Next/interfaces/FindOneAndUpdateOptions.html @@ -1,4 +1,4 @@ -FindOneAndUpdateOptions | mongodb

    Interface FindOneAndUpdateOptions

    interface FindOneAndUpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters? +FindOneAndUpdateOptions | mongodb

    Interface FindOneAndUpdateOptions

    interface FindOneAndUpdateOptions {
        arrayFilters?: Document[];
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Document;
        ignoreUndefined?: boolean;
        includeResultMetadata?: boolean;
        let?: Document;
        maxTimeMS?: number;
        noResponse?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnDocument?: ReturnDocument;
        serializeFunctions?: boolean;
        session?: ClientSession;
        sort?: Sort;
        timeoutMS?: number;
        upsert?: boolean;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    arrayFilters?: Document[]

    Optional list of array filters referenced in filtered positional operators

    -
    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    checkKeys?: boolean

    the serializer will check if keys are valid.

    @@ -44,9 +43,9 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Document

    An optional hint for query optimization. See the command reference for more information.

    ignoreUndefined?: boolean

    serialize will not emit undefined fields @@ -55,7 +54,8 @@

    includeResultMetadata?: boolean

    Return the ModifyResult instead of the modified document. Defaults to false

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    projection?: Document

    Limits the fields to return for all matching documents.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    projection?: Document

    Limits the fields to return for all matching documents.

    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    @@ -75,15 +75,16 @@
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    returnDocument?: ReturnDocument

    When set to 'after', returns the updated document rather than the original. The default is 'before'.

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    +
    sort?: Sort

    Determines which document the operation modifies if the query selects multiple documents.

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    upsert?: boolean

    Upsert the document if it does not exist.

    +
    upsert?: boolean

    Upsert the document if it does not exist.

    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/FindOneOptions.html b/docs/Next/interfaces/FindOneOptions.html new file mode 100644 index 00000000000..ae07e43e733 --- /dev/null +++ b/docs/Next/interfaces/FindOneOptions.html @@ -0,0 +1,112 @@ +FindOneOptions | mongodb

    Interface FindOneOptions

    interface FindOneOptions {
        allowDiskUse?: boolean;
        allowPartialResults?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        max?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        min?: Document;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        oplogReplay?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnKey?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showRecordId?: boolean;
        singleBatch?: boolean;
        skip?: number;
        sort?: Sort;
        tailable?: boolean;
        timeout?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

    Allows disk use for blocking sort operations exceeding 100MB memory. (MongoDB 3.2 or higher)

    +
    allowPartialResults?: boolean

    For queries against a sharded collection, allows the command (or subsequent getMore commands) to return partial results, rather than an error, if one or more queried shards are unavailable.

    +
    authdb?: string
    awaitData?: boolean

    Specify if the cursor is a tailable-await cursor. Requires tailable to be true

    +
    batchSize?: number

    Will be removed in the next major version. User provided value will be ignored.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    false

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +

    false

    +
    collation?: CollationOptions

    Specify collation (MongoDB 3.4 or higher) settings for update operation (see 3.4 documentation for available fields).

    +
    comment?: unknown

    Comment to apply to the operation.

    +

    In server versions pre-4.4, 'comment' must be string. A server +error will be thrown if any other type is provided.

    +

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +

    Specifies the verbosity mode for the explain output.

    +

    This API is deprecated in favor of collection.find().explain().

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +

    null

    +
    hint?: Hint

    Tell the query to use specific indexes in the query. Object of indexes to use, {'_id':1}

    +
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +note that the driver sets this to false

    +

    true

    +
    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    +
    limit?: number

    Will be removed in the next major version. User provided value will be ignored.

    +
    max?: Document

    The exclusive upper bound for a specific index

    +
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query. Requires tailable and awaitData to be true

    +
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    +
    min?: Document

    The inclusive lower bound for a specific index

    +
    noCursorTimeout?: boolean

    Will be removed in the next major version. User provided value will be ignored.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    oplogReplay?: boolean

    Option to enable an optimized code path for queries looking for a particular range of ts values in the oplog. Requires tailable to be true.

    +

    Starting from MongoDB 4.4 this flag is not needed and will be ignored.

    +
    projection?: Document

    The fields to return in the query. Object of fields to either include or exclude (one of, not both), {'a':1, 'b': 1} or {'a': 0, 'b': 0}

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +

    false

    +
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    +

    true

    +
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    +

    true

    +
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +which is allocated using allocUnsafe API. +See this section from the Node.js Docs here +for more detail about what "unsafe" refers to in this context. +If you need to maintain your own editable clone of the bytes returned for an extended life time of the process, it is recommended you allocate +your own buffer and clone the contents:

    +
    const raw = await collection.findOne({}, { raw: true });
    const myBuffer = Buffer.alloc(raw.byteLength);
    myBuffer.set(raw, 0);
    // Only save and use `myBuffer` beyond this point +
    + +

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). +It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    returnKey?: boolean

    If true, returns only the index keys in the resulting documents.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    +

    false

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    showRecordId?: boolean

    Determines whether to return the record identifier for each document. If true, adds a field $recordId to the returned documents.

    +
    singleBatch?: boolean

    Determines whether to close the cursor after the first batch. Defaults to false.

    +
    skip?: number

    Set to skip N documents ahead in your query (useful for pagination).

    +
    sort?: Sort

    Set to sort the documents coming back from the query. Array of indexes, [['a', 1]] etc.

    +
    tailable?: boolean

    Specify if the cursor is tailable.

    +
    timeout?: boolean

    Specify if the cursor can timeout.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +

    false

    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/FindOptions.html b/docs/Next/interfaces/FindOptions.html index 22f27bcd537..27ba4bdcd24 100644 --- a/docs/Next/interfaces/FindOptions.html +++ b/docs/Next/interfaces/FindOptions.html @@ -1,5 +1,5 @@ -FindOptions | mongodb

    Interface FindOptions<TSchema>

    interface FindOptions<TSchema> {
        allowDiskUse?: boolean;
        allowPartialResults?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        max?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        min?: Document;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        oplogReplay?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnKey?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showRecordId?: boolean;
        singleBatch?: boolean;
        skip?: number;
        sort?: Sort;
        tailable?: boolean;
        timeout?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Type Parameters

    • TSchema extends Document = Document

      Unused schema definition, deprecated usage, only specify FindOptions with no generic

      -

    Hierarchy (view full)

    Properties

    allowDiskUse? +FindOptions | mongodb

    Interface FindOptions<TSchema>

    interface FindOptions<TSchema> {
        allowDiskUse?: boolean;
        allowPartialResults?: boolean;
        authdb?: string;
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        hint?: Hint;
        ignoreUndefined?: boolean;
        let?: Document;
        limit?: number;
        max?: Document;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        min?: Document;
        noCursorTimeout?: boolean;
        noResponse?: boolean;
        oplogReplay?: boolean;
        projection?: Document;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        returnKey?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        showRecordId?: boolean;
        singleBatch?: boolean;
        skip?: number;
        sort?: Sort;
        tailable?: boolean;
        timeout?: boolean;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Type Parameters

    • TSchema extends Document = Document

      Unused schema definition, deprecated usage, only specify FindOptions with no generic

      +

    Hierarchy (view full)

    Properties

    allowDiskUse?: boolean

    Allows disk use for blocking sort operations exceeding 100MB memory. (MongoDB 3.2 or higher)

    -
    allowPartialResults?: boolean

    For queries against a sharded collection, allows the command (or subsequent getMore commands) to return partial results, rather than an error, if one or more queried shards are unavailable.

    -
    authdb?: string
    awaitData?: boolean

    Specify if the cursor is a tailable-await cursor. Requires tailable to be true

    -
    batchSize?: number

    Set the batchSize for the getMoreCommand when iterating over the query results.

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    allowPartialResults?: boolean

    For queries against a sharded collection, allows the command (or subsequent getMore commands) to return partial results, rather than an error, if one or more queried shards are unavailable.

    +
    authdb?: string
    awaitData?: boolean

    Specify if the cursor is a tailable-await cursor. Requires tailable to be true

    +
    batchSize?: number

    Set the batchSize for the getMoreCommand when iterating over the query results.

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Specify collation (MongoDB 3.4 or higher) settings for update operation (see 3.4 documentation for available fields).

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    This API is deprecated in favor of collection.find().explain().

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    hint?: Hint

    Tell the query to use specific indexes in the query. Object of indexes to use, {'_id':1}

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    let?: Document

    Map of parameter names and values that can be accessed using $$var (requires MongoDB 5.0).

    -
    limit?: number

    Sets the limit of documents returned in the query.

    -
    max?: Document

    The exclusive upper bound for a specific index

    -
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query. Requires tailable and awaitData to be true

    -
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    -
    min?: Document

    The inclusive lower bound for a specific index

    -
    noCursorTimeout?: boolean

    The server normally times out idle cursors after an inactivity period (10 minutes) to prevent excess memory use. Set this option to prevent that.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    oplogReplay?: boolean

    Option to enable an optimized code path for queries looking for a particular range of ts values in the oplog. Requires tailable to be true.

    -

    Starting from MongoDB 4.4 this flag is not needed and will be ignored.

    -
    projection?: Document

    The fields to return in the query. Object of fields to either include or exclude (one of, not both), {'a':1, 'b': 1} or {'a': 0, 'b': 0}

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    limit?: number

    Sets the limit of documents returned in the query.

    +
    max?: Document

    The exclusive upper bound for a specific index

    +
    maxAwaitTimeMS?: number

    The maximum amount of time for the server to wait on new documents to satisfy a tailable cursor query. Requires tailable and awaitData to be true

    +
    maxTimeMS?: number

    Number of milliseconds to wait before aborting the query.

    +
    min?: Document

    The inclusive lower bound for a specific index

    +
    noCursorTimeout?: boolean

    The server normally times out idle cursors after an inactivity period (10 minutes) to prevent excess memory use. Set this option to prevent that.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    oplogReplay?: boolean

    Option to enable an optimized code path for queries looking for a particular range of ts values in the oplog. Requires tailable to be true.

    +

    Starting from MongoDB 4.4 this flag is not needed and will be ignored.

    +
    projection?: Document

    The fields to return in the query. Object of fields to either include or exclude (one of, not both), {'a':1, 'b': 1} or {'a': 0, 'b': 0}

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    returnKey?: boolean

    If true, returns only the index keys in the resulting documents.

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    returnKey?: boolean

    If true, returns only the index keys in the resulting documents.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    showRecordId?: boolean

    Determines whether to return the record identifier for each document. If true, adds a field $recordId to the returned documents.

    -
    singleBatch?: boolean

    Determines whether to close the cursor after the first batch. Defaults to false.

    -
    skip?: number

    Set to skip N documents ahead in your query (useful for pagination).

    -
    sort?: Sort

    Set to sort the documents coming back from the query. Array of indexes, [['a', 1]] etc.

    -
    tailable?: boolean

    Specify if the cursor is tailable.

    -
    timeout?: boolean

    Specify if the cursor can timeout.

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    showRecordId?: boolean

    Determines whether to return the record identifier for each document. If true, adds a field $recordId to the returned documents.

    +
    singleBatch?: boolean

    Determines whether to close the cursor after the first batch. Defaults to false.

    +
    skip?: number

    Set to skip N documents ahead in your query (useful for pagination).

    +
    sort?: Sort

    Set to sort the documents coming back from the query. Array of indexes, [['a', 1]] etc.

    +
    tailable?: boolean

    Specify if the cursor is tailable.

    +
    timeout?: boolean

    Specify if the cursor can timeout.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/GCPEncryptionKeyOptions.html b/docs/Next/interfaces/GCPEncryptionKeyOptions.html index d023375ed98..c230acb2ce9 100644 --- a/docs/Next/interfaces/GCPEncryptionKeyOptions.html +++ b/docs/Next/interfaces/GCPEncryptionKeyOptions.html @@ -1,14 +1,14 @@ GCPEncryptionKeyOptions | mongodb

    Interface GCPEncryptionKeyOptions

    Configuration options for making an AWS encryption key

    -
    interface GCPEncryptionKeyOptions {
        endpoint?: string;
        keyName: string;
        keyRing: string;
        keyVersion?: string;
        location: string;
        projectId: string;
    }

    Properties

    interface GCPEncryptionKeyOptions {
        endpoint?: string;
        keyName: string;
        keyRing: string;
        keyVersion?: string;
        location: string;
        projectId: string;
    }

    Properties

    endpoint?: string

    KMS URL, defaults to https://www.googleapis.com/auth/cloudkms

    -
    keyName: string

    Key name

    -
    keyRing: string

    Key ring name

    -
    keyVersion?: string

    Key version

    -
    location: string

    Location name (e.g. "global")

    -
    projectId: string

    GCP project ID

    -
    +
    keyName: string

    Key name

    +
    keyRing: string

    Key ring name

    +
    keyVersion?: string

    Key version

    +
    location: string

    Location name (e.g. "global")

    +
    projectId: string

    GCP project ID

    +
    diff --git a/docs/Next/interfaces/IndexDescription.html b/docs/Next/interfaces/IndexDescription.html index 476da9d4de3..a3838dca2ca 100644 --- a/docs/Next/interfaces/IndexDescription.html +++ b/docs/Next/interfaces/IndexDescription.html @@ -1,4 +1,4 @@ -IndexDescription | mongodb

    Interface IndexDescription

    interface IndexDescription {
        2dsphereIndexVersion?: number;
        background?: boolean;
        bits?: number;
        bucketSize?: number;
        collation?: CollationOptions;
        default_language?: string;
        expireAfterSeconds?: number;
        hidden?: boolean;
        key: {
            [key: string]: IndexDirection;
        } | Map<string, IndexDirection>;
        language_override?: string;
        max?: number;
        min?: number;
        name?: string;
        partialFilterExpression?: Document;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        unique?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
    }

    Hierarchy

    • Pick<CreateIndexesOptions,
          | "background"
          | "unique"
          | "partialFilterExpression"
          | "sparse"
          | "hidden"
          | "expireAfterSeconds"
          | "storageEngine"
          | "version"
          | "weights"
          | "default_language"
          | "language_override"
          | "textIndexVersion"
          | "2dsphereIndexVersion"
          | "bits"
          | "min"
          | "max"
          | "bucketSize"
          | "wildcardProjection">
      • IndexDescription

    Properties

    2dsphereIndexVersion? +IndexDescription | mongodb

    Interface IndexDescription

    interface IndexDescription {
        2dsphereIndexVersion?: number;
        background?: boolean;
        bits?: number;
        bucketSize?: number;
        collation?: CollationOptions;
        default_language?: string;
        expireAfterSeconds?: number;
        hidden?: boolean;
        key: {
            [key: string]: IndexDirection;
        } | Map<string, IndexDirection>;
        language_override?: string;
        max?: number;
        min?: number;
        name?: string;
        partialFilterExpression?: Document;
        sparse?: boolean;
        storageEngine?: Document;
        textIndexVersion?: number;
        unique?: boolean;
        version?: number;
        weights?: Document;
        wildcardProjection?: Document;
    }

    Hierarchy

    • Pick<CreateIndexesOptions,
          | "background"
          | "unique"
          | "partialFilterExpression"
          | "sparse"
          | "hidden"
          | "expireAfterSeconds"
          | "storageEngine"
          | "version"
          | "weights"
          | "default_language"
          | "language_override"
          | "textIndexVersion"
          | "2dsphereIndexVersion"
          | "bits"
          | "min"
          | "max"
          | "bucketSize"
          | "wildcardProjection">
      • IndexDescription

    Properties

    2dsphereIndexVersion?: number
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    -
    bits?: number
    bucketSize?: number
    collation?: CollationOptions
    default_language?: string
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

    -
    hidden?: boolean

    Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

    -
    key: {
        [key: string]: IndexDirection;
    } | Map<string, IndexDirection>
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    -
    min?: number

    For geospatial indexes set the lower bound for the co-ordinates.

    -
    name?: string
    partialFilterExpression?: Document

    Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

    -
    sparse?: boolean

    Creates a sparse index.

    -
    storageEngine?: Document

    Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

    -
    textIndexVersion?: number
    unique?: boolean

    Creates an unique index.

    -
    version?: number

    Specifies the index version number, either 0 or 1.

    -
    weights?: Document
    wildcardProjection?: Document
    +

    Properties

    2dsphereIndexVersion?: number
    background?: boolean

    Creates the index in the background, yielding whenever possible.

    +
    bits?: number
    bucketSize?: number
    collation?: CollationOptions
    default_language?: string
    expireAfterSeconds?: number

    Allows you to expire data on indexes applied to a data (MongoDB 2.2 or higher)

    +
    hidden?: boolean

    Specifies that the index should exist on the target collection but should not be used by the query planner when executing operations. (MongoDB 4.4 or higher)

    +
    key: {
        [key: string]: IndexDirection;
    } | Map<string, IndexDirection>
    language_override?: string
    max?: number

    For geospatial indexes set the high bound for the co-ordinates.

    +
    min?: number

    For geospatial indexes set the lower bound for the co-ordinates.

    +
    name?: string
    partialFilterExpression?: Document

    Creates a partial index based on the given filter object (MongoDB 3.2 or higher)

    +
    sparse?: boolean

    Creates a sparse index.

    +
    storageEngine?: Document

    Allows users to configure the storage engine on a per-index basis when creating an index. (MongoDB 3.0 or higher)

    +
    textIndexVersion?: number
    unique?: boolean

    Creates an unique index.

    +
    version?: number

    Specifies the index version number, either 0 or 1.

    +
    weights?: Document
    wildcardProjection?: Document
    diff --git a/docs/Next/interfaces/IndexInformationOptions.html b/docs/Next/interfaces/IndexInformationOptions.html index c037f511c3b..fcbff6a4b80 100644 --- a/docs/Next/interfaces/IndexInformationOptions.html +++ b/docs/Next/interfaces/IndexInformationOptions.html @@ -1,4 +1,4 @@ -IndexInformationOptions | mongodb

    Interface IndexInformationOptions

    interface IndexInformationOptions {
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        comment?: unknown;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        full?: boolean;
        ignoreUndefined?: boolean;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    awaitData? +IndexInformationOptions | mongodb

    Interface IndexInformationOptions

    interface IndexInformationOptions {
        awaitData?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        comment?: unknown;
        enableUtf8Validation?: boolean;
        fieldsAsRaw?: Document;
        full?: boolean;
        ignoreUndefined?: boolean;
        maxAwaitTimeMS?: number;
        maxTimeMS?: number;
        noCursorTimeout?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        serializeFunctions?: boolean;
        session?: ClientSession;
        tailable?: boolean;
        timeoutMode?: CursorTimeoutMode;
        timeoutMS?: number;
        useBigInt64?: boolean;
    }

    Hierarchy (view full)

    Properties

    awaitData? batchSize? bsonRegExp? checkKeys? @@ -49,7 +49,7 @@
    {
    'a_1': [['a', 1]],
    'b_1_c_1': [['b', 1], ['c', 1]],
    }
    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    maxAwaitTimeMS?: number

    When applicable maxAwaitTimeMS controls the amount of time subsequent getMores diff --git a/docs/Next/interfaces/InsertManyResult.html b/docs/Next/interfaces/InsertManyResult.html index fb552b7fd7b..8cda7304180 100644 --- a/docs/Next/interfaces/InsertManyResult.html +++ b/docs/Next/interfaces/InsertManyResult.html @@ -1,7 +1,7 @@ -InsertManyResult | mongodb

    Interface InsertManyResult<TSchema>

    interface InsertManyResult<TSchema> {
        acknowledged: boolean;
        insertedCount: number;
        insertedIds: {
            [key: number]: InferIdType<TSchema>;
        };
    }

    Type Parameters

    Properties

    acknowledged +InsertManyResult | mongodb

    Interface InsertManyResult<TSchema>

    interface InsertManyResult<TSchema> {
        acknowledged: boolean;
        insertedCount: number;
        insertedIds: {
            [key: number]: InferIdType<TSchema>;
        };
    }

    Type Parameters

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined

    -
    insertedCount: number

    The number of inserted documents for this operations

    -
    insertedIds: {
        [key: number]: InferIdType<TSchema>;
    }

    Map of the index of the inserted document to the id of the inserted document

    -
    +
    insertedCount: number

    The number of inserted documents for this operations

    +
    insertedIds: {
        [key: number]: InferIdType<TSchema>;
    }

    Map of the index of the inserted document to the id of the inserted document

    +
    diff --git a/docs/Next/interfaces/InsertOneModel.html b/docs/Next/interfaces/InsertOneModel.html index c01892f1a37..aecb3a5272a 100644 --- a/docs/Next/interfaces/InsertOneModel.html +++ b/docs/Next/interfaces/InsertOneModel.html @@ -1,3 +1,3 @@ -InsertOneModel | mongodb

    Interface InsertOneModel<TSchema>

    interface InsertOneModel<TSchema> {
        document: OptionalId<TSchema>;
    }

    Type Parameters

    Properties

    document +InsertOneModel | mongodb

    Interface InsertOneModel<TSchema>

    interface InsertOneModel<TSchema> {
        document: OptionalId<TSchema>;
    }

    Type Parameters

    Properties

    Properties

    document: OptionalId<TSchema>

    The document to insert.

    -
    +
    diff --git a/docs/Next/interfaces/InsertOneOptions.html b/docs/Next/interfaces/InsertOneOptions.html index e34272a8974..58147d1a725 100644 --- a/docs/Next/interfaces/InsertOneOptions.html +++ b/docs/Next/interfaces/InsertOneOptions.html @@ -1,4 +1,4 @@ -InsertOneOptions | mongodb

    Interface InsertOneOptions

    interface InsertOneOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +InsertOneOptions | mongodb

    Interface InsertOneOptions

    interface InsertOneOptions {
        authdb?: string;
        bsonRegExp?: boolean;
        bypassDocumentValidation?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    bypassDocumentValidation?: boolean

    Allow driver to bypass schema validation.

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    collation?: CollationOptions

    Collation

    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver.

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/InsertOneResult.html b/docs/Next/interfaces/InsertOneResult.html index 484d624650e..106f5245819 100644 --- a/docs/Next/interfaces/InsertOneResult.html +++ b/docs/Next/interfaces/InsertOneResult.html @@ -1,5 +1,5 @@ -InsertOneResult | mongodb

    Interface InsertOneResult<TSchema>

    interface InsertOneResult<TSchema> {
        acknowledged: boolean;
        insertedId: InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    acknowledged +InsertOneResult | mongodb

    Interface InsertOneResult<TSchema>

    interface InsertOneResult<TSchema> {
        acknowledged: boolean;
        insertedId: InferIdType<TSchema>;
    }

    Type Parameters

    Properties

    acknowledged: boolean

    Indicates whether this write result was acknowledged. If not, then all other members of this result will be undefined

    -
    insertedId: InferIdType<TSchema>

    The identifier that was inserted. If the server generated the identifier, this value will be null as the driver does not have access to that data

    -
    +
    insertedId: InferIdType<TSchema>

    The identifier that was inserted. If the server generated the identifier, this value will be null as the driver does not have access to that data

    +
    diff --git a/docs/Next/interfaces/KMIPEncryptionKeyOptions.html b/docs/Next/interfaces/KMIPEncryptionKeyOptions.html index 1b0ee3fa810..e2e61e40ac4 100644 --- a/docs/Next/interfaces/KMIPEncryptionKeyOptions.html +++ b/docs/Next/interfaces/KMIPEncryptionKeyOptions.html @@ -1,10 +1,10 @@ KMIPEncryptionKeyOptions | mongodb

    Interface KMIPEncryptionKeyOptions

    Configuration options for making a KMIP encryption key

    -
    interface KMIPEncryptionKeyOptions {
        delegated?: boolean;
        endpoint?: string;
        keyId?: string;
    }

    Properties

    interface KMIPEncryptionKeyOptions {
        delegated?: boolean;
        endpoint?: string;
        keyId?: string;
    }

    Properties

    delegated?: boolean

    If true, this key should be decrypted by the KMIP server.

    Requires mongodb-client-encryption>=6.0.1.

    -
    endpoint?: string

    Host with optional port.

    -
    keyId?: string

    keyId is the KMIP Unique Identifier to a 96 byte KMIP Secret Data managed object.

    +
    endpoint?: string

    Host with optional port.

    +
    keyId?: string

    keyId is the KMIP Unique Identifier to a 96 byte KMIP Secret Data managed object.

    If keyId is omitted, a random 96 byte KMIP Secret Data managed object will be created.

    -
    +
    diff --git a/docs/Next/interfaces/ListCollectionsOptions.html b/docs/Next/interfaces/ListCollectionsOptions.html index 1ecd79c5543..267346531e6 100644 --- a/docs/Next/interfaces/ListCollectionsOptions.html +++ b/docs/Next/interfaces/ListCollectionsOptions.html @@ -1,4 +1,4 @@ -ListCollectionsOptions | mongodb

    Interface ListCollectionsOptions

    interface ListCollectionsOptions {
        authdb?: string;
        authorizedCollections?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        signal?: AbortSignal;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    authdb? +ListCollectionsOptions | mongodb

    Interface ListCollectionsOptions

    interface ListCollectionsOptions {
        authdb?: string;
        authorizedCollections?: boolean;
        batchSize?: number;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        signal?: AbortSignal;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
    }

    Hierarchy (view full)

    Properties

    authdb?: string
    authorizedCollections?: boolean

    Since 4.0: If true and nameOnly is true, allows a user without the required privilege (i.e. listCollections action on the database) to run the command when access control is enforced.

    -
    batchSize?: number

    The batchSize for the returned command cursor or if pre 2.8 the systems batch collection

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    authorizedCollections?: boolean

    Since 4.0: If true and nameOnly is true, allows a user without the required privilege (i.e. listCollections action on the database) to run the command when access control is enforced.

    +
    batchSize?: number

    The batchSize for the returned command cursor or if pre 2.8 the systems batch collection

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    @@ -38,16 +37,17 @@

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    nameOnly?: boolean

    Since 4.0: If true, will only return the collection name in the response, and will omit additional info

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    session?: ClientSession

    Specify ClientSession for this command

    -
    signal?: AbortSignal

    When provided, the corresponding AbortController can be used to abort an asynchronous action.

    +
    signal?: AbortSignal

    When provided, the corresponding AbortController can be used to abort an asynchronous action.

    The signal.reason value is used as the error thrown.

    NOTE: If an abort signal aborts an operation while the driver is writing to the underlying socket or reading the response from the server, the socket will be closed. @@ -83,6 +84,6 @@

    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean
    +
    willRetryWrite?: boolean
    diff --git a/docs/Next/interfaces/ListDatabasesOptions.html b/docs/Next/interfaces/ListDatabasesOptions.html index 50cc3ffc357..1f098d573cc 100644 --- a/docs/Next/interfaces/ListDatabasesOptions.html +++ b/docs/Next/interfaces/ListDatabasesOptions.html @@ -1,4 +1,4 @@ -ListDatabasesOptions | mongodb

    Interface ListDatabasesOptions

    interface ListDatabasesOptions {
        authdb?: string;
        authorizedDatabases?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        filter?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        omitReadPreference?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy (view full)

    Properties

    authdb? +ListDatabasesOptions | mongodb

    Interface ListDatabasesOptions

    interface ListDatabasesOptions {
        authdb?: string;
        authorizedDatabases?: boolean;
        bsonRegExp?: boolean;
        checkKeys?: boolean;
        collation?: CollationOptions;
        comment?: unknown;
        dbName?: string;
        enableUtf8Validation?: boolean;
        explain?: ExplainVerbosityLike | ExplainCommandOptions;
        fieldsAsRaw?: Document;
        filter?: Document;
        ignoreUndefined?: boolean;
        maxTimeMS?: number;
        nameOnly?: boolean;
        noResponse?: boolean;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readPreference?: ReadPreferenceLike;
        retryWrites?: boolean;
        serializeFunctions?: boolean;
        session?: ClientSession;
        timeoutMS?: number;
        useBigInt64?: boolean;
        willRetryWrite?: boolean;
        writeConcern?: WriteConcern | WriteConcernSettings;
    }

    Hierarchy

    Properties

    authdb?: string
    authorizedDatabases?: boolean

    A flag that determines which databases are returned based on the user privileges when access control is enabled

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +

    Properties

    authdb?: string
    authorizedDatabases?: boolean

    A flag that determines which databases are returned based on the user privileges when access control is enabled

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    -
    checkKeys?: boolean

    the serializer will check if keys are valid.

    +
    checkKeys?: boolean

    the serializer will check if keys are valid.

    false

    -
    collation?: CollationOptions

    Collation

    -
    comment?: unknown

    Comment to apply to the operation.

    +
    collation?: CollationOptions

    Collation

    +
    comment?: unknown

    Comment to apply to the operation.

    In server versions pre-4.4, 'comment' must be string. A server error will be thrown if any other type is provided.

    In server versions 4.4 and above, 'comment' can be any valid BSON type.

    -
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    -

    Specifies the verbosity mode for the explain output.

    -
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    +
    dbName?: string
    enableUtf8Validation?: boolean

    Enable utf8 validation when deserializing BSON documents. Defaults to true.

    +

    Specifies the verbosity mode for the explain output.

    +
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    -
    filter?: Document

    A query predicate that determines which databases are listed

    -
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    filter?: Document

    A query predicate that determines which databases are listed

    +
    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    -
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    -
    nameOnly?: boolean

    A flag to indicate whether the command should return just the database names, or return both database names and size information

    -
    noResponse?: boolean
    omitReadPreference?: boolean
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    maxTimeMS?: number

    maxTimeMS is a server-side time limit in milliseconds for processing an operation.

    +
    nameOnly?: boolean

    A flag to indicate whether the command should return just the database names, or return both database names and size information

    +
    noResponse?: boolean

    This option is deprecated and will be removed in an upcoming major version.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    -
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    +
    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    -
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    +
    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    true

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    raw?: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -64,14 +64,15 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    -
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    -
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    -
    retryWrites?: boolean

    Should retry failed writes

    -
    serializeFunctions?: boolean

    serialize the javascript functions

    +
    readConcern?: ReadConcernLike

    Specify a read concern and level for the collection. (only MongoDB 3.2 or higher supported)

    +
    readPreference?: ReadPreferenceLike

    The preferred read preference (ReadPreference.primary, ReadPreference.primary_preferred, ReadPreference.secondary, ReadPreference.secondary_preferred, ReadPreference.nearest).

    +
    retryWrites?: boolean

    This option is deprecated and will be removed in a future release as it is not used +in the driver. Use MongoClientOptions or connection string parameters instead.

    +
    serializeFunctions?: boolean

    serialize the javascript functions

    false

    -
    session?: ClientSession

    Specify ClientSession for this command

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    session?: ClientSession

    Specify ClientSession for this command

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    -
    willRetryWrite?: boolean

    Write Concern as an object

    -
    +
    willRetryWrite?: boolean

    Write Concern as an object

    +
    diff --git a/docs/Next/interfaces/ListDatabasesResult.html b/docs/Next/interfaces/ListDatabasesResult.html index c3e23e661b2..e68a7b6478a 100644 --- a/docs/Next/interfaces/ListDatabasesResult.html +++ b/docs/Next/interfaces/ListDatabasesResult.html @@ -1,5 +1,5 @@ -ListDatabasesResult | mongodb

    Interface ListDatabasesResult

    interface ListDatabasesResult {
        databases: ({
            empty?: boolean;
            name: string;
            sizeOnDisk?: number;
        } & Document)[];
        ok: 0 | 1;
        totalSize?: number;
        totalSizeMb?: number;
    }

    Properties

    databases +ListDatabasesResult | mongodb

    Interface ListDatabasesResult

    interface ListDatabasesResult {
        databases: ({
            empty?: boolean;
            name: string;
            sizeOnDisk?: number;
        } & Document)[];
        ok: 0 | 1;
        totalSize?: number;
        totalSizeMb?: number;
    }

    Properties

    databases: ({
        empty?: boolean;
        name: string;
        sizeOnDisk?: number;
    } & Document)[]
    ok: 0 | 1
    totalSize?: number
    totalSizeMb?: number
    +

    Properties

    databases: ({
        empty?: boolean;
        name: string;
        sizeOnDisk?: number;
    } & Document)[]
    ok: 0 | 1
    totalSize?: number
    totalSizeMb?: number
    diff --git a/docs/Next/interfaces/ModifyResult.html b/docs/Next/interfaces/ModifyResult.html index 1844f146b4d..fec3e249b47 100644 --- a/docs/Next/interfaces/ModifyResult.html +++ b/docs/Next/interfaces/ModifyResult.html @@ -1,4 +1,4 @@ -ModifyResult | mongodb

    Interface ModifyResult<TSchema>

    interface ModifyResult<TSchema> {
        lastErrorObject?: Document;
        ok: 0 | 1;
        value: null | WithId<TSchema>;
    }

    Type Parameters

    Properties

    lastErrorObject? +ModifyResult | mongodb

    Interface ModifyResult<TSchema>

    interface ModifyResult<TSchema> {
        lastErrorObject?: Document;
        ok: 0 | 1;
        value: null | WithId<TSchema>;
    }

    Type Parameters

    Properties

    lastErrorObject?: Document
    ok: 0 | 1
    value: null | WithId<TSchema>
    +

    Properties

    lastErrorObject?: Document
    ok: 0 | 1
    value: null | WithId<TSchema>
    diff --git a/docs/Next/interfaces/MongoClientOptions.html b/docs/Next/interfaces/MongoClientOptions.html index f993db47843..fc36e9788cb 100644 --- a/docs/Next/interfaces/MongoClientOptions.html +++ b/docs/Next/interfaces/MongoClientOptions.html @@ -1,6 +1,6 @@ MongoClientOptions | mongodb

    Interface MongoClientOptions

    Describes all possible URI query options for the mongo client

    interface MongoClientOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        appName?: string;
        auth?: Auth;
        authMechanism?: AuthMechanism;
        authMechanismProperties?: AuthMechanismProperties;
        authSource?: string;
        autoEncryption?: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        bsonRegExp?: boolean;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkKeys?: boolean;
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: string | (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        directConnection?: boolean;
        driverInfo?: DriverInfo;
        ecdhCurve?: string;
        enableUtf8Validation?: boolean;
        family?: number;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        heartbeatFrequencyMS?: number;
        hints?: number;
        ignoreUndefined?: boolean;
        journal?: boolean;
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced?: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS?: number;
        lookup?: LookupFunction;
        maxConnecting?: number;
        maxIdleTimeMS?: number;
        maxPoolSize?: number;
        maxStalenessSeconds?: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS?: number;
        minPoolSize?: number;
        mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions;
        mongodbLogMaxDocumentLength?: number;
        mongodbLogPath?: MongoDBLogWritable | "stdout" | "stderr";
        monitorCommands?: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readConcernLevel?: ReadConcernLevel;
        readPreference?: ReadPreference | ReadPreferenceMode;
        readPreferenceTags?: TagSet[];
        rejectUnauthorized?: boolean;
        replicaSet?: string;
        retryReads?: boolean;
        retryWrites?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serializeFunctions?: boolean;
        serverApi?: "1" | ServerApi;
        serverMonitoringMode?: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS?: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        srvMaxHosts?: number;
        srvServiceName?: string;
        ssl?: boolean;
        timeoutMS?: number;
        tls?: boolean;
        tlsAllowInvalidCertificates?: boolean;
        tlsAllowInvalidHostnames?: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCertificateKeyFilePassword?: string;
        tlsCRLFile?: string;
        tlsInsecure?: boolean;
        useBigInt64?: boolean;
        w?: W;
        waitQueueTimeoutMS?: number;
        writeConcern?: WriteConcern | WriteConcernSettings;
        wtimeoutMS?: number;
        zlibCompressionLevel?:
            | 0
            | 5
            | 1
            | 3
            | 9
            | 4
            | 2
            | 8
            | 6
            | 7;
    }

    Hierarchy (view full)

    Properties

    interface MongoClientOptions {
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        appName?: string;
        auth?: Auth;
        authMechanism?: AuthMechanism;
        authMechanismProperties?: AuthMechanismProperties;
        authSource?: string;
        autoEncryption?: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        bsonRegExp?: boolean;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkKeys?: boolean;
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors?: string | (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS?: number;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        directConnection?: boolean;
        driverInfo?: DriverInfo;
        ecdhCurve?: string;
        enableUtf8Validation?: boolean;
        family?: number;
        fieldsAsRaw?: Document;
        forceServerObjectId?: boolean;
        heartbeatFrequencyMS?: number;
        hints?: number;
        ignoreUndefined?: boolean;
        journal?: boolean;
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced?: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS?: number;
        lookup?: LookupFunction;
        maxConnecting?: number;
        maxIdleTimeMS?: number;
        maxPoolSize?: number;
        maxStalenessSeconds?: number;
        minDHSize?: number;
        minHeartbeatFrequencyMS?: number;
        minPoolSize?: number;
        mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions;
        mongodbLogMaxDocumentLength?: number;
        mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable;
        monitorCommands?: boolean;
        noDelay?: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory?: PkFactory;
        promoteBuffers?: boolean;
        promoteLongs?: boolean;
        promoteValues?: boolean;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw?: boolean;
        readConcern?: ReadConcernLike;
        readConcernLevel?: ReadConcernLevel;
        readPreference?: ReadPreference | ReadPreferenceMode;
        readPreferenceTags?: TagSet[];
        rejectUnauthorized?: boolean;
        replicaSet?: string;
        retryReads?: boolean;
        retryWrites?: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serializeFunctions?: boolean;
        serverApi?: "1" | ServerApi;
        serverMonitoringMode?: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS?: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS?: number;
        srvMaxHosts?: number;
        srvServiceName?: string;
        ssl?: boolean;
        timeoutMS?: number;
        tls?: boolean;
        tlsAllowInvalidCertificates?: boolean;
        tlsAllowInvalidHostnames?: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCertificateKeyFilePassword?: string;
        tlsCRLFile?: string;
        tlsInsecure?: boolean;
        useBigInt64?: boolean;
        w?: W;
        waitQueueTimeoutMS?: number;
        writeConcern?: WriteConcern | WriteConcernSettings;
        wtimeoutMS?: number;
        zlibCompressionLevel?:
            | 0
            | 5
            | 1
            | 3
            | 9
            | 4
            | 2
            | 8
            | 6
            | 7;
    }

    Hierarchy (view full)

    Properties

    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    appName?: string

    The name of the application that created this MongoClient instance. MongoDB 3.4 and newer will print this value in the server log upon establishing each connection. It is also recorded in the slow query log and profile collections

    -
    auth?: Auth

    The auth settings for when connection to server.

    -
    authMechanism?: AuthMechanism

    Specify the authentication mechanism that MongoDB will use to authenticate the connection.

    -
    authMechanismProperties?: AuthMechanismProperties

    Specify properties for the specified authMechanism as a comma-separated list of colon-separated key-value pairs.

    -
    authSource?: string

    Specify the database name associated with the user’s credentials.

    -
    autoEncryption?: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    +
    auth?: Auth

    The auth settings for when connection to server.

    +
    authMechanism?: AuthMechanism

    Specify the authentication mechanism that MongoDB will use to authenticate the connection.

    +
    authMechanismProperties?: AuthMechanismProperties

    Specify properties for the specified authMechanism as a comma-separated list of colon-separated key-value pairs.

    +
    authSource?: string

    Specify the database name associated with the user’s credentials.

    +
    autoEncryption?: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error (see libmongocrypt: Auto Encryption Allow-List). To bypass automatic encryption for all operations, set bypassAutoEncryption=true in AutoEncryptionOpts.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    @@ -115,9 +115,9 @@
  • AutoEncryptionOptions.bypassAutomaticEncryption is false.
  • If an internal MongoClient is created, it is configured with the same options as the parent MongoClient except minPoolSize is set to 0 and AutoEncryptionOptions is omitted.

    -
    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    +
    autoSelectFamily?: boolean

    v18.13.0

    +
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    bsonRegExp?: boolean

    return BSON regular expressions as BSONRegExp instances.

    false

    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely @@ -154,11 +154,15 @@ ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    compressors?: string | (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]

    An array or comma-delimited string of compressors to enable network compression for communication between this client and a mongod/mongos instance.

    -
    connectTimeoutMS?: number

    The time in milliseconds to attempt a connection before timing out.

    -
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    connectTimeoutMS?: number

    The time in milliseconds to attempt a connection before timing out.

    +
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    directConnection?: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    -
    driverInfo?: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver

    -
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve +

    driverInfo?: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver +/*

    +
      +
    • Will be made internal in a future major release.
    • +
    +
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use crypto.getCurves() to obtain a list of available curve names. On @@ -169,14 +173,14 @@

    family?: number
    fieldsAsRaw?: Document

    allow to specify if there what fields we wish to return as unserialized raw buffer.

    null

    forceServerObjectId?: boolean

    Force server to assign _id values instead of driver

    -
    heartbeatFrequencyMS?: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    -
    hints?: number
    ignoreUndefined?: boolean

    serialize will not emit undefined fields +

    heartbeatFrequencyMS?: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    +
    hints?: number
    ignoreUndefined?: boolean

    serialize will not emit undefined fields note that the driver sets this to false

    true

    journal?: boolean

    The journal write concern

    -

    Please use the writeConcern option instead

    -
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    Please use the writeConcern option instead

    +
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -185,22 +189,22 @@ object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    loadBalanced?: boolean

    Instruct the driver it is connecting to a load balancer fronting a mongos like service

    -
    localAddress?: string
    localPort?: number
    localThresholdMS?: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    -
    lookup?: LookupFunction
    maxConnecting?: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    -
    maxIdleTimeMS?: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. +

    localAddress?: string
    localPort?: number
    localThresholdMS?: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    +
    lookup?: LookupFunction
    maxConnecting?: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    +
    maxIdleTimeMS?: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. If specified, this must be a number greater than or equal to 0, where 0 means there is no limit. Defaults to 0. After this time passes, the idle collection can be automatically cleaned up in the background.

    -
    maxPoolSize?: number

    The maximum number of connections in the connection pool.

    -
    maxStalenessSeconds?: number

    Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations.

    -
    minDHSize?: number
    minHeartbeatFrequencyMS?: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    -
    minPoolSize?: number

    The minimum number of connections in the connection pool.

    -
    mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions

    Enable logging level per component or use default to control any unset components.

    -
    mongodbLogMaxDocumentLength?: number

    All BSON documents are stringified to EJSON. This controls the maximum length of those strings. +

    maxPoolSize?: number

    The maximum number of connections in the connection pool.

    +
    maxStalenessSeconds?: number

    Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations.

    +
    minDHSize?: number
    minHeartbeatFrequencyMS?: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    +
    minPoolSize?: number

    The minimum number of connections in the connection pool.

    +
    mongodbLogComponentSeverities?: LogComponentSeveritiesClientOptions

    Enable logging level per component or use default to control any unset components.

    +
    mongodbLogMaxDocumentLength?: number

    All BSON documents are stringified to EJSON. This controls the maximum length of those strings. It is defaulted to 1000.

    -
    mongodbLogPath?: MongoDBLogWritable | "stdout" | "stderr"

    Specifies the destination of the driver's logging. The default is stderr.

    -
    monitorCommands?: boolean

    Enable command monitoring for this client

    -
    noDelay?: boolean

    TCP Connection no delay

    -
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    mongodbLogPath?: "stderr" | "stdout" | MongoDBLogWritable

    Specifies the destination of the driver's logging. The default is stderr.

    +
    monitorCommands?: boolean

    Enable command monitoring for this client

    +
    noDelay?: boolean

    TCP Connection no delay

    +
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -210,17 +214,17 @@ object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    pkFactory?: PkFactory

    A primary key factory function for generation of custom _id keys

    -
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    +
    promoteBuffers?: boolean

    when deserializing a Binary will return it as a node.js Buffer instance.

    false

    promoteLongs?: boolean

    when deserializing a Long will fit it into a Number if it's smaller than 53 bits.

    true

    promoteValues?: boolean

    when deserializing will promote BSON values to their Node.js closest equivalent types.

    true

    proxyHost?: string

    Configures a Socks5 proxy host used for creating TCP connections.

    -
    proxyPassword?: string

    Configures a Socks5 proxy password when the proxy in proxyHost requires username/password authentication.

    -
    proxyPort?: number

    Configures a Socks5 proxy port used for creating TCP connections.

    -
    proxyUsername?: string

    Configures a Socks5 proxy username when the proxy in proxyHost requires username/password authentication.

    -
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer +

    proxyPassword?: string

    Configures a Socks5 proxy password when the proxy in proxyHost requires username/password authentication.

    +
    proxyPort?: number

    Configures a Socks5 proxy port used for creating TCP connections.

    +
    proxyUsername?: string

    Configures a Socks5 proxy username when the proxy in proxyHost requires username/password authentication.

    +
    raw?: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -232,19 +236,19 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    readConcern?: ReadConcernLike

    Specify a read concern for the collection (only MongoDB 3.2 or higher supported)

    -
    readConcernLevel?: ReadConcernLevel

    The level of isolation

    -

    Specifies the read preferences for this connection

    -
    readPreferenceTags?: TagSet[]

    Specifies the tags document as a comma-separated list of colon-separated key-value pairs.

    -
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    readConcernLevel?: ReadConcernLevel

    The level of isolation

    +

    Specifies the read preferences for this connection

    +
    readPreferenceTags?: TagSet[]

    Specifies the tags document as a comma-separated list of colon-separated key-value pairs.

    +
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
     
    replicaSet?: string

    Specifies the name of the replica set, if the mongod is a member of a replica set.

    -
    retryReads?: boolean

    Enables retryable reads.

    -
    retryWrites?: boolean

    Enable retryable writes.

    -
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    +
    retryReads?: boolean

    Enables retryable reads.

    +
    retryWrites?: boolean

    Enable retryable writes.

    +
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    secureProtocol?: string

    Legacy mechanism to select the TLS protocol version to use, it does not support independent control of the minimum and maximum version, and does not support limiting the protocol to TLSv1.3. Use @@ -257,33 +261,33 @@

    serializeFunctions?: boolean

    serialize the javascript functions

    false

    serverApi?: "1" | ServerApi

    Server API version

    -
    serverMonitoringMode?: ServerMonitoringMode

    Instructs the driver monitors to use a specific monitoring mode

    -
    servername?: string
    serverSelectionTimeoutMS?: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    -
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    serverMonitoringMode?: ServerMonitoringMode

    Instructs the driver monitors to use a specific monitoring mode

    +
    servername?: string
    serverSelectionTimeoutMS?: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    +
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    socketTimeoutMS?: number

    The time in milliseconds to attempt a send or receive on a socket before the attempt times out.

    -
    srvMaxHosts?: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    -
    srvServiceName?: string

    Modifies the srv URI to look like:

    +
    srvMaxHosts?: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    +
    srvServiceName?: string

    Modifies the srv URI to look like:

    _{srvServiceName}._tcp.{hostname}.{domainname}

    Querying this DNS URI is expected to respond with SRV records

    -
    ssl?: boolean

    A boolean to enable or disables TLS/SSL for the connection. (The ssl option is equivalent to the tls option.)

    -
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    -
    tls?: boolean

    Enables or disables TLS/SSL for the connection.

    -
    tlsAllowInvalidCertificates?: boolean

    Bypasses validation of the certificates presented by the mongod/mongos instance

    -
    tlsAllowInvalidHostnames?: boolean

    Disables hostname validation of the certificate presented by the mongod/mongos instance.

    -
    tlsCAFile?: string

    Specifies the location of a local .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance.

    -
    tlsCertificateKeyFile?: string

    Specifies the location of a local .pem file that contains either the client's TLS/SSL certificate and key.

    -
    tlsCertificateKeyFilePassword?: string

    Specifies the password to de-crypt the tlsCertificateKeyFile.

    -
    tlsCRLFile?: string

    Specifies the location of a local CRL .pem file that contains the client revokation list.

    -
    tlsInsecure?: boolean

    Disables various certificate validations.

    -
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    +
    ssl?: boolean

    A boolean to enable or disables TLS/SSL for the connection. (The ssl option is equivalent to the tls option.)

    +
    timeoutMS?: number

    Specifies the time an operation will run until it throws a timeout error

    +
    tls?: boolean

    Enables or disables TLS/SSL for the connection.

    +
    tlsAllowInvalidCertificates?: boolean

    Bypasses validation of the certificates presented by the mongod/mongos instance

    +
    tlsAllowInvalidHostnames?: boolean

    Disables hostname validation of the certificate presented by the mongod/mongos instance.

    +
    tlsCAFile?: string

    Specifies the location of a local .pem file that contains the root certificate chain from the Certificate Authority. This file is used to validate the certificate presented by the mongod/mongos instance.

    +
    tlsCertificateKeyFile?: string

    Specifies the location of a local .pem file that contains either the client's TLS/SSL certificate and key.

    +
    tlsCertificateKeyFilePassword?: string

    Specifies the password to de-crypt the tlsCertificateKeyFile.

    +
    tlsCRLFile?: string

    Specifies the location of a local CRL .pem file that contains the client revokation list.

    +
    tlsInsecure?: boolean

    Disables various certificate validations.

    +
    useBigInt64?: boolean

    when deserializing a Long return as a BigInt.

    false

    w?: W

    The write concern w value

    -

    Please use the writeConcern option instead

    -
    waitQueueTimeoutMS?: number

    The maximum time in milliseconds that a thread can wait for a connection to become available.

    -

    A MongoDB WriteConcern, which describes the level of acknowledgement +

    Please use the writeConcern option instead

    +
    waitQueueTimeoutMS?: number

    The maximum time in milliseconds that a thread can wait for a connection to become available.

    +

    A MongoDB WriteConcern, which describes the level of acknowledgement requested from MongoDB for write operations.

    wtimeoutMS?: number

    The write concern timeout

    -

    Please use the writeConcern option instead

    -
    zlibCompressionLevel?:
        | 0
        | 5
        | 1
        | 3
        | 9
        | 4
        | 2
        | 8
        | 6
        | 7

    An integer that specifies the compression level if using zlib for network compression.

    -
    +
    wtimeoutMS?: number

    The write concern timeout

    +

    Please use the writeConcern option instead

    +
    zlibCompressionLevel?:
        | 0
        | 5
        | 1
        | 3
        | 9
        | 4
        | 2
        | 8
        | 6
        | 7

    An integer that specifies the compression level if using zlib for network compression.

    +
    diff --git a/docs/Next/interfaces/MongoOptions.html b/docs/Next/interfaces/MongoOptions.html index 33adda7116d..87e5a52d5e4 100644 --- a/docs/Next/interfaces/MongoOptions.html +++ b/docs/Next/interfaces/MongoOptions.html @@ -11,7 +11,7 @@
  • DNS SRV records and TXT records
  • Not all options may be present after client construction as some are obtained from asynchronous operations.

    -
    interface MongoOptions {
        additionalDriverInfo: DriverInfo[];
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        appName?: string;
        autoEncryption: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        dbName: string;
        directConnection: boolean;
        driverInfo: DriverInfo;
        ecdhCurve?: string;
        extendedMetadata: Promise<Document>;
        family?: number;
        forceServerObjectId: boolean;
        heartbeatFrequencyMS: number;
        hints?: number;
        hosts: HostAddress[];
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS: number;
        lookup?: LookupFunction;
        maxConnecting: number;
        maxIdleTimeMS: number;
        maxPoolSize: number;
        metadata: ClientMetadata;
        minDHSize?: number;
        minHeartbeatFrequencyMS: number;
        minPoolSize: number;
        monitorCommands: boolean;
        noDelay: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory: PkFactory;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw: boolean;
        readConcern: ReadConcern;
        readPreference: ReadPreference;
        rejectUnauthorized?: boolean;
        replicaSet: string;
        retryReads: boolean;
        retryWrites: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi: ServerApi;
        serverMonitoringMode: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS: number;
        srvHost?: string;
        srvMaxHosts: number;
        srvServiceName: string;
        timeoutMS?: number;
        tls: boolean;
        tlsAllowInvalidCertificates: boolean;
        tlsAllowInvalidHostnames: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCRLFile?: string;
        tlsInsecure: boolean;
        waitQueueTimeoutMS: number;
        writeConcern: WriteConcern;
        zlibCompressionLevel:
            | 0
            | 1
            | 2
            | 3
            | 4
            | 5
            | 6
            | 7
            | 8
            | 9;
    }

    Hierarchy (view full)

    • Required<Pick<MongoClientOptions,
          | "autoEncryption"
          | "connectTimeoutMS"
          | "directConnection"
          | "driverInfo"
          | "forceServerObjectId"
          | "minHeartbeatFrequencyMS"
          | "heartbeatFrequencyMS"
          | "localThresholdMS"
          | "maxConnecting"
          | "maxIdleTimeMS"
          | "maxPoolSize"
          | "minPoolSize"
          | "monitorCommands"
          | "noDelay"
          | "pkFactory"
          | "raw"
          | "replicaSet"
          | "retryReads"
          | "retryWrites"
          | "serverSelectionTimeoutMS"
          | "socketTimeoutMS"
          | "srvMaxHosts"
          | "srvServiceName"
          | "tlsAllowInvalidCertificates"
          | "tlsAllowInvalidHostnames"
          | "tlsInsecure"
          | "waitQueueTimeoutMS"
          | "zlibCompressionLevel">>
    • SupportedNodeConnectionOptions
      • MongoOptions

    Properties

    interface MongoOptions {
        additionalDriverInfo: DriverInfo[];
        allowPartialTrustChain?: boolean;
        ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[];
        appName?: string;
        autoEncryption: AutoEncryptionOptions;
        autoSelectFamily?: boolean;
        autoSelectFamilyAttemptTimeout?: number;
        ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        checkServerIdentity?: ((hostname: string, cert: PeerCertificate) => Error | undefined);
        ciphers?: string;
        compressors: (
            | "none"
            | "snappy"
            | "zlib"
            | "zstd")[];
        connectTimeoutMS: number;
        credentials?: MongoCredentials;
        crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[];
        dbName: string;
        directConnection: boolean;
        driverInfo: DriverInfo;
        ecdhCurve?: string;
        extendedMetadata: Promise<Document>;
        family?: number;
        forceServerObjectId: boolean;
        heartbeatFrequencyMS: number;
        hints?: number;
        hosts: HostAddress[];
        keepAliveInitialDelay?: number;
        key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[];
        loadBalanced: boolean;
        localAddress?: string;
        localPort?: number;
        localThresholdMS: number;
        lookup?: LookupFunction;
        maxConnecting: number;
        maxIdleTimeMS: number;
        maxPoolSize: number;
        metadata: ClientMetadata;
        minDHSize?: number;
        minHeartbeatFrequencyMS: number;
        minPoolSize: number;
        monitorCommands: boolean;
        noDelay: boolean;
        passphrase?: string;
        pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[];
        pkFactory: PkFactory;
        proxyHost?: string;
        proxyPassword?: string;
        proxyPort?: number;
        proxyUsername?: string;
        raw: boolean;
        readConcern: ReadConcern;
        readPreference: ReadPreference;
        rejectUnauthorized?: boolean;
        replicaSet: string;
        retryReads: boolean;
        retryWrites: boolean;
        secureContext?: SecureContext;
        secureProtocol?: string;
        serverApi: ServerApi;
        serverMonitoringMode: ServerMonitoringMode;
        servername?: string;
        serverSelectionTimeoutMS: number;
        session?: Buffer<ArrayBufferLike>;
        socketTimeoutMS: number;
        srvHost?: string;
        srvMaxHosts: number;
        srvServiceName: string;
        timeoutMS?: number;
        tls: boolean;
        tlsAllowInvalidCertificates: boolean;
        tlsAllowInvalidHostnames: boolean;
        tlsCAFile?: string;
        tlsCertificateKeyFile?: string;
        tlsCRLFile?: string;
        tlsInsecure: boolean;
        waitQueueTimeoutMS: number;
        writeConcern: WriteConcern;
        zlibCompressionLevel:
            | 0
            | 1
            | 2
            | 3
            | 4
            | 5
            | 6
            | 7
            | 8
            | 9;
    }

    Hierarchy (view full)

    • Required<Pick<MongoClientOptions,
          | "autoEncryption"
          | "connectTimeoutMS"
          | "directConnection"
          | "driverInfo"
          | "forceServerObjectId"
          | "minHeartbeatFrequencyMS"
          | "heartbeatFrequencyMS"
          | "localThresholdMS"
          | "maxConnecting"
          | "maxIdleTimeMS"
          | "maxPoolSize"
          | "minPoolSize"
          | "monitorCommands"
          | "noDelay"
          | "pkFactory"
          | "raw"
          | "replicaSet"
          | "retryReads"
          | "retryWrites"
          | "serverSelectionTimeoutMS"
          | "socketTimeoutMS"
          | "srvMaxHosts"
          | "srvServiceName"
          | "tlsAllowInvalidCertificates"
          | "tlsAllowInvalidHostnames"
          | "tlsInsecure"
          | "waitQueueTimeoutMS"
          | "zlibCompressionLevel">>
    • SupportedNodeConnectionOptions
      • MongoOptions

    Properties

    additionalDriverInfo: DriverInfo[]
    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) +

    Properties

    additionalDriverInfo: DriverInfo[]
      +
    • Will be made internal in a future major release.
    • +
    +
    allowPartialTrustChain?: boolean

    Treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.

    v22.9.0, v20.18.0

    -
    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. +

    ALPNProtocols?: Uint8Array<ArrayBufferLike> | string[] | Uint8Array<ArrayBufferLike>[]

    An array of strings or a Buffer naming possible ALPN protocols. (Protocols should be ordered by their priority.)

    -
    appName?: string
    autoEncryption: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    +
    appName?: string
    autoEncryption: AutoEncryptionOptions

    Optionally enable in-use auto encryption

    Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error (see libmongocrypt: Auto Encryption Allow-List). To bypass automatic encryption for all operations, set bypassAutoEncryption=true in AutoEncryptionOpts.

    Automatic encryption requires the authenticated user to have the listCollections privilege action.

    @@ -103,9 +106,9 @@
  • AutoEncryptionOptions.bypassAutomaticEncryption is false.
  • If an internal MongoClient is created, it is configured with the same options as the parent MongoClient except minPoolSize is set to 0 and AutoEncryptionOptions is omitted.

    -
    autoSelectFamily?: boolean

    v18.13.0

    -
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    -
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust +

    autoSelectFamily?: boolean

    v18.13.0

    +
    autoSelectFamilyAttemptTimeout?: number

    v18.13.0

    +
    ca?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.

    cert?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    Cert chains in PEM format. One cert chain should be provided per @@ -137,21 +140,28 @@ information, see modifying the default cipher suite. Permitted ciphers can be obtained via tls.getCiphers(). Cipher names must be uppercased in order for OpenSSL to accept them.

    -
    compressors: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS: number

    The time in milliseconds to attempt a connection before timing out.

    -
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    -
    dbName: string
    directConnection: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    -
    driverInfo: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver

    -
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve +

    compressors: (
        | "none"
        | "snappy"
        | "zlib"
        | "zstd")[]
    connectTimeoutMS: number

    The time in milliseconds to attempt a connection before timing out.

    +
    credentials?: MongoCredentials
    crl?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike>)[]

    PEM formatted CRLs (Certificate Revocation Lists).

    +
    dbName: string
    directConnection: boolean

    Allow a driver to force a Single topology type with a connection string containing one host

    +
    driverInfo: DriverInfo

    Allows a wrapping driver to amend the client metadata generated by the driver to include information about the wrapping driver +/*

    +
      +
    • Will be made internal in a future major release.
    • +
    +
    ecdhCurve?: string

    A string describing a named curve or a colon separated list of curve NIDs or names, for example P-521:P-384:P-256, to use for ECDH key agreement. Set to auto to select the curve automatically. Use crypto.getCurves() to obtain a list of available curve names. On recent releases, openssl ecparam -list_curves will also display the name and description of each available elliptic curve. Default: tls.DEFAULT_ECDH_CURVE.

    -
    extendedMetadata: Promise<Document>
    family?: number
    forceServerObjectId: boolean

    Force server to assign _id values instead of driver

    -
    heartbeatFrequencyMS: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    -
    hints?: number
    hosts: HostAddress[]
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    -
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys +

    extendedMetadata: Promise<Document>
      +
    • Will be made internal in a future major release.
    • +
    +
    family?: number
    forceServerObjectId: boolean

    Force server to assign _id values instead of driver

    +
    heartbeatFrequencyMS: number

    heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one.

    +
    hints?: number
    hosts: HostAddress[]
    keepAliveInitialDelay?: number

    Node.JS socket option to set the time the first keepalive probe is sent on an idle socket. Defaults to 120000ms

    +
    key?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | KeyObject)[]

    Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, @@ -159,20 +169,20 @@ passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    -
    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    localThresholdMS: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    -
    lookup?: LookupFunction
    maxConnecting: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    -
    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. +

    loadBalanced: boolean
    localAddress?: string
    localPort?: number
    localThresholdMS: number

    The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances.

    +
    lookup?: LookupFunction
    maxConnecting: number

    The maximum number of connections that may be in the process of being established concurrently by the connection pool.

    +
    maxIdleTimeMS: number

    The maximum amount of time a connection should remain idle in the connection pool before being marked idle, in milliseconds. If specified, this must be a number greater than or equal to 0, where 0 means there is no limit. Defaults to 0. After this time passes, the idle collection can be automatically cleaned up in the background.

    -
    maxPoolSize: number

    The maximum number of connections in the connection pool.

    -
    metadata: ClientMetadata
      +
    maxPoolSize: number

    The maximum number of connections in the connection pool.

    +
    metadata: ClientMetadata
    • Will be made internal in a future major release.
    -
    minDHSize?: number
    minHeartbeatFrequencyMS: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    -
    minPoolSize: number

    The minimum number of connections in the connection pool.

    -
    monitorCommands: boolean

    Enable command monitoring for this client

    -
    noDelay: boolean

    TCP Connection no delay

    -
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    +
    minDHSize?: number
    minHeartbeatFrequencyMS: number

    Sets the minimum heartbeat frequency. In the event that the driver has to frequently re-check a server's availability, it will wait at least this long since the previous check to avoid wasted effort.

    +
    minPoolSize: number

    The minimum number of connections in the connection pool.

    +
    monitorCommands: boolean

    Enable command monitoring for this client

    +
    noDelay: boolean

    TCP Connection no delay

    +
    passphrase?: string

    Shared passphrase used for a single private key and/or a PFX.

    pfx?: string | Buffer<ArrayBufferLike> | (string | Buffer<ArrayBufferLike> | PxfObject)[]

    PFX or PKCS12 encoded private key and certificate chain. pfx is an alternative to providing key and cert individually. PFX is usually encrypted, if it is, passphrase will be used to decrypt it. Multiple @@ -182,7 +192,7 @@ object.passphrase is optional. Encrypted PFX will be decrypted with object.passphrase if provided, or options.passphrase if it is not.

    pkFactory: PkFactory

    A primary key factory function for generation of custom _id keys

    -
    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    raw: boolean

    Enabling the raw option will return a Node.js Buffer +

    proxyHost?: string
    proxyPassword?: string
    proxyPort?: number
    proxyUsername?: string
    raw: boolean

    Enabling the raw option will return a Node.js Buffer which is allocated using allocUnsafe API. See this section from the Node.js Docs here for more detail about what "unsafe" refers to in this context. @@ -193,16 +203,16 @@

    Please note there is a known limitation where this option cannot be used at the MongoClient level (see NODE-3946). It does correctly work at Db, Collection, and per operation the same as other BSON options work.

    -
    readConcern: ReadConcern
    readPreference: ReadPreference
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not +

    readConcern: ReadConcern
    readPreference: ReadPreference
    rejectUnauthorized?: boolean

    If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.

    true
     
    replicaSet: string

    Specifies the name of the replica set, if the mongod is a member of a replica set.

    -
    retryReads: boolean

    Enables retryable reads.

    -
    retryWrites: boolean

    Enable retryable writes.

    -
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    +
    retryReads: boolean

    Enables retryable reads.

    +
    retryWrites: boolean

    Enable retryable writes.

    +
    secureContext?: SecureContext

    An optional TLS context object from tls.createSecureContext()

    secureProtocol?: string

    Legacy mechanism to select the TLS protocol version to use, it does not support independent control of the minimum and maximum version, and does not support limiting the protocol to TLSv1.3. Use @@ -212,14 +222,14 @@

    serverApi: ServerApi
    serverMonitoringMode: ServerMonitoringMode
    servername?: string
    serverSelectionTimeoutMS: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    -
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    +
    serverApi: ServerApi
    serverMonitoringMode: ServerMonitoringMode
    servername?: string
    serverSelectionTimeoutMS: number

    Specifies how long (in milliseconds) to block for server selection before throwing an exception.

    +
    session?: Buffer<ArrayBufferLike>

    An optional Buffer instance containing a TLS session.

    socketTimeoutMS: number

    The time in milliseconds to attempt a send or receive on a socket before the attempt times out.

    -
    srvHost?: string
    srvMaxHosts: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    -
    srvServiceName: string

    Modifies the srv URI to look like:

    +
    srvHost?: string
    srvMaxHosts: number

    The maximum number of hosts to connect to when using an srv connection string, a setting of 0 means unlimited hosts

    +
    srvServiceName: string

    Modifies the srv URI to look like:

    _{srvServiceName}._tcp.{hostname}.{domainname}

    Querying this DNS URI is expected to respond with SRV records

    -
    timeoutMS?: number
    tls: boolean

    NOTE ABOUT TLS Options

    If tls is provided as an option, it is equivalent to setting the ssl option.

    +
    timeoutMS?: number
    tls: boolean

    NOTE ABOUT TLS Options

    If tls is provided as an option, it is equivalent to setting the ssl option.

    NodeJS native TLS options are passed through to the socket and retain their original types.

    @@ -282,9 +292,9 @@