Re: [BLACKBOX] CONSTant expressions

From: [at]} <Robert>
Date: Wed, 13 Feb 2008 20:45:58 +0000

----boundary-LibPST-iamunique-1023549308_-_-
Content-type: text/plain

Hello

I have done a more detailed investigation into the way BlackBox handles CONSTant
arithmetic, and now propose that the compiler is changed to alter this behaviour.

My detailed reasoning is given below, but a one line summary is that I suggest
that it be changed to closely align with BlackBox VARiable arithmetic.

I look forward to any comments you may have.


I enclose my 'Investigation' as a StdCoded file to preserve the formatting, and
would prefer you look at that. However I have also pasted it into Thunderbird to
make it universally available.

Thanks

Robert

StdCoder.Decode ..,, ..Va1...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
  hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
  7.2.s,c7n,0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
  NbXmb.2.Yisk2EqW1,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.h6C6.C
  cIhgsNHT9N9ntQ8qorG4704D.CbB,708T1U.kAP1T.XgB2.,U,2z4U00.bnUGLu8ro8quGrmCL
  WKqtE0E.ELE.0.p.0.4E.6.JFA0z.U.2m,.,.emuKFeWQ1Iklb8IepZhZJinpZHZCZORNX2hgn
  Rg.AS.QiiIepZhZ7F6.Zz.6.,UgW5UXW.2.52.CLLC3b8Rn9P99F9vQ0ks,Uikwm46.Zz,E..W
  .e32.86.c918R..,E0E...7,,M.E.EECOhU.QcoB.p6JA.6..1cUZT1E.6C6.c4E.k.0.eG..2
  UwK.MCE,2.0.IZp,IyC.,Ug3.S.a32.5gwVU.2..F.z,0.3gwZ.0..Y22U,.,.,tcU.Q6.k.E.
  0.1616.j53cUZT1E.c9E.c4E.0M.1M.2.eG..2UE00.IZp,.2.y4S.442.520E..2,,kXU.E,,
  0..Y32U,2.2cyh.,tcp00kV..1.36.,eT9E.nT3UBW1Ikmj,2U.EJV.EDU.U,.1eQHPMNHA0z.
  U.2GEzzzzzz,i1CEzzzzzjYU1.e,C.65.6X.cK.6D.6F2.UdJ.CEzV,V1.W6.i32.0E.e0.E.0
  .T1D.11,6.C62U..60sFE.cU.,..m00k.U.UUQIE.C2U,U,U06E.s.Jc.YU0KyBU.2.G70.u,0
  E.k.U,,.2Uw0OF.kAk.8.,ksk,e,GE,k,u.Gk,0.5MkEzVsW1.440EZk.K.g9AU4U.2DAUp2.0
  E.4E.AU8.3E.gU0KyB.,UwV.UY6.0.A.0U1xhpJidhgm3YChgr7sNQ.E.076K5U,I,2U0U3oe1
  UzL.Ck.k,.l25.Y52UcV0Q.AUNU.AMQ.kAF18Mtr.0E.s70U.2.e,0E.k.0.eG.mLT5.2UE04.
  SE,9z4E.0.D,0.p.0kz1kzV.I3.0E6,X,FcUZT16.,U1A.6.e,2Uz12Ue.E.m9c,,U5A.oU,U5
  oa.E18.,6.1,Fc,0U5A42UvU4ADwUVV4200k,uDgN6v1U1g1wUeX1wW,k,uDA.0E04,CEb2.DM
  1k,k1O.CkIE1a.Ck0E1W.Q4QUy1E0q.CkNF1S2CkPk.O00E,0.5czk,l,.TO.c..scM03gwP.,
  6..EGE.U,2.,kV..tfj1.0E6,t,56I1.1.3M.M.N.,s93U3gg2U4XzLU,phUAdipiZRioBhbBg
  oBhjphUAhiZij3Y0ZhVRgfJcj3jbQiUQcDpdHZeVpho3YGhc,ZdUAcmBho3hhhgoBhXhVBIU7p
  hoJijZgpRgoBhjphBgV4xhgZhjxidphb3YjphUogmxhh3YnxhhhgUIiZRgZpho3YXxhhhhZpB0
  mruao3hZ3YpRiZJiUwgmxhp3iUYhdRio3Y73YcBgqhgUYgjphZ3YV3YhxhmhgUQgVJiZpgpZhU
  AhipiZ,UUUj,..UG,.ELqk4aIECLo4KqmKEqqmuKuaqruaaxhpJiUYit3iZRiUwha3YVJidZCU
  v2Yl2YbghVZichghBgoBhXBggxYUAgiZgUQaUYit3CUUwYXxhh3ipZiZJib2YVJid,cCPM13MA
  HMH19R.4aUAgmBB.R76H86PPNR1YCHvQ,tPR9Pn96dvP,7QTPOR9R,tPf9R,7RFPMd96H9R,NO
  b967POBfN9fQ9fPd96dvP,tMTPPV10mk85.,NOR96PPMRPS,tQHvNRPOBPO5PMR9R,tR1PSbvC
  ,NM,dN9vR,NMKKRqERLu2aEbyKESmouKnaKraKuarH0mK0mvKKqmKEuqrGLE4qt0muCrmGKEaK
  r0mlyqq..UigVuiIEmaqtGrouqlGroy43PNdvR9PNR96L7AR76B76,N9Vd9Pci9ZloZUwZU2ai
  2YcBgn3YixhUghZBgiBhixgigVuWcAgUQZUIgd2Yf2YX3Yx2YV3Yf68396L765P8Pci9R0u25v
  PRvM99Qd96TfN,t7HfP99S1vMd96B9P1vNDN1Pc1ZN0HOF9OF,tBf7B,78XNClNBH76b9R1fP7
  PMZ9N,dNTfQ,dNNvP19RHfPD96VvPcCP6JFPObnoCLE4KECruaKu4Klmqm0mH8rmOqm8rmQgZx
  YUQgjhB..663PN5PMfvQ9fCPciMGd96H1SqryKm0mtartGrmqKK0ml4KtEqAjUYicxhpxgcZiU
  whpFlaLEiKryqvmqmGqnKqk8KqKakhgj3ighgg2YVphY3Yrhgg767vP51ggYhVuio7.sMffQZP
  NR9RNPS,tRH9N99Pn96bPRV9QTfQdPN796HXo3hZtMTPP.HfP7PRb9RZPSPci.68d9O9nruKqs
  QnvQM8,NOP9QNPNPPNUjphUIcgBA.Grk8rnKKu0Go4KtGqv4KtKq4evGFE4qq0muuqkSrk8rm0
  mrOKE4KraLEggmBhjhintM.,NMN9R9fQRPMdPOhPNbP1Pc1bN038P1vM.OpU8po4Klm41fQH1E
  LYecVdlmCrtKKrGrkaKqmqwAgUQC3vQ99R,tPBnYKoWK2oZUYechgUghVBhi3YYBha,66HvQ,d
  R9fQn96NPOPPOdPN796bPRVXm76BvPodVpdn3YcodjZihAghodphhWhgmRidoZUwdo3hZJiUYg
  d,kt0mk8bUghjFECruYighgg.0LtyKl4Klmqw0GugAbPReqmCKu0mrOaV3YYBha,GbYBhnRgpt
  QHvPRf9,tIHfP5PN,7RFPOAAH1EEaqtAhh3C.IgtNG9OFQgjFqaqkuKu0Go44Uo3hZtMNvPbPN
  ,tQHPPH9P1fQHnw0moCboxhUIgZ3YZ3jkhgXZiZZgigVBoVoAV0ZhV,kVUVVVJCW4c9.HvQ4KE
  Crm.Cru8qt.8Iq.Ef...MG,NMZvNfPN,NOR96AB0rk0rm8LEGLo44dnmCrm0Gma4klQCb9OTPR
  N9N,dM999,NMMN1vQH9Pn965PMR963PNNFtKqqyKvKKmum4GJoKKEqaexhm3YYBB.EuKqq0Gn8
  rr6RFfQ9PN,tQTPRZvM9vQpN1pRdYcdpidRidxhi3YjpgUohjphhIjZJij3YWBjUIjZJij7RTH
  s8rrG4996HeHBOORPO.BvPZfMGKmKKrum4evGtIHPPV9P0mr0rm8rkGroyan7Q9fQPPOd9R99N
  ,,H0OGE8Iq.0Gf4Id.MOd1661fQ9HnyKtAhYVUAhi3Y1xdC,Uo,oZUocjJiUggsBgh3iglMumW
  8HM0HEeGE4HLK2um4e9u219RdPNP9Q0Go4qtIgZhgi3Yh7N996dvPGqoYidphbhidRic3Yf2ai
  cNZ1P7AR76dmoCbghgVZgn3YoxB5HrOquCrouqnAgixhhxhgBhZRiig,3M1d8O8rm0mq4qw0Gl
  KKEWqoCLuyKtaql4KqIC1vQTfPb96BvP0mtyqqsPBHuWqmklWqraqlKqtuGE8ouGLEOKty4dvP
  7PMnv7b96VPNCLsKqlGroOrm0GuggUQidZipBgoBhj76HvQ,NRRvQ19RHvQBPM59RTnwuGEGJo
  Ka1xdC,..,7NHfN.CLEuqmKKm0GuyaW767nl.YZUAgiFssNZPMPPP9fQb96RPN.BPOR9N,7Raa
  UYgjRAkkGroyag2YpphYhgmRioBgiloGLK0mkEtKqqKqq8qm2YdZii22QC4KtKapphihgXhgnR
  iVJit3YoBgnRhnZZUwichgmhgVRiUIiZhhjNORvN,7RFPNGqo.UdlrgAZPNNPMdPOhHqaLEKqk
  Crw0Gu44RN1PMG0LtyKsyqtKaWhggxhr3Yo3hVFVmqk.DV1,..cMghjZgdpgdhgY32QggxBmqw
  0mkmqoSKr0mvaKuWKE0GVm4.O3.AB.N761fPYC1XoNNCqu85cQ9vQdfQHvMdPOTntAgmhAZnqM
  NM1PcE1vMLvR1fQ7965uPP9Q19RHfMH9PH9RnP1PcFHfQb9RNPS,NG,NMPHs85AhixARvPCKo4
  KrSqmCLEG5d9O9Ha4KrSqu4qnKKE8pm0rr8Luum4qEeWqm0GnaKtCbUYirxhUQgcVZFI0rm8rq
  kouqn0GmaKva4cMn96Vd9,NMR9N4KqmqrS5DnmWLs8rmCrta4bHqaqpKKE4HLEM00.H765PM2h
  VpCuqr0mouKnmquKKrCqm0mruKE4KrabZ3jdRioBB2imtNUnpZUYecNOZ969fNBPN59RaqtYC4
  Kqm4,tQTPPQCQAYicBACqu85YBGqr0GryKu0mly4H9P996dHECqrq4MORHuUpZipJiZpZBgV7h
  hklqkouqnYC9vQQA11YBQC6RjvPGqoO4ZXo3YfBhiZgn3YjpAbPOP9QaKnaqlYidxBpN1Hci9R
  0d8O9Hs85Um3YYxhZRiUohjFo4Kv6RTHtKaZ,N761fPwijJif3YVJijhiiZgg2YppBTvMUZ76Z
  PNG5UnNOR96VPMZ9Rb96cE.kk8ro..AhitMuKu8rkCLu0Guyar3hVZiUwhihAPPOD9Od9699SV
  PN22RHu66HOFsB2YZJiVpZBAVu0Qgj,8LEaqtQidhBa49XWhgX,,7RUYhgUYicBAaKmKKrGroO
  4b96dXnFtK4.ktIhpRio3YmhghxB.6RaKtGKECKo440GIGqoC5gidlouqn0GlKKuMNQ3RFHgZk
  oZd2YdRCPvPZHEaKrOrrmKvKKmuGEaIu0mlyqumKmAgapgZRACrrq499S.0bj,QCaYrxhpZBSq
  uKqtCLEaKu0mk0LsmqoKqt0WjdR91BPNmGE444KE0Lt.2Yo3hVFtYhdhgntP0mtKLlG5,NRR9N
  .EmKKvaqkGroy4OKty4Wqm0mYUnZCAA0mv4aUwha7O1fP79PHfPDnJ0GH0mK0GMuWkxhnRidJg
  gBD7PNbPNZfR9vQ,7PH9Rd9P996bPSP9Q19RFPS1N1PM15ORZfQEbyKrqmYKoWcMWqkOroyqu8
  bjpA30EEerm855uHC3QiigVBY8YiVJggtQ,dMm4SqoOrmCLECrrkm2CZPOPPNRnkmKE8bnhigZ
  in3YXxB4KtohbdEN1kVyIb.,NMYCUUwidZC8Iq.o8Eq22a4UiMGR963vPd9O,7R1fMQCd9Ooe,
  J8EE.UUAgbJiZhgn3YrBBAd3h6R76dWm761nmYirxBdPM3XndMC46RsE...a4R15HrCroCLuKK
  rGLLq.1fMNHEyIrKKRqk4KIw0LtKanVU2YU2YUcJ10m4,76,tET0EE0md4qqKq40GE0WU..IeZ
  RipFE0GE00Z0UUkTqEE0HL2YU66.p76,760HL00tdTx76,FE.0WIJeJhcUgVh2ai2YUEE.e1qG
  MuGE6DUU24EEoc,ZdHhcBgZc2YkoZd2YU22,,p,P,Y5EE0XUUUcF.qGMumIUUUu.V,m166.,Fe
  .t98P7ARFy0GE0GEERUk.t,22UU6JUB2YUgai2YUgZU2YUgaiER0001Y5EE.0WI,0GE0HLM96A
  cCEMEEm166.,Fe..PFIqGM66p76,VkUUY5EE.0WI,WmK01qGE00cCM922,7DUU24EEo6EIqGMA
  323ERUk.t,22UU6J.KHLaGEq0KHLcCEMUw.00EEY8k4.iGEWmKK1.V,m166.,Fe.,,Q3,76V,p
  ,010GS.,,66G3.s8WWk.EMEEm166.,Fe.FFMkJ22ERUkUUY5EE.0WI,.68UuUhEE6DUU24EEo6
  .f,LFEg4I56AES.,,66G3M1P6J11GpvyKRqk4K2K4.0WK,m4,FEC2.Q8UU66..Z0UUEd.66w5.
  00ERUk.t,g3EE0W4,qGMu022UuUh.m1M9UU22d0gZc22aWUEEERkK.t,g3EE0WI,M9A366cCEM
  22m1M9220GEo6EyWmKM8t1,,p,01Y5kK662YUcFUB2YUg4g3,lOERUk.t,g3EE0W4,0WkUhUkU
  u.V,,7DUh.0GEo6.kK23VlI0GRUkUUY5kK662YUcFUc6AaWh66UuUhEE2Yw.q066,Fe.F,H,F,
  I56AES.PVUEE0W4,MBM9MBcCEMUw.q066,FX.PUpUfUp.EMUw.q066,FX.,FMkJ22V,p,010GS
  .P,2YUcF.Uf680Xd.242Yw.q0,VU22B023VlIQ3.p,010GS.PVUEE0W4,UdUc.e1q0,Vw.q066
  ,Fe.g4Q3,lOERUk.t,g3EE0W4,qEeW4BHrGqkqqmu42imdMNPNP96HvQGbVFuklgBH1DtQ,7RU
  jpAVfQTvM9vQbPN7965uH.OrkmquKqt0GmgAwB4KqUoNNSmt4qqKqH0mVy2UoFl2YZphohgmhg
  Y3YoxidRgZRbUAhiRiohgVZgUYicFna4AhndQKrtKKmuGEKJrOqrYipphVZiZZht7RsM.0muCr
  mCbZBipBggBho76Ft7vt7H76dvPGrmCLu0Gny4DtQ1XihgnRiboZUY8HXdViRgjJimhgXZiigV
  BQZkoZk2YYxhZlS0mK0HL0HK0GlKLu0moGLEaqtoBYiclHUboZBgV7ZiUUoNObHn4qlGLEGbVF
  qAAbHucR1fQHPM31dPNbXmluYinpZUQedZgZ3YZpgaVn3Yjlk0Ls44RHqMRRfQ99P1nmGakJCY
  gpJiZRiUQgVpB19PdXUYicFlK4.T1,7QZ1EL0mY0GtKqn4aY7Ra41vQ,NM,dMfvNN761XUwBYi
  cBACqkuaWhAFPMZ1THmKKuKqlGLK0Go4Kt.HvQT9P19R999,NM6O.Srr8bhAgmxhpFLqk4OYmZ
  CUtNOd96sQH1996dvPCamJCo3qkYOKEarrKLEqafhgUYCHXXxhh,QgcBA6RTnk.3vPdXf24O0V
  d9,tQHnumKu4KrKqrKrtmqwmGEGLoKKr0GtKKtKLr0Gu661fMTfR996dPNYZUAhodQOrm4KqCL
  ECrrkqyKt6NHvQ5fQ99Q1fP5PO9vQ,78dvRTnmWrkUn3YVJiZ3YWhgglR0GuWqm8bUAAwho3hZ
  JinB3PM1Hci9peuqk8rw0mqaKrKrt0GIuomSqkG5aGEa4HPPmahFuKKmAB516PnHI4qtQepJgo
  JiVRgoBBoZBAV7IYUgZUgcs3imhgnRidFF0mo..MMbHF0HEqGEK2.oZUIcpZCVd9qGE01HvQ0H
  LmGEuqrGbh2aigVBA,Ac0ReU2ZhkIggqBgghiohgn3YoxBP7AR76BvPZnVy2ktmGEuqrcNcJ1e
  I6PCLLqUB666QggUYicBAGLo2YXxB.HXh7NEmYijdQq40Wchgn761fPTnkmqoKaisIfvMF9659
  OktAAQihBggZhUAAQidhhkZBRN1PM1VeQT9QggYlr.QccBgiVig,58O1fP66EqgBEu6RFHEqqr
  GqumqmCLEGomOrV0pW0GH0GWKKvcER76d8OsQ9vMdPO2YbBhqFE4KEOKq4Kvyqu8bjFuklW4c9
  ,NGB96n1jvPEqaqpsMT9QHPNb96TfNUahigZhttMF1GKEqqrG4MMR9N,7R9vQ0Gs8bb,2ighgV
  RiZ3YXdPdPM59Rqqmum4qERL8N9PTnoEly4UaUiMMd96T1aaZpZB6JFHEqqka459OEEa4dXdhB
  gB2YV3YohAoAIe3BcAt7bOMPPNRPNwYUIiVZichgm3YoNMR96DNFXPR1noGbboZUAdU2im7Qgg
  UAgYZgdpBG5OaiRgotPqU72eGxd1hc2heGhcUAdnReVhB,78l99,NSp76ZOFAZu2Y0xdDZd3Bc
  CRbBAV0hc5BdChV7AVGhcIheGpdU2Yc2jUgbUAjd2Ya2Yc2Zs3YX2YU2aiA3TeI,78Xd9,t9WL
  EqXloZUkwamIqk2KIbGIEaotC3in4qkUuKE44oBoC,NOP16R19Ry4H..bOKb8J9OHRdJ18HF7H
  TeHDOGR8JN76lP8,ND,tInuI..UtBZBghdxgcFl2YkJiZpgZdQ99NzN1P6JFHrYC9HqaKrKKEW
  mouKEGomkWumUmKqQg1dPb9RHN1HM0HsJFOGNOF,78596576ROGNO8,d7,VXxhipZnhgopiVZh
  UQYUQgiQiZZCAZUwdGlly4ZPN19PhPMN96EtKqkUdAZUYcD3YX3YugbUQgiYhdphf3Y3pd2RbB
  QicxhpVWtMTPP2ZoxidlIqk2a....Un,00QCkI00urYCrd44FtMTfP85EK0mluGt.amI...k4G
  ZVZibQiUAB1N1PM1pRd8pmqqrABwYCxhih3s7,,EEGro66ZntG5sPCLLqk4GZZRC4Kt2Yd,kmG
  ad76d1VnrCaYVn7FEVYcdpi1xhiRioZZUgdpZh1xhi,18N7vETfPkdKLlCorELAdUQicVUQicx
  hr3Y2BhqR6661vQ4aUggs,en4qEe665PRZXi765Hm2YaJiVxgihgiZCHvQpN1PM0HMGB86dPSK
  KLOqrghUAdC3YmhgVZhHhgo3YI3d3pdBA,HMGAjiIC1Hv662ai2aUYe6,AV7lU8odWGwuGtKqk
  Ud2Yx6F9fRgdiAdipgGhgV76d8G.HkY.aLL85O5...,,0mm8LtWGN4HNam4ak2ak2gcARe7pcU
  ADEv66xND,7A,7JF0pf9ZPN.pND,7SRdQ.PM0HM0HkWMF,dSRdQ.,,P7SRdQ91g,A,9eHqk2aU
  7gcANGA6.Ud...00.cR222aBAV7M0902Z,JcH,.HFTqHE4nI0mb8JEWmUEw.UwgbUgd,3fcIe3
  B60GJ0mU82n1.HFeWoWg,A,pf9ZPNUUUs,Uj2YtpZm,g,AV3lWggmJC0HOam4a.HMFR06H.MBH
  N1H.RWBAdUUklmIiZ3igBgXBhixAH9R,dMen4qk2A7G5..Q8.kY68lf9Z1hXUgbU24VN8,d7Aj
  iIC..GJY6691WHMam4aU7gcANGME6S.AZUg5,7F9fR.Ud2YakUkw.h1q1..A3d0.XlI.g6p1oC
  0GR..y0.g,cH6JFXZ3jdVilm8LtyKtCr4aEN0HOen20LtyKm6R,7RTvP,7P1fQDPNPc7HcAVNB
  pN07POhPOEE84p1PsRTPRNXixB8aUgin7N,tPZ96RPN9nmGKLMFZfQTn4aEN4HNen2aKqmqmSq
  kmKEMM0mr0rm8botP0m4SrrK584LPNV9ROqrMGReF,t9,NGReFRN1PMF.WHMen28rm44pPN2Yj
  2YuhgmFry4VPNZPPMN7P1HvQ,NM,dP9vR,tQfvNDPNb9RHvPmWWhCKamFE8nM8HECqrK5EtKqu
  ggYdN6RFPO2ipJikxhnhgigVBgVumecQgddphpFH0mU8YBgVIlt.Croq48LECKoUn3Yo3hVFuw
  hnhgUAggJiZBgYBD7ntCKtaKlKKmuWIxij3Yihgr7QZvP51EIaotuomSqVyKrMMGLEOGEuomS4
  9P8,NMZXd,P1cR9fQnnlm4m43PMbPN7nruKE8GaKqtCrVyKrc6,d7,d6bOR3vEUg2YWVrBholr
  8KvaqrKrt0mlW4EICroq4HXX,CLEynIum4.T8RFPNZ1UBgV8hinZiUwhihATfQ,7RjvPKKvKKr
  0mqyKtMPwhm3YX3BELo60mm.996yakhA667POhPOUjlkIe3B6,dJ1eIH10GlaLE4KECob.IjZV
  dZCHHEqqm8rmmqwohZRgZlkEusMgB2Yjhio7RFXjphZ7PUdFWEc8YD3idgVBAV7M0A7AD59P1v
  Qb96vFbCqru4H76BVtlruKv4KquGtK4hXUg5aGEG3Uc6A2Y3pd2h,BuP0mlyqq0LqKKuKKEGqm
  GrkaKqCLE4qtiKEqqm0Gny4d9O9nqyadpA9XaBhghgnp3PM15uPPnocQCob.QccBA66RuHd86V
  eQT9QCbYhVBIrZuIf9QVvPGLEUCVi2YI,jvPf1PPMLXgBho,bPNRvQ999,NOGqmKKm0GlMORvM
  MNRPO9fPd99,dNTX1,sQ,tRFPONPN,FoAjUAgmFrYCbPRV1K43PS,dJ10sQciAdUwiVRiUYiZh
  BdPN796dvP,NMCrr0mtKrn.59OMORvNqoYuIEOGEqoUWJECrr0GuWao3YBBdC78199,dMH76v7
  6POGRWWZZUAgdoZUY8MOb9619PMN1vQn96yad,P1R763ORYB1fRHfPD96dnm0mmW5oBCob.0ml
  UhhgVtQ,7RFPMAhodM99Oggn3Yo3hZtQ1PP9961vQ,dEN1Ef.2YVJid,c94ot0mkuaVRidZgZ7
  R6FT8J,dH98J,7P8Kt4KtabahCsP2YVZBogVBhg3YoxBbPMdntAjUYicltarqqqmGLtaLECqrY
  gdZidxB,NM3vPhHK0GlK5HfP,NM,7NO4Z1SrkoZUgVBIL8prKLrAhid9,7JKqtsQfvNkmGKECK
  okmMP1vOIcgBAU1,kk85.,NPfvMF96PvPZXnlom4,7RT9630UK,..Y33PRodDZ8dWUQe,hd3pZ
  BME,tQHHs669nk6PeX7AaiM9,76Xd9,N94HLymPuGEqGE.......k4qkfaKuWa1,..2Yo3B8rm
  CruYiUAhndARdAZ7A9O9VNAhd9PsJH9Ro8...FdI9Wn3YjJiUQe6xdGZeGhc,lI0Gu..2biAan
  Ia3hZkIak2YWhgXBAKKEG5aaohgmhhZZgdBgohgUgAVfQ9nta4bXmlmO54KuKKmginBhixA1Xs
  2ahIgdZiUoggxBoB,7QTPO2YpphdZiigVcoe,J8YB..5PMR969PPf9P1XUYCQ6.KKwMNUUIAGq
  mmqo8qm8rkGrmADZvPffPUVZhgNOR9R.6691.bHuyaqYaUIgdZinpZdgVBgV1dP59PfvQHvPeX
  BAdUYCHfPLHuWqk6RsMTvQd99,dNZ1FPNZPNN76TfN,NOP9QgBAhiFuggnFs8bkxB19Pb96HXn
  hhVVVRCdXUYAbPODfP,lr8rp0Go4qtAggJCElKqmuaYxhilkuKm2ZgBhb3hoZhtBZUYiZRC9HL
  0Wc7659O.1fQsQbPNR9RHPMN9Pnnta4oZUgdVBjWhgUYichgm76jvPEl22TPPoijZhpphohgZJ
  in7R2imtPBP9ZPN19N,Fo22.ohY7R9vQ0Gs8rrS469,tPZ969fR9Xmhii3YnxBYiZlt0Gny4dX
  hRiZZhqhgnpZBsIT96H861PPmqryqpaKrSaaxBOqmKKm8qkCqp0mku4T9QHfPHvPRvQyKrYCC5
  6QgA,tM.aKr0GnKLr.19PH9Rum4qEe..cHT8659O.dvPG5,7HMR112CGLE4qtYiclmABoBmqoq
  419RHXnNMcP6NTvM.7f9PEe66ZPNKboRiUwha7RFXohA00TvNUUIipluuKmKKt0mk0GnKLqkqy
  4B1Cqrq4IC8rme198SktEE00,FfkkYB0WUQ6.0WHVBEE22.UGtQfXU22,VG,EEsDgai22,FE.e
  1g46DUU.22d0,lKKHL0GE66.p,PNBR76Y5kK.,76G366Vd9,76,FE.e124,Vw.00EEY8kK01,V
  U.I5gZko3Y5kK.,76G3M1,NBRlL2Y7pd43YU22p,01Y5EE.0WI,qmOs9.cCM9Uw.q066,Fe.,N
  BR,PNGReF,,p,P,Y5kK.,76G3M9..e1246DUU.22d0gVh2ZUkI2200e1q06DUh.0GEY8kKW0RN
  8EEERUk66Y5EE.0WI,m56T66cCEMUw.00EEY8k40GEK1,N90GEK1e1246DUU.22d02YU.P,V,p
  ,010GS.,,66G3.M9WWkEEe1242Yw.00EEY8EI24g3,,I5g30WUY5kK.,76G3.a0W0cCEMUw.00
  EEY8.flIg3g4I56AES.,,66G3M1.L,f,Uk.t,22UU6JUU.iWU6AcCEMEEm166.,Fe..LFI24.0
  10GS.,,66G36801i0Uu.V,,7DUU.22d0.EI.p,PVUES.P,2YU6J.K1iWUMBcCEMUw.00EEY8gV
  BAda,,loCLo0GuyaXxhiRidZAZ96d9OC5whklkAgUAhi3Yh,7PNd1,Fo4KrwgdFrAgWVU2iglt
  KaXxhiZC5HEqqm00QAVPO.66S5PvP..EnYBmGE444aXxhkBjUwha,gAghjZgpFLqUGxhWhgmZi
  UQcVhhkJgZZhghVlwahocZJghIak2asgV0CyIhgstETHu8rrmKqKKtCLLCJuGqVGLtmKWKqtCK
  .4Dl1.c95uPR1EWsM,kVyaoBgdpBZHLUm,..Unp3.6F6.Z50.G,0.aE.0U.2..AU0e10U.2.4K
  .2U52U.2UNV.2.5Y.2U.2..F6.,6.z,0.32,6.0..Y22U,2.2.2YXW.6.58R1.A.A.2U.E,h,,
  U...pU.6.M.EJ2wAC.6.VQ.E..YVsH4EKithQVs9E3Qw70ktumVy4..f6.6..E2E.U76.2n9RC
  dM95B.,AzJE.nT32XD3BdAAlA..mh0...
  --- end of encoding ---



