Commit a0f179e7 authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

Atualização das imagens do cap3 #22

parent 084c016c
......@@ -61,7 +61,7 @@ nesse sistema de numeração.
[[sistema_egipcio]]
.Sistema de Numeração Egípcio
image::images/sistema-de-numeracao/sistema_egipicio.png[scaledwidth="70%"]
image::images/{cap}/sistema_egipicio.eps[scaledwidth="70%"]
Este sistema adota o princípio aditivo, ou seja, os símbolos possuem seus
......@@ -80,16 +80,16 @@ números, de 7 a 59, nesse sistema de numeração.
[[fig_sistema_babilonico]]
.Sistema de Numeração Babilônico
image::images/sistema-de-numeracao/sistema_babilonico.png[scaledwidth="70%"]
image::images/{cap}/sistema_babilonico.eps[scaledwidth="70%"]
[NOTE]
==================
Agora é com você. Qual seria o valor que cada símbolo babilônico, seguindo
os exemplos da <<fig_sistema_babilonico>>?
image:images/sistema-de-numeracao/um_babilonico.png[] = ?
image:images/{cap}/um_babilonico.eps[] = ?
image:images/sistema-de-numeracao/dez_babilonico.png[] = ?
image:images/{cap}/dez_babilonico.eps[] = ?
==================
==== Sistema de numeração Romano
......@@ -116,7 +116,7 @@ máximo, três vezes.
[[sistema_romano]]
.Sistema de Numeração Romano
image::images/sistema-de-numeracao/sistema_romano.png[scaledwidth="60%"]
image::images/{cap}/sistema_romano.eps[scaledwidth="60%"]
==== Sistema de numeração Indo-Arábico
......@@ -149,7 +149,7 @@ indo-arábicos, ao longo do tempo.  
[[fig_sistema_indo_arabico]]
.Sistema de numeração Indo-Arábico
image::images/sistema-de-numeracao/sistema_arabico.png[scaledwidth="70%"]
image::images/{cap}/sistema_arabico.eps[scaledwidth="70%"]
Observe que, inicialmente, os hindus não utilizavam o zero. A criação de um
símbolo para o *nada*, ou seja, o zero, foi uma das grandes invenções dos
......@@ -409,7 +409,7 @@ divisão (que resulta em quociente 0) ocupe a posição de mais alta ordem.
- Conversão do número 19~10~ para a base 2:
image::images/sistema-de-numeracao/conversao-fazendo-divisao.png[scaledwidth="70%", width="50%"]
image::images/{cap}/conversao-fazendo-divisao.eps[scaledwidth="70%", width="50%"]
Logo temos:
......@@ -428,7 +428,7 @@ ____
Conversão do número 278~10~ para a base 16:
image::images/sistema-de-numeracao/278_16.png[scaledwidth="50%", width="50%"]
image::images/{cap}/278_16.eps[scaledwidth="50%", width="50%"]
Logo temos:
......@@ -465,7 +465,7 @@ NOTE: Soma-se as posições da direita para esquerda, tal como uma soma decimal.
Solução:
image::images/sistema-de-numeracao/figura1.png[scaledwidth="40%"]
image::images/{cap}/figura1.eps[scaledwidth="40%"]
A tabuada da subtração aritmética binária:
......@@ -483,7 +483,7 @@ Por exemplo: 11100~2~ – 01010~2~ = ?
Solução:
image::images/sistema-de-numeracao/figura2.png[scaledwidth="25%"]
image::images/{cap}/figura2.eps[scaledwidth="25%"]
NOTE: Não esqueça, subtrai-se as colunas da direita para a esquerda, tal como
uma subtração decimal.
......@@ -523,7 +523,7 @@ Efetuar: 101~2~ x 110~2~
Solução:
image::images/sistema-de-numeracao/figura5.png[scaledwidth="40%"]
image::images/{cap}/figura5.eps[scaledwidth="40%"]
No entanto, a multiplicação em computadores é feita, também, por um
artifício: para multiplicar A por n somamos A com A (n-1) vezes.
......@@ -579,7 +579,7 @@ Como o próprio nome indica, a representação *sinal* e *amplitude* é dividida
para representar o sinal, o bit mais à esquerda: *0* para indicar um valor
positivo, *1* para indicar um valor negativo. Já o resto dos bits representam seu valor absoluto.
image::images/sistema-de-numeracao/sinal_magnitude.png[scaledwidth="40%", width="50%"]
image::images/{cap}/sinal_magnitude.eps[scaledwidth="40%", width="50%"]
==== Complemento de 1
......@@ -680,7 +680,7 @@ Uma característica do sistema de complemento de dois é que tanto os números
com sinal quanto os números sem sinal podem ser somados pelo mesmo circuito.
Por exemplo, suponha que você deseja somar os números sem sinal 132~10~ e 14~10~.
image::images/sistema-de-numeracao/figura3.png[scaledwidth="60%"]
image::images/{cap}/figura3.eps[scaledwidth="60%"]
O microprocessador tem um circuito na ULA (Unidade Lógica e
Aritmética) que pode somar números binários sem sinal, quando aparece o
......@@ -693,7 +693,7 @@ resposta é: não sabe. A ULA sempre soma como se as entradas fossem números
binários sem sinal. Sempre produzirá o resultado correto, mesmo se as
entradas forem números em complemento de dois.
image::images/sistema-de-numeracao/figura4.png[scaledwidth="60%"]
image::images/{cap}/figura4.eps[scaledwidth="60%"]
Isto comprova um ponto muito importante. O somador na ULA sempre soma padrões
de bits como se eles fossem números binários sem sinal. É a nossa
......@@ -720,7 +720,7 @@ Como exemplo temos a subtração de 69~10~ (Minuendo) por 26~10~ (Subtraendo).
Jogue fora o transporte final:
image::images/sistema-de-numeracao/transporte-final.png[scaledwidth="100%"]
image::images/{cap}/transporte-final.eps[scaledwidth="100%"]
[NOTE]
====
......@@ -747,7 +747,7 @@ decrementada em 1 a cada casa afastada do ponto.
Exemplo:
.Representação de ponto fixo
image::images/sistema-de-numeracao/ponto-fixo.png[]
image::images/{cap}/ponto-fixo.eps[]
==== Soma e subtração de números fracionários
......@@ -757,7 +757,7 @@ subtração binária demonstrada anteriormente.
Exemplos:
image::images/sistema-de-numeracao/figura6.png[scaledwidth="50%"]
image::images/{cap}/figura6.eps[scaledwidth="50%"]
=== Fundamentos da Notação de Ponto Flutuante
......@@ -862,7 +862,7 @@ e o campo da mantissa, como mostrado na <<fig_sinal_expoente_mantissa>>.
[[fig_sinal_expoente_mantissa]]
.Divisão de 1 byte nos campos da Notação de Ponto Flutuante
image::images/sistema-de-numeracao/sinal_expoente_mantissa.png[scaledwidth="60%"]
image::images/{cap}/sinal_expoente_mantissa.eps[scaledwidth="60%"]
......@@ -927,7 +927,7 @@ os bits de sinal forem iguais a ‘0’, o maior dos dois valores é aquele que
apresentar, da esquerda para a direita, um ‘1’ no bit em que os padrões
diferem, logo ao comparar:
image::images/sistema-de-numeracao/figura7.png[scaledwidth="40%"]
image::images/{cap}/figura7.eps[scaledwidth="40%"]
Conclui-se que o primeiro padrão é maior que o segundo, sem haver a
necessidade de decodificar as representações em Ponto Flutuante, tarefa que
......@@ -957,7 +957,7 @@ parcela: 0,125) se perde, como pode ser observado na figura abaixo:
Logo temos:
image::images/sistema-de-numeracao/bit_perdido.png[]
image::images/{cap}/bit_perdido.eps[]
Ao ignorarmos este problema, e continuarmos a preencher o campo do expoente e
do bit do sinal, teremos o padrão de bits 01101010, que representa o valor 2,5
......@@ -1006,7 +1006,7 @@ Processo:
Equalizando os expoentes, temos:
image::images/sistema-de-numeracao/figura8.png[]
image::images/{cap}/figura8.eps[]
Normalizando:
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (dez_babilonico.eps)
%%CreationDate: (2014-10-31T09:33:07-03:00)
%%BoundingBox: -0 -0 24 23
%%HiResBoundingBox: 0 0 23.9967 23
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments
%%BeginDefaults
%%EndDefaults
%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def
/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def
/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 0 0 24 23
userdict begin
DisplayImage
0 0
23.9967 22.9968
12
24 23
1
1
1
8
FFFFFFFFFFFFFFFFFFFFFFFFFFFDFAF6E7F6FFEDE2F2F2F6FFFFFFFFFFFFFFFFFFFFFFFF
FFFAF6F2FAF8E52C118AFFF8FFFFFFFFFFFFFFFFFFFFFFFFFFFAFDEDE7AA16000158FFF8
FFFDFFFFFDFFFFFFFFFFFFFFFFFDFFA80E07000063CEFAFDFFFFFDFDFDFAF6F8FDF6F4ED
FDFF6B0800000790FFFFFDF8FFFFFDFDFAF8F8F8F8F8F8F6E28E080000056FFFFDFFFDF8
FFFFFAF8FDFDFAFAF4F8E9FF730400000797F4FFFFFFFDFDFFFFFDFFFAEDF6FAFFFF631D
0800000382F4F6FAFAF8FAFDFFFFFAFAF8F4FDFD4A17030000000D80FFF2EFFDFDFAFDFF
FFFFF8FFFDFFD6420200000000002DFFFAE9F8FDFFFFFFFDFDFDFFF42814160200001E77
1B0023EFFDF8FDFFFDFFFFFFF8FFBC2D000000010013AAFF540022EFFDF8FDFFFFFFFFFF
F8FF6C0000010000014CFF930B0023EFFDF8FDFFFFFFFFFFFAFFB8332E2902000012490D
000024EFFDF8FDFFFFFFFFFDFDFDFDF2F4DC5D4503000000010024EDFDF8FAFFFFFDFDFF
FFFFFFFFFDFFFFFF54160300000029EFFAF4E9F6F8F4FAF8FFFFFFFFFFFFFFFDFFFF6324
260D084D69F8FDF8EFF8F6F6FFFFFFFFFFFFFFFFF6F2EDF8F6A40600056FF4EFF6FAF6FD
FFFFFFFFFFFFFFFFF6FAF8F8FDFDB119000252F8FDEDF8F2FFFFFFFFFFFFFFFFFAEDF4FA
F8FAFFFD50020983F2F4FAEDFFFFFFFFFFFFFFFFF8FDFFFAFDFAFDFFFFFF9A08A8FFF8F2
FFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFDFFFFFFA8E7FDF4EDFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFF8EBFAEBFA
end
%%PageTrailer
%%Trailer
%%EOF
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.13.1 (http://cairographics.org)
%%CreationDate: Fri Oct 31 09:40:37 2014
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%BoundingBox: 0 -1 471 98
%%EndComments
%%BeginProlog
save
50 dict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%BeginSetup
%%BeginResource: font DejaVuSans
11 dict begin
/FontType 42 def
/FontName /DejaVuSans def
/PaintType 0 def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding 32 /space put
Encoding 45 /hyphen put
Encoding 48 /zero put
Encoding 49 /one put
Encoding 60 /less put
Encoding 97 /a put
Encoding 105 /i put
Encoding 109 /m put
Encoding 117 /u put
Encoding 118 /v put
/CharStrings 11 dict dup begin
/.notdef 0 def
/zero 1 def
/one 2 def
/space 3 def
/less 4 def
/hyphen 5 def
/v 6 def
/a 7 def
/i 8 def
/u 9 def
/m 10 def
end readonly def
/sfnts [
<0001000000090080000300106376742000691d3900000660000001fe6670676d7134766a0000
0860000000ab676c79663c1797b90000009c000005c468656164026638f70000090c00000036
686865610cb8065c0000094400000024686d747833d605ec000009680000002c6c6f63610000
1d7400000994000000306d61787004780671000009c400000020707265703b07f100000009e4
0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec
310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f272062900020087
ffe3048f05f0000b00170023401306a01200a00c91128c18091c0f1e031c151b1810fcecf4ec
310010e4f4ec10ee30012202111012333212111002273200111000232200111000028b9c9d9d
9c9d9d9d9dfb0109fef7fbfbfef701090550fecdfeccfecdfecd0133013301340133a0fe73fe
86fe87fe73018d0179017a018d00000100e10000045a05d5000a004040154203a00402a00581
0700a009081f061c03001f010b10d44bb00f5458b9000100403859ecc4fcec31002fec32f4ec
d4ec304b5358592201b40f030f04025d3721110535253311211521fe014afe990165ca014afc
a4aa047348b848fad5aa0000000100d9005e05db04a60006004d402a029c030403019c000104
0403019c0201050605009c06054205040201000503a806a7070102002404230710fcec323931
0010f4ec1739304b53580704ed071008ed071008ed071004ed592209021501350105dbfbf804
08fafe050203f0fe91fe93b601d1a601d1000001006401df027f028300030011b6009c020401
000410dccc310010d4ec301321152164021bfde50283a4000001003d0000047f0460000600fb
402703110405040211010205050402110302060006011100000642020300bf05060503020105
04000710d44bb00a5458b90000004038594bb014544bb015545b58b90000ffc03859c4173931
002fec3239304b5358071005ed071008ed071008ed071005ed592201408e48026a027b027f02
860280029102a402080600060109030904150015011a031a0426002601290329042008350035
013a033a04300846004601490349044605480640085600560159035904500866006601690369
04670568066008750074017b037b0475057a068500850189038904890586069600960197029a
03980498059706a805a706b008c008df08ff083e5d005d133309013301233dc3015e015ec3fe
5cfa0460fc5403acfba000000002007bffe3042d047b000a002500bc4027191f0b17090e00a9
1706b90e1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec32
3211393931002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130
223f27401d401e401f402040214022501d501e501f50205021502250277027851d871e871f87
20872185229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e
601f60206021701e701f70207021801e801f80208021185d015d0122061514163332363d0137
1123350e01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc
88accbfdfb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f
8b2e2eaa2727fc00000200c100000179061400030007002b400e06be04b100bc020501080400
460810fc3cec3231002fe4fcec30400b1009400950096009700905015d1333112311331523c1
b8b8b8b80460fba00614e900000200aeffe30458047b00130014003b401c030900030e010687
0e118c0a01bc14b80c0d0908140b4e020800461510fcecf439ec3231002fe4e432f4c4ec1112
173930b46f15c01502015d1311331114163332363511331123350e0123222601aeb87c7c95ad
b8b843b175c1c801cf01ba02a6fd619f9fbea4027bfba0ac6663f003a800000100ba0000071d
047b0022005a4026061209180f00061d07150c871d2003b81bbc19100700110f080806501108
0f501c18081a462310fcec32fcfcfcec11123931002f3c3ce4f43cc4ec321112173930401330
24502470249024a024a024bf24df24ff2409015d013e01333216151123113426232206151123
1134262322061511231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0
797aab03897c76f5e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c0000000135
00b800cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b800c301cb
0189022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9050200f40154
00b4009c01390114013907060400044e04b4045204b804e704cd0037047304cd046004730133
03a2055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444040e00df
03cd03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd
009a009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c100cb00f6
00830354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe022b00a4
00b4009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b806140723
01d300b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f01390114
01390360008f05d5019a0614072306660179046004600460047b009c00000277046001aa00e9
04600762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b01850389
008f007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f007b00ae