:root{--font-family-sans-serif:"Fira Sans", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-mono:"Fira Mono", "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--dark-grey-color:#333;--dark-blue-color:#4F5B93;--medium-blue-color:#7A86B8;--light-blue-color:#E2E4EF;--dark-magenta-color:#793862;--medium-magenta-color:#AE508D;--light-magenta-color:#CF82B1;scroll-padding-top:4rem}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth}a{border-bottom:1px solid}a:focus{outline:thin dotted var(--dark-grey-color);outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}pre{white-space:pre-wrap}#map_canvas img,.google-maps img{max-width:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type=button],input[type=reset],input[type=submit],input[type=radio],input[type=checkbox]{cursor:pointer}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none!important;color:#000!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" ("attr(href)")"}abbr[title]:after{content:" ("attr(title)")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}#intro .container{margin:0 auto;display:table}@media (max-width:480px){#intro .download-php{margin:0}}@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media (max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}body,input,textarea{font-family:var(--font-family-sans-serif);font-weight:400}code,pre.info,.docs .classsynopsis,.docs .classsynopsis code{font:.875rem/1.5rem var(--font-family-mono);overflow-x:auto}p code,li code,dt code,dl code{line-height:1.375rem}body{font-size:1rem;line-height:1.5rem;padding-left:0;padding-right:0;padding-bottom:0;margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;box-sizing:content-box}h1,h2,h3,h4,h5,h6{line-height:3rem;margin:0 0 1.5rem;overflow:hidden;text-rendering:optimizeLegibility}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5,h6{font-size:1rem}p{margin:0 0 1.5rem}ul,ol{margin:0 0 1.5rem 1.5rem;padding:0}p:empty{margin:0;height:0;display:none}small{font-size:.75rem}.big{font-size:1.2rem}blockquote{margin:.75rem 0 .75rem .75rem}abbr{cursor:help}a{text-decoration:none}hr{margin:1.5rem 0;border:0;height:0;border-top:.25rem solid #99c}.page-tools{text-align:right}.page-tools #changelang-langs{font-size:.75rem}.contribute{border:1px solid #888;border-width:1px 0;margin:0-24px 0-24px;padding:0 24px 5px 24px;background-color:#e2e2e2}.contribute .edit-bug a{border:0}.contribute h3.title{margin-bottom:10px}#usernotes{position:relative;margin-top:1.5rem}#usernotes .count{display:inline-block;vertical-align:text-top;padding:.25rem .375rem;font-size:.75rem;line-height:1rem}#usernotes .action{display:block;top:8px;right:12px;position:absolute;text-align:right;z-index:1}#usernotes .foot{text-align:right;margin-bottom:1rem}#usernotes .note{margin:1.5rem 0;position:relative}#usernotes .note .votes{float:left}#usernotes .note .name{border-bottom:0;margin-left:1rem;font-size:1.125rem}#usernotes .note .name em{font-style:normal;font-weight:400}#usernotes .note .date{float:right;text-align:right}#usernotes .note .date strong{font-weight:400}#usernotes .note .admin{float:left;padding-left:1rem}#usernotes .note .admin a{border-bottom:0}#usernotes .note .text{padding:.75rem;border-radius:0 0 2px 2px}#usernotes .note .votes>div:first-child{float:left}#usernotes .note .votes>div{float:right}#usernotes .note .votes a{display:block;height:0;width:0;overflow:hidden;margin:8px 0 0 0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:0}#usernotes .note .votes .usernotes-voteu{border-bottom:10px solid #999}#usernotes .note .votes .usernotes-voted{border-top:10px solid #999}#usernotes .note .votes .usernotes-voteu:hover,#usernotes .note .votes .usernotes-voteu:focus{border-bottom:10px solid #015}#usernotes .note .votes .usernotes-voted:hover,#usernotes .note .votes .usernotes-voted:focus{border-top:10px solid #015}#usernotes .note .votes .tally{padding:0 .3rem}dl dd{margin:0 0 1.5rem;padding:0 1.5rem}.php8-code.phpcode{overflow-x:auto}.phpcode,div.classsynopsis{text-align:left}div.classsynopsisinfo_comment{margin-top:1.5rem}.instructions{margin-bottom:2rem}.instructions p{margin:1rem 0}.instructions-form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.instructions-label{display:flex;align-items:center;gap:8px}.warn{padding:.75rem 1rem;margin:1.5rem 0 1.5rem 1.5rem;border-top:.1875rem solid}pre.info{border:1px solid;margin:1rem .8rem 1.3rem 2rem}#langform{float:right}#layout{margin:0 auto 1.5rem;clear:both}.layout-menu{padding:.75rem 1.5rem 1.5rem;-moz-box-sizing:border-box;box-sizing:border-box;position:sticky;top:3rem;max-height:calc(100vh - 3rem);overflow:auto}#layout-content{padding:1.5rem;-moz-box-sizing:border-box;box-sizing:border-box}#layout-content:only-child{width:100%}#search-results{margin:10px 40px}#search-results li{padding:1rem 0;list-style:none}#search-results li .result{font-size:1.25rem}#results_nav_list{margin:0;padding:1rem 0}#results_nav_list li{list-style:none;display:inline-block}#results_nav_list li a{padding:.5rem .66rem}#results_nav_list li.current{font-weight:bolder}body>footer{clear:both;overflow:auto;line-height:3rem}body>footer .footer-content{margin:1.5rem auto 0;padding:0 1.5rem;-moz-box-sizing:border-box;box-sizing:border-box}body>footer ul{margin:0;padding:0}body>footer .footmenu li{display:inline-block;margin:0 .75rem}body>footer a{display:inline-block;border-bottom:0}body>footer a:hover,body>footer a:focus{color:var(--light-magenta-color)}div.elephpants{margin:auto;overflow:hidden}div.elephpants div.images{height:75px;text-align:center;white-space:nowrap}div.elephpants img{width:75px;height:75px}table{border-collapse:collapse;border-spacing:0;margin:0 0 1.5rem}table td{vertical-align:top}table.standard{border-collapse:collapse;border:1px solid #d9d9d9}table.standard td,table.standard th{border:1px solid #d9d9d9}table.standard tr:nth-child(even) td{background-color:#e6e6e6}table.standard th{font-size:1.125rem;padding:20px 10px 5px 10px;color:#666;font-weight:400}table.standard td{padding:5px 10px;vertical-align:middle}table.standard tr:nth-child(even) td.subr,table.standard tr:nth-child(even) th.subr,table.standard tr td.subr,table.standard tr th.subr,table.standard tr:nth-child(even) td.sub,table.standard tr:nth-child(even) th.sub,table.standard tr td.sub,table.standard tr th.sub{background:#e6e6e6}table.standard td.subr,table.standard th.subr{text-align:right}div.informalexample{margin:.75rem 0}strong,em{text-rendering:optimizeLegibility}em{font-weight:400;font-style:italic}strong{font-weight:bolder;font-style:normal}article strong,#layout-content ol strong,#layout-content ul strong,#layout-content p strong{font-weight:500}.refsect1 code.parameter,strong code,strong pre,pre strong{font-weight:700}#toTop{display:none;text-decoration:none;position:fixed;bottom:.75rem;right:.75rem;overflow:hidden;width:43px;height:43px;border:0;z-index:100}#toTopHover{display:block;overflow:hidden;float:left}#toTop:active,#toTop:focus{outline:0}fieldset{margin:0;padding:0;border:0}.downloads .content-box{margin:0 0 2.25rem}.content-header .release-state{float:right;opacity:.8}.content-header .changelog{color:#369}.content-box .md5sum,.content-box .sha256{display:block;font:.875rem/1.5rem"Fira Mono","Source Code Pro",monospace;overflow:hidden;text-overflow:ellipsis}.content-box .md5sum:before{content:"md5: ";font-family:var(--font-family-sans-serif)}.content-box .sha256:before{content:"sha256: ";font-family:var(--font-family-sans-serif)}.content-box .releasedate{float:right;font-size:.9rem}.content-box pre{background:#fff;border:solid 1px #d6d6d6;margin:0;padding:.75rem;overflow:auto;font:.875rem/1.5rem"Source Code Pro",monospace}.content-box pre.small{padding:0}@media (max-width:465px){.content-box h3 .release-state{display:none}}.title{position:relative;clear:both}header.title{margin-bottom:1.5rem}.title a{border:0}.country{position:relative;padding:0 12px}.country .countrytitle{margin-left:-12px;margin-right:-12px}.country .title img{position:absolute;right:12px}.refentry .refsect1{margin-bottom:3rem}.refsect1 dt{height:1.5rem}.docs code.parameter{font-size:1rem}.docs .classsynopsis code.parameter{font-size:.875rem}.docs .methodname strong{font-style:normal;font-weight:400}.center{text-align:center}div.tip,div.warning,div.caution,blockquote.note{padding:.75rem;margin:1.5rem 0;overflow:hidden}blockquote.note strong.note{font-size:1.125rem}div.tip strong.tip,div.warning strong.warning,div.caution strong.caution{float:left;margin-right:.5rem;font-size:1.125rem}blockquote.note p,div.caution p,div.warning p,div.tip p{margin:1.5rem 0 0}blockquote.note :first-child+p,div.caution :first-child+p,div.warning :first-child+p,div.tip :first-child+p,blockquote.note p:first-child,div.caution p:first-child,div.warning p:first-child,div.tip p:first-child{margin:0}.refsect1 .dc-description,.refsect1 .dc-description code,.docs .sect1 .dc-description,.docs .sect1 .dc-description code{font-weight:400;font-size:1rem;font-family:"Fira Mono","Source Code Pro",monospace;letter-spacing:-.0625rem;word-spacing:-.125rem;margin:0}.docs .refentry .parameters dl{margin-bottom:0}.docs .example{margin:1.5rem 0}.docs .example-contents{margin-bottom:1.5rem}.docs .example-contents pre{margin:0;overflow-x:auto;white-space:pre}.docs .example-contents>[class$=code]:not(.phpcode),.docs .example-contents.screen,.informalexample .literallayout{padding:.75rem;overflow-x:auto}.docs .example-contents>.phpcode>pre>code,.docs .example-contents>.phpcode>code{padding:.75rem}.docs .classsynopsis,.refsect1 .fieldsynopsis,.refsect1 .dc-description,.docs .sect1 .dc-description{padding:.75rem;margin-bottom:1.5rem}.phpcode pre{margin:0}.phpcode code{display:block;overflow-x:auto;white-space:pre-wrap}.docs .qandaentry dt .phpcode *{font-weight:400}.docs th{text-align:left}.docs td,.docs th{padding:.25rem .5rem}.doctable,.segmentedlist{width:100%;margin:0 0 1.5rem}.doctable thead tr,.segmentedlist thead tr{border:1px solid}.doctable tr,.segmentedlist tr{border:1px solid}ul.itemizedlist{list-style-type:circle}ul.simplelist{list-style-type:disc}ul.chunklist{list-style-type:disc}.docs ol{list-style-type:decimal}dl.qandaentry{border-top:1px solid}ul.chunklist_children{margin-top:0}.docs div.sect1,.docs div.partintro{position:relative}.docs .verinfo{font-size:.875rem;margin:0}.refname .verinfo{line-height:2.875rem;float:right;font-weight:400}.docs h1.refname+h1.refname{margin-top:-1.5rem}.docs .refnamediv{position:relative}.docs .classsynopsis{margin-bottom:1.5rem}.classsynopsisinfo_comment,.classsynopsis .constructorsynopsis,.classsynopsis .methodsynopsis,.classsynopsis .destructorsynopsis,.classsynopsis .fieldsynopsis{margin-left:1.5rem}#changelang{border:0}.docs .layout-menu ul.parent-menu-list{list-style:none;margin:0;padding:0}.docs .layout-menu ul.parent-menu-list>li{margin-top:0;margin-bottom:0}.docs .layout-menu ul.parent-menu-list>li>a{border:0;font-size:1.125rem;margin-bottom:.75rem;display:block}.docs .layout-menu ul.child-menu-list{margin:0}.layout-menu ul.child-menu-list li{list-style-type:none;margin:0}.layout-menu ul.child-menu-list li:first-child a{border-top:1px dotted;margin-top:-1px}.layout-menu ul.child-menu-list a{font-size:.875rem;border-bottom:1px dotted;margin-bottom:-1px;display:block;padding-left:.75rem;position:relative}.layout-menu ul.child-menu-list .current{font-weight:bolder}#layout-content .current:before{content:"» "}.layout-menu ul.child-menu-list a:hover:before,.layout-menu ul.child-menu-list a:focus:before,.layout-menu ul.child-menu-list .current a:before{content:"» ";position:absolute;left:0}.docs .sect2{margin-top:.75rem}.soft-deprecation-notice h1.title{border:0;position:absolute;padding:0;margin:0;top:-22px;left:0}div.soft-deprecation-notice{position:relative;margin-top:50px;border:1px solid;z-index:100}div.soft-deprecation-notice blockquote.sidebar{padding:10px;margin:0;border:0 solid}#breadcrumbs{-moz-box-sizing:border-box;box-sizing:border-box;padding:.75rem 0;font-size:.875rem;display:none}#breadcrumbs #breadcrumbs-inner{margin:0 auto}#breadcrumbs ul{margin:0;padding:0 .5rem 0 1.5rem;overflow:hidden}#breadcrumbs-inner div{padding:0 1.5rem}#breadcrumbs li{display:inline-block}#breadcrumbs li+li:before{padding:0 .5rem 0;content:"›"}#breadcrumbs a:link,#breadcrumbs a:visited{border-width:0}#breadcrumbs a:hover,#breadcrumbs a:focus{color:var(--light-magenta-color)}#breadcrumbs .next,#breadcrumbs .prev{float:right}@media (min-width:768px){#breadcrumbs{display:block;position:sticky;top:0;background:var(--dark-grey-color);z-index:1}.doctable thead th{position:sticky;top:3rem}#intro .background,aside.tips,.layout-menu{width:25%;float:left}#layout-content{float:left;width:75%}}@media (min-width:768px) and (max-width:979px){aside.tips{width:30%!important}#layout-content:not(:only-child){width:70%!important}}@media (min-width:1200px){#intro .container,.navbar__inner,#breadcrumbs-inner,#goto div,#trick div,#layout,body>footer .footer-content{width:1170px}}@media (min-width:1500px){#intro .container,.navbar__inner,#breadcrumbs-inner,#goto div,#trick div,#layout,body>footer .footer-content{width:1440px}}#mainmenu-toggle-overlay,#mainmenu-toggle{display:none}@media (max-width:767px){#intro .download-php{margin:0!important}#mainmenu-toggle-overlay{background:var(--dark-blue-color)url(/images/mobile-menu.png)no-repeat center center;float:right;display:block;height:32px;width:34px;margin-top:10px;margin-right:10px;border-radius:5px}#mainmenu-toggle{height:32px;width:34px;line-height:32px;margin-top:10px;margin-right:-34px;float:right;border-bottom:0 none;display:inline-block;opacity:0}#mainmenu-toggle:checked+.nav{max-height:50rem}#flash-message{margin-top:0!important;top:0}}@media (min-width:768px){#intro .container{position:relative}}@media (max-width:979px) and (min-width:768px){#intro .download-php a.btn-pop{padding-right:.375rem}}@media (min-width:1548px){#layout{padding-right:0}}#goto{display:none;background-color:var(--dark-grey-color);height:100%;width:100%;opacity:.9;position:fixed;top:64px;z-index:5000;color:#e6e6e6}#goto .search .results{text-shadow:0 2px 3px #555;font-size:2rem;line-height:1}#goto .search .results :focus{font-size:2rem;line-height:1.2}#goto .search .text{color:#222;text-shadow:0 2px 3px #555;font-size:10rem;line-height:.7}#trick{display:none;background-color:rgba(51,51,51,.95);height:100%;width:100%;position:fixed;top:64px;z-index:5000}#goto div,#trick div{margin:0 auto}#trick dt,#trick dl{color:#e6e6e6}#trick dl{display:inline-block;vertical-align:top}#trick a{color:#e6e6e6;display:block;border-bottom:none;padding:1px}aside.tips{-moz-box-sizing:border-box;box-sizing:border-box;padding:1.5rem;color:#ccc}aside.tips p{margin-top:0}aside.tips .panel{margin:0 0 1.5rem}aside.tips .panel .body{font-size:.875rem;margin-top:1.5rem}aside.tips .panel .headline{display:block;border-bottom:0;line-height:1.5rem;font-size:1.125rem;color:#e6e6e6;text-rendering:optimizeLegibility}aside.tips div.inner{clear:none;border:0;background:inherit}#flash-message{height:auto;position:fixed;width:100%;z-index:95;text-align:center;box-shadow:0 .25rem .25rem rgba(0,0,0,.1)}#flash-message .message{cursor:pointer;text-align:center;position:relative;border-bottom:1px solid;padding:.25rem}#flash-message .message a{border-style:dotted;font-weight:bolder}.newsentry header h2,.newsItem header h2{margin:0}.newsentry{margin:0 0 3rem;position:relative}.newsentry h2{font-weight:400}.newsentry h2 .release-state{float:right;opacity:.8}.newsentry header time,.newsItem header time{float:right;line-height:3rem}.newsentry p{line-height:1.7rem}.newsentry .newsimage a,.newsItem .newsImage a{float:right;border:0;padding:10px}.newsentry .newsimage img,.newsItem .newsImage img{max-width:350px}.logo-list ul{list-style-type:none}.caption{font-size:.85rem}.table{width:100%;margin:1%!important;border-spacing:20px;table-layout:fixed}td{word-wrap:break-word}@media only screen and (max-width:760px),(min-device-width:768px) and (max-device-width:1024px){table,thead,tbody,th,td,tr{display:block}thead tr{position:absolute;top:-9999px;left:-9999px}tr{margin:0 0 1rem 0}td{border:0;border-bottom:1px solid #eee;position:relative}td:before{left:-.5rem;top:-.3rem;padding:.25rem .5rem;width:100%;font-weight:700;border:0;background-color:#c4c9df;border-bottom:1px solid #eee;position:relative;display:block;unicode-bidi:isolate;content:attr(data-label)}}