An Investigation into BlackBox's CONSTant REAL Arithmetic

Introduction

Following on from some recent comments on the user group list I have done a more
careful investigation into BlackBox's CONSTant REAL Arithmetic.

I shall mention four types of arithmetic; 1 'mathematical' and 3 types of
'computer' arithmetic:

1 Mathematical arithmetic. I mention this only to point out that it is different
to computer arithmetic in many significant ways; a few are:
? No 'infinity' - well not as used in computer arithmetic.
? No distinction between +0. & -0.
? 1. / 0. has no meaning.
? (a + b) + c = a + (b + c)
? No concept of 'inexact flag'

2 IEEE 754 (1985) standard for floating point:
This is a suitable 'reference' computer arithmetic because:
? It is a good system, carefully thought out by knowledgeable people, and well
documented
? It is currently widely supported in the computer industry
? It is (the only system) implemented on BlackBox's target hardware
? I am unaware of any serious current alternatives

3 BlackBox's VARiable arithmetic.
This is essentailly a subset of IEEE 754. The main difference is very limited
support for NaNs (Not-a-Numbers). Other differences are more subtle, and
probably the subject of a different discussion. Since this arithmetic is
implemented by IEEE compliant hardware the close similarity is to be expected.

4 BlackBox's CONSTant arithmetic.
This is a serious subset of BlackBox's VARiable arithmetic.
I argue in this paper that these differences should be, and easily can be, removed.
The major differences stem from three sources:
? Division of non-zero by zero to produce INFinity is forbidden.
? Simple operations permitted by IEEE & BlackBox VARiable arithmetic are
forbidden in CONSTant arithmetic. For example 1.E200 * 1.E200.
? No attempt has been made to distinguish +0. from -0. This leads to confusing
anomolies.


There may be historical reasons for some of these choices. But from today's
perspective the situation is unsatisfactory. The CONSTant arithmetic differences
need to be documented, and programmers need to find this documentation,
understand it, and remember it. These are unnecessary tasks, whereas removing
the differences is one relatively easy task.

I propose below that BlackBox's CONSTant arithmetic be modified to closely align
with BlackBox's VARiable arithmetic, and that the current restrictions are removed.


Backward Compatibility

Firstly I am proposing no changes to the Language Report.

The first two changes (permitting division by 0. and allowing expressions like
1.E200 * 1.E200) can have no influence on any existing programmes. Their effect
is to allow some sources that currently do not compile to compile in the future.

Implementing these changes leads to two different kinds of simplification:
        ? The programmer does not have to remember, and work around, undocumented
restrictions in parts of BlackBox's arithmetic, and in contrast to what one
might expect in the IEEE 754 era.
        ? The compiler is simplified because the code that identifies these
restrictions is just removed.

The third change (distinguishing between +0. & -0.) is more involved. It could
affect some existing programmes. I would guess it applies to very few, and a
programme that relies on subtle undocumented deviations from the IEEE standard
way of handling + & - 0. possibly deserves little sympathy!


Current Non-IEEE behaviour of BlackBox zero CONSTants.

The tables below gives some experimental results comparing BlackBox CONSTant
arithmetic with BlackBox VARiable arithmetic. In both tables the VARiable
arithmetic agrees with IEEE. There are two tables because the CONSTant
arithmetic is not consistent.

Table One:

Expression VARiable CONSTant Same
                  Result Result ?
  0. : 0. <~> 0. TRUE
-0. : -0. <~> 0. FALSE
-( 0.) : -0. <~> 0. FALSE
-(-0.) : 0. <~> 0. TRUE
|(-0.)| : 0. <~> 0. TRUE

   5. - 5. : 0. <~> 0. TRUE
   0. - 0. : 0. <~> 0. TRUE
   0. - (-0.) : 0. <~> 0. TRUE
