[Tͪ#n$;<:a4sX[=(~}j@WȜy̓D<뺨0 ZI͍I[0&
fP4CL_2,'w:HX4}&+L~z v>Os9˓ELE[jèJȨnoPkYyek+]^UC'V@c,.zh;dTkZ8Ї7Tt=	%x<(i5%;Y|˦Aӏ8!O2ۆqpbmfR/
3Vec*&26zIo^\h@FF^?0Cr촛q:#BT`pmF受BH E1<9tBD<hHo	Aub{CmIB#*gn)ca8]zz>ugY,a-R!N% <f-XozA:8Zs{~,~.|o[f\QȻ?(4kLT,M'k\/Z1@RTRfsp\ጮo2_e^XÅBK~VLWI)Dx݄fg Zy}r:OgQO3pA)e䥗QwגXj]6䔻}VDkDk4D3.+Ϯ0xS3f2xK7}|\bFG;͏0rXH!ƘP/(S{ئCwU-wYu=@* 'en悂O9gƌs]Z?+
PWرeV{jzz/uƑ7Ϝe51;(̯EC߀ =]Շs/(S{؀XRjY&jaqʵB+VN=h9)Ҭ( uK>IXפE-0z-xXpOρ!;e=|ݭ"PWV& 1X5l(}7rxs
&H7'|2fr$(`˪t 3]h/԰Z.H{'3cC(pbi^:4qY{h /PiYʒB?a:4gcSyNE4KjƹX? 0^ޅ1$w깝Cѣ">;`i{ݪݦv&|4T+8,07|QqS!^E?#|dMJC Ec"h#=/BBN>5ٽbD ,ňyd;XFs\3?ODkn♠Ї3NI|al~2ߩ	IZz<[{X\3?OD3WZLw8,~~Oٔ^}TQ(!C/T3Nᾣ1#Ɏzxe8ي(qxNdՐl9r3+ sAh4LLQ@bOu~<}3Nᾣ1#ɎzVwВ t.MtF{ݪݦv&|4T+8,07|QqS!^E?#|dMJC Ec"h#=/BBN>5ٽbD ,P4 @<<nTwԘ"~\3?ODkn♠Ї3NID:5
1fp
u)elE"&u=hD4Jncgt;H錽0"FvtI9[cD-Hp%`Tj|_~gQO3pA)ex1LvEF:anoK?LD)YlhRP(I1k,qF@=zz/uƑ7Sq"3!jحNU/=LgH.qK rS`QCP;O񦱸CwU-wYu=R$S%e_#<-öNo_Da槽n-Eܿɤ	.gSYLB6\lj[bcB3w^l}	IZz<[{X\3?OD\̳Om;9wOo<-{2)D92C!djbC53./-$8?Xz>u?"oL`#]dch)7_pe64b=3ާ3Nᾣ1#Ɏz4nuIݺ>>z,(OEk \1nSa;<SZ[`Fɕ0X0]f`ĥwgcV4mfl]EvgFs:tWēq$ԓT*wZd:uK)2-+! Bc,V8NwTWįZsVVw6_]C,&Q7d$&=	KEW8ˮɴpz^Ln8?!A}/(S{y^(>RMCFrW~_{~SFQ*Y0`OŗΤ$$:^:Ոپ;i9׀vR_ZcȔ5%-:趾TJrٷｵL-$][JR[1zm|y[ЊM#(ǳ7ZJ,]Co3$:d	Q<Ha-lQ<FN'hHE7kq-?,;o\JdΎ׍
j5DE/	p?zh~L/ne,'a1NBݝ{n}\P[fStԑ(<|CtF[ӠI)^X`5V{qbj^3Nᾣ1#Ɏz0-;pGYjW7]8b[ 26>+'02Kk.^vCzC9btY'T7}RWzGBX$ZW4a1nYƯ^ Jޚ5!a͈}@%u}Hy>ܳ?#xrtrP2De0˩PFb(@A3Nᾣ1#Ɏzs/~rOy0WRR,9Le!{|)@B\9!g̫(wȽ}0a3Nᾣ1#ɎzNpPA^zEə9k
rܶ|+޼!I~98vLEC߄YFp4"h#=/BBN>$@(Nm~9GKUf̞GU2}LDlv7橲U?bi(x^T+8n1*XpnL^W<W%KOǠVk{y	A'幹C ppKpP{]fA\!ƨ4k7\1)D*HO%4q3M s6L3Nᾣ1#Ɏz\zXbF#esȬ\\)TK4?6XzYA3Nᾣ1#ɎzRk"a)L`Fe//y0?+A}a7* (ԚYA3Nᾣ1#Ɏzld48[?'Gس#QWuW2gnEW8ˮpn	}xMa:OTYPE_NUMERIC,
            ),
            'pbxt_log_buffer_size'         => array(
                'title' => __('Log buffer size'),
                'desc'  => __(
                    'The size of the buffer used when writing a data'
                    . ' log. The default is 256MB. The engine allocates one'
                    . ' buffer per thread, but only if the thread is required'
                    . ' to write a data log.'
                ),
                'type'  => PMA_ENGINE_DETAILS_TYPE_SIZE,
            ),
            'pbxt_data_file_grow_size'     => array(
                'title' => __('Data file grow size'),
                'desc'  => __('The grow size of the handle data (.xtd) files.'),
                'type'  => PMA_ENGINE_DETAILS_TYPE_SIZE,
            ),
            'pbxt_row_file_grow_size'      => array(
                'title' => __('Row file grow size'),
                'desc'  => __('The grow size of the row pointer (.xtr) files.'),
                'type'  => PMA_ENGINE_DETAILS_TYPE_SIZE,
            ),
            'pbxt_log_file_count'          => array(
                'title' => __('Log file count'),
                'desc'  => __(
                    'This is the number of transaction log files'
                    . ' (pbxt/system/xlog*.xt) the system will maintain. If the'
                    . ' number of logs exceeds this value then old logs will be'
                    . ' deleted, otherwise they are renamed and given the next'
                    . ' highest number.'
                ),
                'type'  => PMA_ENGINE_DETAILS_TYPE_NUMERIC,
            ),
        );
    }

    /**
     * returns the pbxt engine specific handling for
     * PMA_ENGINE_DETAILS_TYPE_SIZE variables.
     *
     * @param string $formatted_size the size expression (for example 8MB)
     *
     * @return string the formatted value and its unit
     */
    public function resolveTypeSize($formatted_size)
    {
        if (preg_match('/^[0-9]+[a-zA-Z]+$/', $formatted_size)) {
            $value = PMA\libraries\Util::extractValueFromFormattedSize(
                $formatted_size
            );
        } else {
            $value = $formatted_size;
        }

        return PMA\libraries\Util::formatByteDown($value);
    }

    //--------------------
    /**
     * Get information about pages
     *
     * @return array Information about pages
     */
    public function getInfoPages()
    {
        $pages = array();
        $pages['Documentation'] = __('Documentation');

        return $pages;
    }

    //--------------------
    /**
     * Get content of documentation page
     *
     * @return string
     */
    public function getPageDocumentation()
    {
        $output = '<p>' . sprintf(
            __(
                'Documentation and further information about PBXT'
                . ' can be found on the %sPrimeBase XT Home Page%s.'
            ),
            '<a href="' . PMA_linkURL('https://mariadb.com/kb/en/mariadb/about-pbxt/')
            . '" rel="noopener noreferrer" target="_blank">',
            '</a>'
        )
        . '</p>' . "\n";

        return $output;
    }
}

