PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
]Kft/dZddlZddlZddlmZddlmZdZdZddZ dd Z Gd d Z Gd d e Z GddeZGdde ZdS)a .. note:: New in verision 0.5.11 .. testsetup:: from pyroute2 import NDB ndb = NDB(sources=[{'target': 'localhost', 'kind': 'IPMock'}]) .. testcleanup:: * for key, value in tuple(globals().items()): if key.startswith('ndb') and hasattr(value, 'close'): value.close() Filtering example: .. testcode:: report = ndb.interfaces.dump() report.select_fields('index', 'ifname', 'address', 'state') report.transform_fields( address=lambda r: '%s%s.%s%s.%s%s' % tuple(r.address.split(':')) ) for record in report.format('csv'): print(record) .. testoutput:: 'index','ifname','address','state' 1,'lo','0000.0000.0000','up' 2,'eth0','5254.0072.58b2','up' N)chain)clii'zX RecordSet API is deprecated, pls refer to: https://docs.pyroute2.org/ndb_reports.html Fc #(Kg}d}dV|D]}| |r|j}n|}|r|dxxdz cc<|D]}|Vg}tjtt ||dd}|dt|ddD]0}|ddkr |dd}|d |z1|ddd|d<|d |D]}|Vd VdS) N[,)indent z {z %s,z }])_namesjsondumpsdictzipsplitappendsorted)dumpheadlessbuffnamesrecordlineliness F/opt/alt/python311/lib/python3.11/site-packages/pyroute2/ndb/report.py format_jsonr2sl C F III >    GGGsNGGG   C 4FF 3 344Q???EEdKK 752;'' ) )DBx3CRCy JJy4' ( ( ( (b'#2#,B 7 IIIIIc#Kd}d}|D]M}|)|r'd}d||jVd||VNdS)Ncg}|D]`}t|tr|d|z0||dH|d|za|S)Nz%iz'%s') isinstanceintr)recrowfields r dump_recordzformat_csv..dump_recordPsu + +E%%% + 4%<(((( 2 6E>**** rTr)joinr)rrr(rrs r format_csvr*Os   F,, >h>F((;;v}5566 6 6 6hh{{6**++++++ ,,rc`eZdZddZdZdZdZdZdZdZ d Z d Z d Z dd Z d ZdZdS)RecordNct||_t||_t|jt|jkrt d||_dS)Nz*names and values must have the same length)tupler_valueslen ValueError _ref_class)selfnamesvalues ref_classs r__init__zRecord.__init__dsUEll V}} t{  s4<00 0 0IJJ J#rct|j}t|jD]}|dz}||kr|j|cSdS)Nr )r0rreversedr/)r3keyidxis r __getitem__zRecord.__getitem__ks^$+$+&& ) )A 1HCCxx|C(((( ) )rc td)Nimmutable object) TypeError)r3argvkwargs r __setitem__zRecord.__setitem__rs*+++rcr|drt||S||S)N_) startswithobject__getattribute__r3r:s rrHzRecord.__getattribute__us6 >>#   **455 59 rc|dstdt|||S)NrEr?)rFr@rG __setattr__)r3r:values rrKzRecord.__setattr__{s=~~c"" 0.// /!!$U333rc*t|jSN)iterr/r3s r__iter__zRecord.__iter__DL!!!rc*t|jSrN)reprr/rPs r__repr__zRecord.__repr__rRrc*t|jSrN)r0r/rPs r__len__zRecord.__len__s4<   rcRt|tfd|jS)Nc|SrN)xr3s rz'Record._select_fields..s DGr)r,mapr2r3fieldss` r_select_fieldszRecord._select_fieldss+fc"3"3"3"3V<s)u:L:LuutrcTi}t|j|jD] \}}|||< |SrN)rrr/)r3retr:rLs rrbzRecord._as_dicts8dk4<88  JCCHH rcDt|drftdt|j|jD}tdt|j|jD}|o|St |t r,|D]\}}|||krndSdS|j7t |ttfr|j ||Stdt|j|DS)Nrc3:K|]}|d|dkVdSrr NrZ.0r[s r z Record.__eq__..s.IIQAaDAaDLIIIIIIrc3:K|]}|d|dkVdSrqrZrrs rrtz Record.__eq__..s.KKQAaDAaDLKKKKKKrTFc3:K|]}|d|dkVdSrqrZrrs rrtz Record.__eq__..s.FFqtqt|FFFFFFr) hasattrallrrr/r#rrcr2strr$compare_record)r3rightnvr:rLs r__eq__z Record.__eq__s! 5( # # GII#dk5<*H*HIIIIIAKK#dlEM*J*JKKKKKA7N t $ $ G#kkmm   UDI%%E&t5 _ (ZSz-J-J (?11$>> >FFSu-E-EFFFFF FrrN)__name__ __module__ __qualname__r7r=rCrHrKrQrUrWr`rhrlrbr~rZrrr,r,cs$$$$))),,, 444 """"""!!!OOOCCC  GGGGGrr,c4eZdZd dZdZdZdZdZdZdS) BaseRecordSet(...)c"||_||_dSrN) generatorellipsis)r3rrs rr7zBaseRecordSet.__init__s"  rc|SrNrZrPs rrQzBaseRecordSet.__iter__ rc*t|jSrN)nextrrPs r__next__zBaseRecordSet.__next__sDN###rc|SrNrZrPs r __enter__zBaseRecordSet.__enter__rrcdSrNrZ)r3exc_type exc_value tracebacks r__exit__zBaseRecordSet.__exit__s rcd}g}|D]}t|tr||n"|t||d|dz }|jr'|t kr||jn|r|d|S)Nrr r r")r#ryrrTrMAX_REPORT_LINESpopr))r3counterrnrs rrUzBaseRecordSet.__repr__s  F&#&& ) 6"""" 4<<((( JJt    qLG} +;!;!; 4=)))   GGIIIwws||rN)r) rrrr7rQrrrrUrZrrrrss!!!!$$$   rrc$eZdZdZfdZxZS)RecordSetConfigct|tr!|D] \}}|||< dStd)Nzonly dict allowed)r#rrcr1)r3primer:rLs rr7zRecordSetConfig.__init__sU eT " " 2#kkmm " " U!S  " "011 1rct|trtj|}t ||SrN)r#ryrloadssuperrC)r3r:rL __class__s rrCzRecordSetConfig.__setitem__s> eS ! ! &Ju%%Eww""3...r)rrrr7rC __classcell__rs@rrrsG222/////////rrcbeZdZdZdfd ZdZejdZejddZ ejdZ ejd Z ejdd Z ejd Z ejd Zejd dfdZejdZdZdZxZS) RecordSeta= NDB views return objects of this class with `summary()` and `dump()` methods. RecordSet objects are generator-based, they do not store the data in the memory, but transform them on the fly. RecordSet filters also return objects of this class, thus making possible to make chains of filters. NTct||g|_|t|ni|_dSrN)rr7filtersrconfig)r3rrrrs rr7zRecordSet.__init__sA H--- 171Cof--- rcd t|j}|jD]}||}|n|S0rN)rrr)r3rrks rrzRecordSet.__next__sO $.))F\  6>E"  rc|jfd|jdrt ||jSdS)a] Select only chosen fields for every record: .. testcode:: report = ndb.interfaces.dump() report.select_fields('index', 'ifname') for line in report.format('csv'): print(line) .. testoutput:: 'index','ifname' 1,'lo' 2,'eth0' c|jSrN)r`)r[r_s rr\z)RecordSet.select_fields..s&6a&6&?rrecordset_piperNrrrgetrr^s `r select_fieldszRecordSet.select_fieldss[$ ????@@@ ;??+ , , 7T$+666 6 7 7rc |jfd|jdrt ||jSdS)a Select records based on a function f() or a spec match. A spec is dictionary of pairs `field: constant` or `field: callable`: .. testcode:: report = ndb.addresses.summary() report.select_records(ifname=lambda x: x.startswith('eth')) for line in report.format('csv'): print(line) .. testoutput:: 'target','tflags','ifname','address','prefixlen' 'localhost',0,'eth0','192.168.122.28',24 c(|jfir|ndSrN)rl)r[rkres rr\z*RecordSet.select_records..&s$818A+>+>+>+>&HaaDrrrNr)r3rkres ``rselect_recordszRecordSet.select_recordss_$ HHHHHIII ;??+ , , 7T$+666 6 7 7rc |jfd|jdrt ||jSdS)a' Transform fields with a function. Function must accept the record as the only argument: .. testcode:: report = ndb.addresses.summary() report.transform_fields( address=lambda r: f'{r.address}/{r.prefixlen}' ) report.select_fields('ifname', 'address') for line in report.format('csv'): print(line) .. testoutput:: 'ifname','address' 'lo','127.0.0.1/8' 'eth0','192.168.122.28/24' c|jdiS)NrZ)rh)r[rBs rr\z,RecordSet.transform_fields..@s&9a&9&B&BE&B&BrrrNr)r3rBs `rtransform_fieldszRecordSet.transform_fields*s[, BBBBCCC ;??+ , , 7T$+666 6 7 7rc ~tjttfd}t |S)Nc3KjD]}t|trdg}|j}t ||jD]/\}}|vr||}||0t|||j}|VdSrN)rr#r,rrr/rr2)rr5r4namerLrBr3s rgzRecordSet.transform..gHs.  ff--FF"ME'*5&.'A'A-- e5==$/E$K$6$6E e,,,,#E663DEEF   rwarningswarndeprecation_noticeDeprecationWarningr)r3rBrs`` r transformzRecordSet.transformDsJ (*<===      ~~rc tjttfd}t |S)Nc3KjD]=}d}D]}|t||krd}|r|V.|r|V>dS)NTF)rgetattr)rmr:rkrBr3s rrzRecordSet.filter..gZs. % % ""CSzWVS%9%999!%y$ 6%$  % %rr)r3rkrBrs``` rfilterzRecordSet.filterVsP (*<=== % % % % % % %~~rcTtjtt|j|SrN)rrrrr_)r3rAs rselectzRecordSet.selecths% (*<===t{D!!rc~tjttfd}t |S)Nc38KjD]}|jVdSrN)rr`)rr_r3s rrzRecordSet.fields..gqs;. 5 5+f+V44444 5 5rr)r3r_rs`` rr_zRecordSet.fieldsmsJ (*<=== 5 5 5 5 5 5~~rcdSNTrZ)r1r2s rr\zRecordSet.xs4rr"ctjttt fd}t |S)Nc 3&KjD]}D]}||rrtt|jfd|jD}tt|j|j}t |||jVdS)Ncg|]}| SrZrZ)rsr[prefixs r z-RecordSet.join..g..s" I I I!6611!5 I I Ir)rr.rrr/r,r2)rrr|r} conditionrr{r3s rrzRecordSet.join..g~sn : : : :B yR((:!! " I I I Iry I I I "% BJ"?"?@@$Q2=99999 : : :r)rrrrr.r)r3r{rrrs```` rr)zRecordSet.joinwsc (*<===e  : : : : : : : :~~rc|dkrtt|dS|dkrtt|dSt)zu Return an iterator over text lines in the chosen format. Supported formats: 'json', 'csv'. rT)rcsv)rrr*r1)r3kinds rformatzRecordSet.formatsV 6>> TD!A!A!ABB B U]] D4!@!@!@AA A,, rcd}|D]}|dz }|S)zW Return number of records. The method exhausts the generator. rr rZ)r3rrs rcountzRecordSet.counts(   F qLGGrc,t||SrN)listrIs rr=zRecordSet.__getitem__sDzz#rrrN)rrr__doc__r7rr show_resultrrrrrrr_r)rrr=rrs@rrrsLLLLLL  _77_7* _777_7* _77_72 __" __" _""_" __ _$7$7_* _  _    rr)F)rrr itertoolsrpyroute2rrrrr*r,rGrrrrrZrrrsJ  D :,,,,(NGNGNGNGNGNGNGNGb     F   F / / / / /d / / /BBBBB BBBBBr