(-0.) - 0. : -0. <~> 0. FALSE
(-0.) - (-0.) : 0. <~> 0. TRUE
(-5.) - (-5.) : 0. <~> 0. TRUE

   5. + (-5.) : 0. <~> 0. TRUE
   0. + 0. : 0. <~> 0. TRUE
   0. + (-0.) : 0. <~> 0. TRUE
(-0.) + 0. : 0. <~> 0. TRUE
(-0.) + (-0.) : -0. <~> 0. FALSE
(-5.) + 5. : 0. <~> 0. TRUE


Table Two:

Expression VARiable CONSTant Same
                  Result Result ?
  0. : 0. <~> -0. FALSE
-0. : -0. <~> -0. TRUE
-( 0.) : -0. <~> -0. TRUE
-(-0.) : 0. <~> -0. FALSE
|(-0.)| : 0. <~> -0. FALSE

   5. - 5. : 0. <~> -0. FALSE
   0. - 0. : 0. <~> -0. FALSE
   0. - (-0.) : 0. <~> -0. FALSE
(-0.) - 0. : -0. <~> -0. TRUE
(-0.) - (-0.) : 0. <~> -0. FALSE
(-5.) - (-5.) : 0. <~> -0. FALSE

   5. + (-5.) : 0. <~> -0. FALSE
   0. + 0. : 0. <~> -0. FALSE
   0. + (-0.) : 0. <~> -0. FALSE
(-0.) + 0. : 0. <~> -0. FALSE
(-0.) + (-0.) : -0. <~> -0. TRUE
(-5.) + 5. : 0. <~> -0. FALSE

The fundamental problem is that the compiler's table of processed CONSTant
values does not allow the 'same' CONSTant to be entered twice; instead the first
is reused. Unfortunately the compiler uses equality ('=') to test for
'sameness'. This is incorrect.

+0.0 does = -0.0, but it is not the 'same'.

It is this fact that leads to variable test results. Side effects of apparently
unrelated procedures can alter the behaviour of a procedure. I regard this as a
bug, and one that can be hard to detect, hard to isolate, and hard to work-around.

Fortunately it is simple to correct.


If you make this compiler change to allow both +0. & -0. simultaneously, then
rerun the above test, it reveals some more discrepancies (two examples are
below; there are others).

        ? Unary minus (Negation) is implemented incorrectly (as Subtraction).
                " - Expression" is implemented as "0 - Expression". But 0. - 0. is 0., not -0.

        ? ABS (-0.) evalutes to -0. for CONSTants, not for VARiables.


I propose that the compiler is modified to remove these anomalies. Such changes
are small and simple.


Proposed Compiler Changes.

Changes are limited to the modules DevCPE & DevCPB. This section gives a flavour
of the changes. If you would like copies of the fully changed modules and test
programme please contact me.

? Allowing both +0. & -0. at one time.

The main change is to implement a test for REAL 'Sameness' rather than
'Equality'. I propose adding the function

        PROCEDURE IsSame (x, y: REAL): BOOLEAN;
        BEGIN
                RETURN (x = y) & ((x # 0.) OR (1. / x = 1. / y))
        END IsSame;

An alternative implementation
                RETURN SYSTEM.VAL(LONGINT, x) = SYSTEM.VAL(LONGINT, y)
might be preferred?

Then the line (in DevCPE.AllocConst)
                        WHILE (c # NIL) & ((con.setval # c.setval) OR (con.realval # c.realval)) DO c
:= c.link END;
should become (twice)
                        WHILE (c # NIL) & ((con.setval # c.setval) OR ~IsSame(con.realval,
c.realval)) DO c := c.link END;

That's it!


? Removing 'Non-IEEE' compile time restrictions.

These are implemented in the procedures DevCPB.DivConst, MulConst, AddConst,
SubConst. I shall show DivConst as an example:

The current code fragnent is:

                IF type.form IN realSet THEN
                        IF y.realval # 0.0 THEN
                                IF ABS(x.realval) = DevCPM.InfReal THEN
                                        IF ABS(y.realval) = DevCPM.InfReal THEN err(212)
                                        ELSIF y.realval >= 0 THEN z.realval := x.realval
                                        ELSE z.realval := -x.realval
                                        END
                                ELSIF ABS(y.realval) = DevCPM.InfReal THEN z.realval := 0
                                ELSIF (ABS(y.realval) >= 1) OR (ABS(x.realval) <= MAX(REAL) *
ABS(y.realval)) THEN
                                        z.realval := x.realval / y.realval
                                ELSE err(204)
                                END
                        ELSE err(205)
                        END

I propose replacing it by:

                IF type.form IN realSet THEN
                        IF (x.realval = 0.0) & (y.realval = 0.0) THEN err(280)
                        ELSIF (ABS(x.realval) = DevCPM.InfReal) & (ABS(y.realval) = DevCPM.InfReal)
THEN err(212)
                        ELSE z.realval := x.realval / y.realval
                        END

The existing errors
        204: product too large
& 205: division by zero
would not be used or needed.

Error
        212: illegal real operation
would be kept for INF / INF.

Error
        280: real zero / zero not permitted
is a new suggestion, but error 212 could be reused for this purpose.


? Unary Minus & ABS

These are simpler changes than those already described. Two new procedures
(IsNegConstant & Negate) are implemented very closely based on "LessConst" &
"SubConst", but with obvious changes (simplifications ?).


? Other changes

Just one or two even more minor changes. For example to permit division of a
REAL VARiable by a CONSTant zero it is merely necessary to comment out the one
line (in DevCPB.Op)

                                                IF (y.class = Nconst) & (y.conval.realval = 0) THEN err(205) END

For complete details ask me for the modified files.


Compiler CONSTant Changes NOT Proposed

? Support for NaNs. This would make little sense, indeed be inconvenient, for
CONSTants while they are not supported by VARiables.

? I was tempted to also suggest changing MIN & MAX so that MIN (a, b) = MIN (b,
a). This is also easy to implement. But leaving the existing CONSTant code means
that it behaves the same as BlackBox VARiable arithmetic. As an aside the DOT
NET library functions also fail to satisfy the symmetry condition above, but in
a different way.

? Rounding. These suggested changes make BlackBox CONSTant arithmetic much more
similar to BlackBox VARiable arithmetic, but NOT THE SAME.

A simple example:
        1. - 1. - 1./7. - 1./7. - 1./7. - 1./7. - 1./7. - 1./7. - 1./7.

With CONSTant arithmetic the result is 2.220E-016.
With VARiable arithmetic (REALs or SHORTREALs) the result is 8.132E-020 because
the intermediate expressions are evaluated using an 80-bit floating point unit.
(VARiable arithmetic can emulate the CONSTant expression by deliberately
rounding all intermediate expressions to 64 bits.)


Conclusion:

I think that the cost, from here, of implementing these proposals is small as
the design work has already been done and (lightly) tested. The changes are
essentially simple. Maybe there would be some volunteers to proof-read the
changes and test programme, or even run some tests for themselves.

So I am looking for feedback and opinions on these proposed changes in
functionality.

There would be NO changes to the Language Report as the existing limitations are
not documented.

The results of the test programme run under a fully modified compiler are:

Expression VARiable CONSTant Same
                  Result Result ?
  5. : 5. <~> 5. TRUE
-5. : -5. <~> -5. TRUE
  0. : 0. <~> 0. TRUE
-0. : -0. <~> -0. TRUE

  5. / INF : 0. <~> 0. TRUE
-5. / INF : -0. <~> -0. TRUE
  5. / -INF : -0. <~> -0. TRUE
-5. / -INF : 0. <~> 0. TRUE

-( 0.) : -0. <~> -0. TRUE
-(-0.) : 0. <~> 0. TRUE
|(-0.)| : 0. <~> 0. TRUE

   5. - 5. : 0. <~> 0. TRUE
   0. - 0. : 0. <~> 0. TRUE
   0. - (-0.) : 0. <~> 0. TRUE
(-0.) - 0. : -0. <~> -0. TRUE
(-0.) - (-0.) : 0. <~> 0. TRUE
(-5.) - (-5.) : 0. <~> 0. TRUE

   5. + (-5.) : 0. <~> 0. TRUE
   0. + 0. : 0. <~> 0. TRUE
   0. + (-0.) : 0. <~> 0. TRUE
(-0.) + 0. : 0. <~> 0. TRUE
(-0.) + (-0.) : -0. <~> -0. TRUE
(-5.) + 5. : 0. <~> 0. TRUE

If you wish to consider these proposala in more detail than given above please
contact me for copies of the two modified compiler files, and a copy of the test
module.

Robert Campbell
17-Feb-2008


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1023549308_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBIZWxsb1xwYXINClxwYXINCkkg
aGF2ZSBkb25lIGEgbW9yZSBkZXRhaWxlZCBpbnZlc3RpZ2F0aW9uIGludG8gdGhlIHdheSBCbGFj
a0JveCBoYW5kbGVzIENPTlNUYW50IFxwYXINCmFyaXRobWV0aWMsIGFuZCBub3cgcHJvcG9zZSB0
aGF0IHRoZSBjb21waWxlciBpcyBjaGFuZ2VkIHRvIGFsdGVyIHRoaXMgYmVoYXZpb3VyLlxwYXIN
ClxwYXINCk15IGRldGFpbGVkIHJlYXNvbmluZyBpcyBnaXZlbiBiZWxvdywgYnV0IGEgb25lIGxp
bmUgc3VtbWFyeSBpcyB0aGF0IEkgc3VnZ2VzdCBccGFyDQp0aGF0IGl0IGJlIGNoYW5nZWQgdG8g
Y2xvc2VseSBhbGlnbiB3aXRoIEJsYWNrQm94IFZBUmlhYmxlIGFyaXRobWV0aWMuXHBhcg0KXHBh
cg0KSSBsb29rIGZvcndhcmQgdG8gYW55IGNvbW1lbnRzIHlvdSBtYXkgaGF2ZS5ccGFyDQpccGFy
DQpccGFyDQpJIGVuY2xvc2UgbXkgJ0ludmVzdGlnYXRpb24nIGFzIGEgU3RkQ29kZWQgZmlsZSB0
byBwcmVzZXJ2ZSB0aGUgZm9ybWF0dGluZywgYW5kIFxwYXINCndvdWxkIHByZWZlciB5b3UgbG9v
ayBhdCB0aGF0LiBIb3dldmVyIEkgaGF2ZSBhbHNvIHBhc3RlZCBpdCBpbnRvIFRodW5kZXJiaXJk
IHRvIFxwYXINCm1ha2UgaXQgdW5pdmVyc2FsbHkgYXZhaWxhYmxlLlxwYXINClxwYXINClRoYW5r
c1xwYXINClxwYXINClJvYmVydFxwYXINClxwYXINClN0ZENvZGVyLkRlY29kZSAuLiwsIC4uVmEx
Li4uM1F3N3VQNVBSUFBOUjlSYmY5YjhSNzlGVHZNZjFHb21DcmxBeTJ4aFgsQ2IyeFxwYXINCiAg
aFhoQzZGVTF4aGlaaVZCaGloZ21SaWlvZWRoZ3JaY1pSaVhGZmFxbVNydHVHZmE0NzAwemRHcnI4
cm1DTExDSnV5S3RZY1pSaVhccGFyDQogIDcuMi5zLGM3biwwayw1VFd5cWwuYm5heUttS0txR29t
QzVYekVUMS5QdVAuTUhUOU45bnR1bWFVMixDSnV5S3RRQzk4UDlQUDdPXHBhcg0KICBOYlhtYi4y
Lllpc2syRXFXMSw2LmNVR3BtV0x1T3BvS3F2Q2JIWmlZcGVkaEE3MDRUZUtLdy5iSGZFV1VtTC42
Li5ELmg2QzYuQ1xwYXINCiAgY0loZ3NOSFQ5TjludFE4cW9yRzQ3MDRELkNiQiw3MDhUMVUua0FQ
MVQuWGdCMi4sVSwyejRVMDAuYm5VR0x1OHJvOHF1R3JtQ0xccGFyDQogIFdLcXRFMEUuRUxFLjAu
cC4wLjRFLjYuSkZBMHouVS4ybSwuLC5lbXVLRmVXUTFJa2xiOEllcFpoWkppbnBaSFpDWk9STlgy
aGduXHBhcg0KICBSZy5BUy5RaWlJZXBaaFo3RjYuWnouNi4sVWdXNVVYVy4yLjUyLkNMTEMzYjhS
bjlQOTlGOXZRMGtzLFVpa3dtNDYuWnosRS4uV1xwYXINCiAgLmUzMi44Ni5jOTE4Ui4uLEUwRS4u
LjcsLE0uRS5FRUNPaFUuUWNvQi5wNkpBLjYuLjFjVVpUMUUuNkM2LmM0RS5rLjAuZUcuLjJccGFy
DQogIFV3Sy5NQ0UsMi4wLklacCxJeUMuLFVnMy5TLmEzMi41Z3dWVS4yLi5GLnosMC4zZ3daLjAu
LlkyMlUsLiwuLHRjVS5RNi5rLkUuXHBhcg0KICAwLjE2MTYuajUzY1VaVDFFLmM5RS5jNEUuME0u
MU0uMi5lRy4uMlVFMDAuSVpwLC4yLnk0Uy40NDIuNTIwRS4uMiwsa1hVLkUsLFxwYXINCiAgMC4u
WTMyVSwyLjJjeWguLHRjcDAwa1YuLjEuMzYuLGVUOUUublQzVUJXMUlrbWosMlUuRUpWLkVEVS5V
LC4xZVFIUE1OSEEwei5ccGFyDQogIFUuMkdFenp6enp6LGkxQ0V6enp6empZVTEuZSxDLjY1LjZY
LmNLLjZELjZGMi5VZEouQ0V6VixWMS5XNi5pMzIuMEUuZTAuRS4wXHBhcg0KICAuVDFELjExLDYu
QzYyVS4uNjBzRkUuY1UuLC4ubTAway5VLlVVUUlFLkMyVSxVLFUwNkUucy5KYy5ZVTBLeUJVLjIu
RzcwLnUsMFxwYXINCiAgRS5rLlUsLC4yVXcwT0Yua0FrLjguLGtzayxlLEdFLGssdS5HaywwLjVN
a0V6VnNXMS40NDBFWmsuSy5nOUFVNFUuMkRBVXAyLjBccGFyDQogIEUuNEUuQVU4LjNFLmdVMEt5
Qi4sVXdWLlVZNi4wLkEuMFUxeGhwSmlkaGdtM1lDaGdyN3NOUS5FLjA3Nks1VSxJLDJVMFUzb2Ux
XHBhcg0KICBVekwuQ2suaywubDI1Llk1MlVjVjBRLkFVTlUuQU1RLmtBRjE4TXRyLjBFLnM3MFUu
Mi5lLDBFLmsuMC5lRy5tTFQ1LjJVRTA0LlxwYXINCiAgU0UsOXo0RS4wLkQsMC5wLjBrejFrelYu
STMuMEU2LFgsRmNVWlQxNi4sVTFBLjYuZSwyVXoxMlVlLkUubTljLCxVNUEub1UsVTVccGFyDQog
IG9hLkUxOC4sNi4xLEZjLDBVNUE0MlV2VTRBRHdVVlY0MjAwayx1RGdONnYxVTFnMXdVZVgxd1cs
ayx1REEuMEUwNCxDRWIyLkRNXHBhcg0KICAxayxrMU8uQ2tJRTFhLkNrMEUxVy5RNFFVeTFFMHEu
Q2tORjFTMkNrUGsuTzAwRSwwLjVjemssbCwuVE8uYy4uc2NNMDNnd1AuLFxwYXINCiAgNi4uRUdF
LlUsMi4sa1YuLnRmajEuMEU2LHQsNTZJMS4xLjNNLk0uTi4sczkzVTNnZzJVNFh6TFUscGhVQWRp
cGlaUmlvQmhiQmdccGFyDQogIG9CaGpwaFVBaGlaaWozWTBaaFZSZ2ZKY2ozamJRaVVRY0RwZEha
ZVZwaG8zWUdoYyxaZFVBY21CaG8zaGhoZ29CaFhoVkJJVTdwXHBhcg0KICBob0ppalpncFJnb0Jo
anBoQmdWNHhoZ1poanhpZHBoYjNZanBoVW9nbXhoaDNZbnhoaGhnVUlpWlJnWnBobzNZWHhoaGho
WnBCMFxwYXINCiAgbXJ1YW8zaFozWXBSaVpKaVV3Z214aHAzaVVZaGRSaW8zWTczWWNCZ3FoZ1VZ
Z2pwaFozWVYzWWh4aG1oZ1VRZ1ZKaVpwZ3BaaFVccGFyDQogIEFoaXBpWixVVVVqLC4uVUcsLkVM
cWs0YUlFQ0xvNEtxbUtFcXFtdUt1YXFydWFheGhwSmlVWWl0M2laUmlVd2hhM1lWSmlkWkNVXHBh
cg0KICB2MllsMlliZ2hWWmljaGdoQmdvQmhYQmdneFlVQWdpWmdVUWFVWWl0M0NVVXdZWHhoaDNp
cFppWkppYjJZVkppZCxjQ1BNMTNNQVxwYXINCiAgSE1IMTlSLjRhVUFnbUJCLlI3Nkg4NlBQTlIx
WUNIdlEsdFBSOVBuOTZkdlAsN1FUUE9SOVIsdFBmOVIsN1JGUE1kOTZIOVIsTk9ccGFyDQogIGI5
NjdQT0JmTjlmUTlmUGQ5NmR2UCx0TVRQUFYxMG1rODUuLE5PUjk2UFBNUlBTLHRRSHZOUlBPQlBP
NVBNUjlSLHRSMVBTYnZDXHBhcg0KICAsTk0sZE45dlIsTk1LS1JxRVJMdTJhRWJ5S0VTbW91S25h
S3JhS3VhckgwbUswbXZLS3FtS0V1cXJHTEU0cXQwbXVDcm1HS0VhS1xwYXINCiAgcjBtbHlxcS4u
VWlnVnVpSUVtYXF0R3JvdXFsR3JveTQzUE5kdlI5UE5SOTZMN0FSNzZCNzYsTjlWZDlQY2k5Wmxv
WlV3WlUyYWlccGFyDQogIDJZY0JnbjNZaXhoVWdoWkJnaUJoaXhnaWdWdVdjQWdVUVpVSWdkMllm
MllYM1l4MllWM1lmNjgzOTZMNzY1UDhQY2k5UjB1MjV2XHBhcg0KICBQUnZNOTlRZDk2VGZOLHQ3
SGZQOTlTMXZNZDk2QjlQMXZORE4xUGMxWk4wSE9GOU9GLHRCZjdCLDc4WE5DbE5CSDc2YjlSMWZQ
N1xwYXINCiAgUE1aOU4sZE5UZlEsZE5OdlAxOVJIZlBEOTZWdlBjQ1A2SkZQT2Jub0NMRTRLRUNy
dWFLdTRLbG1xbTBtSDhybU9xbThybVFnWnhccGFyDQogIFlVUWdqaEIuLjY2M1BONVBNZnZROWZD
UGNpTUdkOTZIMVNxcnlLbTBtdGFydEdybXFLSzBtbDRLdEVxQWpVWWljeGhweGdjWmlVXHBhcg0K
ICB3aHBGbGFMRWlLcnlxdm1xbUdxbktxazhLcUtha2hnajNpZ2hnZzJZVnBoWTNZcmhnZzc2N3ZQ
NTFnZ1loVnVpbzcuc01mZlFaUFxwYXINCiAgTlI5Uk5QUyx0Ukg5Tjk5UG45NmJQUlY5UVRmUWRQ
Tjc5NkhYbzNoWnRNVFBQLkhmUDdQUmI5UlpQU1BjaS42OGQ5TzlucnVLcXNccGFyDQogIFFudlFN
OCxOT1A5UU5QTlBQTlVqcGhVSWNnQkEuR3JrOHJuS0t1MEdvNEt0R3F2NEt0S3E0ZXZHRkU0cXEw
bXV1cWtTcms4cm0wXHBhcg0KICBtck9LRTRLcmFMRWdnbUJoamhpbnRNLixOTU45UjlmUVJQTWRQ
T2hQTmJQMVBjMWJOMDM4UDF2TS5PcFU4cG80S2xtNDFmUUgxRVxwYXINCiAgTFllY1ZkbG1DcnRL
S3JHcmthS3FtcXdBZ1VRQzN2UTk5Uix0UEJuWUtvV0syb1pVWWVjaGdVZ2hWQmhpM1lZQmhhLDY2
SHZRLGRccGFyDQogIFI5ZlFuOTZOUE9QUE9kUE43OTZiUFJWWG03NkJ2UG9kVnBkbjNZY29kalpp
aEFnaG9kcGhoV2hnbVJpZG9aVXdkbzNoWkppVVlnXHBhcg0KICBkLGt0MG1rOGJVZ2hqRkVDcnVZ
aWdoZ2cuMEx0eUtsNEtsbXF3MEd1Z0FiUFJlcW1DS3UwbXJPYVYzWVlCaGEsR2JZQmhuUmdwdFxw
YXINCiAgUUh2UFJmOSx0SUhmUDVQTiw3UkZQT0FBSDFFRWFxdEFoaDNDLklndE5HOU9GUWdqRnFh
cWt1S3UwR280NFVvM2hadE1OdlBiUE5ccGFyDQogICx0UUhQUEg5UDFmUUhudzBtb0Nib3hoVUln
WjNZWjNqa2hnWFppWlpnaWdWQm9Wb0FWMFpoVixrVlVWVlZKQ1c0YzkuSHZRNEtFXHBhcg0KICBD
cm0uQ3J1OHF0LjhJcS5FZi4uLk1HLE5NWnZOZlBOLE5PUjk2QUIwcmswcm04TEVHTG80NGRubUNy
bTBHbWE0a2xRQ2I5T1RQUlxwYXINCiAgTjlOLGRNOTk5LE5NTU4xdlFIOVBuOTY1UE1SOTYzUE5O
RnRLcXF5S3ZLS211bTRHSm9LS0VxYWV4aG0zWVlCQi5FdUtxcTBHbjhccGFyDQogIHJyNlJGZlE5
UE4sdFFUUFJadk05dlFwTjFwUmRZY2RwaWRSaWR4aGkzWWpwZ1VvaGpwaGhJalpKaWozWVdCalVJ
alpKaWo3UlRIXHBhcg0KICBzOHJyRzQ5OTZIZUhCT09SUE8uQnZQWmZNR0ttS0tydW00ZXZHdElI
UFBWOVAwbXIwcm04cmtHcm95YW43UTlmUVBQT2Q5Ujk5TlxwYXINCiAgLCxIME9HRThJcS4wR2Y0
SWQuTU9kMTY2MWZROUhueUt0QWhZVlVBaGkzWTF4ZEMsVW8sb1pVb2NqSmlVZ2dzQmdoM2lnbE11
bVdccGFyDQogIDhITTBIRWVHRTRITEsydW00ZTl1MjE5UmRQTlA5UTBHbzRxdElnWmhnaTNZaDdO
OTk2ZHZQR3FvWWlkcGhiaGlkUmljM1lmMmFpXHBhcg0KICBjTloxUDdBUjc2ZG1vQ2JnaGdWWmdu
M1lveEI1SHJPcXVDcm91cW5BZ2l4aGh4aGdCaFpSaWlnLDNNMWQ4TzhybTBtcTRxdzBHbFxwYXIN
CiAgS0tFV3FvQ0x1eUt0YXFsNEtxSUMxdlFUZlBiOTZCdlAwbXR5cXFzUEJIdVdxbWtsV3FyYXFs
S3F0dUdFOG91R0xFT0t0eTRkdlBccGFyDQogIDdQTW52N2I5NlZQTkNMc0txbEdyb09ybTBHdWdn
VVFpZFppcEJnb0Joajc2SHZRLE5SUnZRMTlSSHZRQlBNNTlSVG53dUdFR0pvXHBhcg0KICBLYTF4
ZEMsLi4sN05IZk4uQ0xFdXFtS0ttMEd1eWFXNzY3bmwuWVpVQWdpRnNzTlpQTVBQUDlmUWI5NlJQ
Ti5CUE9SOU4sN1JhYVxwYXINCiAgVVlnalJBa2tHcm95YWcyWXBwaFloZ21SaW9CZ2lsb0dMSzBt
a0V0S3FxS3FxOHFtMllkWmlpMjJRQzRLdEthcHBoaWhnWGhnblJccGFyDQogIGlWSml0M1lvQmdu
UmhuWlpVd2ljaGdtaGdWUmlVSWlaaGhqTk9Sdk4sN1JGUE5HcW8uVWRscmdBWlBOTlBNZFBPaEhx
YUxFS3FrXHBhcg0KICBDcncwR3U0NFJOMVBNRzBMdHlLc3lxdEthV2hnZ3hocjNZbzNoVkZWbXFr
LkRWMSwuLmNNZ2hqWmdkcGdkaGdZMzJRZ2d4Qm1xd1xwYXINCiAgMG1rbXFvU0tyMG12YUt1V0tF
MEdWbTQuTzMuQUIuTjc2MWZQWUMxWG9OTkNxdTg1Y1E5dlFkZlFIdk1kUE9UbnRBZ21oQVpucU1c
cGFyDQogIE5NMVBjRTF2TUx2UjFmUTc5NjV1UFA5UTE5UkhmTUg5UEg5Um5QMVBjRkhmUWI5Uk5Q
UyxORyxOTVBIczg1QWhpeEFSdlBDS280XHBhcg0KICBLclNxbUNMRUc1ZDlPOUhhNEtyU3F1NHFu
S0tFOHBtMHJyOEx1dW00cUVlV3FtMEduYUt0Q2JVWWlyeGhVUWdjVlpGSTBybThycVxwYXINCiAg
a291cW4wR21hS3ZhNGNNbjk2VmQ5LE5NUjlONEtxbXFyUzVEbm1XTHM4cm1DcnRhNGJIcWFxcEtL
RTRITEVNMDAuSDc2NVBNMmhccGFyDQogIFZwQ3VxcjBtb3VLbm1xdUtLckNxbTBtcnVLRTRLcmFi
WjNqZFJpb0JCMmltdE5VbnBaVVllY05PWjk2OWZOQlBONTlSYXF0WUM0XHBhcg0KICBLcW00LHRR
VFBQUUNRQVlpY0JBQ3F1ODVZQkdxcjBHcnlLdTBtbHk0SDlQOTk2ZEhFQ3FycTRNT1JIdVVwWmlw
SmlacFpCZ1Y3aFxwYXINCiAgaGtscWtvdXFuWUM5dlFRQTExWUJRQzZSanZQR3FvTzRaWG8zWWZC
aGlaZ24zWWpwQWJQT1A5UWFLbmFxbFlpZHhCcE4xSGNpOVJccGFyDQogIDBkOE85SHM4NVVtM1lZ
eGhaUmlVb2hqRm80S3Y2UlRIdEthWixONzYxZlB3aWpKaWYzWVZKaWpoaWlaZ2cyWXBwQlR2TVVa
NzZaXHBhcg0KICBQTkc1VW5OT1I5NlZQTVo5UmI5NmNFLmtrOHJvLi5BaGl0TXVLdThya0NMdTBH
dXlhcjNoVlppVXdoaWhBUFBPRDlPZDk2OTlTVlxwYXINCiAgUE4yMlJIdTY2SE9Gc0IyWVpKaVZw
WkJBVnUwUWdqLDhMRWFxdFFpZGhCYTQ5WFdoZ1gsLDdSVVloZ1VZaWNCQWFLbUtLckdyb09ccGFy
DQogIDRiOTZkWG5GdEs0Lmt0SWhwUmlvM1ltaGdoeEIuNlJhS3RHS0VDS280NDBHSUdxb0M1Z2lk
bG91cW4wR2xLS3VNTlEzUkZIZ1prXHBhcg0KICBvWmQyWWRSQ1B2UFpIRWFLck9ycm1LdktLbXVH
RWFJdTBtbHlxdW1LbUFnYXBnWlJBQ3JycTQ5OVMuMGJqLFFDYVlyeGhwWkJTcVxwYXINCiAgdUtx
dENMRWFLdTBtazBMc21xb0txdDBXamRSOTFCUE5tR0U0NDRLRTBMdC4yWW8zaFZGdFloZGhnbnRQ
MG10S0xsRzUsTlJSOU5ccGFyDQogIC5FbUtLdmFxa0dyb3k0T0t0eTRXcW0wbVlVblpDQUEwbXY0
YVV3aGE3TzFmUDc5UEhmUERuSjBHSDBtSzBHTXVXa3hoblJpZEpnXHBhcg0KICBnQkQ3UE5iUE5a
ZlI5dlEsN1BIOVJkOVA5OTZiUFNQOVExOVJGUFMxTjFQTTE1T1JaZlFFYnlLcnFtWUtvV2NNV3Fr
T3JveXF1OFxwYXINCiAgYmpwQTMwRUVlcm04NTV1SEMzUWlpZ1ZCWThZaVZKZ2d0USxkTW00U3Fv
T3JtQ0xFQ3Jya20yQ1pQT1BQTlJua21LRThibmhpZ1pccGFyDQogIGluM1lYeEI0S3RvaGJkRU4x
a1Z5SWIuLE5NWUNVVXdpZFpDOElxLm84RXEyMmE0VWlNR1I5NjN2UGQ5Tyw3UjFmTVFDZDlPb2Us
XHBhcg0KICBKOEVFLlVVQWdiSmlaaGduM1lyQkJBZDNoNlI3NmRXbTc2MW5tWWlyeEJkUE0zWG5k
TUM0NlJzRS4uLmE0UjE1SHJDcm9DTHVLS1xwYXINCiAgckdMTHEuMWZNTkhFeUlyS0tScWs0S0l3
MEx0S2FuVlUyWVUyWVVjSjEwbTQsNzYsdEVUMEVFMG1kNHFxS3E0MEdFMFdVLi5JZVpccGFyDQog
IFJpcEZFMEdFMDBaMFVVa1RxRUUwSEwyWVU2Ni5wNzYsNzYwSEwwMHRkVHg3NixGRS4wV0lKZUpo
Y1VnVmgyYWkyWVVFRS5lMXFHXHBhcg0KICBNdUdFNkRVVTI0RUVvYyxaZEhoY0JnWmMyWWtvWmQy
WVUyMiwscCxQLFk1RUUwWFVVVWNGLnFHTXVtSVVVVXUuVixtMTY2LixGZVxwYXINCiAgLnQ5OFA3
QVJGeTBHRTBHRUVSVWsudCwyMlVVNkpVQjJZVWdhaTJZVWdaVTJZVWdhaUVSMDAwMVk1RUUuMFdJ
LDBHRTBITE05NkFccGFyDQogIGNDRU1FRW0xNjYuLEZlLi5QRklxR002NnA3NixWa1VVWTVFRS4w
V0ksV21LMDFxR0UwMGNDTTkyMiw3RFVVMjRFRW82RUlxR01BXHBhcg0KICAzMjNFUlVrLnQsMjJV
VTZKLktITGFHRXEwS0hMY0NFTVV3LjAwRUVZOGs0LmlHRVdtS0sxLlYsbTE2Ni4sRmUuLCxRMyw3
NlYscFxwYXINCiAgLDAxMEdTLiwsNjZHMy5zOFdXay5FTUVFbTE2Ni4sRmUuRkZNa0oyMkVSVWtV
VVk1RUUuMFdJLC42OFV1VWhFRTZEVVUyNEVFbzZccGFyDQogIC5mLExGRWc0STU2QUVTLiwsNjZH
M00xUDZKMTFHcHZ5S1JxazRLMks0LjBXSyxtNCxGRUMyLlE4VVU2Ni4uWjBVVUVkLjY2dzUuXHBh
cg0KICAwMEVSVWsudCxnM0VFMFc0LHFHTXUwMjJVdVVoLm0xTTlVVTIyZDBnWmMyMmFXVUVFRVJr
Sy50LGczRUUwV0ksTTlBMzY2Y0NFTVxwYXINCiAgMjJtMU05MjIwR0VvNkV5V21LTTh0MSwscCww
MVk1a0s2NjJZVWNGVUIyWVVnNGczLGxPRVJVay50LGczRUUwVzQsMFdrVWhVa1VccGFyDQogIHUu
ViwsN0RVaC4wR0VvNi5rSzIzVmxJMEdSVWtVVVk1a0s2NjJZVWNGVWM2QWFXaDY2VXVVaEVFMll3
LnEwNjYsRmUuRixILEYsXHBhcg0KICBJNTZBRVMuUFZVRUUwVzQsTUJNOU1CY0NFTVV3LnEwNjYs
RlguUFVwVWZVcC5FTVV3LnEwNjYsRlguLEZNa0oyMlYscCwwMTBHU1xwYXINCiAgLlAsMllVY0Yu
VWY2ODBYZC4yNDJZdy5xMCxWVTIyQjAyM1ZsSVEzLnAsMDEwR1MuUFZVRUUwVzQsVWRVYy5lMXEw
LFZ3LnEwNjZccGFyDQogICxGZS5nNFEzLGxPRVJVay50LGczRUUwVzQscUVlVzRCSHJHcWtxcW11
NDJpbWRNTlBOUDk2SHZRR2JWRnVrbGdCSDFEdFEsN1JVXHBhcg0KICBqcEFWZlFUdk05dlFiUE43
OTY1dUguT3JrbXF1S3F0MEdtZ0F3QjRLcVVvTk5TbXQ0cXFLcUgwbVZ5MlVvRmwyWVpwaG9oZ21o
Z1xwYXINCiAgWTNZb3hpZFJnWlJiVUFoaVJpb2hnVlpnVVlpY0ZuYTRBaG5kUUtydEtLbXVHRUtK
ck9xcllpcHBoVlppWlpodDdSc00uMG11Q3JccGFyDQogIG1DYlpCaXBCZ2dCaG83NkZ0N3Z0N0g3
NmR2UEdybUNMdTBHbnk0RHRRMVhpaGduUmlib1pVWThIWGRWaVJnakppbWhnWFppaWdWXHBhcg0K
ICBCUVprb1prMllZeGhabFMwbUswSEwwSEswR2xLTHUwbW9HTEVhcXRvQllpY2xIVWJvWkJnVjda
aVVVb05PYkhuNHFsR0xFR2JWRlxwYXINCiAgcUFBYkh1Y1IxZlFIUE0zMWRQTmJYbWx1WWlucFpV
UWVkWmdaM1lacGdhVm4zWWpsazBMczQ0UkhxTVJSZlE5OVAxbm1HYWtKQ1lccGFyDQogIGdwSmla
UmlVUWdWcEIxOVBkWFVZaWNGbEs0LlQxLDdRWjFFTDBtWTBHdEtxbjRhWTdSYTQxdlEsTk0sZE1m
dk5ONzYxWFV3QllpXHBhcg0KICBjQkFDcWt1YVdoQUZQTVoxVEhtS0t1S3FsR0xLMEdvNEt0Lkh2
UVQ5UDE5Ujk5OSxOTTZPLlNycjhiaEFnbXhocEZMcWs0T1ltWlxwYXINCiAgQ1V0Tk9kOTZzUUgx
OTk2ZHZQQ2FtSkNvM3FrWU9LRWFycktMRXFhZmhnVVlDSFhYeGhoLFFnY0JBNlJUbmsuM3ZQZFhm
MjRPMFZccGFyDQogIGQ5LHRRSG51bUt1NEtyS3FyS3J0bXF3bUdFR0xvS0tyMEd0S0t0S0xyMEd1
NjYxZk1UZlI5OTZkUE5ZWlVBaG9kUU9ybTRLcUNMXHBhcg0KICBFQ3Jya3F5S3Q2Tkh2UTVmUTk5
UTFmUDVQTzl2USw3OGR2UlRubVdya1VuM1lWSmlaM1lXaGdnbFIwR3VXcW04YlVBQXdobzNoWlxw
YXINCiAgSmluQjNQTTFIY2k5cGV1cWs4cncwbXFhS3JLcnQwR0l1b21TcWtHNWFHRWE0SFBQbWFo
RnVLS21BQjUxNlBuSEk0cXRRZXBKZ29ccGFyDQogIEppVlJnb0JCb1pCQVY3SVlVZ1pVZ2NzM2lt
aGduUmlkRkYwbW8uLk1NYkhGMEhFcUdFSzIub1pVSWNwWkNWZDlxR0UwMUh2UTBIXHBhcg0KICBM
bUdFdXFyR2JoMmFpZ1ZCQSxBYzBSZVUyWmhrSWdncUJnZ2hpb2hnbjNZb3hCUDdBUjc2QnZQWm5W
eTJrdG1HRXVxcmNOY0oxZVxwYXINCiAgSTZQQ0xMcVVCNjY2UWdnVVlpY0JBR0xvMllYeEIuSFho
N05FbVlpamRRcTQwV2NoZ243NjFmUFRua21xb0thaXNJZnZNRjk2NTlccGFyDQogIE9rdEFBUWlo
QmdnWmhVQUFRaWRoaGtaQlJOMVBNMVZlUVQ5UWdnWWxyLlFjY0JnaVZpZyw1OE8xZlA2NkVxZ0JF
dTZSRkhFcXFyXHBhcg0KICBHcXVtcW1DTEVHb21PclYwcFcwR0gwR1dLS3ZjRVI3NmQ4T3NROXZN
ZFBPMlliQmhxRkU0S0VPS3E0S3Z5cXU4YmpGdWtsVzRjOVxwYXINCiAgLE5HQjk2bjFqdlBFcWFx
cHNNVDlRSFBOYjk2VGZOVWFoaWdaaHR0TUYxR0tFcXFyRzRNTVI5Tiw3Ujl2UTBHczhiYiwyaWdo
Z1ZccGFyDQogIFJpWjNZWGRQZFBNNTlScXFtdW00cUVSTDhOOVBUbm9FbHk0VWFVaU1NZDk2VDFh
YVpwWkI2SkZIRXFxa2E0NTlPRUVhNGRYZGhCXHBhcg0KICBnQjJZVjNZb2hBb0FJZTNCY0F0N2JP
TVBQTlJQTndZVUlpVlppY2hnbTNZb05NUjk2RE5GWFBSMW5vR2Jib1pVQWRVMmltN1FnZ1xwYXIN
CiAgVUFnWVpnZHBCRzVPYWlSZ290UHFVNzJlR3hkMWhjMmhlR2hjVUFkblJlVmhCLDc4bDk5LE5T
cDc2Wk9GQVp1MlkweGREWmQzQmNccGFyDQogIENSYkJBVjBoYzVCZENoVjdBVkdoY0loZUdwZFUy
WWMyalVnYlVBamQyWWEyWWMyWnMzWVgyWVUyYWlBM1RlSSw3OFhkOSx0OVdMXHBhcg0KICBFcVhs
b1pVa3dhbUlxazJLSWJHSUVhb3RDM2luNHFrVXVLRTQ0b0JvQyxOT1AxNlIxOVJ5NEguLmJPS2I4
SjlPSFJkSjE4SEY3SFxwYXINCiAgVGVIRE9HUjhKTjc2bFA4LE5ELHRJbnVJLi5VdEJaQmdoZHhn
Y0ZsMllrSmlacGdaZFE5OU56TjFQNkpGSHJZQzlIcWFLcktLRVdccGFyDQogIG1vdUtFR29ta1d1
bVVtS3FRZzFkUGI5UkhOMUhNMEhzSkZPR05PRiw3ODU5NjU3NlJPR05POCxkNyxWWHhoaXBabmhn
b3BpVlpoXHBhcg0KICBVUVlVUWdpUWlaWkNBWlV3ZEdsbHk0WlBOMTlQaFBNTjk2RXRLcWtVZEFa
VVljRDNZWDNZdWdiVVFnaVloZHBoZjNZM3BkMlJiQlxwYXINCiAgUWljeGhwVld0TVRQUDJab3hp
ZGxJcWsyYS4uLi5VbiwwMFFDa0kwMHVyWUNyZDQ0RnRNVGZQODVFSzBtbHVHdC5hbUkuLi5rNEdc
cGFyDQogIFpWWmliUWlVQUIxTjFQTTFwUmQ4cG1xcXJBQndZQ3hoaWgzczcsLEVFR3JvNjZabnRH
NXNQQ0xMcWs0R1paUkM0S3QyWWQsa21HXHBhcg0KICBhZDc2ZDFWbnJDYVlWbjdGRVZZY2RwaTF4
aGlSaW9aWlVnZHBaaDF4aGksMThON3ZFVGZQa2RLTGxDb3JFTEFkVVFpY1ZVUWljeFxwYXINCiAg
aHIzWTJCaHFSNjY2MXZRNGFVZ2dzLGVuNHFFZTY2NVBSWlhpNzY1SG0yWWFKaVZ4Z2loZ2laQ0h2
UXBOMVBNMEhNR0I4NmRQU0tccGFyDQogIEtMT3FyZ2hVQWRDM1ltaGdWWmhIaGdvM1lJM2QzcGRC
QSxITUdBamlJQzFIdjY2MmFpMmFVWWU2LEFWN2xVOG9kV0d3dUd0S3FrXHBhcg0KICBVZDJZeDZG
OWZSZ2RpQWRpcGdHaGdWNzZkOEcuSGtZLmFMTDg1TzUuLi4sLDBtbThMdFdHTjRITmFtNGFrMmFr
MmdjQVJlN3BjVVxwYXINCiAgQURFdjY2eE5ELDdBLDdKRjBwZjlaUE4ucE5ELDdTUmRRLlBNMEhN
MEhrV01GLGRTUmRRLiwsUDdTUmRROTFnLEEsOWVIcWsyYVVccGFyDQogIDdnY0FOR0E2LlVkLi4u
MDAuY1IyMjJhQkFWN00wOTAyWixKY0gsLkhGVHFIRTRuSTBtYjhKRVdtVUV3LlV3Z2JVZ2QsM2Zj
SWUzXHBhcg0KICBCNjBHSjBtVTgybjEuSEZlV29XZyxBLHBmOVpQTlVVVXMsVWoyWXRwWm0sZyxB
VjNsV2dnbUpDMEhPYW00YS5ITUZSMDZILk1CSFxwYXINCiAgTjFILlJXQkFkVVVrbG1JaVozaWdC
Z1hCaGl4QUg5UixkTWVuNHFrMkE3RzUuLlE4LmtZNjhsZjlaMWhYVWdiVTI0Vk44LGQ3QWpccGFy
DQogIGlJQy4uR0pZNjY5MVdITWFtNGFVN2djQU5HTUU2Uy5BWlVnNSw3RjlmUi5VZDJZYWtVa3cu
aDFxMS4uQTNkMC5YbEkuZzZwMW9DXHBhcg0KICAwR1IuLnkwLmcsY0g2SkZYWjNqZFZpbG04THR5
S3RDcjRhRU4wSE9lbjIwTHR5S202Uiw3UlR2UCw3UDFmUURQTlBjN0hjQVZOQlxwYXINCiAgcE4w
N1BPaFBPRUU4NHAxUHNSVFBSTlhpeEI4YVVnaW43Tix0UFo5NlJQTjlubUdLTE1GWmZRVG40YUVO
NEhOZW4yYUtxbXFtU3FccGFyDQogIGttS0VNTTBtcjBybThib3RQMG00U3JySzU4NExQTlY5Uk9x
ck1HUmVGLHQ5LE5HUmVGUk4xUE1GLldITWVuMjhybTQ0cFBOMllqXHBhcg0KICAyWXVoZ21Gcnk0
VlBOWlBQTU43UDFIdlEsTk0sZFA5dlIsdFFmdk5EUE5iOVJIdlBtV1doQ0thbUZFOG5NOEhFQ3Fy
SzVFdEtxdVxwYXINCiAgZ2dZZE42UkZQTzJpcEppa3hobmhnaWdWQmdWdW1lY1FnZGRwaHBGSDBt
VThZQmdWSWx0LkNyb3E0OExFQ0tvVW4zWW8zaFZGdXdccGFyDQogIGhuaGdVQWdnSmlaQmdZQkQ3
bnRDS3RhS2xLS211V0l4aWozWWloZ3I3UVp2UDUxRUlhb3R1b21TcVZ5S3JNTUdMRU9HRXVvbVM0
XHBhcg0KICA5UDgsTk1aWGQsUDFjUjlmUW5ubG00bTQzUE1iUE43bnJ1S0U4R2FLcXRDclZ5S3Jj
NixkNyxkNmJPUjN2RVVnMllXVnJCaG9sclxwYXINCiAgOEt2YXFyS3J0MG1sVzRFSUNyb3E0SFhY
LENMRXluSXVtNC5UOFJGUE5aMVVCZ1Y4aGluWmlVd2hpaEFUZlEsN1JqdlBLS3ZLS3JccGFyDQog
IDBtcXlLdE1Qd2htM1lYM0JFTG82MG1tLjk5Nnlha2hBNjY3UE9oUE9VamxrSWUzQjYsZEoxZUlI
MTBHbGFMRTRLRUNvYi5JalpWXHBhcg0KICBkWkNISEVxcW04cm1tcXdvaFpSZ1psa0V1c01nQjJZ
amhpbzdSRlhqcGhaN1BVZEZXRWM4WUQzaWRnVkJBVjdNMEE3QUQ1OVAxdlxwYXINCiAgUWI5NnZG
YkNxcnU0SDc2QlZ0bHJ1S3Y0S3F1R3RLNGhYVWc1YUdFRzNVYzZBMlkzcGQyaCxCdVAwbWx5cXEw
THFLS3VLS0VHcW1ccGFyDQogIEdya2FLcUNMRTRxdGlLRXFxbTBHbnk0ZDlPOW5xeWFkcEE5WGFC
aGdoZ25wM1BNMTV1UFBub2NRQ29iLlFjY0JBNjZSdUhkODZWXHBhcg0KICBlUVQ5UUNiWWhWQkly
WnVJZjlRVnZQR0xFVUNWaTJZSSxqdlBmMVBQTUxYZ0JobyxiUE5SdlE5OTksTk9HcW1LS20wR2xN
T1J2TVxwYXINCiAgTU5SUE85ZlBkOTksZE5UWDEsc1EsdFJGUE9OUE4sRm9BalVBZ21GcllDYlBS
VjFLNDNQUyxkSjEwc1FjaUFkVXdpVlJpVVlpWmhccGFyDQogIEJkUE43OTZkdlAsTk1DcnIwbXRL
cm4uNTlPTU9Sdk5xb1l1SUVPR0Vxb1VXSkVDcnIwR3VXYW8zWUJCZEM3ODE5OSxkTUg3NnY3XHBh
cg0KICA2UE9HUldXWlpVQWdkb1pVWThNT2I5NjE5UE1OMXZRbjk2eWFkLFAxUjc2M09SWUIxZlJI
ZlBEOTZkbm0wbW1XNW9CQ29iLjBtbFxwYXINCiAgVWhoZ1Z0USw3UkZQTUFob2RNOTlPZ2duM1lv
M2hadFExUFA5OTYxdlEsZEVOMUVmLjJZVkppZCxjOTRvdDBta3VhVlJpZFpnWjdccGFyDQogIFI2
RlQ4SixkSDk4Siw3UDhLdDRLdGFiYWhDc1AyWVZaQm9nVkJoZzNZb3hCYlBNZG50QWpVWWljbHRh
cnFxcW1HTHRhTEVDcXJZXHBhcg0KICBnZFppZHhCLE5NM3ZQaEhLMEdsSzVIZlAsTk0sN05PNFox
U3Jrb1pVZ1ZCSUw4cHJLTHJBaGlkOSw3SktxdHNRZnZOa21HS0VDS1xwYXINCiAgb2ttTVAxdk9J
Y2dCQVUxLGtrODUuLE5QZnZNRjk2UHZQWlhubG9tNCw3UlQ5NjMwVUssLi5ZMzNQUm9kRFo4ZFdV
UWUsaGQzcFpccGFyDQogIEJNRSx0UUhIczY2OW5rNlBlWDdBYWlNOSw3NlhkOSxOOTRITHltUHVH
RXFHRS4uLi4uLi5rNHFrZmFLdVdhMSwuLjJZbzNCOHJtXHBhcg0KICBDcnVZaVVBaG5kQVJkQVo3
QTlPOVZOQWhkOVBzSkg5Um84Li4uRmRJOVduM1lqSmlVUWU2eGRHWmVHaGMsbEkwR3UuLjJiaUFh
blxwYXINCiAgSWEzaFprSWFrMllXaGdYQkFLS0VHNWFhb2hnbWhoWlpnZEJnb2hnVWdBVmZROW50
YTRiWG1sbU81NEt1S0ttZ2luQmhpeEExWHNccGFyDQogIDJhaElnZFppVW9nZ3hCb0IsN1FUUE8y
WXBwaGRaaWlnVmNvZSxKOFlCLi41UE1SOTY5UFBmOVAxWFVZQ1E2LktLd01OVVVJQUdxXHBhcg0K
ICBtbXFvOHFtOHJrR3JtQURadlBmZlBVVlpoZ05PUjlSLjY2OTEuYkh1eWFxWWFVSWdkWmlucFpk
Z1ZCZ1YxZFA1OVBmdlFIdlBlWFxwYXINCiAgQkFkVVlDSGZQTEh1V3FrNlJzTVR2UWQ5OSxkTlox
RlBOWlBOTjc2VGZOLE5PUDlRZ0JBaGlGdWdnbkZzOGJreEIxOVBiOTZIWG5ccGFyDQogIGhoVlZW
UkNkWFVZQWJQT0RmUCxscjhycDBHbzRxdEFnZ0pDRWxLcW11YVl4aGlsa3VLbTJaZ0JoYjNob1po
dEJaVVlpWlJDOUhMXHBhcg0KICAwV2M3NjU5Ty4xZlFzUWJQTlI5UkhQTU45UG5udGE0b1pVZ2RW
QmpXaGdVWWljaGdtNzZqdlBFbDIyVFBQb2lqWmhwcGhvaGdaSlxwYXINCiAgaW43UjJpbXRQQlA5
WlBOMTlOLEZvMjIub2hZN1I5dlEwR3M4cnJTNDY5LHRQWjk2OWZSOVhtaGlpM1lueEJZaVpsdDBH
bnk0ZFhccGFyDQogIGhSaVpaaHFoZ25wWkJzSVQ5Nkg4NjFQUG1xcnlxcGFLclNhYXhCT3FtS0tt
OHFrQ3FwMG1rdTRUOVFIZlBIdlBSdlF5S3JZQ0M1XHBhcg0KICA2UWdBLHRNLmFLcjBHbktMci4x
OVBIOVJ1bTRxRWUuLmNIVDg2NTlPLmR2UEc1LDdITVIxMTJDR0xFNHF0WWljbG1BQm9CbXFvcVxw
YXINCiAgNDE5UkhYbk5NY1A2TlR2TS43ZjlQRWU2NlpQTktib1JpVXdoYTdSRlhvaEEwMFR2TlVV
SWlwbHV1S21LS3QwbWswR25LTHFrcXlccGFyDQogIDRCMUNxcnE0SUM4cm1lMTk4U2t0RUUwMCxG
ZmtrWUIwV1VRNi4wV0hWQkVFMjIuVUd0UWZYVTIyLFZHLEVFc0RnYWkyMixGRS5lXHBhcg0KICAx
ZzQ2RFVVLjIyZDAsbEtLSEwwR0U2Ni5wLFBOQlI3Nlk1a0suLDc2RzM2NlZkOSw3NixGRS5lMTI0
LFZ3LjAwRUVZOGtLMDEsVlxwYXINCiAgVS5JNWdaa28zWTVrSy4sNzZHM00xLE5CUmxMMlk3cGQ0
M1lVMjJwLDAxWTVFRS4wV0kscW1PczkuY0NNOVV3LnEwNjYsRmUuLE5ccGFyDQogIEJSLFBOR1Jl
RiwscCxQLFk1a0suLDc2RzNNOS4uZTEyNDZEVVUuMjJkMGdWaDJaVWtJMjIwMGUxcTA2RFVoLjBH
RVk4a0tXMFJOXHBhcg0KICA4RUVFUlVrNjZZNUVFLjBXSSxtNTZUNjZjQ0VNVXcuMDBFRVk4azQw
R0VLMSxOOTBHRUsxZTEyNDZEVVUuMjJkMDJZVS5QLFYscFxwYXINCiAgLDAxMEdTLiwsNjZHMy5N
OVdXa0VFZTEyNDJZdy4wMEVFWThFSTI0ZzMsLEk1ZzMwV1VZNWtLLiw3NkczLmEwVzBjQ0VNVXcu
MDBccGFyDQogIEVFWTguZmxJZzNnNEk1NkFFUy4sLDY2RzNNMS5MLGYsVWsudCwyMlVVNkpVVS5p
V1U2QWNDRU1FRW0xNjYuLEZlLi5MRkkyNC4wXHBhcg0KICAxMEdTLiwsNjZHMzY4MDFpMFV1LlYs
LDdEVVUuMjJkMC5FSS5wLFBWVUVTLlAsMllVNkouSzFpV1VNQmNDRU1Vdy4wMEVFWThnVlxwYXIN
CiAgQkFkYSwsbG9DTG8wR3V5YVh4aGlSaWRaQVo5NmQ5T0M1d2hrbGtBZ1VBaGkzWWgsN1BOZDEs
Rm80S3J3Z2RGckFnV1ZVMmlnbHRccGFyDQogIEthWHhoaVpDNUhFcXFtMDBRQVZQTy42NlM1UHZQ
Li5FbllCbUdFNDQ0YVh4aGtCalV3aGEsZ0FnaGpaZ3BGTHFVR3hoV2hnbVppXHBhcg0KICBVUWNW
aGhrSmdaWmhnaFZsd2Fob2NaSmdoSWFrMmFzZ1YwQ3lJaGdzdEVUSHU4cnJtS3FLS3RDTExDSnVH
cVZHTHRtS1dLcXRDS1xwYXINCiAgLjREbDEuYzk1dVBSMUVXc00sa1Z5YW9CZ2RwQlpITFVtLC4u
VW5wMy42RjYuWjUwLkcsMC5hRS4wVS4yLi5BVTBlMTBVLjIuNEtccGFyDQogIC4yVTUyVS4yVU5W
LjIuNVkuMlUuMi4uRjYuLDYueiwwLjMyLDYuMC4uWTIyVSwyLjIuMllYVy42LjU4UjEuQS5BLjJV
LkUsaCwsXHBhcg0KICBVLi4ucFUuNi5NLkVKMndBQy42LlZRLkUuLllWc0g0RUtpdGhRVnM5RTNR
dzcwa3R1bVZ5NC4uZjYuNi4uRTJFLlU3Ni4ybjlSQ1xwYXINCiAgZE05NUIuLEF6SkUublQzMlhE
M0JkQUFsQS4ubWgwLi4uXHBhcg0KICAtLS0gZW5kIG9mIGVuY29kaW5nIC0tLVxwYXINClxwYXIN
ClxwYXINClxwYXINCkFuIEludmVzdGlnYXRpb24gaW50byBCbGFja0JveCdzIENPTlNUYW50IFJF
QUwgQXJpdGhtZXRpY1xwYXINClxwYXINCkludHJvZHVjdGlvblxwYXINClxwYXINCkZvbGxvd2lu
ZyBvbiBmcm9tIHNvbWUgcmVjZW50IGNvbW1lbnRzIG9uIHRoZSB1c2VyIGdyb3VwIGxpc3QgSSBo
YXZlIGRvbmUgYSBtb3JlIFxwYXINCmNhcmVmdWwgaW52ZXN0aWdhdGlvbiBpbnRvIEJsYWNrQm94
J3MgQ09OU1RhbnQgUkVBTCBBcml0aG1ldGljLlxwYXINClxwYXINCkkgc2hhbGwgbWVudGlvbiBm
b3VyIHR5cGVzIG9mIGFyaXRobWV0aWM7IDEgJ21hdGhlbWF0aWNhbCcgYW5kIDMgdHlwZXMgb2Yg
XHBhcg0KJ2NvbXB1dGVyJyBhcml0aG1ldGljOlxwYXINClxwYXINCjFcdGFiIE1hdGhlbWF0aWNh
bCBhcml0aG1ldGljLiBJIG1lbnRpb24gdGhpcyBvbmx5IHRvIHBvaW50IG91dCB0aGF0IGl0IGlz
IGRpZmZlcmVudCBccGFyDQp0byBjb21wdXRlciBhcml0aG1ldGljIGluIG1hbnkgc2lnbmlmaWNh
bnQgd2F5czsgYSBmZXcgYXJlOlxwYXINClx1OTY1OCA/XHRhYiBcdGFiIE5vICdpbmZpbml0eScg
LSB3ZWxsIG5vdCBhcyB1c2VkIGluIGNvbXB1dGVyIGFyaXRobWV0aWMuXHBhcg0KXHU5NjU4ID9c
dGFiIFx0YWIgTm8gZGlzdGluY3Rpb24gYmV0d2VlbiArMC4gJiAgLTAuXHBhcg0KXHU5NjU4ID9c
dGFiIFx0YWIgMS4gLyAwLiBoYXMgbm8gbWVhbmluZy5ccGFyDQpcdTk2NTggP1x0YWIgXHRhYiAo
YSArIGIpICsgYyA9IGEgKyAoYiArIGMpXHBhcg0KXHU5NjU4ID9cdGFiIFx0YWIgTm8gY29uY2Vw
dCBvZiAnaW5leGFjdCBmbGFnJ1xwYXINClxwYXINCjJcdGFiIElFRUUgNzU0ICgxOTg1KSBzdGFu
ZGFyZCBmb3IgZmxvYXRpbmcgcG9pbnQ6XHBhcg0KVGhpcyBpcyBhIHN1aXRhYmxlICdyZWZlcmVu
Y2UnIGNvbXB1dGVyIGFyaXRobWV0aWMgYmVjYXVzZTpccGFyDQpcdTk2NTggP1x0YWIgXHRhYiBJ
dCBpcyBhIGdvb2Qgc3lzdGVtLCBjYXJlZnVsbHkgdGhvdWdodCBvdXQgYnkga25vd2xlZGdlYWJs
ZSBwZW9wbGUsIGFuZCB3ZWxsIFxwYXINCmRvY3VtZW50ZWRccGFyDQpcdTk2NTggP1x0YWIgXHRh
YiBJdCBpcyBjdXJyZW50bHkgd2lkZWx5IHN1cHBvcnRlZCBpbiB0aGUgY29tcHV0ZXIgaW5kdXN0
cnlccGFyDQpcdTk2NTggP1x0YWIgXHRhYiBJdCBpcyAodGhlIG9ubHkgc3lzdGVtKSBpbXBsZW1l
bnRlZCBvbiBCbGFja0JveCdzIHRhcmdldCBoYXJkd2FyZVxwYXINClx1OTY1OCA/XHRhYiBcdGFi
IEkgYW0gdW5hd2FyZSBvZiBhbnkgc2VyaW91cyBjdXJyZW50IGFsdGVybmF0aXZlc1xwYXINClxw
YXINCjNcdGFiIEJsYWNrQm94J3MgVkFSaWFibGUgYXJpdGhtZXRpYy5ccGFyDQpUaGlzIGlzIGVz
c2VudGFpbGx5IGEgc3Vic2V0IG9mIElFRUUgNzU0LiBUaGUgbWFpbiBkaWZmZXJlbmNlIGlzIHZl
cnkgbGltaXRlZCBccGFyDQpzdXBwb3J0IGZvciBOYU5zIChOb3QtYS1OdW1iZXJzKS4gT3RoZXIg
ZGlmZmVyZW5jZXMgYXJlIG1vcmUgc3VidGxlLCBhbmQgXHBhcg0KcHJvYmFibHkgdGhlIHN1Ympl
Y3Qgb2YgYSBkaWZmZXJlbnQgZGlzY3Vzc2lvbi4gU2luY2UgdGhpcyBhcml0aG1ldGljIGlzIFxw
YXINCmltcGxlbWVudGVkIGJ5IElFRUUgY29tcGxpYW50IGhhcmR3YXJlIHRoZSBjbG9zZSBzaW1p
bGFyaXR5IGlzIHRvIGJlIGV4cGVjdGVkLlxwYXINClxwYXINCjRcdGFiIEJsYWNrQm94J3MgQ09O
U1RhbnQgYXJpdGhtZXRpYy5ccGFyDQpUaGlzIGlzIGEgc2VyaW91cyBzdWJzZXQgb2YgQmxhY2tC
b3gncyBWQVJpYWJsZSBhcml0aG1ldGljLlxwYXINCkkgYXJndWUgaW4gdGhpcyBwYXBlciB0aGF0
IHRoZXNlIGRpZmZlcmVuY2VzIHNob3VsZCBiZSwgYW5kIGVhc2lseSBjYW4gYmUsIHJlbW92ZWQu
XHBhcg0KVGhlIG1ham9yIGRpZmZlcmVuY2VzIHN0ZW0gZnJvbSB0aHJlZSBzb3VyY2VzOlxwYXIN
Clx1OTY1OCA/XHRhYiBcdGFiIERpdmlzaW9uIG9mIG5vbi16ZXJvIGJ5IHplcm8gdG8gcHJvZHVj
ZSBJTkZpbml0eSBpcyBmb3JiaWRkZW4uXHBhcg0KXHU5NjU4ID9cdGFiIFx0YWIgU2ltcGxlIG9w
ZXJhdGlvbnMgcGVybWl0dGVkIGJ5IElFRUUgJiBCbGFja0JveCBWQVJpYWJsZSBhcml0aG1ldGlj
IGFyZSBccGFyDQpmb3JiaWRkZW4gaW4gQ09OU1RhbnQgYXJpdGhtZXRpYy4gRm9yIGV4YW1wbGUg
MS5FMjAwICogMS5FMjAwLlxwYXINClx1OTY1OCA/XHRhYiBcdGFiIE5vIGF0dGVtcHQgaGFzIGJl
ZW4gbWFkZSB0byBkaXN0aW5ndWlzaCArMC4gZnJvbSAtMC4gVGhpcyBsZWFkcyB0byBjb25mdXNp
bmcgXHBhcg0KYW5vbW9saWVzLlxwYXINClxwYXINClxwYXINClRoZXJlIG1heSBiZSBoaXN0b3Jp
Y2FsIHJlYXNvbnMgZm9yIHNvbWUgb2YgdGhlc2UgY2hvaWNlcy4gQnV0IGZyb20gdG9kYXkncyBc
cGFyDQpwZXJzcGVjdGl2ZSB0aGUgc2l0dWF0aW9uIGlzIHVuc2F0aXNmYWN0b3J5LiBUaGUgQ09O
U1RhbnQgYXJpdGhtZXRpYyBkaWZmZXJlbmNlcyBccGFyDQpuZWVkIHRvIGJlIGRvY3VtZW50ZWQs
IGFuZCBwcm9ncmFtbWVycyBuZWVkIHRvIGZpbmQgdGhpcyBkb2N1bWVudGF0aW9uLCBccGFyDQp1
bmRlcnN0YW5kIGl0LCBhbmQgcmVtZW1iZXIgaXQuIFRoZXNlIGFyZSB1bm5lY2Vzc2FyeSB0YXNr
cywgd2hlcmVhcyByZW1vdmluZyBccGFyDQp0aGUgZGlmZmVyZW5jZXMgaXMgb25lIHJlbGF0aXZl
bHkgZWFzeSB0YXNrLlxwYXINClxwYXINCkkgcHJvcG9zZSBiZWxvdyB0aGF0IEJsYWNrQm94J3Mg
Q09OU1RhbnQgYXJpdGhtZXRpYyBiZSBtb2RpZmllZCB0byBjbG9zZWx5IGFsaWduIFxwYXINCndp
dGggIEJsYWNrQm94J3MgVkFSaWFibGUgYXJpdGhtZXRpYywgYW5kIHRoYXQgdGhlIGN1cnJlbnQg
cmVzdHJpY3Rpb25zIGFyZSByZW1vdmVkLlxwYXINClxwYXINClxwYXINCkJhY2t3YXJkIENvbXBh
dGliaWxpdHlccGFyDQpccGFyDQpGaXJzdGx5IEkgYW0gcHJvcG9zaW5nIG5vIGNoYW5nZXMgdG8g
dGhlIExhbmd1YWdlIFJlcG9ydC5ccGFyDQpccGFyDQpUaGUgZmlyc3QgdHdvIGNoYW5nZXMgKHBl
cm1pdHRpbmcgZGl2aXNpb24gYnkgMC4gYW5kIGFsbG93aW5nIGV4cHJlc3Npb25zIGxpa2UgXHBh
cg0KMS5FMjAwICogMS5FMjAwKSBjYW4gaGF2ZSBubyBpbmZsdWVuY2Ugb24gYW55IGV4aXN0aW5n
IHByb2dyYW1tZXMuIFRoZWlyIGVmZmVjdCBccGFyDQppcyB0byBhbGxvdyBzb21lIHNvdXJjZXMg
dGhhdCBjdXJyZW50bHkgZG8gbm90IGNvbXBpbGUgdG8gY29tcGlsZSBpbiB0aGUgZnV0dXJlLlxw
YXINClxwYXINCkltcGxlbWVudGluZyB0aGVzZSBjaGFuZ2VzIGxlYWRzIHRvIHR3byBkaWZmZXJl
bnQga2luZHMgb2Ygc2ltcGxpZmljYXRpb246XHBhcg0KXHRhYiBcdTk2NTggP1x0YWIgVGhlIHBy
b2dyYW1tZXIgZG9lcyBub3QgaGF2ZSB0byByZW1lbWJlciwgYW5kIHdvcmsgYXJvdW5kLCB1bmRv
Y3VtZW50ZWQgXHBhcg0KcmVzdHJpY3Rpb25zIGluIHBhcnRzIG9mIEJsYWNrQm94J3MgYXJpdGht
ZXRpYywgYW5kIGluIGNvbnRyYXN0IHRvIHdoYXQgb25lIFxwYXINCm1pZ2h0IGV4cGVjdCBpbiB0
aGUgSUVFRSA3NTQgZXJhLlxwYXINClx0YWIgXHU5NjU4ID9cdGFiIFRoZSBjb21waWxlciBpcyBz
aW1wbGlmaWVkIGJlY2F1c2UgdGhlIGNvZGUgdGhhdCBpZGVudGlmaWVzIHRoZXNlIFxwYXINCnJl
c3RyaWN0aW9ucyBpcyBqdXN0IHJlbW92ZWQuXHBhcg0KXHBhcg0KVGhlIHRoaXJkIGNoYW5nZSAo
ZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiArMC4gJiAtMC4pIGlzIG1vcmUgaW52b2x2ZWQuIEl0IGNv
dWxkIFxwYXINCmFmZmVjdCBzb21lIGV4aXN0aW5nIHByb2dyYW1tZXMuIEkgd291bGQgZ3Vlc3Mg
aXQgYXBwbGllcyB0byB2ZXJ5IGZldywgYW5kIGEgXHBhcg0KcHJvZ3JhbW1lIHRoYXQgcmVsaWVz
IG9uIHN1YnRsZSB1bmRvY3VtZW50ZWQgZGV2aWF0aW9ucyBmcm9tIHRoZSBJRUVFIHN0YW5kYXJk
IFxwYXINCndheSBvZiBoYW5kbGluZyArICYgLSAwLiBwb3NzaWJseSBkZXNlcnZlcyBsaXR0bGUg
c3ltcGF0aHkhXHBhcg0KXHBhcg0KXHBhcg0KQ3VycmVudCBOb24tSUVFRSBiZWhhdmlvdXIgb2Yg
QmxhY2tCb3ggemVybyBDT05TVGFudHMuXHBhcg0KXHBhcg0KVGhlIHRhYmxlcyBiZWxvdyBnaXZl
cyBzb21lIGV4cGVyaW1lbnRhbCByZXN1bHRzIGNvbXBhcmluZyBCbGFja0JveCBDT05TVGFudCBc
cGFyDQphcml0aG1ldGljIHdpdGggQmxhY2tCb3ggVkFSaWFibGUgYXJpdGhtZXRpYy4gSW4gYm90
aCB0YWJsZXMgdGhlIFZBUmlhYmxlIFxwYXINCmFyaXRobWV0aWMgYWdyZWVzIHdpdGggSUVFRS4g
VGhlcmUgYXJlIHR3byB0YWJsZXMgYmVjYXVzZSB0aGUgQ09OU1RhbnQgXHBhcg0KYXJpdGhtZXRp
YyBpcyBub3QgY29uc2lzdGVudC5ccGFyDQpccGFyDQpUYWJsZSBPbmU6XHBhcg0KXHBhcg0KRXhw
cmVzc2lvbiAgICAgIFZBUmlhYmxlICAgIENPTlNUYW50ICAgU2FtZVxwYXINCiAgICAgICAgICAg
ICAgICAgIFJlc3VsdCAgICAgIFJlc3VsdCAgICAgID9ccGFyDQogIDAuICAgICAgICAgICA6ICAg
IDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCi0wLiAgICAgICAgICAgOiAgIC0wLiAgIDx+
PiAgICAwLiAgICAgIEZBTFNFXHBhcg0KLSggMC4pICAgICAgICA6ICAgLTAuICAgPH4+ICAgIDAu
ICAgICAgRkFMU0VccGFyDQotKC0wLikgICAgICAgIDogICAgMC4gICA8fj4gICAgMC4gICAgICBU
UlVFXHBhcg0KfCgtMC4pfCAgICAgICA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXIN
ClxwYXINCiAgIDUuICAtICAgNS4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBhcg0K
ICAgMC4gIC0gICAwLiAgOiAgICAwLiAgIDx+PiAgICAwLiAgICAgIFRSVUVccGFyDQogICAwLiAg
LSAoLTAuKSA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCigtMC4pIC0gICAwLiAg
OiAgIC0wLiAgIDx+PiAgICAwLiAgICAgIEZBTFNFXHBhcg0KKC0wLikgLSAoLTAuKSA6ICAgIDAu
ICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCigtNS4pIC0gKC01LikgOiAgICAwLiAgIDx+PiAg
ICAwLiAgICAgIFRSVUVccGFyDQpccGFyDQogICA1LiAgKyAoLTUuKSA6ICAgIDAuICAgPH4+ICAg
IDAuICAgICAgVFJVRVxwYXINCiAgIDAuICArICAgMC4gIDogICAgMC4gICA8fj4gICAgMC4gICAg
ICBUUlVFXHBhcg0KICAgMC4gICsgKC0wLikgOiAgICAwLiAgIDx+PiAgICAwLiAgICAgIFRSVUVc
cGFyDQooLTAuKSArICAgMC4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBhcg0KKC0w
LikgKyAoLTAuKSA6ICAgLTAuICAgPH4+ICAgIDAuICAgICAgRkFMU0VccGFyDQooLTUuKSArICAg
NS4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBhcg0KXHBhcg0KXHBhcg0KVGFibGUg
VHdvOlxwYXINClxwYXINCkV4cHJlc3Npb24gICAgICBWQVJpYWJsZSAgICBDT05TVGFudCAgIFNh
bWVccGFyDQogICAgICAgICAgICAgICAgICBSZXN1bHQgICAgICBSZXN1bHQgICAgICA/XHBhcg0K
ICAwLiAgICAgICAgICAgOiAgICAwLiAgIDx+PiAgIC0wLiAgICAgIEZBTFNFXHBhcg0KLTAuICAg
ICAgICAgICA6ICAgLTAuICAgPH4+ICAgLTAuICAgICAgVFJVRVxwYXINCi0oIDAuKSAgICAgICAg
OiAgIC0wLiAgIDx+PiAgIC0wLiAgICAgIFRSVUVccGFyDQotKC0wLikgICAgICAgIDogICAgMC4g
ICA8fj4gICAtMC4gICAgICBGQUxTRVxwYXINCnwoLTAuKXwgICAgICAgOiAgICAwLiAgIDx+PiAg
IC0wLiAgICAgIEZBTFNFXHBhcg0KXHBhcg0KICAgNS4gIC0gICA1LiAgOiAgICAwLiAgIDx+PiAg
IC0wLiAgICAgIEZBTFNFXHBhcg0KICAgMC4gIC0gICAwLiAgOiAgICAwLiAgIDx+PiAgIC0wLiAg
ICAgIEZBTFNFXHBhcg0KICAgMC4gIC0gKC0wLikgOiAgICAwLiAgIDx+PiAgIC0wLiAgICAgIEZB
TFNFXHBhcg0KKC0wLikgLSAgIDAuICA6ICAgLTAuICAgPH4+ICAgLTAuICAgICAgVFJVRVxwYXIN
CigtMC4pIC0gKC0wLikgOiAgICAwLiAgIDx+PiAgIC0wLiAgICAgIEZBTFNFXHBhcg0KKC01Likg
LSAoLTUuKSA6ICAgIDAuICAgPH4+ICAgLTAuICAgICAgRkFMU0VccGFyDQpccGFyDQogICA1LiAg
KyAoLTUuKSA6ICAgIDAuICAgPH4+ICAgLTAuICAgICAgRkFMU0VccGFyDQogICAwLiAgKyAgIDAu
ICA6ICAgIDAuICAgPH4+ICAgLTAuICAgICAgRkFMU0VccGFyDQogICAwLiAgKyAoLTAuKSA6ICAg
IDAuICAgPH4+ICAgLTAuICAgICAgRkFMU0VccGFyDQooLTAuKSArICAgMC4gIDogICAgMC4gICA8
fj4gICAtMC4gICAgICBGQUxTRVxwYXINCigtMC4pICsgKC0wLikgOiAgIC0wLiAgIDx+PiAgIC0w
LiAgICAgIFRSVUVccGFyDQooLTUuKSArICAgNS4gIDogICAgMC4gICA8fj4gICAtMC4gICAgICBG
QUxTRVxwYXINClxwYXINClRoZSBmdW5kYW1lbnRhbCBwcm9ibGVtIGlzIHRoYXQgdGhlIGNvbXBp
bGVyJ3MgdGFibGUgb2YgcHJvY2Vzc2VkIENPTlNUYW50IFxwYXINCnZhbHVlcyBkb2VzIG5vdCBh
bGxvdyB0aGUgJ3NhbWUnIENPTlNUYW50IHRvIGJlIGVudGVyZWQgdHdpY2U7IGluc3RlYWQgdGhl
IGZpcnN0IFxwYXINCmlzIHJldXNlZC4gVW5mb3J0dW5hdGVseSB0aGUgY29tcGlsZXIgdXNlcyBl
cXVhbGl0eSAoJz0nKSB0byB0ZXN0IGZvciBccGFyDQonc2FtZW5lc3MnLiBUaGlzIGlzIGluY29y
cmVjdC5ccGFyDQpccGFyDQorMC4wIGRvZXMgPSAtMC4wLCBidXQgaXQgaXMgbm90IHRoZSAnc2Ft
ZScuXHBhcg0KXHBhcg0KSXQgaXMgdGhpcyBmYWN0IHRoYXQgbGVhZHMgdG8gdmFyaWFibGUgdGVz
dCByZXN1bHRzLiBTaWRlIGVmZmVjdHMgb2YgYXBwYXJlbnRseSBccGFyDQp1bnJlbGF0ZWQgcHJv
Y2VkdXJlcyBjYW4gYWx0ZXIgdGhlIGJlaGF2aW91ciBvZiBhIHByb2NlZHVyZS4gSSByZWdhcmQg
dGhpcyBhcyBhIFxwYXINCmJ1ZywgYW5kIG9uZSB0aGF0IGNhbiBiZSBoYXJkIHRvIGRldGVjdCwg
aGFyZCB0byBpc29sYXRlLCBhbmQgaGFyZCB0byB3b3JrLWFyb3VuZC5ccGFyDQpccGFyDQpGb3J0
dW5hdGVseSBpdCBpcyBzaW1wbGUgdG8gY29ycmVjdC5ccGFyDQpccGFyDQpccGFyDQpJZiB5b3Ug
bWFrZSB0aGlzIGNvbXBpbGVyIGNoYW5nZSB0byBhbGxvdyBib3RoICswLiAmIC0wLiBzaW11bHRh
bmVvdXNseSwgdGhlbiBccGFyDQpyZXJ1biB0aGUgYWJvdmUgdGVzdCwgaXQgcmV2ZWFscyBzb21l
IG1vcmUgZGlzY3JlcGFuY2llcyAodHdvIGV4YW1wbGVzIGFyZSBccGFyDQpiZWxvdzsgdGhlcmUg
YXJlIG90aGVycykuXHBhcg0KXHBhcg0KXHRhYiBcdTk2NTggP1x0YWIgVW5hcnkgbWludXMgKE5l
Z2F0aW9uKSBpcyBpbXBsZW1lbnRlZCBpbmNvcnJlY3RseSAoYXMgU3VidHJhY3Rpb24pLlxwYXIN
Clx0YWIgXHRhYiAiIC0gRXhwcmVzc2lvbiIgaXMgaW1wbGVtZW50ZWQgYXMgIjAgLSBFeHByZXNz
aW9uIi4gQnV0IDAuIC0gMC4gaXMgMC4sIG5vdCAtMC5ccGFyDQpccGFyDQpcdGFiIFx1OTY1OCA/
XHRhYiBBQlMgKC0wLikgZXZhbHV0ZXMgdG8gLTAuIGZvciBDT05TVGFudHMsIG5vdCBmb3IgVkFS
aWFibGVzLlxwYXINClxwYXINClxwYXINCkkgcHJvcG9zZSB0aGF0IHRoZSBjb21waWxlciBpcyBt
b2RpZmllZCB0byByZW1vdmUgdGhlc2UgYW5vbWFsaWVzLiBTdWNoIGNoYW5nZXMgXHBhcg0KYXJl
IHNtYWxsIGFuZCBzaW1wbGUuXHBhcg0KXHBhcg0KXHBhcg0KUHJvcG9zZWQgQ29tcGlsZXIgQ2hh
bmdlcy5ccGFyDQpccGFyDQpDaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIHRoZSBtb2R1bGVzIERldkNQ
RSAmIERldkNQQi4gVGhpcyBzZWN0aW9uIGdpdmVzIGEgZmxhdm91ciBccGFyDQpvZiB0aGUgY2hh
bmdlcy4gSWYgeW91IHdvdWxkIGxpa2UgY29waWVzIG9mIHRoZSBmdWxseSBjaGFuZ2VkIG1vZHVs
ZXMgYW5kIHRlc3QgXHBhcg0KcHJvZ3JhbW1lIHBsZWFzZSBjb250YWN0IG1lLlxwYXINClxwYXIN
Clx1OTY1OCA/XHRhYiBBbGxvd2luZyBib3RoICswLiAmIC0wLiBhdCBvbmUgdGltZS5ccGFyDQpc
cGFyDQpUaGUgbWFpbiBjaGFuZ2UgaXMgdG8gaW1wbGVtZW50IGEgdGVzdCBmb3IgUkVBTCAnU2Ft
ZW5lc3MnIHJhdGhlciB0aGFuIFxwYXINCidFcXVhbGl0eScuIEkgcHJvcG9zZSBhZGRpbmcgdGhl
IGZ1bmN0aW9uXHBhcg0KXHBhcg0KXHRhYiBQUk9DRURVUkUgSXNTYW1lICh4LCB5OiBSRUFMKTog
Qk9PTEVBTjtccGFyDQpcdGFiIEJFR0lOXHBhcg0KXHRhYiBcdGFiIFJFVFVSTiAgKHggPSB5KSAm
ICgoeCAjICAwLikgT1IgKDEuIC8geCA9IDEuIC8geSkpXHBhcg0KXHRhYiBFTkQgSXNTYW1lO1xw
YXINClxwYXINCkFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uXHBhcg0KXHRhYiBcdGFiIFJF
VFVSTiAgU1lTVEVNLlZBTChMT05HSU5ULCB4KSA9IFNZU1RFTS5WQUwoTE9OR0lOVCwgeSlccGFy
DQptaWdodCBiZSBwcmVmZXJyZWQ/XHBhcg0KXHBhcg0KVGhlbiB0aGUgbGluZSAoaW4gRGV2Q1BF
LkFsbG9jQ29uc3QpXHBhcg0KXHRhYiBcdGFiIFx0YWIgV0hJTEUgKGMgIyBOSUwpICYgKChjb24u
c2V0dmFsICMgYy5zZXR2YWwpIE9SIChjb24ucmVhbHZhbCAjIGMucmVhbHZhbCkpIERPIGMgXHBh
cg0KOj0gYy5saW5rIEVORDtccGFyDQpzaG91bGQgYmVjb21lICh0d2ljZSlccGFyDQpcdGFiIFx0
YWIgXHRhYiBXSElMRSAoYyAjIE5JTCkgJiAoKGNvbi5zZXR2YWwgIyBjLnNldHZhbCkgT1Igfklz
U2FtZShjb24ucmVhbHZhbCwgXHBhcg0KYy5yZWFsdmFsKSkgRE8gYyA6PSBjLmxpbmsgRU5EO1xw
YXINClxwYXINClRoYXQncyBpdCFccGFyDQpccGFyDQpccGFyDQpcdTk2NTggP1x0YWIgUmVtb3Zp
bmcgJ05vbi1JRUVFJyBjb21waWxlIHRpbWUgcmVzdHJpY3Rpb25zLlxwYXINClxwYXINClRoZXNl
IGFyZSBpbXBsZW1lbnRlZCBpbiB0aGUgcHJvY2VkdXJlcyBEZXZDUEIuRGl2Q29uc3QsIE11bENv
bnN0LCBBZGRDb25zdCwgXHBhcg0KU3ViQ29uc3QuIEkgc2hhbGwgc2hvdyBEaXZDb25zdCBhcyBh
biBleGFtcGxlOlxwYXINClxwYXINClRoZSBjdXJyZW50IGNvZGUgZnJhZ25lbnQgaXM6XHBhcg0K
XHBhcg0KXHRhYiBcdGFiIElGIHR5cGUuZm9ybSBJTiByZWFsU2V0IFRIRU5ccGFyDQpcdGFiIFx0
YWIgXHRhYiBJRiB5LnJlYWx2YWwgIyAwLjAgVEhFTlxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIg
SUYgQUJTKHgucmVhbHZhbCkgPSBEZXZDUE0uSW5mUmVhbCBUSEVOXHBhcg0KXHRhYiBcdGFiIFx0
YWIgXHRhYiBcdGFiIElGIEFCUyh5LnJlYWx2YWwpID0gRGV2Q1BNLkluZlJlYWwgVEhFTiBlcnIo
MjEyKVxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHRhYiBFTFNJRiB5LnJlYWx2YWwgPj0gMCBU
SEVOIHoucmVhbHZhbCA6PSB4LnJlYWx2YWxccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIg
RUxTRSB6LnJlYWx2YWwgOj0gLXgucmVhbHZhbFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHRh
YiBFTkRccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIEVMU0lGIEFCUyh5LnJlYWx2YWwpID0gRGV2
Q1BNLkluZlJlYWwgVEhFTiB6LnJlYWx2YWwgOj0gMFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIg
RUxTSUYgKEFCUyh5LnJlYWx2YWwpID49IDEpIE9SIChBQlMoeC5yZWFsdmFsKSA8PSBNQVgoUkVB
TCkgKiBccGFyDQpBQlMoeS5yZWFsdmFsKSkgVEhFTlxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIg
XHRhYiB6LnJlYWx2YWwgOj0geC5yZWFsdmFsIC8geS5yZWFsdmFsXHBhcg0KXHRhYiBcdGFiIFx0
YWIgXHRhYiBFTFNFIGVycigyMDQpXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBFTkRccGFyDQpc
dGFiIFx0YWIgXHRhYiBFTFNFIGVycigyMDUpXHBhcg0KXHRhYiBcdGFiIFx0YWIgRU5EXHBhcg0K
XHBhcg0KSSBwcm9wb3NlIHJlcGxhY2luZyBpdCBieTpccGFyDQpccGFyDQpcdGFiIFx0YWIgSUYg
dHlwZS5mb3JtIElOIHJlYWxTZXQgVEhFTlxwYXINClx0YWIgXHRhYiBcdGFiIElGICh4LnJlYWx2
YWwgPSAwLjApICYgKHkucmVhbHZhbCA9IDAuMCkgVEhFTiBlcnIoMjgwKVxwYXINClx0YWIgXHRh
YiBcdGFiIEVMU0lGIChBQlMoeC5yZWFsdmFsKSA9ICBEZXZDUE0uSW5mUmVhbCkgJiAoQUJTKHku
cmVhbHZhbCkgPSAgRGV2Q1BNLkluZlJlYWwpIFxwYXINClRIRU4gZXJyKDIxMilccGFyDQpcdGFi
IFx0YWIgXHRhYiBFTFNFIHoucmVhbHZhbCA6PSB4LnJlYWx2YWwgLyB5LnJlYWx2YWxccGFyDQpc
dGFiIFx0YWIgXHRhYiBFTkRccGFyDQpccGFyDQpUaGUgZXhpc3RpbmcgZXJyb3JzXHBhcg0KXHRh
YiAyMDQ6XHRhYiBwcm9kdWN0IHRvbyBsYXJnZVxwYXINCiZcdGFiIDIwNTpcdGFiIGRpdmlzaW9u
IGJ5IHplcm9ccGFyDQp3b3VsZCBub3QgYmUgdXNlZCBvciBuZWVkZWQuXHBhcg0KXHBhcg0KRXJy
b3JccGFyDQpcdGFiIDIxMjpcdGFiIGlsbGVnYWwgcmVhbCBvcGVyYXRpb25ccGFyDQp3b3VsZCBi
ZSBrZXB0IGZvciBJTkYgLyBJTkYuXHBhcg0KXHBhcg0KRXJyb3JccGFyDQpcdGFiIDI4MDpcdGFi
IHJlYWwgemVybyAvIHplcm8gbm90IHBlcm1pdHRlZFxwYXINCmlzIGEgbmV3IHN1Z2dlc3Rpb24s
IGJ1dCBlcnJvciAyMTIgY291bGQgYmUgcmV1c2VkIGZvciB0aGlzIHB1cnBvc2UuXHBhcg0KXHBh
cg0KXHBhcg0KXHU5NjU4ID9cdGFiIFVuYXJ5IE1pbnVzICYgQUJTXHBhcg0KXHBhcg0KVGhlc2Ug
YXJlIHNpbXBsZXIgY2hhbmdlcyB0aGFuIHRob3NlIGFscmVhZHkgZGVzY3JpYmVkLiBUd28gbmV3
IHByb2NlZHVyZXMgXHBhcg0KKElzTmVnQ29uc3RhbnQgJiBOZWdhdGUpIGFyZSBpbXBsZW1lbnRl
ZCB2ZXJ5IGNsb3NlbHkgYmFzZWQgb24gIkxlc3NDb25zdCIgJiBccGFyDQoiU3ViQ29uc3QiLCBi
dXQgd2l0aCBvYnZpb3VzIGNoYW5nZXMgKHNpbXBsaWZpY2F0aW9ucyA/KS5ccGFyDQpccGFyDQpc
cGFyDQpcdTk2NTggP1x0YWIgT3RoZXIgY2hhbmdlc1xwYXINClxwYXINCkp1c3Qgb25lIG9yIHR3
byBldmVuIG1vcmUgbWlub3IgY2hhbmdlcy4gRm9yIGV4YW1wbGUgdG8gcGVybWl0IGRpdmlzaW9u
IG9mIGEgXHBhcg0KUkVBTCBWQVJpYWJsZSBieSBhIENPTlNUYW50IHplcm8gaXQgaXMgbWVyZWx5
IG5lY2Vzc2FyeSB0byBjb21tZW50IG91dCB0aGUgb25lIFxwYXINCmxpbmUgKGluIERldkNQQi5P
cClccGFyDQpccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIgXHRhYiBJRiAoeS5jbGFzcyA9
IE5jb25zdCkgJiAoeS5jb252YWwucmVhbHZhbCA9IDApIFRIRU4gZXJyKDIwNSkgRU5EXHBhcg0K
XHBhcg0KRm9yIGNvbXBsZXRlIGRldGFpbHMgYXNrIG1lIGZvciB0aGUgbW9kaWZpZWQgZmlsZXMu
XHBhcg0KXHBhcg0KXHBhcg0KQ29tcGlsZXIgQ09OU1RhbnQgQ2hhbmdlcyBOT1QgUHJvcG9zZWRc
cGFyDQpccGFyDQpcdTk2NTggP1x0YWIgU3VwcG9ydCBmb3IgTmFOcy4gVGhpcyB3b3VsZCBtYWtl
IGxpdHRsZSBzZW5zZSwgaW5kZWVkIGJlIGluY29udmVuaWVudCwgZm9yIFxwYXINCkNPTlNUYW50
cyB3aGlsZSB0aGV5IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IFZBUmlhYmxlcy5ccGFyDQpccGFyDQpc
dTk2NTggP1x0YWIgSSB3YXMgdGVtcHRlZCB0byBhbHNvIHN1Z2dlc3QgY2hhbmdpbmcgTUlOICYg
TUFYIHNvIHRoYXQgTUlOIChhLCBiKSA9IE1JTiAoYiwgXHBhcg0KYSkuIFRoaXMgaXMgYWxzbyBl
YXN5IHRvIGltcGxlbWVudC4gQnV0IGxlYXZpbmcgdGhlIGV4aXN0aW5nIENPTlNUYW50IGNvZGUg
bWVhbnMgXHBhcg0KdGhhdCBpdCBiZWhhdmVzIHRoZSBzYW1lIGFzIEJsYWNrQm94IFZBUmlhYmxl
IGFyaXRobWV0aWMuIEFzIGFuIGFzaWRlIHRoZSBET1QgXHBhcg0KTkVUIGxpYnJhcnkgZnVuY3Rp
b25zIGFsc28gZmFpbCB0byBzYXRpc2Z5IHRoZSBzeW1tZXRyeSBjb25kaXRpb24gYWJvdmUsIGJ1
dCBpbiBccGFyDQphIGRpZmZlcmVudCB3YXkuXHBhcg0KXHBhcg0KXHU5NjU4ID9cdGFiIFJvdW5k
aW5nLiBUaGVzZSBzdWdnZXN0ZWQgY2hhbmdlcyBtYWtlIEJsYWNrQm94IENPTlNUYW50IGFyaXRo
bWV0aWMgbXVjaCBtb3JlIFxwYXINCnNpbWlsYXIgdG8gQmxhY2tCb3ggVkFSaWFibGUgYXJpdGht
ZXRpYywgYnV0IE5PVCBUSEUgU0FNRS5ccGFyDQpccGFyDQpBIHNpbXBsZSBleGFtcGxlOlxwYXIN
Clx0YWIgMS4gLSAgMS4gLSAxLi83LiAtIDEuLzcuIC0gMS4vNy4gLSAxLi83LiAtIDEuLzcuIC0g
MS4vNy4gLSAxLi83LlxwYXINClxwYXINCldpdGggQ09OU1RhbnQgYXJpdGhtZXRpYyB0aGUgcmVz
dWx0IGlzIDIuMjIwRS0wMTYuXHBhcg0KV2l0aCBWQVJpYWJsZSBhcml0aG1ldGljIChSRUFMcyBv
ciBTSE9SVFJFQUxzKSB0aGUgcmVzdWx0IGlzIDguMTMyRS0wMjAgYmVjYXVzZSBccGFyDQp0aGUg
aW50ZXJtZWRpYXRlIGV4cHJlc3Npb25zIGFyZSBldmFsdWF0ZWQgdXNpbmcgYW4gODAtYml0IGZs
b2F0aW5nIHBvaW50IHVuaXQuXHBhcg0KKFZBUmlhYmxlIGFyaXRobWV0aWMgY2FuIGVtdWxhdGUg
dGhlIENPTlNUYW50IGV4cHJlc3Npb24gYnkgZGVsaWJlcmF0ZWx5IFxwYXINCnJvdW5kaW5nIGFs
bCBpbnRlcm1lZGlhdGUgZXhwcmVzc2lvbnMgdG8gNjQgYml0cy4pXHBhcg0KXHBhcg0KXHBhcg0K
Q29uY2x1c2lvbjpccGFyDQpccGFyDQpJIHRoaW5rIHRoYXQgdGhlIGNvc3QsIGZyb20gaGVyZSwg
b2YgaW1wbGVtZW50aW5nIHRoZXNlIHByb3Bvc2FscyBpcyBzbWFsbCBhcyBccGFyDQp0aGUgZGVz
aWduIHdvcmsgaGFzIGFscmVhZHkgYmVlbiBkb25lIGFuZCAobGlnaHRseSkgdGVzdGVkLiBUaGUg
Y2hhbmdlcyBhcmUgXHBhcg0KZXNzZW50aWFsbHkgc2ltcGxlLiBNYXliZSB0aGVyZSB3b3VsZCBi
ZSBzb21lIHZvbHVudGVlcnMgdG8gcHJvb2YtcmVhZCB0aGUgXHBhcg0KY2hhbmdlcyBhbmQgdGVz
dCBwcm9ncmFtbWUsIG9yIGV2ZW4gcnVuIHNvbWUgdGVzdHMgZm9yIHRoZW1zZWx2ZXMuXHBhcg0K
XHBhcg0KU28gSSBhbSBsb29raW5nIGZvciBmZWVkYmFjayBhbmQgb3BpbmlvbnMgb24gdGhlc2Ug
cHJvcG9zZWQgY2hhbmdlcyBpbiBccGFyDQpmdW5jdGlvbmFsaXR5LlxwYXINClxwYXINClRoZXJl
IHdvdWxkIGJlIE5PIGNoYW5nZXMgdG8gdGhlIExhbmd1YWdlIFJlcG9ydCBhcyB0aGUgZXhpc3Rp
bmcgbGltaXRhdGlvbnMgYXJlIFxwYXINCm5vdCBkb2N1bWVudGVkLlxwYXINClxwYXINClRoZSBy
ZXN1bHRzIG9mIHRoZSB0ZXN0IHByb2dyYW1tZSBydW4gdW5kZXIgYSBmdWxseSBtb2RpZmllZCBj
b21waWxlciBhcmU6XHBhcg0KXHBhcg0KRXhwcmVzc2lvbiAgICAgIFZBUmlhYmxlICAgIENPTlNU
YW50ICAgU2FtZVxwYXINCiAgICAgICAgICAgICAgICAgIFJlc3VsdCAgICAgIFJlc3VsdCAgICAg
ID9ccGFyDQogIDUuICAgICAgICAgICA6ICAgIDUuICAgPH4+ICAgIDUuICAgICAgVFJVRVxwYXIN
Ci01LiAgICAgICAgICAgOiAgIC01LiAgIDx+PiAgIC01LiAgICAgIFRSVUVccGFyDQogIDAuICAg
ICAgICAgICA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCi0wLiAgICAgICAgICAg
OiAgIC0wLiAgIDx+PiAgIC0wLiAgICAgIFRSVUVccGFyDQpccGFyDQogIDUuIC8gIElORiAgICA6
ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCi01LiAvICBJTkYgICAgOiAgIC0wLiAg
IDx+PiAgIC0wLiAgICAgIFRSVUVccGFyDQogIDUuIC8gLUlORiAgICA6ICAgLTAuICAgPH4+ICAg
LTAuICAgICAgVFJVRVxwYXINCi01LiAvIC1JTkYgICAgOiAgICAwLiAgIDx+PiAgICAwLiAgICAg
IFRSVUVccGFyDQpccGFyDQotKCAwLikgICAgICAgIDogICAtMC4gICA8fj4gICAtMC4gICAgICBU
UlVFXHBhcg0KLSgtMC4pICAgICAgICA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXIN
CnwoLTAuKXwgICAgICAgOiAgICAwLiAgIDx+PiAgICAwLiAgICAgIFRSVUVccGFyDQpccGFyDQog
ICA1LiAgLSAgIDUuICA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAgVFJVRVxwYXINCiAgIDAuICAt
ICAgMC4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBhcg0KICAgMC4gIC0gKC0wLikg
OiAgICAwLiAgIDx+PiAgICAwLiAgICAgIFRSVUVccGFyDQooLTAuKSAtICAgMC4gIDogICAtMC4g
ICA8fj4gICAtMC4gICAgICBUUlVFXHBhcg0KKC0wLikgLSAoLTAuKSA6ICAgIDAuICAgPH4+ICAg
IDAuICAgICAgVFJVRVxwYXINCigtNS4pIC0gKC01LikgOiAgICAwLiAgIDx+PiAgICAwLiAgICAg
IFRSVUVccGFyDQpccGFyDQogICA1LiAgKyAoLTUuKSA6ICAgIDAuICAgPH4+ICAgIDAuICAgICAg
VFJVRVxwYXINCiAgIDAuICArICAgMC4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBh
cg0KICAgMC4gICsgKC0wLikgOiAgICAwLiAgIDx+PiAgICAwLiAgICAgIFRSVUVccGFyDQooLTAu
KSArICAgMC4gIDogICAgMC4gICA8fj4gICAgMC4gICAgICBUUlVFXHBhcg0KKC0wLikgKyAoLTAu
KSA6ICAgLTAuICAgPH4+ICAgLTAuICAgICAgVFJVRVxwYXINCigtNS4pICsgICA1LiAgOiAgICAw
LiAgIDx+PiAgICAwLiAgICAgIFRSVUVccGFyDQpccGFyDQpJZiB5b3Ugd2lzaCB0byBjb25zaWRl
ciB0aGVzZSBwcm9wb3NhbGEgaW4gbW9yZSBkZXRhaWwgdGhhbiBnaXZlbiBhYm92ZSBwbGVhc2Ug
XHBhcg0KY29udGFjdCBtZSBmb3IgY29waWVzIG9mIHRoZSB0d28gbW9kaWZpZWQgY29tcGlsZXIg
ZmlsZXMsIGFuZCBhIGNvcHkgb2YgdGhlIHRlc3QgXHBhcg0KbW9kdWxlLlxwYXINClxwYXINClJv
YmVydCBDYW1wYmVsbFxwYXINCjE3LUZlYi0yMDA4XHBhcg0KXHBhcg0KXHBhcg0KLS0tLVxwYXIN
ClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tC
T1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSH19ACBp1HA
----boundary-LibPST-iamunique-1023549308_-_---
Received on Wed Feb 13 2008 - 21:45:58 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:31:02 UTC